@charset "UTF-8";

:root {
  color-scheme: dark;
  --bg: #060a10;
  --panel: #0b1420;
  --panel-raised: #101d2b;
  --line: rgba(151, 184, 218, 0.14);
  --text: #f3f7fb;
  --muted: #8a9aa9;
  --blue: #78c4ff;
  --font-body: "DM Sans", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --page-width: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  overflow-x: hidden;
  background: linear-gradient(rgba(103,151,196,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(103,151,196,.04) 1px, transparent 1px), radial-gradient(ellipse at 50% -18%, rgba(21,83,133,.28), transparent 54%), var(--bg);
  background-size: 64px 64px, 64px 64px, auto, auto;
  color: var(--text);
  font: 16px/1.6 var(--font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::before { position: fixed; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(6,10,16,.08), var(--bg) 86%); content: ""; pointer-events: none; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
::selection { background: rgba(73,168,246,.38); color: #fff; }
.ambient { position: absolute; z-index: -1; width: 500px; height: 500px; border-radius: 50%; filter: blur(110px); opacity: .13; pointer-events: none; }
.ambient-one { top: 240px; right: -250px; background: #1686dc; }
.ambient-two { top: 1700px; left: -360px; background: #174d88; opacity: .1; }

.site-header { position: sticky; z-index: 20; top: 0; display: flex; width: 100%; min-height: 78px; align-items: center; justify-content: space-between; gap: 30px; padding: 0 max(32px, calc((100vw - var(--page-width))/2)); border-bottom: 1px solid rgba(151,184,218,.1); background: rgba(6,10,16,.82); backdrop-filter: blur(18px); }
.brand, .footer-brand { display: inline-flex; align-items: center; gap: 11px; flex-shrink: 0; }
.brand-mark { display: block; width: 52px; height: 32px; flex: 0 0 52px; }
.brand-mark img { display: block; width: 100%; height: 100%; }
.brand-copy { display: grid; gap: 1px; line-height: 1.2; }
.brand-copy strong { font-size: 11px; letter-spacing: .12em; }
.brand-copy small { color: var(--muted); font-size: 9px; letter-spacing: .18em; }
.main-nav { display: flex; align-items: center; gap: clamp(22px,3vw,43px); margin-left: auto; }
.main-nav a { color: #a7b3c1; font-size: 12px; transition: color .18s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: var(--blue); }
.header-actions { display: flex; align-items: center; gap: 20px; }
.language-switch { display: flex; align-items: center; gap: 7px; color: #5f7182; font-size: 10px; letter-spacing: .08em; }
.language-switch button { padding: 5px 2px; border: 0; background: none; color: #7f8d9b; cursor: pointer; font-size: 10px; letter-spacing: inherit; }
.language-switch button:hover, .language-switch button[aria-pressed="true"] { color: #eaf6ff; }
.language-switch button[aria-pressed="true"] { text-shadow: 0 0 12px rgba(120,196,255,.55); }
.header-cta { display: inline-flex; align-items: center; gap: 13px; padding: 10px 15px; border: 1px solid rgba(104,185,251,.28); border-radius: 8px; background: rgba(45,139,215,.1); color: #d9efff; font-size: 11px; transition: .18s ease; }
.header-cta:hover { border-color: rgba(120,196,255,.65); background: rgba(45,139,215,.2); }
.header-cta span:last-child { color: var(--blue); font-size: 15px; line-height: .8; }
.menu-toggle { display: none; }
.section-shell { width: min(calc(100% - 64px), var(--page-width)); margin-inline: auto; }

.hero { position: relative; display: grid; min-height: 690px; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 42px; padding-block: 54px 100px; }
.hero-copy { position: relative; z-index: 2; padding-top: 4px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 24px; color: #96a9bb; font-size: 9px; font-weight: 600; letter-spacing: .17em; line-height: 1.5; }
.status-dot, .live-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #7cd6a0; box-shadow: 0 0 12px rgba(124,214,160,.75); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); }
.hero h1 { max-width: 700px; margin-bottom: 24px; font-size: clamp(48px,6vw,72px); font-weight: 700; letter-spacing: -.075em; line-height: 1.02; }
.accent { color: var(--blue); text-shadow: 0 0 38px rgba(63,158,241,.2); }
.hero-description { max-width: 540px; margin-bottom: 30px; color: #9eacba; font-size: 15px; line-height: 1.8; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 18px; padding: 0 19px; border-radius: 8px; font-size: 11px; font-weight: 600; transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { border: 1px solid rgba(151,216,255,.6); background: linear-gradient(110deg,#2694e5,#4caefa); color: #04101c; box-shadow: 0 9px 34px rgba(39,147,227,.23), inset 0 1px rgba(255,255,255,.35); }
.button-primary:hover { background: linear-gradient(110deg,#48a9f1,#7bc8ff); box-shadow: 0 12px 40px rgba(39,147,227,.34); }
.button-primary span:last-child { font-size: 16px; }
.button-quiet { border: 1px solid rgba(145,171,198,.2); background: rgba(10,18,28,.64); color: #d0dce7; }
.button-quiet:hover { border-color: rgba(120,196,255,.4); background: rgba(19,38,57,.8); }
.button-quiet span:last-child { color: var(--blue); font-size: 14px; }
.hero-specialties { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 36px; color: #738598; font-size: 8px; font-weight: 600; letter-spacing: .13em; }
.hero-specialties i { width: 3px; height: 3px; border-radius: 50%; background: var(--blue); opacity: .7; }
.hero-visual { position: relative; display: grid; min-height: 500px; place-items: center; isolation: isolate; }
.portrait-halo { position: absolute; z-index: -2; width: min(470px,93%); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 48% 46%,rgba(54,153,239,.34),rgba(19,92,154,.13) 45%,transparent 69%); filter: blur(12px); }
.portrait-frame { position: relative; z-index: 1; width: min(370px,74vw); aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(150,210,255,.34); border-radius: 50%; background: #101b27; box-shadow: 0 0 0 11px rgba(115,185,255,.035),0 0 0 1px rgba(87,170,241,.18),0 32px 80px rgba(0,0,0,.52),0 0 65px rgba(51,149,226,.18); }
.portrait-frame::after { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(180deg,transparent 55%,rgba(5,11,18,.22)); content: ""; pointer-events: none; }
.portrait-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 49% 24%; filter: saturate(.86) contrast(1.05); }
.orbit { position: absolute; z-index: -1; width: min(435px,88%); aspect-ratio: 1; border: 1px solid rgba(117,189,244,.16); border-radius: 50%; transform: rotate(-23deg) scaleY(.62); }
.orbit-a { border-left-color: rgba(117,189,244,.55); border-bottom-color: rgba(117,189,244,.04); }
.orbit-b { width: min(500px,100%); border-right-color: rgba(117,189,244,.28); border-top-color: rgba(117,189,244,.04); transform: rotate(38deg) scaleY(.43); }
.portrait-label { position: absolute; z-index: 2; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(144,190,232,.2); border-radius: 6px; background: rgba(7,15,24,.86); color: #d1e6f8; font-size: 8px; font-weight: 600; letter-spacing: .14em; backdrop-filter: blur(9px); }
.label-top { top: 91px; right: 4px; padding: 10px 12px; }
.label-bottom { bottom: 73px; left: 0; padding: 11px 13px; color: #afbfcd; }
.tiny-square { width: 7px; height: 7px; background: var(--blue); box-shadow: 0 0 12px rgba(120,196,255,.8); }
.live-dot { width: 6px; height: 6px; flex-basis: 6px; background: #68d998; }
.scroll-cue { position: absolute; bottom: 31px; left: 0; display: flex; align-items: center; gap: 12px; color: #75899b; font-size: 8px; font-weight: 600; letter-spacing: .16em; }
.scroll-line { width: 32px; height: 1px; background: linear-gradient(90deg,var(--blue),transparent); }

.solutions { padding-top: 76px; padding-bottom: 112px; border-top: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 55px; margin-bottom: 52px; }
.section-kicker { margin-bottom: 19px; }
.section-heading h2, .approach h2, .contact h2 { margin-bottom: 0; font-size: clamp(38px,5vw,60px); font-weight: 650; letter-spacing: -.065em; line-height: 1.08; }
.section-intro { width: min(410px,38%); margin-bottom: 6px; color: #8e9eae; font-size: 13px; line-height: 1.85; }
.solution-carousel { min-width: 0; }
.solution-grid { display: flex; align-items: stretch; gap: 18px; overflow-x: auto; padding: 2px 1px 10px; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; cursor: grab; }
.solution-grid::-webkit-scrollbar { display: none; }
.solution-grid:focus-visible { outline: 1px solid rgba(120,196,255,.5); outline-offset: 4px; }
.solution-grid.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
.solution-card { display: flex; flex: 0 0 calc((100% - 36px)/3); min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(145,184,217,.14); border-radius: 10px; background: linear-gradient(150deg,rgba(12,23,35,.9),rgba(7,13,21,.92)); scroll-snap-align: start; scroll-snap-stop: always; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.solution-card:hover { transform: translateY(-4px); border-color: rgba(120,196,255,.34); box-shadow: 0 20px 55px rgba(0,0,0,.2); }
.solution-art { position: relative; display: grid; height: 220px; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 50% 100%,rgba(39,130,199,.16),transparent 70%),#08111b; }
.solution-art::before { position: absolute; inset: 0; background: linear-gradient(rgba(126,186,232,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(126,186,232,.035) 1px,transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(ellipse at center,#000 20%,transparent 85%); content: ""; }
.art-chip { position: absolute; right: 14px; bottom: 13px; color: #71879a; font-size: 8px; font-weight: 600; letter-spacing: .14em; }
.browser-frame { position: relative; width: 72%; overflow: hidden; border: 1px solid rgba(128,185,231,.36); border-radius: 7px; background: #0b1927; box-shadow: 0 16px 42px rgba(0,0,0,.4); transform: rotate(-3deg); }
.browser-bar { display: flex; height: 22px; align-items: center; gap: 4px; padding-inline: 8px; border-bottom: 1px solid rgba(151,184,218,.12); color: #657b90; font-size: 6px; }
.browser-bar i { width: 4px; height: 4px; border-radius: 50%; background: #53718c; }
.browser-bar span { margin-left: auto; margin-right: auto; }
.sales-preview { display: flex; min-height: 135px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 15px 20px; background: radial-gradient(ellipse at 78% 40%,rgba(53,144,213,.21),transparent 45%); }
.sales-preview small { margin-bottom: 7px; color: #8ea8be; font-size: 6px; letter-spacing: .16em; }
.sales-preview b { color: #f0f6fb; font-family: var(--font-display); font-size: 19px; letter-spacing: -.07em; line-height: 1.05; }
.sales-preview em { color: var(--blue); font-style: normal; }
.preview-copy { width: 88px; height: 3px; margin-top: 8px; background: #52697d; box-shadow: 0 6px 0 #2c4051; }
.preview-button { margin-top: 15px; padding: 5px 8px; border-radius: 3px; background: #57b4f8; color: #06111b; font-size: 6px; font-weight: 700; letter-spacing: .05em; }
.art-funnel { background: radial-gradient(ellipse at 50% 50%,rgba(30,114,177,.2),transparent 67%),#08111b; }
.funnel-top { position: absolute; top: 27px; left: 25px; display: flex; align-items: center; gap: 7px; color: #9eb4c7; font-size: 8px; font-weight: 600; letter-spacing: .1em; }
.funnel-state { margin-left: 4px; color: #69d8a0; font-size: 6px; }
.funnel-flow { display: flex; align-items: center; gap: clamp(5px,1.1vw,13px); margin-top: 13px; }
.funnel-step { display: grid; width: clamp(70px,9vw,96px); min-height: 68px; align-content: center; justify-items: center; gap: 3px; border: 1px solid rgba(120,196,255,.24); border-radius: 5px; background: rgba(10,27,42,.9); box-shadow: 0 8px 22px rgba(0,0,0,.2); }
.funnel-step > span { color: #6e91ad; font-size: 6px; letter-spacing: .12em; }
.funnel-step b { color: #cde6f8; font-size: 6px; letter-spacing: .06em; }
.funnel-step small { color: #7891a7; font-size: 6px; }
.funnel-checkout { border-color: rgba(104,216,160,.35); }
.funnel-flow > i { color: var(--blue); font-size: 12px; font-style: normal; }
.funnel-metrics { position: absolute; bottom: 31px; left: 50%; display: flex; gap: 6px; transform: translateX(-50%); }
.funnel-metrics span { padding: 3px 5px; border: 1px solid rgba(126,168,203,.17); border-radius: 3px; color: #718ba1; font-size: 5px; letter-spacing: .08em; white-space: nowrap; }
.art-routing { background: radial-gradient(ellipse at 50% 50%,rgba(30,114,177,.2),transparent 67%),#08111b; }
.routing-top { position: absolute; top: 27px; left: 25px; display: flex; align-items: center; gap: 7px; color: #9eb4c7; font-size: 8px; font-weight: 600; letter-spacing: .1em; }
.route-state { margin-left: 4px; color: #69d8a0; font-size: 6px; }
.route-flow { display: flex; align-items: center; gap: 7px; margin-top: 20px; }
.route-node { display: grid; min-width: 50px; height: 29px; place-items: center; padding: 0 7px; border: 1px solid rgba(120,196,255,.24); border-radius: 4px; background: rgba(10,27,42,.9); color: #b8d3e8; font-size: 6px; font-weight: 600; letter-spacing: .08em; }
.source-node { border-color: rgba(120,196,255,.48); }
.destination-node { min-width: 67px; border-color: rgba(104,216,160,.35); }
.route-flow > i { width: 22px; height: 1px; background: linear-gradient(90deg,rgba(120,196,255,.25),var(--blue)); }
.route-branches { display: grid; gap: 5px; }
.route-branches .route-node { min-width: 55px; height: 22px; }
.route-tags { position: absolute; bottom: 32px; left: 50%; display: flex; gap: 6px; transform: translateX(-50%); }
.route-tags span { padding: 3px 5px; border: 1px solid rgba(126,168,203,.17); border-radius: 3px; color: #718ba1; font-size: 5px; letter-spacing: .1em; }
.art-system { background: radial-gradient(ellipse at 50% 50%,rgba(32,105,163,.2),transparent 68%),#08111b; }
.system-window { position: relative; display: flex; width: 72%; height: 140px; overflow: hidden; border: 1px solid rgba(128,185,231,.34); border-radius: 6px; background: #0a1622; box-shadow: 0 16px 42px rgba(0,0,0,.4); transform: rotate(2deg); }
.system-sidebar { display: flex; width: 34px; flex: 0 0 34px; flex-direction: column; align-items: center; gap: 13px; padding-top: 10px; border-right: 1px solid rgba(151,184,218,.11); background: #0d1b29; }
.system-sidebar b { color: var(--blue); font: 700 10px var(--font-display); }
.system-sidebar i { width: 10px; height: 3px; border-radius: 3px; background: #445c72; }
.system-sidebar i:first-of-type { background: #4daaf0; }
.system-main { flex: 1; padding: 9px 12px; }
.system-head { display: flex; justify-content: space-between; color: #668097; font-size: 5px; letter-spacing: .1em; }
.system-head b { color: #54718b; font-size: 5px; }
.system-title { width: 74px; height: 9px; margin-top: 11px; border-radius: 2px; background: #e0edf6; opacity: .85; }
.system-stats { display: flex; gap: 7px; margin-top: 8px; }
.system-stats i { width: 31%; height: 17px; border: 1px solid rgba(120,196,255,.14); border-radius: 3px; background: rgba(32,87,130,.12); }
.system-chart { display: flex; height: 40px; align-items: end; gap: 4px; margin-top: 7px; padding: 0 7px 5px; border: 1px solid rgba(120,196,255,.1); border-radius: 3px; }
.system-chart span { flex: 1; border-radius: 2px 2px 0 0; background: linear-gradient(0deg,rgba(61,162,235,.15),#54b7fa); }
.system-chart span:nth-child(1),.system-chart span:nth-child(5) { height: 28%; }.system-chart span:nth-child(2),.system-chart span:nth-child(7) { height: 54%; }.system-chart span:nth-child(3),.system-chart span:nth-child(6) { height: 42%; }.system-chart span:nth-child(4),.system-chart span:nth-child(8) { height: 82%; }.system-chart span:nth-child(9) { height: 66%; }
.solution-copy { flex: 1; padding: 21px 22px 24px; }
.solution-index { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; color: var(--blue); font-size: 8px; font-weight: 600; letter-spacing: .12em; }
.solution-index span { color: #5e768c; font-size: 7px; }
.solution-copy h3 { margin: 0 0 9px; font-size: 21px; font-weight: 650; letter-spacing: -.05em; }
.solution-copy > p:not(.solution-index) { min-height: 64px; margin-bottom: 16px; color: #91a2b1; font-size: 11px; line-height: 1.75; }
.solution-copy ul { display: grid; gap: 8px; margin: 0; padding: 15px 0 0; border-top: 1px solid var(--line); list-style: none; }
.solution-copy li { position: relative; padding-left: 15px; color: #8fa4b5; font-size: 10px; }
.solution-copy li::before { position: absolute; top: 7px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 9px rgba(120,196,255,.5); content: ""; }
.solution-carousel-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 13px; }
.solution-carousel-hint { color: #75899b; font-size: 9px; letter-spacing: .04em; }
.solution-carousel-buttons { display: flex; gap: 8px; }
.solution-carousel-button { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(145,184,217,.2); border-radius: 7px; background: rgba(10,18,28,.72); color: #d4e6f4; cursor: pointer; transition: border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease; }
.solution-carousel-button:hover:not(:disabled) { border-color: rgba(120,196,255,.55); background: rgba(45,139,215,.14); color: var(--blue); }
.solution-carousel-button:disabled { opacity: .38; cursor: default; }
.solution-carousel-button span { font-size: 17px; line-height: 1; }
.solution-note { display: flex; align-items: center; gap: 10px; margin: 27px 0 0; color: #74889a; font-size: 10px; }
.note-icon { color: var(--blue); font-size: 15px; }

.approach { display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; padding-block: 82px 108px; border-top: 1px solid var(--line); }
.approach-visual { display: flex; min-height: 340px; flex-direction: column; justify-content: space-between; }
.approach-visual .eyebrow { margin-bottom: 0; }
.approach-stamp { position: relative; display: grid; width: 190px; height: 190px; align-content: center; justify-items: center; border: 1px solid rgba(120,196,255,.3); border-radius: 50%; background: radial-gradient(circle,rgba(42,131,201,.13),rgba(7,14,22,.04) 67%); color: #c7d9e8; font: 600 14px/1.4 var(--font-display); letter-spacing: .23em; text-align: center; transform: rotate(-13deg); box-shadow: inset 0 0 50px rgba(103,181,245,.08),0 0 35px rgba(57,138,208,.09); }
.approach-stamp::before,.approach-stamp::after { position: absolute; inset: 10px; border: 1px dashed rgba(137,196,242,.31); border-radius: 50%; content: ""; }
.approach-stamp::after { inset: -9px; border-style: solid; border-color: rgba(137,196,242,.12); }
.approach-stamp b { color: var(--blue); font-size: 18px; }
.approach-copy { align-self: center; padding-bottom: 8px; }
.approach-copy h2 { margin-bottom: 22px; }
.approach-copy > p { max-width: 610px; margin-bottom: 28px; color: #91a1b0; font-size: 13px; line-height: 1.9; }
.process-list { border-top: 1px solid var(--line); }
.process-list > div { display: grid; grid-template-columns: 38px 1fr; gap: 15px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.process-list > div > span { padding-top: 3px; color: var(--blue); font-size: 9px; letter-spacing: .1em; }
.process-list p { display: grid; gap: 3px; margin: 0; }
.process-list strong { color: #dce9f3; font-size: 12px; font-weight: 600; }
.process-list small { color: #8193a2; font-size: 10px; }

.contact { padding-bottom: 100px; }
.contact-card { position: relative; overflow: hidden; padding: clamp(34px,7vw,78px); border: 1px solid rgba(111,182,239,.27); border-radius: 13px; background: linear-gradient(115deg,rgba(14,32,50,.94),rgba(8,17,27,.96) 58%,rgba(8,14,23,.97)); box-shadow: inset 0 1px rgba(202,231,255,.05),0 24px 70px rgba(0,0,0,.18); isolation: isolate; }
.contact-card::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(rgba(126,186,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(126,186,232,.05) 1px,transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(90deg,transparent 10%,#000 100%); content: ""; }
.contact-glow { position: absolute; z-index: -1; top: -190px; right: -80px; width: 510px; height: 510px; border-radius: 50%; background: radial-gradient(circle,rgba(42,143,219,.34),rgba(23,78,125,.1) 43%,transparent 70%); filter: blur(15px); }
.contact-card .eyebrow { margin-bottom: 21px; }
.contact h2 { max-width: 740px; margin-bottom: 19px; font-size: clamp(42px,6vw,68px); }
.contact-description { max-width: 460px; margin-bottom: 27px; color: #9aaebe; font-size: 13px; line-height: 1.8; }
.contact-channels { display: grid; max-width: 970px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 32px; }
.contact-method { display: flex; min-width: 0; min-height: 78px; align-items: center; gap: 13px; padding: 14px; border: 1px solid rgba(145,184,217,.17); border-radius: 9px; background: rgba(5,13,22,.62); color: #dce9f3; transition: .18s ease; }
.contact-method:hover { transform: translateY(-2px); border-color: rgba(120,196,255,.42); background: rgba(15,35,53,.88); }
.contact-method-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid rgba(120,196,255,.25); border-radius: 50%; background: rgba(45,139,215,.09); color: var(--blue); }
.contact-method-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.contact-method-copy { display: grid; min-width: 0; gap: 5px; }
.contact-method-copy strong { font-size: 11px; font-weight: 600; }
.contact-method-copy small { overflow: hidden; color: #8da1b3; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.contact-method-arrow { margin-left: auto; color: var(--blue); font-size: 15px; }
.site-footer { display: grid; grid-template-columns: 1fr 1.5fr auto auto; align-items: center; gap: 25px; min-height: 91px; border-top: 1px solid var(--line); color: #7d8f9e; }
.footer-brand { color: #b3c2cf; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.footer-brand .brand-mark { width: 39px; height: 24px; flex-basis: 39px; }
.site-footer p { margin: 0; font-size: 9px; }
.back-top { display: inline-flex; align-items: center; gap: 10px; color: #a8b8c6; font-size: 8px; letter-spacing: .13em; }
.back-top span:last-child { color: var(--blue); font-size: 14px; }
.site-footer small { color: #596b7b; font-size: 9px; }

@media (max-width: 980px) {
  .site-header { gap: 18px; padding-inline: 25px; }
  .header-actions { gap: 13px; }
  .hero { min-height: 630px; grid-template-columns: 1.05fr .95fr; gap: 12px; }
  .hero h1 { font-size: clamp(44px,6vw,60px); }
  .portrait-frame { width: min(330px,70vw); }
  .solution-card { flex-basis: calc((100% - 18px)/2); }
  .solution-copy > p:not(.solution-index) { min-height: 0; }
  .approach { gap: 45px; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 72px; }
  .site-header { min-height: 68px; padding-inline: 18px; }
  .brand { gap: 8px; }
  .brand-mark { width: 43px; height: 27px; flex-basis: 43px; }
  .brand-copy strong { font-size: 10px; }
  .brand-copy small { font-size: 7px; }
  .header-actions { gap: 10px; }
  .language-switch { gap: 4px; }
  .language-switch button { font-size: 9px; }
  .header-cta { gap: 7px; padding: 8px 9px; font-size: 9px; }
  .menu-toggle { display: grid; width: 34px; height: 34px; align-content: center; justify-items: center; gap: 5px; border: 1px solid rgba(145,171,198,.2); border-radius: 6px; background: rgba(10,18,28,.64); }
  .menu-toggle span { width: 14px; height: 1px; background: #c5d5e3; }
  .main-nav { position: absolute; top: 67px; right: 12px; left: 12px; display: none; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 8px; border: 1px solid rgba(145,184,217,.18); border-radius: 8px; background: rgba(7,14,22,.98); box-shadow: 0 18px 42px rgba(0,0,0,.4); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 12px; border-radius: 5px; font-size: 12px; }
  .main-nav a:hover { background: rgba(45,139,215,.1); }
  .section-shell { width: min(calc(100% - 36px),var(--page-width)); }
  .hero { min-height: auto; grid-template-columns: 1fr; gap: 6px; padding-top: 54px; padding-bottom: 84px; }
  .hero-copy { order: 1; }
  .hero-visual { order: 2; min-height: 350px; margin-top: 5px; }
  .hero h1 { max-width: 540px; font-size: clamp(43px,12vw,61px); }
  .hero-description { max-width: 500px; font-size: 13px; }
  .hero-buttons { gap: 8px; }
  .button { min-height: 44px; gap: 12px; padding-inline: 13px; font-size: 10px; }
  .hero-specialties { margin-top: 25px; }
  .portrait-frame { width: min(300px,77vw); }
  .orbit { width: min(350px,92%); }
  .orbit-b { width: min(390px,100%); }
  .label-top { top: 49px; right: 1px; padding: 9px 10px; font-size: 7px; }
  .label-bottom { bottom: 33px; left: -2px; padding: 9px 10px; font-size: 7px; }
  .scroll-cue { bottom: 24px; }
  .solutions { padding-top: 62px; padding-bottom: 78px; }
  .section-heading { display: block; margin-bottom: 32px; }
  .section-heading h2,.approach h2 { font-size: clamp(38px,10vw,52px); }
  .section-intro { width: 100%; max-width: 470px; margin-top: 19px; font-size: 12px; }
  .solution-grid { gap: 14px; }
  .solution-card { flex-basis: calc(100% - 24px); }
  .solution-art { height: 205px; }
  .solution-copy { padding: 18px 18px 21px; }
  .solution-copy > p:not(.solution-index) { min-height: 0; }
  .solution-note { align-items: flex-start; line-height: 1.6; }
  .approach { grid-template-columns: 1fr; gap: 35px; padding-block: 62px 78px; }
  .approach-visual { min-height: 250px; }
  .approach-stamp { width: 145px; height: 145px; margin-left: 12px; font-size: 11px; }
  .approach-copy > p { font-size: 12px; }
  .contact { padding-bottom: 62px; }
  .contact-card { padding: 30px 20px; }
  .contact h2 { font-size: clamp(38px,10vw,53px); }
  .contact-description { font-size: 12px; }
  .contact-channels { grid-template-columns: 1fr; gap: 8px; margin-top: 24px; }
  .site-footer { grid-template-columns: 1fr auto; gap: 12px; padding-block: 19px; }
  .site-footer p { grid-column: 1; grid-row: 2; }
  .back-top { grid-column: 2; grid-row: 1; }
  .site-footer small { grid-column: 2; grid-row: 2; text-align: right; }
}
@media (max-width: 390px) {
  .site-header { padding-inline: 12px; }
  .brand-mark { width: 38px; flex-basis: 38px; }
  .header-actions { gap: 7px; }
  .header-cta { font-size: 8px; }
  .language-switch button { padding-inline: 1px; font-size: 8px; }
  .section-shell { width: min(calc(100% - 28px),var(--page-width)); }
  .hero h1 { font-size: 42px; }
  .hero-specialties { gap: 7px; font-size: 7px; }
  .route-flow { gap: 4px; }
  .route-flow > i { width: 13px; }
  .route-node { min-width: 43px; padding-inline: 4px; font-size: 5px; }
  .route-branches .route-node { min-width: 47px; }
  .destination-node { min-width: 59px; }
  .funnel-flow { gap: 4px; }
  .funnel-step { width: 73px; }
  .funnel-flow > i { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
