:root{
  --bg:#f7f9fc;
  --surface:#ffffff;
  --surface-2:#f0f4fb;
  --ink:#0d1930;
  --muted:#5e697d;
  --line:#dbe2ee;
  --line-strong:#b9c5d7;
  --blue:#3157d5;
  --blue-2:#5b75e9;
  --teal:#0a7b7a;
  --orange:#c97031;
  --violet:#7158cb;
  --green:#188463;
  --navy:#081426;
  --navy-2:#0d1d34;
  --soft-blue:#eef3ff;
  --shadow:0 24px 80px rgba(20,35,65,.10);
  --radius:18px;
  --shell:min(1240px,calc(100vw - 64px));
  --header:78px;
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,Aptos,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
p,h1,h2,h3{margin-top:0}
button,a{-webkit-tap-highlight-color:transparent}
::selection{background:#ced8ff;color:#09142b}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:20px;top:-60px;z-index:1000;background:var(--ink);color:#fff;padding:12px 16px;border-radius:6px;transition:top .2s}.skip-link:focus{top:20px}
.shell{width:var(--shell);margin:0 auto}
.section-pad{padding:112px 0}
.section-dark{background:linear-gradient(180deg,var(--navy),#0a1a2f);color:#f6f9ff}
.section-soft{background:#f0f4fa}
.eyebrow,.section-kicker{font-size:12px;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--blue);margin:0 0 20px}
.section-dark .section-kicker{color:#8ea4ff}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border:1px solid transparent;font-size:13px;font-weight:760;letter-spacing:.04em;text-transform:uppercase;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s,box-shadow .25s}
.button--primary{background:var(--ink);color:#fff;box-shadow:0 10px 30px rgba(16,34,69,.14)}
.button--primary:hover,.button--primary:focus-visible{background:var(--blue);transform:translateY(-2px);box-shadow:0 16px 40px rgba(49,87,213,.25)}
.button--ghost{border-color:rgba(255,255,255,.26);color:#fff;background:rgba(255,255,255,.03)}
.button--ghost:hover,.button--ghost:focus-visible{background:#fff;color:var(--ink);border-color:#fff}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:760;border-bottom:1px solid var(--line-strong);padding-bottom:4px;transition:color .2s,border-color .2s,transform .2s}
.text-link:hover,.text-link:focus-visible{color:var(--blue);border-color:var(--blue);transform:translateX(2px)}
:focus-visible{outline:3px solid rgba(49,87,213,.33);outline-offset:4px}
.pointer-aura{position:fixed;width:280px;height:280px;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(77,101,218,.08),transparent 67%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}
body.pointer-on .pointer-aura{opacity:1}

/* header */
.site-header{height:var(--header);position:sticky;top:0;z-index:100;background:rgba(247,249,252,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(185,197,215,.55);transition:box-shadow .25s,background .25s}
.site-header.scrolled{box-shadow:0 8px 30px rgba(22,42,77,.07);background:rgba(247,249,252,.95)}
.header-inner{height:100%;display:grid;grid-template-columns:minmax(300px,1fr) auto auto;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}
.brand img{width:44px;height:44px;transition:transform .45s var(--ease)}
.brand:hover img{transform:rotate(-7deg) scale(1.04)}
.brand-copy{display:grid;gap:2px;min-width:0}.brand-copy strong{font-size:15px;line-height:1.1}.brand-copy span{font-size:10px;color:var(--muted);white-space:nowrap}
.primary-nav{display:flex;align-items:center;gap:34px}.primary-nav a{position:relative;font-size:13px;font-weight:650;padding:28px 0}.primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:18px;height:2px;background:var(--blue);transition:right .28s var(--ease)}.primary-nav a:hover::after,.primary-nav a:focus-visible::after,.primary-nav a[aria-current="page"]::after{right:0}
.header-contact{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 19px;background:var(--ink);color:#fff;font-size:12px;font-weight:760;letter-spacing:.04em;text-transform:uppercase;transition:background .2s,transform .2s}.header-contact:hover{background:var(--blue);transform:translateY(-1px)}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;position:relative}.menu-toggle span:not(.sr-only){position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:transform .25s,top .25s}.menu-toggle span:first-child{top:17px}.menu-toggle span:nth-child(2){top:25px}.menu-toggle[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){top:21px;transform:rotate(-45deg)}
.mobile-nav{position:fixed;inset:var(--header) 0 0;background:rgba(247,249,252,.98);backdrop-filter:blur(12px);z-index:90}.mobile-nav-inner{display:grid;padding-top:34px}.mobile-nav a{font-size:34px;font-weight:700;padding:17px 0;border-bottom:1px solid var(--line)}

/* hero */
.hero--systems{min-height:calc(100svh - var(--header));padding-top:64px;background:radial-gradient(circle at 79% 25%,rgba(76,108,222,.06),transparent 33%),linear-gradient(#fafbfd,#f7f9fc)}
.hero-layout{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:64px;min-height:650px}
.hero-copy{padding-bottom:42px}.hero-copy h1{font-size:clamp(48px,5.4vw,78px);line-height:1.03;letter-spacing:-.055em;max-width:660px;margin:0 0 28px;font-weight:760}.hero-copy h1 span{color:var(--blue)}
.hero-lead{font-size:18px;line-height:1.66;color:#334057;max-width:610px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.system-stage{min-width:0;padding:24px 0 40px}.system-map{height:570px;position:relative;isolation:isolate;perspective:900px}.system-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.system-core,.system-node{position:absolute;z-index:2;border:1px solid #c8d2e2;background:rgba(255,255,255,.93);box-shadow:0 12px 35px rgba(35,49,78,.07);cursor:pointer;transition:transform .32s var(--ease),border-color .25s,box-shadow .25s,background .25s,color .25s,opacity .25s}.system-core{width:176px;height:176px;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%);background:radial-gradient(circle at 40% 32%,#172847,#091529 68%);color:#fff;border-color:#111f38;display:grid;place-content:center;text-align:center;gap:8px}.system-core strong{font-size:21px;line-height:1.08}.system-core small{font-size:10px;color:#9eb2ff}.core-bars{height:20px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.core-bars i{display:block;width:4px;background:#fff;border-radius:3px}.core-bars i:nth-child(1){height:8px}.core-bars i:nth-child(2){height:15px}.core-bars i:nth-child(3){height:20px}
.system-node{width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:8px}.system-node span{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:.08em}.system-node strong{font-size:12px;line-height:1.2;max-width:86px}.system-node:hover,.system-node:focus-visible,.system-node.active{border-color:var(--blue);box-shadow:0 18px 50px rgba(49,87,213,.16);transform:translateY(-5px) scale(1.055);background:#fff}.system-map.has-active .system-node:not(.active){opacity:.43}.system-map.has-active .system-core{box-shadow:0 0 0 10px rgba(49,87,213,.06),0 26px 65px rgba(7,22,48,.20)}
.node-people{top:0;left:50%;transform:translateX(-50%)}.node-process{right:3%;top:13%}.node-technology{right:0;top:52%}.node-execution{right:16%;bottom:2%}.node-governance{left:50%;bottom:0;transform:translateX(-50%)}.node-ai{left:13%;bottom:3%}.node-data{left:0;top:52%}.node-information{left:4%;top:13%}
.node-people:hover,.node-people:focus-visible,.node-people.active,.node-governance:hover,.node-governance:focus-visible,.node-governance.active{transform:translateX(-50%) translateY(-5px) scale(1.055)}
.system-legend{position:absolute;right:0;bottom:8px;z-index:3;display:grid;gap:7px;font-size:10px;color:var(--muted)}.system-legend span{display:flex;align-items:center;gap:8px}.system-legend i{width:26px;height:0;border-top:1px solid var(--ink)}.system-legend i.dashed{border-top-style:dashed}.system-legend i.blue{border-color:var(--blue);border-top-style:dotted;border-top-width:2px}.system-hint{text-align:center;color:var(--muted);font-size:11px;margin:-14px 0 0}
.dimension-rail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.72)}.dimension-rail-inner{min-height:98px;display:grid;grid-template-columns:210px 1fr;align-items:center;gap:30px}.dimension-rail-inner>p{font-size:11px;line-height:1.45;margin:0;color:#344158}.dimension-list{display:grid;grid-template-columns:repeat(8,1fr)}.dimension-list span{min-height:58px;border-left:1px solid var(--line);padding:8px 11px;font-size:11px;display:flex;flex-direction:column;gap:10px}.dimension-list b{font-size:10px;color:var(--blue)}

/* section headings */
.section-heading{margin-bottom:46px}.section-heading h2{font-size:clamp(34px,4vw,54px);letter-spacing:-.045em;line-height:1.06;margin:0}.section-heading--split{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end}.section-heading--split>p{font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:520px}

/* work cards */
.featured-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-card{min-height:390px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden;padding:26px;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}.case-card:hover,.case-card:focus-visible{transform:translateY(-8px);border-color:#aebbd1;box-shadow:var(--shadow)}.case-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;position:relative;z-index:2}.case-arrow{font-size:23px;transition:transform .3s var(--ease)}.case-card:hover .case-arrow{transform:translate(3px,-3px)}.case-card-copy{margin-top:auto;position:relative;z-index:2;padding-top:145px}.case-card-copy p{font-size:11px;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:11px}.case-card-copy h3{font-size:24px;line-height:1.1;letter-spacing:-.03em;margin:0 0 12px}.case-card-copy span{font-size:13px;line-height:1.5;color:var(--muted)}.case-mini-canvas{position:absolute;left:0;right:0;top:52px;width:100%;height:180px;opacity:.92}.section-action{display:flex;justify-content:flex-end;padding-top:28px}
.status{display:inline-flex;align-items:center;max-width:100%;padding:7px 9px;border-radius:4px;font-size:9px;line-height:1.15;font-weight:850;letter-spacing:.09em;text-transform:uppercase;border:1px solid currentColor;white-space:normal}.status--implemented{color:#147152;background:#edf8f3}.status--mvp{color:#5c48b4;background:#f1effd}.status--concept{color:#2f5ac3;background:#edf3ff}.status--research{color:#8b5d12;background:#faf4e8}

/* architecture stack */
.architecture-story{overflow:hidden}.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.story-copy h2{font-size:clamp(42px,4.8vw,64px);line-height:1.02;letter-spacing:-.05em;margin:0 0 24px;max-width:580px}.story-copy>p:not(.section-kicker){color:#b5c2d8;font-size:16px;line-height:1.7;margin-bottom:30px;max-width:560px}.stack-visual{position:relative;height:560px;display:flex;flex-direction:column-reverse;justify-content:center;align-items:center;perspective:1200px}.stack-layer{width:min(560px,92%);min-height:66px;border:1px solid rgba(154,178,219,.26);background:rgba(15,31,55,.82);display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:13px 18px;margin-top:-8px;box-shadow:0 25px 50px rgba(0,0,0,.13);transform:perspective(800px) rotateX(6deg) translateY(0);transition:transform .45s var(--ease),background .35s,border-color .35s}.stack-layer span{font-size:10px;color:#8da7ff;font-weight:800}.stack-layer strong{font-size:15px}.stack-layer small{font-size:10px;color:#90a1bb}.stack-visual:hover .stack-layer{transform:perspective(800px) rotateX(3deg) translateY(calc((var(--stack-index, 0))* -1px))}.stack-layer:hover{background:#132a4b;border-color:#5f78b0!important;transform:perspective(800px) rotateX(0) translateY(-8px) scale(1.015)!important}.stack-layer:nth-child(1){--stack-index:1}.stack-layer:nth-child(2){--stack-index:2}.stack-layer:nth-child(3){--stack-index:3}.stack-layer:nth-child(4){--stack-index:4}.stack-layer:nth-child(5){--stack-index:5}.stack-layer:nth-child(6){--stack-index:6}.stack-layer:nth-child(7){--stack-index:7}

/* framework */
.framework-track{display:grid;grid-template-columns:repeat(8,1fr);border:1px solid var(--line);background:#fff;margin-bottom:20px}.framework-step{min-height:132px;border:0;border-right:1px solid var(--line);background:#fff;padding:17px 14px;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:background .25s,color .25s,transform .25s}.framework-step:last-child{border-right:0}.framework-step span{font-size:10px;color:var(--blue);font-weight:800}.framework-step strong{font-size:14px}.framework-step small{margin-top:auto;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.framework-step:hover,.framework-step:focus-visible,.framework-step.active{background:var(--ink);color:#fff;transform:translateY(-5px);box-shadow:0 10px 30px rgba(13,25,48,.12)}.framework-step:hover small,.framework-step:focus-visible small,.framework-step.active small{color:#b8c7df}.framework-feedback{min-height:26px;font-size:13px;color:var(--muted);margin:0 0 24px}

/* research */
.research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.research-tile{min-height:285px;background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}.research-tile:hover{transform:translateY(-5px);border-color:#b9c5d7;box-shadow:0 20px 50px rgba(30,44,74,.08)}.research-tile>p{font-size:10px;color:var(--blue);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.research-tile h3{font-size:27px;line-height:1.13;letter-spacing:-.035em;max-width:580px;margin-bottom:18px}.research-tile>span{font-size:14px;color:var(--muted);line-height:1.65}.research-tile>div{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;gap:20px;align-items:end}.research-tile small{font-size:10px;color:var(--muted)}.research-tile a{font-size:12px;font-weight:760;color:var(--blue)}
.closing-band{background:#fff}.closing-band-inner{text-align:center;max-width:820px}.closing-band-inner>p{font-size:13px;color:var(--blue);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.closing-band-inner h2{font-size:clamp(40px,5vw,68px);line-height:1.02;letter-spacing:-.05em;margin:0 auto 30px}

/* page heroes */
.page-hero{padding:105px 0 82px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 25%,rgba(70,100,210,.06),transparent 35%)}.page-hero-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:90px;align-items:end}.page-hero h1{font-size:clamp(48px,6vw,76px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:780px}.page-hero-copy p{font-size:18px;line-height:1.68;color:var(--muted);margin:0}.compact-hero{padding:72px 0}.compact-hero h1{font-size:52px}

/* work page */
.evidence-key{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.work-case-list{border-top:1px solid var(--line)}.work-case-row{min-height:190px;display:grid;grid-template-columns:64px 1fr 230px 210px 34px;gap:22px;align-items:center;border-bottom:1px solid var(--line);position:relative;transition:background .3s,padding .3s}.work-case-row:hover,.work-case-row:focus-visible{background:#fff;padding-left:12px;padding-right:12px}.work-case-index{align-self:start;padding-top:38px;font-size:11px;color:var(--blue);font-weight:800}.work-case-main{position:relative;z-index:2}.work-case-main>p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--blue);margin:0 0 8px}.work-case-main h2{font-size:30px;line-height:1.1;letter-spacing:-.035em;margin:0 0 10px}.work-case-main>span{font-size:13px;line-height:1.5;color:var(--muted)}.work-case-status{display:flex;justify-content:flex-start}.work-row-canvas{width:210px;height:130px}.work-case-arrow{font-size:22px;transition:transform .3s}.work-case-row:hover .work-case-arrow{transform:translate(4px,-4px)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.two-col h2{font-size:48px;line-height:1.05;letter-spacing:-.045em}.two-col>div:last-child p{font-size:17px;color:#b6c2d6;line-height:1.7;margin-bottom:30px}

/* case page */
.case-hero{padding:82px 0 80px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fafcff,#f4f7fb)}.case-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:34px}.case-hero-copy h1{font-size:clamp(46px,5.6vw,72px);line-height:1.01;letter-spacing:-.055em;margin:0 0 26px}.case-hero-copy>p:not(.eyebrow){font-size:17px;color:var(--muted);line-height:1.65;margin-bottom:26px}.case-hero-visual{height:510px;position:relative;border:1px solid var(--line);background:#fff;overflow:hidden}.case-hero-visual canvas{width:100%;height:100%}.case-visual-label{position:absolute;left:22px;right:22px;bottom:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid var(--line);padding:13px 15px;display:flex;justify-content:space-between;gap:20px;font-size:11px}.case-visual-label span{color:var(--muted)}.case-narrative-grid{display:grid;grid-template-columns:280px 1fr;gap:86px;align-items:start}.case-sticky{position:sticky;top:calc(var(--header) + 28px)}.case-sticky ol{list-style:none;padding:0;margin:24px 0 0;border-left:1px solid var(--line)}.case-sticky li{display:flex;gap:10px;padding:13px 0 13px 18px;color:var(--muted);font-size:12px;transition:color .25s,transform .25s}.case-sticky li span{font-size:10px;color:var(--blue);font-weight:800}.case-sticky li.active{color:var(--ink);font-weight:760;transform:translateX(5px)}.case-sections{border-top:1px solid var(--line)}.case-section{padding:76px 0 86px;border-bottom:1px solid var(--line);position:relative}.case-section-num{position:absolute;right:0;top:72px;font-size:72px;font-weight:760;color:#e5eaf2;letter-spacing:-.05em}.case-section h2{font-size:44px;line-height:1.08;letter-spacing:-.045em;max-width:650px;margin:0 0 24px}.case-section>p:not(.section-kicker){font-size:17px;line-height:1.74;color:#435067;max-width:760px}.layer-chips{display:flex;flex-wrap:wrap;gap:9px;max-width:760px}.layer-chips span,.evidence-list span{padding:10px 12px;border:1px solid var(--line);background:#fff;font-size:12px}.intervention-list{list-style:none;padding:0;margin:34px 0 0;max-width:800px;border-top:1px solid var(--line)}.intervention-list li{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:21px 0;border-bottom:1px solid var(--line)}.intervention-list span{font-size:10px;color:var(--blue);font-weight:800}.intervention-list p{margin:0;font-size:15px;line-height:1.65}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:34px;max-width:760px}.metric{padding:22px;border:1px solid var(--line);background:#fff;display:grid;gap:7px}.metric strong{font-size:30px;letter-spacing:-.035em}.metric span{font-size:12px;line-height:1.4}.metric small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.evidence-list{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.claim-boundary{padding:22px;border-left:3px solid var(--blue);background:var(--soft-blue);font-size:14px!important;line-height:1.65!important}.case-next-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.case-next-inner h2{font-size:44px;letter-spacing:-.04em;margin:0}

/* approach */
.approach-loop{height:720px;position:relative}.approach-loop canvas{position:absolute;inset:0;width:100%;height:100%}.approach-node{position:absolute;width:136px;height:136px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;box-shadow:0 10px 35px rgba(25,42,74,.06);transition:transform .3s,border-color .3s,background .3s,color .3s}.approach-node span{font-size:10px;color:var(--blue);font-weight:800}.approach-node strong{font-size:15px}.approach-node small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.approach-node:hover,.approach-node:focus-visible,.approach-node.active{transform:scale(1.08);background:var(--ink);color:#fff;border-color:var(--ink)}.approach-node:hover small,.approach-node:focus-visible small,.approach-node.active small{color:#b9c8de}.approach-node:nth-of-type(1){left:50%;top:2%;transform:translateX(-50%)}.approach-node:nth-of-type(2){right:13%;top:15%}.approach-node:nth-of-type(3){right:5%;top:46%}.approach-node:nth-of-type(4){right:20%;bottom:2%}.approach-node:nth-of-type(5){left:50%;bottom:0;transform:translateX(-50%)}.approach-node:nth-of-type(6){left:20%;bottom:2%}.approach-node:nth-of-type(7){left:5%;top:46%}.approach-node:nth-of-type(8){left:13%;top:15%}.approach-node:nth-of-type(1):hover,.approach-node:nth-of-type(1):focus-visible,.approach-node:nth-of-type(1).active,.approach-node:nth-of-type(5):hover,.approach-node:nth-of-type(5):focus-visible,.approach-node:nth-of-type(5).active{transform:translateX(-50%) scale(1.08)}.approach-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:260px;height:260px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-content:center;text-align:center;padding:30px;box-shadow:0 30px 70px rgba(5,18,38,.18)}.approach-center strong{font-size:30px;margin-bottom:12px}.approach-center span{font-size:12px;line-height:1.5;color:#b8c6da}.framework-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.framework-detail{background:#fff;min-height:270px;padding:35px;display:grid;grid-template-columns:46px 1fr;gap:22px}.framework-detail>span{font-size:10px;color:var(--blue);font-weight:800}.framework-detail p:first-child{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:800}.framework-detail h2{font-size:30px;margin:0 0 16px}.framework-detail p:last-child{color:var(--muted);font-size:14px;line-height:1.65}

/* research page */
.research-page-grid{border-top:1px solid var(--line)}.research-feature{display:grid;grid-template-columns:100px 1fr;padding:60px 0;border-bottom:1px solid var(--line)}.research-index{font-size:11px;color:var(--blue);font-weight:800}.research-feature h2{font-size:42px;line-height:1.08;letter-spacing:-.04em;max-width:850px}.research-feature>div>p:not(.section-kicker){font-size:16px;color:var(--muted);line-height:1.7;max-width:760px}.research-meta{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:24px;max-width:760px}.research-meta>span{font-size:11px;color:var(--muted)}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16)}.theme-grid>div{padding:30px 28px 10px 0;border-right:1px solid rgba(255,255,255,.12);margin-right:28px}.theme-grid>div:last-child{border-right:0;margin-right:0}.theme-grid span{font-size:10px;color:#8fa6ff;font-weight:800}.theme-grid h3{font-size:20px;margin:18px 0 11px}.theme-grid p{font-size:13px;color:#aebed4;line-height:1.6}

/* about / contact */
.about-grid{display:grid;grid-template-columns:300px 1fr;gap:100px}.about-mark{position:sticky;top:calc(var(--header) + 30px);align-self:start;display:grid;gap:10px}.about-mark img{width:140px;margin-bottom:20px}.about-mark strong{font-size:20px}.about-mark span{font-size:12px;color:var(--muted);line-height:1.5}.about-copy{max-width:780px}.about-copy h2{font-size:36px;letter-spacing:-.035em;margin:0 0 16px}.about-copy p{font-size:17px;line-height:1.75;color:#455167;margin-bottom:48px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.credentials>div{background:#fff;padding:20px}.credentials strong,.credentials span{display:block}.credentials strong{font-size:17px;margin-bottom:9px}.credentials span{font-size:11px;line-height:1.45;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-card{min-height:240px;border:1px solid var(--line);background:#fff;padding:28px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s}.contact-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--line-strong)}.contact-card>span{font-size:10px;color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.contact-card strong{font-size:26px;margin-top:40px}.contact-card p{font-size:13px;line-height:1.55;color:var(--muted);max-width:350px}.contact-card i{font-style:normal;font-size:23px;margin-top:auto;align-self:flex-end}.contact-brief{grid-column:1/-1;padding:62px 0 0}.contact-brief h2{font-size:48px;letter-spacing:-.04em}.contact-brief ol{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}.contact-brief li{display:grid;grid-template-columns:70px 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.contact-brief li span{font-size:10px;color:var(--blue);font-weight:800}.contact-brief li p{margin:0;font-size:15px}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.sitemap-grid>div{display:grid;align-content:start}.sitemap-grid h2{font-size:20px}.sitemap-grid a{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.legal-copy{max-width:800px}.legal-copy h2{font-size:27px;margin:38px 0 12px}.legal-copy p{font-size:16px;line-height:1.72;color:var(--muted)}

/* footer */
.site-footer{background:#081426;color:#fff;padding:54px 0 22px}.footer-main{display:grid;grid-template-columns:1.2fr .8fr .7fr;gap:60px;align-items:start}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:48px}.footer-brand div{display:grid;gap:4px}.footer-brand strong{font-size:15px}.footer-brand span{font-size:10px;color:#9bacc3}.footer-main nav,.footer-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.footer-main nav a,.footer-contact a{font-size:12px;color:#c7d1df}.footer-main nav a:hover,.footer-contact a:hover{color:#fff}.footer-bottom{margin-top:46px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;display:flex;justify-content:space-between;gap:30px;font-size:10px;color:#8191a8}.footer-bottom nav{display:flex;gap:18px}

/* reveal */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.js .reveal.in-view{opacity:1;transform:none}

@media (max-width:1100px){
  :root{--shell:min(100% - 44px,1080px)}
  .primary-nav{gap:20px}.brand-copy span{display:none}
  .hero-layout{grid-template-columns:1fr 1fr;gap:30px}.system-map{height:520px}.system-node{width:98px;height:98px}.system-core{width:154px;height:154px}.system-core strong{font-size:18px}
  .dimension-rail-inner{grid-template-columns:1fr}.dimension-rail-inner>p{padding-top:18px}.dimension-list{padding-bottom:18px}
  .featured-work-grid{grid-template-columns:1fr 1fr}.featured-work-grid .case-card:nth-child(3){grid-column:1/-1}
  .work-case-row{grid-template-columns:50px 1fr 190px 160px 26px}.work-row-canvas{width:160px}
  .framework-track{grid-template-columns:repeat(4,1fr)}.framework-step:nth-child(4){border-right:0}.framework-step:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .theme-grid{grid-template-columns:1fr 1fr}.story-grid{gap:50px}
}

@media (max-width:820px){
  :root{--shell:calc(100% - 36px);--header:70px}
  .section-pad{padding:78px 0}
  .header-inner{grid-template-columns:1fr auto}.primary-nav,.header-contact{display:none}.menu-toggle{display:block}.brand img{width:39px;height:39px}.brand-copy strong{font-size:14px}
  .hero--systems{padding-top:30px}.hero-layout{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:28px 0 0}.hero-copy h1{font-size:clamp(44px,12vw,68px)}.hero-lead{font-size:16px}.system-stage{padding:0}.system-map{height:540px;max-width:620px;margin:auto}.system-node{width:88px;height:88px}.system-core{width:146px;height:146px}.system-legend{display:none}.system-hint{margin-top:0}
  .dimension-rail-inner{display:block}.dimension-rail-inner>p{padding:18px 0 14px}.dimension-list{grid-template-columns:repeat(4,1fr)}.dimension-list span{border-top:1px solid var(--line)}
  .section-heading--split{grid-template-columns:1fr;gap:22px}.featured-work-grid{grid-template-columns:1fr}.featured-work-grid .case-card:nth-child(3){grid-column:auto}.case-card{min-height:360px}.case-card-copy{padding-top:138px}
  .story-grid{grid-template-columns:1fr}.stack-visual{height:500px}.stack-layer{grid-template-columns:36px 1fr}.stack-layer small{display:none}
  .framework-track{grid-template-columns:repeat(2,1fr)}.framework-step{border-bottom:1px solid var(--line)}.framework-step:nth-child(even){border-right:0}.framework-step:nth-last-child(-n+2){border-bottom:0}
  .research-grid{grid-template-columns:1fr}
  .page-hero{padding:72px 0 58px}.page-hero-grid{grid-template-columns:1fr;gap:25px}.page-hero h1{font-size:clamp(44px,12vw,64px)}.page-hero-copy p{font-size:16px}
  .work-case-row{grid-template-columns:44px 1fr 24px;min-height:230px;padding:26px 0}.work-case-status{grid-column:2}.work-row-canvas{position:absolute;right:24px;top:35px;width:150px;height:100px;opacity:.24}.work-case-arrow{grid-column:3;grid-row:1/3}.work-case-row:hover{padding-left:0;padding-right:0}.work-case-main{padding-right:120px}
  .two-col{grid-template-columns:1fr;gap:30px}.two-col h2{font-size:40px}
  .case-hero-grid{grid-template-columns:1fr}.case-hero-visual{height:420px}.case-narrative-grid{grid-template-columns:1fr;gap:30px}.case-sticky{position:static}.case-sticky ol{display:flex;overflow:auto;border-left:0;border-bottom:1px solid var(--line);padding-bottom:9px}.case-sticky li{white-space:nowrap;padding:10px 16px;border-left:1px solid var(--line)}.case-section{padding:60px 0}.case-section-num{font-size:56px;top:56px}.case-section h2{font-size:36px;padding-right:70px}.metric-grid{grid-template-columns:1fr 1fr}
  .approach-loop{height:620px}.approach-node{width:105px;height:105px}.approach-center{width:200px;height:200px}.approach-node:nth-of-type(2){right:5%}.approach-node:nth-of-type(8){left:5%}.approach-node:nth-of-type(3){right:0}.approach-node:nth-of-type(7){left:0}.framework-detail-grid{grid-template-columns:1fr}
  .research-feature{grid-template-columns:55px 1fr}.research-feature h2{font-size:34px}.theme-grid{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr;gap:50px}.about-mark{position:static}.credentials{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.contact-brief{grid-column:auto}.sitemap-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;gap:34px}.footer-bottom{flex-direction:column}.footer-bottom nav{flex-wrap:wrap}
}

@media (max-width:520px){
  :root{--shell:calc(100% - 28px)}
  .section-pad{padding:64px 0}.eyebrow,.section-kicker{font-size:10px}
  .hero--systems{min-height:auto}.hero-copy h1{font-size:45px;line-height:1.01}.hero-lead{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.system-map{height:480px}.system-node{width:74px;height:74px}.system-node strong{font-size:10px}.system-node span{font-size:8px}.system-core{width:126px;height:126px}.system-core strong{font-size:16px}.system-core small{font-size:8px}.node-process{right:0}.node-information{left:0}.node-execution{right:8%}.node-ai{left:8%}.dimension-list{grid-template-columns:repeat(2,1fr)}
  .section-heading h2{font-size:36px}.section-heading--split>p{font-size:14px}.case-card{padding:21px}.case-card-copy h3{font-size:22px}
  .stack-visual{height:440px}.stack-layer{min-height:56px;padding:10px 13px}.stack-layer strong{font-size:13px}.story-copy h2{font-size:42px}
  .framework-step{min-height:112px}.research-tile{padding:23px}.research-tile h3{font-size:23px}.research-tile>div{display:grid}
  .work-case-row{grid-template-columns:36px 1fr 20px}.work-case-main{padding-right:0}.work-row-canvas{display:none}.work-case-main h2{font-size:25px}.work-case-status{grid-column:2}
  .case-hero{padding-top:58px}.case-hero-copy h1{font-size:43px}.case-hero-visual{height:350px}.case-section-num{font-size:45px}.case-section h2{font-size:31px;padding-right:55px}.metric-grid{grid-template-columns:1fr}.case-next-inner{display:grid}.case-next-inner h2{font-size:34px}
  .approach-loop{height:540px}.approach-node{width:82px;height:82px}.approach-node strong{font-size:11px}.approach-node small{display:none}.approach-center{width:160px;height:160px}.approach-center strong{font-size:23px}.approach-center span{font-size:10px}.approach-node:nth-of-type(2){right:0}.approach-node:nth-of-type(8){left:0}.approach-node:nth-of-type(3){right:0;top:43%}.approach-node:nth-of-type(7){left:0;top:43%}.approach-node:nth-of-type(4){right:10%}.approach-node:nth-of-type(6){left:10%}
  .research-feature{grid-template-columns:1fr}.research-index{margin-bottom:15px}.research-feature h2{font-size:30px}.research-meta{display:grid}.theme-grid{grid-template-columns:1fr}.theme-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);margin:0;padding:24px 0}.contact-card strong{font-size:22px}.contact-brief h2{font-size:36px}.contact-brief li{grid-template-columns:42px 1fr}.footer-main nav,.footer-contact{grid-template-columns:1fr}
}

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

/* Interaction layer */
.pointer-aura{margin-left:-140px;margin-top:-140px}
.pointer-aura.is-active{opacity:1}
body.menu-open{overflow:hidden}
.system-map{transform:rotateX(var(--map-rx,0deg)) rotateY(var(--map-ry,0deg));transform-style:preserve-3d;transition:transform .28s ease-out}
.system-node.is-active{border-color:var(--blue);box-shadow:0 18px 50px rgba(49,87,213,.18);background:#fff}
.system-map.has-active .system-node:not(.active){opacity:.38}
.stack-layer{transition:transform .45s var(--ease),opacity .45s,border-color .3s,background .3s;opacity:.58}
.stack-layer.is-revealed{opacity:1}
.stack-layer.is-inspected{border-color:rgba(111,143,255,.72);background:rgba(26,50,88,.96);transform:translateY(-7px) rotateX(2deg) scale(1.015)!important;z-index:8}
.framework-step.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.framework-step.active span,.framework-step.active small{color:#aebdff}
.case-card canvas,.work-case-row canvas{transition:filter .3s,opacity .3s,transform .45s var(--ease)}
.case-card:hover canvas,.case-card:focus-visible canvas{transform:scale(1.025)}
@media (prefers-reduced-motion:reduce){.system-map{transform:none!important}.stack-layer{opacity:1}.pointer-aura{display:none}}

/* Final layout calibration against the selected Systems Intelligence direction */
@media (min-width:821px){
  .hero--systems{min-height:auto}
  .system-legend{left:0;right:auto;bottom:12px}
}
@media (min-width:1101px){
  .hero-copy h1{font-size:clamp(48px,4.8vw,68px)}
  .system-map{height:540px}
  .system-node{width:102px;height:102px}
  .system-core{width:160px;height:160px}
  .hero-layout{gap:56px;min-height:610px}
}
@media (max-width:820px){
  .mobile-nav{position:absolute;inset:auto 0 auto 0;top:100%;height:calc(100dvh - var(--header));background:#f7f9fc;backdrop-filter:none;overflow:auto;border-top:1px solid var(--line)}
  .mobile-nav-inner{padding-top:20px;padding-bottom:32px}
  .mobile-nav a{font-size:30px;line-height:1.08;padding:16px 0;background:#f7f9fc}
}
.case-sticky-visual{margin-top:24px;height:190px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden}
.case-sticky-visual canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.86}
.case-sticky-visual>span,.case-sticky-visual>strong{position:absolute;left:12px;z-index:2;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);padding:4px 6px}
.case-sticky-visual>span{bottom:33px;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.case-sticky-visual>strong{bottom:9px;font-size:10px;color:var(--ink)}
@media (max-width:820px){.case-sticky-visual{display:none}}
