@font-face {
  font-family:Marcellus;
  src:url('assets/marcellus-latin.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
:root {
  --blue:#1644bd;
  --cobalt:#153caa;
  --deep:#0a1a43;
  --ink:#14203c;
  --paper:#fff;
  --pale:#f2f5fa;
  --line:#dce1eb;
  --muted:#636b7d;
  --sky:#b6d7f7;
  --serif:Marcellus,Georgia,serif;
  --sans:Arial,Helvetica,sans-serif;
  --gutter:clamp(24px,5.2vw,90px);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button, input, textarea, select {
  font:inherit;
}
button {
  cursor:pointer;
}
button, a, input, textarea, select, summary {
  -webkit-tap-highlight-color:transparent;
}
button {
  color:inherit;
}
img {
  max-width:100%;
  display:block;
}
p, h1, h2, h3, h4 {
  margin:0;
}
button {
  border:0;
}
button:disabled {
  cursor:default;
}
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline:2px solid #4386f3;
  outline-offset:5px;
}
::selection {
  background:#c6d9ff;
  color:#092354;
}
h1, h2, h3 {
  font-family:var(--serif);
  font-weight:400;
}
h2 {
  font-size:clamp(38px,4.3vw,68px);
  line-height:1.12;
  letter-spacing:-.04em;
}
h2 em, h1 em {
  font-family:Georgia,serif;
  font-weight:400;
  letter-spacing:-.04em;
  color:var(--blue);
}
.wrap {
  max-width:1600px;
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.section {
  padding-block:105px;
}
.eyebrow {
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.6;
  display:flex;
  align-items:center;
  gap:10px;
}
.live-dot {
  width:6px;
  height:6px;
  background:var(--blue);
  border-radius:50%;
  display:inline-block;
  flex:none;
}
.live-dot {
  background:var(--sky);
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:70px;
  margin-bottom:55px;
}
.section-heading>p {
  max-width:325px;
  color:var(--muted);
  line-height:1.7;
}
.text-link {
  display:inline-flex;
  gap:26px;
  align-items:center;
  font-size:14px;
  line-height:1.6;
  padding-block:9px;
  border-bottom:1px solid currentColor;
  transition:gap .25s;
}
.text-link:hover {
  gap:40px;
}
.text-link>span {
  font-size:20px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding:17px 22px;
  min-height:56px;
  font-size:14px;
  line-height:1.5;
  transition:background .25s,transform .25s;
}
.button:hover {
  transform:translateY(-3px);
}
.button>span {
  font-size:23px;
  line-height:1;
}
.button-white {
  background:#fff;
  color:var(--ink);
}
.button-white:hover {
  background:#dceaff;
}
.circle-arrow {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:43px;
  height:43px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:21px;
  line-height:1;
  transition:background .2s,color .2s;
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  background:white;
  padding:12px 20px;
  z-index:1000;
  color:var(--blue);
}
.skip-link:focus {
  top:12px;
}
.brand {
  display:flex;
  align-items:center;
  gap:13px;
  flex-shrink:0;
}
.brand-mark {
  width:39px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  border:1px solid currentColor;
  border-radius:22px 22px 0 0;
  font-family:var(--serif);
  font-size:21px;
  letter-spacing:-2px;
  padding-right:2px;
  line-height:1;
}
.brand-mark>span {
  position:absolute;
  bottom:7px;
  left:13px;
  width:11px;
  border-top:1px solid currentColor;
}
.brand-name {
  font-family:var(--serif);
  font-size:17px;
  line-height:1.2;
  letter-spacing:.08em;
}
.brand-name small {
  display:block;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.43em;
  margin-top:6px;
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:30px;
}
.desktop-nav a {
  font-size:14px;
  position:relative;
  padding-block:10px;
  white-space:nowrap;
}
.desktop-nav a:after {
  content:'';
  position:absolute;
  bottom:4px;
  left:0;
  right:0;
  border-bottom:1px solid;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s;
}
.desktop-nav a:hover:after {
  transform:scaleX(1);
}
.nav-contact {
  display:flex;
  align-items:center;
  gap:36px;
  font-size:14px;
  border:1px solid #ffffff75;
  padding:10px 18px;
}
.nav-contact span {
  font-size:21px;
}
.is-scrolled .nav-contact {
  border-color:var(--line);
}
.menu-button {
  display:none;
  background:none;
  width:44px;
  height:44px;
  padding:10px;
}
.menu-button span {
  height:1px;
  background:currentColor;
  display:block;
  margin:7px 0;
}
.mobile-nav[hidden] {
  display:none;
}
.mobile-nav {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#fff;
  color:var(--ink);
  padding:16px var(--gutter) 26px;
  box-shadow:0 14px 20px #00103315;
}
.mobile-nav a {
  display:block;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-family:var(--serif);
  font-size:25px;
}
.hero {
  position:relative;
  min-height:780px;
  height: min(920px,100svh);
  isolation:isolate;
  overflow:hidden;
  background:#123b9f;
  color:white;
}
.hero-image {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  animation:hero-in 1.6s ease-out both;
}
.hero-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(9,44,129,.87) 0%,rgba(14,54,151,.64) 37%,rgba(8,43,124,.08) 76%),linear-gradient(0deg,rgba(5,24,67,.54),transparent 48%);
  z-index:-2;
}
.hero-grid {
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,transparent calc(50% - .5px),#ffffff10 50%,transparent calc(50% + .5px)),linear-gradient(90deg,transparent calc(75% - .5px),#ffffff10 75%,transparent calc(75% + .5px));
}
.hero-main {
  padding-top:clamp(155px,19vh,202px);
  position:relative;
}
.hero h1 {
  font-size:clamp(66px,7.5vw,118px);
  line-height:.99;
  letter-spacing:-.04em;
  max-width:840px;
  animation:rise .85s .08s both;
}
.hero h1 em {
  color:#c2defc;
}
.hero-copy {
  font-size:17px;
  line-height:1.6;
  margin-block:28px 27px;
  color:#e3edff;
  animation:rise .85s .2s both;
}
.hero .button {
  animation:rise .85s .3s both;
}
.hero-side-note {
  position:absolute;
  right:var(--gutter);
  top:45%;
  writing-mode:vertical-rl;
  font-size:11px;
  line-height:1.7;
  letter-spacing:.14em;
  opacity:.8;
}
.hero-bottom {
  position:absolute;
  bottom:0;
  width:100%;
  left:50%;
  transform:translateX(-50%);
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  letter-spacing:.09em;
}
.hero-bottom:before {
  content:'';
  position:absolute;
  left:var(--gutter);
  right:var(--gutter);
  top:0;
  border-top:1px solid #ffffff3b;
}
.hero-bottom>a {
  display:flex;
  align-items:center;
  gap:20px;
  font-size:12px;
  letter-spacing:0;
}
.hero-bottom .circle-arrow {
  width:34px;
  height:34px;
  font-size:17px;
  border-color:#ffffff70;
}
.hero-bottom .location {
  display:flex;
  gap:10px;
  align-items:center;
}
.value-strip {
  background:var(--blue);
  color:white;
}
.value-strip>.wrap {
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1.25fr;
  align-items:center;
  min-height:138px;
}
.value-strip .wrap>span {
  font-family:var(--serif);
  font-size:clamp(28px,3vw,44px);
  display:flex;
  align-items:center;
  gap:24px;
  border-right:1px solid #ffffff35;
  margin-right:28px;
  line-height:1.2;
}
.value-strip small {
  font-family:var(--sans);
  font-size:12px;
  color:#b7d0ff;
}
.value-strip p {
  font-size:14px;
  padding-left:12px;
  line-height:1.65;
  color:#e0eaff;
}
.intro-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:8vw;
}
.intro-copy p {
  margin-bottom:22px;
  color:var(--muted);
}
.intro-copy p:first-child {
  font-size:20px;
  line-height:1.6;
  color:var(--ink);
}
.intro-copy .text-link {
  margin-top:2px;
  color:var(--blue);
}
.principles {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:80px;
}
.principles article {
  padding:28px 40px 0 0;
  border-top:1px solid var(--line);
  margin-right:40px;
}
.principles article:last-child {
  margin-right:0;
  padding-right:0;
}
.number {
  font-size:12px;
  letter-spacing:.12em;
  color:var(--blue);
}
.principles h3 {
  font-size:33px;
  line-height:1.2;
  letter-spacing:-.025em;
  margin:24px 0 17px;
}
.principles p {
  max-width:330px;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}
