/* GENERATED from site.css by tools/css/build.py — do not edit.
   The source, with every comment explaining why a rule is the way it
   is, is served beside this file. Use the VERSIONED url — the bare
   one can be served stale from the edge for up to a year:

       /css/site.css?v=119166dd
*/
:root{
  --site-page-pad:var(--page-x);
  --site-section-pad:var(--section-y);
  --site-section-pad-tight:var(--section-y-tight);
  --site-header-h:var(--header-h);
}

body.page--about{ --site-section-pad:var(--section-y); }

body{ padding-top:var(--site-header-h); }

.wrap{ max-width:var(--content-max); margin-inline:auto; }

.section{ padding:var(--site-section-pad) var(--site-page-pad); }

.section--flush-top{ padding-top:0; }

.grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--gutter);
}

.measure{ max-width:var(--measure-prose); }
.measure-lead{ max-width:var(--measure-lead); }
.measure-display{ max-width:var(--measure-display); }

.section-title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--stack-label) 0 0;
  max-width:var(--measure-display);
}

.section__body{ margin-top:var(--stack-heading); }
.section__body > p:last-child{ margin-bottom:0; }

.skip-link{
  position:absolute; left:var(--space-4); top:var(--space-4);
  z-index:60;
  padding:var(--space-3) var(--space-4);
  background:var(--surface-page); color:var(--text-body);
  border:var(--border-strong);
  font-size:var(--type-body-sm-size);
  transform:translateY(calc(-1 * var(--space-24)));
}
.skip-link:focus{ transform:none; }

.wordmark{
  display:inline-flex;
  align-items:baseline;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  line-height:1;
  letter-spacing:var(--wordmark-ls);
  white-space:nowrap;
  text-decoration:none;
  border-bottom:0;
  color:var(--text-display);
}
.wordmark:hover,
.wordmark:active{ color:var(--text-display); border-bottom:0; }

.wordmark--on-dark,
.wordmark--on-dark:hover,
.wordmark--on-dark:active{ color:var(--text-on-dark); }

.wordmark__word{ display:block; }

.wordmark__mark{
  display:block;
  flex:none;
  width:var(--wordmark-mark-w);
  height:var(--wordmark-mark-h);
  margin-left:var(--wordmark-mark-gap);
  margin-bottom:var(--wordmark-mark-lift);
}

.wordmark--nav{ font-size:var(--wordmark-size-nav); }
.wordmark--footer{ font-size:var(--wordmark-size-footer); }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:var(--space-3);
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  letter-spacing:var(--type-nav-ls);
  border:var(--rule-weight) solid transparent;
  border-radius:var(--radius);
  box-shadow:var(--shadow-none);
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:var(--transition-color);
}
.btn--md{ font-size:var(--type-button-md-size); padding:var(--btn-pad-y-md) var(--btn-pad-x-md); }
.btn--nav{ font-size:var(--type-nav-size); padding:var(--btn-pad-y-nav) var(--btn-pad-x-nav); }
.btn--lg{ font-size:var(--type-button-lg-size); padding:var(--btn-pad-y-lg) var(--btn-pad-x-lg); }

.btn--primary{
  background:var(--interactive-accent-fill);
  border-color:var(--interactive-accent-fill);
  color:var(--text-on-dark);
}

.btn--primary:hover{
  background:var(--surface-card);
  border-color:var(--interactive-accent);
  color:var(--text-link);
}

.btn--primary:active{
  background:var(--interactive-accent-pressed);
  border-color:var(--interactive-accent-pressed);
  color:var(--text-on-dark);
}

.btn--secondary{
  background:transparent;
  border-color:var(--interactive-accent);
  color:var(--text-link);
}
.btn--secondary:hover{
  background:var(--interactive-accent-fill);
  border-color:var(--interactive-accent-fill);
  color:var(--text-on-dark);
}
.btn--secondary:active{
  background:var(--interactive-accent-pressed);
  border-color:var(--interactive-accent-pressed);
  color:var(--text-on-dark);
}

.btn__arrow{ transition:transform var(--duration-fast) var(--ease); }
.btn:hover .btn__arrow{ transform:translateX(var(--arrow-nudge)); }

.btn:focus-visible{ outline:var(--rule-weight) solid var(--focus-ring); outline-offset:var(--focus-ring-offset); }

@media (hover:none) and (pointer:coarse){
  .nav-toggle{
    min-height:var(--tap-target);
    min-width:var(--tap-target);
    display:inline-flex; align-items:center; justify-content:flex-end;
    padding-inline:var(--space-2);
    margin-right:calc(var(--space-2) * -1);
  }
  .site-header__home,
  .site-header__home .wordmark{
    min-height:var(--tap-target);
    display:inline-flex; align-items:center;
  }
  .site-footer__list{ gap:0; }
  .site-footer__link,
  .site-footer__legal-links a,
  .consent__text a{
    display:inline-flex;
    align-items:center;
    min-height:var(--tap-target);
  }

  .consent__text a{
    display:inline;

    padding-block:var(--space-4);
  }
}

.legal__body a:hover,
.legal__list a:hover,
.consent__text a:hover,
.topics a:hover,
.crumbs a:hover{
  text-decoration:underline;
  text-decoration-color:currentColor;
  text-underline-offset:var(--space-1);
}

.arrow-link{
  display:inline-flex; align-items:baseline;
  gap:var(--space-3);
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  letter-spacing:var(--type-nav-ls);
  text-decoration:none;
  white-space:nowrap;
  border:0;
  transition:var(--transition-color);
}

.arrow-link--lift{
  align-items:center;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  transition:transform var(--duration-fast) var(--ease);
}
.arrow-link--lift .arrow-link__arrow{ color:var(--text-body); }
.arrow-link--lift:hover{ transform:translateY(calc(var(--arrow-nudge) * -1)); }
.arrow-link--lift:hover .arrow-link__arrow{ color:var(--text-link); }

.eyebrow{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
  color:var(--text-label);
  margin:0;
}
.eyebrow--on-dark{ color:var(--text-on-dark-muted); }

.site-header{
  position:fixed; inset:0 0 auto 0;
  z-index:40;
  height:var(--site-header-h);
  display:flex; align-items:center;
  gap:var(--space-12);
  padding-inline:var(--site-page-pad);
  background:var(--surface-page);
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  transition:var(--transition-color);
}
.site-header.is-scrolled{ border-bottom-color:var(--line-hairline); }

body.page--home .site-header:not(.is-scrolled),
body.page--about .site-header:not(.is-scrolled),
body.page--team .site-header:not(.is-scrolled),
body.page--services .site-header:not(.is-scrolled),
body.page--industries .site-header:not(.is-scrolled),
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled){
  background:transparent;
  border-bottom-color:var(--line-on-dark);
}
body.page--home .site-header:not(.is-scrolled) .wordmark--nav,
body.page--about .site-header:not(.is-scrolled) .wordmark--nav,
body.page--team .site-header:not(.is-scrolled) .wordmark--nav,
body.page--services .site-header:not(.is-scrolled) .wordmark--nav,
body.page--industries .site-header:not(.is-scrolled) .wordmark--nav,
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled) .wordmark--nav,
body.page--home .site-header:not(.is-scrolled) .site-nav__link:not([aria-current]),
body.page--about .site-header:not(.is-scrolled) .site-nav__link:not([aria-current]),
body.page--team .site-header:not(.is-scrolled) .site-nav__link:not([aria-current]),
body.page--services .site-header:not(.is-scrolled) .site-nav__link:not([aria-current]),
body.page--industries .site-header:not(.is-scrolled) .site-nav__link:not([aria-current]),
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled) .site-nav__link:not([aria-current]),
body.page--home .site-header:not(.is-scrolled) .site-nav__search,
body.page--about .site-header:not(.is-scrolled) .site-nav__search,
body.page--team .site-header:not(.is-scrolled) .site-nav__search,
body.page--services .site-header:not(.is-scrolled) .site-nav__search,
body.page--industries .site-header:not(.is-scrolled) .site-nav__search,
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled) .site-nav__search,
body.page--home .site-header:not(.is-scrolled) .nav-toggle,
body.page--about .site-header:not(.is-scrolled) .nav-toggle,
body.page--team .site-header:not(.is-scrolled) .nav-toggle,
body.page--services .site-header:not(.is-scrolled) .nav-toggle,
body.page--industries .site-header:not(.is-scrolled) .nav-toggle,
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled) .nav-toggle{ color:var(--text-on-dark); }

body.page--home .site-header:not(.is-scrolled) .site-nav__cta,
body.page--about .site-header:not(.is-scrolled) .site-nav__cta,
body.page--team .site-header:not(.is-scrolled) .site-nav__cta,
body.page--services .site-header:not(.is-scrolled) .site-nav__cta,
body.page--industries .site-header:not(.is-scrolled) .site-nav__cta,
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled) .site-nav__cta{ color:var(--text-on-dark); }

body.page--home .site-header:not(.is-scrolled) .site-nav__cta:hover,
body.page--about .site-header:not(.is-scrolled) .site-nav__cta:hover,
body.page--team .site-header:not(.is-scrolled) .site-nav__cta:hover,
body.page--services .site-header:not(.is-scrolled) .site-nav__cta:hover,
body.page--industries .site-header:not(.is-scrolled) .site-nav__cta:hover,
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled) .site-nav__cta:hover{ color:var(--text-on-dark); }

.site-header__home{ flex:none; }

.site-nav{ margin-left:auto; align-self:stretch; display:flex; align-items:center; gap:var(--space-8); }

.site-nav__link{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-nav-size);
  line-height:var(--type-nav-lh);
  letter-spacing:var(--type-nav-ls);
  color:var(--text-muted);
  text-decoration:none;
  padding-bottom:var(--space-2);
  border-bottom:var(--rule-weight-heavy) solid transparent;
  transition:var(--transition-color);
}
.site-nav__link:hover,
.site-nav__link:active{ color:var(--interactive-accent-pressed); border-bottom-color:transparent; }

.site-nav__link[aria-current],
.site-nav__link[aria-current]:hover{
  color:var(--text-link);
  border-bottom-color:var(--interactive-accent);
}

.site-nav__cta{
  margin-left:var(--space-4);
  transition:var(--transition-color), transform var(--duration-fast) var(--ease);
}

.site-nav__cta:hover{ transform:translateY(calc(var(--arrow-nudge) * -1)); }

.site-nav__icon{ display:block; flex:none; width:var(--nav-icon-size); height:var(--nav-icon-size); }

.site-nav__search{
  display:inline-flex; align-items:center;
  margin:0; padding:0 0 var(--space-2);
  background:none;
  border:0;
  text-decoration:none;
  border-bottom:var(--rule-weight-heavy) solid transparent;
  color:var(--text-muted);
  cursor:pointer;
  transition:var(--transition-color);
}
.site-nav__search:hover{ color:var(--interactive-accent-pressed); }
.site-nav__search:focus-visible{ outline:var(--rule-weight) solid var(--focus-ring); outline-offset:var(--focus-ring-offset); }

.site-nav__item{
  position:relative;
  align-self:stretch;
  display:flex; align-items:center;
}

.nav-menu{
  position:absolute; top:100%; right:0; left:auto;
  z-index:41;
  width:var(--nav-menu-w);
  margin:0; padding:var(--space-6);
  list-style:none;
  background:var(--surface-page);
  border:var(--border-hairline);

  border-top:var(--rule-weight-heavy) solid var(--line-accent);
  border-radius:var(--radius);
  box-shadow:var(--shadow-none);
  opacity:0;
  visibility:hidden;
  transition:opacity var(--duration-fast) var(--ease), visibility 0s linear var(--duration);
}
.site-nav__item.is-open .nav-menu{
  opacity:1;
  visibility:visible;
  transition:opacity var(--duration-fast) var(--ease), visibility 0s;
}

.nav-menu__titlelink{
  color:inherit;
  text-decoration:none;
  border:0;
  transition:var(--transition-color);
}
.nav-menu__titlelink:hover{ color:var(--text-link); }
.nav-menu__title{
  margin:0 0 var(--space-5);

  font-family:var(--font-display);
  font-weight:var(--weight-medium);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  letter-spacing:var(--type-heading-3-ls);
  color:var(--text-display);
}
.nav-menu__list{ margin:0; padding:0; list-style:none; }
.nav-menu__item + .nav-menu__item{ margin-top:var(--space-5); }

.nav-menu__link{
  display:block;
  text-decoration:none;
  border-bottom:0;
  color:var(--text-body);
  transition:var(--transition-color);
}
.nav-menu__link:hover,
.nav-menu__link:active,
.nav-menu__link[aria-current="page"]{ color:var(--text-link); border-bottom:0; }

.nav-menu__name{
  display:block;
  font-family:var(--font-body);
  font-weight:var(--weight-regular);
  font-size:var(--type-nav-size);
  line-height:var(--type-nav-lh);
  letter-spacing:var(--type-nav-ls);
  color:inherit;
}
.nav-menu__desc{
  display:block;
  margin-top:var(--space-2);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.nav-panel__sub{
  list-style:none;
  margin:var(--space-5) 0 0;
  padding-left:var(--space-5);
  border-left:var(--border-hairline);
  display:flex; flex-direction:column; gap:var(--space-4);
}
.nav-panel__sublink{
  font-family:var(--font-body);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  text-decoration:none;
  border-bottom:0;
  transition:var(--transition-color);
}
.nav-panel__sublink:hover,
.nav-panel__sublink[aria-current="page"]{ color:var(--text-link); border-bottom:0; }

.nav-toggle{
  display:none;
  margin-left:auto;
  background:none; border:0; padding:0;
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-nav-size);
  letter-spacing:var(--type-nav-ls);
  color:var(--text-body);
  cursor:pointer;
  transition:var(--transition-color);
}
.nav-toggle:hover{ color:var(--text-link); }
.nav-toggle:focus-visible{ outline:var(--rule-weight) solid var(--focus-ring); outline-offset:var(--focus-ring-offset); }

.nav-panel{
  display:none;
  position:fixed; inset:var(--site-header-h) 0 0 auto;
  z-index:39;
  width:var(--menu-panel-w);
  padding:var(--space-10) var(--site-page-pad) var(--space-10);
  background:var(--surface-page);
  border-left:var(--border-hairline);
  overflow-y:auto;
  transform:translateX(100%);
  visibility:hidden;
  transition:transform var(--duration-slow) var(--ease-out),
             visibility 0s linear var(--duration-slow);
}
.nav-panel.is-open{
  transform:none;
  visibility:visible;
  transition:transform var(--duration-slow) var(--ease-out), visibility 0s;
}
.nav-panel__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-6); }
.nav-panel__link{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  color:var(--text-body);
  text-decoration:none;
  border-bottom:0;
  transition:var(--transition-color);
}
.nav-panel__link:hover,
.nav-panel__link[aria-current="page"]{ color:var(--text-link); border-bottom:0; }
.nav-panel__cta{ margin-top:var(--space-10); }

body.nav-open{ overflow:hidden; }

.hero{
  position:relative;
  background:var(--surface-dark);
  color:var(--text-on-dark);
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.hero__inner{
  position:relative;
  min-height:var(--hero-h);
  display:flex; align-items:center;
  padding:var(--space-10) var(--site-page-pad);
}
.hero__grid{ width:100%; max-width:var(--content-max); margin-inline:auto; }

.hero__title{
  font-size:var(--type-display-1-fluid);
  line-height:var(--type-display-1-lh);
  letter-spacing:var(--type-display-1-ls);
  color:var(--text-on-dark);
  max-width:var(--measure-display);
}
.hero__sub{
  margin-top:var(--stack-heading);
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-on-dark-muted);
  max-width:var(--measure-lead);
}

.hero--home .hero__content{ grid-column:span 8; }
.hero--home .hero__inner{ padding-bottom:calc(var(--space-10) + var(--card-overlap)); }

.hero--about .hero__inner{ min-height:var(--hero-h-about); }
.hero--about .hero__content{ grid-column:span 8; }
.hero--about .hero__title{
  font-size:var(--type-display-2-size);
  line-height:var(--type-display-2-lh);
  letter-spacing:var(--type-display-2-ls);
  max-width:var(--measure-display);
}

.hero :focus-visible,
.cta :focus-visible,
.sectorhero :focus-visible,
.pagebanner :focus-visible,
.site-footer :focus-visible{ outline:var(--rule-weight) solid var(--focus-ring); outline-offset:var(--focus-ring-offset); }

.rows{ border-top:var(--rule-weight) solid var(--line-hairline); }
.row{
  padding-block:var(--space-10);
  border-bottom:var(--rule-weight) solid var(--line-hairline);
}
.row__title{
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
}
.row__body{
  margin-top:var(--stack-heading);
  margin-bottom:var(--stack-heading);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
}

.cta{
  position:relative;
  overflow:hidden;
  background:var(--surface-dark);
  padding:var(--cta-y) var(--site-page-pad);
  text-align:center;
}

.cta__field{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:50% 0%;
}
.cta > .wrap{ position:relative; }

.cta__rule{
  width:var(--rule-accent-w);
  height:var(--rule-weight-heavy);
  background:var(--interactive-accent);
  margin:0 auto;
}
.cta__title{
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  color:var(--text-on-dark);
  max-width:var(--measure-display);
  margin:var(--space-6) auto 0;
}

.cta__lead{
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-on-dark-soft);
  max-width:var(--measure-lead);
  margin:var(--space-6) auto 0;
}
.cta__action{ margin-top:var(--space-10); }

.site-footer{

  background:var(--surface-page);
  color:var(--text-body);
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-20) var(--site-page-pad) var(--space-10);
}
.site-footer__cols{
  display:grid;
  grid-template-columns:2fr repeat(3,1fr);
  gap:var(--gutter);
  align-items:start;
}
.site-footer__blurb{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
  max-width:var(--measure-lead);
}
.site-footer__coltitle{
  padding-bottom:var(--space-4);
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  color:var(--text-label);
}
.site-footer__list{
  list-style:none;
  margin:var(--space-4) 0 0;
  padding:0;
  display:flex; flex-direction:column; gap:var(--space-3);
}
.site-footer__link{
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
  text-decoration:none;
  border-bottom:var(--rule-weight) solid transparent;
  transition:var(--transition-color);
}
.site-footer__social{ margin:var(--space-5) 0 0; }
.site-footer__arrow{

  color:var(--text-accent-aaa);
}
.site-footer__link:hover,
.site-footer__link:active{ color:var(--text-link); border-bottom-color:transparent; }

