:root{--ink:#22372c;--green:#405d4b;--deep:#20382d;--mid:#69806c;--paper:#faf9f5;--white:#fff;--line:#dce3d9;--muted:#5e6a5f;--soft:#eef2ec;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible{outline:3px solid #b58b43;outline-offset:4px}h1,h2,h3,p,figure,blockquote{margin-top:0}h1,h2,h3{line-height:1.12;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.035em}h1{font-size:clamp(3rem,6.2vw,6.5rem)}h2{font-size:clamp(2.15rem,3.8vw,4rem)}h3{font-family:var(--serif);font-size:1.48rem;letter-spacing:-.02em}p{margin-bottom:1.1rem}.shell{width:min(100% - 64px,1240px);margin-inline:auto}.skip-link{position:absolute;left:16px;top:-80px;padding:10px 14px;background:var(--deep);color:#fff;z-index:30}.skip-link:focus{top:12px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;text-transform:uppercase;font-size:1.22rem;font-weight:700;letter-spacing:.08em;color:var(--green);line-height:1.15}.brand-dot{color:#9ba47c}.site-header nav{display:flex;gap:clamp(18px,3.5vw,46px);align-items:center}.site-header nav a{text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase;padding-block:8px;border-bottom:2px solid transparent;color:#536658;transition:color .2s,border-color .2s}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink);border-color:var(--green)}.eyebrow{color:var(--mid);font-size:.76rem;line-height:1.4;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.7rem}.eyebrow-light{color:#b6c5b6}.hero{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);align-items:center;gap:clamp(40px,7vw,110px);padding-block:clamp(70px,8vw,125px)}.hero-copy h1{max-width:730px;margin-bottom:28px}.hero-copy h1 em,.page-hero h1 em{font-weight:400;font-style:normal;color:var(--green)}.hero-lead{max-width:570px;color:#4e5c50;font-size:clamp(1.13rem,1.55vw,1.38rem);line-height:1.58;margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 21px;text-decoration:none;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--deep)}.text-link{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:5px}.text-link:hover{color:var(--green)}.portrait{position:relative;margin:0;padding:0 0 35px 28px}.portrait:before{content:"";position:absolute;inset:28px 0 0 0;background:#e4e9df;z-index:-1}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;border-radius:6px;box-shadow:0 17px 45px rgba(31,50,39,.12)}.portrait figcaption{position:absolute;right:22px;bottom:8px;color:var(--green);font-family:var(--serif);font-size:1.05rem;font-style:italic}.intro-band{background:var(--deep);color:#f9f9f4;padding-block:clamp(58px,7vw,100px)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,120px)}.intro-band h2{max-width:560px;margin-bottom:0}.intro-body{padding-top:43px;color:#d8e0d9;font-size:1.05rem}.intro-body p:last-child{margin-bottom:0}.work{padding-block:clamp(80px,9vw,140px)}.section-heading{max-width:700px;margin-bottom:50px}.section-heading h2{margin-bottom:20px}.section-heading>p:last-child{max-width:575px;color:var(--muted);font-size:1.05rem}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.card{padding:36px clamp(24px,3vw,42px) 40px;background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:285px;transition:background .2s}.card:hover{background:#f4f7f1}.card-number{display:block;margin-bottom:22px;color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.12em}.card h3{max-width:420px;margin-bottom:17px}.card p{color:#566357;margin-bottom:0;font-size:.96rem;line-height:1.72}.card-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,.45fr) minmax(230px,.72fr) minmax(300px,1.3fr);gap:28px;align-items:start;min-height:0}.card-wide .card-number{margin-bottom:0}.card-wide h3{margin-bottom:0}.approach{display:grid;grid-template-columns:.36fr 1fr;gap:45px;padding-block:58px 84px;border-top:1px solid var(--line)}.approach-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--mid);padding-top:9px}.approach h2{font-size:clamp(2rem,3vw,3.1rem);margin-bottom:19px}.approach p{font-size:1.05rem;color:var(--muted);max-width:800px;margin-bottom:0}.contact-panel{background:var(--green);color:#fff;padding-block:clamp(64px,7vw,105px)}.contact-grid{display:grid;grid-template-columns:1fr minmax(270px,.62fr);gap:clamp(36px,10vw,150px);align-items:end}.contact-panel h2{margin-bottom:20px}.contact-panel p:last-child{max-width:530px;color:#e4eae3;font-size:1.06rem;margin-bottom:0}.contact-links{display:grid;border-top:1px solid rgba(255,255,255,.35)}.contact-links a{display:flex;justify-content:space-between;gap:18px;padding:18px 0;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);font-size:1.04rem}.contact-links a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer{background:#1b3026;color:#d3ddd2}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:74px;font-size:.78rem;letter-spacing:.03em}.footer-inner a{text-decoration:none}.footer-inner a:hover{text-decoration:underline}.page-hero{padding-block:clamp(70px,8vw,120px) 72px}.page-hero h1{max-width:900px;margin-bottom:26px}.page-lead{max-width:760px;color:var(--muted);font-size:clamp(1.16rem,1.6vw,1.43rem);line-height:1.62}.facts{display:flex;flex-wrap:wrap;gap:0;margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts span{padding:19px 30px 19px 0;margin-right:30px;color:var(--green);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.career{padding-block:45px 100px}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:minmax(180px,.32fr) 1fr;gap:55px;padding-block:40px;border-bottom:1px solid var(--line)}.timeline-meta{display:flex;flex-direction:column;gap:7px;color:var(--green);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.timeline-meta strong{color:#8a978b}.timeline-item h3{font-size:1.75rem;margin-bottom:20px}.timeline-item p{max-width:800px;color:var(--muted);margin-bottom:12px}.timeline-item p:last-child{margin-bottom:0}.quote-band{background:var(--soft);padding-block:75px}.quote-grid{display:grid;grid-template-columns:130px 1fr;gap:28px}.quote-mark{color:#9cad9c;font-family:var(--serif);font-size:11rem;line-height:.8}.quote-grid blockquote{margin:0}.quote-grid blockquote p{font-family:var(--serif);font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.23;letter-spacing:-.03em;color:var(--deep);max-width:820px;margin-bottom:22px}.quote-grid blockquote footer{max-width:750px;color:var(--muted);font-size:.9rem;line-height:1.6}.education{padding-block:100px}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line)}.education-grid>div{padding-top:28px}.education-grid h3{font-size:1.3rem}.education-grid p{color:var(--muted);line-height:1.8}@media(max-width:900px){.hero{gap:35px}.hero-copy h1{font-size:clamp(2.8rem,6vw,5rem)}.card-wide{display:block}.card-wide .card-number{margin-bottom:22px}.card-wide h3{margin-bottom:17px}.intro-grid{gap:40px}.intro-body{padding-top:28px}}@media(max-width:680px){.shell{width:min(100% - 36px,1240px)}.header-inner{min-height:76px;display:block;padding-block:17px}.brand{font-size:1.02rem}.site-header nav{margin-top:14px;gap:22px}.site-header nav a{font-size:.69rem;letter-spacing:.06em}.hero{grid-template-columns:1fr;gap:40px;padding-block:58px 72px}.hero-copy h1{font-size:clamp(2.85rem,12vw,4.8rem)}.hero-lead{font-size:1.13rem}.portrait{max-width:500px;margin-inline:auto;padding-left:18px;padding-bottom:27px}.portrait figcaption{font-size:.93rem}.intro-grid,.contact-grid,.education-grid{grid-template-columns:1fr}.intro-body{padding-top:0}.cards{grid-template-columns:1fr}.card-wide{grid-column:auto}.card{min-height:0;padding:30px 25px 34px}.approach{grid-template-columns:1fr;gap:12px;padding-block:50px 65px}.contact-grid{gap:45px}.footer-inner{flex-wrap:wrap;padding-block:20px;min-height:0}.footer-inner span:nth-child(2){display:none}.page-hero{padding-block:65px 55px}.page-hero h1{font-size:clamp(2.8rem,11vw,4.5rem)}.facts{display:block}.facts span{display:block;padding:13px 0;margin:0;border-bottom:1px solid var(--line)}.facts span:last-child{border-bottom:0}.career{padding-bottom:70px}.timeline-item{grid-template-columns:1fr;gap:15px;padding-block:32px}.timeline-meta{flex-direction:row;gap:20px}.timeline-item h3{font-size:1.55rem}.quote-band{padding-block:58px}.quote-grid{grid-template-columns:1fr;gap:0}.quote-mark{font-size:6rem;line-height:.7}.education{padding-block:75px}.education-grid{gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Version 3: editorial category column, with aligned labels, titles and bodies. */
.work .section-heading{max-width:900px;margin-bottom:64px}
#work-title{font-size:clamp(2.2rem,4.2vw,3.5rem)}
.work-group{display:grid;grid-template-columns:minmax(160px,.46fr) minmax(0,2fr);gap:clamp(28px,4vw,56px);padding:40px 0 44px;border-top:1px solid #bcc8b9}
.work-group:last-child{padding-bottom:0}
.work-group-heading{min-width:0}
.group-letter{display:block;font:400 .9rem/1.5 var(--serif);color:var(--mid);margin-bottom:16px}
.work-group-heading h3{font-size:clamp(1.55rem,2.2vw,1.9rem);line-height:1.16;color:var(--green);margin:0;overflow-wrap:break-word}
.situation-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,3.4vw,48px);row-gap:18px;align-items:start;min-width:0}
.situation{min-width:0}
.situation-label{display:block;color:var(--green);font-size:.7rem;line-height:1.5;font-weight:700;letter-spacing:.09em;margin-bottom:18px}
.situation h4{font-family:var(--serif);font-size:clamp(1.55rem,2.2vw,1.85rem);font-weight:400;line-height:1.15;letter-spacing:-.02em;margin:0 0 18px}
.situation p{color:#566357;font-size:1rem;line-height:1.72;margin:0}
/* Shared tracks use the taller label/title in each pair, without fixed text heights. */
@supports(grid-template-rows:subgrid){
  .situation-pair{grid-template-rows:auto auto 1fr;align-items:stretch}
  .situation{display:grid;grid-template-rows:subgrid;grid-row:1 / span 3;row-gap:18px}
  .situation:first-child{grid-column:1}
  .situation:last-child{grid-column:2}
  .situation-label,.situation h4,.situation p{align-self:start;margin:0}
}
.approach p+p{margin-top:1.15rem}
.page-hero h1{max-width:1080px}
@media(max-width:1000px){
  .work-group{grid-template-columns:1fr;gap:28px}
  .work-group-heading{display:flex;align-items:baseline;gap:16px}
  .group-letter{margin:0}
}
@media(max-width:680px){
  .work .section-heading{margin-bottom:36px}
  .work-group{padding:30px 0 34px;gap:26px}
  .work-group-heading h3{font-size:1.65rem}
  .situation-pair{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:28px}
  .situation{display:block;grid-column:auto!important;grid-row:auto}
  .situation+.situation{border-top:1px solid var(--line);padding-top:28px}
  .situation-label{margin-bottom:12px}
  .situation h4{font-size:1.65rem;margin-bottom:15px}
  .situation p{margin:0}
  .contact-links a{font-size:1rem;overflow-wrap:anywhere}
}
