:root {
  --blue: #1E4B9B;
  --navy: #0F2D64;
  --sky: #84B6F4;
  --ivory: #FAFBFD;
  --gray: #E6EBF3;
  --charcoal: #2B2F36;
  --slate: #5A7FBF;
  --powder: #D7E4F7;
  --mid: #AAB2BD;
  --midnight: #0B1F3B;
  --ink-soft: #596474;
  --line: rgba(15,45,100,.15);
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --display: var(--sans);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0; background: var(--ivory); color: var(--charcoal);
  font-family: var(--sans); font-size: 16px; font-weight: 400;
  line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
::selection { background: var(--powder); color: var(--navy); }
a { color: inherit; }
figure { margin: 0; }
button, input, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--sky); outline-offset: 4px; }
.skip-link {
  position: fixed; z-index: 300; top: 10px; left: 10px; padding: 12px 16px;
  color: var(--ivory); background: var(--navy); transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

/* A restrained institutional frame, with a little editorial tension. */
body > nav {
  position: fixed; inset: 0 0 auto; z-index: 100; height: 84px;
  padding: 0 clamp(22px, 5.2vw, 82px); display: flex; align-items: center;
  justify-content: space-between; background: rgba(250,251,253,.94);
  border-bottom: 1px solid rgba(15,45,100,.1); backdrop-filter: blur(14px);
}
.logo { display: inline-flex; align-items: center; line-height: 0; }
.logo img { display: block; width: 153px; height: auto; }
.nav-right { display:flex !important; align-items:center; gap: clamp(20px,3vw,46px); }
.nav-link,.nav-cta {
  text-decoration:none; text-transform:uppercase; letter-spacing:.12em;
  font-size:11px; font-weight:500; color:var(--navy); transition:transform .2s;
}
.nav-link:hover,.nav-cta:hover { color:var(--slate); }
.nav-cta { background:transparent; color:var(--navy); padding:0; }

/* Homepage masthead sits over the opening frame, then resolves to the shared light palette. */
body.home-page > nav.home-nav {
  position:absolute; inset:0 0 auto; height:84px; padding:0 clamp(22px,5.2vw,82px);
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  background:transparent; border:0; backdrop-filter:none;
}
html.js-ready body.home-page > nav.home-nav {
  position:fixed;
  transition:background-color .22s ease,border-color .22s ease,backdrop-filter .22s ease;
}
body.home-page > nav.home-nav .nav-right { display:contents !important; }
body.home-page > nav.home-nav .logo,
body.home-page > nav.home-nav .nav-link,
body.home-page > nav.home-nav .nav-cta { grid-row:1; }
body.home-page > nav.home-nav .logo { grid-column:2; justify-self:center; }
body.home-page > nav.home-nav .logo img { width:153px; }
body.home-page > nav.home-nav .nav-link {
  grid-column:1; justify-self:start; color:var(--ivory);
}
body.home-page > nav.home-nav .nav-cta {
  grid-column:3; justify-self:end; padding:0; border:0;
  color:var(--ivory); background:transparent;
}
body.home-page > nav.home-nav:not(.is-scrolled) .nav-link:hover,
body.home-page > nav.home-nav:not(.is-scrolled) .nav-cta:hover {
  color:var(--ivory); background:transparent; opacity:.78; transform:none;
}
html.js-ready body.home-page > nav.home-nav.is-scrolled {
  background:rgba(250,251,253,.96); border-bottom:1px solid rgba(15,45,100,.1);
  backdrop-filter:blur(14px);
}
body.home-page > nav.home-nav.is-scrolled .nav-link { color:var(--navy); }
body.home-page > nav.home-nav.is-scrolled .nav-cta {
  padding:0; color:var(--navy); background:transparent;
}
body.home-page > nav.home-nav.is-scrolled .nav-link:hover,
body.home-page > nav.home-nav.is-scrolled .nav-cta:hover { color:var(--slate); }

.hero {
  min-height:100vh; min-height:100dvh; padding:132px clamp(24px,8vw,128px) 136px;
  position:relative; display:flex; align-items:center; background:var(--midnight) url("mountain-poster.webp") center 48% / cover no-repeat; overflow:hidden;
}
.hero::before {
  content:""; position:absolute; z-index:1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(11,31,59,.84) 0%,rgba(11,31,59,.67) 52%,rgba(11,31,59,.42) 100%),
    linear-gradient(0deg,rgba(11,31,59,.25),transparent 42%);
}
.hero-video { position:absolute; z-index:0; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.video-unavailable .hero-video { visibility:hidden; }
.hero-content { width:min(1080px,100%); position:relative; z-index:2; }
.hero h1 {
  margin:0; max-width:1000px; color:var(--ivory); font-size:clamp(42px,6.2vw,84px);
  font-weight:300; line-height:1.04; letter-spacing:-.045em;
}
.hero-lookup-button {
  position:absolute; z-index:2; left:50%; bottom:40px; transform:translateX(-50%);
  display:inline-flex; align-items:center; justify-content:center; gap:14px;
  width:max-content; max-width:calc(100% - 128px);
  min-height:52px; padding:12px 24px; border:1px solid rgba(250,251,253,.55); border-radius:4px;
  background:rgba(11,31,59,.65); color:var(--ivory); text-decoration:none;
  font-size:14px; font-weight:500; line-height:1.45; text-align:center;
  transition:background-color .2s,color .2s,border-color .2s;
}
.hero-lookup-label { min-width:0; }
.hero-lookup-button > [aria-hidden] { flex-shrink:0; }
.hero-lookup-button:hover,.hero-lookup-button:focus-visible {
  background:var(--ivory); color:var(--navy); border-color:var(--ivory);
}
.lookup-bottom {
  display:flex; justify-content:center;
  padding:0 clamp(22px,7vw,104px) clamp(58px,7vw,88px);
  background:var(--midnight);
}
.lookup-bottom-button {
  position:relative; left:auto; bottom:auto; transform:none; max-width:100%;
}
.hero-video-toggle {
  position:absolute; z-index:3; right:clamp(20px,4vw,56px); bottom:22px;
  width:44px; height:44px; padding:0; border:0; background:transparent;
  display:flex; align-items:center; justify-content:center; gap:5px;
  color:var(--ivory); opacity:.7; cursor:pointer; transition:opacity .2s;
}
.hero-video-toggle[hidden] { display:none; }
.hero-video-toggle::before,.hero-video-toggle::after {
  content:""; display:block; width:2px; height:16px; border-radius:1px;
  background:currentColor; filter:drop-shadow(0 1px 2px rgba(11,31,59,.35));
}
.hero-video-toggle[data-state="paused"]::before {
  width:0; height:0; border-top:8px solid transparent; border-bottom:8px solid transparent;
  border-left:11px solid currentColor; border-radius:0; background:none;
}
.hero-video-toggle[data-state="paused"]::after { display:none; }
.hero-video-toggle:hover,.hero-video-toggle:focus-visible { opacity:1; }
.hero-video-status {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; border:0;
}
.identity-section {
  padding:72px clamp(24px,8vw,128px) 78px;
  background:#F4F6FA;
}
.identity-title {
  max-width:1300px; margin:0 auto; color:var(--navy);
  font-size:clamp(32px,4vw,44px); font-weight:500; line-height:1.1;
  letter-spacing:-.04em;
}
.identity-grid {
  max-width:1300px; margin:32px auto 0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:16px;
}
.identity-mark {
  min-width:0; min-height:128px; padding:24px 16px;
  display:flex; align-items:center; justify-content:center;
  border-top:1px solid var(--line);
}
.identity-mark img {
  display:block; width:auto; height:auto;
  max-width:min(100%,var(--logo-width,180px)); max-height:var(--logo-height,54px);
  object-fit:contain;
}
.identity-mark--featured { padding-block:16px; }
.identity-mark--wide { padding-inline:var(--logo-padding-inline,6px); }
@media (min-width:801px) {
  .identity-grid { grid-template-columns:repeat(8,minmax(0,1fr)); }
  .identity-mark { grid-column:span 2; }
  .identity-mark:nth-child(5) { grid-column:2 / span 2; }
}
.stats-section { padding:70px clamp(24px,8vw,128px) 20px; background:var(--ivory); }
.stats-list {
  max-width:1300px; margin:0 auto; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px;
}
.stats-list li { min-width:0; padding:26px 0; border-top:1px solid var(--line); text-align:center; }
.stat-number {
  margin:0 0 12px; color:var(--navy); font-size:clamp(48px,6vw,76px);
  font-weight:300; line-height:1.06; letter-spacing:-.045em; font-variant-numeric:tabular-nums;
}
.stat-label { margin:0; color:var(--navy); font-size:16px; line-height:1.4; }
.who-we-work-with {
  padding:68px clamp(24px,8vw,128px) 72px; background:#F4F6FA;
}
.who-we-work-with h2 {
  max-width:1300px; margin:0 auto; color:var(--navy);
  font-size:clamp(32px,4vw,44px); font-weight:500; line-height:1.1; letter-spacing:-.04em;
}
.who-we-work-with-list {
  max-width:1300px; margin:30px auto 0; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:64px;
}
.who-we-work-with-list li {
  min-width:0; padding:24px 0; border-top:1px solid var(--line);
}
.who-we-work-with-list h3 {
  margin:0; color:var(--navy); font-size:clamp(21px,2.2vw,28px);
  font-weight:300; line-height:1.25; letter-spacing:-.035em;
}
.product-offerings { padding:76px clamp(24px,8vw,128px) 74px; background:var(--midnight); }
.product-offerings h2 {
  max-width:1300px; margin:0 auto; color:var(--powder);
  font-size:clamp(34px,4.2vw,48px); font-weight:400; line-height:1.08; letter-spacing:-.045em;
}



/* Interior pages share the homepage's centered mark and quiet navigation. */
.inner-page > nav.site-nav {
  height:84px; padding:0 clamp(22px,5.2vw,82px);
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  background:rgba(250,251,253,.96); border-bottom:1px solid rgba(15,45,100,.1);
  backdrop-filter:blur(14px);
}
.inner-page > nav.site-nav .logo { grid-column:2; justify-self:center; grid-row:1; }
.inner-page > nav.site-nav .logo img { width:153px; }
.inner-page > nav.site-nav .nav-right { display:contents !important; }
.inner-page > nav.site-nav .nav-link,
.inner-page > nav.site-nav .nav-cta { grid-row:1; color:var(--navy); }
.inner-page > nav.site-nav .nav-link { grid-column:1; justify-self:start; }
.inner-page > nav.site-nav .nav-cta { grid-column:3; justify-self:end; padding:0; }
.inner-page > nav.site-nav .nav-link:hover,
.inner-page > nav.site-nav .nav-cta:hover { color:var(--slate); }

/* Careers */
.careers-page { min-height:100dvh; display:flex; flex-direction:column; }
.careers-page main { flex:1; }
.roles { max-width:1400px; padding:132px clamp(24px,8vw,128px) 34px; }
.roles-header h1 { margin:0; }
.roles-header {
  display:flex; align-items:flex-end; justify-content:space-between; padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.section-label,.roles-count {
  color:var(--slate); font-size:10px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
}
.role-row {
  display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center;
  gap:32px; padding:28px 0; list-style:none; cursor:pointer;
  color:var(--navy);
}
.role-row::-webkit-details-marker { display:none; }
.role-row-title { color:var(--navy); font-size:clamp(25px,3vw,40px); font-weight:300; line-height:1.15; letter-spacing:-.045em; transition:color .2s; }
.role-row:hover .role-row-title { color:var(--blue); }
.role-row-meta { color:var(--slate); font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.role-row svg { color:var(--blue); transition:transform .2s,color .2s; }
.role-row:hover svg { color:var(--navy); transform:translateY(3px); }
.role { margin:0; border-bottom:1px solid var(--line); }
.role[open] > .role-row svg { transform:rotate(180deg); }
.role-body { padding:8px 0 32px; }
.role-actions { display:flex; align-items:center; gap:16px; }
.role-body h3 { margin:34px 0 12px; color:var(--blue); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.role-body h3:first-of-type { margin-top:0; }
.role-body p { max-width:740px; margin:0 0 24px; color:var(--ink-soft); font-size:15px; line-height:1.65; }
.role-body ul { max-width:640px; margin:0 0 36px; list-style:none; }
.role-body li { position:relative; padding:8px 0 8px 22px; color:var(--ink-soft); font-size:15px; line-height:1.65; }
.role-body li::before { position:absolute; top:19px; left:0; width:10px; height:1px; background:var(--sky); content:""; }
.btn-copy {
  display:inline-flex; align-items:center; justify-content:center; vertical-align:middle;
  margin-left:6px; padding:6px; border:0; background:transparent; color:var(--slate);
  cursor:pointer; transition:color .2s,background-color .2s;
}
.btn-copy:hover { color:var(--blue); background:var(--powder); }
.btn-copy.copied { color:var(--navy); }
.btn-primary {
  display:inline-block; padding:13px 22px; border:1px solid var(--navy);
  border-radius:0; background:var(--navy); color:var(--ivory); font:500 11px var(--sans);
  letter-spacing:.12em; text-transform:uppercase; text-decoration:none; cursor:pointer;
  transition:background-color .2s,color .2s;
}
.btn-primary:hover { background:var(--blue); border-color:var(--blue); }
.btn-primary:disabled { opacity:.6; cursor:default; }

/* Application dialog */
.apply-dialog {
  position:fixed; width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 32px);
  margin:auto; padding:0; border:1px solid var(--line); border-radius:2px;
  background:var(--ivory); color:var(--charcoal); box-shadow:0 30px 80px rgba(15,45,100,.18);
}
.apply-dialog::backdrop { background:rgba(11,31,59,.35); backdrop-filter:blur(4px); }
.apply-inner { padding:clamp(26px,5vw,48px); }
.apply-close {
  position:absolute; top:14px; right:14px; display:grid; width:36px; height:36px;
  place-items:center; border:0; background:transparent; color:var(--slate); cursor:pointer;
}
.apply-close:hover { background:var(--powder); color:var(--navy); }
.apply-inner .section-label { display:block; margin-bottom:10px; }
.apply-title { margin:0 0 26px; padding-right:32px; color:var(--navy); font-size:34px; font-weight:300; line-height:1.1; letter-spacing:-.04em; }
.apply-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field-full { grid-column:1 / -1; }
.field label { color:var(--navy); font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; }
.field input,.field textarea {
  width:100%; padding:11px 14px; border:1px solid #ccd5e2; border-radius:0;
  background:var(--ivory); color:var(--charcoal); font:400 15px/1.5 var(--sans);
}
.field textarea { min-height:130px; resize:vertical; }
.field input:focus,.field textarea:focus { border-color:var(--blue); outline:none; box-shadow:0 0 0 3px rgba(30,75,155,.12); }
.field.has-error input,.field.has-error textarea { border-color:#9b3e38; }
.field-hint { display:flex; justify-content:space-between; gap:12px; color:var(--ink-soft); font-size:12px; }
.field-error,.word-count.over { color:#9b3e38; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.apply-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:26px; }
.form-status { color:#9b3e38; font-size:13px; }
.apply-success { padding:24px 0 8px; text-align:center; }
.apply-success p { margin:0 0 24px; color:var(--ink-soft); font-size:15px; }

/* Contact */
.contact-section {
  width:min(860px,100%); margin:0 auto; padding:154px 32px 88px;
}
.contact-title {
  margin:0 0 34px; color:var(--navy); font-size:clamp(48px,7vw,76px);
  font-weight:300; line-height:1; letter-spacing:-.055em;
}
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px 20px; }
form[hidden] { display:none !important; }
.contact-field { display:flex; min-width:0; flex-direction:column; gap:8px; }
.contact-field--notes { grid-column:1 / -1; }
.contact-section .contact-field--interest { grid-column:1 / -1; }
.contact-field label { color:var(--navy); font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.contact-field input,.contact-field textarea {
  width:100%; border:1px solid #ccd5e2; border-radius:0; padding:12px 14px;
  background:var(--ivory); color:var(--charcoal); font:400 16px/1.5 var(--sans);
}
.contact-field textarea { min-height:132px; resize:vertical; }
.contact-field input:focus,.contact-field textarea:focus { border-color:var(--blue); outline:none; box-shadow:0 0 0 3px rgba(30,75,155,.12); }
.contact-field [aria-invalid="true"] { border-color:#9b3e38; }
.contact-field-error { min-height:1em; color:#9b3e38; font-size:12px; }
.contact-form-footer {
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  margin-top:22px;
}
.contact-status { margin:0; color:#9b3e38; font-size:14px; line-height:1.5; }
.contact-status:empty { display:none; }
.contact-submit {
  min-width:132px; min-height:50px; padding:12px 20px; border:1px solid var(--navy); border-radius:0;
  background:transparent; color:var(--navy); font:500 11px var(--sans);
  letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
  transition:background-color .18s,opacity .18s;
}
.contact-submit:hover:not(:disabled):not([aria-busy="true"]) { background:var(--navy); color:var(--ivory); }
.contact-submit:disabled,.contact-submit[aria-busy="true"] { opacity:.78; cursor:wait; }
.contact-submit:focus-visible,
.contact-section .contact-field input:focus-visible,
.contact-section .contact-field textarea:focus-visible {
  outline:3px solid var(--blue); outline-offset:3px;
}
.contact-success { padding:24px; border-top:1px solid var(--line); color:var(--navy); font-size:18px; }
.contact-noscript { margin-top:18px; color:var(--ink-soft); font-size:14px; }

.reveal { opacity:1; transform:none; }
.reveal.is-visible { animation:section-in .7s cubic-bezier(.2,.7,.2,1) both; animation-delay:var(--delay,0ms); }
@keyframes section-in { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.hero-content { animation:hero-in .85s cubic-bezier(.2,.7,.2,1) both; }
@keyframes hero-in { from { opacity:0; transform:translateY(18px) } to { opacity:1; transform:translateY(0) } }
@media (max-width:800px) {
  body > nav { height:72px; }
  body.home-page > nav.home-nav { height:72px; padding:0 24px; }
  .inner-page > nav.site-nav { height:72px; padding:0 24px; }
  .logo img { width:131px; }
  body.home-page > nav.home-nav .logo img { width:131px; }
  .inner-page > nav.site-nav .logo img { width:131px; }
  .hero { padding-top:126px; padding-bottom:128px; }
  .identity-section { padding:58px 24px 62px; }
  .identity-grid { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:10px; }
  .identity-mark { min-height:120px; padding:20px 12px; }
  .identity-mark--featured { padding-block:12px; }
  .identity-mark--wide { padding-inline:var(--logo-padding-inline,6px); }
  .stats-section { padding:58px 24px 16px; }
  .who-we-work-with { padding:58px 24px 62px; }
  .who-we-work-with-list { column-gap:36px; }
  .product-offerings { padding:62px 24px 58px; }
  .stats-list { gap:24px; }
  .contact-section { padding-top:132px; }
}
@media (max-width:560px) {
  body > nav { padding:0 18px; height:66px; }
  body.home-page > nav.home-nav { height:66px; padding:0 18px; }
  .inner-page > nav.site-nav { height:66px; padding:0 18px; }
  .logo img { width:115px; }
  body.home-page > nav.home-nav .logo img { width:115px; }
  .inner-page > nav.site-nav .logo img { width:115px; }
  .nav-right { gap:14px; }
  .nav-link,.nav-cta { font-size:9px; letter-spacing:.08em; }
  .hero { padding:112px 22px 128px; }
  .hero h1 { font-size:clamp(42px,11vw,60px); }
  .identity-section { padding:48px 18px 52px; }
  .identity-title { font-size:32px; }
  .identity-grid { margin-top:22px; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:8px; }
  .identity-mark { min-height:104px; padding:18px 12px; }
  .identity-mark--featured { padding-block:10px; }
  .identity-mark--wide { padding-inline:var(--logo-padding-inline,6px); }
  .identity-mark img { max-height:min(var(--logo-height,54px),var(--logo-mobile-height,64px)); }
  .stats-section { padding:48px 18px 8px; }
  .who-we-work-with { padding:48px 18px 52px; }
  .who-we-work-with h2 { font-size:32px; }
  .who-we-work-with-list { margin-top:22px; grid-template-columns:1fr; }
  .who-we-work-with-list li { padding:19px 0; }
  .who-we-work-with-list h3 { font-size:22px; }
  .product-offerings { padding:50px 18px 46px; }
  .product-offerings h2 { font-size:34px; }
  .stats-list { grid-template-columns:1fr; gap:8px; }
  .stat-number { font-size:60px; }
  .roles { padding:110px 22px 24px; }
  .role-row { grid-template-columns:1fr auto; }
  .role-row-meta { grid-column:1; }
  .role-row svg { grid-column:2; grid-row:1 / span 2; }
  .apply-grid { grid-template-columns:1fr; }
  .apply-footer { flex-direction:column-reverse; align-items:stretch; }
  .contact-section { padding:116px 20px 58px; }
  .contact-title { margin-bottom:26px; font-size:48px; }
  .contact-fields { grid-template-columns:1fr; gap:18px; }
  .contact-field--notes { grid-column:auto; }
  .contact-section .contact-field--interest { grid-column:auto; }
  .contact-form-footer { align-items:flex-start; gap:10px; }
  .contact-section .contact-submit { min-height:50px; }
}
@media (max-width:380px) {
  body.home-page > nav.home-nav { padding:0 14px; }
  .inner-page > nav.site-nav { padding:0 14px; }
  .logo img { width:103px; }
  body.home-page > nav.home-nav .logo img { width:103px; }
  .inner-page > nav.site-nav .logo img { width:103px; }
  .nav-right { gap:10px; }
  .nav-link,.nav-cta { font-size:8px; letter-spacing:.06em; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  html.js-ready body.home-page > nav.home-nav { transition:none !important; }
.reveal { opacity:1; transform:none; }
}

/* Hadley editorial hierarchy: precise type, confident color fields, quick reveals. */
body { font-family:var(--sans); }
h1,h2,h3,.role-row-title,.stat-number,.contact-title,.apply-title {
  font-family:var(--display);
}

/* The proof is one continuous story: affiliations above, scale below. */
.identity-section {
  padding:clamp(82px,9vw,132px) clamp(24px,8vw,128px) 58px;
  background:var(--ivory);
}
.identity-title {
  max-width:1300px;
  font-family:var(--display);
  font-size:clamp(42px,6.2vw,80px);
  font-weight:500;
  line-height:.99;
  letter-spacing:-.065em;
  text-wrap:balance;
}
.identity-grid { margin-top:clamp(32px,4.8vw,62px); }
.identity-mark { border-color:rgba(20,54,111,.17); }

.stats-section {
  position:relative;
  padding:clamp(42px,5.5vw,72px) clamp(24px,8vw,128px) clamp(46px,6vw,82px);
  background:var(--ivory);
}
.stats-list { gap:clamp(20px,4vw,56px); }
.stats-list li {
  padding:14px 0 8px;
  border-top:1px solid var(--line);
  text-align:left;
}
.stat-number {
  margin-bottom:8px;
  color:var(--navy);
  font-size:clamp(58px,7.2vw,96px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.075em;
}
.stat-label { color:var(--navy); font-size:16px; }

.who-we-work-with {
  padding:clamp(82px,9vw,128px) clamp(24px,8vw,128px) clamp(84px,9vw,124px);
  background:var(--powder);
}
.who-we-work-with h2,
.product-offerings h2 {
  font-family:var(--display);
  font-size:clamp(44px,6.2vw,80px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.065em;
  text-wrap:balance;
}
.who-we-work-with h2 { color:var(--navy); }
.who-we-work-with-list {
  margin-top:clamp(34px,5vw,66px);
  column-gap:clamp(30px,7vw,100px);
}
.who-we-work-with-list li {
  padding:clamp(22px,2.8vw,34px) 0;
  border-color:rgba(20,54,111,.24);
}
.who-we-work-with-list h3 {
  font-family:var(--display);
  font-size:clamp(22px,2.45vw,32px);
  font-weight:400;
  line-height:1.18;
  letter-spacing:-.045em;
}

.product-offerings {
  padding:clamp(82px,9vw,128px) clamp(24px,8vw,128px) clamp(78px,8vw,112px);
  background:var(--midnight);
}
.product-offerings h2 { color:var(--ivory); }


/* Same display voice on the minimal interior pages. */
.roles-header h1 {
  font-family:var(--display); font-size:clamp(36px,5.2vw,64px);
  font-weight:500; line-height:1.05; letter-spacing:-.045em; text-transform:none;
}
.role-row-title {
  font-weight:500;
  letter-spacing:-.055em;
}
.contact-title {
  font-size:clamp(54px,7.2vw,84px);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.065em;
}
.apply-title { font-weight:500; }

.nav-link,.nav-cta {
  transition:color .18s,transform .18s,opacity .18s;
}
.nav-link:hover,.nav-cta:hover { transform:translateY(-1px); }
.btn-primary,.contact-submit {
  transition:background-color .18s,color .18s,transform .18s;
}
.btn-primary:hover,.contact-submit:hover { transform:translateY(-1px); }
.role { transition:border-color .2s; }
.role[open] { border-color:rgba(33,79,157,.48); }
.btn-copy { transition:color .18s,background-color .18s,transform .18s; }
.btn-copy:active,.btn-primary:active,.contact-submit:active {
  transform:translateY(1px);
}

/* Only the short heading/item layers move; section geometry never does. */
.js-ready .reveal-item {
  opacity:0;
  transform:translateY(12px);
}
.js-ready .reveal-item.is-revealed {
  animation:item-in .48s cubic-bezier(.2,.75,.25,1) both;
  animation-delay:var(--item-delay,0ms);
}
.reveal { opacity:1; transform:none; }
.reveal.is-visible { animation:none; }
@keyframes item-in {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:translateY(0); }
}
html.motion-settled .reveal-item,
html.motion-settled .reveal-item.is-revealed {
  opacity:1;
  transform:none;
  animation:none;
}

@media (max-width:800px) {
  .identity-section { padding:74px 24px 48px; }
  .identity-title { font-size:clamp(40px,7.4vw,62px); }
  .stats-list li { text-align:left; }
  .who-we-work-with { padding:76px 24px 82px; }
  .who-we-work-with h2,.product-offerings h2 { font-size:clamp(42px,7.4vw,64px); }
  .product-offerings { padding:76px 24px 72px; }
}
@media (max-width:560px) {
  .identity-section { padding:68px 18px 38px; }
  .identity-title { font-size:clamp(36px,10.5vw,48px); line-height:1.02; }
  .identity-grid { margin-top:30px; }
  .stats-section { padding:38px 18px 42px; }
  .stats-list { gap:12px; }
  .stats-list li { padding:18px 0 13px; }
  .stat-number { font-size:clamp(58px,16vw,76px); }
  .stat-label { font-size:14px; }
  .who-we-work-with { padding:68px 18px 70px; }
  .who-we-work-with h2,.product-offerings h2 { font-size:clamp(36px,10.5vw,48px); }
  .who-we-work-with-list { margin-top:28px; }
  .who-we-work-with-list h3 { font-size:22px; }
  .product-offerings { padding:68px 18px 62px; }
  .contact-title { font-size:clamp(48px,13vw,60px); }
  .role-row-title { font-size:clamp(26px,7.5vw,34px); }
}
@media (max-width:360px) {
  .identity-title,.who-we-work-with h2,.product-offerings h2 { font-size:36px; }
  .who-we-work-with-list h3 { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .js-ready .reveal-item,
  .js-ready .reveal-item.is-revealed {
    opacity:1;
    transform:none;
    animation:none;
  }
}
