:root {
  --ink: #071019;
  --ink-2: #0b1621;
  --ink-3: #10202d;
  --paper: #f3f1eb;
  --paper-2: #e8e6df;
  --white: #fbfbf8;
  --muted: #9aa9b5;
  --line: rgba(255,255,255,.13);
  --dark-line: rgba(7,16,25,.14);
  --cobalt: #6689ff;
  --aqua: #82d4ce;
  --coral: #ff8b6b;
  --lime: #badb74;
  --violet: #ab8bff;
  --amber: #e9b66d;
  --rose: #ec8296;
  --teal: #67c8b2;
  --container: min(1380px, calc(100vw - 80px));
  --display: "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  --text: Inter, "Segoe UI", Arial, sans-serif;
  --radius: 28px;
  --ease: cubic-bezier(.2,.75,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--text); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--coral); color: var(--ink); }
.container { width: var(--container); margin-inline: auto; }
.narrow { max-width: 940px; }
.hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); letter-spacing: -.045em; line-height: .98; }
h1 { font-size: clamp(4rem, 7.4vw, 8.2rem); font-weight: 520; }
h2 { font-size: clamp(2.7rem, 5vw, 5.6rem); font-weight: 520; }
h3 { font-size: 1.45rem; font-weight: 600; line-height: 1.08; }
p { color: #46545e; }

.eyebrow { display: inline-flex; align-items: center; gap: 11px; margin-bottom: 24px; color: currentColor; font-size: 11px; font-weight: 760; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .65; }
.section { padding: 132px 0; }
.section-heading { max-width: 930px; margin-bottom: 66px; }
.section-heading h2 { margin: 0; }
.section-heading p { max-width: 720px; margin: 28px 0 0; font-size: 1.12rem; }

.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; font-size: 13px; font-weight: 760; letter-spacing: .01em; cursor: pointer; transition: transform .25s var(--ease), background .25s, color .25s, border-color .25s; }
.button:hover { transform: translateY(-2px); }
.button i { font-style: normal; font-size: 18px; font-weight: 400; }
.button.primary { background: var(--coral); color: var(--ink); }
.button.primary:hover { background: #ffac90; }
.button.secondary { background: rgba(255,255,255,.08); color: white; border-color: rgba(255,255,255,.28); backdrop-filter: blur(12px); }
.button.secondary:hover { background: rgba(255,255,255,.15); }
.button.outline { background: transparent; color: var(--ink); border-color: rgba(7,16,25,.28); }
.button.outline:hover { background: var(--ink); color: white; }
.center-action { margin-top: 56px; text-align: center; }

/* Loaders */
.entry-loader, .route-loader { transition: opacity .62s var(--ease), visibility .62s; overflow: hidden; }
html.site-ready .entry-loader, html.site-ready .route-loader { opacity: 0; visibility: hidden; pointer-events: none; }
html.loaders-finished .entry-loader, html.loaders-finished .route-loader { display: none !important; }
.entry-atmosphere { position: absolute; inset: -30%; background: radial-gradient(circle at 42% 47%, rgba(73,111,226,.19), transparent 27%), radial-gradient(circle at 60% 54%, rgba(255,139,107,.12), transparent 24%); animation: atmosphere 4s ease-in-out infinite alternate; }
.entry-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(circle, black, transparent 72%); }
.entry-lockup { position: relative; z-index: 2; }
.entry-orbit { width: 190px; height: 190px; position: relative; display: grid; place-items: center; margin: 0 auto; }
.entry-orbit > span { position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; animation: orbit 2.8s linear infinite; }
.entry-orbit > span:nth-child(2) { inset: 26px; border-color: rgba(102,137,255,.35); animation-direction: reverse; animation-duration: 2.2s; }
.entry-orbit > span:nth-child(3) { inset: 44px; border-color: rgba(255,139,107,.35); animation-duration: 1.8s; }
.entry-orbit > span::after { content: ""; position: absolute; top: 50%; right: -3px; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 18px var(--coral); }
.entry-logo { width: 104px; filter: drop-shadow(0 0 30px rgba(102,137,255,.25)); }
.entry-logo path:first-of-type { stroke-dasharray: 140; stroke-dashoffset: 140; animation: drawmark 1.25s .15s var(--ease) forwards; }
.entry-logo path:nth-of-type(2) { stroke-dasharray: 85; stroke-dashoffset: 85; animation: drawmark .9s .58s var(--ease) forwards; }
.entry-word { margin-top: 20px; font: 620 20px/1 var(--display); letter-spacing: .5em; text-indent: .5em; }
.entry-caption { margin-top: 13px; color: #91a2b1; letter-spacing: .03em; }
.entry-progress { width: 210px; background: rgba(255,255,255,.12); }
.entry-progress i { width: 36%; background: linear-gradient(90deg,var(--cobalt),var(--aqua),var(--coral)); box-shadow: 0 0 16px rgba(102,137,255,.6); }
.route-loader { background: rgba(7,16,25,.96); backdrop-filter: blur(16px); }
.route-tile { position: relative; width: 76px; height: 76px; display: grid; place-items: center; background: #0c1823; border-color: rgba(255,255,255,.14); box-shadow: 0 22px 60px rgba(0,0,0,.45); animation: tilepulse .72s ease-in-out infinite alternate; }
.route-tile::before, .route-tile::after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--aqua); }
.route-tile::before { left: -22px; }
.route-tile::after { right: -22px; background: var(--coral); }
.route-line { width: 38%; background: linear-gradient(90deg,var(--cobalt),var(--coral)); box-shadow: 0 0 18px rgba(102,137,255,.6); }
html.route-leaving .route-loader { display: grid !important; opacity: 1; visibility: visible; }
html.route-leaving .site-shell { filter: blur(6px); transform: scale(.995); transition: .32s; }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes drawmark { to { stroke-dashoffset: 0; } }
@keyframes atmosphere { to { transform: scale(1.08) translate3d(2%,-2%,0); } }
@keyframes tilepulse { to { transform: scale(1.05); border-color: rgba(102,137,255,.48); } }

