:root {
  --navy: #071329;
  --navy-2: #0e1d37;
  --navy-3: #132542;
  --navy-4: #183054;
  --canvas: #f4f7fb;
  --surface: #ffffff;
  --text: #0b1425;
  --text-2: #4d5c72;
  --text-3: #718096;
  --inverse: #f7faff;
  --inverse-2: #9eacc2;
  --accent: #4f5ff7;
  --accent-2: #7a83ff;
  --accent-soft: #e8ebff;
  --border: #d6deea;
  --border-dark: #263755;
  --border-strong: #aab6c8;
  --success: #168765;
  --shell: 1248px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--navy); }
body { margin: 0; min-width: 1120px; color: var(--text); background: var(--canvas); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
h1,h2,h3,p { margin: 0; }
.shell { width: min(var(--shell), calc(100% - 96px)); margin: 0 auto; }

/* shared */
.section { padding: 118px 0; }
.section--light { background: var(--canvas); }
.section--surface { background: var(--surface); }
.section--dark { background: var(--navy); color: var(--inverse); }
.section-label, .eyebrow { color: var(--accent); font-size: 11px; line-height: 18px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.eyebrow { color: var(--accent-2); }
.section-heading { margin-bottom: 58px; }
.section-heading h2 { margin-top: 15px; max-width: 870px; font-size: 48px; line-height: 1.1; letter-spacing: -1.7px; font-weight: 650; }
.section-heading > p:not(.section-label), .section-heading--wide > p:last-child { color: var(--text-2); font-size: 16px; line-height: 1.72; }
.section-heading--wide > p:last-child { max-width: 720px; margin-top: 22px; }
.section-heading--split { display: grid; grid-template-columns: minmax(0, 780px) minmax(260px, 1fr); gap: 72px; align-items: end; }
.section-heading--split > p { padding-bottom: 5px; }
.section-heading--inverse h2 { color: var(--inverse); }
.section-heading--inverse > p { color: var(--inverse-2) !important; }
.section-heading--inverse .section-label { color: var(--accent-2); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 0 20px; border: 1px solid transparent; border-radius: 10px; font-size: 13px; font-weight: 650; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--accent); color: white; }
.button--primary:hover { background: #6471ff; }
.button--small { min-height: 44px; padding-inline: 17px; font-size: 12px; }
.button--ghost { background: rgba(255,255,255,.035); color: var(--inverse); border-color: var(--border-dark); }
.button--ghost:hover { background: rgba(255,255,255,.07); border-color: #3a4c6d; }
.text-link { color: var(--accent); font-size: 13px; font-weight: 650; }
.text-link span { margin-left: 8px; }
.standalone-link { display: inline-flex; margin-top: 34px; }

/* logo + header */
.brand { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.brand-core { color: var(--text); font-size: 24px; font-weight: 650; letter-spacing: -.9px; }
.brand-core--inverse { color: var(--inverse); }
.brand-systems { color: var(--text-3); font-size: 14px; font-weight: 550; }
.brand-systems--inverse { color: var(--inverse-2); }
.brand-mark { width: 25px; height: 25px; overflow: visible; }
.brand-mark path { fill: none; stroke: var(--accent-2); stroke-width: 2.15; stroke-linecap: round; }
.site-header { height: 88px; display: grid; grid-template-columns: 220px 1fr 190px; align-items: center; gap: 24px; position: relative; z-index: 50; }
.site-header > .button { justify-self: end; }
.site-nav { display: flex; align-items: stretch; justify-content: center; gap: 28px; height: 88px; }
.site-nav > a, .nav-cluster > a { display: inline-flex; align-items: center; gap: 5px; position: relative; color: var(--text-2); font-size: 12.5px; font-weight: 550; transition: color .18s ease; white-space: nowrap; }
.site-header--inverse .site-nav > a, .site-header--inverse .nav-cluster > a { color: var(--inverse-2); }
.site-nav > a::after, .nav-cluster > a::after { content:""; position:absolute; left:0; right:0; bottom:20px; height:1px; background:var(--accent-2); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.site-nav > a:hover, .nav-cluster:hover > a, .nav-cluster:focus-within > a { color: var(--inverse); }
.site-nav > a:hover::after, .nav-cluster:hover > a::after, .nav-cluster:focus-within > a::after { transform: scaleX(1); }
.nav-cluster { display: flex; align-items: stretch; position: relative; }
.nav-chevron { font-size: 12px; opacity: .6; transform: translateY(-1px); }
.mega-menu { position: absolute; top: 76px; left: 50%; width: 690px; padding: 18px; border: 1px solid var(--border-dark); border-radius: 16px; background: rgba(7,19,41,.985); box-shadow: 0 28px 70px rgba(0,0,0,.34); opacity: 0; visibility: hidden; transform: translate(-50%, 10px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.nav-cluster:hover .mega-menu, .nav-cluster:focus-within .mega-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.mega-menu__heading { display:flex; align-items:center; justify-content:space-between; padding: 5px 6px 15px; border-bottom:1px solid var(--border-dark); }
.mega-menu__heading span { color:var(--inverse-2); font-size:9px; font-weight:700; letter-spacing:1.2px; }
.mega-menu__heading a { color:var(--accent-2); font-size:11px; font-weight:650; }
.mega-menu__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; padding-top:12px; }
.mega-menu__item { min-height:74px; border:1px solid transparent; border-radius:10px; padding:12px 38px 12px 13px; position:relative; display:flex; flex-direction:column; justify-content:center; gap:5px; transition:background .18s,border-color .18s; }
.mega-menu__item:hover { background:var(--navy-2); border-color:var(--border-dark); }
.mega-menu__item span { color:var(--accent-2); font-size:8.5px; font-weight:700; letter-spacing:.9px; }
.mega-menu__item strong { color:var(--inverse); font-size:12.5px; font-weight:600; }
.mega-menu__item b { position:absolute; right:13px; top:26px; color:var(--inverse-2); font-size:12px; }

/* home hero */
.hero { min-height: 900px; background:
  radial-gradient(circle at 68% 40%, rgba(79,95,247,.12), transparent 32%),
  radial-gradient(circle at 88% 8%, rgba(122,131,255,.08), transparent 22%),
  var(--navy); color: var(--inverse); overflow:hidden; position:relative; }
.hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.19; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.hero__body { min-height: 790px; display: grid; grid-template-columns: minmax(0, 690px) minmax(480px, 1fr); gap: 62px; align-items: center; position:relative; z-index:2; padding-bottom:52px; }
.hero__copy { padding-top: 4px; }
.hero__copy h1 { max-width: 720px; margin-top: 26px; font-size: 66px; line-height: 1.02; letter-spacing: -2.6px; font-weight: 650; }
.hero__lead { max-width: 650px; margin-top: 28px; color: #b3bfd1; font-size: 18px; line-height: 1.67; }
.hero__actions { display: flex; gap: 12px; margin-top: 34px; }
.hero__proof { display: flex; gap: 25px; flex-wrap: wrap; margin-top: 38px; color: var(--inverse-2); font-size: 10.5px; font-weight: 600; }
.hero__proof span { display: inline-flex; align-items: center; gap: 8px; }
.hero__proof i { width: 6px; height: 6px; border-radius: 50%; background: var(--success); box-shadow: 0 0 10px rgba(22,135,101,.58); }

/* signature 1: interactive architecture */
.hero-architecture { height: 618px; border:1px solid var(--border-dark); border-radius:22px; background:linear-gradient(180deg,rgba(14,29,55,.93),rgba(7,19,41,.98)); box-shadow:0 30px 80px rgba(0,0,0,.28); padding:22px; position:relative; overflow:hidden; transform:translate3d(calc(var(--mx,0px) * .15),calc(var(--my,0px) * .15),0); transition:transform .12s ease-out; }
.hero-architecture::before { content:""; position:absolute; width:380px; height:380px; left:50%; top:180px; border-radius:50%; background:radial-gradient(circle,rgba(79,95,247,.18),transparent 67%); transform:translate(calc(-50% + var(--mx,0px)),calc(-50% + var(--my,0px))); filter:blur(3px); }
.hero-architecture__topline { height:32px; display:flex; justify-content:space-between; color:var(--inverse-2); font-size:8.5px; font-weight:700; letter-spacing:1.2px; position:relative; z-index:2; }
.hero-architecture__stage { height:372px; position:relative; }
.hero-architecture__links { position:absolute; inset:6px 0 auto 0; width:100%; height:350px; overflow:visible; }
.hero-architecture__links path { fill:none; stroke:#314564; stroke-width:1; stroke-dasharray:4 7; }
.flow-dot { fill:var(--accent-2); filter:drop-shadow(0 0 8px rgba(122,131,255,.9)); }
.flow-dot--1 { animation:flowTL 3.7s linear infinite; }.flow-dot--2 { animation:flowTR 4.3s linear infinite .6s; }.flow-dot--3 { animation:flowBL 4.1s linear infinite 1.2s; }.flow-dot--4 { animation:flowBR 3.4s linear infinite 1.8s; }
@keyframes flowTL { 0%{transform:translate(0,0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(-165px,-108px);opacity:0} }
@keyframes flowTR { 0%{transform:translate(0,0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(165px,-108px);opacity:0} }
@keyframes flowBL { 0%{transform:translate(0,0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(-165px,108px);opacity:0} }
@keyframes flowBR { 0%{transform:translate(0,0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(165px,108px);opacity:0} }
.core-orbit { position:absolute; left:50%; top:50%; border-radius:50%; border:1px dashed rgba(122,131,255,.34); transform:translate(-50%,-50%); }
.core-orbit--one { width:178px;height:178px; animation:spin 25s linear infinite; }.core-orbit--two { width:242px;height:242px;border-color:rgba(122,131,255,.13);animation:spin 42s linear reverse infinite; }
@keyframes spin { to{transform:translate(-50%,-50%) rotate(360deg)} }
.core-center { position:absolute; left:50%; top:50%; width:98px; height:98px; transform:translate(-50%,-50%); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #445d88; background:#0a1831; box-shadow:0 0 40px rgba(79,95,247,.19); z-index:4; }
.core-center__glow { position:absolute; width:72px;height:72px;border-radius:50%; background:radial-gradient(circle,rgba(122,131,255,.9) 0,rgba(79,95,247,.55) 34%,rgba(79,95,247,0) 72%); filter:blur(5px); animation:breathe 3.2s ease-in-out infinite; }
@keyframes breathe { 50%{transform:scale(1.16);opacity:.72} }
.core-center svg { width:28px;height:28px;position:relative;z-index:2; }.core-center svg path { fill:none;stroke:white;stroke-width:2;stroke-linecap:round; }
.core-center span { margin-top:7px;color:var(--inverse-2);font-size:7px;font-weight:700;letter-spacing:1.4px;position:relative;z-index:2; }
.architecture-node { position:absolute; width:126px; min-height:66px; border:1px solid var(--border-dark); border-radius:10px; background:rgba(14,29,55,.92); text-align:left; padding:12px 13px; cursor:pointer; transition:transform .2s,border-color .2s,background .2s,box-shadow .2s; z-index:5; }
.architecture-node:hover,.architecture-node.is-active { transform:translateY(-3px); border-color:#526ba0; background:#13294a; box-shadow:0 12px 28px rgba(0,0,0,.18); }
.architecture-node small { display:block;color:var(--accent-2);font-size:7px;font-weight:800;letter-spacing:1.2px; }.architecture-node strong { display:block;margin-top:5px;color:var(--inverse);font-size:12px;font-weight:650; }.architecture-node i { position:absolute;right:10px;top:11px;width:6px;height:6px;border-radius:50%;background:#60718c; }.architecture-node.is-active i { background:var(--success);box-shadow:0 0 9px rgba(22,135,101,.7); }
.architecture-node--data { left:16px;top:20px; }.architecture-node--ai { right:16px;top:20px; }.architecture-node--process { left:16px;bottom:16px; }.architecture-node--systems { right:16px;bottom:16px; }
.architecture-inspector { min-height:110px; border-top:1px solid var(--border-dark); border-bottom:1px solid var(--border-dark); padding:14px 0; display:grid; grid-template-columns:116px 1fr 1fr 28px; gap:16px; align-items:center; position:relative;z-index:4; }
.architecture-inspector > div:first-child span { display:block;color:var(--accent-2);font-size:7px;font-weight:800;letter-spacing:1.1px; }.architecture-inspector > div:first-child strong { display:block;margin-top:6px;font-size:14px; }.architecture-inspector p { color:var(--inverse-2);font-size:10.5px;line-height:1.5; }
.architecture-inspector__tags { display:flex;flex-wrap:wrap;gap:5px; }.architecture-inspector__tags span { border:1px solid var(--border-dark);border-radius:999px;padding:5px 7px;color:#b9c4d5;font-size:7.5px; }
.architecture-inspector > a { color:var(--accent-2);font-size:18px;text-align:center; }
.architecture-status { min-height:42px; display:flex;align-items:center;gap:10px;color:var(--inverse-2);font-size:7.5px;font-weight:700;letter-spacing:.8px;position:relative;z-index:4; }.architecture-status__dot { width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 10px rgba(22,135,101,.6); }.architecture-status span:last-child { margin-left:auto; }

.signal-strip { background:#0a1931; border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);color:var(--inverse-2); }
.signal-strip__inner { height:78px;display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:1.3px; }.signal-strip b { color:#53627a;font-size:15px;font-weight:400; }

/* tasks/services/industries */
.task-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }.task-card { min-height:282px;border:1px solid var(--border);border-radius:14px;padding:22px;background:var(--surface);position:relative;overflow:hidden;transition:transform .2s,border-color .2s; }.task-card:first-child{background:var(--accent-soft)}.task-card:hover{transform:translateY(-4px);border-color:#bac7db}.card-index{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.9px}.task-card h3{margin-top:54px;font-size:21px;letter-spacing:-.35px}.task-card p{margin-top:16px;color:var(--text-2);font-size:13.5px;line-height:1.67}.card-line{position:absolute;left:22px;bottom:22px;width:46px;height:3px;border-radius:2px;background:var(--border-strong)}.task-card:first-child .card-line{width:88px;background:var(--accent)}
.service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }.service-grid--directory{padding-top:10px}.service-card { min-height:390px;border:1px solid var(--border);border-radius:14px;padding:24px;background:var(--canvas);position:relative;display:flex;flex-direction:column;transition:background .18s,transform .18s,border-color .18s; }.service-card:hover{background:var(--surface);transform:translateY(-4px);border-color:#b7c5dc}.service-card__code{color:var(--text-3);font-size:9px;font-weight:800;letter-spacing:1.1px}.service-card__glyph{width:65px;height:65px;margin-top:28px;border:1px solid var(--border);border-radius:12px;position:relative;display:grid;place-items:center}.service-card__glyph i{position:absolute;width:30px;height:1px;background:var(--accent)}.service-card__glyph i:nth-child(2){transform:rotate(60deg)}.service-card__glyph i:nth-child(3){transform:rotate(-60deg)}.service-card h3{margin-top:28px;font-size:22px;letter-spacing:-.45px}.service-card p{margin-top:13px;color:var(--text-2);font-size:13.5px;line-height:1.65}.service-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.service-card__tags span{border:1px solid var(--border);border-radius:999px;padding:5px 8px;color:var(--text-3);font-size:8.5px;font-weight:650}.service-card>b{margin-top:auto;padding-top:22px;color:var(--accent);font-size:11.5px}.service-card>b span{margin-left:6px}
.industry-list{border-top:1px solid var(--border-dark)}.industry-row{min-height:114px;border-bottom:1px solid var(--border-dark);display:grid;grid-template-columns:70px 290px 1fr 40px;gap:34px;align-items:center;transition:background .18s,padding .18s}.industry-row:hover{background:rgba(14,29,55,.5);padding:0 16px}.industry-row__number{color:var(--accent-2);font-size:9px;font-weight:800;letter-spacing:1px}.industry-row h3{font-size:20px;letter-spacing:-.35px}.industry-row p{max-width:660px;color:var(--inverse-2);font-size:13px;line-height:1.62}.industry-row__arrow{color:var(--inverse-2)}

/* signature 2: scroll production */
.production-story { background:var(--canvas);padding:130px 0; }
.production-story__grid { display:grid;grid-template-columns:minmax(560px,1fr) minmax(430px,.78fr);gap:86px;align-items:start; }
.production-visual-wrap { position:sticky;top:48px;height:720px;display:flex;align-items:center; }
.production-visual { width:100%;height:606px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 24px 70px rgba(19,37,66,.08);overflow:hidden; }
.production-visual__header { height:58px;padding:0 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;color:var(--text-3);font-size:8px;font-weight:800;letter-spacing:1.2px }.production-visual__header b{color:var(--accent)}
.production-canvas { height:492px;position:relative;overflow:hidden;background:linear-gradient(180deg,#f9fbfe,#f2f6fb); }.production-grid{position:absolute;inset:0;background-image:linear-gradient(#dfe6ef 1px,transparent 1px),linear-gradient(90deg,#dfe6ef 1px,transparent 1px);background-size:38px 38px;opacity:.5;mask-image:radial-gradient(circle at center,black,transparent 78%)}
.production-core { position:absolute;left:50%;top:50%;width:132px;height:88px;transform:translate(-50%,-50%);border:1px solid #9daafc;border-radius:14px;background:var(--accent-soft);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:4;box-shadow:0 10px 28px rgba(79,95,247,.12) }.production-core span{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.9px}.production-core b{margin-top:8px;font-size:14px}
.production-route{position:absolute;background:#b8c5d7;z-index:1}.production-route--a{left:16%;right:16%;top:50%;height:1px}.production-route--b{top:20%;bottom:20%;left:50%;width:1px}.production-route--c{left:25%;right:25%;top:28%;height:44%;border:1px dashed #c8d3e2;background:transparent;border-radius:50%}
.production-node { position:absolute;min-width:104px;min-height:44px;border:1px solid var(--border);border-radius:9px;background:white;padding:11px 12px 10px 25px;color:var(--text-2);font-size:8px;font-weight:800;letter-spacing:.7px;z-index:3;animation:nodeIn .35s ease both }.production-node i{position:absolute;left:11px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--success)}
@keyframes nodeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.production-node--1{left:7%;top:12%}.production-node--2{right:8%;top:14%}.production-node--3{left:8%;bottom:14%}.production-node--4{right:8%;bottom:14%}.production-node--5{left:50%;bottom:6%;transform:translateX(-50%)}
.production-visual__footer{height:55px;padding:0 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:9px;color:var(--text-3);font-size:8px;font-weight:800;letter-spacing:.9px}.production-visual__footer b{margin-left:auto;color:var(--text)}.status-live{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px rgba(22,135,101,.5)}
.production-steps{padding-top:0}.section-heading--story{padding-top:70px;margin-bottom:70px}.section-heading--story h2{font-size:46px}.production-step{min-height:260px;padding:34px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:54px 1fr;gap:22px;opacity:.4;transition:opacity .3s,transform .3s}.production-step:last-child{border-bottom:1px solid var(--border)}.production-step.is-active{opacity:1;transform:translateX(7px)}.production-step>span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.production-step h3{font-size:27px;letter-spacing:-.6px}.production-step p{margin-top:15px;color:var(--text-2);font-size:14px;line-height:1.7}

/* cases */
.case-section { padding:122px 0;background:var(--surface); }.case-section--page{padding-top:110px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.case-card{min-height:390px;border:1px solid var(--border);border-radius:14px;padding:24px;background:var(--canvas);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.case-card:hover{transform:translateY(-4px);border-color:#bbc7d8}.case-card>span{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.9px}.case-card h3{margin-top:42px;font-size:22px;line-height:1.3;letter-spacing:-.45px}.case-card>p{margin-top:16px;color:var(--text-2);font-size:13px;line-height:1.65}.case-card__flow{margin-top:26px;display:grid;grid-template-columns:1fr 16px 1fr 16px 1fr;gap:6px;align-items:center}.case-card__flow>i{color:var(--text-3);font-style:normal;text-align:center}.case-card__flow>div{min-height:88px;border:1px solid var(--border);border-radius:8px;padding:9px}.case-card__flow small{display:block;color:var(--text-3);font-size:7px;font-weight:800;letter-spacing:.8px;margin-bottom:7px}.case-card__flow b{display:block;font-size:8px;line-height:1.45;margin-top:4px}.case-card>strong{margin-top:auto;padding-top:22px;color:var(--accent);font-size:11px}
.case-detail{padding:120px 0;background:var(--canvas)}.case-detail__flow{display:grid;grid-template-columns:1fr 64px 1fr 64px 1fr;gap:12px;align-items:stretch}.case-detail__flow>i{display:grid;place-items:center;color:var(--accent);font-style:normal;font-size:22px}.case-detail__flow>div{min-height:410px;border:1px solid var(--border);border-radius:16px;padding:28px;background:var(--surface)}.case-detail__flow>div.case-detail__core{background:var(--accent-soft);border-color:#cdd2ff}.case-detail__flow span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.case-detail__flow h2{margin:55px 0 28px;font-size:26px}.case-detail__flow p{padding:13px 0;border-top:1px solid var(--border);color:var(--text-2);font-size:13px}.case-detail__flow p:last-child{border-bottom:1px solid var(--border)}

/* signature 3: enterprise map */
.system-map-section{padding:128px 0;background:#09162c;color:var(--inverse);overflow:hidden}.system-map-shell{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto auto;gap:18px 22px}.system-map-tabs{display:flex;flex-direction:column;gap:8px}.system-map-tabs button{min-height:90px;border:1px solid var(--border-dark);border-radius:11px;background:transparent;text-align:left;padding:14px 16px;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}.system-map-tabs button:hover,.system-map-tabs button.is-active{background:var(--navy-2);border-color:#445a82;transform:translateX(3px)}.system-map-tabs span{display:block;color:var(--accent-2);font-size:7.5px;font-weight:800;letter-spacing:1px}.system-map-tabs strong{display:block;margin-top:7px;color:var(--inverse);font-size:12px;line-height:1.3}.system-map{height:572px;border:1px solid var(--border-dark);border-radius:16px;background:radial-gradient(circle at 50% 50%,rgba(79,95,247,.1),transparent 35%),#071329;position:relative;padding:28px;overflow:hidden}.system-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;opacity:.7}.map-layer{position:relative;z-index:3;border:1px solid var(--border-dark);border-radius:10px;padding:12px 14px;background:rgba(14,29,55,.78);transition:border-color .22s,background .22s,box-shadow .22s,transform .22s}.map-layer.is-active{border-color:#546ea1;background:#122947;box-shadow:0 0 36px rgba(79,95,247,.13);transform:scale(1.008)}.map-layer>span{display:block;color:var(--inverse-2);font-size:7px;font-weight:800;letter-spacing:1.1px;margin-bottom:10px}.map-layer>div{display:grid;gap:8px}.map-layer b{min-height:36px;border:1px solid #2f4466;border-radius:7px;background:#0d1c35;display:flex;align-items:center;justify-content:center;color:#c4cede;font-size:8px;letter-spacing:.7px}.map-layer--channels{height:100px}.map-layer--channels>div{grid-template-columns:repeat(5,1fr)}.map-layer--integration{height:92px;margin:18px 8%}.map-layer--integration>div{grid-template-columns:repeat(3,1fr)}.map-layer--intelligence{height:138px;margin:18px 3%;border-color:#374f83}.map-layer--intelligence>div{grid-template-columns:repeat(4,1fr)}.map-layer--intelligence b{min-height:60px;color:var(--inverse);background:#102444}.map-layer--foundation{height:94px;margin-top:18px}.map-layer--foundation>div{grid-template-columns:repeat(4,1fr)}.map-rail{position:absolute;z-index:1;background:#314765;opacity:.75}.map-rail--vertical{width:1px;top:30px;bottom:30px;left:50%}.map-rail--horizontal{height:1px;left:8%;right:8%}.map-rail--one{top:212px}.map-rail--two{top:371px}.map-pulse{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 12px rgba(122,131,255,.8);top:50%;animation:mapPulse 4s linear infinite}.map-pulse--one{left:10%}.map-pulse--two{left:10%;animation-delay:2s}@keyframes mapPulse{0%{left:8%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:90%;opacity:0}}
.system-map-inspector{grid-column:2;min-height:138px;border:1px solid var(--border-dark);border-radius:12px;padding:20px;background:var(--navy-2);display:grid;grid-template-columns:115px 200px 1fr;gap:20px;align-items:start}.system-map-inspector>span{color:var(--accent-2);font-size:8px;font-weight:800;letter-spacing:1px}.system-map-inspector h3{font-size:17px}.system-map-inspector p{color:var(--inverse-2);font-size:11px;line-height:1.55}.system-map-inspector>div{grid-column:2/4;display:flex;gap:6px;flex-wrap:wrap}.system-map-inspector b{border:1px solid var(--border-dark);border-radius:999px;padding:5px 8px;color:#bec9d9;font-size:7.5px}

/* page hero */
.page-hero{min-height:650px;background:radial-gradient(circle at 80% 40%,rgba(79,95,247,.12),transparent 28%),var(--navy);color:var(--inverse);overflow:hidden}.page-hero__grid{min-height:474px;display:grid;grid-template-columns:minmax(0,780px) 360px;gap:90px;align-items:center}.page-hero h1{margin-top:25px;max-width:840px;font-size:62px;line-height:1.04;letter-spacing:-2.35px;font-weight:650}.page-hero__lead{margin-top:28px;max-width:750px;color:#b0bdcf;font-size:18px;line-height:1.68}.page-hero__signal{height:300px;border:1px solid var(--border-dark);border-radius:16px;background:var(--navy-2);padding:22px;display:flex;flex-direction:column;justify-content:space-between}.page-hero__signal>span{color:var(--inverse-2);font-size:8px;font-weight:800;letter-spacing:1px}.page-hero__signal>p{color:var(--inverse-2);font-size:9px;line-height:1.5}.signal-x{width:150px;height:150px;align-self:center;position:relative;border:1px dashed #3b5180;border-radius:50%}.signal-x::before{content:"";position:absolute;inset:32px;border-radius:50%;background:radial-gradient(circle,rgba(122,131,255,.8),rgba(79,95,247,.28) 40%,transparent 70%);filter:blur(4px)}.signal-x i{position:absolute;left:50%;top:50%;width:55px;height:2px;background:var(--inverse);transform-origin:left center}.signal-x i:nth-child(1){transform:rotate(45deg)}.signal-x i:nth-child(2){transform:rotate(135deg)}.signal-x i:nth-child(3){transform:rotate(225deg)}.signal-x i:nth-child(4){transform:rotate(315deg)}.tag-rail{min-height:88px;border-top:1px solid var(--border-dark);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag-rail span{border:1px solid var(--border-dark);border-radius:999px;padding:7px 11px;color:#b8c3d4;font-size:9px;font-weight:650}

/* service / industry details */
.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.capability-card{min-height:260px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:26px}.capability-card>span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.capability-card h3{margin-top:56px;font-size:23px}.capability-card p{margin-top:15px;max-width:500px;color:var(--text-2);font-size:14px;line-height:1.7}.service-architecture{padding:125px 0;background:var(--navy);color:var(--inverse)}.service-architecture__grid{display:grid;grid-template-columns:420px 1fr;gap:92px;align-items:center}.service-architecture h2{margin-top:15px;font-size:45px;letter-spacing:-1.5px}.service-architecture p{margin-top:22px;color:var(--inverse-2);font-size:14px;line-height:1.7}.service-pipeline{display:flex;align-items:stretch;gap:10px}.service-pipeline>div{flex:1;min-height:160px;border:1px solid var(--border-dark);border-radius:11px;background:var(--navy-2);padding:16px;position:relative}.service-pipeline span{color:var(--accent-2);font-size:8px;font-weight:800}.service-pipeline strong{display:block;margin-top:58px;font-size:11px;line-height:1.35}.service-pipeline i{position:absolute;right:-14px;top:74px;color:#586b89;font-style:normal;z-index:2}.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.outcome-grid>div{min-height:155px;padding:22px;border-right:1px solid var(--border)}.outcome-grid>div:last-child{border-right:0}.outcome-grid span{color:var(--accent);font-size:9px;font-weight:800}.outcome-grid strong{display:block;margin-top:48px;font-size:15px;line-height:1.4}.scenario-list{border-top:1px solid var(--border)}.scenario-list article{min-height:180px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:70px 300px 1fr 150px;gap:32px;align-items:center}.scenario-list article>span{color:var(--accent);font-size:9px;font-weight:800}.scenario-list h3{font-size:20px}.scenario-list p{color:var(--text-2);font-size:13px;line-height:1.65}.scenario-list a{color:var(--accent);font-size:11px;font-weight:650}.industry-system{padding:120px 0;background:#09162c;color:var(--inverse)}.industry-system__map{margin-top:42px;display:grid;grid-template-columns:1fr 50px 1fr 50px 1fr 50px 1fr;gap:8px;align-items:center;position:relative}.industry-system__map>div{min-height:110px;border:1px solid var(--border-dark);border-radius:12px;background:var(--navy-2);display:grid;place-items:center;color:#c9d2e1;font-size:9px;font-weight:800;letter-spacing:.8px}.industry-system__map>span{text-align:center;color:var(--accent-2);font-size:20px;transform:rotate(-90deg)}.industry-system__map aside{grid-column:1/-1;margin-top:18px;border:1px solid #344d79;border-radius:10px;padding:16px;text-align:center;color:var(--accent-2);font-size:8px;font-weight:800;letter-spacing:1.2px}

/* insights / principles / about */
.insight-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:16px}.insight-grid--directory{grid-template-columns:repeat(3,1fr)}.insight-card{min-height:340px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:25px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.insight-card:hover{transform:translateY(-4px);border-color:#bac8dc}.insight-card--featured{background:var(--accent-soft)}.insight-card>span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.insight-card h3{margin-top:52px;font-size:22px;line-height:1.3}.insight-card p{margin-top:14px;color:var(--text-2);font-size:13.5px;line-height:1.66}.insight-card>b{margin-top:auto;padding-top:20px;color:var(--accent);font-size:11px}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.principle-grid article{min-height:250px;border:1px solid var(--border);border-radius:14px;padding:24px;background:var(--surface)}.principle-grid span{color:var(--accent);font-size:9px;font-weight:800}.principle-grid h3{margin-top:58px;font-size:17px;letter-spacing:.1px}.principle-grid p{margin-top:14px;color:var(--text-2);font-size:13px;line-height:1.65}.article{padding:120px 0;background:var(--canvas)}.article__body{width:820px;margin:0 auto}.article__body section{padding:45px 0;border-top:1px solid var(--border)}.article__body section:last-child{border-bottom:1px solid var(--border)}.article__body span{color:var(--accent);font-size:9px;font-weight:800}.article__body h2{margin-top:20px;font-size:31px;letter-spacing:-.8px}.article__body p{margin-top:18px;color:var(--text-2);font-size:16px;line-height:1.78}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.about-grid h2{margin-top:15px;font-size:46px;line-height:1.1;letter-spacing:-1.5px}.about-copy p{color:var(--text-2);font-size:15px;line-height:1.78}.about-copy p+p{margin-top:25px}.about-values{padding:40px 0 120px;background:var(--canvas)}.value-row{min-height:140px;border-top:1px solid var(--border);display:grid;grid-template-columns:70px 330px 1fr;gap:32px;align-items:center}.value-row:last-child{border-bottom:1px solid var(--border)}.value-row span{color:var(--accent);font-size:9px;font-weight:800}.value-row h3{font-size:20px}.value-row p{color:var(--text-2);font-size:13px;line-height:1.65}

/* contact and footer */
.contact-section{padding:106px 0;background:var(--accent);color:white}.section-label--inverse{color:rgba(255,255,255,.68)}.contact-section__inner{display:grid;grid-template-columns:760px 1fr;gap:86px;align-items:end}.contact-section h2{margin-top:16px;max-width:730px;font-size:50px;line-height:1.08;letter-spacing:-1.75px}.contact-section__inner>div:first-child>p:last-child{max-width:650px;margin-top:24px;color:rgba(255,255,255,.77);font-size:14px;line-height:1.7}.contact-panel{border-top:1px solid rgba(255,255,255,.3);padding-top:22px}.contact-email{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:650}.contact-panel p{margin-top:28px;color:rgba(255,255,255,.68);font-size:10.5px;line-height:1.65}.contact-page{padding:110px 0;background:var(--canvas)}.contact-page__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px}.contact-page__primary{min-height:360px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:30px;display:flex;flex-direction:column}.contact-page__primary>span,.contact-page__meta span{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:1px}.contact-page__primary>a{margin-top:90px;font-size:31px;font-weight:650;letter-spacing:-.8px}.contact-page__primary p{margin-top:auto;max-width:600px;color:var(--text-2);font-size:13px;line-height:1.7}.contact-page__meta{border-top:1px solid var(--border)}.contact-page__meta>div{min-height:110px;border-bottom:1px solid var(--border);padding:22px 0}.contact-page__meta strong{display:block;margin-top:12px;font-size:13px}
.footer{padding:72px 0 28px;background:var(--navy);color:var(--inverse)}.footer__top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:70px;padding-bottom:58px}.footer__brand p{max-width:270px;margin-top:22px;color:var(--inverse-2);font-size:12.5px;line-height:1.6}.footer__column{display:flex;flex-direction:column;gap:11px}.footer__column h3{margin-bottom:8px;color:var(--inverse-2);font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.footer__column a{color:#c4cedd;font-size:11.5px;line-height:1.45;transition:color .18s}.footer__column a:hover{color:white}.footer__bottom{min-height:72px;border-top:1px solid var(--border-dark);display:grid;grid-template-columns:1fr 2fr 1fr;gap:24px;align-items:center;color:#74839a;font-size:10px}.footer__bottom>div{display:flex;gap:28px;justify-content:center}.footer__bottom>span:last-child{text-align:right}
.legal-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.legal-layout>div{min-height:280px;border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:26px}.legal-layout span{color:var(--accent);font-size:9px;font-weight:800}.legal-layout h2{margin-top:55px;font-size:20px}.legal-layout p{margin-top:16px;color:var(--text-2);font-size:13px;line-height:1.68}
.not-found{min-height:100vh;background:var(--navy);color:var(--inverse);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:max(48px,calc((100vw - var(--shell))/2))}.not-found>span{color:var(--accent-2);font-size:10px;font-weight:800;letter-spacing:1px}.not-found h1{margin-top:28px;font-size:56px;letter-spacing:-1.8px}.not-found p{margin:18px 0 32px;color:var(--inverse-2)}

@media (max-width: 1260px) {
  .shell { width: calc(100% - 64px); }
  .site-header { grid-template-columns:190px 1fr 180px; }
  .site-nav { gap:18px; }
  .hero__body { grid-template-columns: 1.08fr .92fr; gap:40px; }
  .hero__copy h1 { font-size:58px; }
  .architecture-node { width:112px; }
  .production-story__grid { gap:58px; }
  .section-heading--split { grid-template-columns: 1.7fr 1fr; gap:54px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important;transition:none !important; }
}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px;border-radius:4px}

/* clickable multi-page preview additions */
@view-transition { navigation: auto; }
html { view-transition-name: corex-page; }
body { animation: corex-enter .28s ease-out both; }
@keyframes corex-enter { from { opacity:.35; transform:translateY(4px) } to { opacity:1; transform:none } }
a.service-card,a.industry-row,a.case-card,a.insight-card,.footer a,.site-nav a,.button { cursor:pointer; }
.page-hero .site-header { position:relative; }
.preview-mode-badge{position:fixed;right:18px;bottom:18px;z-index:100;background:#0e1d37;color:#9eacc2;border:1px solid #263755;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:700;letter-spacing:.8px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
