:root {
  --paper: #f6f4f0;
  --paper-2: #efede8;
  --ink: #1e242a;
  --ink-2: #2b2f33;
  --steel: #4d6b8a;
  --steel-soft: #7d91a5;
  --orange: #ff6a00;
  --line: rgba(30, 36, 42, .19);
  --line-strong: rgba(30, 36, 42, .36);
  --max: 1320px;
  --gutter: clamp(22px, 4.4vw, 72px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 116px; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--orange); color: #fff; }

.site-header {
  width: min(calc(100% - var(--gutter) * 2), var(--max));
  margin: 0 auto;
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line-strong);
  background: var(--paper);
  box-shadow: 0 10px 24px -18px rgba(30, 36, 42, .4);
  position: sticky;
  top: 0;
  z-index: 20;
}

.brand { display: inline-flex; align-items: center; }
.brand__logo {
  display: block;
  width: 205px;
  height: auto;
}

.site-nav { display: flex; gap: clamp(22px, 3vw, 48px); align-items: center; }
.site-nav a {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .17em;
  position: relative;
  padding: 8px 0;
}
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--orange); transition:right .18s ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { right:0; }
.nav-toggle { display:none; background:none; border:0; width:44px; height:44px; padding:12px; cursor:pointer; }
.nav-toggle span { display:block; height:1px; background:var(--ink); margin:6px 0; }