/* Header */
.site-header { position: fixed; z-index: 120; inset: 0 0 auto; color: white; transition: transform .4s var(--ease), background .3s, border-color .3s; border-bottom: 1px solid rgba(255,255,255,.12); }
.site-header.scrolled { background: rgba(7,16,25,.9); backdrop-filter: blur(18px); }
.site-header.header-hidden { transform: translateY(-101%); }
.nav-shell { width: min(1520px, calc(100vw - 48px)); min-height: 88px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.logo-mark { width: 43px; }
.brand-words { display: grid; line-height: 1; }
.brand-words b { font-size: 16px; letter-spacing: .23em; }
.brand-words small { margin-top: 5px; font-size: 7px; letter-spacing: .34em; color: #9fb0bd; }
.site-nav { display: flex; align-items: center; gap: 30px; }
.site-nav > a, .nav-service-group > a { font-size: 12px; font-weight: 700; letter-spacing: .025em; }
.site-nav > a:not(.nav-cta):not(.lang-switch), .nav-service-group > a { position: relative; padding: 32px 0; }
.site-nav > a:not(.nav-cta):not(.lang-switch)::after, .nav-service-group > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 24px; height: 1px; background: var(--coral); transition: right .25s; }
.site-nav > a:hover::after, .nav-service-group > a:hover::after { right: 0; }
.nav-service-group { display: flex; align-items: center; position: relative; }
.nav-service-group > button { width: 26px; height: 26px; padding: 0; margin-left: 3px; border: 0; background: transparent; color: #9fb0bd; font-size: 17px; cursor: pointer; transition: transform .25s; }
.nav-service-group.menu-open > button { transform: rotate(45deg); }
.mega-menu { position: fixed; top: 88px; left: 50%; width: min(1400px, calc(100vw - 48px)); transform: translate(-50%,-12px); display: grid; grid-template-columns: .7fr 1.3fr; gap: 55px; padding: 38px; background: rgba(9,20,30,.98); border: 1px solid rgba(255,255,255,.13); border-radius: 0 0 24px 24px; opacity: 0; visibility: hidden; pointer-events: none; transition: .28s var(--ease); box-shadow: 0 40px 80px rgba(0,0,0,.36); }
.nav-service-group:hover .mega-menu, .nav-service-group:focus-within .mega-menu, .nav-service-group.menu-open .mega-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0); }
.mega-intro { padding: 10px 20px 10px 6px; border-right: 1px solid var(--line); }
.mega-intro span { color: var(--coral); font-size: 11px; letter-spacing: .17em; }
.mega-intro strong { display: block; max-width: 360px; margin-top: 46px; font: 520 2.1rem/1.08 var(--display); letter-spacing: -.04em; }
.mega-links { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; }
.mega-links a { min-height: 58px; display: flex; align-items: center; gap: 16px; padding: 8px 14px; border: 1px solid transparent; border-radius: 12px; transition: background .2s,border-color .2s; }
.mega-links a:hover { background: rgba(255,255,255,.05); border-color: var(--line); }
.mega-links span { color: var(--coral); font: 600 10px/1 var(--text); letter-spacing: .12em; }
.mega-links b { font-size: 13px; letter-spacing: 0; }
.lang-switch { display: grid; place-items: center; min-width: 48px; height: 46px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.lang-switch span { font-size: 11px; font-weight: 800; }
.lang-switch small { display: none; }
.nav-cta { min-height: 47px; display: inline-flex; align-items: center; gap: 18px; padding: 0 17px; background: white; color: var(--ink); border-radius: 999px; }
.nav-cta i { font-style: normal; font-weight: 400; }
.nav-toggle { display: none; width: 52px; height: 48px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: transparent; }
.nav-toggle span { display: block; width: 19px; height: 1px; margin: 5px auto; background: white; transition: .25s; }
.nav-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }

/* Heroes */
.photo-hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; overflow: hidden; isolation: isolate; background-color: var(--ink); background-position: center; background-size: cover; background-repeat: no-repeat; color: white; }
.hero-media { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; filter: saturate(1.08) contrast(1.03) brightness(.96); transform: scale(1.025); animation: herozoom 14s ease-out forwards; }
.hero-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(5,12,18,.84) 0%, rgba(5,12,18,.58) 37%, rgba(5,12,18,.17) 69%, rgba(5,12,18,.04) 100%), linear-gradient(0deg, rgba(5,12,18,.72), transparent 53%); }
.hero-lines { position: absolute; inset: 0; z-index: 2; background-image: linear-gradient(90deg, transparent calc(25% - 1px), rgba(255,255,255,.1) 25%, transparent calc(25% + 1px), transparent calc(50% - 1px), rgba(255,255,255,.1) 50%, transparent calc(50% + 1px), transparent calc(75% - 1px), rgba(255,255,255,.1) 75%, transparent calc(75% + 1px)); opacity: .34; pointer-events: none; }
.hero-content { position: relative; z-index: 3; min-height: 100svh; padding: 190px 0 55px; display: grid; align-items: end; grid-template-columns: 1fr auto; gap: 50px; }
.hero-copy { max-width: 880px; }
.hero-copy h1 { max-width: 900px; margin-bottom: 30px; }
.hero-copy p { max-width: 690px; color: #c4ced5; font-size: clamp(1.05rem,1.7vw,1.34rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
.hero-index { display: grid; gap: 11px; text-align: right; font-size: 10px; letter-spacing: .18em; color: #9cacb8; }
.hero-index span { padding-top: 10px; border-top: 1px solid rgba(255,255,255,.2); }
@keyframes herozoom { to { transform: scale(1); } }
.inner-photo-hero { min-height: 82svh; align-items: end; }
.inner-photo-hero .inner-hero-content { position: relative; z-index: 3; width: var(--container); padding: 180px 0 75px; }
.inner-hero-content h1 { max-width: 980px; margin-bottom: 28px; font-size: clamp(3.8rem,6.2vw,7rem); }
.inner-hero-content p { max-width: 660px; color: #c6d0d7; font-size: 1.2rem; }
.inner-hero-content.align-right { margin-left: auto; width: min(720px,100%); margin-right: 0; }
.company-photo .hero-media { object-position: center; }
.company-photo .hero-shade { background: linear-gradient(90deg, rgba(5,12,18,.05) 8%, rgba(5,12,18,.28) 44%, rgba(5,12,18,.86) 100%), linear-gradient(0deg,rgba(5,12,18,.56),transparent 52%); }
.process-photo .hero-media { object-position: center; }
.process-photo .hero-shade { background: linear-gradient(90deg, rgba(5,12,18,.82), rgba(5,12,18,.42) 48%, rgba(5,12,18,.08) 82%), linear-gradient(0deg,rgba(5,12,18,.58),transparent 58%); }

.signal-strip { background: var(--ink); color: white; border-top: 1px solid var(--line); }
.signal-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.signal-grid > div { min-height: 92px; display: flex; align-items: center; gap: 20px; padding: 0 32px; border-left: 1px solid var(--line); }
.signal-grid > div:last-child { border-right: 1px solid var(--line); }
.signal-grid span { color: var(--coral); font-size: 10px; letter-spacing: .12em; }
.signal-grid b { font-size: 12px; letter-spacing: .03em; }

/* Service cards */
.service-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.service-card { --accent: var(--cobalt); position: relative; min-height: 570px; display: grid; grid-template-rows: 310px 1fr; padding: 0; overflow: hidden; background: var(--ink); color: white; border-radius: var(--radius); isolation: isolate; transition: transform .4s var(--ease), box-shadow .4s; }
.service-card:hover { transform: translateY(-8px); box-shadow: 0 30px 55px rgba(7,16,25,.17); }
.service-card::after { content: ""; position: absolute; inset: auto -20% -50% 25%; height: 70%; z-index: -1; border-radius: 50%; background: radial-gradient(circle,var(--accent),transparent 67%); opacity: .16; }
.accent-cobalt { --accent: var(--cobalt); }
.accent-aqua { --accent: var(--aqua); }
.accent-coral { --accent: var(--coral); }
.accent-lime { --accent: var(--lime); }
.accent-violet { --accent: var(--violet); }
.accent-amber { --accent: var(--amber); }
.accent-rose { --accent: var(--rose); }
.accent-teal { --accent: var(--teal); }
.service-card-top { position: absolute; z-index: 3; inset: 22px 22px auto; display: flex; justify-content: space-between; align-items: center; color: white; font-size: 10px; text-transform: uppercase; letter-spacing: .13em; text-shadow: 0 2px 14px rgba(0,0,0,.55); }
.service-card-top span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.45); background: rgba(7,16,25,.42); backdrop-filter: blur(10px); border-radius: 50%; color: white; }
.service-card-top small { padding: 8px 11px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(7,16,25,.4); backdrop-filter: blur(10px); }
.service-card-image { position: relative; min-height: 0; overflow: hidden; background: #0d1923; }
.service-card-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(5,12,18,.1),rgba(5,12,18,.01) 48%,rgba(5,12,18,.65)); pointer-events: none; }
.service-card-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.08) contrast(1.03) brightness(1.02); transition: transform .9s var(--ease), filter .5s; }
.service-card:hover .service-card-image img { transform: scale(1.045); filter: saturate(1.08) contrast(1.03); }
.service-card-image i { position: absolute; z-index: 2; left: 24px; bottom: 22px; width: 52px; height: 2px; background: var(--accent); box-shadow: 0 0 22px color-mix(in srgb,var(--accent),transparent 28%); }
.service-card-copy { position: relative; padding: 30px 28px 28px; border-top: 1px solid rgba(255,255,255,.08); }
.service-card-copy h3 { font-size: clamp(1.8rem,3vw,3rem); margin-bottom: 14px; }
.service-card-copy p { max-width: 580px; color: #9eacb7; line-height: 1.55; }
.service-card-copy b { display: flex; justify-content: space-between; align-items: center; margin-top: 22px; color: white; font-size: 12px; }
.service-card-copy b i { color: var(--accent); font-style: normal; font-size: 18px; }

/* Diagrams */
.system-diagram { position: relative; width: 100%; min-height: 390px; color: var(--accent); }
.system-diagram.compact { min-height: 190px; transform: scale(.76); transform-origin: center; }
.diagram-layers { display: grid; align-content: center; gap: 12px; max-width: 550px; margin: auto; }
.diagram-layers .layer { min-height: 66px; display: grid; place-items: center; padding: 14px; border: 1px solid color-mix(in srgb,var(--accent),transparent 50%); background: color-mix(in srgb,var(--accent),transparent 91%); border-radius: 15px; color: white; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 20px 40px rgba(0,0,0,.15); }
.diagram-layers .layer-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.diagram-layers .layer-data { background: color-mix(in srgb,var(--accent),transparent 82%); }
.diagram-layers .signal { position: absolute; left: 14%; right: 14%; height: 1px; background: linear-gradient(90deg,transparent,var(--accent),transparent); animation: signal 2.8s infinite; }
.diagram-layers .s1 { top: 40%; }.diagram-layers .s2 { top: 69%; animation-delay: 1s; }
@keyframes signal { 0%,100%{opacity:.2;transform:scaleX(.3)}50%{opacity:1;transform:scaleX(1)} }
.diagram-saas { display: grid; place-items: center; }
.saas-orbit { position: relative; width: 355px; height: 355px; border: 1px dashed color-mix(in srgb,var(--accent),transparent 45%); border-radius: 50%; animation: slowspin 26s linear infinite; }
.saas-orbit::after { content:""; position:absolute; inset:62px; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.saas-orbit b { position: absolute; inset: 110px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb,var(--accent),#071019 75%); color: white; text-align: center; font-size: 13px; }
.saas-orbit span { position:absolute; min-width:86px; padding:8px 12px; border:1px solid color-mix(in srgb,var(--accent),transparent 55%); border-radius:999px; background:#0c1924; color:white; text-align:center; font-size:10px; animation: slowspin 26s linear infinite reverse; }
.saas-orbit span:nth-child(1){left:-15px;top:52px}.saas-orbit span:nth-child(2){right:-22px;top:92px}.saas-orbit span:nth-child(3){left:30px;bottom:18px}.saas-orbit span:nth-child(4){right:22px;bottom:38px}
.saas-meter { position:absolute; right:4%; bottom:7%; display:flex; align-items:end; gap:5px; height:70px; }
.saas-meter i { width:5px; height:32%; background:var(--accent); opacity:.45; animation:meter 1.7s ease-in-out infinite alternate; }.saas-meter i:nth-child(2){height:55%;animation-delay:.2s}.saas-meter i:nth-child(3){height:82%;animation-delay:.4s}.saas-meter i:nth-child(4){height:100%;animation-delay:.6s}
@keyframes slowspin{to{transform:rotate(360deg)}}@keyframes meter{to{height:100%;opacity:1}}
.diagram-journey { display: grid; align-content: center; gap: 24px; }
.journey-lane { display:grid; grid-template-columns:80px 1fr 40px 1fr 40px 1fr; align-items:center; gap:9px; padding:17px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:16px; }
.journey-lane b { color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.journey-lane span{padding:12px;border-radius:9px;background:color-mix(in srgb,var(--accent),transparent 88%);color:white;text-align:center;font-size:11px}.journey-lane i{height:1px;background:var(--accent);position:relative}.journey-lane i::after{content:"";position:absolute;right:0;top:-3px;border-left:5px solid var(--accent);border-top:3px solid transparent;border-bottom:3px solid transparent}.journey-lane.staff{margin-left:45px}.diagram-journey em{justify-self:center;color:#9facb6;font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.diagram-devices { display:flex; justify-content:center; align-items:center; gap:18px; }
.device { position:relative; display:grid; align-content:start; gap:9px; padding:14px; border:1px solid color-mix(in srgb,var(--accent),transparent 44%); background:rgba(7,16,25,.8); border-radius:18px; box-shadow:0 25px 50px rgba(0,0,0,.22); }
.device.phone{width:96px;height:184px}.device.tablet{width:150px;height:205px}.device.desktop{width:230px;height:154px;border-radius:10px}.device span{height:42%;background:linear-gradient(135deg,color-mix(in srgb,var(--accent),transparent 70%),transparent);border-radius:9px}.device i{height:8px;background:rgba(255,255,255,.14);border-radius:9px}.device i:last-child{width:65%}.device-core{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);width:95px;height:60px;display:grid;place-items:center;background:var(--accent);color:var(--ink);border-radius:14px;font-weight:800;line-height:1;text-align:center;box-shadow:0 15px 30px rgba(0,0,0,.28)}.device-core small{font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.diagram-diamond { display:grid;place-items:center}.diamond-grid{position:relative;width:340px;height:340px;transform:rotate(45deg);border:1px solid color-mix(in srgb,var(--accent),transparent 38%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.diamond-grid>span{display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);color:#b9c5cd;font-size:10px;text-transform:uppercase;letter-spacing:.09em;transform:rotate(-45deg)}.diamond-grid b{position:absolute;inset:112px;display:grid;place-items:center;background:var(--accent);color:var(--ink);border-radius:50%;transform:rotate(-45deg);font-size:22px}.prototype-bars{position:absolute;right:3%;bottom:8%;display:grid;gap:8px}.prototype-bars i{display:block;width:85px;height:8px;background:rgba(255,255,255,.12);border-radius:9px}.prototype-bars i:nth-child(2){width:58px;background:var(--accent)}
.diagram-network svg{width:100%;height:100%;overflow:visible}.diagram-network path{fill:none;stroke:color-mix(in srgb,var(--accent),transparent 35%);stroke-width:2;stroke-dasharray:7 7;animation:dash 9s linear infinite}.diagram-network circle{fill:#0b1823;stroke:var(--accent);stroke-width:2}.diagram-network circle.core{fill:color-mix(in srgb,var(--accent),#071019 70%);stroke-width:3}.network-legend{position:absolute;inset:auto 8% 5%;display:flex;justify-content:space-between;color:#a8b5be;font-size:10px;text-transform:uppercase;letter-spacing:.08em}@keyframes dash{to{stroke-dashoffset:-120}}
.diagram-bridge { display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:18px}.legacy-stack,.target-stack{display:grid;gap:8px;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:16px}.legacy-stack b,.target-stack b{margin-bottom:12px;color:white;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.legacy-stack span,.target-stack span{height:38px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:8px}.legacy-stack span:nth-child(2){transform:translateX(8px)}.legacy-stack span:nth-child(3){transform:translateX(-5px)}.target-stack span{border-color:color-mix(in srgb,var(--accent),transparent 48%);background:color-mix(in srgb,var(--accent),transparent 91%)}.transition{position:relative;display:grid;gap:11px}.transition::before{content:"";position:absolute;left:50%;top:-22px;bottom:-22px;width:1px;background:linear-gradient(transparent,var(--accent),transparent)}.transition em{position:relative;padding:10px;background:#0b1823;border:1px solid color-mix(in srgb,var(--accent),transparent 56%);border-radius:999px;color:white;text-align:center;font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.transition i{height:1px;background:var(--accent)}
.diagram-loop{display:grid;place-items:center}.ops-loop{position:relative;width:370px;height:370px;border:1px dashed color-mix(in srgb,var(--accent),transparent 42%);border-radius:50%;animation:slowspin 30s linear infinite}.ops-loop b{position:absolute;inset:118px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-size:13px;text-transform:uppercase}.ops-loop span{position:absolute;min-width:88px;padding:9px;border:1px solid color-mix(in srgb,var(--accent),transparent 50%);border-radius:999px;background:#0b1823;color:white;text-align:center;font-size:9px;text-transform:uppercase;letter-spacing:.06em;animation:slowspin 30s linear infinite reverse}.ops-loop span:nth-child(1){left:8px;top:48px}.ops-loop span:nth-child(2){right:-25px;top:92px}.ops-loop span:nth-child(3){right:-2px;bottom:48px}.ops-loop span:nth-child(4){left:66px;bottom:-9px}.ops-loop span:nth-child(5){left:-43px;top:185px}

/* Home detail */
.architecture-section { background: var(--ink); color: white; }
.architecture-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 90px; }
.architecture-copy h2 { margin-bottom: 30px; }
.architecture-copy p { color: #aebac3; font-size: 1.1rem; }
.architecture-copy ul { display: grid; gap: 14px; padding: 0; margin: 36px 0 0; list-style: none; }
.architecture-copy li { padding: 14px 0 14px 30px; border-top: 1px solid var(--line); color: #d6dde2; position: relative; }
.architecture-copy li::before { content:"";position:absolute;left:2px;top:24px;width:8px;height:8px;border:1px solid var(--aqua);border-radius:50%}
.architecture-canvas { min-height: 570px; display: grid; align-content: center; gap: 30px; padding: 45px; border: 1px solid var(--line); border-radius: var(--radius); background: radial-gradient(circle at 50% 45%,rgba(102,137,255,.16),transparent 42%),linear-gradient(135deg,rgba(255,255,255,.035),transparent); }
.arch-users,.arch-foundation { display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.arch-users span,.arch-foundation span{padding:18px;border:1px solid var(--line);border-radius:12px;text-align:center;color:#aab7c1;font-size:11px}.arch-product{padding:34px;border:1px solid rgba(102,137,255,.55);border-radius:20px;background:rgba(102,137,255,.08);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.arch-product b{grid-column:1/-1;margin-bottom:15px;text-align:center;font-size:18px}.arch-product span{padding:17px;border-radius:10px;background:rgba(255,255,255,.06);text-align:center;color:#d9e0e5;font-size:11px}.arch-line{width:1px;height:45px;justify-self:center;background:linear-gradient(var(--cobalt),var(--coral));position:relative}.arch-line::after{content:"";position:absolute;bottom:-4px;left:-3px;width:7px;height:7px;border-radius:50%;background:var(--coral)}
.process-teaser { background: #e7e4dc; }
.process-head { display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end}.process-head .section-heading{margin-bottom:0}.process-head>p{margin-bottom:10px}.process-rail{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid var(--dark-line)}.process-rail article{padding:30px 28px 0 0;border-right:1px solid var(--dark-line)}.process-rail article+article{padding-left:28px}.process-rail span{color:#6d7f8c;font-size:10px;letter-spacing:.12em}.process-rail h3{margin:48px 0 16px}.process-rail p{font-size:.94rem}

/* Generic editorial heroes */
.editorial-hero,.simple-hero,.pricing-hero,.request-hero { padding: 190px 0 100px; background: var(--ink); color: white; }
.editorial-hero { min-height: 86svh; display:flex;align-items:end;position:relative;overflow:hidden}.editorial-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 28%,rgba(102,137,255,.19),transparent 25%),linear-gradient(120deg,transparent 55%,rgba(255,255,255,.035) 55%);}
.editorial-grid { position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end}.editorial-grid h1{font-size:clamp(3.8rem,6.6vw,7.5rem);margin-bottom:0}.editorial-grid>div:last-child>p{color:#abb8c1;font-size:1.22rem;max-width:590px}.hero-mini-map{display:grid;grid-template-columns:repeat(2,1fr);margin-top:42px;border-top:1px solid var(--line)}.hero-mini-map a{display:flex;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}.hero-mini-map a:nth-child(odd){padding-right:15px}.hero-mini-map a:nth-child(even){padding-left:15px;border-left:1px solid var(--line)}.hero-mini-map span{color:var(--coral)}
.selector-table { border-top: 1px solid var(--dark-line); }
.selector-row { display:grid;grid-template-columns:1.3fr .9fr .8fr;gap:25px;align-items:center;min-height:82px;border-bottom:1px solid var(--dark-line);font-size:13px}.selector-row.head{min-height:52px;color:#72818b;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.selector-row a{font-weight:750}.selector-row a:hover{color:#466ef0}

/* Service detail pages */
.service-hero { --accent: var(--cobalt); position:relative;min-height:94svh;display:flex;align-items:stretch;padding:158px 0 58px;background:var(--ink);color:white;overflow:hidden;isolation:isolate}
.service-hero-media{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;filter:saturate(1.1) contrast(1.04) brightness(.98);transform:scale(1.035);animation:serviceherozoom 15s var(--ease) forwards}
.service-photo-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,10,16,.86) 0%,rgba(4,10,16,.67) 31%,rgba(4,10,16,.28) 56%,rgba(4,10,16,.04) 84%),linear-gradient(0deg,rgba(4,10,16,.76) 0%,rgba(4,10,16,.12) 55%,rgba(4,10,16,.17) 100%)}
.technical-field{position:absolute;inset:0;z-index:2;opacity:.25;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,black 0%,rgba(0,0,0,.78) 36%,transparent 78%)}.technical-field::after{content:"";position:absolute;width:700px;height:700px;right:-150px;top:-120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent),transparent 81%),transparent 66%)}
.service-hero-grid{z-index:3;display:grid;grid-template-columns:minmax(0,820px) 1fr;grid-template-rows:1fr auto;gap:54px 80px;align-items:end;position:relative}.service-hero-copy{align-self:end}.service-hero-copy h1{max-width:920px;font-size:clamp(3.9rem,6.2vw,7rem);margin-bottom:28px;text-wrap:balance}.service-hero-copy p{max-width:700px;color:#e0e6e9;font-size:1.18rem;text-shadow:0 2px 22px rgba(0,0,0,.55)}.service-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.service-hero-meta{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(255,255,255,.35);color:#c5ced4;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.service-hero-meta span:first-child{color:white}.service-hero-meta span:first-child::before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}
@keyframes serviceherozoom{to{transform:scale(1)}}
.service-overview{padding-bottom:95px}.overview-grid{display:grid;grid-template-columns:1.25fr .55fr;gap:90px;align-items:start}.overview-copy p{font-family:var(--display);font-size:clamp(1.5rem,2.5vw,2.35rem);line-height:1.3;letter-spacing:-.035em;color:var(--ink)}.overview-copy p+p{margin-top:35px;color:#46545e;font-family:var(--text);font-size:1.05rem;letter-spacing:0;line-height:1.75}.service-facts{position:sticky;top:120px;border:1px solid var(--dark-line);border-radius:20px;padding:22px;background:var(--white)}.service-facts>div{display:grid;gap:7px;padding:18px 0;border-bottom:1px solid var(--dark-line)}.service-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#72818c}.service-facts b{font-size:1.08rem}.service-facts small{display:block;margin-top:18px;color:#71808a;line-height:1.5}
.situations-section{background:#e7e4dc}.split-title{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px}.split-title .section-heading{margin:0}.number-list>div{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--dark-line)}.number-list span{font-size:10px;letter-spacing:.12em;color:#73818a}.number-list p{margin:0;font-family:var(--display);font-size:1.35rem;line-height:1.25;letter-spacing:-.025em;color:var(--ink)}
.signature-section{--accent:var(--cobalt);background:var(--ink);color:white;overflow:hidden}.signature-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:75px;align-items:center}.signature-copy h2{font-size:clamp(2.7rem,4.2vw,4.6rem);margin-bottom:25px}.signature-copy p{color:#aab7c0}.signature-grid>.system-diagram{color:var(--accent);padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.02)}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.detail-card{min-height:300px;display:flex;flex-direction:column;padding:25px;background:var(--white);border:1px solid var(--dark-line);border-radius:18px}.detail-card>span{font-size:10px;color:#778690;letter-spacing:.12em}.detail-card h3{margin:70px 0 17px}.detail-card p{margin:0;font-size:.94rem}.detail-card:nth-child(2),.detail-card:nth-child(5){transform:translateY(22px)}
.deliverables-section{background:var(--ink);color:white}.folio-head{display:grid;grid-template-columns:1fr .5fr;gap:60px;align-items:end}.folio-head .section-heading{margin:0}.folio-head>p{color:#a7b4bd}.folio-grid{margin-top:70px;border-top:1px solid var(--line)}.folio-item{display:grid;grid-template-columns:100px 1fr;padding:34px 0;border-bottom:1px solid var(--line)}.folio-item>span{color:var(--coral);font-size:11px;letter-spacing:.12em}.folio-item>div{display:grid;grid-template-columns:.65fr 1.35fr;gap:45px}.folio-item h3{margin:0;font-size:1.7rem}.folio-item p{max-width:650px;margin:0;color:#a8b5be}
.service-stages{background:#e7e4dc}.stage-track{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--dark-line)}.stage-track article{padding:30px 24px 0 0;border-right:1px solid var(--dark-line)}.stage-track article+article{padding-left:24px}.stage-track span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--dark-line);border-radius:50%;font-size:10px}.stage-track h3{margin:52px 0 15px}.stage-track p{font-size:.9rem}
.usecase-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.usecase-list article{min-height:220px;padding:28px;border:1px solid var(--dark-line);border-radius:18px;background:var(--white)}.usecase-list h3{margin-bottom:50px}.usecase-list p{font-size:.94rem}
.principles-section{background:var(--ink);color:white}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.principle-grid.four{grid-template-columns:repeat(4,1fr)}.principle-grid article{min-height:310px;padding:26px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.principle-grid span{color:var(--coral);font-size:10px;letter-spacing:.13em}.principle-grid h3{margin:90px 0 18px;font-size:1.7rem}.principle-grid p{color:#9eacb7}
.boundary-section{background:#e7e4dc}.boundary-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.boundary-grid h2{font-size:clamp(2.6rem,4vw,4.2rem)}.boundary-list{border-top:1px solid var(--dark-line)}.boundary-list article{padding:25px 0;border-bottom:1px solid var(--dark-line)}.boundary-list h3{font-size:1.35rem;margin-bottom:10px}.boundary-list p{margin:0}

/* Process */
.process-spine{max-width:1040px;margin:auto}.process-spine article{display:grid;grid-template-columns:140px 1fr;gap:50px;min-height:280px}.process-node{position:relative}.process-node span{display:grid;place-items:center;width:76px;height:76px;border:1px solid var(--dark-line);border-radius:50%;font-size:11px;letter-spacing:.12em;background:var(--paper);position:relative;z-index:1}.process-node i{position:absolute;top:76px;bottom:0;left:38px;width:1px;background:linear-gradient(var(--dark-line),var(--cobalt))}.process-spine article:last-child .process-node i{display:none}.process-spine small{color:#75838d;text-transform:uppercase;letter-spacing:.12em}.process-spine h2{margin:20px 0;font-size:clamp(2.3rem,4vw,4.4rem)}.process-spine p{max-width:760px;font-size:1.05rem}.gate-section{background:var(--ink);color:white}.gate-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:center}.gate-grid h2{font-size:clamp(2.8rem,4.5vw,4.8rem)}.gate-grid p{color:#a8b5be}.gate-diagram{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px}.gate-diagram span{min-height:120px;display:grid;place-items:center;padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.03);text-align:center;font-size:11px}.gate-diagram i{color:var(--coral);font-style:normal}.responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.responsibility-grid article{padding:35px;border:1px solid var(--dark-line);border-radius:20px;background:var(--white)}.responsibility-grid>article>span{color:#697985;font-size:10px;letter-spacing:.15em}.responsibility-grid ul{display:grid;gap:16px;margin:70px 0 0;padding:0;list-style:none}.responsibility-grid li{padding:14px 0;border-top:1px solid var(--dark-line);font-weight:650}

/* Company */
.company-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.company-intro h2{font-size:clamp(2.8rem,4.8vw,5rem)}.long-copy p{font-family:var(--display);font-size:1.55rem;line-height:1.42;letter-spacing:-.025em;color:var(--ink)}.long-copy p+p{font-family:var(--text);font-size:1rem;line-height:1.8;letter-spacing:0;color:#48565f}.facts-section{padding:0 0 130px}.company-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}.company-facts>div{min-height:170px;display:grid;align-content:space-between;padding:25px;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}.company-facts span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#71808a}.company-facts b{max-width:360px;font-size:1rem;line-height:1.4}.operating-principles{background:var(--ink);color:white}.territory-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}.territory-grid h2{font-size:clamp(2.8rem,4.4vw,4.8rem)}.territory-map{height:520px;position:relative;border:1px solid var(--dark-line);border-radius:50%;background:radial-gradient(circle at center,rgba(102,137,255,.18),transparent 43%),repeating-radial-gradient(circle at center,transparent 0 64px,rgba(7,16,25,.08) 65px 66px);overflow:hidden}.territory-map::before{content:"";position:absolute;inset:15%;border-radius:43% 57% 61% 39%/48% 43% 57% 52%;border:1px solid rgba(7,16,25,.16);transform:rotate(-12deg)}.map-dot{position:absolute;left:48%;top:54%;z-index:2;font-size:10px;letter-spacing:.15em}.map-dot i{display:block;width:10px;height:10px;margin:8px auto;border-radius:50%;background:var(--coral);box-shadow:0 0 0 9px rgba(255,139,107,.17)}.territory-map b{position:absolute;left:40%;top:30%;font-size:7rem;opacity:.08}.territory-map em{position:absolute;right:17%;bottom:18%;font:600 4rem/1 var(--display);color:#5d85ff;opacity:.18;font-style:normal}

/* Industries */
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sector-card{min-height:410px;padding:28px;border:1px solid var(--dark-line);border-radius:20px;background:var(--white);overflow:hidden}.sector-card>span{color:#73818a;font-size:10px;letter-spacing:.12em}.sector-card h2{margin:100px 0 22px;font-size:2.25rem}.sector-card p{font-size:.98rem}.sector-pulse{display:flex;gap:8px;margin-top:30px}.sector-pulse i{width:10px;height:10px;border:1px solid var(--cobalt);border-radius:50%}.sector-pulse i:nth-child(2){background:var(--cobalt)}.sector-pulse i:nth-child(3){box-shadow:0 0 0 7px rgba(102,137,255,.1)}.fit-section{background:var(--ink);color:white}.fit-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.fit-grid h2{font-size:clamp(2.7rem,4.3vw,4.6rem)}.fit-list>div{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.fit-list span{color:var(--coral);font-size:10px}.fit-list b{font-size:1.2rem}

/* Pricing */
.pricing-hero{min-height:82svh;display:flex;align-items:end}.pricing-hero-grid{display:grid;grid-template-columns:1fr .55fr;align-items:end;gap:80px}.pricing-hero h1{font-size:clamp(3.8rem,6.5vw,7.2rem);margin:0}.price-orbit{position:relative;width:400px;height:400px;display:grid;place-items:center;margin-left:auto;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:radial-gradient(circle,rgba(102,137,255,.14),transparent 67%)}.price-orbit::before,.price-orbit::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.12)}.price-orbit::before{inset:42px}.price-orbit::after{inset:92px}.price-orbit span,.price-orbit strong{position:absolute;font:520 1.5rem/1 var(--display)}.price-orbit span{left:28px;top:50%}.price-orbit strong{right:12px;top:50%;color:var(--coral)}.price-orbit i{width:120px;height:1px;background:linear-gradient(90deg,var(--cobalt),var(--coral))}.price-orbit small{position:absolute;bottom:76px;color:#9dacb7;text-transform:uppercase;letter-spacing:.12em}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.price-card{--accent:var(--cobalt);min-height:310px;padding:28px;border:1px solid var(--dark-line);border-radius:20px;background:var(--white)}.price-card>span{color:var(--accent);font-size:10px;letter-spacing:.12em}.price-card h2{margin:58px 0 30px;font-size:2.35rem}.price-range{display:flex;align-items:center;gap:12px}.price-range b{font-size:1.45rem}.price-range i{font-style:normal;color:#8c989f}.price-card p{margin:12px 0 30px;font-size:.9rem}.price-card a{font-size:11px;font-weight:750}.pricing-note{max-width:950px;margin:42px 0 0;padding-left:20px;border-left:2px solid var(--coral);font-size:.92rem}.quote-factors{background:#e7e4dc}.factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.factor-grid article{min-height:230px;padding:25px;border:1px solid var(--dark-line);border-radius:18px}.factor-grid span{color:#71808a;font-size:10px}.factor-grid h3{margin:55px 0 15px}.payment-flow{background:var(--ink);color:white}.payment-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.payment-grid h2{font-size:clamp(2.7rem,4vw,4.2rem)}.payment-grid ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.payment-grid li{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.payment-grid li b{font-size:1.15rem}.payment-grid li span{color:#95a5b0}

/* FAQ */
.simple-hero{min-height:66svh;display:flex;align-items:end}.simple-hero-grid{display:grid;grid-template-columns:1fr .6fr;gap:80px;align-items:end}.simple-hero h1{font-size:clamp(3.8rem,6vw,6.8rem);margin:0}.simple-hero p{color:#aab7c0;font-size:1.15rem}.faq-section{background:var(--paper)}.accordion{border-top:1px solid var(--dark-line)}.accordion-item{border-bottom:1px solid var(--dark-line)}.accordion-item>button{width:100%;display:flex;justify-content:space-between;gap:35px;padding:27px 0;border:0;background:transparent;text-align:left;cursor:pointer}.accordion-item>button span{font-family:var(--display);font-size:1.4rem;font-weight:570;letter-spacing:-.025em}.accordion-item>button i{font-style:normal;font-size:24px;transition:transform .25s}.accordion-item>button[aria-expanded="true"] i{transform:rotate(45deg)}.accordion-panel{padding:0 70px 28px 0}.accordion-panel p{font-size:1.03rem}.contact-mini{background:#e7e4dc}.contact-mini-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px}.contact-mini h2{font-size:clamp(2.5rem,4vw,4.2rem)}.contact-mini-grid>div{display:grid;gap:12px}.contact-mini a{font-size:1.2rem;font-weight:650}.contact-mini span{color:#667680}

/* Forms */
.request-hero{padding-bottom:80px}.request-intro h1{max-width:1100px;font-size:clamp(3.8rem,6vw,6.8rem);margin-bottom:30px}.request-intro>p{max-width:780px;color:#aab7c0;font-size:1.15rem}.form-assurances{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.form-assurances span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:#c2cbd2;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.form-section{padding-top:75px}.form-shell{display:grid;grid-template-columns:300px 1fr;gap:55px;align-items:start}.form-sidebar{position:sticky;top:120px;padding:25px;border:1px solid var(--dark-line);border-radius:20px;background:#e7e4dc}.form-sidebar>span{font-size:9px;letter-spacing:.14em}.form-sidebar ol{display:grid;gap:5px;margin:25px 0;padding:0;list-style:none}.form-sidebar li{display:flex;align-items:center;gap:14px;padding:10px;border-radius:12px;color:#7a8993}.form-sidebar li i{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--dark-line);border-radius:50%;font-style:normal;font-size:9px}.form-sidebar li b{font-size:12px}.form-sidebar li.active{background:var(--ink);color:white}.form-sidebar li.active i{border-color:var(--coral);color:var(--coral)}.form-sidebar li.complete i{background:var(--aqua);color:var(--ink);border-color:var(--aqua)}.form-sidebar p{margin:25px 0 0;font-size:.82rem}.form-shell form{--form-progress:20%;position:relative;padding:42px;border:1px solid var(--dark-line);border-radius:24px;background:var(--white)}.form-shell form::before{content:"";position:absolute;left:0;top:0;height:3px;width:var(--form-progress);background:linear-gradient(90deg,var(--cobalt),var(--coral));border-radius:99px;transition:width .35s}.form-shell fieldset{padding:0;margin:0;border:0}.form-shell legend{display:flex;align-items:center;gap:18px;width:100%;margin-bottom:42px;font:540 clamp(2rem,3.2vw,3.5rem)/1 var(--display);letter-spacing:-.04em}.form-shell legend span{font:700 10px/1 var(--text);letter-spacing:.13em;color:#6e7d87}.field-grid{display:grid;gap:20px}.field-grid.two{grid-template-columns:repeat(2,1fr)}.form-shell label{display:grid;gap:9px;margin-bottom:20px;font-size:12px;font-weight:700}.form-shell input,.form-shell select,.form-shell textarea,.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(7,16,25,.2);border-radius:12px;background:#f5f4ef;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.form-shell input,.form-shell select,.contact-form input{height:54px;padding:0 15px}.form-shell textarea,.contact-form textarea{padding:15px;resize:vertical}.form-shell input:focus,.form-shell select:focus,.form-shell textarea:focus,.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 4px rgba(102,137,255,.12)}.field-label{display:block;margin-bottom:12px;font-size:12px;font-weight:700}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:28px}.check-grid label{margin:0;display:block}.check-grid input{position:absolute;opacity:0;pointer-events:none}.check-grid label>span{min-height:58px;display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--dark-line);border-radius:12px;background:#f5f4ef;font-size:12px;transition:.2s;cursor:pointer}.check-grid label>span i{color:#70808a;font-style:normal;font-size:9px}.check-grid input:checked+span{background:var(--ink);color:white;border-color:var(--ink)}.check-grid input:focus-visible+span{outline:3px solid rgba(102,137,255,.3)}.consent-box{display:grid;gap:12px;padding:20px;background:#e9e7e0;border-radius:14px}.consent-box label,.inline-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;gap:12px!important;margin:0!important;font-weight:500!important;line-height:1.5}.consent-box input,.inline-check input{width:18px!important;height:18px!important;flex:0 0 auto;margin-top:2px}.consent-box a,.inline-check a{text-decoration:underline}.form-summary{margin-top:25px;padding:20px;border:1px solid var(--dark-line);border-radius:14px}.form-summary>strong{display:block;margin-bottom:14px}.form-summary>div{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:9px 0;border-top:1px solid var(--dark-line);font-size:12px}.form-summary span{color:#71808a}.form-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-top:35px;padding-top:25px;border-top:1px solid var(--dark-line)}.form-controls>span{text-align:center;color:#71808a;font-size:11px}.form-controls [data-next],.form-controls [data-submit]{justify-self:end}.form-controls [data-prev]{justify-self:start}.form-legal{margin:22px 0 0;font-size:.8rem;color:#71808a}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.contact-grid aside{position:sticky;top:120px}.contact-block{padding:22px 0;border-top:1px solid var(--dark-line)}.contact-block span{display:block;margin-bottom:10px;color:#71808a;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.contact-block a{font-size:1.35rem;font-weight:650}.contact-block p{margin:0}.contact-grid aside>.button{margin-top:28px}.contact-form{padding:35px;border:1px solid var(--dark-line);border-radius:22px;background:var(--white)}.contact-form label{display:grid;gap:9px;margin-bottom:20px;font-size:12px;font-weight:700}.contact-form .button{margin-top:25px}

/* Legal and status */
.legal-hero{min-height:55svh}.legal-grid{display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:start}.legal-grid>aside{position:sticky;top:120px;display:grid;gap:10px;padding:22px;border:1px solid var(--dark-line);border-radius:16px}.legal-grid>aside span{color:#71808a;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.legal-grid>aside b{font-size:.95rem}.legal-grid>aside a{margin-top:22px;font-size:.85rem;font-weight:700;word-break:break-all}.legal-copy{max-width:880px}.legal-copy section{position:relative;padding:0 0 48px 64px;margin-bottom:45px;border-bottom:1px solid var(--dark-line)}.legal-copy section>span{position:absolute;left:0;top:5px;color:#71808a;font-size:10px;letter-spacing:.12em}.legal-copy h2{font-size:2.2rem;margin-bottom:20px}.legal-copy p{font-size:1rem;line-height:1.85}.legal-copy a{text-decoration:underline;font-weight:650}.status-page-body{background:var(--ink);color:white}.status-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 24px;text-align:center}.status-page h1{max-width:900px;font-size:clamp(3.3rem,6vw,6.8rem);margin:18px 0 25px}.status-page p{max-width:680px;color:#aab7c0}.status-page .button{margin-top:26px}.status-orbit{position:relative;width:180px;height:180px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;margin-bottom:30px}.status-orbit i{position:absolute;inset:20px;border:1px dashed rgba(102,137,255,.45);border-radius:50%;animation:slowspin 15s linear infinite}.status-orbit i:last-child{inset:42px;border-color:rgba(255,139,107,.45);animation-direction:reverse}.status-logo{width:70px}.error-code{font:520 clamp(8rem,22vw,18rem)/.7 var(--display);letter-spacing:-.08em;color:rgba(255,255,255,.07)}

/* CTA and footer */
.cta-section { background: var(--paper); }
.cta-panel { min-height: 450px; position:relative;display:grid;grid-template-columns:1.15fr .65fr;gap:70px;align-items:end;padding:55px;overflow:hidden;background:var(--ink);color:white;border-radius:var(--radius);isolation:isolate}.cta-panel::before{content:"";position:absolute;inset:-30%;z-index:-1;background:radial-gradient(circle at 76% 42%,rgba(102,137,255,.27),transparent 23%),radial-gradient(circle at 70% 70%,rgba(255,139,107,.17),transparent 17%)}.cta-panel h2{max-width:850px;font-size:clamp(2.8rem,4.8vw,5rem);margin-bottom:22px}.cta-panel p{max-width:690px;color:#aab7c0}.cta-actions{display:grid;gap:18px;justify-items:start}.cta-actions a:not(.button){font-size:13px;color:#b7c2ca;text-decoration:underline}.cta-code{position:absolute;right:28px;top:28px;color:#72828e;font-size:9px;letter-spacing:.15em}
.site-footer { background: #050c12; color: white; }
.footer-topline { height: 1px; background: linear-gradient(90deg,var(--cobalt),var(--aqua),var(--coral)); }
.footer-main { display:grid;grid-template-columns:1.5fr repeat(3,.65fr);gap:65px;padding:85px 0 60px}.footer-lead p{max-width:460px;margin:32px 0;color:#8e9da8}.footer-logo{width:48px}.footer-project{display:flex;justify-content:space-between;align-items:center;max-width:360px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:700}.footer-project span{color:var(--coral);font-size:20px}.footer-column{display:grid;align-content:start;gap:11px}.footer-column h3{margin-bottom:18px;color:#788996;font:700 9px/1 var(--text);letter-spacing:.15em;text-transform:uppercase}.footer-column a{font-size:12px;color:#b0bcc4}.footer-column a:hover{color:white}.footer-contact{display:flex;flex-wrap:wrap;gap:35px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.footer-contact span{margin-left:auto;color:#82939f}.footer-bottom{display:flex;justify-content:space-between;gap:40px;padding:25px 0 35px;color:#687a87;font-size:9px;letter-spacing:.05em}

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s var(--ease), transform .75s var(--ease); }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  :root { --container: min(100% - 48px, 1080px); }
  .site-nav { gap: 19px; }
  .site-nav > a,.nav-service-group>a { font-size:11px; }
  .architecture-grid,.signature-grid,.gate-grid,.territory-grid { gap:50px; }
  .detail-grid { grid-template-columns:repeat(2,1fr); }
  .stage-track { grid-template-columns:repeat(3,1fr);gap:28px 0; }
  .principle-grid.four { grid-template-columns:repeat(2,1fr); }
  .sector-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 1040px) {
  .nav-shell { min-height:76px; }
  .nav-toggle { display:block; }
  .site-nav { position:fixed;inset:76px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:25px;background:rgba(7,16,25,.985);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:.25s;overflow:auto; }
  .site-nav.open { opacity:1;visibility:visible;pointer-events:auto;transform:none; }
  .site-nav>a,.nav-service-group { border-bottom:1px solid var(--line); }
  .site-nav>a:not(.nav-cta),.nav-service-group>a { padding:17px 0; }
  .nav-service-group { display:grid;grid-template-columns:1fr auto; }
  .nav-service-group>button { width:44px;height:44px; }
  .mega-menu { position:static;grid-column:1/-1;width:100%;transform:none!important;display:none;grid-template-columns:1fr;padding:18px 0;background:transparent;border:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto; }
  .nav-service-group.menu-open .mega-menu { display:grid; }
  .mega-intro { display:none; }.mega-links{grid-template-columns:1fr 1fr}.mega-links a{min-height:48px}
  .lang-switch { position:absolute;right:90px;top:14px;display:flex;gap:8px;border:0;height:46px}.lang-switch small{display:block;color:#8495a1}.nav-cta{margin-top:25px;justify-content:center;min-height:54px}.site-nav>.nav-cta{border:0}
  .hero-content { grid-template-columns:1fr; }.hero-index{display:none}
  .architecture-grid,.editorial-grid,.service-hero-grid,.overview-grid,.signature-grid,.split-title,.folio-head,.boundary-grid,.gate-grid,.company-intro-grid,.territory-grid,.fit-grid,.payment-grid,.simple-hero-grid,.pricing-hero-grid,.form-shell,.contact-grid,.legal-grid,.cta-panel { grid-template-columns:1fr; }
  .architecture-canvas { min-height:500px; }.service-hero-meta{grid-column:1;margin-top:10px}.service-facts,.form-sidebar,.contact-grid aside,.legal-grid>aside{position:static}.process-head{grid-template-columns:1fr}.process-rail{grid-template-columns:repeat(2,1fr);gap:35px 0}.folio-head>p{max-width:620px}.boundary-grid,.split-title{gap:55px}.pricing-hero-grid{align-items:start}.price-orbit{margin:20px 0 0}.footer-main{grid-template-columns:1.4fr repeat(2,.7fr)}.footer-column:last-child{grid-column:2}
}

@media (max-width: 760px) {
  :root { --container: calc(100% - 32px); --radius: 21px; }
  body { font-size:15px; }
  .section { padding:88px 0; }
  h1 { font-size:clamp(3.2rem,15vw,5.2rem); }
  h2 { font-size:clamp(2.45rem,11vw,4.1rem); }
  .nav-shell { width:calc(100vw - 28px); }.brand-words small{display:none}.site-header .logo-mark{width:39px}
  .home-hero,.photo-hero{min-height:820px}.hero-content{min-height:820px;padding:145px 0 38px}.hero-copy p{font-size:1.05rem}.hero-actions{display:grid}.hero-actions .button{width:100%}
  .signal-grid { grid-template-columns:1fr; }.signal-grid>div{min-height:64px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .service-grid,.pricing-grid,.sector-grid,.factor-grid,.principle-grid,.principle-grid.four,.company-facts,.responsibility-grid,.usecase-list,.field-grid.two,.check-grid { grid-template-columns:1fr; }
  .service-card{min-height:515px;grid-template-rows:270px 1fr;padding:0}.service-card-copy{padding:25px 22px 23px}.service-card-copy h3{font-size:2.15rem}.service-card-top{inset:18px 18px auto}.service-card-image i{left:20px;bottom:18px}
  .architecture-canvas{min-height:430px;padding:22px}.arch-users,.arch-foundation{grid-template-columns:1fr}.arch-product{padding:20px}
  .process-rail{grid-template-columns:1fr}.process-rail article,.process-rail article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--dark-line)}
  .editorial-hero,.pricing-hero,.request-hero{padding:145px 0 75px;min-height:auto}.editorial-grid{gap:45px}.hero-mini-map{grid-template-columns:1fr}.hero-mini-map a:nth-child(even){padding-left:0;border-left:0}
  .selector-row{grid-template-columns:1fr;gap:7px;padding:20px 0}.selector-row.head{display:none}
  .service-hero{padding:126px 0 38px;min-height:820px}.service-hero-media{object-position:67% center;filter:saturate(1.08) contrast(1.03) brightness(1.02)}.service-photo-shade{background:linear-gradient(0deg,rgba(4,10,16,.96) 0%,rgba(4,10,16,.82) 47%,rgba(4,10,16,.09) 86%),linear-gradient(90deg,rgba(4,10,16,.43),rgba(4,10,16,.02))}.service-hero-grid{grid-template-rows:1fr auto;gap:30px;align-items:end}.service-hero-copy h1{font-size:clamp(3.05rem,13vw,5rem)}.service-hero-copy p{font-size:1.02rem}.service-hero-actions{display:grid}.service-hero-actions .button{width:100%}.service-hero-meta{margin-top:0;gap:20px}
  .system-diagram{min-height:315px}.saas-orbit{width:290px;height:290px}.saas-orbit b{inset:90px}.journey-lane{grid-template-columns:1fr;gap:7px}.journey-lane i{height:25px;width:1px;margin:auto}.journey-lane i::after{right:-3px;top:auto;bottom:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:5px solid var(--accent)}.journey-lane.staff{margin-left:0}.diagram-devices{gap:8px;transform:scale(.8)}.device.desktop{display:none}.diamond-grid{width:250px;height:250px}.diamond-grid b{inset:80px}.diagram-bridge{grid-template-columns:1fr;gap:10px}.transition{grid-template-columns:repeat(3,1fr)}.transition i{display:none}.legacy-stack,.target-stack{grid-template-columns:repeat(3,1fr)}.legacy-stack b,.target-stack b{grid-column:1/-1}.ops-loop{width:290px;height:290px}.ops-loop b{inset:90px}.ops-loop span:nth-child(5){left:-17px;top:142px}
  .detail-grid{grid-template-columns:1fr}.detail-card:nth-child(2),.detail-card:nth-child(5){transform:none}.folio-item{grid-template-columns:45px 1fr}.folio-item>div{grid-template-columns:1fr;gap:12px}.stage-track{grid-template-columns:1fr;gap:0}.stage-track article,.stage-track article+article{padding:24px 0;border-right:0;border-bottom:1px solid var(--dark-line)}.stage-track h3{margin:28px 0 12px}.principle-grid article{min-height:260px}.principle-grid h3{margin-top:60px}
  .process-spine article{grid-template-columns:70px 1fr;gap:20px;min-height:240px}.process-node span{width:54px;height:54px}.process-node i{top:54px;left:27px}.gate-diagram{grid-template-columns:1fr}.gate-diagram i{transform:rotate(90deg);text-align:center}.company-facts>div{min-height:130px}.territory-map{height:360px}.price-orbit{width:300px;height:300px}.price-orbit span{left:0}.price-orbit strong{right:-5px}.payment-grid li{grid-template-columns:1fr}.simple-hero{min-height:auto;padding-top:145px}.accordion-item>button span{font-size:1.2rem}.accordion-panel{padding-right:0}
  .form-shell form{padding:25px 18px}.form-sidebar{display:none}.form-controls{grid-template-columns:1fr 1fr}.form-controls>span{grid-column:1/-1;grid-row:1}.form-controls [data-prev]{grid-column:1}.form-controls [data-next],.form-controls [data-submit]{grid-column:2}.form-summary>div{grid-template-columns:1fr}
  .contact-grid{gap:50px}.legal-copy section{padding-left:0}.legal-copy section>span{position:static;display:block;margin-bottom:14px}.cta-panel{min-height:520px;padding:28px}.footer-main{grid-template-columns:1fr 1fr;gap:45px 25px;padding-top:60px}.footer-lead{grid-column:1/-1}.footer-contact{display:grid;gap:12px}.footer-contact span{margin-left:0}.footer-bottom{display:grid}.inner-photo-hero{min-height:740px}.inner-photo-hero .inner-hero-content{padding:160px 0 50px}.company-photo .hero-media{object-position:36% center}.company-photo .hero-shade{background:linear-gradient(0deg,rgba(5,12,18,.94),rgba(5,12,18,.08) 76%)}.process-photo .hero-media{object-position:58% center}.inner-hero-content.align-right{width:100%}
}

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