
.approach-timeline{font-family:inherit;background:#090e18;color:#f1f5fc;padding:64px 6% 40px;box-sizing:border-box;position:relative;isolation:isolate;overflow:hidden}
.approach-timeline{padding-top:80px;padding-bottom:56px}
.approach-timeline header h2{font-size:clamp(32px,5vw,46px);line-height:1.12;letter-spacing:-1.6px;font-weight:400;margin:0 0 20px}
.approach-timeline header p{font-size:15px;line-height:1.65;color:#a7b6cc;max-width:49ch;margin:0}
.approach-timeline .timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:48px -2% 0}
.approach-timeline .step{position:relative;appearance:none;border:0;background:transparent;color:#92a1b9;font:inherit;min-width:0;padding:0 3px 20px;display:flex;flex-direction:column;align-items:center;gap:18px}
.approach-timeline .step:before{content:'';position:absolute;left:0;right:0;height:1px;background:#29364d;z-index:-1}
.approach-timeline .step:first-child:before{left:50%}.approach-timeline .step:last-child:before{right:50%}
.approach-timeline .number{display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:1px;}
.approach-timeline .node{height:7px;width:7px;box-sizing:border-box;border:1px solid #607696;border-radius:50%;background:#090e18;transition:background .4s,box-shadow .4s,border-color .4s}
.approach-timeline .label{font-size:13px;line-height:1.45;text-align:center;overflow-wrap:anywhere;transition:color .35s}
.approach-timeline .selected .node{background:#a0c2ff;border-color:#a0c2ff;box-shadow:0 0 16px #2563ff55}
.approach-timeline .selected .label,.approach-timeline .selected .number{color:#edf4ff}
.approach-timeline .step:hover .label{color:#edf4ff}
.approach-timeline .detail{display:flex;align-items:flex-start;gap:28px;border-top:1px solid #263147;padding-top:30px;margin-top:25px;min-height:145px}
.approach-timeline .detail-number{font-size:42px;line-height:1.15;font-weight:400;color:#55729e;letter-spacing:-2px;min-width:50px}
.approach-timeline .detail-copy{max-width:600px;flex:1;min-width:0}
.approach-timeline .detail h3{font-size:24px;line-height:1.25;font-weight:400;letter-spacing:-.6px;margin:0 0 14px}
.approach-timeline .detail p{font-size:15px;line-height:1.7;color:#acbad0;margin:0;max-width:62ch}
.approach-timeline .signature{margin-left:auto;text-align:right;color:#70819c;font-size:11px;line-height:1.8;padding-top:3px}
@media(prefers-reduced-motion:reduce){.approach-timeline .step *{transition:none}}

.approach-timeline{padding-left:var(--gutter);padding-right:var(--gutter);scroll-margin-top:100px}
.approach-timeline .number svg{width:24px;height:24px;display:block}.approach-timeline .detail-number svg{width:38px;height:38px;display:block}.approach-timeline .step{scroll-margin-top:130px;cursor:pointer}.approach-timeline .detail[hidden]{display:none}.approach-timeline .timeline-panels{min-height:210px}.approach-timeline .step:focus-visible{outline:2px solid #9ec5ff;outline-offset:4px;border-radius:6px}.approach-timeline .timeline{margin-left:0;margin-right:0}
.approach-timeline .timeline-panels{position:relative;touch-action:pan-y}
.approach-timeline .number{width:48px;height:48px;box-sizing:border-box;border:1px solid #435779;border-radius:50%;background:#090e18;color:#9fb4d2;transition:background-color .4s,border-color .4s,color .4s,box-shadow .4s}
.approach-timeline .step:before{top:24px}
.approach-timeline .node{display:none}
.approach-timeline .selected .number{background:#2563ff;border-color:#2563ff;color:#fff;box-shadow:0 0 22px #2563ff26,inset 0 1px 0 #ffffff26}
@media(max-width:760px){
 .approach-timeline{padding-top:56px;padding-bottom:40px}
 .approach-timeline header h2{font-size:clamp(30px,6.5vw,40px);margin-top:0;margin-bottom:18px;letter-spacing:-1px}
 .approach-timeline header p{max-width:48ch;line-height:1.65}
 .approach-timeline .timeline{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px;margin-top:32px}
 .approach-timeline .step{gap:10px;padding:0 4px 12px;min-height:90px}
 .approach-timeline .number{width:44px;height:44px}
 .approach-timeline .step:before{top:22px}
 .approach-timeline .step:nth-child(3):before{right:50%}
 .approach-timeline .step:nth-child(4):before{left:50%}
 .approach-timeline .label{font-size:13px;min-height:38px;display:flex;align-items:flex-start;justify-content:center;overflow-wrap:anywhere;hyphens:auto}
 .approach-timeline .detail{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:14px;row-gap:12px;margin-top:14px;padding-top:24px;min-height:0}
 .approach-timeline .detail-number{min-width:0;grid-column:1;grid-row:1;padding-top:1px;font-size:28px;line-height:1.2;letter-spacing:-1px}
 .approach-timeline .detail-number svg{width:28px;height:28px}
 .approach-timeline .detail-copy{display:contents}
 .approach-timeline .detail h3{grid-column:2;grid-row:1;font-size:22px;line-height:1.3;margin:0;align-self:center}
 .approach-timeline .detail p{grid-column:1 / -1;max-width:48ch;font-size:15px;line-height:1.65}
 .approach-timeline .signature{display:none}
 .approach-timeline .timeline-panels{min-height:190px}
}
