.home-hero { position: relative; overflow: hidden; padding-block: clamp(4rem, 8vw, 7rem) clamp(3rem, 6vw, 5rem); }
.home-hero::after { position: absolute; top: -180px; right: -230px; width: 520px; height: 520px; border: 1px solid rgba(47,107,238,.18); border-radius: 50%; box-shadow: 0 0 0 64px rgba(47,107,238,.045), 0 0 0 128px rgba(244,180,0,.035); content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(2.5rem,7vw,6rem); }
.hero-copy h1 { max-width: 760px; margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: clamp(3.7rem,7vw,7.2rem); font-weight: 400; letter-spacing: -.045em; line-height: .97; }
.hero-copy h1 em { color: var(--color-blue); font-style: normal; }
.hero-copy .lede { max-width: 670px; margin: 1.8rem 0 2rem; color: #344654; font-size: clamp(1.05rem,1.8vw,1.3rem); }
.hero-visual picture img { width: 100%; max-height: 620px; border-radius: var(--radius-large); object-fit: cover; object-position: 50% 30%; }

.proof-strip { border-block: 1px solid var(--color-line); }
.proof-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.proof-grid p { margin: 0; padding: 1.6rem 2rem; border-right: 1px solid var(--color-line); }
.proof-grid p:first-child { padding-left: 0; }
.proof-grid p:last-child { border-right: 0; }
.proof-grid strong,.proof-grid span { display: block; }
.proof-grid strong { color: var(--color-navy); font-family: var(--font-serif); font-size: 1.55rem; font-weight: 400; line-height: 1.15; }
.proof-grid span { margin-top: .2rem; color: var(--color-muted); font-size: .8rem; line-height: 1.45; }

.wide-heading,.builder-heading { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.75fr); align-items: end; gap: clamp(2rem,7vw,7rem); }
.wide-heading h2,.builder-heading h2 { max-width: 760px; margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: clamp(3rem,5.6vw,5.3rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.wide-heading > p,.builder-heading > div:last-child p { margin: 0; color: var(--color-muted); font-size: 1.04rem; }

.bring-section { background: var(--color-paper); }
.bring-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem,8vw,8rem); align-items: center; }
.bring-intro { padding-right: clamp(1rem,4vw,4rem); border-right: 1px solid var(--color-line); }
.bring-intro h2 { max-width: 470px; margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: clamp(3.2rem,5.5vw,5.5rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.heading-rule { display: block; width: 34px; height: 3px; margin-top: 1.8rem; background: var(--color-blue); }
.bring-lede { max-width: 760px; margin: 0 0 2.4rem; color: #24415a; font-size: 1.06rem; }
.bring-pillars { display: grid; grid-template-columns: repeat(3,1fr); }
.bring-pillars article { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding-inline: 1.5rem; border-left: 1px solid var(--color-line); }
.bring-pillars article:first-child { padding-left: 0; border-left: 0; }
.pillar-icon { color: var(--color-blue); font-size: 1.8rem; line-height: 1; }
.bring-pillars h3 { margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: 1.55rem; font-weight: 400; line-height: 1; }
.bring-pillars p { margin: .55rem 0 0; color: var(--color-muted); font-size: .8rem; line-height: 1.45; }

.home-paths { background: var(--color-white); }
.paths-heading { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(330px,.72fr); align-items: end; gap: clamp(2rem,7vw,7rem); margin-bottom: clamp(2.5rem,5vw,4rem); }
.paths-heading h2 { max-width: 780px; margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: clamp(3rem,5.6vw,5.3rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.paths-heading > p { margin: 0; color: var(--color-muted); font-size: 1.04rem; }
.path-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.25rem; }
.path-card { position: relative; display: flex; min-height: 500px; flex-direction: column; align-items: flex-start; padding: clamp(2rem,4vw,3.5rem); border: 1px solid var(--color-line); border-radius: var(--radius-medium); text-decoration: none; transition: transform .2s ease,box-shadow .2s ease; }
.path-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-soft); }
.path-meta { display: flex; width: 100%; justify-content: space-between; padding-bottom: 1.2rem; border-bottom: 1px solid currentColor; font-size: .65rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; opacity: .78; }
.path-card h3 { max-width: 600px; margin: 2.2rem 0 1rem; font-family: var(--font-serif); font-size: clamp(2.5rem,4vw,4.3rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.path-card > p { max-width: 590px; margin: 0; }
.path-card ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2rem 0; padding: 0; list-style: none; }
.path-card li { padding: .35rem .65rem; border: 1px solid currentColor; border-radius: 999px; font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; opacity: .72; }
.path-card > strong { margin-top: auto; font-size: .82rem; }
.corporate-path { background: var(--color-navy); color: var(--color-white); }
.corporate-path > p { color: #c7d3dc; }
.projects-path { background: var(--color-paper); color: var(--color-navy); }
.projects-path > p { color: var(--color-muted); }

.selected-work { background: var(--color-white); }
.project-grid { display: grid; grid-template-columns: 1.22fr .78fr; grid-template-rows: 1fr 1fr; gap: 1.3rem; }
.project-card { position: relative; overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-medium); text-decoration: none; transition: transform .2s ease,box-shadow .2s ease; }
.project-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-soft); }
.project-card h3 { margin: 1rem 0 .7rem; font-family: var(--font-serif); font-size: clamp(1.8rem,3vw,2.85rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.02; }
.project-card p { margin: 0; color: var(--color-muted); }
.card-number { color: var(--color-blue); font-size: .68rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.project-featured { grid-row: span 2; display: flex; min-height: 680px; flex-direction: column; justify-content: space-between; background: var(--color-navy); color: var(--color-white); }
.work-visual { position: relative; display: grid; grid-template-columns: repeat(3,1fr); align-items: end; min-height: 300px; padding: 2.2rem; border-bottom: 1px solid rgba(255,255,255,.14); background: #102f4b; }
.work-visual::before { position: absolute; right: 7%; bottom: 4.15rem; left: 7%; height: 1px; background: rgba(255,255,255,.2); content: ""; }
.work-visual span { position: relative; z-index: 1; color: #d6e3ed; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.work-visual i { position: absolute; bottom: 4.2rem; width: 11px; border-radius: 10px 10px 0 0; background: var(--color-yellow); }
.work-visual i:nth-of-type(1) { left: 35%; height: 52px; }.work-visual i:nth-of-type(2) { left: 39%; height: 92px; }.work-visual i:nth-of-type(3) { left: 43%; height: 134px; background: var(--color-blue); }
.project-copy { padding: clamp(1.6rem,4vw,2.6rem); }
.project-featured .card-number { color: var(--color-yellow); }
.project-featured p { color: #c7d3dc; }
.tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.tags span { padding: .32rem .62rem; border: 1px solid currentColor; border-radius: 999px; font-size: .62rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; opacity: .78; }
.project-secondary { min-height: 310px; padding: clamp(1.5rem,3vw,2.2rem); background: var(--color-paper); }
.yellow-corner::after { position: absolute; right: -28px; bottom: -28px; width: 92px; height: 92px; border-radius: 50%; background: var(--color-yellow); content: ""; }
.card-link { position: absolute; bottom: 1.8rem; left: 2.2rem; color: var(--color-blue); font-size: .75rem; font-weight: 850; }

.builder-preview { background: var(--color-ink); color: var(--color-white); }
.builder-heading h2 { color: var(--color-white); }
.builder-heading .eyebrow { color: var(--color-yellow); }
.builder-heading > div:last-child p { color: #b9c8d4; }
.builder-heading a { display: inline-block; margin-top: 1rem; color: var(--color-yellow); font-weight: 800; text-underline-offset: 4px; }
.builder-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.builder-card { position: relative; display: flex; min-height: 370px; flex-direction: column; justify-content: space-between; padding: 1.6rem; border: 1px solid rgba(255,255,255,.18); border-top: 4px solid var(--color-blue); border-radius: var(--radius-medium); background: #0f304b; color: var(--color-white); text-decoration: none; transition: transform .2s ease,border-color .2s ease; }
.builder-card:hover { transform: translateY(-5px); border-color: var(--color-yellow); }
.builder-card-top { display: flex; justify-content: space-between; color: #aebfcb; font-size: .64rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.builder-card h3 { margin: 0 0 .7rem; font-family: var(--font-serif); font-size: clamp(2.2rem,3.3vw,3.5rem); font-weight: 400; letter-spacing: -.035em; line-height: .99; }
.builder-card p { max-width: 290px; margin: 0; color: #cfdae2; font-size: .9rem; }
.builder-mark { display: flex; min-height: 108px; align-items: center; gap: .7rem; margin-block: 1.25rem; padding-block: 1.25rem; border-block: 1px solid rgba(255,255,255,.12); }
.builder-mark strong { color: var(--color-white); font-size: clamp(1.25rem,2vw,1.8rem); letter-spacing: -.04em; }
.builder-mark strong span { color: #31bf72; }
.builder-mark i { display: grid; width: 42px; height: 42px; flex: none; place-items: center; border: 1px solid #56c5d4; border-radius: 50%; color: #56c5d4; font-family: var(--font-serif); font-size: .9rem; font-style: normal; }
.builder-arrow { position: absolute; right: 1.5rem; bottom: 1.4rem; font-size: 1.6rem; }
.chance-card { border-top-color: #31bf72; }
.race-card { border-top-color: #4b86ee; }
.dad-card { border-top-color: #56c5d4; }

.experience-section { background: #edf5f9; }
.experience-layout { display: grid; grid-template-columns: 300px 1fr; gap: clamp(3rem,7vw,7rem); align-items: start; }
.experience-intro { position: sticky; top: 120px; }
.experience-intro h2 { margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: clamp(2.8rem,4vw,4.2rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.experience-timeline { position: relative; }
.experience-timeline::before { position: absolute; top: .7rem; bottom: .7rem; left: 6px; width: 1px; background: var(--color-blue); content: ""; }
.experience-row { position: relative; display: grid; grid-template-columns: 90px minmax(220px,.8fr) minmax(280px,1fr); gap: clamp(1.2rem,3vw,2.5rem); padding: 0 0 2rem 38px; }
.experience-row:last-child { padding-bottom: 0; }
.timeline-marker { position: absolute; top: .5rem; left: 0; width: 13px; height: 13px; border: 1px solid var(--color-blue); border-radius: 50%; background: #edf5f9; }
.timeline-marker.is-current { background: var(--color-navy); }
.experience-years { margin: 0; color: #31506a; font-size: .76rem; white-space: nowrap; }
.experience-role h3 { margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: 1.25rem; font-weight: 400; line-height: 1.15; }
.experience-role p,.experience-summary { margin: .2rem 0 0; color: #31506a; font-size: .78rem; line-height: 1.45; }
.experience-summary { padding-left: 1.7rem; border-left: 1px solid rgba(47,107,238,.3); }

.process-section { background: var(--color-white); }
.process-header { max-width: 900px; margin-bottom: 3rem; }
.process-header h2 { margin: 0; color: var(--color-navy); font-family: var(--font-serif); font-size: clamp(3.1rem,5vw,5rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.process-header > p:last-child { margin: 1.25rem 0 0; color: var(--color-muted); font-size: 1.04rem; }
.process-path { display: grid; grid-template-columns: repeat(5,1fr); margin: 0; padding: 0; list-style: none; }
.process-path li { position: relative; min-width: 0; padding-right: 1.5rem; }
.process-path li::before { position: absolute; top: 1rem; right: 1.8rem; left: 4rem; height: 1px; background: #89a8c3; content: ""; }
.process-path li:not(:last-child)::after { position: absolute; top: .42rem; right: .65rem; color: var(--color-blue); content: "→"; font-size: 1.3rem; }
.process-path span { display: inline-block; position: relative; z-index: 1; padding-right: 1rem; background: var(--color-white); color: #86a8c2; font-family: var(--font-serif); font-size: 2.2rem; line-height: 1; }
.process-path h3 { min-height: 2.5em; margin: 1rem 0 .65rem; color: var(--color-navy); font-family: var(--font-serif); font-size: 1.45rem; font-weight: 400; line-height: 1.05; }
.process-path p { margin: 0; color: var(--color-muted); font-size: .8rem; line-height: 1.5; }

.leadership-band { display: grid; grid-template-columns: .95fr 1.05fr; min-height: 570px; }
.leadership-photo img { width: 100%; height: 100%; object-fit: cover; }
.leadership-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem,7vw,7rem); background: var(--color-yellow); color: var(--color-navy); }
.leadership-copy .eyebrow { color: var(--color-navy); }
.leadership-copy h2 { margin: 0; font-family: var(--font-serif); font-size: clamp(2.9rem,5vw,5rem); font-weight: 400; letter-spacing: -.05em; line-height: .96; }
.leadership-copy p:not(.eyebrow) { max-width: 600px; }

@media (max-width: 1100px) {
  .bring-grid,.experience-layout { grid-template-columns: 1fr; }
  .bring-intro { padding-right: 0; border-right: 0; }
  .experience-intro { position: static; max-width: 680px; }
  .process-path { grid-template-columns: repeat(2,1fr); gap: 2.5rem 1rem; }
  .process-path li:last-child { grid-column: 1 / -1; max-width: 50%; }
}
@media (max-width: 900px) {
  .hero-grid,.wide-heading,.builder-heading,.paths-heading { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .hero-visual { max-width: 720px; }
  .hero-visual picture img { aspect-ratio: 4/3; max-height: none; object-position: 50% 22%; }
  .project-grid,.builder-grid,.path-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .project-featured { grid-row: auto; min-height: 610px; }
  .project-secondary { min-height: 270px; }
  .builder-card { min-height: 280px; }
  .path-card { min-height: 430px; }
  .experience-row { grid-template-columns: 90px 1fr; }
  .experience-summary { grid-column: 2; padding-left: 0; border-left: 0; }
  .leadership-band { grid-template-columns: 1fr; }
  .leadership-photo { height: 430px; }
}
@media (max-width: 700px) {
  .bring-pillars { grid-template-columns: 1fr; gap: 1.5rem; }
  .bring-pillars article,.bring-pillars article:first-child { padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--color-line); }
  .proof-grid { grid-template-columns: 1fr; }
  .proof-grid p,.proof-grid p:first-child { padding: 1.2rem 0; border-right: 0; border-bottom: 1px solid var(--color-line); }
  .proof-grid p:last-child { border-bottom: 0; }
  .experience-row { grid-template-columns: 1fr; padding-left: 32px; }
  .experience-summary { grid-column: 1; }
  .process-path { grid-template-columns: 1fr; gap: 2rem; }
  .process-path li:last-child { grid-column: auto; max-width: none; }
  .process-path li::before { right: 1.8rem; }
  .leadership-photo { height: 320px; }
}
@media (max-width: 500px) {
  .home-hero::after { width: 360px; height: 360px; }
  .hero-copy h1 { font-size: clamp(3.25rem,15vw,5rem); }
  .hero-visual picture img { aspect-ratio: 1/1.08; }
  .work-visual { min-height: 230px; }
  .project-featured { min-height: 560px; }
  .card-link { left: 1.5rem; }
}
