:root { --ink:#0a0a0a; --paper:#f0eee8; --paper-2:#e6e2d8; --white:#f9f8f4; --accent:#6d5dfc; --line:rgba(10,10,10,.18); --line-light:rgba(255,255,255,.18); --pad:clamp(1.25rem,4vw,4.5rem); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
i,em { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.skip-link { position:fixed; z-index:100; left:1rem; top:-4rem; background:var(--white); padding:.75rem 1rem; }
.skip-link:focus { top:1rem; }
.site-header { position:fixed; z-index:20; inset:0 0 auto; min-height:70px; padding:0 var(--pad); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:var(--white); mix-blend-mode:difference; }
.monogram { font-family:"Manrope",sans-serif; font-weight:700; letter-spacing:-.08em; font-size:1.35rem; }
.monogram span { color:var(--accent); }
.site-header nav { display:flex; gap:clamp(1.2rem,3vw,3rem); font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; }
.site-header nav a,.header-cta { transition:opacity .2s ease; }
.site-header nav a:hover,.header-cta:hover { opacity:.58; }
.header-cta { justify-self:end; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; }

.hero { min-height:100svh; background:var(--ink); color:var(--white); padding:8rem var(--pad) 2.2rem; display:grid; grid-template-rows:auto 1fr auto; position:relative; isolation:isolate; overflow:hidden; }
.hero-kicker,.hero-footer { display:flex; align-items:flex-start; justify-content:space-between; text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; }
.hero-title { margin:clamp(2.5rem,6vh,5rem) 0; max-width:68rem; align-self:center; font-family:"Manrope",sans-serif; font-size:clamp(2.4rem,4.4vw,4.8rem); line-height:1.08; letter-spacing:-.045em; font-weight:500; position:relative; z-index:2; }
.hero-title em { color:var(--accent); }
.hero-footer { align-items:end; }
.hero-footer>p { max-width:30rem; line-height:1.55; text-transform:none; letter-spacing:0; font-size:clamp(.95rem,1.4vw,1.2rem); }
.circle-link { width:6rem; height:6rem; border:1px solid rgba(255,255,255,.4); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem; font-size:.7rem; text-transform:uppercase; transition:background .25s ease,color .25s ease; }
.circle-link b { font-size:1.2rem; font-weight:400; }
.circle-link:hover { background:var(--white); color:var(--ink); }
.statement { padding:clamp(6rem,13vw,11rem) var(--pad); }
.section-label { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; display:flex; gap:1.2rem; align-items:center; margin:0 0 clamp(3rem,7vw,6rem); }
.section-label span { color:var(--accent); }
.section-label.light { color:rgba(255,255,255,.7); }
.statement-title,.career-head h2,.proof-title-wrap h2,.perspective h2,.about h2,.contact h2 { font-family:"Manrope",sans-serif; letter-spacing:-.06em; font-weight:500; }
.statement-title { max-width:72rem; font-size:clamp(3.25rem,7.5vw,8rem); line-height:.96; margin:0; }
.statement-title i { color:var(--accent); }
.statement-grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; margin:clamp(4rem,8vw,8rem) 0 0 30%; border-top:1px solid var(--line); padding-top:2rem; }
.statement-grid p { font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.65; margin:0; }
.statement-grid .lede { font-size:clamp(1.35rem,2.1vw,2rem); line-height:1.35; letter-spacing:-.025em; }

.metrics { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.metric { padding:clamp(2rem,4vw,4rem) var(--pad); min-height:17rem; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line); }
.metric:last-child { border-right:0; }
.metric-value { font-family:"Manrope",sans-serif; font-weight:500; letter-spacing:-.07em; font-size:clamp(3.2rem,6vw,6rem); }
.metric p { max-width:13rem; line-height:1.45; margin:2rem 0 0; font-size:.9rem; }

.career,.perspective,.contact { background:var(--ink); color:var(--white); padding:clamp(6rem,11vw,10rem) var(--pad); }
.career-head { display:grid; grid-template-columns:1fr 2fr; gap:6vw; align-items:end; margin-bottom:clamp(4rem,8vw,7rem); }
.career-head .section-label { margin:0; align-self:start; }
.career-head h2 { font-size:clamp(3.2rem,6vw,6.5rem); line-height:.96; margin:0; }
.career-head h2 i { color:#aaa39a; }
.career-list { border-top:1px solid var(--line-light); }
.career-row { display:grid; grid-template-columns:1fr 1.15fr 1.35fr; gap:3vw; padding:2.2rem 0; border-bottom:1px solid var(--line-light); align-items:start; transition:color .25s ease,padding .25s ease; }
.career-row:hover { color:#cbc5ff; padding-left:.6rem; }
.career-year { color:rgba(255,255,255,.55); font-size:.78rem; letter-spacing:.08em; }
.career-row h3 { margin:0; font-family:"Manrope",sans-serif; font-size:clamp(1.4rem,2.4vw,2.2rem); letter-spacing:-.04em; font-weight:500; }
.career-row p { margin:.4rem 0 0; color:rgba(255,255,255,.62); line-height:1.55; font-size:.92rem; }

.proof { padding:clamp(6rem,11vw,10rem) var(--pad); }
.proof-layout { display:grid; grid-template-columns:.95fr 1.35fr; gap:9vw; }
.proof-title-wrap { position:sticky; top:9rem; height:fit-content; }
.proof-title-wrap h2 { font-size:clamp(3rem,5vw,5.6rem); line-height:.95; margin:0 0 2rem; }
.proof-title-wrap h2 i { color:var(--accent); }
.proof-title-wrap>p { max-width:28rem; font-size:1.05rem; line-height:1.65; }
.proof-cards { border-top:1px solid var(--line); }
.proof-card { padding:2.5rem 0 4rem; border-bottom:1px solid var(--line); }
.proof-card>span { color:var(--accent); font-size:.72rem; }
.proof-card h3 { font-family:"Manrope",sans-serif; font-weight:500; letter-spacing:-.045em; font-size:clamp(2.2rem,4.3vw,4.7rem); line-height:1; margin:2rem 0; }
.proof-card p { max-width:33rem; line-height:1.6; color:rgba(10,10,10,.7); }

.perspective { display:grid; grid-template-columns:1.35fr .65fr; gap:8vw; }
.perspective .section-label { margin-bottom:6rem; }
.perspective h2 { font-size:clamp(3.5rem,7vw,7.8rem); line-height:.93; margin:0; max-width:56rem; }
.perspective-note { align-self:end; border-top:1px solid var(--line-light); padding-top:2rem; }
.perspective-note p { font-size:clamp(1.05rem,1.6vw,1.4rem); line-height:1.55; color:rgba(255,255,255,.72); }
.perspective-note p:last-child { color:var(--white); }
.perspective-topics { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.75rem; margin-top:5rem; }
.perspective-topics span { border:1px solid var(--line-light); border-radius:999px; padding:.8rem 1.2rem; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }

.about { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(3rem,9vw,10rem); padding:clamp(6rem,11vw,10rem) var(--pad); align-items:center; }
.portrait-card { position:relative; background:transparent; border:0; overflow:visible; display:flex; align-items:center; justify-content:center; }
.portrait-card::before,.portrait-monogram,.portrait-caption { display:none; }
.portrait-card img { width:100%; height:auto; object-fit:contain; object-position:center; }
.about .section-label { margin-bottom:4rem; }
.about h2 { font-size:clamp(3.1rem,5vw,5.8rem); line-height:.95; margin:0 0 3rem; }
.about h2 i { color:var(--accent); }
.about-copy>p:not(.section-label) { max-width:40rem; font-size:1.05rem; line-height:1.7; color:rgba(10,10,10,.7); }
.about-copy .about-lede { color:var(--ink)!important; font-size:clamp(1.35rem,2vw,1.8rem)!important; line-height:1.45!important; }
.text-link { display:inline-flex; gap:1rem; border-bottom:1px solid var(--ink); padding-bottom:.45rem; margin-top:1.5rem; text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; }

.contact { min-height:82svh; display:flex; flex-direction:column; }
.contact .section-label { margin-bottom:auto; }
.contact h2 { font-size:clamp(4.2rem,10vw,11rem); line-height:.82; max-width:76rem; margin:6rem 0; }
.contact-row { display:flex; justify-content:flex-end; align-items:end; padding-bottom:4rem; border-bottom:1px solid var(--line-light); }
.contact-row p { max-width:30rem; color:rgba(255,255,255,.67); line-height:1.6; }
.contact-row a { justify-self:end; font-size:clamp(1.3rem,2.2vw,2.1rem); border-bottom:1px solid var(--white); padding-bottom:.5rem; }
.contact footer { display:grid; grid-template-columns:1fr 1fr 1fr; padding-top:1.5rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.55); }
.contact footer span:nth-child(2) { text-align:center; }
.contact footer span:last-child { text-align:right; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }

@media (max-width:900px) {
  .site-header { grid-template-columns:1fr auto; }
  .site-header nav { display:none; }
  .hero { padding-top:7rem; }
  .hero-title { font-size:clamp(2.15rem,7.2vw,4.1rem); line-height:1.08; }
  .statement-grid { margin-left:10%; }
  .metrics { grid-template-columns:1fr 1fr; }
  .metric:nth-child(2) { border-right:0; }
  .metric:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .career-head,.proof-layout,.perspective,.about { grid-template-columns:1fr; }
  .career-head { align-items:start; }
  .career-head .section-label { margin-bottom:3rem; }
  .proof-title-wrap { position:static; margin-bottom:3rem; }
  .perspective-note { margin-top:2rem; }
  .portrait-card { max-width:38rem; }
}
@media (max-width:620px) {
  .hero-kicker span:last-child { display:none; }
  .hero-footer { align-items:end; }
  .hero-footer>p { max-width:13rem; font-size:.86rem; }
  .circle-link { width:5rem; height:5rem; }
  .statement-grid { grid-template-columns:1fr; margin-left:0; }
  .metrics { grid-template-columns:1fr; }
  .metric { min-height:13rem; border-right:0; border-bottom:1px solid var(--line); }
  .metric:last-child { border-bottom:0; }
  .career-row { grid-template-columns:1fr; gap:.8rem; }
  .career-row>p { margin-top:.5rem; }
  .contact-row { justify-content:flex-start; }
  .contact footer { grid-template-columns:1fr auto; gap:1rem; }
  .contact footer span:nth-child(2) { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .reveal { opacity:1; transform:none; transition:none; } * { animation:none!important; } }