.site-footer__company{
  margin:var(--space-16) 0 0;
  font-size:var(--type-caption-size);
  line-height:var(--type-caption-lh);
  letter-spacing:var(--type-caption-ls);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.site-footer__legal{
  margin-top:var(--space-16);
  padding-top:var(--space-6);
  border-top:var(--rule-weight) solid var(--line-accent);
  display:flex; flex-wrap:wrap; justify-content:space-between;
  gap:var(--space-4) var(--space-8);
  font-size:var(--type-caption-size);
  line-height:var(--type-caption-lh);
  letter-spacing:var(--type-caption-ls);
  color:var(--text-muted);
}

.site-footer__company + .site-footer__legal{ margin-top:var(--space-6); }
.site-footer__legal p{ margin:0; }
.site-footer__legal-links{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:var(--space-6);
}

.legal__body{ margin-top:var(--stack-heading); }

.page-head__title{
  font-size:var(--type-display-2-size);
  line-height:var(--type-display-2-lh);
  letter-spacing:var(--type-display-2-ls);
  max-width:var(--measure-display);
}

.page-head__standfirst{
  margin:var(--stack-heading) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-body);
  max-width:var(--measure-lead);
}
.page-head__standfirst > p{ margin:0; }
.page-head__standfirst > p + p{ margin-top:var(--stack-para); }

.card--engagement .engagement__spec{ margin-top:auto; }

.hero--industry{
  margin-top:calc(var(--site-header-h) * -1);
  padding-top:var(--site-header-h);
}
.hero--industry .hero__inner{ min-height:var(--hero-h-industry); }
.hero--industry .hero__content{ grid-column:span 8; }
.hero--industry .hero__title{
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  max-width:var(--measure-display);
}

.hero--industry .hero__sub{
  font-family:var(--font-display);
  font-style:normal;
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  color:var(--text-on-dark-muted);
  max-width:var(--measure-lead);
}

.scope-note{
  margin:var(--space-8) 0 0;
  padding-top:var(--space-8);
  border-top:var(--rule-weight) solid var(--line-hairline);
  max-width:var(--measure-prose);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.contact__form{ grid-column:span 7; }
.contact__rail{ grid-column:span 5; }

.contact__rail-block + .contact__rail-block{ margin-top:var(--space-10); }
.contact__rail-label{ margin-bottom:var(--space-3); }
.contact__rail-value{
  margin:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-body);
}

.contact__portrait{
  margin-top:var(--space-10);
  width:100%;
  aspect-ratio:var(--portrait-ratio);
  object-fit:cover;
}

.field{ display:flex; flex-direction:column; gap:var(--space-3); }
.field + .field{ margin-top:var(--space-8); }

.field__label{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
  color:var(--text-label);
}

.field__required{ color:var(--text-link); font-size:var(--type-body-sm-size); }

.field__control{
  font-family:var(--font-body);
  font-weight:var(--weight-regular);
  font-size:var(--type-body-size);
  line-height:var(--type-field-lh);
  color:var(--text-body);
  background:transparent;
  border:0;
  border-bottom:var(--rule-weight) solid var(--wyk-carbon-16);
  border-radius:var(--radius);
  box-shadow:var(--shadow-none);
  padding:var(--field-pad-y) 0;
  width:100%;
  transition:var(--transition-color);
}
.field__control:focus{
  outline:none;
  border-bottom-color:var(--line-strong);
}
.field__control:focus-visible{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.field__control[aria-invalid="true"]{ border-bottom-color:var(--interactive-accent); }

textarea.field__control{ resize:vertical; }

.field__select{ position:relative; display:block; }
.field__select .field__control{
  appearance:none;
  -webkit-appearance:none;
  padding-right:var(--space-6);
  cursor:pointer;
}
.field__caret{
  position:absolute; right:0; top:50%;
  transform:translateY(-60%);
  color:var(--text-link);
  font-size:var(--type-body-sm-size);
  pointer-events:none;
}

.field__error{
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-body);
}
.field__error:empty{ display:none; }

.form__note{
  margin:var(--space-10) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
  max-width:var(--measure-note);
}
.form__note + .consent{ margin-top:var(--space-4); }
.consent{
  display:flex; align-items:flex-start;
  gap:var(--space-3);
  margin-top:var(--space-10);
  cursor:pointer;
}
.consent__input{
  position:absolute;
  width:var(--rule-weight); height:var(--rule-weight);
  opacity:0;
}
.consent__box{
  flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  width:var(--space-4); height:var(--space-4);
  margin-top:var(--checkbox-offset);
  border:var(--rule-weight) solid var(--wyk-carbon-40);
  border-radius:var(--radius);
  background:transparent;
  color:var(--text-on-dark);
  font-size:var(--type-eyebrow-size);
  transition:var(--transition-color);
}
.consent__box::before{ content:""; }
.consent__input:checked + .consent__box{
  background:var(--interactive-accent);
  border-color:var(--interactive-accent);
}
.consent__input:checked + .consent__box::before{ content:"\2713"; }
.consent__input:focus-visible + .consent__box{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.consent__input[aria-invalid="true"] + .consent__box{ border-color:var(--interactive-accent); }
.consent__text{
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-body);
}

.hp{
  position:absolute;
  width:var(--rule-weight);
  height:var(--rule-weight);
  margin:calc(-1 * var(--rule-weight));
  padding:0;
  border:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}

.turnstile{ margin-top:var(--space-10); }

.form__submit{ margin-top:var(--space-10); }

.form__status{
  margin-top:var(--space-5);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-body);
}
.form__status--error{ color:var(--text-link); }
.form__status--ok{ color:var(--text-body); }
.form__status:empty{ display:none; }

.contacthead{ padding:var(--section-y-tight) var(--site-page-pad) 0; }
.contacthead__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-1-fluid);
  line-height:var(--type-display-1-lh);
  letter-spacing:var(--type-display-1-ls);
  margin:var(--space-5) 0 0;
  max-width:var(--measure-display);
}
.contacthead__lead,
.locations__lead{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:var(--type-lead-lh);
  letter-spacing:var(--type-lead-ls);
  color:var(--text-body);
  max-width:var(--measure-prose);
  margin:var(--space-8) 0 0;
}
.contactform{ padding:var(--section-y) var(--site-page-pad) var(--section-y-tight); }
.contactform__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:var(--space-16);
  row-gap:var(--space-10);
}
.contactform__grid > .field{ margin-top:0; }
.contactform__full{ grid-column:1 / -1; }
.contactform__grid > .turnstile,
.contactform__grid > .form__submit{ margin-top:0; }
.locations{ padding:var(--space-8) var(--site-page-pad) var(--section-y); }
.locations__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}
.locations__lead{ margin-top:var(--space-6); }
.offices{
  display:grid;
  grid-template-columns:repeat(2,var(--office-w));
  justify-content:center;
  gap:var(--space-16);
  margin:var(--space-10) 0 0;
  padding:0;
  list-style:none;
}
.office__city{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:0;
}
.office__lines{
  margin:var(--space-5) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-body);
}
.office__lines > span{ display:block; }
.office__phone{
  margin:var(--space-5) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-body);
}

.legal__heading{
  margin-top:var(--space-12);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  max-width:var(--measure-prose);
}
.legal__body > p{ max-width:var(--measure-prose); }
.legal__body > p:last-child{ margin-bottom:0; }
.legal__meta{
  margin:0 0 var(--space-10);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.legal__list{
  margin:0 0 var(--stack-para);
  padding-left:var(--space-5);
  max-width:var(--measure-prose);
}
.legal__list li{
  margin-bottom:var(--space-3);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
}
.legal__list li:last-child{ margin-bottom:0; }

main a:not([class]),
main a:not([class]):hover,

.page--home .site-header{
  background:transparent;
  border-bottom-color:var(--line-on-dark);
}
.page--home .site-header__home .wordmark__word,
.page--home .site-nav__link,
.page--home .site-nav__link:hover{ color:var(--interactive-accent); }
.page--home .nav-toggle{ color:var(--text-on-dark); border-color:var(--line-on-dark); }
.page--home .site-header.is-scrolled{
  background:var(--surface-page);
  border-bottom-color:var(--line-hairline);
}
.page--home .site-header.is-scrolled .site-header__home .wordmark__word,
.page--home .site-header.is-scrolled .site-nav__link,
.page--home .site-header.is-scrolled .nav-toggle{
  color:var(--text-body); border-color:var(--line-hairline);
}

.hero--home{
  position:relative;
  overflow:hidden;
  background:var(--surface-dark);
  min-height:calc(var(--hero-h) + var(--site-header-h));
  margin-top:calc(var(--site-header-h) * -1);
  padding-top:var(--site-header-h);
  display:flex;
  align-items:center;
}

.hero__canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  opacity:0;
}
.hero__canvas.is-painted{ opacity:1; }

.hero--home .hero__inner{
  display:block;
  position:relative;
  z-index:1;
  max-width:var(--content-max);
  margin:0 auto;
  width:100%;
  min-height:0;
  padding:var(--space-20) var(--site-page-pad);
}
.hero--home .hero__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-2-fluid);
  line-height:var(--type-display-2-lh);
  letter-spacing:var(--type-display-2-ls);
  color:var(--text-on-dark);
  max-width:19ch;
  margin:0;
}
.hero--home .hero__sub{
  margin:var(--space-6) 0 0;
  max-width:var(--measure-lead);
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-on-dark);
}
.hero--home .hero__action{ margin-top:var(--space-8); }

@media (prefers-reduced-motion:no-preference){
  .hero--home .hero__title,
  .hero--home .hero__sub,
  .hero--home .hero__action{
    animation:hero-rise var(--duration-slow) var(--ease-out) both;
  }
  .hero--home .hero__sub{ animation-delay:60ms; }
  .hero--home .hero__action{ animation-delay:120ms; }
}
@keyframes hero-rise{
  from{ opacity:0; transform:translateY(var(--hero-rise)); }
  to{ opacity:1; transform:none; }
}

.proof{
  position:relative;
  z-index:3;
  max-width:var(--content-max);
  margin:calc(var(--card-overlap) * -1) auto 0;

  padding:0 var(--site-page-pad) var(--section-y);
}
.proof__grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:var(--space-4);
  align-items:stretch;
}

.proof__grid--pair{ grid-template-columns:minmax(0,1fr); }
.proof__stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:var(--space-4);
  min-width:0;
}

.insights{ padding:0 var(--site-page-pad) var(--section-y); }
.insights__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-4);
  margin-top:var(--space-12);
  align-items:stretch;
}
.insights .pcard{ height:100%; }

.pcard{
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  color:var(--text-body);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  min-width:0;
  transition:background-color var(--duration-fast) var(--ease),
             border-color var(--duration-fast) var(--ease);
}
.pcard:hover{
  background:var(--surface-hover-home);
  border-color:var(--surface-hover-home);
}
.pcard--split{ display:grid; grid-template-columns:minmax(0,1fr) 200px; }
.pcard__body{
  padding:var(--space-5);
  display:flex;
  flex-direction:column;
  min-width:0;
}
.pcard__kicker{
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  font-weight:var(--weight-medium);
  text-transform:uppercase;
  color:var(--text-label);
  transition:var(--transition-color);
}
.pcard__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  color:var(--text-display);
  margin:var(--space-2) 0 0;
  max-width:26ch;
  transition:var(--transition-color);
}
.pcard__text{
  margin:var(--space-2) 0 var(--space-4);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
  max-width:42ch;
  flex:1;
  transition:var(--transition-color);
}
.pcard__more{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  letter-spacing:var(--type-nav-ls);
  margin-top:auto;
}
.pcard:hover .pcard__kicker{ color:var(--text-on-dark-muted); }
.pcard:hover .pcard__title,
.pcard:hover .pcard__text{ color:var(--text-on-dark); }
.pcard__media{ position:relative; overflow:hidden; background:var(--surface-dark-alt); }
.pcard__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.pcard--case .pcard__media{ height:var(--pcard-media-h); }
.pcard--case .pcard__body{ flex:1; }
.pcard--case .pcard__more{
  padding-top:var(--space-5);
  border-top:var(--rule-weight) solid var(--line-hairline);
}
.pcard--case:hover .pcard__more{ border-top-color:var(--line-on-dark); }

.pcard__figure{
  display:flex;
  align-items:baseline;
  gap:var(--space-3);
  margin-top:var(--space-2);
}
.pcard__stat{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:1;
  letter-spacing:var(--type-display-2-ls);
  color:var(--text-display);
  font-variant-numeric:tabular-nums;
  transition:var(--transition-color);
}
.pcard__stat-note{
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-label);
  transition:var(--transition-color);
}
.pcard:hover .pcard__stat{ color:var(--text-on-dark); }
.pcard:hover .pcard__stat-note{ color:var(--text-on-dark-muted); }

.thesis{ padding:0 var(--site-page-pad) var(--section-y); }
.thesis__rule{
  border-top:var(--rule-weight-heavy) solid var(--line-accent);
  margin:0 0 var(--space-4);
}

.thesis__grid{
  display:grid;
  grid-template-columns:minmax(0,400px) minmax(0,1fr) minmax(0,1fr);
}
.thesis__grid > :nth-child(1),
.thesis__grid > :nth-child(2){ padding-right:var(--space-16); }
.thesis__grid > :nth-child(3){
  border-left:var(--rule-weight) solid var(--line-hairline);
  padding-left:var(--space-8);
}
.thesis__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:0;
  max-width:14ch;
}
.thesis__body{ margin:0; }
.thesis__body + .thesis__body{ margin-top:var(--space-4); }

.captiles{ padding:0 var(--site-page-pad) var(--section-y); }
.captiles__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-6);
  margin-top:var(--space-12);
  list-style:none;
  padding:0;
}

.captile{ color:var(--text-body); text-decoration:none; display:block; border:0; }
.captile__well{
  position:relative;

  aspect-ratio:1 / 1;
  background:var(--surface-dark);
  overflow:hidden;
}

.captile__well img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.captile__well::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:var(--rule-weight-heavy);
  background:var(--interactive-accent);
  opacity:0;
  transition:opacity var(--duration-fast) var(--ease);
}
.captile:hover .captile__well::after,
.captile:focus-visible .captile__well::after{ opacity:1; }
.captile:focus-visible{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.captile__title{
  position:absolute;
  left:var(--space-6);
  right:var(--space-6);
  bottom:var(--space-6);
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  color:var(--text-on-dark);
  margin:0;
}

.captile__text{
  margin:var(--space-5) 0 0;

  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}

.sectorband{

  position:relative;
  overflow:hidden;
  background:var(--wyk-azure-v4-ground);
  color:var(--text-on-band);
  padding:var(--section-y) var(--site-page-pad);
}
.sectorband__layer,
.sectorservices__layer{ position:absolute; inset:0; pointer-events:none; }
.sectorband__layer--mesh-a,
.sectorservices__layer--mesh-a{
  background-image:var(--wyk-azure-v4-mesh-a);
  background-size:var(--wyk-azure-v4-mesh-a-size) var(--wyk-azure-v4-mesh-a-size);
  -webkit-mask-image:var(--wyk-azure-v4-mesh-a-mask);
  mask-image:var(--wyk-azure-v4-mesh-a-mask);
}
.sectorband__layer--mesh-b,
.sectorservices__layer--mesh-b{
  background-image:var(--wyk-azure-v4-mesh-b);
  background-size:var(--wyk-azure-v4-mesh-b-size) var(--wyk-azure-v4-mesh-b-size);
  -webkit-mask-image:var(--wyk-azure-v4-mesh-b-mask);
  mask-image:var(--wyk-azure-v4-mesh-b-mask);
}
.sectorband__layer--bloom,
.sectorservices__layer--bloom{ background:var(--wyk-azure-v4-bloom); }
.sectorband > .wrap{ position:relative; }
.sectorband .eyebrow{ color:var(--text-on-band-muted); }
.sectorband__list{
  display:grid;
  gap:var(--space-4);
  margin-top:var(--space-12);
  list-style:none;
  padding:0;
}
.sectorcard{
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-6);
  display:grid;
  grid-template-columns:minmax(0,600px) minmax(0,1fr);
  gap:var(--space-8);
  align-items:center;
  color:var(--text-body);
  text-decoration:none;
  transition:border-color var(--duration-fast) var(--ease);
}

.sectorband__list > li:nth-child(even) .sectorcard{
  grid-template-columns:minmax(0,1fr) minmax(0,600px);
}
.sectorband__list > li:nth-child(even) .sectorcard__media{ order:2; }

.sectorcard:hover{
  background:var(--surface-hover-home);
  border-color:var(--surface-hover-home);
}
.sectorcard:hover .sectorcard__title{
  transition:var(--transition-color); color:var(--text-on-dark); }
.sectorcard:hover .sectorcard__text{
  transition:var(--transition-color); color:var(--text-on-dark-soft); }
.sectorcard__media{
  aspect-ratio:8 / 3;
  overflow:hidden;
  background:var(--surface-dark-alt);
}
.sectorcard__media img{ width:100%; height:100%; object-fit:cover; display:block; }

.sectorcard__media--telecom img{ object-position:50% 34%; }
.sectorcard__media--software img{ object-position:50% 58%; }
.sectorcard__media--manufacturing img{ object-position:50% 55%; }
.sectorcard__copy{ min-width:0; }
.sectorcard__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  margin:0;
}
.sectorcard__text{
  margin:var(--space-4) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}
.sectorcard__more{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  margin-top:var(--space-5);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  letter-spacing:var(--type-nav-ls);
}

.evidence{
  background:var(--surface-card);
  padding:var(--section-y) var(--site-page-pad);
}
.evidence__rule{
  border-top:var(--rule-weight) solid var(--line-hairline);
  margin-top:var(--space-10);
}
.evidence__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  margin-top:var(--space-10);
  list-style:none;
  padding:0;
}
.evidence__item{ padding-right:var(--space-8); }
.evidence__item + .evidence__item{
  border-left:var(--rule-weight) solid var(--line-hairline);
  padding-left:var(--space-8);
}
.evidence__figure{
  font-weight:var(--weight-medium);
  font-size:var(--type-display-3-size);
  line-height:1;
  letter-spacing:var(--type-display-1-ls);
  color:var(--text-accent);
  font-variant-numeric:tabular-nums;
}

.evidence__point{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  letter-spacing:var(--type-heading-3-ls);
  color:var(--text-display);
}
.evidence__grid--points .evidence__note{
  font-weight:var(--weight-regular);
  max-width:34ch;
}
.evidence__note{
  margin:var(--space-3) 0 0;
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-body);
  max-width:30ch;
}

