:root{color-scheme:light;--navy:#091a33;--ink:#10213a;--muted:#485b74;--blue:#075ad5;--bright:#0f6eff;--cyan:#7bdcff;--line:#dce6f2;--ice:#f4f8fe;--width:1240px;--shadow:0 12px 35px #102d5710;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}
*,*::before,*::after{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{cursor:pointer}[hidden]{display:none!important}::selection{background:#b7dcff;color:#091a33}:focus-visible{outline:3px solid #1584ff;outline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.048em;text-wrap:balance}p{line-height:1.67}ul{margin:0;padding:0;list-style:none}
.wrap{width:min(var(--width),calc(100% - 112px));margin-inline:auto}.skip{position:fixed;top:10px;left:10px;z-index:99;transform:translateY(-150%);background:white;padding:12px;border-radius:5px}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e6edf5}.nav-shell{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;flex:none}.brand img{width:175px;height:auto}.footer .brand img{mix-blend-mode:multiply}
.nav{display:flex;gap:clamp(15px,2.1vw,32px);align-items:center}.nav>a{font-size:.86rem;font-weight:650;color:#40516b;padding-block:25px;white-space:nowrap}.nav>a:hover,.nav>a[aria-current]{color:var(--blue)}.nav>a[aria-current]{box-shadow:inset 0 -2px var(--bright)}.nav-tools{display:flex;align-items:center;gap:15px}.langs{display:flex;align-items:center;gap:3px;background:#f1f5fa;border:1px solid #e3ebf6;border-radius:7px;padding:3px}.langs a,.langs span{display:grid;place-items:center;min-width:29px;min-height:30px;font-size:11px;letter-spacing:.035em;font-weight:800;border-radius:4px;color:#40516b}.langs a:hover{background:#e2edfb}.langs span{color:var(--blue);background:#fff;box-shadow:0 1px 4px #16294b14}.toggle{display:none;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);width:42px;height:42px;place-items:center;padding:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 18px;border:1px solid transparent;border-radius:7px;font-weight:720;font-size:.91rem;line-height:1.3;background:var(--blue);color:white;transition:background .18s,border-color .18s,transform .18s;white-space:normal}.button:hover{background:#064bb7;transform:translateY(-2px)}.button svg,.text-link svg{width:17px;height:17px;flex:none}.button.small{min-height:38px;padding:8px 13px;font-size:.8rem;white-space:nowrap}.button.secondary{background:white;border-color:#c8d9ef;color:var(--blue)}.button.secondary:hover{background:#ecf5ff}.button:disabled{background:#e1e9f3;color:#51637b;cursor:default;transform:none}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero,.page-hero,.contact-band,.feature{color:white;background:#08172e}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 55%,#112e57 0,transparent 52%),linear-gradient(112deg,#08152a,#0a1c37 69%,#08172e);isolation:isolate}.hero::before,.contact-band::before,.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#5187c312 1px,transparent 1px),linear-gradient(90deg,#5187c312 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 28%,black)}.hero-grid{position:relative;display:grid;grid-template-columns:.97fr 1.03fr;align-items:center;min-height:555px}.hero-content{padding:69px 0 75px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;letter-spacing:.16em;font-weight:820;text-transform:uppercase;color:#0759c9;line-height:1.5}.eyebrow::before{content:"";width:16px;height:1px;background:currentColor;flex:none}.hero .eyebrow,.page-hero .eyebrow,.contact-band .eyebrow,.feature .eyebrow{color:#84d8ff}.hero h1{font-size:clamp(3.05rem,5.05vw,5rem);line-height:1.01;margin-top:21px;letter-spacing:-.066em}.hero h1 em{font-style:normal;color:#73ceff;background:linear-gradient(105deg,#66b1ff,#7fe6ff 78%);background-clip:text;-webkit-text-fill-color:transparent}.hero .intro{font-size:clamp(1.04rem,1.6vw,1.27rem);font-weight:610;color:#ebf4ff;margin-top:24px}.hero .support{font-size:1rem;color:#b9cce5;margin-top:8px;max-width:48ch}.hero .actions{margin-top:29px}.hero .button,.contact-band .button{background:#1164df}.hero .button:hover,.contact-band .button:hover{background:#0756c6}.hero .button.secondary{background:#101f39;color:#f4f8ff;border-color:#577497}.hero .button.secondary:hover{background:#173354}.hero-visual{position:relative;align-self:stretch;display:grid;place-items:center;min-width:0;margin-right:-25px}.hero-visual img{width:100%;max-width:650px;filter:drop-shadow(0 22px 28px #02081866)}.viz-label{position:absolute;right:25px;bottom:46px;color:#9fbce2;font:600 .65rem/1.4 ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.viz-label::before{content:"";width:6px;height:6px;border-radius:50%;background:#65d9ff;box-shadow:0 0 14px #32aaff}
.strip{background:#0c203d;color:#cedcf1;border-top:1px solid #244369;border-bottom:1px solid #244369}.strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.strip a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;font-size:.8rem;font-weight:650;padding:10px;text-align:center}.strip a+a{border-left:1px solid #294463}.strip a:hover{background:#142f53;color:white}.strip svg{width:17px;height:17px;color:#72caff;flex:none}
.section{padding:85px 0}.section.alt{background:var(--ice);border-block:1px solid #e5edf7}.section.compact{padding:60px 0}.heading{margin-bottom:32px}.heading.center{text-align:center;max-width:730px;margin-inline:auto}.heading h2,.feature h2,.contact-band h2{font-size:clamp(2rem,4vw,3.35rem);margin-top:11px}.heading p{color:var(--muted);max-width:65ch;margin-top:13px}.heading.center p{margin-inline:auto}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:26px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 13px #102d5707;transition:border-color .18s,box-shadow .18s,transform .18s}.card:hover{border-color:#a9c8ee;box-shadow:var(--shadow);transform:translateY(-3px)}.iconbox{width:45px;height:45px;border:1px solid #d6e8ff;border-radius:9px;background:#edf5ff;display:grid;place-items:center;color:var(--blue);margin-bottom:20px}.iconbox svg{width:23px;height:23px}.index{position:absolute;top:30px;right:25px;color:#52739b;font:650 .69rem/1 ui-monospace,monospace;letter-spacing:.13em}.card h3{font-size:1.35rem;letter-spacing:-.03em}.card p{color:var(--muted);margin-top:9px;font-size:.94rem}.text-link{color:var(--blue);font-weight:740;display:inline-flex;align-items:center;gap:8px;font-size:.89rem}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.card .text-link{margin-top:auto;padding-top:18px}
.split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,6vw,80px);align-items:start}.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.principle{padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.principle svg{color:var(--blue);width:21px;height:21px;margin-bottom:12px}.principle h3{font-size:1.02rem;letter-spacing:-.025em}.principle p{color:var(--muted);font-size:.9rem;margin-top:6px}
.feature{background:radial-gradient(ellipse at right,#143961,#0a1b34 72%);border-radius:18px;padding:clamp(24px,5vw,65px);align-items:center}.feature p,.contact-band p{color:#c1d4ec;margin-top:14px}.feature .text-link{color:#8bdcff;margin-top:21px}.pipeline{display:grid;gap:10px}.pipeline li{display:flex;align-items:center;gap:12px;border:1px solid #3c618a;background:#112b4b;border-radius:9px;padding:12px;color:#e3f1ff;font-size:.88rem}.pipeline svg{width:21px;height:21px;color:#7ad9ff;flex:none}.contact-band,.page-hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 87% 50%,#163e6c,transparent 63%),#091b35}.contact-band .wrap,.page-hero .wrap{position:relative}.contact-band .wrap{padding-block:53px;display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-band p{max-width:61ch}.contact-band .button{flex:none}
.footer{background:#f7faff;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;padding-block:48px 36px}.footer p,.footer li,.foot-bottom{font-size:.85rem;color:var(--muted)}.footer p{margin-top:13px}.footer h2{font-size:.9rem;letter-spacing:0;margin-bottom:12px}.footer ul{display:grid;gap:9px}.footer li a:hover,.foot-bottom a:hover{color:var(--blue);text-decoration:underline}.foot-bottom{padding-block:17px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.page-hero .wrap{padding-block:58px 64px}.page-hero h1{font-size:clamp(2.75rem,6vw,5rem);margin-top:13px;max-width:17ch}.page-hero p{color:#c5d7ee;margin-top:14px;font-size:1.08rem;max-width:65ch}.crumb{display:flex;gap:8px;align-items:center;color:#c4d5ed;font-size:.78rem;margin-bottom:24px}.crumb a:hover{text-decoration:underline}.crumb span[aria-current]{color:#fff}
.jumps{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:34px}.jumps a{padding:8px 12px;border:1px solid #cfdef0;border-radius:6px;color:var(--blue);font-size:.86rem;font-weight:680;background:#f7faff}.jumps a:hover{background:#e8f3ff}.stack{display:grid;gap:25px}.panel{border:1px solid var(--line);border-radius:13px;background:white;padding:clamp(20px,4vw,36px);box-shadow:0 3px 13px #102d5708;scroll-margin-top:100px}.panel h2{font-size:clamp(1.53rem,3vw,2.2rem)}.panel>p{color:var(--muted);margin-top:10px}.panel .actions{margin-top:24px}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin-top:21px}.check-list li{display:flex;gap:9px;align-items:flex-start;line-height:1.45;font-size:.95rem}.check-list svg{width:18px;height:18px;flex:none;color:var(--blue);margin-top:2px}.note{border:1px solid #cfe2fb;border-left:3px solid #2674db;background:#eff6ff;padding:15px 17px;border-radius:7px;color:#284567;font-size:.93rem}.note p+p{margin-top:7px}.panel .note{margin-top:23px}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.price-table{width:100%;border-collapse:collapse;margin-top:17px;font-size:.89rem;line-height:1.4;text-align:left}.price-table th,.price-table td{border-bottom:1px solid #e2ebf5;padding:11px 0;vertical-align:top}.price-table thead th{color:var(--muted);font-size:.76rem}.price-table tbody th{font-weight:550;padding-right:11px}.price-table td,.price-table thead th:last-child{text-align:right}.price-table td{color:#103c78;font-weight:750;font-variant-numeric:tabular-nums}.price-period{display:block;color:var(--muted);font-size:.75rem;font-weight:550;margin-top:2px}
.pill{display:inline-flex;background:#eaf3ff;border:1px solid #cfe2fc;border-radius:20px;color:#155bb7;padding:5px 10px;font-size:.73rem;font-weight:760;margin-bottom:12px}.project-visual{border-radius:12px;background:#0b1d36;border:1px solid #254569;padding:19px;display:grid;gap:11px;color:#e1efff}.project-title{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:700;border-bottom:1px solid #305376;padding-bottom:12px}.project-title svg{width:20px;height:20px;color:#75d6ff}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.module-grid li{background:#142d50;border:1px solid #31567b;border-radius:7px;padding:12px;font-size:.81rem;display:grid;gap:8px;overflow-wrap:anywhere}.module-grid svg{width:20px;height:20px;color:#83dfff}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:24px;align-items:start}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:23px}.field{display:grid;gap:6px;align-content:start;min-width:0}.field.full{grid-column:1/-1}label{font-weight:680;font-size:.89rem}.optional{font-size:.77rem;font-weight:500;color:var(--muted)}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #bfcee1;border-radius:7px;color:var(--ink);background:#fbfdff;padding:10px 11px;min-height:44px}textarea{min-height:125px;resize:vertical}.checkbox{display:flex;gap:9px;align-items:flex-start;margin-top:16px}.checkbox input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--blue);flex:none}.checkbox label{line-height:1.5;font-weight:540}.inline-link{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.form-status{margin-top:20px}.aside-list{display:grid;gap:13px;margin-top:15px}.aside-list li{border-top:1px solid var(--line);padding-top:12px;font-size:.88rem;color:var(--muted)}.legal{max-width:830px}.legal h2{font-size:1.38rem;margin-top:25px}.legal p{margin-top:10px;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.hero-content{animation:enter .45s ease-out both}.hero-visual img{animation:enter .6s .05s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1120px){.wrap{width:calc(100% - 64px)}.nav-shell{gap:15px}.nav{gap:17px}.nav-tools{gap:9px}.nav>a{font-size:.81rem}.hero-grid{min-height:515px}.hero-visual{margin-right:-14px}}
@media(max-width:940px){.nav-shell{min-height:66px}.toggle{display:grid}.nav-tools{margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:white;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:6px 32px 12px}.nav.is-open{display:flex}.nav>a{padding:13px 5px;font-size:.95rem}.nav>a[aria-current]{box-shadow:none}.hero-grid{min-height:470px}.viz-label{bottom:28px}.section{padding:66px 0}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.nav{padding-inline:20px}.hero-grid,.split,.contact-grid,.pricing-grid{grid-template-columns:minmax(0,1fr)}.hero-content{padding:48px 0 18px}.hero h1{font-size:clamp(3rem,10vw,4.5rem)}.hero-visual{margin:-10px auto 4px;width:min(100%,460px);aspect-ratio:1.45}.hero-visual img{width:min(100%,420px);margin-top:-12px}.viz-label{right:0;bottom:16px;font-size:.56rem}.cards{grid-template-columns:1fr;gap:12px}.section{padding:52px 0}.section.compact{padding:42px 0}.heading{margin-bottom:24px}.contact-band .wrap{align-items:flex-start;flex-direction:column;padding-block:37px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.page-hero .wrap{padding-block:40px 45px}.card{padding:21px}}
@media(max-width:420px){.nav-tools .button{display:none}.hero-content{padding-top:39px}.strip a{font-size:.67rem;padding-inline:4px;flex-direction:column;gap:4px}.check-list,.field-grid{grid-template-columns:1fr}.principles{gap:8px}.principle{padding:12px}.price-table{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#main,#inquiry-form{scroll-margin-top:92px}
@media(max-width:420px){.brand img{width:153px}}
@media(prefers-reduced-motion:no-preference){.arrived{animation:enter .42s ease-out}}
.hero-visual img{height:auto}
@media(max-width:420px){.hero h1{font-size:clamp(2.28rem,11.5vw,3rem)}.hero .button{padding-inline:12px}.hero .actions{gap:8px}.hero-visual{aspect-ratio:1.3}.viz-label{bottom:8px}}

/* Enterprise palette and V2 page components. */
:root {
  --navy: #0B1D3A;
  --bright: #0F6EFF;
  --cyan: #00C2FF;
  --ice: #F7FAFF;
}
.header { background: #fffffffa; }
.hero {
  background: radial-gradient(ellipse at 76% 54%, #124780 0%, transparent 59%),
              linear-gradient(118deg, #071528, var(--navy) 56%, #08192f);
}
.hero-glow {
  position: absolute;
  pointer-events: none;
  inset: 0;
  background: radial-gradient(ellipse at 76% 48%, #00c2ff36, transparent 45%);
  opacity: .55;
}
.hero h1 em { background-image: linear-gradient(104deg, #7dbaff 3%, #55ddff 78%); }
.hero .button:not(.secondary), .contact-band .button {
  background: linear-gradient(112deg, #0758cd, #075dcf);
  box-shadow: 0 6px 24px #0f6eff30;
}
.hero .button:not(.secondary):hover, .contact-band .button:hover {
  background: #064cb3;
}
.button { border-radius: 9px; }
.card, .panel { border-radius: 16px; }
.iconbox { background: linear-gradient(145deg, #f7fbff, #e5f1ff); }
.showcase { align-items: center; }
.showcase .project-visual {
  padding: clamp(18px, 4vw, 34px);
  background: radial-gradient(ellipse at top right, #164a78, transparent 78%), var(--navy);
  box-shadow: 0 18px 38px #0b1d3a24;
}
.showcase .module-grid li { min-height: 77px; }
.workflow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.workflow li {
  padding: clamp(16px, 2.5vw, 25px);
  background: linear-gradient(150deg, #fff, var(--ice));
  border: 1px solid var(--line);
  border-radius: 13px;
}
.step-number {
  display: inline-block;
  color: var(--blue);
  border-bottom: 2px solid var(--cyan);
  font: 700 .82rem/1.4 ui-monospace, monospace;
  margin-bottom: 12px;
}
.workflow h3 { font-size: 1.08rem; letter-spacing: -.025em; }
.workflow p { color: var(--muted); font-size: .89rem; margin-top: 6px; }
.service-workflow { margin-top: 29px; }
.service-workflow > h3 { font-size: 1.2rem; margin-bottom: 14px; }
.price-table tbody tr:hover { background: var(--ice); }
.price-table thead th { border-bottom-color: #b8cce5; }
.form-help { color: var(--muted); font-size: .85rem; margin-top: 14px; }
.form-status[data-state="error"] { border-color: #c44d5b; background: #fff2f3; color: #862936; }
.form-status[data-state="success"] { border-color: #328365; background: #effaf4; color: #1d5943; }
#quote-verification { margin-top: 16px; min-width: 0; }
.legal-details { margin: 16px 0 32px; }
.legal-details > div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.legal-details dt { font-weight: 680; }
.legal-details dd { color: var(--muted); margin: 0; overflow-wrap: anywhere; }
.legal .actions { margin-top: 24px; }
@media (max-width: 740px) { .workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .workflow, .legal-details > div { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: no-preference) {
  .hero-glow { animation: network-light 4s ease-out both; }
  @keyframes network-light {
    0% { opacity: .1; transform: translate(5%, -4%); }
    100% { opacity: .55; transform: translate(0, 0); }
  }
}

/* V3 interaction states use the existing NEDRIX palette. */
.viz-label {
  border: 1px solid #76baff63;
  border-radius: 7px;
  padding: 8px 12px;
  min-height: 34px;
  background: #0b1d3ae8;
  z-index: 2;
}
.viz-label:hover, .viz-label[aria-pressed="true"] {
  color: #fff;
  border-color: var(--cyan);
}
.viz-radar {
  position: absolute;
  width: min(60%, 360px);
  aspect-ratio: 1;
  border: 1px solid #35bdff65;
  border-radius: 50%;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%) rotateX(58deg);
  pointer-events: none;
  opacity: 0;
  box-shadow: inset 0 0 42px #00c2ff2b, 0 0 36px #00c2ff38;
}
.viz-active .viz-radar { opacity: 1; }
.viz-active img { filter: drop-shadow(0 15px 25px #00a9f943); }
.price-table tbody tr:nth-child(even) { background: #f7faff; }
.price-table tbody tr:hover { background: #eef5ff; }
.form-spinner {
  display: none;
  width: 16px;
  height: 16px;
  flex: none;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
}
[data-loading="true"] .form-spinner { display: block; }
[data-loading="true"] > svg { display: none; }
@media (max-width: 940px) {
  .nav { max-height: calc(100dvh - 66px); overflow-y: auto; }
  .nav>a { min-height: 46px; }
}
@media (prefers-reduced-motion: no-preference) {
  .viz-radar { transition: opacity .26s ease; }
  .hero-visual img { transition: filter .26s ease; }
  .form-spinner { animation: form-spin .8s linear infinite; }
  @keyframes form-spin { to { transform: rotate(360deg); } }
}
.card::after {
  content: "";
  position: absolute;
  inset: 0 24px auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, #0f6eff65, #00c2ff65, transparent);
  pointer-events: none;
}

.form-honeypot { display: none !important; }

.price-description{display:block;color:var(--muted);font-size:.78rem;font-weight:400;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}
