
*{box-sizing:border-box}
:root{--ink:#161616;--muted:#666;--line:#dedede;--soft:#f6f6f4;--paper:#fff;--max:1160px}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.58}
a{color:inherit} img{max-width:100%}
.container{width:min(calc(100% - 40px),var(--max));margin:0 auto}

.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:block;text-decoration:none;flex:0 0 auto}
.brand img{display:block;width:430px;height:auto}
.nav{display:flex;gap:26px;align-items:center}
.nav a{text-decoration:none;color:#555;font-size:.96rem}
.nav a:hover,.nav a.active{color:#111}

.hero{padding:78px 0 82px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}
.hero-photo img{width:100%;height:610px;object-fit:cover;object-position:center 34%;display:block}
.kicker,.section-label{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.74rem;color:#777}
h1,h2,h3{line-height:1.12;margin-top:0}
h1{font-size:clamp(3rem,6.3vw,5.6rem);letter-spacing:-.045em;margin-bottom:28px}
h2{font-size:clamp(2.15rem,4vw,3.7rem);letter-spacing:-.035em;margin-bottom:24px}
h3{font-size:1.25rem;margin-bottom:10px}
.lead{font-size:1.22rem;color:#505050;max-width:780px}
.hero-copy p{max-width:760px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;margin-top:18px;border:1px solid #111;background:#111;color:#fff;text-decoration:none;font-weight:700}
.button.secondary{background:#fff;color:#111}

.section{padding:90px 0}
.section.soft{background:var(--soft)}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:start}
.copy{font-size:1.08rem;color:#505050}.copy p:first-child{margin-top:0}

.question-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.question{border:1px solid var(--line);padding:24px;background:#fff;font-size:1.08rem;font-weight:700;min-height:120px}

.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.work-card{padding:28px;border-top:3px solid #111;background:#fff}.work-card p{color:#5a5a5a}

.timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:42px;border-top:1px solid #bbb}
.timeline-item{padding:28px 18px 0 0;position:relative}
.timeline-item:before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;background:#111;border-radius:50%}
.timeline-item p{font-size:.93rem;color:#666}

.value-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:36px}
.value-card{border:1px solid var(--line);padding:24px;background:#fff}
.value-icon{font-size:1.6rem;margin-bottom:18px}

.about-home{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:center}
.about-home img{width:100%;height:420px;object-fit:cover;object-position:center center;display:block}

.cta{padding:92px 0;background:#151515;color:#fff}
.cta h2{max-width:760px}.cta p{color:#c8c8c8;font-size:1.1rem}
.cta .button{background:#fff;color:#111;border-color:#fff}

.page-hero{padding:88px 0 58px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:950px}
.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:38px}
.topic{border-top:1px solid #bbb;padding-top:20px}.topic p{color:#5f5f5f}

.bio-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}
.bio-photo img{width:100%;height:680px;object-fit:cover;object-position:center 35%;display:block}
.bio-stack{display:grid;gap:18px}
.bio-item{padding:24px;border:1px solid var(--line);background:#fff}.bio-item p{color:#5f5f5f}

.publication{margin-top:50px;padding:26px;border:1px solid var(--line);background:#fff;display:flex;gap:30px;justify-content:space-between;align-items:center}
.publication p{color:#666;margin-bottom:0}

.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}
.contact-photo img{width:100%;height:520px;object-fit:cover;object-position:center 34%;display:block}
.contact-links{display:grid;gap:12px}
.contact-links a{border:1px solid var(--line);padding:16px;text-decoration:none;background:#fff}
.contact-links a:hover{border-color:#999}


.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:34px;
}

.testimonial-card{
  border-top:3px solid #111;
  padding-top:24px;
  display:flex;
  flex-direction:column;
}

.testimonial-text{
  font-size:1.08rem;
  line-height:1.65;
  margin:0 0 26px;
}

.testimonial-name{
  margin-top:auto;
  margin-bottom:3px;
  font-weight:600;
}

.testimonial-role{
  margin:0;
  font-size:.95rem;
  opacity:.7;
}

.footer{border-top:1px solid var(--line);padding:28px 0;color:#777;font-size:.9rem}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer a{text-decoration:none}

@media(max-width:1000px){
  .brand img{width:340px}
  .question-grid{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(3,1fr);row-gap:34px}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .site-header{position:static}
  .nav-wrap{min-height:auto;padding:22px 0;display:block}
  .brand img{width:310px;max-width:90vw}
  .nav{margin-top:20px;gap:12px 18px;flex-wrap:wrap}
  .hero{padding:58px 0}
  .hero-grid,.two-col,.about-home,.bio-grid,.contact-grid{grid-template-columns:1fr;gap:38px}
  .hero-photo img{height:500px}
  .question-grid,.work-grid,.topic-list,.value-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr;border-top:0}
  .testimonials-grid{grid-template-columns:1fr}
  .timeline-item{border-top:1px solid #bbb;padding-top:22px}.timeline-item:before{display:none}
  .bio-photo img,.contact-photo img{height:470px}
  .about-home img{height:auto;width:100%;display:block}
  .publication{align-items:flex-start;flex-direction:column}
}