.evidence__pair{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:var(--space-16);
  align-items:stretch;
  margin-top:var(--space-12);
}
.evidence__media{
  position:relative;
  min-height:var(--pe-diff-media-min);
  border:var(--rule-weight) solid var(--line-hairline);
  overflow:hidden;
}
.evidence__media img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.evidence__grid--stacked{
  display:flex;
  flex-direction:column;
  margin:0;
  border-top:var(--rule-weight) solid var(--line-on-band);
}
.evidence__grid--stacked .evidence__item{
  flex:1;
  padding:var(--space-8) 0;
  border-left:0;
  border-bottom:var(--rule-weight) solid var(--line-on-band);
}

.evidence--panel{
  position:relative;
  z-index:3;
  background:none;
  max-width:var(--content-max);
  margin:calc(var(--card-overlap) * -1) auto 0;
  padding:0 var(--site-page-pad) var(--section-y);
}
.evidence--panel .evidence__card{
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--wyk-carbon-14);
  padding:var(--space-10) var(--space-10) var(--space-2);
}
.evidence--panel .section-title{ margin-top:var(--space-5); }
.evidence--panel .evidence__grid{
  margin-top:var(--space-10);
  border-top:var(--rule-weight) solid var(--line-hairline);
}

.evidence--panel .evidence__item{ padding:var(--space-8); }
.evidence--panel .evidence__item:first-child{ padding-left:0; }
.evidence--panel .evidence__item:last-child{ padding-right:0; }
.evidence--panel .evidence__point{
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
}
.evidence--panel .evidence__note{
  font-weight:var(--weight-regular);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:34ch;
}

.evidence__lines{
  display:flex; flex-direction:column;
  gap:var(--space-1);
  margin-top:var(--space-4);
}
.evidence__line{
  margin:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}
.evidence__fig{ font-weight:var(--weight-medium); color:var(--text-display); }

.works{ padding:var(--section-y) var(--site-page-pad); }
.works__rule{ border-top:var(--rule-weight) solid var(--line-hairline); }
.works__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--space-8);
  margin-top:var(--space-4);
}
.works__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
  max-width:20ch;
}
.works__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-8);
  margin-top:var(--space-12);
  list-style:none;
  padding:0;
}
.workcard{

  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  border-top:var(--rule-weight-heavy) solid var(--line-accent);
  padding:var(--card-pad);
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:var(--workcard-min-h);
  color:var(--text-body);
  text-decoration:none;
  transition:border-color var(--duration-fast) var(--ease);
}
.workcard:hover{
  border-color:var(--line-hover);
  border-top-color:var(--line-accent);
}

.workcard .arrow-link{ margin-top:auto; }
.workcard__title + .arrow-link{ padding-top:var(--space-6); }
.workcard__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:var(--space-5) 0 0;
}

.workcard__media{
  aspect-ratio:8 / 3;
  overflow:hidden;
  background:var(--surface-dark-alt);
  margin-top:var(--space-6);
}
.workcard__media img{ width:100%; height:100%; object-fit:cover; display:block; }

.workcard__media--industrial img{ object-position:50% 46%; }
.workcard__text{
  margin:var(--space-5) 0 var(--space-6);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
  flex:1;
}
.works__all{ margin-top:var(--space-10); }

.pcard__more,
.sectorcard__more,
.artcard__more,
.svccard__more,
.arrow-link,
.backlink{ gap:var(--space-2); }

.pcard__label,
.sectorcard__label,
.artcard__label,
.svccard__label,
.arrow-link__label,
.backlink__label,
.captile__label{
  color:var(--text-body);
  transition:color var(--duration-fast) var(--ease);
}
.pcard__label:hover,
.sectorcard__label:hover,
.artcard__label:hover,
.svccard__label:hover,
.arrow-link__label:hover,
.backlink__label:hover{
  color:var(--text-link);
  text-decoration:underline;
  text-decoration-color:currentColor;
  text-underline-offset:var(--space-1);
}

.pcard__arrow,
.sectorcard__arrow,
.artcard__arrow,
.svccard__arrow,
.arrow-link__arrow,
.backlink__arrow,
.featurerow__arrow{
  display:inline-block;

  color:var(--text-link);
  transition:transform var(--duration-fast) var(--ease),
             color var(--duration-fast) var(--ease);
}
.artcard:hover .artcard__arrow,
.svccard:hover .svccard__arrow,
.workcard:hover .arrow-link__arrow,
.captile:hover .captile__arrow,
.featurerow:hover .featurerow__arrow,
.arrow-link:hover .arrow-link__arrow{ transform:translateX(var(--arrow-nudge)); }

.backlink:hover .backlink__arrow{ transform:translateX(calc(var(--arrow-nudge) * -1)); }

.arrow-link--lift:hover .arrow-link__arrow{ transform:none; }

.pcard__label,
.sectorcard__label,
.pcard__more,
.sectorcard__more{ transition:none; }
.pcard__arrow,
.sectorcard__arrow{ color:var(--text-body); transition:transform var(--duration-fast) var(--ease); }
.pcard:hover .pcard__label,
.sectorcard:hover .sectorcard__label{ color:var(--text-on-dark); }
.pcard:hover .pcard__arrow,
.sectorcard:hover .sectorcard__arrow{
  color:var(--text-link);
  transform:translateX(var(--arrow-nudge));
}

.pcard:hover .pcard__label:hover,
.sectorcard:hover .sectorcard__label:hover{ color:var(--text-link); }

.captile__label{
  color:var(--text-on-dark);
  transition:color var(--duration-fast) var(--ease);
}
.captile__arrow{
  display:inline-block;
  color:var(--text-on-dark-muted);
  transition:transform var(--duration-fast) var(--ease),
             color var(--duration-fast) var(--ease);
}
.captile:hover .captile__label{
  text-decoration:underline;
  text-underline-offset:var(--captile-underline-offset);
}
.captile:hover .captile__arrow{
  color:var(--text-link);
  transform:translateX(var(--captile-nudge));
}

@media (max-width:1200px){
  :root{
    --site-page-pad:var(--space-12);

    --site-section-pad:var(--space-16);
    --site-section-pad-tight:var(--space-10);
  }
  .hero__inner{ min-height:var(--hero-h-sm); }
  .hero--about .hero__inner{ min-height:var(--hero-h-about-sm); }
}

@media (max-width:900px){

  :root{ --site-page-pad:var(--space-8); }

  .measure,
  .measure-lead,
  .measure-display,
  .hero__sub,
  .hero__value,
  .hero--about .hero__lede,
  .pairs__def,
  .site-footer__blurb{ max-width:none; }

  .hero--home .hero__content,
  .hero--about .hero__content{ grid-column:span 12; }

  .site-nav{ display:none; }
  .nav-toggle{ display:block; }
  .nav-panel{ display:block; }

  .site-footer__cols{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:var(--space-12); }

  .qualifier,
  .triggers__item,
  .workstream__body,
  .workstream__deliverable,
  .outcomes,
  .institutional__title,
  .row__position{ max-width:none; }

  .workstream,
  .workstream--phase{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-3);
  }

  .scope-note,
  .legal__heading,
  .legal__body > p,
  .contact__rail-value{ max-width:none; }

  .contact__form,
  .contact__rail{ grid-column:span 12; }
  .contact__rail{ margin-top:var(--space-16); }

  .hero--industry .hero__content{ grid-column:span 12; }

}

@media (max-width:600px){
  :root{
    --site-page-pad:var(--page-x-sm);
    --site-header-h:var(--header-h-sm);
  }

  .hero--home .hero__inner{
    padding-bottom:calc(var(--space-10) + var(--card-overlap) / 2);
  }

  .site-footer__cols{ grid-template-columns:minmax(0,1fr); }
  .site-footer__legal{ flex-direction:column; }
  .cta{ padding-block:var(--space-16); }

}

.splitsec > .wrap > :last-child,
.pairsec > .wrap > :last-child,
.values > .wrap > :last-child,
.pagebanner__body > :last-child{ margin-bottom:0; }

.pagebanner{
  position:relative;
  overflow:hidden;
  background:var(--surface-dark);
  color:var(--text-on-dark);
  margin-top:calc(var(--site-header-h) * -1);
  padding:calc(var(--site-header-h) + var(--section-y)) var(--site-page-pad) var(--section-y);
}

.pagebanner__field{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:50% 50%;
}

.pagebanner--index .pagebanner__field{ object-position:right center; }
.pagebanner > .wrap{ position:relative; }
.pagebanner__grid{
  display:grid;
  grid-template-columns:minmax(0,400px) minmax(0,1fr);
  align-items:start;
}

.page--about .pagebanner__grid{ grid-template-columns:minmax(0,520px) minmax(0,1fr); }
.pagebanner__lede{ padding-right:var(--space-16); }
.pagebanner__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-2-fluid);
  line-height:var(--type-display-2-lh);
  letter-spacing:var(--type-display-2-ls);
  color:var(--text-on-dark);
  margin:var(--space-6) 0 0;
}
.pagebanner__body{
  border-left:var(--rule-weight) solid var(--line-on-dark);
  padding-left:var(--space-10);
  display:flex;
  flex-direction:column;
  gap:var(--space-6);
}
.pagebanner__body p{
  margin:0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-on-dark-soft);
  max-width:60ch;
}
.pagebanner__body p + p{ color:var(--text-on-dark-muted); }

.accent-rule{
  width:var(--rule-accent-w);
  height:var(--rule-weight-heavy);
  background:var(--interactive-accent);
  margin:0;
}
.eyebrow + .accent-rule{ margin-top:var(--space-5); }

.accent-rule + .eyebrow{ margin-top:var(--space-4); }

.page--about .splitsec,
.page--team .splitsec,
.page--about .pairsec{ padding:var(--section-y) var(--site-page-pad); }
.page--about .splitsec + .pairsec{ padding-top:var(--section-y); }
.page--about .values + .pairsec{ padding-top:var(--section-y-tight); }
.page--about .splitsec > .wrap,
.page--team .splitsec > .wrap,
.page--team .roster > .wrap,
.page--about .pairsec > .wrap{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--section-y-tight);
}
.page--about .accent-rule + .eyebrow,
.page--team .accent-rule + .eyebrow{ margin-top:var(--space-5); }

.splitsec{ padding:var(--section-y) var(--site-page-pad); }

.splitsec + .splitsec{ padding-top:0; }
.splitsec__grid{
  display:grid;
  grid-template-columns:minmax(0,320px) minmax(0,1fr);
  gap:var(--space-12);
}

.splitsec__grid--media{
  grid-template-columns:minmax(0,1fr) 440px;
  gap:var(--space-16);
  align-items:center;
}
.splitsec__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-6) 0 0;
}

.splitsec__body .splitsec__lead{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-subhead-lh);
  letter-spacing:var(--type-heading-2-ls);
  color:var(--text-body);
  max-width:44ch;
}

.splitsec__cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-8);
  margin-top:var(--space-12);
}

.splitsec__body .splitsec__cols > p{
  margin:0;
  font-size:var(--type-body-md-size);
  line-height:var(--type-body-md-lh);
  color:var(--text-muted);
}
.splitsec__col--rule-left{ border-left:var(--rule-weight) solid var(--line-hairline); padding-left:var(--space-8); }
.splitsec__col--rule-top{ border-top:var(--rule-weight) solid var(--line-hairline); padding-top:var(--space-6); }

.splitsec__body p{
  margin:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.splitsec__body p + p{ margin-top:var(--space-5); }
.splitsec__body--ruled{ max-width:none; }

.splitsec__body--overview > p:not(.splitsec__lead){
  margin-top:var(--space-10);
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
}

.splitsec__facts{
  display:flex;
  align-items:center;
  gap:var(--space-5);
  margin-top:var(--space-12);
  padding-top:var(--space-6);
  border-top:var(--rule-weight) solid var(--line-hairline);
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
}
.splitsec__facts-label{ font-weight:var(--weight-medium); color:var(--text-body); white-space:nowrap; }
.splitsec__facts .chips{ margin:0; flex-wrap:nowrap; }
.splitsec__facts .chips li{
  padding:var(--chip-pad-y) var(--chip-pad-x);
  font-size:inherit;
  line-height:inherit;
  white-space:nowrap;
}
.splitsec__body--ruled .splitsec__cols > p + p{ margin-top:0; }
.splitsec__body strong{ font-weight:var(--weight-medium); color:var(--text-body); }
.splitsec__kicker{ color:var(--text-body); }

.pairsec{ padding:var(--section-y) var(--site-page-pad); }

.splitsec + .pairsec{ padding-top:0; }
.pairsec__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,440px);
  gap:var(--space-16);
  align-items:center;
}

.pairsec__eyebrow--second{ margin-top:var(--space-10); }
.pairsec__note{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-body);
  max-width:var(--measure-note);
}
.pairsec__lead{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:1.34;
  letter-spacing:var(--type-heading-2-ls);
  margin:var(--space-6) 0 0;
  max-width:26ch;
}
.pairsec__body{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.pairsec__action{ margin-top:var(--space-8); }

.pairsec__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-6) 0 0;
  max-width:18ch;
}
.pairsec--team .pairsec__body{ font-size:var(--type-body-lg-size); line-height:var(--type-body-lg-lh); max-width:52ch; }
.arrow-link--accent{ font-size:var(--type-body-size); line-height:var(--type-body-lh); }
.arrow-link--accent .arrow-link__label{ color:var(--text-link); }

.pairsec--mission .plate__img img{ object-position:50% 56%; }
.pairsec--team .plate__img img{
  position:absolute; left:-12%; top:-5%;
  width:112%; height:112%;
  max-width:none;
  object-fit:cover;
  object-position:50% 50%;
}

.plate{ position:relative; padding:var(--space-8) 0 0 var(--space-8); }
.plate__shape{
  position:absolute;
  inset:0;
  background:var(--surface-shape-azure);
  clip-path:polygon(0 0, 68% 0, 0 92%);
}
.plate__img{ position:relative; aspect-ratio:3 / 2; overflow:hidden; }
.plate__img img{ width:100%; height:100%; object-fit:cover; display:block; }

.plate__img--telecom img{ object-position:78% 58%; transform:scale(2.2); transform-origin:78% 58%; }
.plate__img--software img{ object-position:50% 60%; transform:scale(2); transform-origin:50% 60%; }
.plate__img--manufacturing img{ object-position:62% 48%; transform:scale(1.35); transform-origin:62% 48%; }

.practices .plate__img img{ filter:grayscale(.9) contrast(1.06) brightness(1.02); }

.plate--accent{ padding:0 var(--space-8) var(--space-8) 0; }
.plate--accent .plate__shape{
  background:var(--surface-shape-accent);
  clip-path:polygon(100% 100%, 32% 100%, 100% 8%);
}

.plate--dual{ padding:var(--space-8); }
.plate--dual .plate__shape{ clip-path:polygon(0 0, 62% 0, 0 88%); }
.plate--dual .plate__shape--accent{
  background:var(--surface-shape-accent);
  clip-path:polygon(100% 100%, 64% 100%, 100% 48%);
}
.plate--dual .plate__img{ background:var(--surface-dark-alt); }

.practices__list > li:nth-child(even) .plate--dual .plate__shape{
  clip-path:polygon(0 0, 36% 0, 0 51%);
}
.practices__list > li:nth-child(even) .plate--dual .plate__shape--accent{
  clip-path:polygon(100% 100%, 38% 100%, 100% 12%);
}

.values{
  position:relative;
  overflow:hidden;
  background:var(--surface-dark);
  color:var(--text-on-dark);
  padding:var(--section-y-tight) var(--site-page-pad);
}

.values__field{
  position:absolute;
  left:0; top:0;
  width:var(--values-field-w);
  height:100%;
  -webkit-mask-image:linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 72%, rgba(0,0,0,0) 100%),
                     linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 9%, rgba(0,0,0,1) 86%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to right, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 72%, rgba(0,0,0,0) 100%),
             linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 9%, rgba(0,0,0,1) 86%, rgba(0,0,0,0) 100%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.values__bg,
.values__canvas{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block;
}
.values__bg{ object-fit:cover; object-position:50% 50%; }
.values__canvas{ opacity:0; }
.values__canvas.is-painted{ opacity:1; }
.values > .wrap{
  position:relative;
  padding-left:calc(var(--values-content-x) - var(--site-page-pad));
}
.values .eyebrow{ color:var(--text-on-dark-muted); }
.values__grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  column-gap:var(--space-12);
  row-gap:var(--space-10);
  margin:var(--space-10) 0 0;
  padding:0;
  list-style:none;
}
.values__item{
  grid-column:span 2;
  border-top:var(--rule-weight) solid var(--line-on-dark);
  padding-top:var(--space-6);
}

.values__item--mission .values__label{ margin:0; }
.values__mission{
  margin:var(--space-4) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:1.36;
  color:var(--text-on-dark);
}
.values__item:nth-child(5){ grid-column:4 / span 2; }
.values__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  color:var(--text-on-dark);
  margin:0;
}
.values__text{
  margin:var(--space-4) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-on-dark-muted);
}

.pagebanner--simple .pagebanner__grid{ grid-template-columns:minmax(0,1fr); }
.pagebanner--simple .pagebanner__lede{ padding-right:0; }
.pagebanner__action{ margin:var(--space-8) 0 0; }

.chips{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3);
  margin:var(--space-6) 0 0;
  padding:0;
  list-style:none;
}
.chips li{
  background:var(--surface-inset);
  border:var(--rule-weight) solid var(--wyk-carbon-08);
  padding:var(--space-3) var(--space-5);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.roster{ padding:0 var(--site-page-pad) var(--section-y); }
.roster__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:var(--space-10);
  row-gap:var(--space-12);
  margin:var(--space-12) 0 0;
  padding:0;
  list-style:none;
}

.rostercard{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:var(--text-body);
}
.rostercard__namelink{
  color:var(--text-body);
  text-decoration:none;
  border:0;
  transition:color var(--duration-fast) var(--ease);
}
.rostercard__namelink:hover{ color:var(--text-link); }

.rostercard__links{
  margin-top:var(--space-5);
  display:flex;
  align-items:baseline;
  gap:var(--space-8);
  flex-wrap:wrap;
}
.rostercard__links .rostercard__contact{ margin-top:0; }
.rostercard__arrow,
.identity__arrow{ color:var(--text-link); }