.perspective-section {
  padding:65px 0;
  background:var(--pale);
  border-block:1px solid var(--line);
}
.perspective-grid {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:8vw;
  align-items:center;
}
.perspective-grid h2 {
  font-size:clamp(34px,3.5vw,52px);
  margin-top:18px;
}
.perspective-control>p {
  margin:24px 0 6px;
  color:var(--muted);
  min-height:53px;
  max-width:540px;
}
.segmented {
  display:flex;
  border:1px solid #bfc8db;
  padding:5px;
  gap:4px;
}
.segmented button {
  flex:1;
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  font-size:14px;
  background:transparent;
  color:var(--muted);
  padding:15px 17px;
  transition:background .25s,color .25s;
}
.segmented button[aria-pressed=true] {
  background:var(--blue);
  color:#fff;
}
.segmented button>span {
  font-size:20px;
}
.perspective-control .text-link {
  font-size:13px;
  color:var(--blue);
}
.model-box {
  margin-top:25px;
  border-top:1px solid #ffffff25;
  padding-top:22px;
}
.model-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  font-size:11px;
  letter-spacing:.06em;
  color:#b2c1e1;
}
.model-caption strong {
  font-weight:400;
  font-size:14px;
  color:#fff;
  letter-spacing:0;
}
.j-chart {
  width:100%;
  height:165px;
  display:block;
  overflow:visible;
  margin-top:12px;
}
.model-box input[type=range] {
  width:100%;
  display:block;
  margin:15px 0 9px;
  accent-color:#b6d7f7;
  cursor:pointer;
  height:22px;
}
.range-labels {
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:#aabbdc;
}
.model-note {
  font-size:13px;
  color:#b8c7e5;
  margin-top:14px;
  line-height:1.6;
}
.model-note small {
  font-size:12px;
  display:block;
  margin-top:8px;
  opacity:.8;
}
.chart-grid {
  stroke:#ffffff24;
  stroke-width:1;
}
.chart-line {
  fill:none;
  stroke:#afcff5;
  stroke-width:2.5;
}
.chart-dot {
  fill:white;
  stroke:#b1d1fc;
  stroke-width:5;
}
.chart-progress {
  stroke:#a6caff;
  stroke-width:1;
  stroke-dasharray:4 4;
  opacity:.65;
}
.deal-steps {
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.deal-steps li>span {
  font-size:11px;
  color:#9cbcf3;
  letter-spacing:.08em;
}
.deal-steps h4 {
  font-size:16px;
  font-weight:400;
  margin-top:6px;
}
.deal-steps p {
  font-size:13px;
  line-height:1.5;
  color:#b6c4df;
  margin-top:5px;
}
.route-options {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:15px 0 22px;
}
.route-options button {
  background:transparent;
  border:1px solid #ffffff45;
  color:#c4d5f2;
  font-size:12px;
  padding:8px 10px;
}
.route-options button[aria-pressed=true] {
  background:#c4dcfb;
  border-color:#c4dcfb;
  color:var(--deep);
}
.route-detail h4 {
  font-family:var(--serif);
  font-size:23px;
  font-weight:400;
}
.route-detail p {
  color:#bccbe4;
  font-size:14px;
  margin-top:10px;
}
.route-detail dl {
  margin:15px 0 0;
  display:grid;
  gap:9px;
}
.route-detail dl>div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid #ffffff20;
  padding-bottom:7px;
  font-size:12px;
}
.route-detail dt {
  color:#9fb7df;
}
.route-detail dd {
  text-align:right;
  margin:0;
  color:#e3ecfb;
}
.value-chart {
  display:grid;
  gap:12px;
  margin:22px 0;
}
.value-row {
  display:grid;
  grid-template-columns:74px 1fr 62px;
  align-items:center;
  gap:10px;
  font-size:12px;
}
.value-row>div {
  height:23px;
  background:#ffffff0c;
}
.value-row i {
  display:block;
  height:100%;
  background:#49628f;
  transition:width .15s;
}
.value-row.active i {
  background:#bbd8ff;
}
.value-row strong {
  font-size:13px;
  font-weight:400;
  text-align:right;
}
.value-result {
  color:var(--sky);
  font-family:var(--serif);
  font-size:24px;
  line-height:1.3;
}
.interest-tags {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:20px;
}
.interest-tags span {
  border:1px solid #ffffff35;
  color:#d1def2;
  padding:8px 12px;
  font-size:13px;
}
.sector-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:35px;
  margin-top:48px;
}
.sector-grid details {
  border-top:1px solid #cbd3e2;
  padding:23px 0;
}
.sector-grid summary {
  display:flex;
  align-items:center;
  gap:17px;
  font-size:19px;
  cursor:pointer;
  list-style:none;
  line-height:1.4;
}
.sector-grid summary>span {
  font-size:11px;
  color:var(--muted);
}
.sector-grid summary i {
  font-size:23px;
  font-style:normal;
  margin-left:auto;
  color:var(--blue);
  transition:transform .2s;
}
.sector-grid details[open] summary i {
  transform:rotate(45deg);
}
.sector-grid details>p {
  font-size:14px;
  color:var(--muted);
  margin-top:15px;
  padding-left:30px;
}
.footnote {
  font-size:12px;
  color:var(--muted);
  margin-top:20px;
}
.engagement {
  border-top:1px solid var(--line);
  margin-top:85px;
  padding-top:50px;
  display:grid;
  grid-template-columns:.85fr 2fr;
  gap:60px;
}
.engagement h3 {
  font-size:33px;
  line-height:1.2;
  letter-spacing:-.035em;
  margin-top:20px;
}
.founder {
  padding:80px 0;
  background:var(--deep);
  color:white;
}
.founder-grid {
  display:grid;
  grid-template-columns:.8fr 1.1fr;
  align-items:center;
  gap:10vw;
}
.founder-monogram {
  min-height:400px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  position:relative;
  border:1px solid #ffffff25;
  background:linear-gradient(135deg,#16326c,#0c1f4b);
  overflow:hidden;
}
.founder-monogram:before {
  content:'';
  position:absolute;
  inset:35px 60px 65px;
  border:1px solid #a9c9f745;
  border-radius:140px 140px 0 0;
}
.founder-monogram>span {
  font-family:var(--serif);
  font-size:180px;
  line-height:1;
  color:#afc8ee;
  letter-spacing:-.11em;
  padding-right:15px;
  z-index:1;
}
.founder-monogram small {
  position:absolute;
  bottom:27px;
  left:0;
  right:0;
  text-align:center;
  letter-spacing:.15em;
  font-size:10px;
  color:#97afd5;
}
.founder h2 {
  font-size:clamp(35px,3.5vw,54px);
  margin:26px 0;
}
.founder h2 em {
  color:#adcdf9;
}
.founder-signoff {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:32px;
  border-top:1px solid #ffffff25;
  padding-top:25px;
}
.founder-signoff>span {
  font-family:var(--serif);
  font-size:26px;
}
.founder-signoff small {
  display:block;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.14em;
  color:#9fb8df;
  margin-top:8px;
}
.founder-signoff a {
  color:#c3dafa;
}
.tool-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.tool-card {
  padding:0;
  background:transparent;
  text-align:left;
}
.tool-art {
  height:207px;
  position:relative;
  overflow:hidden;
  transition:filter .3s;
}
.tool-card:hover .tool-art {
  filter:brightness(.94);
}
.curve-art {
  background:#eaf0f9;
  color:#2352b3;
  padding:23px 25px;
}
.curve-art svg {
  width:100%;
  height:145px;
}
.tool-art>span {
  position:absolute;
  left:25px;
  bottom:17px;
  font-size:10px;
  letter-spacing:.15em;
}
.value-art {
  background:#2149a3;
  padding:38px 45px 45px;
  display:flex;
  align-items:end;
  gap:24px;
}
.value-art>div {
  flex:1;
  height:100%;
  background:#ffffff22;
}
.value-art>div:nth-child(1) {
  height:35%;
  background:#9fb7e9;
}
.value-art>div:nth-child(2) {
  height:72%;
  background:#d4e4ff;
}
.value-art>span {
  color:#c8daf8;
}
.glossary-art {
  background:#e9edf3;
  color:#3a5278;
  font-family:var(--serif);
  font-size:82px;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding-bottom:12px;
}
.glossary-art>span {
  position:static;
  font-size:45px;
  letter-spacing:0;
  color:#a7b8d2;
}
.glossary-art small {
  position:absolute;
  bottom:20px;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.1em;
  left:0;
  right:0;
}
.tool-body {
  padding-top:24px;
}
.tool-body .eyebrow {
  font-size:10px;
  color:var(--muted);
}
.tool-body h3 {
  font-size:24px;
  line-height:1.3;
  letter-spacing:-.03em;
  margin-top:12px;
  display:flex;
  gap:20px;
  justify-content:space-between;
}
.tool-body h3>span {
  font-family:var(--sans);
  font-size:22px;
  color:var(--blue);
}
.tool-body p {
  font-size:14px;
  color:var(--muted);
  margin-top:12px;
}
.faq-list {
  border-top:1px solid var(--line);
}
.faq-list details {
  border-bottom:1px solid var(--line);
}
.faq-list summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  font-size:16px;
  padding:23px 0;
  cursor:pointer;
}
.faq-list summary>span {
  font-size:24px;
  color:var(--blue);
  font-weight:300;
  transition:transform .2s;
}
.faq-list details[open] summary>span {
  transform:rotate(45deg);
}
.faq-list p {
  padding:0 34px 24px 0;
  color:var(--muted);
  font-size:15px;
}
.faq-list summary::-webkit-details-marker, .sector-grid summary::-webkit-details-marker {
  display:none;
}
.contact {
  background:var(--cobalt);
  color:white;
  padding:70px 0 90px;
  position:relative;
  overflow:hidden;
}
.contact:before {
  content:'';
  position:absolute;
  width:800px;
  height:800px;
  left:-490px;
  top:20px;
  border:1px solid #ffffff15;
  border-radius:50%;
  pointer-events:none;
}
.contact h2 {
  font-size:clamp(44px,4.6vw,70px);
  line-height:1.08;
}
.contact h2 em {
  color:#bbd7ff;
}
.contact-email {
  font-size:15px!important;
}
.contact-email:empty {
  display:none;
}
.contact-email a {
  border-bottom:1px solid #ffffff60;
  padding-bottom:5px;
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.contact label {
  display:block;
  font-size:12px;
  line-height:1.5;
  letter-spacing:.03em;
  margin-bottom:24px;
  color:#d9e6ff;
}
.contact label>span {
  opacity:.7;
}
.contact input, .contact textarea, .contact select {
  display:block;
  width:100%;
  min-width:0;
  background:transparent;
  color:#fff;
  border:0;
  border-bottom:1px solid #ffffff50;
  border-radius:0;
  padding:12px 0 13px;
  font-size:15px;
  line-height:1.5;
  letter-spacing:0;
  transition:border-color .2s;
}
.contact input::placeholder, .contact textarea::placeholder {
  color:#a9c1ed;
  opacity:1;
}
.contact input:focus, .contact textarea:focus, .contact select:focus {
  border-color:#fff;
  outline-offset:4px;
}
.contact select {
  appearance:auto;
}
.contact select option {
  background:white;
  color:var(--ink);
}
.contact textarea {
  resize:vertical;
  min-height:95px;
}
.contact .form-grid label {
  margin-bottom:0;
}
.contact .form-grid {
  margin-bottom:24px;
}
.form-status {
  font-size:14px;
  color:#e3edff;
  margin-top:20px;
}
.form-status:empty {
  display:none;
}
footer {
  background:#081631;
  color:#cfdaee;
  padding:50px 0 20px;
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:25px;
  padding-top:20px;
  border-top:1px solid #ffffff20;
  font-size:11px;
  color:#93a7c8;
}
.footer-bottom>p:last-child {
  font-size:10px;
  letter-spacing:.05em;
}
.dialog-close {
  background:transparent;
  color:#fff;
  font-size:30px;
  line-height:1;
  width:40px;
  height:40px;
  border:1px solid #ffffff40;
  display:flex;
  align-items:center;
  justify-content:center;
}
.glossary-list {
  margin-top:28px;
}
.glossary-list>div {
  border-top:1px solid #ffffff25;
  padding:15px 0;
}
.glossary-list dt {
  font-size:15px;
  color:#c9dfff;
}
.glossary-list dd {
  font-size:14px;
  color:#adbfde;
  margin:6px 0 0;
  line-height:1.7;
}
@keyframes nav-appear {
  from {
    transform:translateY(-100%);
  }
  to {
    transform:none;
  }
}
@media(min-width:1600px) {
  .hero-side-note {
    right:max(var(--gutter),calc((100vw - 1420px)/2));
  }
}
@media(max-width:1150px) {
  .desktop-nav {
    gap:20px;
  }
  .desktop-nav a {
    font-size:13px;
  }
  .nav-contact {
    gap:20px;
  }
  .brand-name {
    font-size:15px;
  }
  .hero {
    min-height:760px;
  }
  .hero-main {
    padding-top:170px;
  }
  .hero h1 {
    font-size:88px;
  }
  .founder-grid {
    gap:65px;
  }
  .contact h2 {
    font-size:55px;
  }
  .tool-body h3 {
    font-size:22px;
  }
}
@media(max-width:850px) {
  .desktop-nav, .nav-contact {
    display:none;
  }
  .menu-button {
    display:block;
  }
  .hero-main {
    padding-top:157px;
  }
  .hero h1 {
    font-size:clamp(68px,10vw,88px);
  }
  .hero {
    min-height:775px;
    height:95svh;
  }
  .hero-image {
    object-position:65% center;
  }
  .hero-shade {
    background:linear-gradient(90deg,#0a3082df 0%,#153e9fab 55%,#0b2b7760 100%),linear-gradient(0deg,#081d5077,transparent);
  }
  .hero-side-note {
    display:none;
  }
  .hero-bottom .location {
    display:none;
  }
  .hero-bottom {
    min-height:84px;
  }
  .hero-bottom>p {
    font-size:10px;
  }
  .value-strip>.wrap {
    grid-template-columns:repeat(3,1fr);
    min-height:115px;
  }
  .value-strip p {
    display:none;
  }
  .value-strip .wrap>span {
    font-size:31px;
    gap:12px;
    margin-right:20px;
  }
  .value-strip .wrap>span:nth-child(3) {
    border:0;
    margin:0;
  }
  .section {
    padding-block:80px;
  }
  .section-heading {
    gap:30px;
  }
  .section-heading>p {
    max-width:245px;
    font-size:14px;
  }
  .intro-grid {
    gap:35px;
    grid-template-columns:1fr 1fr;
  }
  .intro-copy p:first-child {
    font-size:18px;
  }
  .intro-copy p {
    font-size:15px;
  }
  .intro-copy .text-link {
    font-size:12px;
    gap:15px;
  }
  .principles {
    margin-top:55px;
  }
  .principles article {
    padding-right:0;
    margin-right:25px;
  }
  .principles h3 {
    font-size:28px;
  }
  .principles p {
    font-size:14px;
  }
  .perspective-grid {
    gap:35px;
    grid-template-columns:1fr 1.25fr;
  }
  .segmented {
    flex-direction:column;
  }
  .segmented button {
    padding:12px 15px;
  }
  .sector-grid {
    grid-template-columns:1fr 1fr;
  }
  .engagement {
    grid-template-columns:1fr;
    gap:35px;
    margin-top:60px;
    padding-top:40px;
  }
  .founder-grid {
    gap:40px;
    grid-template-columns:.8fr 1fr;
  }
  .founder-monogram {
    min-height:340px;
  }
  .founder-monogram:before {
    inset:35px 25px 65px;
  }
  .founder-monogram>span {
    font-size:140px;
  }
  .founder-monogram small {
    font-size:8px;
  }
  .founder h2 {
    font-size:34px;
  }
  .founder-signoff>span {
    font-size:24px;
  }
  .tool-grid {
    gap:20px;
  }
  .tool-art {
    height:170px;
  }
  .curve-art {
    padding:15px;
  }
  .curve-art svg {
    height:120px;
  }
  .value-art {
    padding:30px 28px 40px;
    gap:15px;
  }
  .glossary-art {
    font-size:66px;
  }
  .glossary-art small {
    font-size:8px;
  }
  .tool-body h3 {
    font-size:21px;
  }
  .tool-body p {
    font-size:13px;
  }
  .tool-body .eyebrow {
    font-size:9px;
  }
  .faq-list summary {
    font-size:15px;
  }
  .contact h2 {
    font-size:64px;
  }
  .contact h2 br:nth-child(2) {
    display:none;
  }
  .footer-bottom {
    font-size:10px;
  }
  .footer-bottom>p:last-child {
    font-size:8px;
  }
}
@media(max-width:560px) {
  :root {
    --gutter:24px;
  }
  .brand-name {
    font-size:14px;
  }
  .brand-name small {
    font-size:8px;
    letter-spacing:.42em;
  }
  .brand-mark {
    width:33px;
    height:40px;
    font-size:18px;
  }
  .brand-mark>span {
    left:10px;
  }
  .hero {
    min-height:775px;
    max-height:950px;
    height:100svh;
  }
  .hero-main {
    padding-top:151px;
  }
  .hero h1 {
    font-size:clamp(57px,13vw,74px);
    letter-spacing:-.04em;
    line-height:1.03;
  }
  .hero-image {
    object-position:64% center;
  }
  .hero-shade {
    background:linear-gradient(90deg,#093286e6,#0b369795 65%,#123a8c70),linear-gradient(0deg,#071f53aa,transparent 65%);
  }
  .hero-copy {
    font-size:16px;
    line-height:1.7;
    margin:29px 0;
  }
  .hero .button {
    font-size:13px;
    min-height:54px;
    padding:15px 19px;
    gap:30px;
  }
  .hero-bottom {
    align-items:center;
    min-height:87px;
    gap:15px;
  }
  .hero-bottom>p {
    font-size:8px;
    max-width:155px;
    line-height:1.7;
    letter-spacing:.07em;
  }
  .hero-bottom>a {
    font-size:11px;
    gap:10px;
  }
  .hero-bottom .circle-arrow {
    width:30px;
    height:30px;
    font-size:15px;
  }
  .value-strip>.wrap {
    min-height:94px;
    padding-inline:24px;
  }
  .value-strip .wrap>span {
    font-size:25px;
    gap:7px;
    margin-right:11px;
  }
  .value-strip small {
    font-size:9px;
  }
  .section {
    padding-block:68px;
  }
  .eyebrow {
    font-size:10px;
    letter-spacing:.13em;
  }
  h2 {
    font-size:39px;
    letter-spacing:-.04em;
  }
  .intro-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .intro-copy p:first-child {
    font-size:19px;
  }
  .intro-copy p {
    font-size:16px;
    line-height:1.75;
  }
  .intro-copy .text-link {
    font-size:13px;
    gap:24px;
  }
  .principles {
    grid-template-columns:1fr;
    margin-top:44px;
  }
  .principles article {
    margin:0;
    padding:24px 0;
    display:grid;
    grid-template-columns:30px 1fr;
    gap:14px;
  }
  .principles article:last-child {
    padding-bottom:0;
  }
  .principles .number {
    padding-top:6px;
    grid-row:1/3;
  }
  .principles h3 {
    margin:0;
    font-size:28px;
  }
  .principles h3 br {
    display:none;
  }
  .principles p {
    font-size:15px;
    grid-column:2;
    max-width:none;
    margin-top:0;
  }
  .perspective-section {
    padding:45px 0;
  }
  .perspective-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .perspective-grid h2 {
    font-size:38px;
    margin-top:17px;
  }
  .segmented {
    flex-direction:row;
    gap:3px;
  }
  .segmented button {
    font-size:12px;
    gap:6px;
    padding:13px 10px;
    line-height:1.45;
  }
  .segmented button>span {
    font-size:18px;
  }
  .perspective-control>p {
    font-size:15px;
    margin-top:22px;
    min-height:100px;
  }
  .section-heading {
    display:block;
    margin-bottom:35px;
  }
  .section-heading>p {
    font-size:15px;
    max-width:none;
    margin-top:24px;
    line-height:1.7;
  }
  .model-caption {
    font-size:9px;
    gap:10px;
  }
  .model-caption strong {
    font-size:12px;
  }
  .model-note {
    font-size:12px;
  }
  .range-labels {
    font-size:11px;
  }
  .value-row {
    grid-template-columns:64px 1fr 57px;
    font-size:11px;
    gap:6px;
  }
  .value-row strong {
    font-size:11px;
  }
  .model-note small {
    font-size:11px;
  }
  .deal-steps {
    gap:20px 15px;
  }
  .deal-steps h4 {
    font-size:15px;
  }
  .deal-steps p {
    font-size:12px;
  }
  .route-options {
    gap:5px;
  }
  .route-options button {
    font-size:11px;
    padding:7px 8px;
  }
  .route-detail dl>div {
    font-size:11px;
  }
  .route-detail p {
    font-size:13px;
  }
  .sector-grid {
    grid-template-columns:1fr;
    margin-top:35px;
  }
  .sector-grid details {
    padding:20px 0;
  }
  .sector-grid summary {
    font-size:20px;
  }
  .sector-grid details:last-child {
    border-bottom:1px solid #cbd3e2;
  }
  .sector-grid details>p {
    font-size:15px;
  }
  .footnote {
    font-size:12px;
    line-height:1.7;
  }
  .engagement {
    margin-top:50px;
    padding-top:35px;
    gap:35px;
  }
  .founder {
    padding:55px 0;
  }
  .founder-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  .founder-monogram {
    min-height:290px;
    max-width:330px;
    width:100%;
    margin:auto;
  }
  .founder-monogram:before {
    inset:22px 45px 55px;
  }
  .founder-monogram>span {
    font-size:150px;
  }
  .founder-monogram small {
    font-size:8px;
    bottom:20px;
  }
  .founder h2 {
    font-size:37px;
  }
  .founder-signoff>span {
    font-size:27px;
  }
  .tool-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .tool-art {
    height:195px;
  }
  .curve-art {
    padding:18px 24px;
  }
  .curve-art svg {
    height:145px;
  }
  .value-art {
    padding:30px 65px 42px;
  }
  .glossary-art {
    font-size:84px;
  }
  .glossary-art small {
    font-size:10px;
  }
  .tool-body {
    padding-top:20px;
  }
  .tool-body h3 {
    font-size:26px;
  }
  .tool-body .eyebrow {
    font-size:10px;
  }
  .tool-body p {
    font-size:15px;
  }
  .faq-list summary {
    font-size:16px;
    line-height:1.5;
    padding-block:21px;
  }
  .faq-list p {
    font-size:15px;
    line-height:1.75;
  }
  .contact {
    padding:55px 0 60px;
  }
  .contact h2 {
    font-size:43px;
    line-height:1.14;
  }
  .contact h2 br:nth-child(2) {
    display:block;
  }
  .form-grid {
    grid-template-columns:1fr;
    gap:24px;
  }
  .contact label {
    font-size:12px;
  }
  .contact input, .contact textarea, .contact select {
    font-size:16px;
  }
  .footer-bottom {
    display:block;
    font-size:11px;
  }
  .footer-bottom p:last-child {
    font-size:8px;
    margin-top:12px;
    line-height:1.6;
  }
  footer {
    padding-top:40px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *, *:before, *:after {
    animation:none!important;
    transition:none!important;
  }
}
/* Comfortable reading sizes across desktop and mobile. */
.principles p, .tool-body p, .faq-list p {
  font-size:1rem;
}
.menu-button span {
  transition:transform .2s;
}
.menu-button[aria-expanded=true] span:first-child {
  transform:translateY(4px) rotate(45deg);
}
.menu-button[aria-expanded=true] span:last-child {
  transform:translateY(-4px) rotate(-45deg);
}
@media(min-width:851px) and (max-height:820px) {
  .hero-main {
    padding-top:155px;
  }
  .hero h1 {
    font-size:clamp(66px,6.6vw,100px);
  }
  .hero-copy {
    margin-block:24px;
  }
}
/* Multipage editorial system */
.site-header {
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  gap:34px;
  min-height:104px;
  padding:16px 5%;
  background:#fff;
  color:#142546;
  border-bottom:1px solid #dbe2ee;
}
.site-header .brand {
  color:inherit;
  flex-shrink:0;
}
.site-header .brand-mark {
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-top-left-radius:35px;
  border-top-right-radius:35px;
  width:51px;
  height:59px;
  font:28px Marcellus,Georgia,serif;
  letter-spacing:-5px;
  padding-right:5px;
}
.site-header .desktop-nav {
  margin-left:auto;
  display:flex;
  gap:28px;
}
.site-header .desktop-nav a {
  font-size:14px;
  color:inherit;
  position:relative;
  padding:12px 0;
}
.site-header .desktop-nav a[aria-current] {
  color:#1644bd;
}
.site-header .desktop-nav a[aria-current]:after {
  content:'';
  position:absolute;
  bottom:3px;
  left:0;
  width:18px;
  height:2px;
  background:currentColor;
}
.site-header .nav-contact {
  color:#fff;
  background:#1644bd;
  padding:14px 22px;
  font-size:14px;
  display:flex;
  gap:26px;
}
.site-header .mobile-nav {
  top:100%;
  background:#fff;
  color:#142546;
}
.site-header .menu-button {
  color:inherit;
}
.site-header .menu-button span {
  background:currentColor;
}
.breadcrumbs {
  display:flex;
  gap:12px;
  align-items:center;
  padding-top:27px;
  font-size:13px;
  color:#65728a;
  flex-wrap:wrap;
}
.breadcrumbs a:hover {
  color:#1644bd;
}
.about-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5%;
  align-items:center;
  padding-top:48px;
  padding-bottom:80px;
}
.about-intro h1 {
  font-family:Marcellus,Georgia,serif;
  font-size:clamp(58px,6.5vw,96px);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-3px;
  margin:28px 0;
}
.about-intro h1 em, h2 em {
  color:#1644bd;
}
.lead {
  font-size:20px;
  line-height:1.6;
}
.about-intro .text-link {
  margin-top:32px;
}
.about-image {
  margin:0;
  position:relative;
}
.about-image img {
  width:100%;
  height:580px;
  object-fit:cover;
}
.about-image figcaption {
  position:absolute;
  bottom:24px;
  left:24px;
  color:#fff;
  font-size:12px;
  letter-spacing:.13em;
}
.section-heading .eyebrow {
  display:block;
  margin-bottom:24px;
}
.section-heading p {
  margin:0;
  align-self:end;
}
.story {
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:40px;
  border-top:1px solid #dbe2ee;
}
.story>.eyebrow {
  max-width:130px;
  line-height:1.8;
}
.story h2 {
  font-size:clamp(34px,3.8vw,55px);
}
.two-copy {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
  margin-top:34px;
}
.two-copy p {
  margin:0;
}
.blue-band {
  background:#1644bd;
  color:white;
}
.belief {
  padding:95px 0;
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:36px;
}
.belief>.eyebrow {
  grid-row:span 2;
  max-width:130px;
  line-height:1.7;
}
.belief h2 {
  font-size:clamp(40px,4.7vw,66px);
  line-height:1.2;
}
.belief h2 em {
  color:#bfdaff;
}
.belief p {
  max-width:550px;
  font-size:18px;
  color:#d8e5ff;
  margin:0;
}
.principles.four {
  grid-template-columns:repeat(4,1fr);
}
.principles.four article {
  padding:34px 24px;
}
.principles.four h3 {
  font-size:29px;
}
.founder-monogram {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  font:150px Marcellus,Georgia,serif;
  background:#11285e;
  min-height:420px;
  color:#c4d5fc;
}
.founder-monogram small {
  font:12px Arial,sans-serif;
  letter-spacing:.12em;
  margin-top:35px;
}
.founder-signoff {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-top:36px;
  padding-top:26px;
  border-top:1px solid #cdd7e8;
}
.founder-signoff>span {
  font:25px Marcellus,Georgia,serif;
}
.founder-signoff small {
  display:block;
  font:12px Arial,sans-serif;
  margin-top:10px;
  letter-spacing:.1em;
}
.process-list {
  list-style:none;
  margin:50px 0 0;
  padding:0;
}
.process-list li {
  display:grid;
  grid-template-columns:70px 1fr 1.3fr;
  gap:36px;
  border-top:1px solid #dbe2ee;
  padding:30px 0;
}
.process-list li>span {
  font:34px Marcellus,Georgia,serif;
  color:#1644bd;
}
.process-list h3 {
  font-size:27px;
  margin:0;
}
.process-list p {
  margin:0;
}
.cta {
  background:#1644bd;
  color:#fff;
}
.cta-inner {
  padding-top:65px;
  padding-bottom:65px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.cta h2 {
  font-size:clamp(35px,4vw,58px);
  margin-top:20px;
}
.cta h2 em {
  color:#cadcff;
}
.cta .button {
  flex-shrink:0;
}
.footer {
  background:#081a3c;
  color:#fff;
  padding:0;
}
.footer-top {
  display:grid;
  grid-template-columns:1.3fr .7fr 1.1fr 1fr;
  gap:50px;
  padding-top:70px;
  padding-bottom:65px;
}
.footer-top>div>.eyebrow {
  color:#95acd5;
  display:block;
  margin-bottom:25px;
}
.footer-top p {
  font-size:15px;
  color:#bbc9e1;
  line-height:1.7;
  margin:25px 0;
}
.footer-top a:not(.brand) {
  display:block;
  font-size:14px;
  margin:12px 0;
  color:#d5dff1;
}
.footer-top .brand {
  color:white;
}
.footer-top .brand-mark {
  font:34px Marcellus,Georgia,serif;
}
.footer-end .text-link {
  display:flex!important;
  max-width:130px;
}
.footer-bottom {
  border-top:1px solid #2b3d5e;
  padding-top:23px;
  padding-bottom:23px;
  display:flex;
  justify-content:space-between;
  gap:25px;
  font-size:12px;
  color:#a9bbd9;
}
@media(max-width:1050px) {
  .site-header {
    gap:22px;
  }
  .site-header .desktop-nav {
    gap:19px;
  }
  .brand-name {
    font-size:14px;
  }
  .brand-name small {
    font-size:10px;
  }
  .principles.four {
    grid-template-columns:1fr 1fr;
  }
  .footer-top {
    gap:30px;
    grid-template-columns:1.2fr .7fr 1fr;
  }
  .footer-end {
    display:none;
  }
}
@media(max-width:850px) {
  .site-header {
    min-height:84px;
    padding:12px 6%;
    gap:18px;
  }
  .site-header .desktop-nav {
    display:none;
  }
  .site-header .nav-contact {
    margin-left:auto;
  }
  .site-header .menu-button {
    display:flex;
  }
  .about-intro {
    gap:30px;
  }
  .about-intro h1 {
    font-size:58px;
  }
  .about-image img {
    height:480px;
  }
  .story {
    grid-template-columns:1fr;
    gap:26px;
  }
  .story>.eyebrow {
    max-width:none;
  }
  .belief {
    grid-template-columns:1fr;
  }
  .belief>.eyebrow {
    grid-row:auto;
    max-width:none;
  }
  .process-list li {
    grid-template-columns:45px 1fr;
    gap:20px;
  }
  .process-list p {
    grid-column:2;
  }
  .cta-inner {
    align-items:start;
    flex-direction:column;
  }
}
@media(max-width:600px) {
  .site-header .brand-mark {
    width:39px;
    height:48px;
    font-size:23px;
  }
  .site-header .brand-name {
    font-size:12px;
  }
  .site-header .nav-contact {
    display:none;
  }
  .site-header .menu-button {
    margin-left:auto;
  }
  .about-intro {
    grid-template-columns:1fr;
    padding-top:35px;
    padding-bottom:50px;
  }
  .about-intro h1 {
    font-size:65px;
  }
  .about-image img {
    height:420px;
  }
  .about-image {
    margin-top:20px;
  }
  .two-copy {
    grid-template-columns:1fr;
    gap:22px;
  }
  .belief {
    padding-top:65px;
    padding-bottom:65px;
  }
  .principles.four {
    grid-template-columns:1fr;
  }
  .founder-signoff {
    flex-direction:column;
    align-items:start;
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:35px;
  }
  .footer-top>div:first-child {
    grid-column:1/-1;
  }
  .footer-bottom {
    flex-direction:column;
    gap:12px;
  }
  .breadcrumbs {
    font-size:12px;
  }
  .founder-monogram {
    min-height:300px;
    font-size:110px;
  }
}
/* Page families */
[hidden] {
  display:none!important;
}
.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;
}
.site-header .desktop-nav a[aria-current]:after {
  transform:scaleX(1);
}
.home-page .site-header {
  position:absolute;
  left:0;
  right:0;
  background:transparent;
  color:#fff;
  border-color:#ffffff35;
}
.home-page .site-header.is-scrolled {
  position:fixed;
  background:#fff;
  color:var(--ink);
  border-color:var(--line);
  animation:nav-appear .25s;
}
.home-page .site-header:not(.is-scrolled) .nav-contact {
  border-color:#ffffff70;
  background:transparent;
}
.home-page .site-header:not(.is-scrolled) .desktop-nav a[aria-current] {
  color:#c5dfff;
}
.home-page .hero {
  min-height:810px;
}
.home-page .hero h1 {
  font-size:clamp(65px,7.2vw,108px);
}
.home-page .hero-main {
  padding-top:175px;
}
.home-principles {
  display:flex;
  gap:55px;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:32px;
  margin-top:55px;
  font:22px var(--serif);
}
.home-principles span:before {
  content:'↗';
  font:16px var(--sans);
  margin-right:18px;
  color:var(--blue);
}
.home-services {
  background:var(--deep);
  color:#fff;
}
.home-services h2 em {
  color:#bbd6ff;
}
.home-services .section-heading>p {
  color:#bbc9e5;
}
.service-directory {
  border-top:1px solid #ffffff30;
}
.service-directory>a {
  display:grid;
  grid-template-columns:45px 1fr 1fr 40px;
  gap:32px;
  align-items:center;
  padding:26px 0;
  border-bottom:1px solid #ffffff30;
  transition:padding .25s,background .25s;
}
.service-directory>a:hover {
  padding-left:18px;
  padding-right:18px;
  background:#ffffff06;
}
.service-directory>a>span:first-child {
  color:#9fbdec;
  font-size:12px;
}
.service-directory>a>span:last-child {
  font-size:32px;
  text-align:right;
  color:#bcd7fe;
}
.service-directory h3 {
  font-size:29px;
  line-height:1.3;
}
.service-directory p {
  font-size:15px;
  color:#b7c7e3;
  line-height:1.65;
}
.home-work {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:610px;
  background:#112854;
  color:white;
}
.home-work-image {
  overflow:hidden;
}
.home-work-image img {
  height:100%;
  width:100%;
  object-fit:cover;
}
.home-work-copy {
  padding:90px 9%;
  display:flex;
  flex-direction:column;
  align-items:start;
  justify-content:center;
}
.home-work-copy h2 {
  font-size:clamp(36px,4vw,58px);
  margin:28px 0;
}
.home-work-copy h2 em {
  color:#b4d4ff;
}
.home-work-copy>p {
  color:#c9d6ed;
  margin-bottom:34px;
  max-width:450px;
}
.home-work-copy .eyebrow {
  font-size:12px;
}
.page-intro {
  padding-top:65px;
  padding-bottom:0;
}
.split-heading {
  display:flex;
  justify-content:space-between;
  gap:60px;
  align-items:end;
  margin-top:26px;
}
.page-intro h1, .work-intro h1, .case-hero h1, .article-header h1, .contact-page h1, .not-found h1 {
  font-size:clamp(54px,5.8vw,88px);
  line-height:1.1;
  letter-spacing:-.04em;
}
.split-heading>p {
  font-size:18px;
  line-height:1.75;
  margin-bottom:4px;
  max-width:350px;
}
.intro-rule {
  margin-top:57px;
  border-top:1px solid var(--line);
  padding:20px 0;
  display:flex;
  justify-content:space-between;
  font-size:12px;
  letter-spacing:.12em;
  color:var(--muted);
}
.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  padding-top:1px;
  padding-bottom:1px;
  margin-top:0;
  margin-bottom:90px;
  background-clip:content-box;
}
.service-card {
  background:#f3f6fb;
  padding:36px;
  min-height:380px;
  display:flex;
  flex-direction:column;
  transition:background .25s,color .25s;
}
.service-card:nth-child(2n) {
  background:#fafbfd;
}
.service-card:hover {
  background:var(--blue);
  color:#fff;
}
.service-card h3 {
  font-size:31px;
  line-height:1.18;
  max-width:280px;
  margin:44px 0 20px;
}
.service-card p {
  font-size:16px;
  color:var(--muted);
}
.service-card-bottom {
  border-top:1px solid #ccd6e7;
  margin-top:auto;
  padding-top:21px;
  display:flex;
  justify-content:space-between;
  font-size:14px;
}
.service-card p {
  margin-bottom:30px;
}
.service-card:hover p {
  color:#e2edff;
}
.service-card:hover .service-card-bottom {
  border-color:#ffffff50;
}
.three-notes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
}
.three-notes article {
  border-top:1px solid var(--line);
  padding-top:28px;
}
.three-notes h3 {
  font-size:30px;
  margin:22px 0 17px;
  line-height:1.3;
}
.three-notes p {
  color:var(--muted);
}
.service-hero {
  background:linear-gradient(112deg,#1644bd 10%,#28348c 72%,#252e75);
  color:#fff;
  margin-top:27px;
  position:relative;
  overflow:hidden;
}
.service-hero-inner {
  display:grid;
  grid-template-columns:2.1fr 1fr;
  gap:85px;
  padding-top:65px;
  padding-bottom:65px;
  align-items:center;
}
.service-hero h1 {
  font-size:clamp(43px,4.4vw,67px);
  line-height:1.12;
  letter-spacing:-.04em;
  margin:30px 0 25px;
}
.service-hero h1 em {
  color:#c3dbff;
}
.service-hero-inner>div:first-child>p {
  font-size:18px;
  line-height:1.75;
  max-width:650px;
  color:#dae5ff;
  margin-bottom:30px;
}
.service-hero-aside {
  border-left:1px solid #ffffff30;
  padding-left:40px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:end;
}
.service-hero-aside>.eyebrow {
  font-size:11px;
  color:#c7d6f9;
}
.service-hero-aside>p {
  font:26px/1.45 var(--serif);
  margin-top:20px;
  max-width:300px;
}
.service-body {
  display:grid;
  grid-template-columns:250px 1fr;
  gap:80px;
  padding-top:90px;
  padding-bottom:90px;
}
.service-sidebar {
  position:sticky;
  top:150px;
  align-self:start;
}
.service-sidebar>.eyebrow {
  font-size:12px;
  margin-bottom:20px;
}
.service-sidebar nav {
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}
.service-sidebar nav a {
  padding:14px 0;
  font-size:14px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
}
.service-sidebar nav a:hover {
  color:var(--blue);
}
.service-sidebar>div {
  margin:35px 0;
}
.service-sidebar>div>p {
  font-size:14px;
  color:var(--muted);
  margin-top:15px;
}
.service-main {
  min-width:0;
}
.service-main>section {
  margin-bottom:75px;
  scroll-margin-top:140px;
}
.service-main>section:last-child {
  margin-bottom:0;
}
.service-main section>.eyebrow {
  margin-bottom:25px;
}
.service-main h2 {
  font-size:clamp(34px,3.5vw,52px);
}
.service-main .lead {
  margin-top:30px;
  font-size:20px;
  line-height:1.75;
  max-width:880px;
}
.scope-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px 45px;
}
.scope-grid article {
  border-top:1px solid var(--line);
  padding-top:25px;
}
.scope-grid h3 {
  font-size:28px;
  line-height:1.2;
  margin:20px 0 15px;
}
.scope-grid p {
  color:var(--muted);
}
.service-steps {
  padding:0;
  list-style:none;
  margin:38px 0 0;
}
.service-steps li {
  display:flex;
  gap:30px;
  padding:25px 0;
  border-top:1px solid var(--line);
}
.service-steps li>span {
  font:28px var(--serif);
  color:var(--blue);
  min-width:40px;
}
.service-steps h3 {
  font-size:25px;
  margin-bottom:12px;
}
.service-steps p {
  color:var(--muted);
}
.service-model-section {
  background:var(--deep);
  color:#fff;
  padding:36px;
}
.service-model-section>div>h3 {
  font-size:33px;
  line-height:1.25;
  margin-top:20px;
}
.service-model-section .eyebrow {
  color:#b3cafa;
}
.service-model-section .model-box {
  padding-top:25px;
  margin-top:25px;
}
.inline-model .j-chart {
  height:235px;
}
.outcome-list {
  list-style:none;
  padding:0;
  margin:35px 0 20px;
}
.outcome-list li {
  padding:18px 0;
  border-bottom:1px solid var(--line);
  font-size:17px;
  display:flex;
  gap:18px;
  align-items:baseline;
}
.outcome-list li>span {
  color:var(--blue);
}
.related-section {
  background:var(--pale);
  padding:85px 0;
}
.related-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.related-card {
  padding:42px;
  background:white;
  display:flex;
  flex-direction:column;
  align-items:start;
}
.related-card h3 {
  font-size:37px;
  line-height:1.2;
  margin:25px 0 20px;
}
.related-card p {
  color:var(--muted);
  margin-bottom:30px;
}
.related-card .text-link {
  margin-top:auto;
}
.related-card.dark {
  background:var(--deep);
  color:white;
}
.related-card.dark p {
  color:#b7c9e6;
}
.related-card.dark>.eyebrow {
  color:#bfd6ff;
}
.work-intro {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:6%;
  padding-top:55px;
  padding-bottom:0;
  align-items:center;
}
.work-intro h1 {
  margin:28px 0;
  font-size:clamp(48px,5.8vw,83px);
}
.work-intro>div>p {
  font-size:18px;
  line-height:1.75;
}
.work-intro-photo {
  position:relative;
  height:520px;
}
.work-intro-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:47% center;
}
.work-intro-photo>span {
  position:absolute;
  bottom:25px;
  left:25px;
  font-size:12px;
  letter-spacing:.1em;
  color:white;
}
.library-heading {
  display:flex;
  gap:70px;
  justify-content:space-between;
  align-items:end;
  margin-bottom:44px;
}
.library-heading .eyebrow {
  margin-bottom:22px;
}
.library-heading h2 {
  font-size:clamp(37px,3.5vw,53px);
}
.library-heading>p {
  font-size:15px;
  max-width:375px;
  color:var(--muted);
}
.filter-bar {
  border-block:1px solid var(--line);
  padding:18px 0;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:42px;
}
.filter-options {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.filter-options button {
  font-size:14px;
  background:transparent;
  color:var(--muted);
  padding:10px 14px;
  border:1px solid transparent;
  transition:color .2s,background .2s;
}
.filter-options button:hover {
  color:var(--blue);
  background:#eaf0fb;
}
.filter-options button[aria-pressed=true] {
  background:var(--blue);
  color:white;
}
.result-count {
  font-size:13px;
  color:var(--muted);
  white-space:nowrap;
}
.work-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.work-grid.two {
  grid-template-columns:1fr 1fr;
}
.work-card-image {
  position:relative;
  height:280px;
  overflow:hidden;
  background:#183969;
}
.work-card-image>img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s;
}
.work-card:hover img, .article-card:hover img {
  transform:scale(1.045);
}
.work-number {
  position:absolute;
  top:18px;
  left:20px;
  font:40px var(--serif);
  color:white;
  text-shadow:0 1px 15px #14254675;
}
.round-link {
  width:42px;
  height:42px;
  background:white;
  display:grid;
  place-items:center;
  font-size:24px;
  color:var(--ink);
  position:absolute;
  right:18px;
  bottom:18px;
  border-radius:50%;
  transition:background .25s,color .25s;
}
.work-card:hover .round-link, .article-card:hover .round-link {
  background:var(--blue);
  color:white;
}
.article-meta {
  display:flex;
  justify-content:space-between;
  gap:18px;
  font-size:12px;
  color:var(--muted);
  line-height:1.6;
  margin:22px 0 15px;
}
.article-meta>span:first-child {
  color:var(--blue);
}
.work-card .article-meta {
  font-size:11px;
  gap:10px;
}
.work-card h3, .article-card h3 {
  font-size:30px;
  line-height:1.2;
  margin-bottom:18px;
}
.work-card p, .article-card p {
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
  margin-bottom:22px;
}
.sector-section {
  background:var(--pale);
}
.sector-section .sector-grid p {
  font-size:16px;
}
.case-hero {
  padding-top:55px;
  padding-bottom:55px;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:70px;
  align-items:end;
}
.case-hero h1 {
  font-size:clamp(46px,5.3vw,77px);
  margin:28px 0;
}
.case-hero>div>p {
  font-size:18px;
  color:var(--muted);
  max-width:690px;
}
.case-hero dl {
  margin:0;
  border-top:1px solid var(--line);
}
.case-hero dl>div {
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.case-hero dt {
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.case-hero dd {
  margin:9px 0 0;
  font-size:16px;
}
.case-banner img {
  width:100%;
  height:490px;
  object-fit:cover;
  object-position:center 48%;
}
.case-narrative {
  display:grid;
  grid-template-columns:1fr 2.4fr;
  gap:10%;
  padding-top:85px;
  padding-bottom:75px;
}
.case-narrative aside {
  position:sticky;
  top:150px;
  align-self:start;
}
.case-narrative aside>p {
  font:28px/1.4 var(--serif);
  margin-top:22px;
}
.case-aside-index {
  font:140px var(--serif);
  color:#e1e8f5;
  display:block;
  margin-top:45px;
}
.case-narrative section {
  margin-bottom:65px;
}
.case-narrative section>.eyebrow {
  margin-bottom:25px;
}
.case-narrative h2 {
  font-size:48px;
}
.case-narrative .lead {
  margin-top:30px;
  font-size:19px;
  line-height:1.8;
}
.narrative-step {
  margin-top:38px;
  border-top:1px solid var(--line);
  padding-top:28px;
}
.narrative-step h3 {
  font-size:29px;
  line-height:1.3;
  margin:18px 0;
}
.narrative-step p {
  font-size:17px;
  line-height:1.8;
  color:var(--muted);
}
.case-deliverables h3 {
  font-size:32px;
}
.case-narrative blockquote, .article-prose blockquote {
  margin:0 0 32px;
  background:#edf3fd;
  border-left:2px solid var(--blue);
  padding:33px;
}
.case-narrative blockquote p, .article-prose blockquote p {
  font:29px/1.45 var(--serif);
  color:var(--blue);
  margin-top:20px;
}
.insights-intro {
  padding-bottom:57px;
}
.featured-insight {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:0;
}
.featured-image {
  position:relative;
  overflow:hidden;
}
.featured-image img {
  width:100%;
  height:490px;
  object-fit:cover;
}
.feature-image-label {
  position:absolute;
  left:25px;
  bottom:25px;
  font-size:12px;
  letter-spacing:.1em;
  color:white;
}
.featured-insight>div {
  background:var(--pale);
  padding:48px;
  display:flex;
  flex-direction:column;
  align-items:start;
  justify-content:center;
}
.featured-insight .article-meta {
  width:100%;
  margin-top:0;
  margin-bottom:28px;
}
.featured-insight h2 {
  font-size:48px;
  line-height:1.18;
}
.featured-insight p {
  margin:25px 0;
  color:var(--muted);
  font-size:17px;
}
.search-box {
  display:flex;
  align-items:center;
  border-bottom:1px solid #a8b5cd;
  width:280px;
  flex-shrink:0;
}
.search-box input {
  width:100%;
  background:transparent;
  border:0;
  font-size:16px;
  padding:13px 5px;
  color:var(--ink);
  min-width:0;
}
.search-box>span:last-child {
  font-size:27px;
  padding-inline:12px;
}
.insights-library .filter-bar {
  display:block;
}
.insights-library .result-count {
  display:block;
  margin-top:17px;
}
.article-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px 32px;
}
.article-card h3 {
  font-size:31px;
  line-height:1.23;
}
.article-card .text-link {
  font-size:14px;
}
.article-card-link {
  display:flex;
  flex-direction:column;
  height:100%;
  align-items:start;
}
.article-card-link>.article-meta {
  width:100%;
}
.article-card-link>.text-link {
  margin-top:auto;
}
.no-results {
  padding:60px 0;
  text-align:center;
}
.no-results h3 {
  font-size:35px;
  margin-bottom:12px;
}
.no-results .text-link {
  background:transparent;
  margin-top:22px;
}
.toolkit {
  padding:85px 0;
  background:var(--pale);
}
.toolkit .tool-card {
  text-align:left;
}
.article-header {
  max-width:1200px;
  padding-top:48px;
  padding-bottom:45px;
}
.article-header>.article-meta {
  max-width:100%;
  margin-top:0;
}
.article-header h1 {
  font-size:clamp(52px,5.8vw,83px);
  margin:25px 0;
}
.article-header>p {
  max-width:860px;
  font-size:21px;
  line-height:1.65;
  color:var(--muted);
}
.article-byline {
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:36px;
  font-size:14px;
}
.byline-mark {
  background:var(--blue);
  color:white;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font:19px var(--serif);
  letter-spacing:-2px;
}
.article-byline small {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:2px;
}
.copy-link {
  margin-left:auto;
  background:transparent;
  font-size:14px;
  color:var(--blue);
  padding:12px 0 12px 20px;
}
.copy-link>span {
  margin-left:10px;
}
.article-banner {
  max-width:1440px;
}
.article-banner img {
  height:395px;
  width:100%;
  object-fit:cover;
  object-position:center 45%;
}
.reading-layout {
  display:grid;
  grid-template-columns:260px minmax(0,760px);
  gap:100px;
  max-width:1390px;
  padding-top:75px;
  padding-bottom:90px;
}
.reading-sidebar {
  position:sticky;
  top:150px;
  align-self:start;
}
.reading-sidebar>nav {
  display:grid;
  margin-top:25px;
}
.reading-sidebar nav a {
  font-size:14px;
  line-height:1.6;
  padding:14px 0;
  border-top:1px solid var(--line);
  display:flex;
  gap:12px;
  color:var(--muted);
}
.reading-sidebar nav a:hover, .reading-sidebar nav a.is-current {
  color:var(--blue);
}
.reading-sidebar nav a>span {
  font-size:12px;
  padding-top:2px;
}
.reading-sidebar>.text-link {
  margin-top:30px;
  color:var(--blue);
}
.article-prose section {
  margin-bottom:55px;
  scroll-margin-top:140px;
}
.article-prose h2 {
  font-size:36px;
  line-height:1.25;
  letter-spacing:-.025em;
  margin:17px 0 24px;
}
.article-prose section>p {
  font-size:18px;
  line-height:1.85;
  color:#465369;
  margin-top:20px;
}
.article-prose section:first-child>p:first-of-type:first-letter {
  font:68px/.8 var(--serif);
  float:left;
  padding:10px 9px 0 0;
  color:var(--blue);
}
.article-prose .article-disclaimer {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:25px;
  margin-top:30px;
}
.further-reading {
  margin-top:30px;
}
.further-reading a {
  display:inline-block;
  color:var(--blue);
  font-size:14px;
  margin-top:14px;
  border-bottom:1px solid currentColor;
}
.article-service-link {
  margin-top:35px;
  padding:28px 30px;
  background:var(--deep);
  color:white;
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:space-between;
}
.article-service-link>span:first-child {
  font:25px var(--serif);
  line-height:1.3;
}
.article-service-link small {
  display:block;
  font:11px var(--sans);
  letter-spacing:.1em;
  color:#b8cff7;
  margin-bottom:14px;
}
.article-service-link>span:last-child {
  font-size:30px;
}
.reading-progress {
  height:3px;
  position:fixed;
  top:103px;
  left:0;
  right:0;
  z-index:51;
  pointer-events:none;
}
.reading-progress>span {
  display:block;
  height:100%;
  width:0;
  background:var(--blue);
}
.contact-page {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:7%;
  padding-top:65px;
  padding-bottom:80px;
}
.contact-page h1 {
  font-size:clamp(49px,5.2vw,76px);
  margin:30px 0;
}
.contact-place {
  border-top:1px solid var(--line);
  padding-top:25px;
  margin-top:42px;
}
.contact-place>p {
  font:28px var(--serif);
  margin:15px 0;
}
.contact-expect {
  margin-top:35px;
  max-width:470px;
}
.contact-expect>p {
  font-size:16px;
  color:var(--muted);
  margin-top:20px;
}
.enquiry-panel {
  background:var(--pale);
  padding:38px;
}
.enquiry-panel h2 {
  font-size:45px;
  margin:22px 0 34px;
}
.enquiry-panel .form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 22px;
}
.enquiry-panel label {
  display:block;
  font-size:14px;
  line-height:1.5;
}
.enquiry-panel label>span {
  color:var(--blue);
  margin-left:3px;
}
.enquiry-panel input, .enquiry-panel select, .enquiry-panel textarea {
  width:100%;
  display:block;
  border:0;
  border-bottom:1px solid #afbbce;
  padding:12px 0;
  background:transparent;
  color:var(--ink);
  font-size:16px;
  border-radius:0;
  margin-top:7px;
  min-width:0;
}
.enquiry-panel input::placeholder, .enquiry-panel textarea::placeholder {
  color:#79869b;
}
.enquiry-panel textarea {
  resize:vertical;
  min-height:100px;
}
.enquiry-panel .full {
  grid-column:1/-1;
}
.enquiry-panel .form-note {
  font-size:13px;
  line-height:1.7;
  color:var(--muted);
  margin:24px 0;
}
.button-blue {
  background:var(--blue);
  color:white;
}
.button-blue:hover {
  background:#0f359a;
}
.form-status {
  font-size:14px;
  color:var(--blue);
  margin-top:20px;
  line-height:1.6;
}
.form-status:empty {
  display:none;
}
.contact-faq {
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:10%;
  border-top:1px solid var(--line);
}
.contact-faq h2 {
  font-size:50px;
  margin-top:25px;
}
.not-found {
  padding-top:110px;
  padding-bottom:120px;
}
.not-found h1 {
  margin:25px 0;
}
.not-found>p {
  font-size:20px;
  line-height:1.6;
  color:var(--muted);
  margin-bottom:35px;
}
.not-found>.text-link {
  margin-left:30px;
}
#model-dialog {
  background:var(--deep);
  color:white;
  border:1px solid #5473a0;
  width:min(690px,calc(100% - 36px));
  max-height:85vh;
  padding:40px;
  box-shadow:0 20px 100px #0007;
}
#model-dialog::backdrop {
  background:#06142bd9;
  backdrop-filter:blur(8px);
}
#model-dialog h2 {
  font-size:38px;
  line-height:1.2;
  margin:24px 0;
}
#model-dialog>.eyebrow {
  color:#b3cdf5;
}
#model-dialog .dialog-close {
  position:absolute;
  top:17px;
  right:20px;
  background:transparent;
  color:white;
  font-size:29px;
  width:40px;
  height:40px;
}
#model-dialog .j-chart {
  height:235px;
}
.glossary-list div {
  border-top:1px solid #ffffff25;
  padding:20px 0;
}
.glossary-list dt {
  font:25px var(--serif);
  color:#c6ddff;
}
.glossary-list dd {
  font-size:16px;
  color:#c0cde5;
  margin:10px 0 0;
}
.site-header .menu-button {
  flex-direction:column;
  justify-content:center;
  gap:7px;
}
.site-header .menu-button span {
  width:24px;
  margin:0;
  flex-shrink:0;
}
.site-header .menu-button[aria-expanded=true] span:first-child {
  transform:translateY(4px) rotate(45deg);
}
.site-header .menu-button[aria-expanded=true] span:last-child {
  transform:translateY(-4px) rotate(-45deg);
}
@media(max-width:1100px) {
  .service-card {
    padding:28px;
  }
  .service-card h3 {
    font-size:28px;
  }
  .service-hero-inner {
    gap:45px;
  }
  .service-body {
    grid-template-columns:205px 1fr;
    gap:45px;
  }
  .service-hero-aside {
    padding-left:30px;
  }
  .reading-layout {
    gap:60px;
    grid-template-columns:230px 1fr;
  }
  .contact-page {
    gap:5%;
  }
  .enquiry-panel {
    padding:30px;
  }
  .work-card .article-meta {
    flex-direction:column;
    gap:3px;
  }
  .featured-insight>div {
    padding:35px;
  }
  .featured-insight h2 {
    font-size:41px;
  }
  .page-intro h1 {
    font-size:64px;
  }
  .split-heading {
    gap:35px;
  }
  .split-heading>p {
    font-size:16px;
  }
  .home-work-copy {
    padding:65px 9%;
  }
  .work-intro h1 {
    font-size:62px;
  }
  .principles.four article {
    margin-right:0;
  }
}
@media(max-width:850px) {
  .home-page .hero {
    min-height:850px;
  }
  .home-page .hero-main {
    padding-top:170px;
  }
  .home-page .hero h1 {
    font-size:86px;
  }
  .home-principles {
    gap:20px;
    font-size:19px;
  }
  .home-principles span:before {
    margin-right:9px;
  }
  .service-directory>a {
    grid-template-columns:30px 1fr 35px;
    gap:20px;
  }
  .service-directory p {
    grid-column:2;
    grid-row:2;
  }
  .service-directory>a>span:last-child {
    grid-column:3;
    grid-row:1;
  }
  .home-work {
    min-height:500px;
  }
  .home-work-copy {
    padding:45px 10%;
  }
  .home-work-copy .button {
    gap:15px;
    font-size:13px;
  }
  .services-grid {
    grid-template-columns:1fr 1fr;
  }
  .split-heading {
    display:block;
  }
  .split-heading>p {
    margin-top:30px;
    max-width:520px;
    font-size:18px;
  }
  .split-heading>p br {
    display:none;
  }
  .page-intro h1 {
    font-size:66px;
  }
  .three-notes {
    gap:30px;
  }
  .three-notes h3 {
    font-size:25px;
  }
  .service-hero-inner {
    grid-template-columns:1fr;
    gap:35px;
    padding-top:50px;
    padding-bottom:50px;
  }
  .service-hero-aside {
    display:none;
  }
  .service-hero h1 {
    font-size:54px;
  }
  .service-body {
    grid-template-columns:1fr;
    gap:45px;
    padding-top:50px;
  }
  .service-sidebar {
    position:static;
    display:block;
  }
  .service-sidebar nav {
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    border-bottom:1px solid var(--line);
  }
  .service-sidebar nav a {
    border:0;
    font-size:13px;
  }
  .service-sidebar>div, .service-sidebar>.text-link {
    display:none;
  }
  .related-card {
    padding:30px;
  }
  .related-card h3 {
    font-size:30px;
  }
  .work-intro {
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
  .work-intro h1 {
    font-size:53px;
  }
  .work-intro>div>p {
    font-size:16px;
  }
  .work-intro>div>p br {
    display:none;
  }
  .work-intro-photo {
    height:440px;
  }
  .work-intro-photo>span {
    font-size:10px;
  }
  .library-heading {
    gap:30px;
    align-items:start;
  }
  .library-heading>p {
    max-width:270px;
  }
  .work-grid {
    grid-template-columns:1fr 1fr;
    gap:32px 25px;
  }
  .work-grid .work-card:last-child:nth-child(odd) {
    grid-column:1/-1;
    max-width:calc(50% - 12px);
  }
  .work-grid.two .work-card:last-child {
    grid-column:auto;
    max-width:none;
  }
  .article-grid {
    grid-template-columns:1fr 1fr;
    gap:42px 27px;
  }
  .article-grid>.article-card:last-child:nth-child(odd) {
    max-width:100%;
  }
  .home-page .article-grid>.article-card:last-child {
    display:none;
  }
  .case-hero {
    grid-template-columns:1fr;
    gap:30px;
  }
  .case-hero dl {
    display:flex;
    gap:30px;
  }
  .case-hero dl>div {
    flex:1;
  }
  .case-hero h1 {
    font-size:63px;
  }
  .case-banner img {
    height:370px;
  }
  .case-narrative {
    gap:45px;
    grid-template-columns:200px 1fr;
  }
  .case-narrative aside>p {
    font-size:25px;
  }
  .case-narrative h2 {
    font-size:39px;
  }
  .case-narrative .lead {
    font-size:17px;
  }
  .case-aside-index {
    font-size:100px;
  }
  .featured-insight {
    grid-template-columns:1fr 1fr;
  }
  .featured-insight h2 {
    font-size:37px;
  }
  .featured-insight>div {
    padding:27px;
  }
  .featured-insight p {
    font-size:16px;
  }
  .featured-image img {
    height:460px;
  }
  .feature-image-label {
    font-size:10px;
    max-width:190px;
  }
  .search-box {
    width:230px;
  }
  .filter-options button {
    font-size:13px;
    padding:9px 11px;
  }
  .article-header h1 {
    font-size:68px;
  }
  .article-banner img {
    height:330px;
  }
  .reading-layout {
    grid-template-columns:185px 1fr;
    gap:40px;
  }
  .reading-sidebar nav a {
    font-size:13px;
  }
  .reading-progress {
    top:83px;
  }
  .article-prose section>p {
    font-size:17px;
  }
  .article-prose h2 {
    font-size:31px;
  }
  .contact-page {
    grid-template-columns:1fr;
    gap:45px;
  }
  .contact-page h1 {
    font-size:69px;
  }
  .contact-intro {
    max-width:650px;
  }
  .contact-expect {
    max-width:600px;
  }
  .enquiry-panel {
    padding:40px;
  }
  .contact-faq {
    grid-template-columns:1fr;
    gap:35px;
  }
  .about-intro .lead {
    font-size:18px;
  }
  .article-byline {
    flex-wrap:wrap;
  }
  .article-byline .copy-link {
    margin-left:auto;
  }
}
@media(max-width:600px) {
  .section {
    padding-block:65px;
  }
  .section-heading {
    align-items:start;
    flex-direction:column;
    gap:25px;
    margin-bottom:35px;
  }
  .section-heading>p {
    max-width:none;
  }
  .section-heading .eyebrow {
    margin-bottom:20px;
  }
  .home-page .hero {
    min-height:770px;
    height:100svh;
    max-height:880px;
  }
  .home-page .hero-main {
    padding-top:150px;
  }
  .home-page .hero h1 {
    font-size:clamp(60px,12vw,77px);
  }
  .home-page .hero-copy {
    font-size:17px;
    margin-top:27px;
  }
  .home-page .hero-bottom {
    bottom:0;
    min-height:82px;
  }
  .home-page .hero-bottom>a {
    display:flex;
  }
  .home-page .hero-bottom .location {
    display:none;
  }
  .home-page .hero-bottom>p:first-child {
    max-width:150px;
    font-size:10px;
  }
  .home-principles {
    flex-direction:column;
    font-size:21px;
    gap:20px;
    margin-top:35px;
    padding-top:25px;
  }
  .home-work {
    grid-template-columns:1fr;
  }
  .home-work-image {
    height:300px;
  }
  .home-work-copy {
    padding:50px var(--gutter);
  }
  .home-work-copy h2 {
    font-size:41px;
  }
  .home-work-copy .button {
    font-size:14px;
  }
  .service-directory h3 {
    font-size:25px;
  }
  .service-directory>a {
    gap:15px;
    padding:23px 0;
  }
  .service-directory p {
    font-size:15px;
  }
  .home-page .article-grid>.article-card:last-child {
    display:block;
  }
  .page-intro {
    padding-top:40px;
  }
  .page-intro h1 {
    font-size:47px;
  }
  .split-heading {
    margin-top:24px;
  }
  .split-heading>p {
    font-size:17px;
    margin-top:24px;
    max-width:330px;
  }
  .intro-rule {
    margin-top:35px;
    font-size:10px;
  }
  .services-grid {
    grid-template-columns:1fr;
    margin-bottom:55px;
  }
  .service-card {
    padding:30px;
    min-height:350px;
  }
  .service-card h3 {
    font-size:33px;
    margin-top:30px;
    max-width:270px;
  }
  .three-notes {
    grid-template-columns:1fr;
    gap:30px;
  }
  .three-notes h3 {
    font-size:29px;
  }
  .service-hero {
    margin-top:24px;
  }
  .service-hero h1 {
    font-size:43px;
  }
  .service-hero .eyebrow {
    font-size:11px;
  }
  .service-hero-inner>div:first-child>p {
    font-size:17px;
  }
  .service-body {
    padding-block:40px 55px;
    gap:35px;
  }
  .service-sidebar nav {
    column-gap:17px;
    row-gap:0;
  }
  .service-sidebar nav a {
    font-size:12px;
    padding-block:11px;
  }
  .service-main h2 {
    font-size:37px;
  }
  .service-main .lead {
    font-size:18px;
    margin-top:25px;
  }
  .service-main>section {
    margin-bottom:50px;
  }
  .scope-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .scope-grid h3 {
    font-size:29px;
  }
  .scope-grid p {
    font-size:16px;
  }
  .service-steps li {
    gap:15px;
  }
  .service-steps h3 {
    font-size:26px;
  }
  .service-model-section {
    padding:25px 20px;
  }
  .service-model-section>div>h3 {
    font-size:30px;
  }
  .inline-model .j-chart {
    height:170px;
  }
  .service-model-section .model-caption {
    display:block;
    line-height:1.8;
  }
  .service-model-section .model-caption strong {
    display:block;
    font-size:13px;
  }
  .outcome-list li {
    font-size:16px;
    padding:16px 0;
  }
  .related-section {
    padding-block:55px;
  }
  .related-grid {
    grid-template-columns:1fr;
    gap:22px;
  }
  .related-card {
    padding:28px;
  }
  .related-card h3 {
    font-size:32px;
  }
  .work-intro {
    grid-template-columns:1fr;
    padding-top:35px;
    gap:35px;
  }
  .work-intro h1 {
    font-size:53px;
  }
  .work-intro-photo {
    height:340px;
  }
  .work-intro-photo>span {
    font-size:12px;
  }
  .library-heading {
    flex-direction:column;
    gap:25px;
    margin-bottom:30px;
  }
  .library-heading>p {
    max-width:none;
    font-size:15px;
  }
  .library-heading h2 {
    font-size:39px;
  }
  .filter-bar {
    display:block;
  }
  .result-count {
    display:block;
    margin-top:15px;
    font-size:12px;
  }
  .filter-options {
    gap:5px;
  }
  .filter-options button {
    font-size:13px;
    padding:9px 10px;
  }
  .work-grid, .work-grid.two {
    grid-template-columns:1fr;
    gap:38px;
  }
  .work-grid .work-card:last-child:nth-child(odd) {
    grid-column:auto;
    max-width:none;
  }
  .work-card-image {
    height:280px;
  }
  .work-card .article-meta {
    flex-direction:row;
    gap:15px;
    font-size:11px;
  }
  .work-card h3 {
    font-size:33px;
  }
  .sector-section .sector-grid {
    grid-template-columns:1fr;
    margin-top:30px;
  }
  .sector-grid summary {
    font-size:21px;
  }
  .case-hero {
    padding-top:37px;
    padding-bottom:35px;
    gap:30px;
  }
  .case-hero h1 {
    font-size:49px;
  }
  .case-hero>div>p {
    font-size:17px;
  }
  .case-hero dl {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 20px;
  }
  .case-hero dl>div:last-child {
    grid-column:1/-1;
  }
  .case-hero dd {
    font-size:15px;
  }
  .case-banner img {
    height:290px;
  }
  .case-narrative {
    grid-template-columns:1fr;
    gap:40px;
    padding-top:40px;
    padding-bottom:45px;
  }
  .case-narrative aside {
    position:static;
    border-bottom:1px solid var(--line);
    padding-bottom:30px;
  }
  .case-narrative aside>p {
    font-size:28px;
  }
  .case-aside-index {
    display:none;
  }
  .case-narrative section {
    margin-bottom:45px;
  }
  .case-narrative h2 {
    font-size:37px;
  }
  .narrative-step h3 {
    font-size:28px;
  }
  .case-narrative blockquote, .article-prose blockquote {
    padding:25px;
  }
  .case-narrative blockquote p, .article-prose blockquote p {
    font-size:27px;
  }
  .insights-intro {
    padding-bottom:35px;
  }
  .featured-insight {
    grid-template-columns:1fr;
  }
  .featured-image img {
    height:310px;
  }
  .featured-insight>div {
    padding:30px;
  }
  .featured-insight h2 {
    font-size:40px;
  }
  .featured-insight .article-meta {
    font-size:11px;
    margin-bottom:22px;
  }
  .feature-image-label {
    font-size:11px;
    max-width:250px;
  }
  .search-box {
    width:100%;
  }
  .article-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  .article-card h3 {
    font-size:33px;
  }
  .article-meta {
    font-size:12px;
  }
  .toolkit {
    padding-block:55px;
  }
  .article-header {
    padding-top:35px;
    padding-bottom:30px;
  }
  .article-header>.article-meta {
    font-size:11px;
    flex-wrap:wrap;
  }
  .article-header h1 {
    font-size:48px;
    line-height:1.12;
  }
  .article-header>p {
    font-size:19px;
  }
  .article-byline {
    gap:13px;
    margin-top:27px;
    font-size:13px;
  }
  .article-byline small {
    font-size:11px;
  }
  .article-byline .copy-link {
    padding:5px 0;
    margin:8px 0 0;
    flex-basis:100%;
    text-align:left;
    font-size:13px;
  }
  .article-banner img {
    height:270px;
  }
  .reading-layout {
    grid-template-columns:1fr;
    padding-top:35px;
    padding-bottom:55px;
    gap:35px;
  }
  .reading-sidebar {
    position:static;
    border-bottom:1px solid var(--line);
    padding-bottom:25px;
  }
  .reading-sidebar>nav {
    margin-top:15px;
  }
  .reading-sidebar nav a {
    font-size:14px;
    padding:10px 0;
  }
  .reading-sidebar>.text-link {
    display:none;
  }
  .article-prose h2 {
    font-size:32px;
  }
  .article-prose section {
    margin-bottom:45px;
  }
  .article-prose section>p {
    font-size:17px;
    line-height:1.8;
  }
  .article-service-link {
    padding:25px;
  }
  .article-service-link>span:first-child {
    font-size:24px;
  }
  .contact-page {
    padding-top:35px;
    padding-bottom:50px;
    gap:38px;
  }
  .contact-page h1 {
    font-size:48px;
    line-height:1.14;
  }
  .contact-page .lead {
    font-size:19px;
  }
  .contact-place {
    margin-top:30px;
  }
  .contact-expect {
    margin-top:27px;
  }
  .enquiry-panel {
    padding:28px 23px;
  }
  .enquiry-panel h2 {
    font-size:43px;
  }
  .enquiry-panel .form-grid {
    grid-template-columns:1fr;
    gap:24px;
  }
  .enquiry-panel .button {
    width:100%;
    margin-top:4px;
  }
  .contact-faq h2 {
    font-size:40px;
  }
  .faq-list summary {
    font-size:17px;
  }
  .faq-list p {
    font-size:16px;
  }
  .not-found {
    padding-block:75px;
  }
  .not-found h1 {
    font-size:62px;
  }
  .not-found>p {
    font-size:18px;
  }
  .not-found>.text-link {
    display:table;
    margin:25px 0 0;
  }
  #model-dialog {
    padding:30px 23px;
  }
  #model-dialog h2 {
    font-size:32px;
    margin-top:28px;
  }
  #model-dialog .j-chart {
    height:180px;
  }
  .reading-progress {
    top:83px;
  }
  .site-header .mobile-nav {
    max-height:calc(100svh - 84px);
    overflow:auto;
  }
  .site-header .mobile-nav a {
    font-size:25px;
    padding:13px 0;
  }
  .site-header .mobile-nav a[aria-current] {
    color:var(--blue);
  }
}
/* Final small-screen and anchor refinements. */
.about-intro>*, .work-intro>*, .contact-page>*, .featured-insight>*, .reading-layout>*, .case-narrative>* {
  min-width:0;
}
.service-main>section, .article-prose section {
  scroll-margin-top:40px;
}
@media(max-width:600px) {
  .about-intro h1 {
    font-size:clamp(49px,15.5vw,65px);
    letter-spacing:-.04em;
  }
  .service-hero h1 {
    font-size:clamp(37px,10.7vw,43px);
  }
  .contact-page h1 {
    font-size:clamp(41px,12vw,48px);
  }
  .article-header h1 {
    font-size:clamp(41px,12vw,48px);
  }
  .page-intro h1 {
    font-size:clamp(40px,11.7vw,47px);
  }
  .case-hero h1 {
    font-size:clamp(42px,12vw,49px);
  }
  .work-intro h1 {
    font-size:clamp(43px,13.4vw,53px);
  }
  .footer-top .brand-mark {
    font-size:24px;
  }
  .principles.four article {
    padding-inline:0;
  }
  .about-image figcaption {
    font-size:11px;
    left:20px;
    right:20px;
    bottom:20px;
  }
}
@media(max-width:600px) {
  .value-strip>.wrap {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    padding-block:24px;
    min-height:115px;
  }
  .value-strip .wrap>span {
    margin:0;
    padding:0;
    gap:8px;
    flex-direction:column;
    align-items:flex-start;
    font-size:clamp(22px,6.2vw,28px);
    border:0;
    min-width:0;
  }
  .value-strip small {
    font-size:11px;
  }
  .value-strip p {
    display:none;
  }
}
/* Refinement system: quiet reading surfaces, deliberate emphasis, usable controls. */
:root {
  --field-line: #79869b;
  --focus-light: #ffffff;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}
h1, h2, h3 {
  text-wrap: balance;
}
h1 em, h2 em {
  letter-spacing: -.035em;
}
.icon-arrow {
  width: 22px;
  height: 22px;
  flex: none;
  vertical-align: middle;
}
.text-link {
  min-height: 44px;
  transition: color .2s;
  gap: 14px;
}
.text-link:hover {
  gap: 14px;
}
.text-link .icon-arrow, .service-card .icon-arrow {
  transition: transform .25s var(--ease-out);
}
.text-link:hover .icon-arrow, .service-card:hover .icon-arrow {
  transform: translate(3px, -3px);
}
.button .icon-arrow, .nav-contact .icon-arrow {
  width: 20px;
  height: 20px;
}
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 5px;
}
:is(.hero, .home-services, .home-work, .blue-band, .service-hero, .cta, .footer,
.related-card.dark, .article-service-link, .service-model-section, #model-dialog) :focus-visible,
.service-card:focus-visible:hover {
  outline-color: var(--focus-light);
  box-shadow: 0 0 0 2px var(--deep);
}
input, textarea, select {
  caret-color: var(--blue);
}
.model-box input {
  accent-color: #b6d7f7;
}
html {
  scrollbar-color: #879bbf var(--pale);
  scrollbar-width: thin;
}
a {
  text-underline-offset: .24em;
}
.model-box, .result-count, .article-meta {
  font-variant-numeric: tabular-nums;
}
.hero h1, .hero-copy, .hero-main>.button {
  animation: none;
}
.hero-image {
  animation: architecture-arrive 1.2s var(--ease-out) both;
}
@keyframes architecture-arrive {
  from {
    transform: scale(1.035);
  }
  to {
    transform: scale(1);
  }
}
.home-page .hero h1 {
  font-size: clamp(65px, 7.2vw, 96px);
}
.hero-copy {
  max-width: 520px;
}
.home-intro .intro-grid {
  margin-top: 0;
}
.section-heading h2 em, .service-main h2 em, .contact-faq h2 em, .three-notes h3 em, .related-section h2 em {
  font-family: var(--serif);
  font-style: normal;
  color: inherit;
}
.belief {
  padding-inline: var(--gutter);
  grid-template-columns: 1.5fr 1fr;
  gap: 80px;
}
.belief h2 {
  grid-column: auto;
}
.belief>p {
  align-self: end;
  margin: 0 0 5px;
}
.story {
  grid-template-columns: 1fr;
}
.story>div {
  max-width: 1150px;
}
.principles.four {
  margin-top: 0;
}
.principles.four h3 {
  margin-top: 0;
}
.principles.four article {
  padding-top: 30px;
}
.home-work-copy h2 {
  margin-top: 0;
}
.service-directory>a {
  transition: background .2s;
}
.service-directory>a:hover {
  padding-left: 0;
  padding-right: 0;
  background: #ffffff08;
}
.service-card h2 {
  font-size: 31px;
  line-height: 1.22;
  max-width: 300px;
  margin: 0 0 24px;
  letter-spacing: -.025em;
}
.service-card {
  min-height: 340px;
  padding: 36px;
}
.service-card-bottom {
  align-items: center;
  gap: 16px;
}
.service-hero .service-name {
  font-size: 16px;
  margin: 0;
  color: #dbe7ff;
}
.service-hero-aside {
  justify-content: center;
}
.service-hero-aside>p {
  font-size: 30px;
  margin-top: 0;
}
.service-hero-aside>p::before {
  content: '“';
  display: block;
  font-family: var(--serif);
  font-size: 70px;
  line-height: .9;
  color: #b6d7f7;
}
.article-grid {
  gap: 0 38px;
}
.article-card {
  border-top: 1px solid var(--line);
}
.article-card-link {
  padding: 28px 0 32px;
}
.article-card .article-meta {
  margin: 0 0 24px;
  font-size: 13px;
  gap: 15px;
}
.article-card h3 {
  font-size: clamp(27px, 2.4vw, 33px);
  line-height: 1.25;
}
.article-card p {
  margin: 22px 0;
}
.article-card .text-link {
  margin-top: auto;
}
.article-card:hover h3 {
  color: var(--blue);
}
.article-card-link:focus-visible {
  outline-offset: 8px;
}
.insights-library .article-grid {
  grid-template-columns: 1fr;
}
.insights-library .article-card-link {
  display: grid;
  grid-template-columns: .6fr 1.3fr 1.3fr;
  column-gap: 45px;
  align-items: start;
}
.insights-library .article-card .article-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 5px 0 0;
}
.insights-library .article-card h3 {
  font-size: 31px;
}
.insights-library .article-card p {
  margin: 3px 0 0;
}
.insights-library .article-card .text-link {
  grid-column: 2;
  margin-top: 18px;
}
.search-icon {
  width: 22px;
  height: 22px;
  flex: none;
  margin-inline: 12px;
}
.search-box input::placeholder {
  color: var(--muted);
  opacity: 1;
}
.filter-options button {
  min-height: 44px;
}
.reading-progress>span {
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
}
.reading-contents summary {
  font-size: 14px;
  font-weight: 600;
  list-style: none;
  min-height: 44px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.reading-contents summary::-webkit-details-marker {
  display: none;
}
.reading-contents summary span {
  font-size: 22px;
  font-weight: 400;
}
.reading-contents[open] summary span {
  transform: rotate(45deg);
}
.reading-contents nav {
  display: grid;
  margin-top: 8px;
}
.article-prose section:first-child h2 {
  margin-top: 0;
}
.article-prose section>p {
  max-width: 72ch;
}
.article-prose blockquote {
  margin-block: 45px;
}
.contact-jump {
  color: var(--blue);
  margin-top: 24px;
}
#enquiry-form {
  scroll-margin-top: 45px;
}
.enquiry-panel h2 {
  margin: 0 0 20px;
  font-size: 40px;
}
.enquiry-panel .form-note {
  margin: 0 0 30px;
  font-size: 14px;
  padding-bottom: 25px;
  border-bottom: 1px solid var(--line);
}
.form-note strong {
  display: block;
  color: var(--ink);
  margin-bottom: 5px;
}
.enquiry-panel input, .enquiry-panel textarea, .enquiry-panel select {
  border-bottom-color: var(--field-line);
}
.enquiry-panel input::placeholder, .enquiry-panel textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}
.enquiry-panel input:focus, .enquiry-panel textarea:focus, .enquiry-panel select:focus {
  border-bottom-color: var(--blue);
}
.enquiry-panel .button {
  margin-top: 26px;
}
.footer-top>div>a:not(.brand), .footer-bottom>a {
  min-height: 44px;
  display: flex;
  align-items: center;
  margin-top: 0;
}
.hero-bottom>a {
  min-height: 44px;
}
.dialog-close {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
}
.dialog-close svg {
  width: 24px;
  height: 24px;
}
#model-dialog {
  border: 0;
}
.model-box input[type=range] {
  min-height: 44px;
}
.model-caption, .model-note small, .range-labels {
  font-size: 13px;
}
.model-note small {
  color: #c0cfee;
  line-height: 1.7;
}
.model-caption {
  flex-wrap: wrap;
  gap: 10px;
}
.model-box input[type=range] {
  display: block;
  width: 100%;
  margin: 10px 0;
}
.home-services .section-heading h2 em {
  color: inherit;
}
@media (max-width:1100px) {
  .insights-library .article-card-link {
    column-gap: 25px;
    grid-template-columns: .7fr 1.5fr 1.5fr;
  }
  .belief {
    gap: 40px;
  }
}
@media (max-width:850px) {
  .belief {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .belief>p {
    max-width: 600px;
  }
  .service-hero-aside {
    display: block;
    padding: 25px 0 0;
    border-left: 0;
    border-top: 1px solid #ffffff50;
  }
  .service-hero-inner {
    gap: 28px;
  }
  .service-hero-aside>p {
    max-width: 650px;
    font-size: 25px;
  }
  .service-hero-aside>p::before {
    display: none;
  }
  .article-grid {
    grid-template-columns: 1fr;
  }
  .article-grid .article-card:nth-child(3) {
    display: block;
  }
  .article-card-link {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
  }
  .article-card .article-meta {
    grid-column: 1/-1;
  }
  .article-card p {
    margin-top: 0;
  }
  .article-card .text-link {
    grid-column: 2;
  }
  .insights-library .article-card-link {
    grid-template-columns: 1fr 1fr;
  }
  .insights-library .article-card .article-meta {
    flex-direction: row;
    margin: 0 0 20px;
  }
  .reading-sidebar {
    border-block: 1px solid var(--line);
    padding: 4px 0;
    margin-bottom: 30px;
  }
  .reading-sidebar>.text-link {
    display: none;
  }
  .reading-contents summary {
    cursor: pointer;
  }
  .reading-layout {
    gap: 0;
    padding-top: 35px;
  }
  .featured-insight>div {
    order: -1;
  }
  .featured-insight {
    gap: 30px;
  }
}
@media (max-width:600px) {
  .home-page .hero h1 {
    font-size: clamp(53px, 12.5vw, 72px);
  }
  .hero-copy {
    font-size: 16px;
    max-width: 330px;
  }
  .hero-copy br {
    display: none;
  }
  .page-intro {
    padding-top: 32px;
  }
  .split-heading {
    margin-top: 0;
  }
  .intro-rule {
    margin-top: 28px;
  }
  .services-grid {
    margin-bottom: 55px;
  }
  .service-card {
    min-height: 0;
    padding: 26px 23px;
  }
  .service-card h2 {
    font-size: 28px;
    margin: 0 0 14px;
  }
  .service-card p {
    font-size: 15px;
    margin-bottom: 18px;
  }
  .service-card-bottom {
    border-top: 0;
    padding: 0;
    font-size: 14px;
  }
  .service-hero-aside>p {
    font-size: 23px;
  }
  .service-hero h1 {
    margin-top: 22px;
  }
  .belief {
    padding-inline: var(--gutter);
  }
  .article-card-link, .insights-library .article-card-link {
    display: flex;
  }
  .article-card .article-meta, .insights-library .article-card .article-meta {
    font-size: 12px;
    flex-direction: row;
    margin-bottom: 17px;
  }
  .article-card h3, .insights-library .article-card h3 {
    font-size: 29px;
  }
  .article-card p, .insights-library .article-card p {
    margin: 16px 0 13px;
    font-size: 16px;
  }
  .article-card .text-link, .insights-library .article-card .text-link {
    margin-top: 0;
  }
  .featured-insight .featured-image {
    height: 210px;
  }
  .featured-insight h2 {
    font-size: 36px;
  }
  .article-banner img {
    height: 140px;
  }
  .article-header {
    padding-top: 24px;
    padding-bottom: 28px;
  }
  .article-header h1 {
    font-size: clamp(37px, 10.5vw, 46px);
    margin-block: 20px;
  }
  .article-header>p {
    font-size: 18px;
  }
  .article-byline {
    margin-top: 24px;
  }
  .reading-layout {
    padding-top: 24px;
  }
  .reading-sidebar {
    margin-bottom: 28px;
  }
  .article-prose h2 {
    font-size: 30px;
  }
  .article-prose section>p {
    font-size: 17px;
    line-height: 1.8;
  }
  .contact-intro h1 {
    margin-top: 0;
  }
  .contact-page {
    padding-top: 32px;
  }
  .contact-jump {
    margin-top: 18px;
  }
  .enquiry-panel h2 {
    font-size: 35px;
  }
  .enquiry-panel .form-note {
    font-size: 14px;
  }
  .model-caption, .range-labels, .model-note small {
    font-size: 12px;
  }
  .tool-body .eyebrow, .article-meta, .footer-bottom, .feature-image-label {
    font-size: 12px;
  }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

#enquiry-panel { scroll-margin-top: 28px; }
.chart-axis { display: flex; justify-content: space-between; gap: 8px; color: #c0cfee; font-size: 12px; }
.chart-axis span:nth-child(2) { text-align: center; }
.service-directory > a > .icon-arrow { justify-self: end; color: #bcd7fe; }
.outcome-list .icon-arrow { width: 18px; height: 18px; color: var(--blue); margin-top: 5px; }
.copy-link .icon-arrow { margin-left: 10px; width: 17px; height: 17px; }
@media (max-width: 600px) { .chart-axis { font-size: 11px; } }
