/* About visual narrative + curriculum vitae */
.about-story,.cv-page{--about-blue:var(--accent);max-width:1120px;margin:0 auto}.about-story h1,.about-story h2,.cv-page h1,.cv-page h2{font-family:"Space Grotesk",sans-serif;letter-spacing:-.035em}.about-story-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(2rem,7vw,7rem);align-items:center;min-height:72vh;padding:2rem 0 5rem}.about-story-copy h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;max-width:12ch;margin:.6rem 0 1.5rem}.about-story-copy h1 em{color:var(--about-blue);font-style:normal}.about-story-lead{font-size:clamp(1.05rem,1.5vw,1.24rem);line-height:1.72;max-width:42rem;color:var(--muted)}.about-story-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin:2rem 0 2.4rem}.about-text-link,.about-inline-cta{color:var(--text);font-weight:700;text-decoration:none}.about-text-link span,.about-inline-cta span{color:var(--about-blue)}.about-text-link:hover,.about-inline-cta:hover{color:var(--about-blue)}.about-proof-strip{list-style:none;display:flex;gap:0;margin:0;padding:0;border-top:1px solid var(--line);max-width:46rem}.about-proof-strip li{padding:1.15rem 1.4rem 0 0;margin-right:1.4rem;border-right:1px solid var(--line);display:flex;flex-direction:column}.about-proof-strip li:last-child{border:0}.about-proof-strip strong{font:700 1rem "Space Grotesk",sans-serif;color:var(--text)}.about-proof-strip span{font-size:.76rem;color:var(--muted);margin-top:.2rem}.about-portrait{margin:0}.about-portrait-frame{position:relative}.about-portrait-frame:before{content:"";position:absolute;inset:8% -8% -6% 18%;border:1px solid color-mix(in srgb,var(--about-blue) 50%,transparent);z-index:-1}.about-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;filter:saturate(.82) contrast(1.04)}.about-portrait-coordinate{position:absolute;left:-1px;bottom:-1px;padding:.65rem .8rem;background:var(--bg);color:var(--muted);font:600 .66rem "Space Grotesk",sans-serif;letter-spacing:.08em}.about-portrait figcaption{font-size:.72rem;color:var(--muted);margin-top:1rem;line-height:1.5}.about-story-nav{position:sticky;top:4.2rem;z-index:8;display:flex;align-items:center;gap:1.5rem;padding:1rem 1.2rem;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(14px);border-block:1px solid var(--line);overflow-x:auto}.about-story-nav span{margin-right:auto;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.about-story-nav a{color:var(--text);font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap}.about-story-nav a:hover{color:var(--about-blue)}.about-chapter{display:grid;grid-template-columns:150px 1fr;gap:clamp(2rem,7vw,6rem);padding:clamp(5rem,10vw,9rem) 0;border-bottom:1px solid var(--line);scroll-margin-top:7rem}.about-chapter-index span{font:700 2.3rem "Space Grotesk",sans-serif;color:var(--about-blue)}.about-chapter-index p{margin:.4rem 0;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em}.about-kicker{color:var(--about-blue);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.about-chapter-body>h2{font-size:clamp(2rem,4.5vw,4.4rem);line-height:1.05;max-width:15ch;margin:.75rem 0 2.5rem}.about-prose-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);color:var(--muted);font-size:1.02rem;line-height:1.8}.about-prose-columns p{margin:0}.about-equation{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:3.2rem;padding:1.5rem 0;border-block:1px solid var(--line);font:600 .86rem "Space Grotesk",sans-serif}.about-equation i{color:var(--about-blue);font-style:normal}.about-equation strong{color:var(--about-blue)}.about-path{position:relative}.about-path:before{content:"";position:absolute;top:0;bottom:0;left:5.4rem;width:1px;background:var(--line)}.about-path article{display:grid;grid-template-columns:6.8rem 1fr;position:relative;padding:0 0 2.6rem}.about-path article:before{content:"";position:absolute;left:5.15rem;top:.3rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--bg);border:2px solid var(--muted)}.about-path article.is-current:before{border-color:var(--about-blue);background:var(--about-blue);box-shadow:0 0 0 6px color-mix(in srgb,var(--about-blue) 14%,transparent)}.about-path time{font:700 .76rem "Space Grotesk",sans-serif;color:var(--muted)}.about-path small{color:var(--about-blue);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.about-path h3{font-size:1.28rem;margin:.2rem 0 .45rem}.about-path p{color:var(--muted);line-height:1.65;max-width:43rem;margin:0}.about-inline-cta{display:inline-block;margin-top:.5rem}.about-method-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.about-method-grid article{padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:220px}.about-method-grid span{font:700 .7rem "Space Grotesk",sans-serif;color:var(--about-blue)}.about-method-grid h3{font-size:1.22rem;margin:2.8rem 0 .6rem}.about-method-grid p{color:var(--muted);line-height:1.65;margin:0}.about-direction-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;padding:clamp(1.5rem,4vw,3.2rem);background:color-mix(in srgb,var(--about-blue) 7%,var(--surface));border-top:2px solid var(--about-blue)}.about-direction-panel p{font-size:1.08rem;line-height:1.75}.about-status{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--about-blue)}.about-status i{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--about-blue);margin-right:.45rem}.about-direction-panel dl{margin:0}.about-direction-panel dl div{padding:1rem 0;border-bottom:1px solid var(--line)}.about-direction-panel dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.about-direction-panel dd{margin:.3rem 0 0;font-weight:700}.about-closing{margin-top:4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.about-closing>p{color:var(--muted);max-width:28rem}.about-closing>div{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.cv-hero{display:grid;grid-template-columns:1fr 280px;gap:4rem;padding:3rem 0 5rem;border-bottom:1px solid var(--line)}.cv-hero h1{font-size:clamp(2.7rem,5.5vw,5.3rem);line-height:1.02;margin:.7rem 0 1.4rem}.cv-hero>div>p:last-child{color:var(--muted);font-size:1.08rem;max-width:40rem}.cv-hero aside{display:flex;flex-direction:column;gap:.55rem;align-self:end;padding-left:1.5rem;border-left:2px solid var(--about-blue);font-size:.86rem;color:var(--muted)}.cv-hero aside span:first-child{font-weight:800;color:var(--text)}.cv-hero a,.cv-page h3 a{color:var(--text);text-decoration-color:var(--about-blue);text-underline-offset:3px}.cv-nav{display:flex;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line);position:sticky;top:4.2rem;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);z-index:7;overflow:auto}.cv-nav a{white-space:nowrap;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}.cv-nav a:hover{color:var(--about-blue)}.cv-section{display:grid;grid-template-columns:170px 1fr;gap:3rem;padding:5rem 0;border-bottom:1px solid var(--line);scroll-margin-top:7rem}.cv-section>header span{font:700 .72rem "Space Grotesk",sans-serif;color:var(--about-blue)}.cv-section>header h2{font-size:1.55rem;margin:.45rem 0}.cv-list article{display:grid;grid-template-columns:165px 1fr;gap:2rem;padding:0 0 2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--line)}.cv-list article:last-child{border:0}.cv-list time,.cv-mini time{font:700 .7rem "Space Grotesk",sans-serif;color:var(--about-blue);text-transform:uppercase;letter-spacing:.06em}.cv-list h3,.cv-mini h3{margin:0 0 .3rem;font-size:1.12rem}.cv-list p,.cv-mini p{color:var(--muted);line-height:1.65;max-width:48rem}.cv-location{margin:.2rem 0 .8rem!important;font-size:.82rem}.cv-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.cv-mini{padding:1.3rem 0;border-bottom:1px solid var(--line)}.cv-mini h3{margin-top:.45rem;font-size:.96rem}.cv-mini p{font-size:.8rem;margin:.3rem 0}.cv-awards article{display:grid;grid-template-columns:70px 1fr;gap:1.4rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.cv-awards article>span{font:700 .8rem "Space Grotesk",sans-serif;color:var(--about-blue)}.cv-awards small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.cv-awards h3{font-size:1rem;margin:.3rem 0}.cv-service{margin-top:3rem}.cv-service>p:not(.column-title){color:var(--muted);line-height:1.6}.cv-footer{display:flex;align-items:center;gap:1rem;padding:4rem 0}.cv-footer p{margin-right:auto;color:var(--muted)}
@media(max-width:800px){.about-story-hero{grid-template-columns:1fr;min-height:auto;padding-top:1rem}.about-story-copy h1{font-size:clamp(2.8rem,13vw,4.5rem)}.about-portrait{max-width:500px;order:-1}.about-portrait img{aspect-ratio:4/3;object-position:center 22%}.about-story-nav{margin-inline:-1.2rem;padding-inline:1.2rem}.about-story-nav span{display:none}.about-chapter,.cv-section{grid-template-columns:1fr;gap:1.5rem}.about-chapter-index{display:flex;gap:.7rem;align-items:baseline}.about-chapter-index span{font-size:1.4rem}.about-prose-columns,.about-direction-panel{grid-template-columns:1fr}.about-method-grid{grid-template-columns:1fr}.about-method-grid article{min-height:auto}.about-method-grid h3{margin-top:1.5rem}.about-closing{align-items:flex-start;flex-direction:column}.cv-hero{grid-template-columns:1fr;gap:2rem}.cv-hero aside{align-self:auto}.cv-section{padding:4rem 0}.cv-section>header{display:flex;gap:.8rem;align-items:baseline}.cv-columns{grid-template-columns:1fr}.cv-list article{grid-template-columns:1fr;gap:.6rem}.cv-footer{align-items:flex-start;flex-wrap:wrap}.cv-footer p{width:100%}}
@media(max-width:520px){.about-proof-strip{overflow-x:auto}.about-proof-strip li{min-width:135px}.about-equation{align-items:flex-start;flex-direction:column}.about-equation i{transform:rotate(90deg);margin-left:1rem}.about-path:before{left:.25rem}.about-path article{grid-template-columns:1fr;padding-left:1.6rem}.about-path article:before{left:0}.about-path time{margin-bottom:.45rem}.about-chapter-body>h2{font-size:2.25rem}.about-direction-panel{margin-inline:-1.2rem}.cv-hero h1{font-size:2.65rem}}
@media(prefers-reduced-motion:reduce){.about-story *{scroll-behavior:auto!important}}
.cv-service{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.cv-service .column-title{margin:0 0 .75rem}
.cv-service article{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:1.4rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.cv-service article:last-child{border-bottom:0}
.cv-service h3{margin:0;font-size:.92rem;color:var(--text)}
.cv-service article p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.6;max-width:46rem}
@media(max-width:800px){.cv-service article{grid-template-columns:1fr;gap:.35rem}}

/* ── Mobile corrections ───────────────────────────────────
   The page is 94vw wide, so the gutter is about 11px on a phone. Two
   decorations were reaching past it and pushing the whole page sideways. */
@media(max-width:640px){
  /* The portrait's offset border sat 8% outside its own right edge. */
  .about-portrait-frame:before{inset:6% 0 -4% 8%}
  /* The direction panel pulled 1.2rem wider than the page on each side. */
  .about-direction-panel{margin-inline:0}
  /* Give the scrolling strips an edge that shows they move. */
  .about-proof-strip{-webkit-overflow-scrolling:touch}
  .about-story-nav{gap:1.1rem}
}
@media(max-width:420px){
  .about-story-copy h1{font-size:clamp(2.4rem,11vw,3.4rem)}
  .about-equation{font-size:.8rem}
  .about-method-grid article{padding:1.4rem}
  .about-chapter-body>h2{font-size:1.9rem}
}