.identity__linkedin{
  display:inline-flex;
  align-items:baseline;
  gap:var(--space-2);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  letter-spacing:var(--type-nav-ls);
  color:var(--text-link);
  text-decoration:none;
  border:0;
}
.identity__linkedin:hover{
  color:var(--text-link);
  text-decoration:underline;
  text-underline-offset:var(--space-1);
}
.rostercard__contact{
  margin-top:var(--space-5);
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  letter-spacing:var(--type-nav-ls);
  color:var(--text-link);
  text-decoration:none;
  border:0;
  transition:transform var(--duration-fast) var(--ease);
}
.rostercard__contact:hover{
  color:var(--text-link);
  text-decoration:underline;
  text-underline-offset:var(--space-1);
  transform:translateY(calc(var(--arrow-nudge) * -1));
}
.rostercard__icon{ flex:none; color:var(--text-body); }

.rostercard__portraitlink{ display:block; width:100%; border:0; text-decoration:none; }
.rostercard__portraitlink:hover{ border:0; }
.rostercard__portrait{
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  background:var(--surface-inset);
  border:var(--rule-weight) solid var(--line-hairline);
  overflow:hidden;
}
.rostercard__portrait img{ width:100%; height:100%; object-fit:cover; display:block; }
.rostercard__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:var(--space-6) 0 0;
}
.rostercard__role,
.rostercard__place{
  display:block;
  margin:var(--space-2) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.backlink{
  display:inline-flex;
  align-items:baseline;
  gap:var(--space-2);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  letter-spacing:var(--type-nav-ls);
  border:0;
}
.identity{ padding:var(--section-y-tight) var(--site-page-pad) var(--section-y-tight); }
.identity__grid{
  display:grid;
  grid-template-columns:minmax(0,400px) minmax(0,1fr);
  gap:var(--space-16);
  align-items:start;
  margin-top:var(--space-8);
}
.identity__portrait{
  aspect-ratio:4 / 5;
  background:var(--surface-inset);
  border:var(--rule-weight) solid var(--line-hairline);
  overflow:hidden;
}
.identity__portrait img{ width:100%; height:100%; object-fit:cover; display:block; }
.identity__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-2-fluid);
  line-height:var(--type-display-2-lh);
  letter-spacing:var(--type-display-2-ls);
  margin:var(--space-5) 0 0;
}
.identity__place{
  margin:var(--space-4) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}
.identity__ask{ margin:var(--space-8) 0 0; }
.identity__topics{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  max-width:var(--measure-prose);
}
.identity__action{
  margin:var(--space-8) 0 0;
  display:flex; align-items:baseline; gap:var(--space-8); flex-wrap:wrap;
}

.profilesec{ padding:0 var(--site-page-pad) var(--section-y-tight); }

.profilesec--close{ padding-bottom:var(--section-y); }

.profilesec > .wrap > :last-child,
.profilesec__inner > :last-child,
.profilesec__inner > div > :last-child{ margin-bottom:0; }
.profilesec__inner{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  display:grid;
  grid-template-columns:minmax(0,280px) minmax(0,1fr);
  gap:var(--space-16);
  align-items:start;
}
.profilesec__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:1.1;
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-6) 0 0;
}
.profilesec__body p{
  margin:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.profilesec__body p + p{ margin-top:var(--space-5); }

.expgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-16);
  margin:var(--space-10) 0 0;
  padding:0;
  list-style:none;
}
.expgrid__figure{
  font-weight:var(--weight-medium);
  font-size:var(--type-display-3-size);
  line-height:1;
  letter-spacing:var(--type-display-1-ls);
  color:var(--text-accent);
  font-variant-numeric:tabular-nums;
  margin:0;
}
.expgrid__note{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-body);
}

.imgwell{
  aspect-ratio:16 / 9;
  background:var(--surface-inset);
  border:var(--rule-weight) solid var(--line-hairline);
  overflow:hidden;
}
.imgwell img{ width:100%; height:100%; object-fit:cover; display:block; }
.imgwell--5x3{ aspect-ratio:5 / 3; }
.imgwell--4x3{ aspect-ratio:4 / 3; }
.imgwell--3x4{ aspect-ratio:3 / 4; }

.artgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-10);
  margin:var(--space-12) 0 0;
  padding:0;
  list-style:none;
}

.artgrid:has(> li:nth-child(2):last-child){ grid-template-columns:repeat(2,minmax(0,1fr)); }

.artcard{
  display:flex;
  flex-direction:column;
  height:100%;
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  color:var(--text-body);
  text-decoration:none;
  transition:border-color var(--duration-fast) var(--ease);
}
.artcard:hover{ border-color:var(--line-hover); }

.artcard__well{
  aspect-ratio:16 / 9;
  background:var(--surface-inset);
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  overflow:hidden;
}
.artcard__well img{ width:100%; height:100%; object-fit:cover; display:block; }
.artcard__body{
  padding:var(--card-pad);
  display:flex;
  flex-direction:column;
  flex:1;
}

.artcard--text .artcard__body{ gap:var(--space-6); min-height:var(--artcard-min-h); }
.artcard--text .artcard__title{ font-size:var(--type-heading-2-size); margin-top:0; }
.artcard__standfirst{
  margin:0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}
.artcard__foot{
  margin-top:auto;
  padding-top:var(--space-5);
  border-top:var(--rule-weight) solid var(--line-hairline);
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--space-4);
}
.artcard__date{
  font-size:var(--type-body-sm-size);
  color:var(--text-muted);
}
.artcard--text .artcard__more{ margin-top:0; padding-top:0; border-top:0; }

.artcard--insight .artcard__body{ gap:var(--space-6); }
.artcard--insight .artcard__title{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-lg-size);
  line-height:var(--type-heading-3-lh);
  letter-spacing:var(--type-body-lg-ls);
  margin:0;
}
.artcard--insight .artcard__foot{ border-top:0; padding-top:0; }
.artcard--insight .artcard__more{ margin-top:0; padding-top:0; border-top:0; }

.artcard--case .artcard__body{ gap:0; min-height:var(--artcard-min-h); }
.artcard--case .eyebrow{ line-height:var(--type-kicker-lh); }
.artcard--case .artcard__title{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-lg-size);
  line-height:var(--type-heading-3-lh);
  letter-spacing:var(--type-body-lg-ls);
  margin:var(--space-5) 0 0;
}
.artcard--case .artcard__standfirst{ margin:var(--space-4) 0 var(--space-8); flex:1; }
.artcard--case .artcard__more{
  align-items:center;
  padding-top:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
}

.artcard--case .artcard__arrow{ color:var(--text-body); }
.artcard--case:hover .artcard__arrow{ color:var(--text-link); }

.related{
  position:relative;
  overflow:hidden;
  padding:var(--section-y) var(--site-page-pad);
  border-top:var(--rule-weight) solid var(--line-hairline);
}
.related__field{
  position:absolute; inset:0;
  width:100%; height:100%;

  object-fit:none;
  object-position:50% 0%;
}
.related > .wrap{ position:relative; }
.related__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--section-y-tight);
}

.related__head > p{ margin:0; }
.related__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-6) 0 0;
}

.related .artcard__foot{
  flex-direction:column;
  align-items:flex-start;
  gap:var(--space-6);
}
.related__grid{
  display:grid;

  grid-template-columns:repeat(auto-fill,minmax(var(--card-min),1fr));
  gap:var(--space-8);
  margin:var(--section-y-tight) 0 0;
  padding:0;
  list-style:none;
}

.newsstrip{ padding:0 var(--site-page-pad) var(--section-y); }
.newsstrip__head{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--space-8);
  align-items:end;
}
.newsstrip__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  margin:var(--space-5) 0 0;
}
.newsstrip__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--card-min),1fr));
  gap:var(--space-8);
  margin:var(--space-10) 0 0;
  padding:0;
  list-style:none;
}

.newsstrip__grid:has(> li:nth-child(2):last-child){ grid-template-columns:repeat(2,minmax(0,1fr)); }

.artcard__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  margin:var(--space-5) 0 0;
}
.artcard__more{
  display:inline-flex;
  align-items:baseline;
  gap:var(--space-2);
  margin-top:auto;
  padding-top:var(--space-6);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  letter-spacing:var(--type-nav-ls);
}

.pagebanner--index{
  padding:calc(var(--site-header-h) + var(--section-y-tight)) var(--site-page-pad) var(--section-y-tight);
}
.pagebanner--index .pagebanner__grid{
  grid-template-columns:minmax(0,520px) minmax(0,1fr);
  align-items:end;
  gap:var(--space-16);
  min-height:var(--banner-min-h);
}
.pagebanner--index .pagebanner__title{
  font-size:var(--type-display-1-fluid);
  line-height:var(--type-display-1-lh);
  letter-spacing:var(--type-display-1-ls);
  margin:var(--space-5) 0 0;
}

.pagebanner__standfirst{
  margin:var(--space-6) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:var(--type-lead-lh);
  letter-spacing:var(--type-lead-ls);
  color:var(--text-on-dark);
  max-width:34ch;
  text-wrap:pretty;
}

.dealcycle{ padding:var(--section-y) var(--site-page-pad) 0; }

.dealcycle__still{
  margin-top:var(--space-12);
  aspect-ratio:4 / 1;
  border:var(--rule-weight) solid var(--line-hairline);
  overflow:hidden;
}
.dealcycle__still img{ width:100%; height:100%; object-fit:cover; }

.dealcycle__list{
  list-style:none;
  counter-reset:stage;
  margin:var(--space-12) 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--space-10) var(--space-8);
}
.dealcycle__item{
  counter-increment:stage;
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
}
.dealcycle__stage{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  color:var(--text-display);
}
.dealcycle__stage::before{
  content:counter(stage,decimal-leading-zero) "  ";
  color:var(--text-accent);
  font-family:var(--font-body);
  font-size:var(--type-body-sm-size);
  letter-spacing:var(--type-eyebrow-ls);
}
.dealcycle__text{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-body);
  max-width:var(--measure-prose);
}

.howwork{ padding:0 var(--site-page-pad) var(--section-y); }

.howwork .section-title{
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
}
.howwork__sub{
  margin:var(--space-5) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-subhead-size);
  line-height:var(--type-subhead-lh);
  letter-spacing:var(--type-subhead-ls);
  color:var(--wyk-carbon-82);
  max-width:44ch;
}
.howwork__list{
  list-style:none;
  margin:var(--space-12) 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-10);
}
.howwork__item{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
}
.howwork__term{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  color:var(--text-display);
}
.howwork__def{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:40ch;
}
.diagnostic{ padding:0 var(--site-page-pad) var(--section-y); }

.diagnostic__grid{
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-10) var(--space-12);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--space-16);
}
.diagnostic__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  color:var(--text-display);
}
.diagnostic__body{
  margin:var(--space-4) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:62ch;
}
.diagnostic__action{ margin:0; }
.diagnostic__action .btn{ white-space:nowrap; }

.introcols{ padding:var(--section-y) var(--site-page-pad) var(--section-y); }
.introcols > .wrap > :last-child{ margin-bottom:0; }

.introcols p{
  margin:0;
  max-width:96ch;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--wyk-carbon-82);
}

.practices{ padding:0 var(--site-page-pad) var(--section-y); }
.practices > .wrap > :last-child,
.practice > div > :last-child{ margin-bottom:0; }
.practices__list{
  display:grid;
  gap:var(--section-y-tight);
  margin:0;
  padding:0;
  list-style:none;
}
.practice{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:var(--space-24);
  align-items:start;
}

.practice--nomedia{ grid-template-columns:minmax(0,1fr); }
.practice--nomedia .practice__body-col{ max-width:var(--measure-prose); }

.practice__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  margin:var(--space-5) 0 0;
}

.practice__kicker{
  margin:var(--space-5) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-subhead-size);
  line-height:var(--type-subhead-lh);
  letter-spacing:var(--type-subhead-ls);
  color:var(--wyk-carbon-82);
  max-width:44ch;
}
.practice__body{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:66ch;
}
.practice__action{ margin:var(--space-6) 0 0; }

@media (max-width:1200px){
  .practice{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:var(--space-16);
  }
}
@media (max-width:900px){
  .pagebanner--index .pagebanner__grid{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:var(--space-6);
    min-height:0;
  }

  .practice,
  .practices__list > li:nth-child(even) .practice{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-6);
  }
  .practices__list > li:nth-child(even) .practice__media{ order:0; }
}

.crumbs{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  margin:0;
  font-weight:var(--weight-medium);
  font-size:var(--type-caption-size);
  letter-spacing:var(--type-label-ls);
  color:var(--text-muted);
}
.crumbs a{ color:var(--text-muted); border:0; }
.crumbs a:hover{ color:var(--text-link); }
.crumbs__sep{ opacity:.6; }

.servicehero{ padding:var(--hero-pad-top) var(--site-page-pad) var(--hero-pad-bottom); }

.herointro{ padding:0 var(--site-page-pad) 0; }
.herointro--after-dark{ padding-top:var(--section-y-tight); }
.herointro--band-next{ padding-bottom:var(--section-y); }
.herointro__body{
  margin:0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.herointro__body + .herointro__body{ margin-top:var(--space-5); }

.herointro__cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
.herointro__col{ padding-right:var(--space-8); }
.herointro__col--rule{
  padding-right:0;
  padding-left:var(--space-8);
  border-left:var(--rule-weight) solid var(--line-hairline);
}
.herointro__col .herointro__body{ max-width:none; }

.herointro__meta{
  margin:var(--space-10) 0 0;
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.sectorhero__title{ max-width:26ch; }
.sectorhero__lead{ max-width:none; }

.ournamesec{ padding:0 var(--site-page-pad) var(--section-y); }
.ournamesec__grid{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:var(--space-16);
  align-items:center;
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-16);
}
.ournamesec__fig{ margin:0; width:280px; }
.ournamesec__mat{
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-4);
}
.ournamesec__mat img{ width:100%; height:auto; mix-blend-mode:multiply; }
.ournamesec__caption{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}
.ournamesec__title{
  margin:var(--space-6) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  color:var(--text-display);
}
.ournamesec__body{
  margin:var(--space-6) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-subhead-lh);
  letter-spacing:var(--type-heading-2-ls);
  color:var(--wyk-carbon-82);
  max-width:52ch;
}

.notfound{ padding:var(--section-y) var(--site-page-pad); }
.notfound__title{
  margin:var(--space-5) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
}
.notfound__body{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-md-size);
  line-height:var(--type-body-md-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.notfound__list{
  list-style:none;
  margin:var(--space-12) 0 0;
  padding:0;
  display:flex; flex-direction:column;
  gap:var(--space-4);
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-6);
}

.searchpage{ padding:var(--section-y) var(--site-page-pad); }
.searchpage__title{
  margin:var(--space-5) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
}
.searchpage__form{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:var(--space-4);
  margin-top:var(--space-10);
  max-width:var(--measure-prose);
}

.searchpage__label{
  position:absolute;
  width:var(--rule-weight); height:var(--rule-weight);
  margin:calc(-1 * var(--rule-weight));
  padding:0; border:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
.searchpage__input{
  flex:1 1 20ch;
  min-width:0;
  background:var(--surface-card);
  color:var(--text-body);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-3) var(--space-4);
  font-family:var(--font-body);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
}
.searchpage__input:focus-visible{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
  border-color:var(--interactive-accent);
}
.searchpage__submit{ flex:none; }
.searchpage__status{
  margin:var(--space-8) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}
.searchpage__results{
  list-style:none;
  margin:var(--space-6) 0 0;
  padding:0;
  max-width:var(--measure-prose);
}
.searchresult{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-6) 0;
}
.searchresult__link{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  color:var(--text-display);
  text-decoration:none;
  border:0;
}
.searchresult__link:hover{
  color:var(--text-link);
  text-decoration:underline;
  text-underline-offset:var(--space-1);
}
.searchresult__url{
  margin:var(--space-2) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-link);
}
.searchresult__text,
.searchpage__note{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}

.sectorhero--careers{
  min-height:calc(var(--site-header-h) + var(--hero-h-industry));
  display:flex; flex-direction:column; justify-content:center;
  padding-bottom:var(--hero-pad-top);
}
.sectorhero--careers .sectorhero__bg{ object-position:50% 50%; }
.sectorhero--careers .accent-rule + .eyebrow{ margin-top:var(--space-4); }
.sectorhero--careers .sectorhero__title{
  font-size:var(--type-display-1-fluid);
  line-height:var(--type-display-1-lh);
  letter-spacing:var(--type-display-1-ls);
  max-width:16ch;
}
.sectorhero--careers .sectorhero__lead{ margin-top:var(--space-8); max-width:var(--measure-lead); }

.prop{ padding:var(--section-y) var(--site-page-pad); }

.prop__grid{
  display:grid;
  grid-template-columns:440px minmax(0,1fr);
  gap:var(--space-24);
  align-items:start;
}
.prop__body{ padding-top:var(--space-16); }
.prop__title{ max-width:18ch; }
.prop__media{ margin-top:var(--space-12); }

.prop__photo{ object-position:3% 50%; }
.prop__body p{ margin:var(--space-6) 0 0; color:var(--text-muted); max-width:var(--measure-prose); }
.prop__body .prop__lead{ margin-top:0; font-size:var(--type-body-lg-size); line-height:var(--type-body-lg-lh); color:var(--text-body); }

.prop__blocks{ display:flex; flex-direction:column; gap:var(--space-8); }
.prop__block{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
}
.prop__subtitle{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  letter-spacing:var(--type-heading-3-ls);
  color:var(--text-display);
}
.prop__body .prop__block p{ margin:var(--space-3) 0 0; }

.prop__body .prop__closing{
  margin-top:var(--space-10);
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-subhead-size);
  line-height:var(--type-subhead-lh);
  letter-spacing:var(--type-subhead-ls);
  color:var(--wyk-carbon-82);
  max-width:44ch;
}

.prop__standard{
  margin:var(--space-16) 0 0;
  padding:var(--space-8);
  list-style:none;
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-8);
}
.prop__standardcell{
  font-size:var(--type-body-md-size);
  line-height:var(--type-body-md-lh);
  color:var(--text-muted);
}
.prop__standardcell + .prop__standardcell{
  border-left:var(--rule-weight) solid var(--line-hairline);
  padding-left:var(--space-8);
}
.prop__fig{ font-weight:var(--weight-medium); color:var(--text-display); }

