  :root {
    --navy: #0d1a2c;
    --navy-2: #12233a;
    --navy-3: #1a2d47;
    --blue: #4a7fe8;
    --blue-soft: #a8c8ed;
    --ice: #e9eef4;
    --paper: #f7f8fa;
    --white: #ffffff;
    --ink: #0d1a2c;
    --muted: #667382;
    --line: rgba(13, 26, 44, .15);
    --line-light: rgba(255, 255, 255, .17);
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; background: var(--navy); }
  body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--sans); }
  body.menu-open { overflow: hidden; }
  a { color: inherit; text-decoration: none; }
  button, a { font: inherit; }
  button { color: inherit; }
  img { display: block; max-width: 100%; }
  ::selection { background: var(--blue); color: white; }

  .hero {
    position: relative;
    min-height: 860px;
    height: 100svh;
    overflow: hidden;
    background: var(--navy);
    color: var(--white);
  }
  .hero-grid { position: absolute; inset: 0; opacity: .22; 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: clamp(74px,8vw,128px) clamp(74px,8vw,128px); mask-image: linear-gradient(90deg, transparent, black 36%, black 100%); }

  .site-header { position: absolute; z-index: 70; top: 0; left: 0; right: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 25px max(clamp(22px, 3.3vw, 58px), calc((100vw - 1800px) / 2)); }
  .wordmark { justify-self: start; display: inline-flex; align-items: center; gap: 10px; font-family: var(--serif); font-size: 16px; letter-spacing: -.025em; }
  .brand-mark { display: inline-flex; align-items: center; }
  .brand-mark img { display: block; width: 26px; height: 21px; }
  .desktop-nav { display: flex; gap: clamp(20px, 2.4vw, 40px); align-items: center; }
  .desktop-nav a { position: relative; padding: 8px 0; color: rgba(255,255,255,.68); font-size: 11px; letter-spacing: .035em; }
  .desktop-nav a::after { content: ""; position: absolute; left: 0; bottom: 3px; width: 100%; height: 1px; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform var(--r7-move) var(--r7-ease); }
  .desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
  .header-actions { justify-self: end; display: flex; align-items: center; gap: 17px; }
  .header-contact { padding: 11px 19px; border-radius: 999px; background: var(--white); color: var(--ink); font-size: 10px; transition: background var(--r7-fast) ease, color var(--r7-fast) ease; }
  .header-contact:hover, .header-contact:focus-visible { background: var(--blue); color: white; }
  .menu-button { display: inline-flex; align-items: center; gap: 10px; padding: 7px 0 7px 10px; border: 0; border-left: 1px solid rgba(255,255,255,.2); background: transparent; color: var(--white); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }
  .menu-button > i { width: 17px; display: grid; gap: 4px; }
  .menu-button > i b { display: block; width: 100%; height: 1px; background: currentColor; transition: transform var(--r7-move) var(--r7-ease); }
  .menu-button:hover > i b:first-child, .menu-button:focus-visible > i b:first-child { transform: translateX(3px); }
  .menu-button:hover > i b:last-child, .menu-button:focus-visible > i b:last-child { transform: translateX(-3px); }
  .down-control { width: 51px; height: 51px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; transition: background var(--r7-fast) ease, border-color var(--r7-fast) ease; }
  .down-control:hover, .down-control:focus-visible { background: var(--blue); border-color: var(--blue); }

  .section-index { display: flex; align-items: baseline; gap: 22px; }
  .section-index > span { color: var(--blue); font-size: 50px; font-weight: 300; letter-spacing: -.06em; }
  .section-index p { margin: 0; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .15em; }
  .section-index--light > span { color: var(--blue-soft); }.section-index--light p { color: rgba(255,255,255,.44); }

  .capabilities { position: relative; padding: clamp(110px,11vw,170px) clamp(24px,6vw,102px); overflow: hidden; background: var(--ice); }

  .research { position: relative; padding: clamp(110px,11vw,170px) clamp(24px,6vw,102px); overflow: hidden; background: var(--navy); color: var(--white); }
  .research::after { content: ""; position: absolute; width: 850px; height: 850px; right: -550px; bottom: -520px; border: 1px solid rgba(78,128,255,.16); border-radius: 50%; }

  .contact { position: relative; min-height: 830px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 100px 24px; overflow: hidden; background: var(--paper); text-align: center; }
  .contact > span { position: relative; z-index: 2; color: var(--blue); font-size: 8px; text-transform: uppercase; letter-spacing: .17em; }
  .contact h2 { position: relative; z-index: 2; margin: 28px 0 0; font-size: clamp(64px,9vw,150px); font-weight: 300; line-height: .79; letter-spacing: -.078em; }
  .contact > p { position: relative; z-index: 2; max-width: 650px; margin: 43px auto 34px; color: var(--muted); font-size: 12px; line-height: 1.65; }
  .contact > a { position: relative; z-index: 2; display: flex; align-items: center; gap: 42px; padding: 13px 19px; border-radius: 999px; background: var(--navy); color: white; font-size: 9px; transition: background var(--r7-fast) ease; }
  .contact > a:hover, .contact > a:focus-visible { background: var(--blue); }
  .contact-arc { position: absolute; left: 50%; top: 50%; width: min(77vw,1050px); aspect-ratio: 1; border: 1px solid rgba(78,128,255,.18); border-radius: 50%; transform: translate(-50%,-50%); }
  .contact-arc::after { content: ""; position: absolute; inset: 14%; border: 1px solid rgba(13,23,36,.07); border-radius: 50%; }
  .contact-arc i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 6px rgba(74,127,232,.12); }.contact-arc i:first-child { left: 3%; top: 43%; }.contact-arc i:last-child { right: 14%; bottom: 10%; }

  .site-footer { display: grid; grid-template-columns: minmax(250px,1.25fr) .72fr 1fr minmax(250px,.9fr); gap: clamp(42px,5.8vw,96px); padding: clamp(72px,7vw,110px) clamp(24px,6vw,102px) 30px; border-top: 1px solid var(--line); background: var(--white); }
  .footer-brand { display: flex; min-height: 235px; flex-direction: column; align-items: flex-start; }
  .footer-brand > a { font-family: var(--serif); font-size: 22px; }
  .footer-brand p { margin: 30px 0 0; color: var(--ink); font-size: 15px; line-height: 1.4; letter-spacing: -.02em; }
  .footer-brand > small { margin-top: auto; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
  .footer-group, .footer-contact { display: flex; flex-direction: column; align-items: flex-start; }
  .footer-group > span, .footer-contact > span { margin-bottom: 27px; color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
  .footer-group > a { width: 100%; padding: 10px 0; border-bottom: 1px solid rgba(13,26,44,.09); color: #56616d; font-size: 12px; line-height: 1.45; transition: color var(--r7-fast) ease, padding var(--r7-move) var(--r7-ease); }
  .footer-group > a:first-of-type { border-top: 1px solid rgba(13,26,44,.09); }
  .footer-group > a:hover, .footer-group > a:focus-visible { color: var(--ink); }
  .footer-contact > a { color: var(--ink); font-size: clamp(20px,1.7vw,28px); font-weight: 300; letter-spacing: -.04em; }
  .footer-contact > p { max-width: 300px; margin: 25px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
  .footer-bottom { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; margin-top: 72px; padding-top: 23px; border-top: 1px solid var(--line); color: #7f8992; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
  .footer-bottom > span:nth-child(2) { justify-self: center; }
  .footer-bottom > a { justify-self: end; color: var(--ink); }

  .navigation-overlay { position: fixed; z-index: 120; inset: 0; min-height: 100dvh; display: grid; grid-template-rows: 84px minmax(0,1fr) 46px; overflow: hidden; background: var(--white); color: var(--ink); animation: navigation-enter .62s var(--r7-ease) both; }
  .navigation-overlay[hidden] { display: none; }
  .navigation-overlay__head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(24px,4vw,68px); border-bottom: 1px solid var(--line); }
  .navigation-overlay__head > span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
  .navigation-overlay__close { justify-self: end; display: inline-grid; grid-template-columns: 23px auto; align-items: center; gap: 12px; padding: 10px 0 10px 12px; border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
  .navigation-overlay__close > i { grid-column: 1; grid-row: 1; width: 22px; height: 1px; background: currentColor; transform: rotate(45deg); }
  .navigation-overlay__close > i:nth-child(2) { transform: rotate(-45deg); }
  .navigation-overlay__close > span { grid-column: 2; grid-row: 1; font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
  .navigation-overlay__body { min-height: 0; display: grid; grid-template-columns: .78fr 1.07fr 1.15fr; }
  .navigation-overlay__body > section { position: relative; min-width: 0; padding: clamp(38px,4.2vw,72px); overflow: hidden; border-right: 1px solid var(--line); }
  .navigation-overlay__body > section:last-child { border-right: 0; }
  .navigation-overlay__label { display: block; color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .16em; }
  .navigation-overlay__primary { display: flex; flex-direction: column; }
  .navigation-overlay__primary nav { margin-top: clamp(50px,8vh,95px); border-top: 1px solid var(--line); }
  .navigation-overlay__primary nav a { display: grid; grid-template-columns: 29px 1fr; gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); transition: color var(--r7-fast) ease; }
  .navigation-overlay__primary nav small { color: var(--blue); font-size: 8px; }
  .navigation-overlay__primary nav a > span:not([aria-hidden]) { font-size: clamp(34px,3.5vw,60px); font-weight: 300; line-height: .96; letter-spacing: -.06em; }
  .navigation-overlay__primary nav a:hover, .navigation-overlay__primary nav a:focus-visible { color: var(--blue); }
  .navigation-overlay__primary > p { margin: auto 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
  .navigation-overlay__practices > div { margin-top: clamp(50px,8vh,95px); border-top: 1px solid var(--line); }
  .navigation-overlay__practices a { display: grid; grid-template-columns: 28px 1fr; gap: 14px; align-items: center; min-height: 75px; padding: 16px 0; border-bottom: 1px solid var(--line); color: #8b949e; transition: color var(--r7-fast) ease; }
  .navigation-overlay__practices a small { color: var(--blue); font-size: 8px; }
  .navigation-overlay__practices a > span:not([aria-hidden]) { font-size: clamp(18px,1.75vw,29px); font-weight: 300; line-height: 1; letter-spacing: -.035em; }
  .navigation-overlay__practices a:hover, .navigation-overlay__practices a:focus-visible, .navigation-overlay__practices a.is-active { color: var(--ink); }
  .navigation-overlay__feature { display: flex; flex-direction: column; background: var(--ice); }
  .navigation-overlay__feature-number { margin-top: clamp(35px,6vh,70px); color: var(--blue-soft); font-size: clamp(130px,16vw,270px); font-weight: 200; line-height: .72; letter-spacing: -.09em; }
  .navigation-overlay__feature > p { position: relative; z-index: 2; max-width: 460px; margin: clamp(35px,6vh,70px) 0 0; font-size: clamp(20px,2vw,33px); font-weight: 300; line-height: 1.06; letter-spacing: -.04em; }
  .navigation-overlay__feature > a { position: relative; z-index: 2; width: max-content; display: inline-block; margin-top: 30px; padding-bottom: 10px; border-bottom: 1px solid var(--ink); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
  .navigation-overlay__feature-word { position: absolute; left: 7%; bottom: 2%; max-width: 93%; overflow: hidden; color: rgba(74,127,232,.1); font-size: clamp(78px,10vw,164px); font-weight: 300; line-height: .7; letter-spacing: -.075em; white-space: nowrap; }
  .navigation-overlay__foot { display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px,4vw,68px); border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }

  @keyframes navigation-enter { from { opacity: 0; transform: translateY(-3%); } to { opacity: 1; transform: none; } }

  @media (max-width: 1100px) {
    .navigation-overlay__body { grid-template-columns: .82fr 1fr 1.18fr; }
    .navigation-overlay__body > section { padding: 36px 32px; }
  }

  @media (max-width: 820px) {
    .hero { height: auto; min-height: 1280px; }
    .site-header { grid-template-columns: 1fr auto; }
    .desktop-nav, .header-contact { display: none; }
    .menu-button { display: inline-flex; }

    .navigation-overlay { grid-template-rows: 72px minmax(0,1fr) 42px; }
    .navigation-overlay__head { grid-template-columns: 1fr auto; padding: 0 24px; }
    .navigation-overlay__head > span { display: none; }
    .navigation-overlay__close > span { display: none; }
    .navigation-overlay__close { grid-template-columns: 23px; padding-left: 14px; }
    .navigation-overlay__body { display: block; overflow-y: auto; }
    .navigation-overlay__body > section { min-height: 100%; padding: 34px 24px; border-right: 0; }
    .navigation-overlay__practices, .navigation-overlay__feature { display: none; }
    .navigation-overlay__primary nav { margin-top: 7vh; }
    .navigation-overlay__primary nav a { min-height: 70px; }
    .navigation-overlay__primary nav a > span:not([aria-hidden]) { font-size: clamp(44px,8vw,62px); }
    .navigation-overlay__primary > p { padding-top: 48px; }
    .navigation-overlay__foot { padding: 0 24px; }
    .site-footer { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .footer-brand { min-height: 220px; }
    .footer-contact { grid-column: 2; grid-row: 2; }
    .footer-bottom { grid-template-columns: 1fr auto; }
    .footer-bottom > span:nth-child(2) { display: none; }
  }

  @media (max-width: 520px) {
    .hero { min-height: 1340px; }
    .site-header { padding: 20px 18px; }
    .wordmark { font-size: 15px; }
    .menu-button { border-left: 0; padding-left: 4px; }
    .menu-button > span { display: none; }
    .down-control { width: 45px; height: 45px; }

    .navigation-overlay { grid-template-rows: 66px minmax(0,1fr) 38px; }
    .navigation-overlay__head, .navigation-overlay__foot { padding-inline: 18px; }
    .navigation-overlay__body > section { padding: 28px 18px; }
    .navigation-overlay__primary nav { margin-top: 5vh; }
    .navigation-overlay__primary nav a { grid-template-columns: 24px 1fr; min-height: 61px; padding-block: 7px; }
    .navigation-overlay__primary nav a > span:not([aria-hidden]) { font-size: clamp(43px,13vw,59px); line-height: .88; }
    .navigation-overlay__primary > p { padding-top: 32px; }
    .navigation-overlay__foot span:last-child { display: none; }

    .section-index > span { font-size: 41px; }
    .capabilities, .research { padding-left: 18px; padding-right: 18px; }

    .contact { min-height: max(760px,100svh); padding-inline: 18px; }
    .contact h2 { font-size: clamp(68px,19vw,82px); line-height: .79; }
    .contact-arc { width: 130vw; }
    .site-footer { grid-template-columns: 1fr; gap: 54px; padding: 70px 18px 26px; }
    .footer-brand { min-height: 210px; }
    .footer-contact { grid-column: auto; grid-row: auto; }
    .footer-bottom { grid-template-columns: 1fr auto; gap: 18px; margin-top: 20px; }
    .footer-bottom > span:nth-child(2) { display: none; }
  }


  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; }
  }

.index-hero, .practice-hero, .work-detail-hero, .research-detail-hero {
  position: relative;
  min-height: 860px;
  height: 100svh;
  overflow: hidden;
  background: var(--navy);
  color: white;
}

.index-hero__grid,
.practice-hero__grid,
.work-detail-hero__grid,
.research-detail-hero__grid,
.contact-hero__grid {
  position: absolute;
  inset: 0;
  opacity: .22;
  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: clamp(76px,8vw,130px) clamp(76px,8vw,130px);
  mask-image: linear-gradient(90deg,transparent,black 28%,black);
}

.index-hero__copy {
  position: absolute;
  z-index: 12;
  left: clamp(28px,7vw,118px);
  top: clamp(165px,20vh,215px);
  width: min(68vw,1050px);
}

.index-hero__copy > span, .practice-hero__copy > span, .work-detail-hero__copy > span, .research-detail-hero__copy > span {
  color: var(--blue-soft);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .17em;
}

.index-hero__copy h1 {
  max-width: 1080px;
  margin: 25px 0 0;
  font-size: clamp(62px,8.2vw,138px);
  font-weight: 300;
  line-height: .79;
  letter-spacing: -.078em;
}

.index-hero__copy h1 em, .practice-hero__copy h1 em {
  color: var(--blue-soft);
  font-family: var(--serif);
  font-weight: 400;
}

.index-hero__copy > p {
  max-width: 620px;
  margin: 34px 0 0;
  color: rgba(255,255,255,.64);
  font-size: clamp(13px,1.1vw,17px);
  line-height: 1.68;
}

.index-hero__bottom,
.practice-hero__bottom,
.work-detail-hero__bottom,
.research-detail-hero__bottom {
  position: absolute;
  z-index: 20;
  left: clamp(22px,3.3vw,58px);
  right: clamp(22px,3.3vw,58px);
  bottom: 22px;
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 28px;
  align-items: center;
}

.index-hero__bottom p,
.practice-hero__bottom p,
.work-detail-hero__bottom p,
.research-detail-hero__bottom p {
  max-width: 590px;
  margin: 0;
  color: rgba(255,255,255,.52);
  font-size: 11px;
  line-height: 1.55;
}

.index-hero__bottom > span,
.practice-hero__bottom > span,
.work-detail-hero__bottom > span,
.research-detail-hero__bottom > span {
  color: rgba(255,255,255,.46);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .15em;
}

.capabilities-hero__instrument {
  position: absolute;
  z-index: 5;
  right: clamp(25px,5.7vw,95px);
  top: 16%;
  width: min(36vw,560px);
  aspect-ratio: 1;
  border: 1px solid rgba(168,200,237,.24);
  border-radius: 50%;
}

.capabilities-hero__instrument::after { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(168,200,237,.14); border-radius: 50%; }
.capabilities-hero__instrument strong { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; color: rgba(168,200,237,.32); font-size: clamp(150px,18vw,290px); font-weight: 200; letter-spacing: -.09em; }
.capabilities-hero__instrument span { position: absolute; z-index: 3; padding: 9px 13px; border: 1px solid rgba(168,200,237,.24); border-radius: 999px; background: rgba(13,26,44,.85); color: rgba(255,255,255,.7); font-size: 9px; text-transform: uppercase; letter-spacing: .11em; }
.capabilities-hero__instrument span:nth-of-type(1) { left: -5%; top: 23%; }
.capabilities-hero__instrument span:nth-of-type(2) { right: -2%; top: 8%; }
.capabilities-hero__instrument span:nth-of-type(3) { right: -8%; bottom: 27%; }
.capabilities-hero__instrument span:nth-of-type(4) { left: 2%; bottom: 8%; }
.capabilities-hero__instrument span:nth-of-type(5) { left: -13%; top: 53%; }
.capabilities-hero__instrument > i { position: absolute; left: 50%; top: 0; width: 1px; height: 100%; background: rgba(168,200,237,.13); }
.capabilities-hero__instrument > i:last-child { left: 0; top: 50%; width: 100%; height: 1px; }

.research-hero__folio {
  position: absolute;
  z-index: 4;
  right: clamp(25px,7vw,115px);
  top: 12%;
  width: min(35vw,550px);
  height: 69%;
  border: 1px solid rgba(168,200,237,.25);
}
.research-hero__folio::after { content: ""; position: absolute; inset: 7%; border: 1px solid rgba(168,200,237,.11); }
.research-hero__folio strong { position: absolute; left: -12%; top: 8%; color: rgba(168,200,237,.28); font-family: var(--serif); font-size: clamp(260px,35vw,540px); font-weight: 400; line-height: .7; }
.research-hero__folio span { position: absolute; right: 24px; top: 22px; color: var(--blue-soft); font-size: 10px; letter-spacing: .16em; }
.research-hero__folio i { position: absolute; right: -8px; bottom: 16%; width: 16px; height: 16px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 9px rgba(74,127,232,.14); }


.work-library, .practice-library, .research-library {
  padding: clamp(110px,11vw,180px) clamp(24px,6vw,102px);
  background: var(--paper);
}

.work-library__head, .practice-library__head, .practice-instruments__head, .research-library__featured {
  display: grid;
  grid-template-columns: .52fr 1.48fr;
  gap: clamp(45px,6vw,100px);
}

.work-library__head > div:last-child h2, .practice-library__head > div:last-child h2, .practice-instruments__head > div:last-child h2 {
  max-width: 1050px;
  margin: 0;
  font-size: clamp(55px,7.2vw,118px);
  font-weight: 300;
  line-height: .84;
  letter-spacing: -.071em;
}

.work-library__head > div:last-child p, .practice-library__head > div:last-child p, .practice-instruments__head > div:last-child p {
  max-width: 650px;
  margin: 35px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.work-library__rows { margin-top: clamp(90px,10vw,155px); border-top: 1px solid var(--line); }
.work-library__row { position: relative; display: grid; grid-template-columns: 52px minmax(180px,.44fr) minmax(0,1.25fr) minmax(130px,.35fr); gap: clamp(24px,4vw,66px); align-items: center; min-height: 280px; padding: 30px 0; overflow: hidden; border-bottom: 1px solid var(--line); }
.work-library__row > span { align-self: start; padding-top: 8px; color: var(--blue); font-size: 12px; }
.work-library__image { height: 220px; overflow: hidden; }
.work-library__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); transition: transform .7s var(--r7-ease); }
.work-library__row:hover .work-library__image img { transform: scale(1.035); }
.work-library__copy small { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.work-library__copy h2 { margin: 18px 0 0; font-size: clamp(33px,4vw,66px); font-weight: 300; line-height: .91; letter-spacing: -.057em; }
.work-library__copy p { max-width: 730px; margin: 22px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.work-library__status { height: 100%; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; padding: 8px 8px 8px 0; text-align: right; }
.work-library__status small { max-width: 140px; color: #7c8790; font-size: 9px; line-height: 1.5; text-transform: uppercase; letter-spacing: .11em; }
.work-library__status b { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); font-weight: 400; transition: background var(--r7-fast) ease,color var(--r7-fast) ease,border-color var(--r7-fast) ease; }
.work-library__row:hover .work-library__status b { border-color: var(--blue); background: var(--blue); color: white; }

.evidence-standard,
.problem-router,
.research-method,
.practice-conditions,
.practice-method,
.work-instrument,
.engagement-fit {
  position: relative;
  padding: clamp(110px,11vw,180px) clamp(24px,6vw,102px);
  overflow: hidden;
  background: var(--navy);
  color: white;
}

.evidence-standard__statement,
.research-method__statement,
.practice-conditions__head,
.problem-router__head,
.engagement-fit__statement {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: clamp(50px,8vw,135px);
  align-items: end;
  margin-top: clamp(80px,9vw,140px);
}
.evidence-standard__statement h2,
.research-method__statement h2,
.practice-conditions__head h2,
.problem-router__head h2,
.engagement-fit__statement h2 {
  max-width: 1030px;
  margin: 0;
  font-size: clamp(54px,7vw,115px);
  font-weight: 300;
  line-height: .85;
  letter-spacing: -.069em;
}
.evidence-standard__statement p,
.research-method__statement p,
.practice-conditions__head p,
.problem-router__head p,
.engagement-fit__statement p {
  max-width: 620px;
  margin: 0 0 8px;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.7;
}
.evidence-standard__steps { display: grid; grid-template-columns: repeat(4,1fr); margin-top: clamp(90px,10vw,150px); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.evidence-standard__steps > div { min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; padding: 27px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.evidence-standard__steps span { color: var(--blue-soft); font-size: 10px; }
.evidence-standard__steps strong { font-size: clamp(22px,2vw,31px); font-weight: 300; letter-spacing: -.04em; }


.practice-library__list { margin-top: clamp(90px,10vw,155px); border-top: 1px solid var(--line); }
.practice-library__item { position: relative; display: grid; grid-template-columns: 55px minmax(0,1.1fr) minmax(260px,.55fr) 50px; gap: clamp(25px,4.2vw,72px); align-items: center; min-height: 390px; padding: 40px 0; overflow: hidden; border-bottom: 1px solid var(--line); }
.practice-library__item > span { align-self: start; color: var(--blue); font-size: 12px; }
.practice-library__item small { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.practice-library__item h2 { max-width: 750px; margin: 23px 0 0; font-size: clamp(46px,5.7vw,94px); font-weight: 300; line-height: .83; letter-spacing: -.07em; }
.practice-library__item p { max-width: 720px; margin: 28px 0 0; color: var(--muted); font-size: 14px; line-height: 1.68; }
.practice-library__item figure { position: relative; height: 300px; margin: 0; overflow: hidden; }
.practice-library__item figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(13,26,44,.65)); }
.practice-library__item img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.68); transition: transform .7s var(--r7-ease); }
.practice-library__item:hover img { transform: scale(1.04); }
.practice-library__item figcaption { position: absolute; z-index: 2; left: 17px; bottom: 15px; color: rgba(255,255,255,.72); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.practice-library__item > b { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); font-weight: 400; }
.practice-library__item > i { position: absolute; z-index: -1; right: 27%; bottom: -18%; color: rgba(74,127,232,.055); font-size: 260px; font-style: normal; font-weight: 200; line-height: 1; letter-spacing: -.09em; }

.problem-router__rows { margin-top: clamp(85px,9vw,140px); border-top: 1px solid var(--line-light); }
.problem-router__rows > a { display: grid; grid-template-columns: 42px minmax(0,1.1fr) minmax(260px,.65fr) 35px; gap: 25px; align-items: center; min-height: 128px; padding: 25px 12px 25px 0; border-bottom: 1px solid var(--line-light); transition: background var(--r7-fast) ease,padding var(--r7-move) var(--r7-ease); }
.problem-router__rows > a:hover { padding-left: 16px; background: rgba(168,200,237,.07); }
.problem-router__rows small { color: var(--blue-soft); font-size: 9px; }
.problem-router__rows span { font-size: clamp(22px,2.35vw,38px); font-weight: 300; line-height: 1.05; letter-spacing: -.04em; }
.problem-router__rows strong { color: rgba(255,255,255,.54); font-size: 12px; font-weight: 400; line-height: 1.45; }
.problem-router__rows b { color: var(--blue-soft); font-size: 18px; font-weight: 400; }


.research-library__featured > .section-index { align-self: start; }
.research-library__featured > a { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(40px,6vw,95px); align-items: center; }
.research-library__featured figure { position: relative; height: 620px; margin: 0; overflow: hidden; }
.research-library__featured figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 60%,rgba(13,26,44,.7)); }
.research-library__featured figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65); }
.research-library__featured figcaption { position: absolute; z-index: 2; left: 20px; bottom: 20px; color: rgba(255,255,255,.74); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.research-library__featured > a > div > span { color: var(--blue); font-size: clamp(115px,13vw,210px); font-weight: 200; line-height: .7; letter-spacing: -.09em; }
.research-library__featured > a small { display: block; margin-top: 42px; color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.research-library__featured > a h2 { max-width: 820px; margin: 21px 0 0; font-size: clamp(46px,5.7vw,93px); font-weight: 300; line-height: .84; letter-spacing: -.069em; }
.research-library__featured > a p { max-width: 680px; margin: 28px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.research-library__featured > a b { display: inline-block; margin-top: 34px; padding-bottom: 10px; border-bottom: 1px solid var(--ink); font-size: 10px; font-weight: 400; text-transform: uppercase; letter-spacing: .11em; }
.research-library__archive { margin-top: clamp(110px,12vw,185px); }
.research-library__archive-head { display: grid; grid-template-columns: 1fr 220px 120px 40px; gap: 25px; margin-left: 70px; padding: 0 0 18px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.research-library__archive > a { display: grid; grid-template-columns: 45px minmax(0,1fr) 220px 120px 40px; gap: 25px; align-items: center; min-height: 190px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.research-library__archive > a > small { color: var(--blue); font-size: 10px; }
.research-library__archive h2 { margin: 0; font-size: clamp(29px,3.3vw,54px); font-weight: 300; line-height: .94; letter-spacing: -.052em; }
.research-library__archive p { max-width: 720px; margin: 17px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.research-library__archive > a > span { color: #727d88; font-size: 10px; line-height: 1.5; }
.research-library__archive > a > b { color: var(--blue); font-size: 18px; font-weight: 400; }
.research-method__sequence { display: grid; grid-template-columns: repeat(4,1fr); margin-top: clamp(90px,10vw,150px); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.research-method__sequence > div { min-height: 300px; padding: 28px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.research-method__sequence span { color: var(--blue-soft); font-size: 10px; }
.research-method__sequence strong { display: block; margin-top: 75px; font-size: clamp(29px,3vw,47px); font-weight: 300; letter-spacing: -.05em; }
.research-method__sequence p { max-width: 280px; margin: 25px 0 0; color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.65; }
.engagement-fit__rows { margin-top: clamp(85px,9vw,140px); border-top: 1px solid var(--line-light); }
.engagement-fit__rows > div { display: grid; grid-template-columns: 120px minmax(300px,.8fr) minmax(300px,1.2fr); gap: 35px; align-items: center; min-height: 125px; padding: 24px 0; border-bottom: 1px solid var(--line-light); }
.engagement-fit__rows small { color: var(--blue-soft); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.engagement-fit__rows strong { font-size: clamp(22px,2.2vw,35px); font-weight: 300; line-height: 1.05; letter-spacing: -.04em; }
.engagement-fit__rows p { max-width: 680px; margin: 0; color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.65; }
.inquiry-form__form { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(42px,5vw,70px) clamp(45px,6vw,100px); margin-top: clamp(90px,10vw,150px); padding-top: clamp(45px,5vw,70px); border-top: 1px solid var(--line); }
.inquiry-form__field { display: flex; flex-direction: column; gap: 14px; }
.inquiry-form__field--wide { grid-column: 1 / -1; }
.inquiry-form__field label { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.inquiry-form__field input,
.inquiry-form__field select,
.inquiry-form__field textarea { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font-size: clamp(17px,1.5vw,24px); font-weight: 300; letter-spacing: -.02em; }
.inquiry-form__field textarea { resize: vertical; line-height: 1.5; }
.inquiry-form__field select { cursor: pointer; }
.inquiry-form__field input:focus,
.inquiry-form__field select:focus,
.inquiry-form__field textarea:focus { outline: none; border-bottom-color: var(--blue); }
.inquiry-form__trap { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.inquiry-form__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 30px; }
.inquiry-form__actions button { display: inline-flex; align-items: center; gap: 28px; padding: 14px 22px; border: 0; border-radius: 999px; background: var(--navy); color: white; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }
.inquiry-form__actions button:hover { background: var(--navy-3); }
.inquiry-form__actions button:disabled { opacity: .55; cursor: default; }
.inquiry-form__actions p { margin: 0; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }


.practice-hero__copy { position: absolute; z-index: 12; left: clamp(28px,7vw,118px); top: clamp(150px,18vh,205px); width: min(67vw,1060px); }
.practice-hero__copy h1 { max-width: 1110px; margin: 25px 0 0; font-size: clamp(57px,7.6vw,124px); font-weight: 300; line-height: .79; letter-spacing: -.077em; }
.practice-hero__copy > p { max-width: 650px; margin: 33px 0 0; color: rgba(255,255,255,.64); font-size: clamp(13px,1.1vw,17px); line-height: 1.68; }
.practice-hero__figure { position: absolute; z-index: 4; left: 69%; top: 47%; width: min(61vw,950px); aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(168,200,237,.22); border-radius: 50%; transform: translate(-50%,-50%); }
.practice-hero__figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(13,26,44,.72),transparent 58%),linear-gradient(180deg,rgba(13,26,44,.08),rgba(13,26,44,.55)); }
.practice-hero__figure img { width: 100%; height: 100%; object-fit: cover; opacity: .65; filter: saturate(.65); }
.practice-hero__figure i { position: absolute; z-index: 3; left: 50%; top: 0; width: 1px; height: 100%; background: rgba(168,200,237,.18); }
.practice-hero__figure i:nth-of-type(2) { left: 0; top: 50%; width: 100%; height: 1px; }
.practice-hero__figure b { position: absolute; z-index: 4; right: 10%; bottom: 13%; color: rgba(168,200,237,.55); font-size: clamp(130px,17vw,270px); font-weight: 200; line-height: .7; letter-spacing: -.09em; }
.practice-hero__index { position: absolute; z-index: 20; left: clamp(110px,12vw,190px); right: clamp(28px,5.8vw,98px); bottom: 104px; height: 58px; display: grid; grid-template-columns: 1.1fr repeat(4,1fr); border-block: 1px solid rgba(255,255,255,.16); }
.practice-hero__index > span { display: flex; align-items: center; color: rgba(255,255,255,.48); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.practice-hero__index a { display: flex; align-items: center; gap: 10px; padding: 0 13px; border-left: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.52); font-size: 10px; }
.practice-hero__index a:hover { color: white; }
.practice-hero__index small { color: var(--blue-soft); font-size: 8px; }

.practice-premise { position: relative; padding: clamp(120px,12vw,195px) clamp(24px,6vw,102px); overflow: hidden; background: var(--paper); }
.practice-premise__arc { position: absolute; right: -430px; top: -550px; width: 1000px; height: 1000px; border: 1px solid rgba(74,127,232,.16); border-radius: 50%; }
.practice-premise__statement { position: relative; z-index: 2; display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(60px,8vw,140px); align-items: end; margin-top: clamp(80px,9vw,140px); }
.practice-premise__statement h2 { margin: 0; font-size: clamp(48px,6.6vw,108px); font-weight: 300; line-height: .85; letter-spacing: -.067em; }
.practice-premise__statement p { margin: 0 0 8px; color: var(--muted); font-size: clamp(14px,1.2vw,18px); line-height: 1.72; }
.practice-premise__ledger { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto 1.1fr auto 1fr; gap: 25px; align-items: center; margin-top: clamp(100px,11vw,170px); padding: 28px 0; border-block: 1px solid var(--line); }
.practice-premise__ledger > span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.practice-premise__ledger > span:last-child { text-align: right; }
.practice-premise__ledger strong { text-align: center; font-size: clamp(20px,2vw,31px); font-weight: 300; letter-spacing: -.04em; }
.practice-premise__ledger i { width: clamp(60px,8vw,130px); height: 1px; background: linear-gradient(90deg,rgba(74,127,232,.2),var(--blue),rgba(74,127,232,.2)); }

.practice-conditions__grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: clamp(90px,10vw,150px); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.practice-conditions__grid article { min-height: 340px; padding: 28px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.practice-conditions__grid span { color: var(--blue-soft); font-size: 9px; }
.practice-conditions__grid h3 { margin: 95px 0 0; font-size: clamp(27px,2.8vw,44px); font-weight: 300; line-height: .97; letter-spacing: -.05em; }
.practice-conditions__grid p { max-width: 310px; margin: 25px 0 0; color: rgba(255,255,255,.57); font-size: 12px; line-height: 1.68; }

.practice-instruments { padding: clamp(120px,12vw,195px) clamp(24px,6vw,102px); overflow: hidden; background: var(--ice); }
.practice-instruments__body { display: grid; grid-template-columns: .52fr 1.48fr; gap: clamp(45px,6vw,100px); margin-top: clamp(95px,10vw,155px); }
.practice-instruments__number { color: var(--blue); font-size: clamp(140px,18vw,285px); font-weight: 200; line-height: .7; letter-spacing: -.09em; }
.practice-instruments__rows { border-top: 1px solid var(--line); }
.practice-instruments__rows article { display: grid; grid-template-columns: 40px 1fr; gap: 22px; align-items: center; min-height: 135px; padding: 25px 10px 25px 0; border-bottom: 1px solid var(--line); }
.practice-instruments__rows article > span { color: var(--blue); font-size: 9px; }
.practice-instruments__rows h3 { margin: 0; font-size: clamp(26px,2.7vw,43px); font-weight: 300; line-height: .98; letter-spacing: -.048em; }
.practice-instruments__rows p { max-width: 760px; margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.62; }

.practice-method__head { margin-top: clamp(80px,9vw,140px); }
.practice-method__head h2 { margin: 0; font-size: clamp(56px,7.2vw,118px); font-weight: 300; line-height: .82; letter-spacing: -.073em; }
.practice-method__steps { display: grid; grid-template-columns: repeat(4,1fr); margin-top: clamp(90px,10vw,150px); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.practice-method__steps article { min-height: 300px; padding: 28px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.practice-method__steps span { color: var(--blue-soft); font-size: 9px; }
.practice-method__steps h3 { margin: 85px 0 0; font-size: clamp(31px,3.2vw,51px); font-weight: 300; letter-spacing: -.05em; }
.practice-method__steps p { max-width: 300px; margin: 24px 0 0; color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.66; }
.practice-related-work { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; padding: clamp(90px,9vw,145px) clamp(24px,6vw,102px); background: white; }
.practice-related-work > div > span { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.practice-related-work h2 { max-width: 900px; margin: 25px 0 0; font-size: clamp(45px,5.8vw,94px); font-weight: 300; line-height: .85; letter-spacing: -.069em; }
.practice-related-work p { max-width: 650px; margin: 28px 0 0; color: var(--muted); font-size: 13px; line-height: 1.68; }
.practice-related-work > a { display: inline-flex; gap: 30px; padding: 14px 20px; border-radius: 999px; background: var(--navy); color: white; font-size: 10px; white-space: nowrap; }
.work-detail-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(13,26,44,.96) 0%,rgba(13,26,44,.71) 51%,rgba(13,26,44,.35)),linear-gradient(180deg,rgba(13,26,44,.25),rgba(13,26,44,.9)); }
.work-detail-hero__copy { position: absolute; z-index: 8; left: clamp(28px,7vw,118px); top: clamp(180px,22vh,245px); width: min(70vw,1070px); }
.work-detail-hero__copy h1 { max-width: 1100px; margin: 25px 0 0; font-size: clamp(65px,9vw,146px); font-weight: 300; line-height: .78; letter-spacing: -.08em; }
.work-detail-hero__copy p { max-width: 680px; margin: 34px 0 0; color: rgba(255,255,255,.64); font-size: 14px; line-height: 1.7; }
.work-detail-hero__number { position: absolute; z-index: 4; right: -2%; top: 9%; color: rgba(168,200,237,.25); font-size: clamp(280px,42vw,660px); font-weight: 200; line-height: .78; letter-spacing: -.1em; }
.work-detail-hero__meta { position: absolute; z-index: 9; right: clamp(28px,5.5vw,92px); bottom: 115px; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; color: rgba(255,255,255,.53); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.work-position { padding: clamp(120px,12vw,195px) clamp(24px,6vw,102px); background: var(--paper); }
.work-position__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: clamp(85px,9vw,140px); border: 1px solid var(--line); background: var(--line); }
.work-position__columns article { min-height: 600px; padding: clamp(35px,5vw,80px); background: white; }
.work-position__columns span { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.work-position__columns h2 { margin: clamp(120px,13vw,210px) 0 0; font-size: clamp(37px,4.4vw,72px); font-weight: 300; line-height: .9; letter-spacing: -.061em; }
.work-instrument__statement { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(55px,8vw,135px); align-items: end; margin-top: clamp(85px,9vw,140px); }
.work-instrument__statement h2 { margin: 0; font-size: clamp(53px,6.8vw,112px); font-weight: 300; line-height: .85; letter-spacing: -.069em; }
.work-instrument__statement p { margin: 0 0 8px; color: rgba(255,255,255,.59); font-size: 13px; line-height: 1.7; }
.work-instrument__chain { display: grid; grid-template-columns: repeat(5,1fr); margin-top: clamp(90px,10vw,150px); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.work-instrument__chain > div { position: relative; min-height: 245px; display: flex; flex-direction: column; justify-content: space-between; padding: 27px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.work-instrument__chain span { color: var(--blue-soft); font-size: 9px; }
.work-instrument__chain strong { max-width: 220px; font-size: clamp(20px,2vw,30px); font-weight: 300; line-height: 1.05; letter-spacing: -.04em; }
.work-instrument__chain i { position: absolute; z-index: 2; right: -5px; top: 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 6px rgba(74,127,232,.13); }
.work-instrument__chain > div:last-child i { display: none; }
.work-disclosure-room { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(55px,9vw,150px); align-items: end; padding: clamp(100px,10vw,160px) clamp(24px,6vw,102px); background: var(--ice); }
.work-disclosure-room > div > span { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.work-disclosure-room h2 { margin: 26px 0 0; font-size: clamp(49px,6.2vw,101px); font-weight: 300; line-height: .84; letter-spacing: -.071em; }
.work-disclosure-room > p { max-width: 650px; margin: 0 0 7px; color: var(--muted); font-size: 14px; line-height: 1.72; }


.research-detail-hero__number { position: absolute; z-index: 3; right: -3%; top: 8%; color: rgba(168,200,237,.15); font-size: clamp(290px,43vw,680px); font-weight: 200; line-height: .75; letter-spacing: -.1em; }
.research-detail-hero__copy { position: absolute; z-index: 8; left: clamp(28px,7vw,118px); top: clamp(170px,21vh,230px); width: min(73vw,1130px); }
.research-detail-hero__copy h1 { max-width: 1120px; margin: 25px 0 0; font-size: clamp(62px,8.4vw,136px); font-weight: 300; line-height: .79; letter-spacing: -.078em; }
.research-detail-hero__copy p { max-width: 730px; margin: 35px 0 0; color: rgba(255,255,255,.63); font-size: 14px; line-height: 1.72; }
.research-article { display: grid; grid-template-columns: minmax(250px,.52fr) minmax(0,1.48fr); gap: clamp(55px,8vw,135px); padding: clamp(110px,11vw,180px) clamp(24px,6vw,102px); background: var(--paper); }
.research-article__aside { position: sticky; top: 35px; align-self: start; display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.research-article__aside > span { padding: 20px 0; color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.research-article__aside > a { display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.4; }
.research-article__aside small { color: var(--blue); font-size: 8px; }
.research-article__body { max-width: 930px; }
.research-article__thesis { padding: 0 0 clamp(90px,10vw,150px); }
.research-article__thesis span,.research-article__body > section > span,.research-article__body blockquote span { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.research-article__thesis p { margin: 28px 0 0; font-family: var(--serif); font-size: clamp(35px,4.5vw,71px); line-height: 1.02; letter-spacing: -.045em; }
.research-article__body > section { padding: clamp(75px,8vw,125px) 0; border-top: 1px solid var(--line); scroll-margin-top: 30px; }
.research-article__body > section h2 { max-width: 870px; margin: 28px 0 42px; font-size: clamp(39px,4.8vw,77px); font-weight: 300; line-height: .9; letter-spacing: -.061em; }
.research-article__body > section p { max-width: 760px; margin: 0; color: #45515d; font-family: var(--serif); font-size: clamp(18px,1.7vw,24px); line-height: 1.62; }
.research-article__body > section p + p { margin-top: 26px; }
.research-article__body blockquote { margin: clamp(80px,9vw,140px) 0 0; padding: clamp(50px,6vw,95px); border: 0; background: var(--navy); color: white; }
.research-article__body blockquote p { margin: 34px 0 0; font-size: clamp(37px,4.6vw,74px); font-weight: 300; line-height: .92; letter-spacing: -.058em; }
.research-article__credit { display: flex; justify-content: space-between; gap: 25px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .11em; }
.research-next { padding: clamp(100px,10vw,160px) clamp(24px,6vw,102px); background: var(--ice); }
.research-next > span { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.research-next > div { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 38px; border: 1px solid var(--line); background: var(--line); }
.research-next a { min-height: 370px; display: flex; flex-direction: column; padding: clamp(30px,4vw,60px); background: white; }
.research-next small { color: var(--blue); font-size: 9px; }
.research-next h2 { max-width: 650px; margin: 85px 0 0; font-size: clamp(35px,4vw,64px); font-weight: 300; line-height: .91; letter-spacing: -.057em; }
.research-next b { margin-top: auto; align-self: flex-start; padding-bottom: 8px; border-bottom: 1px solid var(--ink); font-size: 9px; font-weight: 400; text-transform: uppercase; letter-spacing: .11em; }

@media (max-width: 1100px) {
  .index-hero__copy { width: min(74vw,980px); }
  .capabilities-hero__instrument { right: -4%; width: 47vw; opacity: .75; }
  .research-hero__folio { right: 2%; width: 40vw; opacity: .75; }
  .practice-hero__copy { width: min(76vw,990px); }
  .practice-hero__figure { left: 73%; width: 72vw; }
  .work-library__row { grid-template-columns: 42px minmax(150px,.38fr) minmax(0,1.25fr) 120px; gap: 30px; }
}

@media (max-width: 820px) {
  .index-hero,.practice-hero,.work-detail-hero,.research-detail-hero { height: auto; min-height: 1120px; }
  .index-hero__copy,.practice-hero__copy,.work-detail-hero__copy,.research-detail-hero__copy { top: 130px; left: 24px; width: calc(100% - 48px); }
  .index-hero__copy h1,.practice-hero__copy h1,.work-detail-hero__copy h1,.research-detail-hero__copy h1 { font-size: clamp(59px,10.8vw,88px); }
  .capabilities-hero__instrument { top: 420px; right: -10%; width: 78vw; }
  .research-hero__folio { top: 420px; right: -6%; width: 65vw; height: 52%; }
  .index-hero__bottom,.practice-hero__bottom,.work-detail-hero__bottom,.research-detail-hero__bottom { grid-template-columns: 58px 1fr; }
  .index-hero__bottom > span,.practice-hero__bottom > span,.work-detail-hero__bottom > span,.research-detail-hero__bottom > span { display: none; }
  .work-library__head, .practice-library__head, .practice-instruments__head { grid-template-columns: 1fr; }
  .work-library__row { grid-template-columns: 34px minmax(170px,.5fr) 1fr; min-height: 290px; }
  .work-library__status { display: none; }
  .evidence-standard__statement,.research-method__statement,.practice-conditions__head,.problem-router__head,.engagement-fit__statement,.practice-premise__statement,.work-instrument__statement { grid-template-columns: 1fr; }
  .evidence-standard__statement p,.research-method__statement p,.practice-conditions__head p,.problem-router__head p,.engagement-fit__statement p,.practice-premise__statement p,.work-instrument__statement p { max-width: 620px; margin-left: 18%; }
  .evidence-standard__steps, .research-method__sequence, .practice-conditions__grid, .practice-method__steps { grid-template-columns: repeat(2,1fr); }
  .practice-library__item { grid-template-columns: 42px 1fr 42px; }
  .practice-library__item figure { grid-column: 2 / -1; height: 360px; }
  .practice-library__item > b { grid-column: 3; grid-row: 1; }
  .problem-router__rows > a { grid-template-columns: 34px 1fr 32px; }
  .problem-router__rows strong { grid-column: 2; }
  .problem-router__rows b { grid-column: 3; grid-row: 1 / span 2; }
  .research-library__featured { grid-template-columns: 1fr; }
  .research-library__featured > a { grid-template-columns: .75fr 1.25fr; }
  .research-library__featured figure { height: 520px; }
  .research-library__archive-head { display: none; }
  .research-library__archive > a { grid-template-columns: 42px 1fr 35px; }
  .research-library__archive > a > span { display: none; }
  .engagement-fit__rows > div { grid-template-columns: 100px 1fr; }
  .engagement-fit__rows p { grid-column: 2; }
  .practice-hero__figure { top: 57%; left: 68%; width: 96vw; }
  .practice-hero__index { left: 24px; right: 24px; overflow-x: auto; grid-template-columns: repeat(4,minmax(150px,1fr)); scrollbar-width: none; }
  .practice-hero__index > span { display: none; }
  .practice-hero__index a:first-of-type { border-left: 0; }
  .practice-premise__ledger { grid-template-columns: 1fr; text-align: left; }
  .practice-premise__ledger i { width: 1px; height: 45px; margin-left: 12px; background: var(--blue); }
  .practice-premise__ledger strong { text-align: left; }
  .practice-premise__ledger > span:last-child { text-align: left; }
  .practice-instruments__body { grid-template-columns: 1fr; }
  .practice-instruments__number { font-size: 190px; }
  .practice-related-work { grid-template-columns: 1fr; }
  .practice-related-work > a { justify-self: start; }
  .work-detail-hero__number,.research-detail-hero__number { top: 34%; font-size: 64vw; }
  .work-detail-hero__meta { display: none; }
  .work-position__columns { grid-template-columns: 1fr; }
  .work-position__columns article { min-height: 500px; }
  .work-instrument__chain { grid-template-columns: repeat(2,1fr); }
  .work-instrument__chain > div:last-child { grid-column: 1 / -1; }
  .work-instrument__chain > div:nth-child(even) i { display: none; }
  .work-disclosure-room { grid-template-columns: 1fr; }
  .research-article { grid-template-columns: 1fr; }
  .research-article__aside { position: static; }
}

@media (max-width: 520px) {
  .index-hero,.practice-hero,.work-detail-hero,.research-detail-hero { min-height: 1110px; }
  .index-hero__copy,.practice-hero__copy,.work-detail-hero__copy,.research-detail-hero__copy { top: 105px; left: 18px; width: calc(100% - 36px); }
  .index-hero__copy h1,.practice-hero__copy h1,.work-detail-hero__copy h1,.research-detail-hero__copy h1 { font-size: clamp(52px,14.5vw,66px); line-height: .79; }
  .index-hero__copy > p,.practice-hero__copy > p,.work-detail-hero__copy p,.research-detail-hero__copy p { font-size: 13px; }
  .capabilities-hero__instrument { top: 470px; right: -43%; width: 130vw; }
  .capabilities-hero__instrument span { font-size: 8px; }
  .research-hero__folio { top: 465px; right: -32%; width: 105vw; height: 47%; }
  .research-hero__folio strong { font-size: 390px; }
  .index-hero__bottom,.practice-hero__bottom,.work-detail-hero__bottom,.research-detail-hero__bottom { left: 18px; right: 18px; grid-template-columns: 55px 1fr; }
  .index-hero__bottom p,.practice-hero__bottom p,.work-detail-hero__bottom p,.research-detail-hero__bottom p { font-size: 10px; }
  .work-library, .practice-library, .research-library, .evidence-standard, .problem-router, .research-method, .practice-conditions, .practice-method, .work-instrument, .engagement-fit, .practice-premise, .practice-instruments, .work-position, .work-disclosure-room, .research-article, .research-next { padding-left: 18px; padding-right: 18px; }
  .work-library__head > div:last-child h2, .practice-library__head > div:last-child h2, .practice-instruments__head > div:last-child h2, .evidence-standard__statement h2, .research-method__statement h2, .practice-conditions__head h2, .problem-router__head h2, .engagement-fit__statement h2 { font-size: clamp(49px,14vw,63px); line-height: .82; }
  .work-library__row { grid-template-columns: 30px 1fr; gap: 18px; min-height: 0; padding: 28px 0 45px; }
  .work-library__image { grid-column: 2; height: 260px; }
  .work-library__copy { grid-column: 2; }
  .work-library__copy h2 { font-size: 42px; }
  .evidence-standard__statement p,.research-method__statement p,.practice-conditions__head p,.problem-router__head p,.engagement-fit__statement p,.practice-premise__statement p,.work-instrument__statement p { margin-left: 0; }
  .evidence-standard__steps, .research-method__sequence, .practice-conditions__grid, .practice-method__steps { grid-template-columns: 1fr; }
  .evidence-standard__steps > div, .research-method__sequence > div, .practice-conditions__grid article, .practice-method__steps article { min-height: 240px; }
  .practice-library__item { grid-template-columns: 30px 1fr; gap: 18px; min-height: 0; padding: 40px 0; }
  .practice-library__item > div { grid-column: 2; }
  .practice-library__item h2 { font-size: 49px; }
  .practice-library__item figure { grid-column: 2; height: 330px; }
  .practice-library__item > b { display: none; }
  .problem-router__rows > a { grid-template-columns: 27px 1fr 20px; gap: 12px; min-height: 160px; }
  .problem-router__rows span { font-size: 25px; }
  .research-library__featured > a { grid-template-columns: 1fr; }
  .research-library__featured figure { height: 520px; }
  .research-library__featured > a h2 { font-size: 50px; }
  .research-library__archive > a { grid-template-columns: 30px 1fr 20px; gap: 14px; min-height: 220px; }
  .research-library__archive h2 { font-size: 35px; }
  .inquiry-form__form { grid-template-columns: 1fr; }
  .engagement-fit__rows > div { grid-template-columns: 1fr; gap: 15px; padding: 28px 0; }
  .engagement-fit__rows p { grid-column: auto; }
  .practice-hero__figure { top: 58%; left: 78%; width: 145vw; }
  .practice-hero__index { left: 18px; right: 18px; bottom: 100px; }
  .practice-premise__statement h2 { font-size: clamp(45px,13.3vw,59px); }
  .practice-instruments__rows article { grid-template-columns: 27px 1fr; gap: 13px; min-height: 155px; }
  .practice-instruments__rows h3 { font-size: 28px; }
  .practice-related-work { padding-left: 18px; padding-right: 18px; }
  .practice-related-work h2 { font-size: 52px; }
  .work-detail-hero__number,.research-detail-hero__number { top: 42%; right: -12%; font-size: 82vw; }
  .work-position__columns article { min-height: 420px; padding: 28px 22px; }
  .work-position__columns h2 { margin-top: 100px; font-size: 39px; }
  .work-instrument__statement h2 { font-size: 50px; }
  .work-instrument__chain { grid-template-columns: 1fr; }
  .work-instrument__chain > div:last-child { grid-column: auto; }
  .work-instrument__chain > div i { display: none; }
  .work-disclosure-room h2 { font-size: 50px; }
  .research-article__thesis p { font-size: 38px; }
  .research-article__body > section h2 { font-size: 42px; }
  .research-article__body > section p { font-size: 19px; }
  .research-article__body blockquote { padding: 38px 24px; }
  .research-article__body blockquote p { font-size: 39px; }
  .research-article__credit { flex-direction: column; }
  .research-next > div { grid-template-columns: 1fr; }
  .research-next a { min-height: 320px; }
}

@media (prefers-reduced-motion: reduce) {
  .work-library__image img,.practice-library__item img { transition: none; }
}


.not-found-page { position: relative; min-height: 100svh; overflow: hidden; background: var(--navy); color: white; }
.not-found-page > header { position: absolute; z-index: 5; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; align-items: center; padding: 26px clamp(22px,3.3vw,58px); }
.not-found-page > header > span { color: rgba(255,255,255,.48); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; }
.not-found-page__arc { position: absolute; left: 73%; top: 50%; width: min(78vw,1200px); aspect-ratio: 1; border: 1px solid rgba(168,200,237,.22); border-radius: 50%; transform: translate(-50%,-50%); }
.not-found-page__arc::after { content: ""; position: absolute; inset: 19%; border: 1px solid rgba(168,200,237,.12); border-radius: 50%; }
.not-found-page__arc i { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 7px rgba(74,127,232,.14); }
.not-found-page__arc i:first-child { left: 4%; top: 38%; }.not-found-page__arc i:last-child { right: 12%; bottom: 16%; }
.not-found-page__copy { position: relative; z-index: 3; width: min(82vw,1120px); padding: clamp(165px,20vh,220px) 0 90px clamp(28px,7vw,118px); }
.not-found-page__copy > span { color: var(--blue-soft); font-size: 10px; text-transform: uppercase; letter-spacing: .16em; }
.not-found-page__copy h1 { margin: 28px 0 0; font-size: clamp(70px,10vw,160px); font-weight: 300; line-height: .77; letter-spacing: -.08em; }
.not-found-page__copy h1 em { color: var(--blue-soft); font-family: var(--serif); font-weight: 400; }
.not-found-page__copy p { max-width: 630px; margin: 38px 0 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.7; }
.not-found-page__copy > div { display: flex; gap: 12px; margin-top: 40px; }
.not-found-page__copy > div a { padding: 14px 19px; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; font-size: 10px; }
.not-found-page__copy > div a:first-child { border-color: white; background: white; color: var(--ink); }

@media (max-width: 520px) {
  .not-found-page > header > span { display: none; }
  .not-found-page__arc { left: 90%; width: 175vw; }
  .not-found-page__copy { width: calc(100% - 18px); padding-left: 18px; padding-top: 145px; }
  .not-found-page__copy h1 { font-size: 17vw; }
  .not-found-page__copy p { font-size: 13px; }
  .not-found-page__copy > div { flex-direction: column; align-items: flex-start; }
}