.section-shell { width: min(calc(100% - var(--gutter) * 2), var(--max)); margin: 0 auto; }
.hero {
  min-height: 720px;
  display: grid;
  grid-template-columns: 1.04fr .96fr;
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
  padding-top: 74px;
  padding-bottom: 88px;
}
.eyebrow {
  margin: 0 0 25px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 11px;
  color: #5d6871;
  display: flex; gap: 18px; align-items: center;
}
.eyebrow span { color: var(--orange); font-weight: 700; }
.hero h1, .section-heading h2, .method-heading h2, .contact h2 {
  margin: 0;
  font-size: clamp(48px, 5.3vw, 82px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 650;
}
.hero h1 em, .method-heading h2 em { color: var(--steel); font-style: normal; font-weight: 500; }
.hero__lede {
  max-width: 720px;
  margin: 30px 0 0;
  font-size: clamp(18px, 1.45vw, 22px);
  line-height: 1.55;
  color: #555f66;
}
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.button {
  min-height: 48px;
  display:inline-flex; align-items:center; justify-content:center;
  padding: 0 21px;
  text-transform: uppercase;
  letter-spacing:.14em;
  font-size:10px;
  font-weight:700;
  border:1px solid var(--ink);
  transition: transform .16s ease, background .16s ease, color .16s ease;
}
.button:hover { transform: translateY(-2px); }
.button--solid { background:var(--ink); color:#fff; }
.button--solid:hover { background:var(--orange); border-color:var(--orange); }
.button--line:hover { background:var(--ink); color:#fff; }

.hero__instrument {
  height: 500px;
  position: relative;
  border: 1px solid var(--line-strong);
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 48px 48px;
  overflow:hidden;
}
.hero__instrument::before, .hero__instrument::after {
  content:""; position:absolute; width:200px; height:200px; border:1px solid var(--line-strong); border-radius:50%;
  left:50%; top:50%; transform:translate(-50%,-50%);
}
.hero__instrument::after { width:310px; height:310px; border-style:dashed; border-color:rgba(77,107,138,.4); }
.instrument__meta { position:absolute; z-index:4; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.instrument__meta--top { left:18px; top:17px; color:var(--steel); }
.instrument__meta--bottom { left:18px; right:18px; bottom:14px; display:flex; gap:13px; color:#6e7b85; }
.instrument__meta--bottom b { color:var(--orange); margin-left:auto; }
.instrument__node {
  position:absolute; z-index:5; width:128px; min-height:78px; padding:14px;
  background:var(--paper); border:1px solid var(--line-strong);
  display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start;
}
.instrument__node span { color:var(--orange); font-size:9px; font-weight:700; letter-spacing:.13em; }
.instrument__node strong { font-size:11px; line-height:1.3; letter-spacing:.08em; text-transform:uppercase; }
.instrument__node--a { left:26px; top:102px; }
.instrument__node--b { right:26px; top:102px; }
.instrument__node--c { right:46px; bottom:78px; }
.instrument__core {
  position:absolute; z-index:6; left:50%; top:52%; transform:translate(-50%,-50%); width:172px; height:172px;
  border:1px solid var(--ink); background:var(--paper); display:flex; align-items:center; justify-content:center; text-align:center;
  clip-path: polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);
}
.instrument__core::before { content:""; position:absolute; inset:12px; border:1px solid var(--steel); clip-path:inherit; }
.instrument__core-mark { position:absolute; width:12px; height:12px; background:var(--orange); transform:rotate(45deg); top:25px; right:38px; }
.instrument__core b { position:relative; z-index:2; font-size:12px; letter-spacing:.13em; line-height:1.45; }
.wire { position:absolute; height:1px; background:var(--steel); transform-origin:left center; z-index:2; }
.wire::after { content:""; position:absolute; right:-4px; top:-3px; width:7px; height:7px; border:1px solid var(--steel); background:var(--paper); border-radius:50%; }
.wire--ab { left:152px; top:142px; width:52%; }
.wire--bc { right:87px; top:180px; width:170px; transform:rotate(73deg); }
.wire--ca { left:118px; bottom:136px; width:180px; transform:rotate(-28deg); }

.focus, .work, .method { padding: 100px 0; border-top:1px solid var(--line-strong); }
.section-label { display:flex; align-items:center; gap:14px; margin-bottom:58px; }
.section-label span { color:var(--orange); font-size:10px; font-weight:700; letter-spacing:.15em; }
.section-label p { margin:0; text-transform:uppercase; letter-spacing:.16em; font-size:10px; color:#66727b; }
.section-label::after { content:""; height:1px; background:var(--line); flex:1; }
.section-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:80px; align-items:end; margin-bottom:58px; }
.section-heading h2 { font-size:clamp(38px,4vw,62px); }
.section-heading p { margin:0; font-size:17px; line-height:1.6; color:#5c666d; max-width:520px; }
.focus-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.focus-card { min-height:350px; padding:34px; border:1px solid var(--line-strong); margin-right:-1px; display:flex; flex-direction:column; }
.focus-card__index { font-size:9px; letter-spacing:.18em; color:var(--steel); margin-bottom:68px; }
.focus-card h3 { margin:0; font-size:24px; letter-spacing:-.02em; }
.focus-card p { margin:18px 0 36px; line-height:1.65; color:#5d676d; }
.focus-card--blue { background:var(--steel); color:#fff; border-color:var(--steel); }
.focus-card--blue .focus-card__index, .focus-card--blue p { color:rgba(255,255,255,.72); }
.focus-card--dark { background:var(--ink); color:#fff; border-color:var(--ink); }
.focus-card--dark .focus-card__index { color:var(--orange); }
.focus-card--dark p { color:rgba(255,255,255,.7); }
.micro-line { margin-top:auto; display:grid; grid-template-columns:52px auto; align-items:center; gap:12px; }
.micro-line span { height:2px; background:var(--orange); }
.micro-line b { font-size:8px; letter-spacing:.18em; font-weight:600; }

.product-panel {
  background:var(--ink); color:#fff; display:grid; grid-template-columns:.9fr 1.1fr; min-height:540px; margin-bottom:24px;
}
.product-panel__copy { padding:clamp(34px,5vw,70px); display:flex; flex-direction:column; justify-content:center; }
.product-kicker { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:34px; }
.product-kicker span, .product-kicker b { font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.product-kicker span { color:var(--orange); }
.product-kicker b { color:#8fa1b1; font-weight:500; }
.product-panel h2, .research-panel h2 { margin:0; font-size:clamp(42px,4.4vw,66px); line-height:1; letter-spacing:-.04em; }
.product-description { margin:26px 0 34px; font-size:18px; line-height:1.65; color:rgba(255,255,255,.78); }
.capabilities { display:flex; gap:8px; flex-wrap:wrap; }
.capabilities span, .research-tags span { border:1px solid rgba(255,255,255,.24); padding:9px 11px; font-size:9px; letter-spacing:.11em; text-transform:uppercase; }
.product-panel__diagram { position:relative; padding:50px 44px; border-left:1px solid rgba(255,255,255,.18); overflow:hidden; background-image:linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px, transparent 1px); background-size:42px 42px; }
.flow-meta { font-size:9px; letter-spacing:.18em; color:#8fa1b1; position:absolute; top:22px; right:24px; }
.flow { height:100%; display:flex; align-items:center; justify-content:center; gap:13px; }
.flow__node { width:150px; min-height:155px; padding:20px; border:1px solid rgba(255,255,255,.35); background:var(--ink); display:flex; flex-direction:column; justify-content:center; position:relative; }
.flow__node::before { content:""; position:absolute; width:7px; height:7px; background:var(--orange); right:-4px; top:50%; transform:translateY(-50%) rotate(45deg); }
.flow__node--key::after { content:""; position:absolute; inset:7px; border:1px solid rgba(255,106,0,.55); pointer-events:none; }
.flow__node small { color:#8fa1b1; letter-spacing:.16em; font-size:8px; }
.flow__node b { margin:14px 0 8px; font-size:20px; }
.flow__node span { font-size:10px; color:rgba(255,255,255,.62); line-height:1.4; }
.flow__link { width:55px; display:flex; flex-direction:column; gap:8px; align-items:center; }
.flow__link i { height:1px; width:100%; background:var(--orange); }
.flow__link em { font-style:normal; font-size:8px; letter-spacing:.15em; color:#91a2b0; }
.flow-foot { position:absolute; left:28px; right:28px; bottom:22px; display:flex; justify-content:space-between; color:#70818e; font-size:8px; letter-spacing:.17em; }

.research-panel { display:grid; grid-template-columns:.9fr 1.1fr; min-height:500px; border:1px solid var(--line-strong); }
.research-panel__signal { position:relative; overflow:hidden; border-right:1px solid var(--line-strong); min-height:500px; }
.signal-grid { position:absolute; inset:0; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:38px 38px; }
.signal-trace { position:absolute; left:9%; right:8%; bottom:18%; height:58%; display:flex; align-items:end; gap:4px; border-left:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:0 14px 0 18px; }
.signal-trace i { display:block; flex:1; background:var(--steel); opacity:.8; }

.signal-trace i:nth-child(1){height:22%}.signal-trace i:nth-child(2){height:31%}.signal-trace i:nth-child(3){height:46%}.signal-trace i:nth-child(4){height:62%}.signal-trace i:nth-child(5){height:74%}.signal-trace i:nth-child(6){height:81%}.signal-trace i:nth-child(7){height:78%}.signal-trace i:nth-child(8){height:66%}.signal-trace i:nth-child(9){height:49%}.signal-trace i:nth-child(10){height:33%}.signal-trace i:nth-child(11){height:24%}
.signal-trace i:nth-child(6) { background:var(--orange); }
.signal-point { position:absolute; width:12px; height:12px; border:2px solid var(--orange); background:var(--paper); border-radius:50%; left:50%; top:33%; }
.signal-label { position:absolute; font-size:8px; letter-spacing:.16em; color:#66737d; }
.signal-label--x { right:8%; bottom:11%; }
.signal-label--y { left:4%; top:13%; writing-mode:vertical-rl; transform:rotate(180deg); }
.research-panel__copy { padding:clamp(34px,5vw,70px); display:flex; flex-direction:column; justify-content:center; }
.research-panel__copy .product-kicker b { color:#697984; }
.research-panel__copy p { margin:26px 0 34px; font-size:18px; line-height:1.65; color:#5d676e; }
.research-tags { display:flex; flex-wrap:wrap; gap:8px; }
.research-tags span { border-color:var(--line-strong); color:#52616d; }

.method-heading { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:end; margin-bottom:64px; }
.method-heading h2 { font-size:clamp(42px,4.6vw,70px); }
.method-heading p { margin:0; max-width:530px; color:#59636a; font-size:18px; line-height:1.65; }
.method-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-strong); border-bottom:1px solid var(--line-strong); }
.method-grid article { padding:38px 34px 46px; min-height:285px; border-right:1px solid var(--line-strong); }
.method-grid article:last-child { border-right:0; }
.method-grid span { color:var(--orange); font-size:10px; font-weight:700; letter-spacing:.18em; }
.method-grid h3 { margin:65px 0 15px; font-size:22px; }
.method-grid p { margin:0; color:#5e686f; line-height:1.6; }
.principles { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line-strong); }
.principles span { padding:19px 16px; text-align:center; font-size:8px; letter-spacing:.16em; border-right:1px solid var(--line); }
.principles span:last-child { border-right:0; }

.contact { min-height:520px; border-top:1px solid var(--line-strong); display:grid; grid-template-columns:.65fr 1.35fr; align-items:center; gap:90px; padding-top:90px; padding-bottom:90px; }
.contact__mark { display:flex; justify-content:center; }
.contact__logo { display:block; width:170px; height:auto; }
.contact h2 { font-size:clamp(52px,6vw,88px); }
.contact__copy > p:not(.eyebrow) { font-size:18px; color:#606b72; margin:28px 0; }
.contact-link { display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:17px 0; max-width:680px; font-size:clamp(16px,2vw,25px); }
.contact-link span { color:var(--orange); font-size:28px; }

.site-footer { width:min(calc(100% - var(--gutter) * 2),var(--max)); margin:0 auto; border-top:1px solid var(--line-strong); padding:24px 0 30px; display:grid; grid-template-columns:1fr auto auto; gap:30px; align-items:center; font-size:8px; letter-spacing:.17em; text-transform:uppercase; color:#68747d; }
.footer-brand span, .footer-meta i { color:var(--steel); font-style:normal; }
.footer-meta { display:flex; gap:9px; }
.footer-meta b { color:var(--orange); }

@media (max-width: 980px) {
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero__instrument { height:460px; }
  .section-heading, .method-heading { grid-template-columns:1fr; gap:28px; }
  .focus-grid { grid-template-columns:1fr; }
  .focus-card { margin:0 0 -1px; min-height:260px; }
  .focus-card__index { margin-bottom:42px; }
  .product-panel, .research-panel { grid-template-columns:1fr; }
  .product-panel__diagram, .research-panel__signal { border-left:0; border-top:1px solid rgba(255,255,255,.18); min-height:420px; }
  .research-panel__signal { border-top:0; border-right:0; border-bottom:1px solid var(--line-strong); }
  .method-grid { grid-template-columns:1fr; }
  .method-grid article { border-right:0; border-bottom:1px solid var(--line-strong); min-height:230px; }
  .method-grid article:last-child { border-bottom:0; }
  .method-grid h3 { margin-top:38px; }
  .principles { grid-template-columns:1fr 1fr; }
  .principles span:nth-child(2) { border-right:0; }
  .principles span { border-bottom:1px solid var(--line); }
  .contact { grid-template-columns:.4fr 1.6fr; gap:50px; }
  .contact__logo { width:120px; }
  .site-footer { grid-template-columns:1fr auto; }
  .footer-meta { grid-column:1 / -1; grid-row:1; justify-content:flex-start; }
}

@media (max-width: 720px) {
  html { scroll-padding-top: 96px; }
  .site-header { min-height:80px; }
  .brand__logo { width:185px; }
  .site-nav {
    display:none; position:absolute; top:80px; left:0; right:0; background:var(--paper); border:1px solid var(--line-strong); padding:18px; flex-direction:column; align-items:stretch; gap:0;
  }
  .site-nav.is-open { display:flex; }
  .site-nav a { padding:16px 4px; border-bottom:1px solid var(--line); }
  .site-nav a:last-child { border-bottom:0; }
  .nav-toggle { display:block; }
  .hero { padding-top:56px; padding-bottom:70px; gap:54px; }
  .hero h1 { font-size:clamp(44px,12vw,68px); }
  .hero__instrument { height:420px; }
  .instrument__node { width:108px; padding:11px; }
  .instrument__node--a { left:14px; top:78px; }
  .instrument__node--b { right:14px; top:78px; }
  .instrument__node--c { right:24px; bottom:65px; }
  .instrument__core { width:145px; height:145px; }
  .wire--ab { left:118px; top:117px; }
  .focus, .work, .method { padding:74px 0; }
  .section-label { margin-bottom:42px; }
  .product-panel__copy, .research-panel__copy { padding:34px 25px; }
  .product-kicker { align-items:flex-start; flex-direction:column; }
  .product-panel__diagram { padding:45px 18px; min-height:460px; }
  .flow { flex-direction:column; gap:8px; }
  .flow__link { height:35px; width:1px; }
  .flow__link i { width:1px; height:100%; }
  .flow__node { width:220px; min-height:98px; }
  .flow__node::before { right:50%; top:auto; bottom:-4px; transform:translateX(50%) rotate(45deg); }
  .flow-foot { display:none; }
  .research-panel__signal { min-height:370px; }
  .principles { grid-template-columns:1fr; }
  .principles span { border-right:0; }
  .contact { grid-template-columns:1fr; gap:40px; }
  .contact__mark { justify-content:flex-start; }
  .contact__logo { width:90px; }
  .site-footer { grid-template-columns:1fr; }
  .footer-meta { grid-column:auto; grid-row:auto; flex-wrap:wrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