.locs{ padding:0 var(--site-page-pad) var(--section-y); }
.locs > .wrap{ border-top:var(--rule-weight) solid var(--line-hairline); padding-top:var(--space-8); }
.locs__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--careers-col-w));
  gap:var(--space-16);
  align-items:end;
}
.locs__lead{ margin:0; font-size:var(--type-body-lg-size); line-height:var(--type-body-lg-lh); color:var(--text-muted); max-width:var(--measure-prose); }
.locs__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-6);
  margin:var(--space-12) 0 0;
  padding:0; list-style:none;
}

.loccard--single{
  max-width:var(--careers-single-w);
  margin-top:var(--space-12);
}

.loccard--single .loccard__card{
  width:auto;
  padding:var(--space-6) var(--space-8) var(--space-8);
  min-width:var(--careers-loccard-w);
}

.loccard__where{
  position:absolute;
  top:var(--space-8);
  left:var(--space-8);
  margin:0;
  background:var(--surface-dark);
  color:var(--text-on-dark);
  padding:var(--space-2) var(--space-4);
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
}

.loccard--single .imgwell{ position:relative; }
.loccard__action{ margin:0; }

@media (max-width:600px){
  .loccard--single{ max-width:none; }
  .loccard--single .imgwell--12x5{ aspect-ratio:4 / 3; }

  .loccard--single .loccard__card{ min-width:0; }
}

.loccard{
  position:relative;
  display:block;
  border:0;
  padding-bottom:var(--space-10);
  color:var(--text-body);
  text-decoration:none;
}
.loccard .imgwell{
  border:0;
  border-top:var(--rule-weight-heavy) solid var(--line-accent);
}
.loccard__card{
  position:absolute;
  left:var(--space-8);
  bottom:0;
  width:var(--careers-loccard-w);

  max-width:calc(100% - var(--space-8));
  background:var(--surface-page);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-5) var(--space-6);
  transition:var(--transition-color);
}
.loccard:hover .loccard__card{
  background:var(--surface-card);
  border-color:var(--line-hover);
}
.loccard__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  margin:var(--space-2) 0 0;
  text-underline-offset:var(--space-1);
}
.loccard:hover .loccard__name{ text-decoration:underline; }

.loccard__cta{
  display:flex;
  align-items:center;
  gap:var(--space-2);
  margin:var(--space-4) 0 0;
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
}
.loccard__label{
  color:var(--text-body);
  text-underline-offset:var(--space-1);
  transition:var(--transition-color);
}

.loccard__label:hover{ color:var(--text-link); text-decoration:underline; text-decoration-color:currentColor; }
.loccard__arrow{
  color:var(--text-link);
  transform:translateX(0);
  transition:var(--transition-color), transform var(--duration-fast) var(--ease);
}
.loccard:hover .loccard__arrow{ transform:translateX(3px); }

.culture{

  position:relative;
  overflow:hidden;
  background:var(--surface-band-light);
  color:var(--text-on-band);
  padding:var(--section-y) var(--site-page-pad);
}
.culture__field{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:50% 0%;
}
.culture > .wrap{ position:relative; }
.culture .eyebrow{ color:var(--text-on-band-muted); }
.culture__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--careers-media-w));
  gap:var(--space-16);

  align-items:center;
}

.collage{
  position:relative;
  width:100%;
  max-width:var(--careers-media-w);
  aspect-ratio:var(--careers-collage-ratio);
  margin-left:auto;
}
.collage__shape{ position:absolute; inset:0; }
.collage__shape--accent{
  background:var(--surface-shape-accent);
  clip-path:polygon(46.15% 0, 100% 0, 100% 60.87%);
}
.collage__shape--azure{
  background:var(--surface-shape-azure);
  clip-path:polygon(0 54.35%, 40.38% 100%, 0 100%);
}
.collage__photo{
  position:absolute;
  object-fit:cover;
  display:block;
}

.collage__photo--a{
  left:0; top:0;
  width:76.923%; height:58.696%;
  object-position:50% 50%;
  clip-path:polygon(0 0, 100% 0, 100% 59.26%, 72.5% 100%, 0 100%);
}

.collage__photo--b{
  left:26.923%; top:41.304%;
  width:73.077%; height:58.696%;
  object-position:100% 50%;
  clip-path:polygon(66.58% 0, 100% 0, 100% 100%, 0 100%, 0 93.7%);
}
.culture__intro{ margin:var(--space-6) 0 0; font-size:var(--type-body-lg-size); line-height:var(--type-body-lg-lh); max-width:52ch; }
.culture__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--space-6);
  margin:var(--space-16) 0 0;
  padding:0; list-style:none;
}
.culture__item{ border-top:var(--rule-weight) solid var(--line-accent); padding-top:var(--space-5); }
.culture__item p{ margin:0; font-size:var(--type-body-size); line-height:var(--type-body-lh); }
.culture__close{
  margin:var(--space-16) 0 0;
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:var(--type-lead-lh);
  letter-spacing:var(--type-lead-ls);
  max-width:var(--measure-lead);
}

.principles{ padding:var(--section-y) var(--site-page-pad); }
.principles__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--careers-col-w));
  gap:var(--space-16);
  align-items:start;
}
.principles__lead{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:var(--type-lead-lh);
  letter-spacing:var(--type-lead-ls);
  max-width:var(--measure-lead);
}
.principles__body{ margin:var(--space-6) 0 0; color:var(--text-muted); max-width:var(--measure-prose); }
.principles .scope__list{ margin-top:var(--space-12); }

.roles{ padding:0 var(--site-page-pad) var(--section-y); }

.roles__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-6);
  margin:var(--space-12) 0 0;
  padding:0; list-style:none;
}
.rolecard{
  display:flex; flex-direction:column; gap:var(--space-6);
  height:100%;
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-10);
  color:var(--text-body);
  text-decoration:none;
  transition:border-color var(--duration-fast) var(--ease);
}
.rolecard:hover{ border-color:var(--line-hover); }
.rolecard__num{ font-family:var(--font-body); font-size:var(--type-heading-2-size); line-height:1; color:var(--text-link); }
.rolecard__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  margin:0;
}
.rolecard__text{ margin:0; color:var(--text-muted); max-width:52ch; }
.rolecard .arrow-link{ margin-top:auto; font-size:var(--type-body-size); line-height:var(--type-body-lh); }
.rolecard .arrow-link__arrow{ color:var(--text-body); }
.rolecard:hover .arrow-link__arrow{ color:var(--text-link); transform:translateX(var(--arrow-nudge)); }

.cta--apply{ text-align:left; }
.cta--apply .cta__rule,
.cta--apply .cta__title,
.cta--apply .cta__lead{ margin-left:0; margin-right:0; }
.cta--apply .cta__title{ max-width:26ch; }
.cta--apply .cta__lead{ max-width:52ch; }
.imgwell--4x5{ aspect-ratio:4 / 5; }
.imgwell--16x10{ aspect-ratio:16 / 10; }
.imgwell--12x5{ aspect-ratio:12 / 5; }
.imgwell--3x2{ aspect-ratio:var(--card-media-ratio); }

.sectorhero .crumbs + .accent-rule{ margin-top:var(--space-6); }

.pagebanner--index .crumbs,
.pagebanner--index .crumbs a,
.pagebanner--index .eyebrow{ color:var(--text-on-dark-muted); }
.pagebanner--index .crumbs a:hover{ color:var(--text-on-dark); }
.pagebanner--index .crumbs + .accent-rule{ margin-top:var(--space-6); }
.servicehero__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--servicehero-media-w));
  gap:var(--space-16);
  align-items:start;
}
.servicehero__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-1-fluid);
  line-height:var(--type-display-1-lh);
  letter-spacing:var(--type-display-1-ls);
  margin:var(--space-5) 0 0;
  max-width:16ch;
}
.servicehero__lead{
  margin:var(--space-6) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:var(--type-lead-lh);
  letter-spacing:var(--type-lead-ls);
  max-width:34ch;
}
.servicehero__body{
  margin:var(--space-8) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.servicehero__body + .servicehero__body{ margin-top:var(--space-5); }
.servicehero__action{ margin:var(--space-10) 0 0; }
.servicehero__meta{
  margin:var(--space-10) 0 0;
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}
.servicehero > .wrap > :last-child,
.servicehero__grid > div > :last-child{ margin-bottom:0; }
.servicehero__media .imgwell{ aspect-ratio:4 / 5; background:var(--surface-dark); }

.qband{
  position:relative;
  overflow:hidden;
  background:var(--surface-band-light);
  color:var(--text-on-band);
  padding:var(--section-y) var(--site-page-pad);
}
.qband__field{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:50% 0%;
}
.qband > .wrap{ position:relative; }
.qband .eyebrow{ color:var(--text-on-band-muted); }
.qband__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,640px);
  gap:var(--space-16);
  align-items:start;
}
.qband__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}
.qband__body p{ margin:0; max-width:var(--measure-prose); }
.qband__body p + p{ margin-top:var(--space-5); }

.qband__body > p:not([class]){
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-on-band);
}
.qband__body > p:not([class]) + p:not([class]){
  margin-top:var(--space-6);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-on-band-muted);
}

.scope{ padding:var(--section-y) var(--site-page-pad); }

.sectorservices + .casestrip,
.qband + .workstreams,
.qband + .outcomes,
.qband + .reasons,
.qband + .casestrip{ padding-top:var(--section-y); }
.workstreams + .scope,
.outcomes + .scope,
.reasons + .scope{ padding-top:0; }
.scope > .wrap > :last-child{ margin-bottom:0; }
.scope__intro{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.scope__list{
  margin:var(--space-10) 0 0;
  border-bottom:var(--rule-weight) solid var(--line-hairline);
}
.scope__item{ border-top:var(--rule-weight) solid var(--line-hairline); }
.scope__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-8);
  padding:var(--space-3) 0;
  cursor:pointer;
  list-style:none;
}
.scope__summary::-webkit-details-marker{ display:none; }
.scope__summary:focus-visible{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.scope__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:0;
}
.scope__meta{
  flex:none;
  display:flex;
  align-items:center;
  gap:var(--space-6);
}
.scope__dur{
  font-weight:var(--weight-medium);
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
  color:var(--text-muted);
}
.scope__glyph{
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:var(--glyph-box);
  height:var(--glyph-box);
  border:var(--rule-weight) solid var(--interactive-accent);
  color:var(--text-link);
  font-family:var(--font-body);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:1;
}
.scope__glyph::before{ content:"+"; }
.scope__item[open] .scope__glyph::before{ content:"\2212"; }
.scope__detail{ padding:0 var(--space-16) var(--space-8) 0; }
.scope__detail p{
  margin:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}
.scope__deliverables{
  margin:var(--space-2) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-label);
}
.scope__action{ margin:var(--space-10) 0 0; }

.workstreams{ padding:0 var(--site-page-pad) var(--section-y); }
.workstreams__inner{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  display:grid;
  grid-template-columns:minmax(0,320px) minmax(0,1fr);
  gap:var(--space-16);
  align-items:start;
}
.workstreams__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}
.workstreams__list{
  display:grid;
  gap:var(--space-8);
  margin:0;
  padding:0;
  list-style:none;
}
.workstream{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:var(--space-6);
}
.workstream:first-child{ border-top:0; padding-top:0; }
.workstream__num{
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-heading-3-lh);
  letter-spacing:var(--type-label-ls);
  color:var(--text-link);
  font-variant-numeric:tabular-nums;
}
.workstream__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  margin:0;
}
.workstream__body{
  grid-column:2;
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.workstream__deliverable{
  grid-column:2;
  margin:var(--space-4) 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2) var(--space-4);
  align-items:baseline;
}
.workstream__deliverable dt{
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  font-weight:var(--weight-medium);
  text-transform:uppercase;
  color:var(--text-label);
  margin:0;
}
.workstream__deliverable dd{
  margin:0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-body);
}

.outcomes{ padding:0 var(--site-page-pad) var(--section-y); }
.outcomes__inner{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  display:grid;
  grid-template-columns:minmax(0,320px) minmax(0,1fr);
  gap:var(--space-16);
  align-items:start;
}
.outcomes__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}
.outcomes__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-8);
  margin:0;
  padding:0;
  list-style:none;
}
.outcomes__item{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
  margin:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}
.lead-phrase{
  display:block;
  font-weight:var(--weight-medium);
  color:var(--text-body);
}

.sectorhero{
  position:relative;
  overflow:hidden;
  background:var(--surface-dark);
  color:var(--text-on-dark);
  margin-top:calc(var(--site-header-h) * -1);
  padding:calc(var(--site-header-h) + var(--hero-pad-top)) var(--site-page-pad) var(--hero-pad-bottom);
}
.sectorhero > .wrap > :last-child,
.sectorhero__grid > div > :last-child{ margin-bottom:0; }
.sectorhero__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.sectorhero::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--scrim-sector);
}
.sectorhero > .wrap{ position:relative; z-index:1; }

.sectorhero--baked::after{ content:none; }

.sectorhero--baked .sectorhero__bg{ object-position:0% 50%; }
.sectorhero__grid{
  display:grid;
  grid-template-columns:minmax(0,720px) minmax(0,1fr);
  gap:var(--space-16);
  align-items:start;
}
.sectorhero .crumbs,
.sectorhero .crumbs a{ color:var(--text-on-dark-muted); }
.sectorhero .crumbs a:hover{ color:var(--interactive-accent); }
.sectorhero__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-2-fluid);
  line-height:var(--type-display-2-lh);
  letter-spacing:var(--type-display-2-ls);
  color:var(--text-on-dark);
  margin:var(--space-5) 0 0;
}
.sectorhero__lead{
  margin:var(--space-6) 0 0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:var(--type-lead-lh);
  letter-spacing:var(--type-lead-ls);
  color:var(--text-on-dark);
  max-width:30ch;
}
.sectorhero__body{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-on-dark-soft);
  max-width:var(--measure-prose);
}
.sectorhero__action{ margin:var(--space-10) 0 0; }

.diffs{ padding:var(--section-y) var(--site-page-pad) var(--section-y); }
.diffs > .wrap > :last-child,
.diffs__grid > div > :last-child{ margin-bottom:0; }
.diffs__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,400px);
  gap:var(--space-16);
  align-items:start;
}
.diffs__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}
.diffs__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-10) var(--space-12);
  margin:var(--space-12) 0 0;
  padding:0;
  list-style:none;
}

.diffs__list > li{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-5);
}
.diffs__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:0;
}
.diffs__text{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}
.diffs__media .imgwell{ aspect-ratio:4 / 5; }

.diffs__media--telecom img{ object-position:34% 50%; }
.diffs__media--manufacturing img{ object-position:50% 60%; }

.focus{ padding:0 var(--site-page-pad) var(--section-y); }
.focus__banner{ margin-top:var(--space-10); }
.focus__banner .imgwell{ aspect-ratio:64 / 17; }
.focus__banner--telecom img{ object-position:50% 60%; }
.focus .scope__list{ margin-top:var(--space-10); }

.sectorservices{

  position:relative;
  overflow:hidden;
  background:var(--wyk-azure-v4-ground);
  color:var(--text-on-band);
  padding:var(--section-y) var(--site-page-pad);
}
.sectorservices > .wrap{ position:relative; }
.sectorservices .eyebrow{ color:var(--text-on-band-muted); }
.sectorservices__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}
.sectorservices__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--card-min),1fr));
  gap:var(--space-6);
  margin:var(--space-10) 0 0;
  padding:0;
  list-style:none;
}
.svccard{
  background:var(--surface-page);
  border:var(--rule-weight) solid var(--line-hairline);
  border-top:var(--rule-weight-heavy) solid var(--line-accent);
  padding:var(--space-6);
  display:flex;
  flex-direction:column;
  gap:var(--space-5);
  height:100%;
  color:var(--text-body);
  text-decoration:none;
  transition:background-color var(--duration-fast) var(--ease),
             border-color var(--duration-fast) var(--ease);
}

.svccard:hover{
  background:var(--surface-card);
  border-color:var(--line-hover);
  border-top-color:var(--line-accent);
}

.svccard__num{
  font-family:var(--font-body);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:1;
  color:var(--text-link);
  font-variant-numeric:tabular-nums;
}
.svccard__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:0;
}

.svccard__more{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  letter-spacing:var(--type-nav-ls);
}

@media (max-width:1200px){
  .sectorhero__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .sectorhero--baked::after{ content:""; }
  .values__field{ display:none; }
  .values > .wrap{ padding-left:0; }
  .diffs__grid{ grid-template-columns:minmax(0,1fr) minmax(0,320px); gap:var(--space-10); }
}
@media (max-width:900px){
  .diffs__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .diffs__media{ max-width:var(--identity-portrait-sm); }
  .focus__banner .imgwell{ aspect-ratio:2 / 1; }
}
@media (max-width:600px){
  .diffs__list{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
}

.reasons{ padding:0 var(--site-page-pad) var(--section-y); }
.reasons__inner{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  display:grid;
  grid-template-columns:minmax(0,320px) minmax(0,1fr);
  gap:var(--space-16);
  align-items:start;
}
.reasons__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}

.reasons__intro{
  margin:0 0 var(--space-5);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.reasons__intro + .reasons__list{ margin-top:var(--space-8); }
.reasons__list{
  display:grid;
  gap:var(--space-6);
  margin:0;
  padding:0;
  list-style:none;
}

.reasons__item{
  border-top:var(--rule-weight) solid var(--line-accent);
  padding-top:var(--space-5);
}
.reasons__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  margin:0;
}
.reasons__text{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}

.reasons--media .reasons__inner{ grid-template-columns:minmax(0,1fr) minmax(0,440px); }
.reasons--media .reasons__list{ margin-top:var(--space-10); }
.reasons--media .reasons__media .imgwell{ aspect-ratio:3 / 4; }

.reasons--plain .reasons__list{ gap:var(--space-5); }
.reasons--plain .reasons__item{
  border-top:0;
  padding-top:0;
  margin:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}

.casestrip{ padding:0 var(--site-page-pad) var(--section-y); }
.casestrip__head{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--space-8);
  align-items:end;
}
.casestrip__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-5) 0 0;
}
.casestrip__body{
  margin:var(--space-5) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}
.casestrip__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-6);
  margin:var(--space-12) 0 0;
  padding:0;
  list-style:none;
}
.casestrip__note{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-label);
}

