/* Applied Research uses Home's shared header, typography, buttons and footer. */
.research-page nav a[aria-current="page"]{font-weight:800}
.research-hero{padding-block:34px 50px}
.research-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start;margin-top:12px}
.research-hero h1{font-size:clamp(48px,6.7vw,84px);line-height:.99;letter-spacing:-.065em;font-weight:800}
.research-subtitle{font-size:clamp(21px,2.3vw,29px);font-weight:600;letter-spacing:-.035em;line-height:1.25;margin-top:24px;padding-bottom:1lh}
.research-opening{font-size:19px;color:var(--slate);margin-top:20px;max-width:650px}
.research-art{width:100%;height:auto;max-width:390px;justify-self:end;margin-top:24px;object-fit:contain}
.research-context{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;border-top:1px solid var(--line);padding-top:28px;margin-top:32px;color:var(--slate);font-size:18px}
.research-context p:last-child{font-size:22px;line-height:1.4;color:var(--navy);font-weight:600;max-width:350px;letter-spacing:-.025em}
.research-limits{margin-top:20px;color:var(--slate);font-size:18px}
.research-band{background:var(--navy);color:var(--white);--link-outline:#fff;padding-block:48px}
.research-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding-block:1.5rem}
.research-pair article {
  --pair-inset: 29px;
  position: relative;
  padding-inline: calc(5% + var(--pair-inset)) var(--pair-inset);
}
.research-pair article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5%;
  background: #8b9ab0;
}
.research-pair article:last-child{border-right:1px solid #8b9ab0}
.research-pair h2{font-size:30px;line-height:1.15}
.research-pair p{font-size:18px;color:#edf2f8;margin-top:18px;max-width:490px}
.research-approach{padding-block:56px}
.research-section-heading h2{font-size:clamp(32px,4vw,44px);line-height:1.08;margin-top:14px}
.research-section-heading>p:last-child{font-size:20px;margin-top:14px;color:var(--slate)}
.research-band .research-section-heading>p:last-child{color:#edf2f8}
:is(.research-projects,.research-approach) .research-section-heading>p:last-child{padding-bottom:1lh}
.research-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:36px}
.research-step{padding-inline:18px;border-left:1px solid var(--line)}
.research-step:last-child{border-right:1px solid var(--line)}
.research-step-heading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:33px;align-items:center}
.research-step-copy{min-width:0;overflow-wrap:anywhere}
.research-step-marker{text-align:center}
.research-step-marker .research-symbol{margin:0 auto}
.research-step-marker .research-step-number{margin-top:8px;letter-spacing:.15em;padding-left:.15em}
.research-step .research-step-phase{margin-top:10px}
.research-symbol{display:block;width:38px;height:38px;fill:none;stroke:var(--navy);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:24px}
.research-step .eyebrow{font-size:10px;letter-spacing:.15em;color:var(--slate)}
.research-step h3{font-size:23px;line-height:1.15;margin-top:0;min-height:0}
.research-detail-trigger{display:inline-flex;gap:10px;align-items:baseline;border:0;background:none;color:inherit;text-align:left;padding:0;font:inherit;font-weight:700;letter-spacing:inherit;line-height:inherit}
.research-detail-trigger:disabled{opacity:1;color:inherit}
.research-detail-trigger:not(:disabled){cursor:pointer}
.research-detail-trigger:not(:disabled):is(:hover,:focus-visible){outline:none}
.research-detail-trigger:not(:disabled):is(:hover,:focus-visible) .detail-action {
  background: #fff;
  color: #142a4a;
  border: 2px solid currentColor;
}
.detail-action{display:none}
.detail-chevron{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.research-step-description{font-size:16px;line-height:1.6;color:var(--slate);margin-top:18px}
.research-security{display:flex;align-items:center;gap:24px;border-block:1px solid var(--line);border-inline-start:1px solid var(--line);margin-top:64px;padding:24px;background:#f4f7fb}
.research-security>svg{width:32px;height:38px;flex:none;fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.research-security h3{font-size:23px;line-height:1.2}
.research-security .research-step-description{margin-top:10px}
.research-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px}
.research-project-grid article{padding-inline:29px;border-left:1px solid #8b9ab0}
.research-project-grid article:last-child{border-right:1px solid #8b9ab0}
.research-project-grid h3{font-size:25px;line-height:1.15;min-height:2.3em}
.research-project-grid p{font-size:18px;color:#edf2f8;margin-top:16px}
.research-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:40px}
.research-next .text-link{font-size:15px}
.research-dialog{width:min(520px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:0;border:1px solid var(--navy);background:var(--white);color:var(--navy);box-shadow:0 20px 70px #142a4a30}
.research-dialog::backdrop{background:#142a4a99}
.research-dialog-header{display:flex;align-items:baseline;gap:20px;padding:24px 30px;background:var(--navy);color:#fff}
.research-dialog h2{flex:1;min-width:0;font-size:28px;line-height:1.15;margin:0;padding:0}
.research-dialog .research-detail-label>span{white-space:normal}
.research-dialog .research-title-ending{text-transform:capitalize}
.research-dialog p{font-size:18px;color:var(--slate);margin:0;padding:24px 30px 30px}
.research-dialog-close{display:flex;flex:none;align-items:center;gap:14px;background:transparent;color:#fff;border:1px solid transparent;padding:10px 14px;min-height:44px;cursor:pointer}
.research-dialog-close:hover{border-color:#fff;background:transparent;color:#fff}
.research-dialog-close:focus-visible{outline:none;border-color:#fff}
@media(max-width:1000px){
 .research-hero-grid,.research-context{gap:32px;grid-template-columns:1.6fr 1fr}
 .research-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 0}
 .research-step:nth-child(n+3){margin-top:24px}
 .research-step:nth-child(2){border-right:1px solid var(--line)}
 .research-step h3{min-height:0}
 .research-pair article{--pair-inset:20px}
 .research-project-grid article{padding-inline:20px}
 .research-project-grid h3{font-size:22px;min-height:3.45em}
 .research-next{gap:12px}
}
@media(min-width:480px) and (max-width:1000px){
 .research-step .research-detail-label>span{display:block;white-space:normal}
 .research-step .research-title-ending{text-transform:capitalize}
}
@media(max-width:850px){
 .research-step-description{display:none}
 .research-step{position:relative;padding-inline:0}
 .research-step-heading{margin-left:16px;width:calc(85% - 32px);padding-block:16px;min-height:94px;gap:27px}
 .research-detail-trigger{display:block;width:100%}
 .research-detail-label{min-width:0;overflow-wrap:anywhere}
 .research-step .research-detail-label>span{white-space:normal}
 .detail-action{position:absolute;inset:0 0 0 auto;width:15%;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff}
 .detail-chevron{flex:none}
 .research-security{position:relative;--security-action-width:7.5%;display:grid;grid-template-columns:38px minmax(0,1fr)}
 .research-approach .research-security{column-gap:27px;padding-left:17px}
 .research-security>svg{justify-self:center}
 .research-security .detail-action{width:var(--security-action-width)}
 .research-security>div{margin-right:calc(var(--security-action-width) + 12px)}
 .research-security>div{flex:1;min-width:0}
 .research-security{padding:20px}
 .research-security h3{font-size:22px}
}
@media(max-width:700px){
 .research-hero{padding-block:28px 36px}
 .research-hero-grid{grid-template-columns:1fr;gap:0}
 .research-hero h1{font-size:clamp(43px,10.8vw,70px)}
 .research-subtitle{font-size:23px;margin-top:20px}
 .research-opening{font-size:18px;max-width:560px}
 .research-art{width:min(64%,270px);margin-top:20px}
 .research-context{grid-template-columns:1fr;gap:24px;margin-top:24px;padding-top:24px}
 .research-context p:last-child{font-size:21px;max-width:500px}
 .research-band{padding-block:36px}
 .research-pair{grid-template-columns:1fr;row-gap:calc(28px + 1.5rem)}
 .research-pair article{--pair-inset:16px;padding-inline-end:0}
 .research-pair article:last-child{border-right:0}
 .research-pair h2{font-size:28px}
 .research-approach{padding-block:40px}
 .research-section-heading>p:last-child{font-size:18px}
 .research-step{padding-inline:0}
 .research-step h3{font-size:21px}
 .research-security{gap:16px}
 .research-security h3{font-size:20px}
 .research-project-grid{grid-template-columns:1fr;gap:26px}
 .research-project-grid article{padding-inline:0;border:0}
 .research-project-grid article:last-child{border-right:0}
 .research-project-grid article+article{border-top:1px solid #8b9ab0;padding-top:26px}
 .research-project-grid h3{font-size:25px;min-height:0}
 .research-next{padding-block:30px;gap:8px}
 .research-next .text-link{white-space:nowrap;padding-inline:8px;margin-inline:-8px;gap:6px}
 .research-next>.text-link:last-child{margin-left:auto}
}
@media(max-width:640px){
 .research-security{--security-action-width:15%}
 .research-approach .research-security{padding-left:16px}
 .research-steps{grid-template-columns:1fr;gap:24px}
 .research-step:nth-child(n+3){margin-top:0}
 .research-step{border:0;padding:0;border-bottom:1px solid var(--line)}
 .research-step:nth-child(2),.research-step:last-child{border-right:0}
}
@media(max-width:479px){
 .research-security{grid-template-columns:30px minmax(0,1fr)}
 .research-step-heading{grid-template-columns:30px minmax(0,1fr)}
 .research-symbol{width:30px;height:30px;margin-bottom:16px}
 .research-security{padding:20px 16px;margin-top:32px;gap:12px}
 .research-security>svg{width:26px}
 .research-dialog-header{padding:20px;gap:14px}
 .research-dialog p{padding:20px}
 .research-dialog-close{gap:10px;padding-inline:10px}
}
@media(max-width:359px){
 /* Give the labels more room without increasing or shrinking their type. */
 .research-step-heading{margin-left:8px;width:calc(85% - 16px);column-gap:12px}
 .research-approach .research-security{padding-left:8px;padding-right:calc(15% + 8px);column-gap:12px}
 .research-security>div{margin-right:0}
 .research-dialog-header{display:grid;grid-template-columns:1fr auto}
 .research-dialog h2{grid-column:1/-1;grid-row:2}
 .research-dialog-close{grid-column:2;grid-row:1}
}

.pillar-branch {
  display: block;
  width: 100%;
  max-width: 490px;
  height: auto;
  place-self: center;
  color: var(--navy);
}
/* The diagrams share their first row with the opening body copy. */
.research-hero > h1 { margin-top: 12px; }
.pillar-intro { margin-top: 20px; row-gap: 0; }
.pillar-intro .research-opening:first-child { margin-top: 0; }
.pillar-intro .pillar-branch { align-self: start; }
.research-hero .research-opening-wide { max-width: none; }
.applied-research .research-pair article:last-child { border-right: 0; }
.applied-research .research-project-grid h3 { min-height: 0; }
.applied-research .research-project-grid p { margin-top: 10px; }
.applied-research .research-step { border-inline-start: 1px solid var(--line); }
.applied-research .research-step:last-child { border-inline-end: 1px solid var(--line); }
@media (min-width: 641px) and (max-width: 1000px) {
  .applied-research .research-step:nth-child(2n) { border-inline-end: 1px solid var(--line); }
}
@media (max-width: 640px) {
  .applied-research .research-step { border-inline-end: 1px solid var(--line); }
  .research-next { flex-wrap: wrap; }
}
.pillar-branch { stroke-width: 4.5; }
.pillar-branch .side-trace { stroke: #6994bd; stroke-width: 4; }
.pillar-branch .idea-trace { stroke: var(--slate); stroke-width: 3; stroke-dasharray: .1 7; }
.pillar-branch .checkpoint { fill: var(--white); }
.pillar-branch .inverse-trace { stroke: var(--white); }
.pillar-branch .branch-label { fill: var(--slate); stroke: none; font: 600 16px Arial, sans-serif; }
@media (max-width: 700px) {
  .pillar-branch { margin-top: 20px; }
}

@media (max-width: 850px) {
  .detail-open { z-index: 2; }
  .detail-open .research-step-description {
    display: block;
    position: absolute;
    inset: 100% 0 auto;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--line);
    background: var(--white);
    color: var(--navy);
    box-shadow: 0 6px 16px #142a4a26;
  }
  .detail-open .detail-chevron { transform: rotate(180deg); }
}
