/* Credentials and technical scope lead the illustrated portfolio. */
body { font-weight:400; }
.wordmark { text-transform:none; font-family:'DM Sans',sans-serif; font-size:16px; font-weight:500; letter-spacing:-.3px; }
.hero-title,.display-title,.career-panel h3,.index-links .index-title { font-family:'Manrope','Helvetica Neue',sans-serif; font-weight:500; letter-spacing:-.045em; }
.hero-title { font-size:clamp(44px,5.3vw,76px); line-height:1.04; }
.title-band { padding-bottom:.08em; }
.title-band:nth-child(2) { color:var(--ink); }
.intro-content { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:6%; align-items:start; padding:34px 7% 70px; }
.intro-profile { min-width:0; max-width:580px; }
.intro .chapter-kicker { font-family:ui-monospace,SFMono-Regular,monospace; font-size:9px; line-height:1.6; letter-spacing:.5px; margin-bottom:22px; color:#3d696b; }
.intro-role { font-size:clamp(14px,1.15vw,17px); line-height:1.55; max-width:455px; margin:18px 0 2px; font-weight:500; }
.intro-company { font-size:13px; color:var(--muted); margin:0 0 20px; }
.intro-qualification { border-left:2px solid #547779; padding-left:14px; font-size:11px; line-height:1.7; max-width:455px; }
.intro-qualification strong { display:block; font-weight:500; font-size:12px; }
.intro .intro-description { font-size:12px; line-height:1.8; max-width:400px; margin:20px 0; }
.intro-actions { gap:24px; }
.intro-actions .text-button { font-size:11px; }
.intro .scroll-invitation { margin-top:18px; font-size:7px; letter-spacing:1.2px; }
.intro-practice { margin-top:66px; border-top:2px solid var(--ink); border-bottom:1px solid var(--line); background:#f0eee3eb; padding:19px 22px 0; }
.practice-label { font:9px/1.5 ui-monospace,SFMono-Regular,monospace; letter-spacing:.7px; margin:0 0 18px; color:var(--muted); }
.practice-row { width:100%; display:flex; align-items:center; gap:14px; padding:19px 0; border-top:1px solid var(--line); text-align:left; }
.practice-row>span:nth-child(2) { flex:1; }
.practice-number { color:#637e7c; font:9px ui-monospace,SFMono-Regular,monospace; align-self:flex-start; padding-top:5px; }
.practice-row strong { display:block; font-size:16px; font-weight:500; letter-spacing:-.4px; }
.practice-row small { display:block; font-size:10px; line-height:1.65; color:var(--muted); margin-top:6px; }
.practice-row .ui-chevron { width:13px; height:13px; }
.practice-row:hover { color:#995f4b; }
.practice-scope { border-top:1px solid var(--line); margin:0; padding:17px 0; font-size:10px; line-height:1.75; color:var(--ink); }
.intro { isolation:isolate; }
.intro::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f0eee3ed 0%,#f0eee3d9 40%,#f0eee300 69%); z-index:-1; pointer-events:none; }
.eyebrow,.journey-caption,.chapter-kicker { letter-spacing:1.2px; }
.story-copy .display-title { line-height:1.15; }
.career-panel h3 { font-size:26px; line-height:1.25; }
.story-lead { line-height:1.8; }
.selection-mark { font-family:ui-monospace,SFMono-Regular,monospace; font-size:16px; }
@media (min-width:1300px) { .intro-practice { margin-top:82px; max-width:400px; justify-self:end; width:100%; }.intro-content { padding-left:9%; padding-right:9%; } }
@media (max-width:1050px) and (min-width:761px) { .intro-content { gap:5%; grid-template-columns:minmax(0,1.15fr) minmax(255px,.85fr); }.hero-title { font-size:44px; }.intro-practice { padding-left:16px; padding-right:16px; }.practice-row { gap:10px; }.practice-row strong { font-size:14px; }.intro-role { font-size:14px; } }
@media (max-width:760px) {
  .wordmark { font-size:14px; }
  .intro-content { display:block; padding:0; }
  .intro { padding-top:18px; }
  .intro::before { display:none; }
  .intro .chapter-kicker { font-size:8px; margin-bottom:16px; letter-spacing:.1px; }
  .hero-title { font-size:clamp(35px,10vw,48px); line-height:1.02; }
  .intro-role { font-size:13px; margin-top:14px; }
  .intro-company { font-size:11px; margin-bottom:15px; }
  .intro-qualification { font-size:10px; padding-left:11px; }
  .intro-qualification strong { font-size:11px; }
  .intro .intro-description { font-size:11px; margin:16px 0; }
  .intro-practice { margin-top:32px; padding:15px 16px 0; }
  .practice-row { padding:16px 0; }
  .practice-row strong { font-size:15px; }
  .intro .scroll-invitation { margin-top:16px; }
  .story-copy .display-title { font-size:33px; }
}
@media (max-height:740px) and (min-width:761px) { .intro-content { padding-top:8px; }.hero-title { font-size:46px; }.intro-role { margin-top:12px; }.intro .chapter-kicker { margin-bottom:16px; }.intro .intro-description { margin:14px 0; }.intro-practice { margin-top:47px; } }