@media (max-width:1200px){
  .workstreams__inner,
  .outcomes__inner{ grid-template-columns:minmax(0,260px) minmax(0,1fr); gap:var(--space-10); }
  .servicehero__grid{ grid-template-columns:minmax(0,1fr) minmax(0,380px); gap:var(--space-10); }
  .qband__grid{ grid-template-columns:minmax(0,1fr) minmax(0,480px); gap:var(--space-10); }
  .reasons__inner{ grid-template-columns:minmax(0,260px) minmax(0,1fr); gap:var(--space-10); }
}
@media (max-width:900px){
  .prop__grid, .locs__head, .culture__head, .principles__head{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .culture__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .culture__media{ max-width:var(--identity-portrait-sm); }
  .herointro__cols{ grid-template-columns:minmax(0,1fr); }
  .herointro__col{ padding-right:0; }
  .herointro__col--rule{ padding-left:0; border-left:0; margin-top:var(--space-5); padding-top:var(--space-5); border-top:var(--rule-weight) solid var(--line-hairline); }
  .newsstrip__head{ grid-template-columns:minmax(0,1fr); align-items:start; }

  .plate--dual{ padding:var(--space-5); }
  .workstreams__inner,
  .outcomes__inner{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .outcomes__list{ grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
  .servicehero__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-10); }
  .servicehero__media{ max-width:var(--identity-portrait-sm); }
  .qband__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .reasons__inner{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .reasons__media{ max-width:var(--identity-portrait-sm); }
  .casestrip__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .casestrip__head{ grid-template-columns:minmax(0,1fr); align-items:start; }
}
@media (max-width:600px){
  .casestrip__grid{ grid-template-columns:minmax(0,1fr); }

  .scope__summary{ flex-wrap:wrap; gap:var(--space-3); }
  .scope__name{ flex:1 1 100%; order:-1; }
  .scope__detail{ padding-right:0; }
}

@media (max-width:1200px){
  .pagebanner__grid{ grid-template-columns:minmax(0,320px) minmax(0,1fr); }
  .identity__grid{ grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:var(--space-10); }
  .profilesec__inner{ grid-template-columns:minmax(0,220px) minmax(0,1fr); gap:var(--space-10); }
  .expgrid{ gap:var(--space-10); }
  .pagebanner__lede{ padding-right:var(--space-10); }
  .splitsec__grid{ grid-template-columns:minmax(0,260px) minmax(0,1fr); gap:var(--space-10); }
  .pairsec__grid{ grid-template-columns:minmax(0,1fr) minmax(0,360px); gap:var(--space-10); }
}

@media (max-width:900px){
  .pagebanner__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }

  .roster__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--space-8); }
  .splitsec__facts,
  .splitsec__facts .chips{ flex-wrap:wrap; }
  .exhibit__seq{ flex-direction:column; gap:var(--space-5); }
  .exhibit__step + .exhibit__step::before{ content:none; }
  .related__head{ flex-direction:column; align-items:flex-start; gap:var(--space-6); }
  .artgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-8); }
  .expgrid{ gap:var(--space-8); }

  .identity__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .identity__portrait{ max-width:var(--identity-portrait-sm); }
  .profilesec__inner{ grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
  .pagebanner__lede{ padding-right:0; }

  .pagebanner__body{
    border-left:0;
    padding-left:0;
    border-top:var(--rule-weight) solid var(--line-on-dark);
    padding-top:var(--space-6);
  }
  .splitsec__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .splitsec__cols{ gap:var(--space-8); }
  .pairsec__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-10); }

  .values__grid{ grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:var(--space-8); }
  .values__item:nth-child(4){ grid-column:span 2; }
  .values__item:nth-child(5){ grid-column:span 2; }
}

@media (max-width:600px){
  .locs__grid, .roles__grid, .culture__grid{ grid-template-columns:minmax(0,1fr); }
  .splitsec__cols{ grid-template-columns:minmax(0,1fr); }
  .splitsec__col--rule-left{ border-left:0; padding-left:0; border-top:var(--rule-weight) solid var(--line-hairline); padding-top:var(--space-6); }
  .roster__grid{ grid-template-columns:minmax(0,1fr); row-gap:var(--space-12); }
  .expgrid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .artgrid{ grid-template-columns:minmax(0,1fr); }
  .values__grid{ grid-template-columns:minmax(0,1fr); }
  .values__item,
  .values__item:nth-child(4),
  .values__item:nth-child(5){ grid-column:auto; }

  .plate,
  .plate--accent{ padding:0; }
  .plate__shape{ display:none; }
}

.indexhead{ padding:var(--section-y-tight) var(--site-page-pad); }
.indexhead__grid{
  display:grid;
  grid-template-columns:minmax(0,400px) minmax(0,1fr);
  align-items:end;
  gap:var(--space-16);
}
.indexhead__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-2-fluid);
  line-height:var(--type-display-2-lh);
  letter-spacing:var(--type-display-2-ls);
  margin:var(--space-6) 0 0;
}
.indexhead__standfirst{
  margin:0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-muted);
  max-width:var(--measure-prose);
}

.indexhead__grid > .indexhead__standfirst{
  padding-bottom:var(--space-2);
  max-width:var(--measure-standfirst);
}

.indexhead--featured{ padding:var(--section-y-tight) var(--site-page-pad); }
.indexhead--featured .indexhead__grid{ align-items:start; gap:var(--section-y-tight); }
.indexhead--featured .indexhead__standfirst{ margin-top:var(--space-8); max-width:var(--measure-lead); }
.indexhead--featured .featured__list{ margin:0; }

.featured{ padding:var(--section-y-tight) var(--site-page-pad) var(--section-y); }
.featured__list{
  border-top:var(--rule-weight) solid var(--line-hairline);
  margin:0;
  padding:0;
  list-style:none;
}
.featurerow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  column-gap:var(--space-8);
  padding:var(--space-6) 0;
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  color:var(--text-body);
  text-decoration:none;
  border-left:0; border-right:0; border-top:0;
}
.featurerow__title{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  margin:var(--space-3) 0 0;
  transition:var(--transition-color);
}
.featurerow:hover{ border-bottom-color:var(--line-hover); }

.featurerow:hover .featurerow__title{ color:var(--text-link); }
.featurerow__standfirst{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
  max-width:74ch;
}

.library{ padding:0 var(--site-page-pad) var(--section-y); }

.library > .wrap{ border-top:var(--rule-weight) solid var(--line-hairline); padding-top:var(--space-8); }

.library__note{
  margin:0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-label);
  max-width:var(--measure-note);
}
.library__note + .library__grid{ margin-top:var(--space-10); }
.library__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--card-min),1fr));
  gap:var(--space-8);
  margin:var(--space-8) 0 0;
  padding:0;
  list-style:none;
}

.article{ padding:var(--section-y-tight) var(--site-page-pad) var(--section-y); }
.article__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--rail-w);
  gap:var(--space-24);
  align-items:start;
}
.article__kicker{ margin:var(--space-5) 0 0; }
.article__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:var(--type-display-3-lh);
  letter-spacing:var(--type-display-3-ls);
  margin:var(--space-6) 0 0;
  max-width:22ch;
}
.article__meta{
  display:flex;
  align-items:baseline;
  gap:var(--space-4);
  margin:var(--space-8) 0 0;
  font-size:var(--type-body-sm-size);
  color:var(--text-muted);
}
.article__standfirst{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:var(--type-lead-lh);
  letter-spacing:var(--type-lead-ls);
  margin:var(--space-10) 0 0;
  max-width:44ch;
}
.article__body{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--section-y-tight);
  margin-top:var(--section-y);
}

.article .accent-rule + .eyebrow{ margin-top:var(--space-5); }
.article__prose > p{
  margin:var(--space-8) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-body);
  max-width:var(--measure-prose);
}
.article__prose > h2{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  margin:var(--section-y-tight) 0 0;
  max-width:var(--measure-display);
}
.article__prose > h2 + p{ margin-top:var(--space-6); }

.article__prose > h3{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:var(--space-10) 0 0;
  max-width:var(--measure-display);
}
.article__prose > h3 + p{ margin-top:var(--space-5); }

.exhibit__pending{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-label);
}

.summary{
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--card-pad);
}
.summary p{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-body);
}

.exhibit{
  margin:var(--space-12) 0 0;
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--card-pad);
}
.exhibit__caption{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-lg-size);
  line-height:1.4;
  margin:var(--space-4) 0 0;
}
.exhibit__source{
  margin:var(--space-6) 0 0;
  padding-top:var(--space-4);
  border-top:var(--rule-weight) solid var(--line-hairline);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}
.exhibit__scroll{ overflow-x:auto; margin-top:var(--space-8); }
.exhibit table{
  width:100%;
  border-collapse:collapse;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
}
.exhibit th,
.exhibit td{
  text-align:left;
  padding:var(--space-4) var(--space-6) var(--space-4) 0;
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  vertical-align:top;
}
.exhibit thead th{
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
  color:var(--text-label);
  white-space:nowrap;
}
.exhibit td.num,
.exhibit th.num{ font-variant-numeric:tabular-nums; white-space:nowrap; }

.exhibit__seq{
  display:flex;
  align-items:stretch;
  gap:var(--space-10);
  margin:var(--space-8) 0 0;
  padding:0;
  list-style:none;
}
.exhibit__step{
  position:relative;
  flex:1 1 0;
  border:var(--rule-weight) solid var(--wyk-graphite-24);
  padding:var(--space-6);
}
.exhibit__step + .exhibit__step::before{
  content:"\2192";
  position:absolute;
  left:calc(var(--space-10) * -0.5);
  top:50%;
  transform:translate(-50%,-50%);
  font-size:var(--type-body-lg-size);
  line-height:1;
  color:var(--text-link);
}
.exhibit__stepnum{
  display:block;
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  letter-spacing:var(--type-nav-ls);
  color:var(--text-link);
  font-variant-numeric:tabular-nums;
}
.exhibit__stepname{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  line-height:var(--type-heading-3-lh);
  margin:var(--space-4) 0 0;
}
.exhibit__steptext{
  margin:var(--space-3) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.endnotes{
  margin-top:var(--section-y-tight);
  padding-top:var(--space-8);
  border-top:var(--rule-weight) solid var(--line-hairline);
  max-width:var(--measure-prose);
}
.endnotes__list{
  margin:var(--space-6) 0 0;
  padding-left:var(--space-6);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}
.endnotes__list li + li{ margin-top:var(--space-4); }
.endnotes p{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-muted);
}

.rail__block + .rail__block{
  margin-top:var(--section-y-tight);
  padding-top:var(--space-6);
  border-top:var(--rule-weight) solid var(--line-hairline);
}
.authors{
  display:grid;
  gap:var(--space-12);
  margin:var(--space-8) 0 0;
  padding:0;
  list-style:none;
}
.authorcard__portrait{
  display:block;
  aspect-ratio:4 / 5;
  background:var(--surface-inset);
  border:var(--rule-weight) solid var(--line-hairline);
  overflow:hidden;
}
.authorcard__portrait img{ width:100%; height:100%; object-fit:cover; display:block; }
.authorcard__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:var(--type-heading-2-lh);
  letter-spacing:var(--type-heading-2-ls);
  margin:var(--space-6) 0 0;
}
.authorcard__role,
.authorcard__place{
  margin:var(--space-2) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}
.authorcard__role{ margin-top:var(--space-4); }

.authorcard__more{ margin:0; }

.topics{
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
  margin:var(--space-6) 0 0;
  padding:0;
  list-style:none;
}
.topics a{
  display:inline-block;
  align-self:flex-start;
  border:0;
  padding:0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-link);
  text-decoration:none;
  transition:color var(--duration-fast) var(--ease);
}
.topics a:hover{
  color:var(--text-link);
  text-decoration:underline;
  text-underline-offset:var(--space-1);
}

.article__prose--labelled > h2{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
  color:var(--text-label);
  margin:0;
  max-width:none;
}
.article__prose--labelled > h2 + p{ margin-top:var(--space-6); }
.article__prose--labelled > h2:not(:first-child){
  margin-top:var(--space-12);
  padding-top:var(--space-8);
  border-top:var(--rule-weight) solid var(--line-hairline);
}

.caseresults{
  margin:var(--space-10) 0 0;
  border-top:var(--rule-weight) solid var(--line-hairline);
  border-bottom:var(--rule-weight) solid var(--line-hairline);
}
.caseresults .evidence__item{ padding:var(--space-8) var(--space-8) var(--space-8) 0; }
.caseresults .evidence__item + .evidence__item{ padding-left:var(--space-8); }
.caseresults .evidence__figure{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:var(--type-heading-1-lh);
  letter-spacing:var(--type-heading-1-ls);
  color:var(--text-body);
}
.caseresults .evidence__note{
  margin-top:var(--space-4);
  font-weight:var(--weight-regular);
  color:var(--text-muted);
  max-width:none;
}

.article__prose > .caseresults__basis{
  margin:var(--space-8) 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-label);
  max-width:var(--measure-prose);
}

.article__rail--case .rail__block + .rail__block{ margin-top:var(--space-8); }
.rail__value{
  margin:var(--space-4) 0 0;
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  color:var(--text-body);
}
.rail__value + .rail__value{ margin-top:var(--space-2); }
.rail__value--muted{ color:var(--text-label); }

.roster--ruled > .wrap{
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--section-y-tight);
}
.roster--ruled .roster__grid{ margin-top:var(--space-10); }

.related .artcard--case .artcard__body{ gap:var(--space-6); min-height:var(--artcard-min-h-related); }
.related .artcard--case .artcard__title{ margin-top:0; }
.artcard__outcome{
  margin:auto 0 0;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  letter-spacing:var(--type-caption-ls);
  color:var(--text-label);
}
.related .artcard--case .artcard__more{ margin-top:0; }

.stub{ padding:var(--section-y) var(--site-page-pad); }
.stub__body{ max-width:var(--measure-prose); }
.stub__body p{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:var(--type-body-lg-lh);
  color:var(--text-muted);
}
.stub__action{ margin-top:var(--space-10); }

@media (max-width:1200px){
  .article__grid{ gap:var(--space-16); }

  .site-header{ gap:var(--space-6); }
  .site-nav{ gap:var(--space-4); }
}
@media (max-width:900px){
  .contactform__grid{ grid-template-columns:minmax(0,1fr); }
  .offices{ grid-template-columns:minmax(0,var(--office-w)); justify-content:start; }
  .indexhead__grid{ grid-template-columns:minmax(0,1fr); align-items:start; gap:var(--space-6); }

  .article__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-12); }
  .article__rail{
    border-top:var(--rule-weight) solid var(--line-hairline);
    padding-top:var(--space-8);
  }
  .authors{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px){
  .authors{ grid-template-columns:minmax(0,1fr); }
  .featurerow{ grid-template-columns:minmax(0,1fr); }
}

@media (max-width:1200px){

  .thesis__grid{ grid-template-columns:minmax(0,280px) minmax(0,1fr) minmax(0,1fr); gap:var(--space-10); }
  .sectorcard,
  .sectorband__list > li:nth-child(even) .sectorcard{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
}

@media (max-width:900px){

  .proof{ margin-top:var(--space-10); }
  .proof__grid{ grid-template-columns:minmax(0,1fr); }
  .proof__stack{ grid-template-rows:auto auto; }
  .pcard--split{ grid-template-columns:minmax(0,1fr) 140px; }

  .thesis__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
  .thesis__title{ max-width:none; }

  .captiles__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .works__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }

  .sectorcard,
  .sectorband__list > li:nth-child(even) .sectorcard{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-6);
  }
  .sectorband__list > li:nth-child(even) .sectorcard__media{ order:0; }

  .evidence__grid{ grid-template-columns:minmax(0,1fr); }
  .evidence__item{ padding-right:0; }
  .evidence__item + .evidence__item{
    border-left:0;
    padding-left:0;
    border-top:var(--rule-weight) solid var(--line-hairline);
    padding-top:var(--space-6);
    margin-top:var(--space-6);
  }

  .caseresults .evidence__item,
  .caseresults .evidence__item + .evidence__item{ padding-left:0; padding-right:0; }
}

@media (max-width:600px){
  .proof__grid{ gap:var(--space-3); }
  .proof__stack{ gap:var(--space-3); }

  .pcard--split{ grid-template-columns:minmax(0,1fr); }
  .pcard--split .pcard__media{ height:var(--pcard-media-h); order:-1; }

  .works__grid{ grid-template-columns:minmax(0,1fr); }
  .captiles__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-4); }
  .captile__title{
    left:var(--space-4);
    right:var(--space-4);
    bottom:var(--space-4);
    font-size:var(--type-heading-3-size);
    line-height:var(--type-heading-3-lh);
  }

  .works__head{ flex-direction:column; align-items:flex-start; gap:var(--space-4); }
}

.visually-hidden{
  position:absolute;
  width:var(--rule-weight);
  height:var(--rule-weight);
  margin:calc(-1 * var(--rule-weight));
  padding:0;
  border:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.exfig{
  margin:var(--ex-figure-y) 0;
  width:100%;

  font-size:var(--type-body-lg-size);
  max-width:var(--measure-prose);
  background:var(--wyk-white);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--ex-pad);
  box-sizing:border-box;
  position:relative;
}
.exfig__rule{
  width:var(--rule-accent-w);
  height:var(--ex-rule-w);
  background:var(--line-accent);
}
.exfig__eyebrow,
.exfig__layer{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-eyebrow-size);
  line-height:1.5;
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
  color:var(--text-muted);
  margin:var(--space-4) 0 0;
}
.exfig__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:1.2;
  letter-spacing:-.006em;
  max-width:34ch;
  text-wrap:pretty;
  margin:var(--space-3) 0 0;
  color:var(--text-body);
}
.exfig__units{
  margin:var(--space-3) 0 0;
  font-size:var(--type-ex-note-size);
  line-height:var(--type-ex-note-lh);
  color:var(--text-muted);
}

.exfig__layer{ margin-top:var(--ex-layer-1); }
.exfig__layer--second{ margin-top:var(--ex-layer-2); }

.extable{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  margin-top:var(--ex-layer-gap);
}
.exfig__body--plain > .extable{ margin-top:var(--space-10); }
.extable thead th{
  background:var(--wyk-carbon);
  color:var(--wyk-white);
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-ex-head-size);
  line-height:var(--type-ex-head-lh);
  letter-spacing:var(--type-ex-head-ls);
  text-align:left;
  vertical-align:bottom;
  padding:var(--ex-head-y) var(--ex-head-x);
}
.extable tbody th,
.extable tbody td{
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  text-align:left;
  vertical-align:top;
  padding:var(--ex-cell-y) var(--ex-cell-x);
  font-size:var(--type-body-sm-size);
  line-height:1.55;
  color:var(--text-body);
  font-weight:var(--weight-regular);
}

.extable .ex-num,
.extable .ex-name{
  background:var(--wyk-carbon-06);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  line-height:1.45;
  padding-top:var(--ex-cell-y-lg);
  padding-bottom:var(--ex-cell-y-lg);
}
.extable .ex-num{
  color:var(--text-link);
  font-variant-numeric:tabular-nums;
  padding-right:0;
}
.extable .ex-name{ padding-left:0; }

.exfig__foot{
  margin-top:var(--ex-foot-gap);
  display:flex;
  flex-direction:column;
  gap:var(--ex-note-gap);
  max-width:110ch;
}
.exfig__note{
  margin:0;
  font-size:var(--type-ex-note-size);
  line-height:var(--type-ex-note-lh);
  color:var(--text-muted);
}
.exfig__notekey{ font-weight:var(--weight-medium); color:var(--text-body); }

.extable col:nth-child(1){ width:var(--ex-numcol); }

.extable--a1e1 col:nth-child(2){ width:calc((100% - var(--ex-numcol)) * .196262); }
.extable--a1e1 col:nth-child(3){ width:calc((100% - var(--ex-numcol)) * .280374); }
.extable--a1e1 col:nth-child(4){ width:calc((100% - var(--ex-numcol)) * .261682); }
.extable--a1e1 col:nth-child(5){ width:calc((100% - var(--ex-numcol)) * .261682); }

.extable--a2e1 col:nth-child(2){ width:calc((100% - var(--ex-numcol)) * .207547); }
.extable--a2e1 col:nth-child(3){ width:calc((100% - var(--ex-numcol)) * .283019); }
.extable--a2e1 col:nth-child(4){ width:calc((100% - var(--ex-numcol)) * .226415); }
.extable--a2e1 col:nth-child(5){ width:calc((100% - var(--ex-numcol)) * .283019); }

.extable--a2e2 col:nth-child(2){ width:calc((100% - var(--ex-numcol)) * .214953); }
.extable--a2e2 col:nth-child(3){ width:calc((100% - var(--ex-numcol)) * .280374); }
.extable--a2e2 col:nth-child(4){ width:calc((100% - var(--ex-numcol)) * .261682); }
.extable--a2e2 col:nth-child(5){ width:calc((100% - var(--ex-numcol)) * .242991); }

.exmatrix{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:var(--ex-gap) 0;
  margin:var(--ex-layer-gap) calc(var(--ex-gap) * -1) 0;
  background:none;
}
.exmatrix thead tr{ background:var(--wyk-carbon); }
.exmatrix thead th{
  background:var(--wyk-carbon);
  color:var(--wyk-white);
  text-align:left;
  vertical-align:bottom;
  font-weight:var(--weight-medium);
  font-size:var(--type-ex-note-size);
  line-height:1.35;
  padding:var(--ex-head-y) var(--space-3);
}
.exmatrix .exmatrix__t{
  display:block;
  color:var(--text-link);
  font-variant-numeric:tabular-nums;
}
.exmatrix tbody th{
  background:var(--wyk-carbon-06);
  text-align:left;
  vertical-align:top;
  font-weight:var(--weight-regular);
  font-size:var(--type-body-size);
  line-height:1.45;
  padding:var(--ex-head-y) var(--space-3);
  color:var(--text-body);
}
.exmatrix tbody td{
  vertical-align:top;
  font-size:var(--type-body-sm-size);
  line-height:1.5;
  padding:var(--ex-head-y) var(--space-3);
  color:var(--text-body);
  background:var(--wyk-white);
}
.exmatrix td.is-nr{ background:var(--wyk-paper); }

.expanel{
  margin-top:var(--ex-layer-gap);
  background:var(--wyk-carbon-05);
  padding:var(--ex-panel-pad);
}

.excountry{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}
.excountry thead th{
  background:var(--wyk-carbon);
  color:var(--wyk-white);
  text-align:left;
  font-weight:var(--weight-medium);
  font-size:var(--type-ex-lead-size);
  line-height:var(--type-ex-lead-lh);
  padding:var(--space-3) var(--ex-head-x);
}
.excountry col:nth-child(1){ width:var(--ex-labelcol); }
.excountry tbody th{
  background:var(--wyk-carbon-06);
  text-align:left;
  vertical-align:top;
  font-weight:var(--weight-medium);
  font-size:var(--type-ex-note-size);
  line-height:1.45;
  padding:var(--ex-head-y) var(--ex-head-x);
  color:var(--text-body);
}
.excountry tbody td{
  background:var(--wyk-white);
  border-left:var(--rule-weight) solid var(--line-hairline);
  vertical-align:top;
  font-size:var(--type-body-sm-size);
  line-height:1.55;
  padding:var(--ex-head-y) var(--ex-head-x);
  color:var(--text-body);
}
.excountry td.is-nr{ background:var(--wyk-paper); }
.ex-t{ color:var(--text-link); font-variant-numeric:tabular-nums; }

.extable__band,
.excountry-sm{ display:none; }

.exrail{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:var(--ex-gap);
  margin-top:var(--space-10);
}
.exrail__group{ display:contents; }
.exrail__band{
  grid-row:1;
  margin:0;
  background:var(--wyk-carbon);
  color:var(--wyk-white);
  font-weight:var(--weight-medium);
  font-size:var(--type-ex-note-size);
  line-height:1.35;
  padding:var(--space-3) var(--ex-head-y);
}
.exrail__band--2{ grid-column:span 2; }
.exrail__band--4{ grid-column:span 4; }
.exrail__band--1{ grid-column:span 1; }
.exrail__stage{
  grid-row:2;
  background:var(--wyk-carbon-06);
  border-top:var(--ex-rule-w) solid var(--line-accent);
  padding:var(--ex-head-y) var(--ex-head-y) var(--ex-cell-y);
}
.exrail__num{
  display:block;
  color:var(--text-link);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  line-height:1.4;
  font-variant-numeric:tabular-nums;
}
.exrail__name{
  display:block;
  margin-top:var(--space-2);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-sm-size);
  line-height:1.35;
  color:var(--text-body);
}

.exrecord{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0 var(--ex-gap);
}
.exrecord col:nth-child(1){ width:var(--ex-numcol); }
.exrecord col:nth-child(2){ width:var(--ex-dimcol); }
.exrecord .ex-num,
.exrecord th.ex-name{
  background:var(--wyk-carbon-06);
  vertical-align:top;
  text-align:left;
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  line-height:1.45;
  padding:var(--ex-cell-y) var(--ex-panel-pad);
  border-bottom:0;
}
.exrecord .ex-num{ color:var(--text-link); font-variant-numeric:tabular-nums; padding-right:0; }
.exrecord th.ex-name{ padding-left:0; }
.exrecord td{
  background:var(--wyk-white);
  vertical-align:top;
  font-size:var(--type-body-sm-size);
  line-height:1.6;
  padding:var(--ex-cell-y) var(--ex-panel-pad);
  color:var(--text-body);
  border-bottom:0;
}
.exmatrix col:nth-child(1){ width:var(--ex-marketcol); }

@media (max-width:1200px){
  .exfig{ width:calc(100% + var(--rail-w) + var(--space-16)); }
}
@media (max-width:900px){
  .exfig{
    width:100%;
    margin:var(--space-12) 0;
    padding:var(--ex-pad-y-sm) var(--ex-pad-x-sm);
  }
  .exfig__title{ font-size:var(--type-heading-2-size); line-height:1.25; }

  .extable,
  .extable tbody,
  .extable tr,
  .extable th,
  .extable td,
  .excountry,
  .excountry tbody,
  .excountry tr,
  .excountry th,
  .excountry td,
  .exrecord,
  .exrecord tbody,
  .exrecord tr,
  .exrecord th,
  .exrecord td{ display:block; width:auto; }
  .extable colgroup,
  .excountry colgroup,
  .exrecord colgroup,
  .extable thead,
  .exrecord thead{ display:none; }

  .extable tr{ margin-top:var(--space-6); }
  .extable tr:first-child{ margin-top:0; }

  .extable .ex-num{
    background:var(--wyk-carbon-06);
    padding:var(--space-3) var(--space-4) 0;
    font-size:var(--type-ex-lead-size);
    border-bottom:0;
  }
  .extable .ex-name{
    background:var(--wyk-carbon-06);
    padding:0 var(--space-4) var(--space-3);
    font-size:var(--type-ex-lead-size);
    line-height:1.35;
    border-bottom:0;
  }
  .extable td:not(.ex-num):not(.ex-name){
    border-bottom:0;
    padding:var(--space-4) 0 0 var(--ex-indent-sm);
    font-size:var(--type-body-size);
  }
  .extable td[data-label]::before{
    content:attr(data-label);
    display:block;
    font-weight:var(--weight-medium);
    font-size:var(--type-ex-head-size);
    line-height:1.4;
    color:var(--text-muted);
    margin-bottom:var(--space-1);
  }
  .extable tr{ border-bottom:var(--rule-weight) solid var(--line-hairline); padding-bottom:var(--space-6); }
  .extable tr:last-child{ border-bottom:0; }

  .exfig__layer--matrix,
  .exmatrix{ display:none; }
  .exfig__layer--second{ margin-top:var(--ex-layer-1); }

  .expanel{ padding:var(--space-3); }
  .excountry{ display:none; }
  .excountry-sm{ display:block; }
  .excountry-sm__country + .excountry-sm__country{ margin-top:var(--space-6); }
  .excountry-sm__name{
    margin:0;
    background:var(--wyk-carbon);
    color:var(--wyk-white);
    font-weight:var(--weight-medium);
    font-size:var(--type-ex-lead-size);
    line-height:1.35;
    padding:var(--space-3) var(--space-4);
  }
  .excountry-sm__label{
    margin:var(--ex-gap) 0 0;
    background:var(--wyk-carbon-06);
    font-weight:var(--weight-medium);
    font-size:var(--type-ex-note-size);
    line-height:1.45;
    padding:var(--space-3) var(--space-4);
    color:var(--text-body);
  }
  .excountry-sm__text{
    margin:0;
    background:var(--wyk-white);
    font-size:var(--type-body-size);
    line-height:1.55;
    padding:var(--space-4);
    color:var(--text-body);
  }
  .excountry-sm__text.is-nr{ background:var(--wyk-paper); }

  .exrail{ display:none; }
  .extable--a2e1 tbody{ display:block; margin-top:var(--space-8); }
  .extable--a2e1 tbody:first-of-type{ margin-top:var(--space-6); }
  .extable__band{ display:block; margin:0 0 var(--space-4); border-bottom:0; padding-bottom:0; }
  .extable tbody .extable__band th{
    display:block;
    background:var(--wyk-carbon);
    color:var(--wyk-white);
    font-weight:var(--weight-medium);
    font-size:var(--type-ex-note-size);
    line-height:1.35;
    padding:var(--space-3) var(--space-4);
    border-bottom:0;
  }
  .extable--a2e1 .ex-num{ border-top:var(--ex-rule-w) solid var(--line-accent); }

  .extable--a2e2 tbody td.ex-num{ background:var(--wyk-carbon); color:var(--text-on-dark); }
  .extable--a2e2 tbody th.ex-name{ background:var(--wyk-carbon); color:var(--wyk-white); }

  .exrecord tr{ margin-top:var(--space-4); }
  .exrecord tr:first-child{ margin-top:0; }
  .exrecord .ex-num{ padding:var(--space-3) var(--space-4) 0; }
  .exrecord th.ex-name{ padding:0 var(--space-4) var(--space-3); }
  .exrecord td{ padding:var(--space-4); font-size:var(--type-body-size); }
}

.jobsec{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--job-col-w);
  gap:var(--job-gap);
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-8) 0 var(--space-12);
}

.jobsec--solo{
  grid-template-columns:minmax(0,1fr) var(--job-col-w);
  border-top:0;
  padding:0 0 var(--space-16);
}
.jobsec--solo > *{ grid-column:2; }
.jobsec__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-2-size);
  line-height:1.25;
  margin:0;
}
.jobsec__body > p{
  margin:0;
  font-size:var(--type-body-lg-size);
  line-height:1.62;
  color:var(--wyk-carbon-84);
  max-width:var(--measure-prose);
}
.jobsec__body > p + p{ margin-top:var(--space-5); }
.jobsec__lead{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:1.42;
  letter-spacing:var(--type-lead-ls);
  max-width:44ch;
}
.jobsec__note{
  margin:var(--space-5) 0 0;
  font-size:var(--type-ex-note-size);
  line-height:var(--type-ex-note-lh);
  color:var(--text-muted);
}

.jobhead{ padding:var(--space-24) var(--site-page-pad) var(--space-16); }
.jobhead .crumbs{ margin:0 0 var(--space-12); }
.jobhead__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--job-col-w);
  gap:var(--job-gap);
  align-items:end;
}
.jobhead__grid--role{ grid-template-columns:minmax(0,1fr) auto; }
.jobhead__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-2-size);
  line-height:1.06;
  letter-spacing:-.012em;
  margin:var(--space-5) 0 0;
  max-width:24ch;
}
.jobhead__title--apply{ max-width:30ch; }
.jobhead__count{ color:var(--wyk-carbon-64); }
.jobhead__standfirst{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-lead-size);
  line-height:1.42;
  letter-spacing:var(--type-lead-ls);
  max-width:44ch;
}
.jobhead__meta{
  margin:var(--space-6) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:1.6;
  color:var(--text-muted);
}
.jobhead__action{ margin:0; white-space:nowrap; }
.jobhead .accent-rule + .eyebrow{ margin-top:var(--space-4); }
.jobhead .facts{ margin-top:var(--job-gap); }
.jobhead .jobsec--solo{ margin-top:var(--job-gap); padding-bottom:0; }

.facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(0,1fr));
  border-top:var(--rule-weight) solid var(--line-hairline);
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  margin:0;
}
.facts__cell{ padding:var(--space-6) var(--space-6) var(--space-6) 0; }
.facts__label{
  font-family:var(--font-body);
  font-weight:var(--weight-medium);
  font-size:var(--type-eyebrow-size);
  line-height:var(--type-eyebrow-lh);
  letter-spacing:var(--type-eyebrow-ls);
  text-transform:uppercase;
  color:var(--text-muted);
  margin:0;
}
.facts__value{
  margin:var(--space-2) 0 0;
  font-size:var(--type-body-size);
  line-height:1.5;
  color:var(--text-body);
}

.jobbody{ padding:0 var(--site-page-pad) var(--space-16); }
.jobbody__eo{
  margin:0;
  font-size:var(--type-ex-note-size);
  line-height:1.6;
  color:var(--text-muted);
}

.dashlist{ margin:0; padding:0; list-style:none; }
.dashlist__item{
  position:relative;
  padding:0 0 0 var(--space-5);
  font-size:var(--type-body-lg-size);
  line-height:1.55;
  color:var(--wyk-carbon-84);
}
.dashlist__item + .dashlist__item{ margin-top:var(--space-2); }
.dashlist__item::before{
  content:"\2013";
  position:absolute;
  left:0;
  color:var(--wyk-carbon-64);
}

.alsocard{
  background:var(--wyk-white);
  border:var(--rule-weight) solid var(--line-hairline);
  padding:var(--space-10);
}
.alsocard__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:1.2;
  margin:var(--space-5) 0 0;
}
.alsocard__body{
  margin:var(--space-5) 0 0;
  font-size:var(--type-body-lg-size);
  line-height:1.62;
  color:var(--wyk-carbon-84);
}
.alsocard__action{ margin:var(--space-5) 0 0; }

.rolelist{ padding:0 var(--site-page-pad) var(--space-24); }
.rolegroup{
  display:grid;
  grid-template-columns:minmax(0,1fr) var(--job-col-w);
  gap:var(--job-gap);
  border-top:var(--rule-weight) solid var(--line-hairline);
  padding-top:var(--space-8);
}
.rolegroup + .rolegroup{ margin-top:var(--space-16); }
.rolegroup__name{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-1-size);
  line-height:1.2;
  letter-spacing:-.006em;
  margin:0;
}
.rolegroup__list{
  margin:0; padding:0; list-style:none;
  display:flex; flex-direction:column; gap:var(--space-3);
}

.listingcard{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:var(--space-6);
  align-items:center;
  padding:var(--space-6);
  background:var(--surface-page);
  border:var(--rule-weight) solid var(--line-hairline);
  text-decoration:none;
  color:var(--text-body);
  transition:var(--transition-color);
}
.listingcard:hover{ background:var(--surface-card); border-color:var(--line-hover); }
.listingcard__body{ display:block; }
.listingcard__title{
  display:block;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:1.3;
  text-underline-offset:var(--space-1);
}
.listingcard:hover .listingcard__title{ text-decoration:underline; }
.listingcard__meta{
  display:flex; flex-wrap:wrap; gap:var(--space-3);
  margin-top:var(--space-2);
  font-size:var(--type-body-size);
  line-height:1.5;
  color:var(--text-muted);
}

.listingcard__where{ font-weight:var(--weight-medium); color:var(--text-display); }
.listingcard__sep{
  width:var(--rule-weight);
  align-self:stretch;
  background:var(--line-hairline);
}
.listingcard__cta{
  display:flex; align-items:center; gap:var(--space-2);
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  white-space:nowrap;
}
.listingcard__ctalabel{ text-underline-offset:var(--space-1); transition:var(--transition-color); }
.listingcard__ctalabel:hover{ color:var(--text-link); text-decoration:underline; }
.listingcard__arrow{
  color:var(--text-link);
  transform:translateX(0);
  transition:var(--transition-color), transform var(--duration-fast) var(--ease);
}
.listingcard:hover .listingcard__arrow{ transform:translateX(3px); }

.jobband{
  position:relative;
  overflow:hidden;
  background:var(--surface-dark);
  color:var(--text-on-dark);
  padding:var(--space-24) var(--site-page-pad);
  text-align:center;
}
.jobband__field{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center top;
}
.jobband > .wrap{ position:relative; }
.jobband__rule{
  width:var(--rule-accent-w);
  height:var(--rule-weight-heavy);
  background:var(--line-accent);
  margin:0 auto;
}
.jobband__title{
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-display-3-size);
  line-height:1.14;
  margin:var(--space-6) auto 0;
  max-width:26ch;

  color:var(--text-on-dark);
}
.jobband__body{
  margin:var(--space-6) auto 0;
  font-size:var(--type-ex-lead-size);
  line-height:1.62;
  color:var(--wyk-paper-86);
  max-width:52ch;
}
.jobband__action{ margin:var(--space-10) 0 0; }
.jobband__back{ margin:var(--space-6) 0 0; }
.jobband__back .backlink{ color:var(--text-on-dark); }

.applysec{ padding:0 var(--site-page-pad) var(--space-24); }
.fieldgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:var(--space-10);
}
.fieldcol{ display:flex; flex-direction:column; gap:var(--space-10); }
.applyform .field + .field{ margin-top:0; }
.applyform .jobsec:first-of-type{ border-top:0; padding-top:0; }
.applyform__submit{ margin:var(--space-4) 0 0; }
.field__question{
  font-family:var(--font-body);
  font-weight:var(--weight-regular);
  font-size:var(--type-body-size);
  line-height:1.6;
  color:var(--text-body);
}
.field__help{
  margin:var(--space-2) 0 0;
  font-size:var(--type-ex-note-size);
  line-height:var(--type-ex-note-lh);
  color:var(--text-muted);
}
.field__control{ border-bottom-color:var(--wyk-carbon-28); }
.field__control--area{ resize:vertical; }

.filefield{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--space-4);
  border-bottom:var(--rule-weight) solid var(--wyk-carbon-28);
  padding:var(--field-pad-y) 0;
  cursor:pointer;
  transition:var(--transition-color);
}
.filefield__input{
  position:absolute;
  width:var(--rule-weight); height:var(--rule-weight);
  margin:calc(-1 * var(--rule-weight));
  padding:0; border:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
.filefield__name{
  font-size:var(--type-body-size);
  line-height:var(--type-field-lh);
  color:var(--text-muted);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.filefield__name[data-has-file]{ color:var(--text-body); }
.filefield__action{
  font-weight:var(--weight-medium);
  font-size:var(--type-body-size);
  color:var(--text-link);
  white-space:nowrap;
}
.filefield__input:focus-visible + .filefield__name{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.filefield__input[aria-invalid="true"] ~ .filefield__action,
.filefield:has(.filefield__input[aria-invalid="true"]){ border-bottom-color:var(--interactive-accent); }

.radioset{ border:0; margin:0; padding:0; min-width:0; }
.radioset--inline{ display:block; }
.radio{
  display:flex; align-items:center; gap:var(--space-3);
  padding:var(--space-3) 0;
  border-bottom:var(--rule-weight) solid var(--line-hairline);
  cursor:pointer;
}
.radioset--inline .radio{ display:inline-flex; border-bottom:0; margin-right:var(--space-6); }
.radioset--inline{ border-bottom:var(--rule-weight) solid var(--line-hairline); padding-bottom:var(--space-2); }
.radio__input{
  position:absolute;
  width:var(--rule-weight); height:var(--rule-weight);
  margin:calc(-1 * var(--rule-weight));
  padding:0; border:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap;
}
.radio__mark{
  flex:none;
  width:var(--space-4); height:var(--space-4);
  border:var(--rule-weight) solid var(--wyk-carbon-40);
  border-radius:50%;
  display:grid; place-items:center;
  transition:var(--transition-color);
}
.radio__mark::before{
  content:"";
  width:var(--space-2); height:var(--space-2);
  border-radius:50%;
  background:transparent;
}
.radio__input:checked + .radio__mark{ border-color:var(--interactive-accent); }
.radio__input:checked + .radio__mark::before{ background:var(--interactive-accent); }
.radio__input:focus-visible + .radio__mark{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.radio__input[aria-invalid="true"] + .radio__mark{ border-color:var(--interactive-accent); }
.radio__label{ font-size:var(--type-body-size); line-height:1.5; }
.radioset .field__question,
.radioset .field__label{ padding:0; }

.applyform .jobsec--solo .fieldcol{ gap:var(--space-5); }
.applydone .jobsec--solo{ padding-top:var(--space-12); }

@media (max-width:900px){
  .jobhead{ padding:var(--space-12) var(--site-page-pad) var(--space-10); }
  .jobhead .crumbs{ margin-bottom:var(--space-8); }
  .jobhead__grid,
  .jobhead__grid--role,
  .jobsec,
  .jobsec--solo,
  .rolegroup{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-4);
  }
  .jobsec--solo > *{ grid-column:1; }
  .jobhead__grid{ gap:var(--space-4); align-items:start; }
  .jobhead__grid--role{ gap:var(--space-8); justify-items:start; }
  .jobhead__title{ font-size:var(--type-display-3-size); line-height:1.12; }
  .jobhead .facts,
  .jobhead .jobsec--solo{ margin-top:var(--space-10); }
  .jobsec{ padding:var(--space-6) 0 var(--space-10); }
  .jobsec--solo{ padding-bottom:var(--space-10); }

  .facts{ grid-template-columns:minmax(0,1fr); border-bottom:0; }
  .facts__cell{
    padding:var(--space-4) 0;
    border-bottom:var(--rule-weight) solid var(--line-hairline);
  }

  .rolegroup + .rolegroup{ margin-top:var(--space-10); }
  .listingcard{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-4);
    padding:var(--space-5);
  }
  .listingcard__meta{ flex-direction:column; gap:var(--space-1); }
  .listingcard__sep{ display:none; }

  .jobband{ padding:var(--space-16) var(--site-page-pad); }
  .jobband__title{ font-size:var(--type-heading-1-size); }

  .applysec{ padding-bottom:var(--space-16); }
  .alsocard{ padding:var(--space-6); }
  .fieldgrid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .fieldcol{ gap:var(--space-8); }
}

@media (max-width:900px){
  .howwork__list{ grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
  .diagnostic__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-4); }
  .dealcycle__list{ grid-template-columns:minmax(0,1fr); gap:var(--space-6); }
  .evidence__grid--points{ grid-template-columns:minmax(0,1fr); }
  .artgrid:has(> li:nth-child(2):last-child),
  .newsstrip__grid:has(> li:nth-child(2):last-child){ grid-template-columns:minmax(0,1fr); }
}

@media (max-width:1200px){

  .page--about .pagebanner__grid{ grid-template-columns:minmax(0,320px) minmax(0,1fr); }

  .splitsec__facts,
  .splitsec__facts .chips{ flex-wrap:wrap; }
}

@media (max-width:900px){

  .page--about .pagebanner__grid{ grid-template-columns:minmax(0,1fr); }

  .reasons--media .reasons__inner{ grid-template-columns:minmax(0,1fr); }

  .reasons--media .reasons__media .imgwell{ aspect-ratio:4 / 3; }
}

@media (max-width:900px){

  .ournamesec__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
  .ournamesec__fig{ width:100%; max-width:var(--ournamesec-fig-w); }

  .evidence__pair{ grid-template-columns:minmax(0,1fr); gap:var(--space-8); }
}

@media (max-width:600px){

  .insights__grid{ grid-template-columns:minmax(0,1fr); }
  .captiles__grid{ grid-template-columns:minmax(0,1fr); gap:var(--space-5); }

  .evidence__media{ width:100%; min-height:var(--pe-diff-media-min-sm); aspect-ratio:4 / 3; }
}

@media (max-width:600px){
  .btn{ white-space:normal; flex-wrap:wrap; text-align:center; }

  .btn__arrow{ flex:0 0 auto; }
}

@media (hover:none) and (pointer:coarse){
  .nav-panel__list{ gap:var(--space-2); }
  .nav-panel__sub{ gap:0; }
  .nav-panel__link,
  .nav-panel__sublink{
    display:flex;
    align-items:center;
    min-height:var(--tap-target);
  }

  .arrow-link,
  .backlink,
  .rostercard__namelink,
  .rostercard__contact,
  .identity__linkedin{
    align-items:center;
    min-height:var(--tap-target);
  }

  .topics a{
    display:inline-flex;
    align-items:center;
    min-height:var(--tap-target);
  }

  .crumbs a{
    display:inline-flex;
    align-items:center;
    min-height:var(--tap-target);
  }
}

@media (max-width:600px){
  :root{
    --type-display-3-size:30px;
    --type-subhead-size:20px;
    --section-y:var(--space-12);
    --section-y-tight:var(--space-8);
    --cta-y:var(--space-12);
  }
}

.hero--home{
  min-height:min(calc(var(--hero-h) + var(--site-header-h)), var(--hero-h-cap));
  min-height:min(calc(var(--hero-h) + var(--site-header-h)), var(--hero-h-cap-dvh));
}
@media (max-width:600px){
  .hero--home{
    min-height:min(calc(var(--hero-h-mobile) + var(--site-header-h)), var(--hero-h-cap));
    min-height:min(calc(var(--hero-h-mobile) + var(--site-header-h)), var(--hero-h-cap-dvh));
  }

  .hero__inner{ min-height:var(--hero-h-mobile); padding-block:var(--space-6); }
}

@media (max-width:600px){

  .splitsec__facts .chips li{ white-space:normal; }

  .crumbs{ flex-wrap:wrap; }
}

@media (max-width:1200px){
  .prop__standard{ grid-template-columns:minmax(0,1fr); gap:var(--space-6); padding:var(--space-6); }
  .prop__standardcell + .prop__standardcell{
    border-left:0;
    padding-left:0;
    border-top:var(--rule-weight) solid var(--line-hairline);
    padding-top:var(--space-6);
  }

  .splitsec__cols{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:900px){

  .roles__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rolecard{ padding:var(--space-6); }

  .splitsec__cols{ grid-template-columns:minmax(0,1fr); }

  .splitsec__col--rule-left{
    border-left:0;
    padding-left:0;
    border-top:var(--rule-weight) solid var(--line-hairline);
    padding-top:var(--space-6);
  }
}

.hero__picture{ position:absolute; inset:0; display:block; }

@media (max-width:1200px){
  .pagebanner--photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:var(--scrim-banner-photo);
  }

  .pagebanner--photo > .wrap{ z-index:1; }
}

.related__grid,
.newsstrip__grid,
.sectorservices__grid,
.library__grid{
  grid-template-columns:repeat(auto-fit,minmax(min(var(--card-min),100%),1fr));
}

.related__grid{
  grid-template-columns:repeat(auto-fill,minmax(min(var(--card-min),100%),1fr));
}

.combo{ position:relative; display:block; }

.combo__caret{
  pointer-events:auto;
  cursor:pointer;
  transition:var(--transition-color);
}
.combo.is-open .combo__caret{ transform:translateY(-60%) rotate(180deg); }
.combo__input{ padding-right:var(--space-6); }

.combo__list{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:var(--combo-z);
  margin:0;
  padding:0;
  list-style:none;
  background:var(--surface-card);
  border:var(--rule-weight) solid var(--line-hairline);
  border-top:0;
  max-height:min(var(--combo-max-h), var(--combo-max-h-vh));
  overflow-y:auto;

  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.combo__option{
  padding:var(--space-3) var(--space-4);
  font-size:var(--type-body-size);
  line-height:var(--type-field-lh);
  color:var(--text-body);
  cursor:pointer;
  border-left:var(--rule-weight-heavy) solid transparent;
}

.combo__option.is-active{
  background:var(--surface-inset);
  color:var(--text-display);
  border-left-color:var(--interactive-accent);
}
.combo__empty{
  padding:var(--space-3) var(--space-4);
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  color:var(--text-muted);
}

.contactdone__lead{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-subhead-size);
  line-height:var(--type-subhead-lh);
  letter-spacing:var(--type-subhead-ls);
  color:var(--text-display);
  max-width:var(--measure-prose);
}

.contactdone,
.applydone{ scroll-margin-top:calc(var(--site-header-h) + var(--space-6)); }
.contactdone:focus{ outline:none; }
.contactdone:focus-visible{
  outline:var(--rule-weight) solid var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}

@media (hover:none) and (pointer:coarse){

  .combo__option{
    min-height:var(--tap-target);
    display:flex;
    align-items:center;
  }
}

.turnstile{
  overflow-x:auto;
  overscroll-behavior-x:contain;
}

.field__count{
  margin:var(--space-2) 0 0;
  text-align:right;
  font-size:var(--type-body-sm-size);
  line-height:var(--type-body-sm-lh);
  font-variant-numeric:tabular-nums;
  color:var(--text-muted);
  transition:var(--transition-color);
}
.field__count.is-near{ color:var(--text-body); }
.field__count.is-full{ color:var(--text-display); font-weight:var(--weight-medium); }

.site-footer__link{ gap:var(--space-2); }
.captile__arrow{ margin-left:var(--space-2); }

.evidence__pair .evidence__item{
  width:100%;
  border-bottom:0;
}
.evidence__pair .evidence__item + .evidence__item{
  border-top:var(--rule-weight) solid var(--line-hairline);
}

.dealcycle__text{ color:var(--wyk-carbon-82); }

@media (max-width:900px){

  .dealcycle__still{ aspect-ratio:3 / 2; }

  .dealcycle{ padding-bottom:var(--section-y); }
}

@media (max-width:600px){
  .btn{ flex-wrap:nowrap; }
}

.scope__summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:baseline;
  gap:var(--space-4);
}
.scope__meta{ justify-self:end; white-space:nowrap; }

@media (max-width:900px){
  .reasons__media{ max-width:none; }
}

@media (max-width:600px){
  .site-footer__legal-links{ gap:var(--space-3); }
}

@media (max-width:600px){

  .evidence--panel .evidence__card{ padding:var(--space-6); }
  .diagnostic__grid{ padding:var(--space-6); }
}

@media (max-width:900px){
  .values__grid > .values__item--mission{
    border-top:0;
    padding-top:0;
  }
  .values__grid{ margin-top:var(--space-6); }
}

@media (max-width:900px){
  .ournamesec__grid > *{ order:1; }
  .ournamesec__grid > .ournamesec__fig{ order:2; }
  .ournamesec__fig{ max-width:none; }
}

@media (max-width:600px){
  .roles__grid{ grid-template-columns:minmax(0,1fr); }
}

@media (max-width:900px) and (min-width:601px){
  .captiles__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-4); }
}

@media (max-width:600px){

  .exfig{ padding-left:0; }
}

@media (max-width:600px){
  .hero--home::after,
  .pagebanner--index:not(.pagebanner--photo)::after{
    content:"";
    position:absolute;
    inset:0;
    background:var(--scrim-hero-sm);
    pointer-events:none;
  }

  .hero--home > .hero__inner,
  .pagebanner--index > .wrap{ position:relative; z-index:1; }
}

@media (max-width:600px){
  .loccard--single{ padding-bottom:var(--space-5); }
  .article__standfirst{ margin-bottom:0; }
  .article__standfirst + *{ margin-top:var(--space-6); }
}

@media (hover:none) and (pointer:coarse){

  .site-nav__search{
    min-width:var(--tap-target);
    min-height:var(--tap-target);
    justify-content:center;
    padding-bottom:0;
  }

  .site-nav__link{
    min-height:var(--tap-target);
    display:inline-flex;
    align-items:center;
    padding-bottom:0;
  }

  .field__control,
  .combo__input{
    min-height:var(--tap-target);
  }

  .legal__body a,
  .legal__list a{
    display:inline;
    padding-block:var(--space-3);
  }
}

body.page--home .site-header:not(.is-scrolled) .site-nav__link[aria-current],
body.page--about .site-header:not(.is-scrolled) .site-nav__link[aria-current],
body.page--team .site-header:not(.is-scrolled) .site-nav__link[aria-current],
body.page--services .site-header:not(.is-scrolled) .site-nav__link[aria-current],
body.page--industries .site-header:not(.is-scrolled) .site-nav__link[aria-current],
body:is(.page--industry,.page--careers,.page--legal) .site-header:not(.is-scrolled) .site-nav__link[aria-current]{
  color:var(--text-on-dark);
  border-bottom-color:var(--interactive-accent);
}

.extable thead th .ex-num,
.extable thead th .ex-t,
.exmatrix thead th,
.exmatrix thead .exmatrix__t,
.exrail__band .exrail__num,
.extable tbody .extable__band th .ex-num{

  color:var(--text-on-dark);
}

.extable .ex-num,
.exrecord .ex-num,
.ex-t,
.exrail__num,

.exhibit__stepnum{

  color:var(--text-accent-aaa);
}

.captile__well::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--scrim-captile);
  pointer-events:none;

  z-index:1;
}
.captile__well::after{ z-index:2; }

@media (hover:none) and (pointer:coarse){
  .arrow-link,
  .backlink,
  .rostercard__namelink,
  .rostercard__contact,
  .identity__linkedin{
    display:inline-flex;
  }

  .consent,
  .consent__text{
    min-height:var(--tap-target);
  }
  .consent{
    display:flex;
    align-items:flex-start;
  }
}

.site-nav__link,
.site-nav__search,
.wordmark,
.crumbs a,
.backlink,
.arrow-link,
.rostercard__namelink,
.rostercard__contact,
.identity__linkedin,

.site-footer__link,
.site-footer__legal-links a,
.nav-panel__link,
.nav-panel__sublink,

.topics a,

.nav-toggle,
.btn--nav{
  position:relative;
}

.site-nav__link::before,
.site-nav__search::before,
.wordmark::before,
.crumbs a::before,
.backlink::before,
.arrow-link::before,
.rostercard__namelink::before,
.rostercard__contact::before,
.identity__linkedin::before,
.site-footer__link::before,
.site-footer__legal-links a::before,
.topics a::before,
.nav-panel__link::before,
.nav-panel__sublink::before,
.nav-toggle::before,
.btn--nav::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:max(100%,var(--tap-target-clear));
  height:max(100%,var(--tap-target-clear));
  transform:translate(-50%,-50%);
}

.site-nav__search::before{
  transform:translate(calc(-50% + 2px),-50%);
}

.site-footer__list{ gap:0; }
.site-footer__link,
.site-footer__legal-links a{
  display:inline-flex;
  align-items:center;
  min-height:var(--tap-target-clear);
}

.searchpage__input{
  min-height:var(--tap-target-clear);
}

.field__control,
.combo__input{
  min-height:var(--tap-target-clear);
}

.topics{ gap:0; }
.topics a{
  display:flex;
  align-items:center;
  min-height:var(--tap-target-clear);
}

.introcols p + p{ margin-top:var(--space-5); }

.culture__term{
  margin:0 0 var(--space-3);
  font-family:var(--font-display);
  font-weight:var(--weight-regular);
  font-size:var(--type-heading-3-size);
  line-height:var(--type-heading-3-lh);
  color:var(--text-display);
}

.qband__body .dashlist{ margin:var(--space-4) 0 0; max-width:var(--measure-prose); }
.qband__body .dashlist__item{ font-size:var(--type-body-size); line-height:var(--type-body-lh); }
.qband__body .dashlist + p{ margin-top:var(--space-5); }
