:root { --ink:#0d1924; --paper:#f5f1e9; --cream:#ece6da; --teal:#2f8e91; --white:#fffdfa; --line:rgba(13,25,36,.16); --serif:Fraunces,Georgia,serif; --sans:"DM Sans",Arial,sans-serif; --mono:"DM Mono",monospace; }
body { background:var(--paper); }
.case-header { min-height:72px; padding:0 max(32px,calc((100vw - 1200px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.case-header a { color:var(--ink); font-weight:700; font-size:13px; text-decoration:none; }
.case-hero { background:var(--ink); color:var(--white); padding:104px 0 88px; }
.case-hero .eyebrow { color:#80c2c1; }
.case-hero h1 { max-width:850px; font:500 clamp(45px,6vw,76px)/1.02 var(--serif); letter-spacing:-.05em; margin:0; }
.case-hero .intro { max-width:690px; margin:28px 0 0; color:#c5d0d4; font-size:19px; line-height:1.55; }
.case-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:33px; }
.case-meta span { border:1px solid rgba(255,255,255,.3); color:#dce5e5; padding:5px 8px; font:500 10px var(--mono); letter-spacing:.04em; text-transform:uppercase; }
.case-main { padding:90px 0 120px; }
.result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:0 0 76px; }
.result-grid article { background:var(--white); padding:30px; }
.result-grid .metric { margin:0 0 11px; color:var(--ink); font:500 42px/1 var(--serif); letter-spacing:-.05em; }
.result-grid h2 { margin:0; font:600 14px/1.35 var(--sans); letter-spacing:0; }
.case-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); gap:9%; align-items:start; }
.case-copy h2 { margin:48px 0 16px; font:500 38px/1.08 var(--serif); letter-spacing:-.04em; }
.case-copy h2:first-child { margin-top:0; }
.case-copy p { max-width:700px; color:#49575e; font-size:17px; line-height:1.65; }
.case-copy ul { padding-left:20px; color:#49575e; }
.case-copy li { margin:10px 0; padding-left:6px; }
/* Markdown elements used by posts built with build.py. Not used by the hand-made pages. */
.case-copy h3 { margin:36px 0 12px; font:500 26px/1.15 var(--serif); letter-spacing:-.03em; }
.case-copy ol { padding-left:20px; color:#49575e; }
.case-copy a { color:var(--ink); text-decoration-color:var(--teal); text-underline-offset:3px; }
.case-copy a:hover { color:var(--teal); }
.case-copy img { display:block; max-width:100%; height:auto; margin:32px 0; }
.case-copy blockquote { margin:32px 0; padding:4px 0 4px 22px; border-left:2px solid var(--teal); }
.case-copy blockquote p { font:500 24px/1.3 var(--serif); letter-spacing:-.02em; color:var(--ink); }
.case-copy code { font:500 .9em var(--mono); background:var(--cream); padding:1px 5px; }
.case-copy hr { border:0; border-top:1px solid var(--line); margin:48px 0; }
.case-note { border-top:2px solid var(--teal); background:var(--cream); padding:24px; }
.case-note h2 { margin:0 0 10px; font:500 25px/1.1 var(--serif); letter-spacing:-.03em; }
.case-note p { margin:0; color:#56636a; font-size:14px; line-height:1.6; }
.case-footer { background:#09121a; color:#c5d0d4; padding:32px 0; }
.case-footer a { color:var(--white); font-weight:700; text-decoration:none; }
.case-list { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:60px 0 110px; }
.case-list article { display:flex; flex-direction:column; min-height:320px; border:1px solid var(--line); background:var(--white); padding:32px; }
.case-list h2 { margin:24px 0 14px; font:500 35px/1.08 var(--serif); letter-spacing:-.04em; }
.case-list p { color:#56636a; margin:0; }
.case-list a { margin-top:auto; padding-top:25px; color:var(--ink); font-weight:700; text-decoration:none; }
@media (max-width:850px) { .case-header { min-height:64px; padding:0 22px; } .case-hero { padding:76px 0 65px; } .case-main { padding:65px 0 85px; } .result-grid,.case-list { grid-template-columns:1fr; } .case-layout { grid-template-columns:1fr; gap:48px; } .case-copy h2 { font-size:33px; } }

/* Header navigation and About page */
.case-header .case-nav { display:flex; position:static; align-items:center; gap:24px; padding:0; background:none; border:0; }
.case-header .case-nav a { font-size:13px; }
.about-hero h1 { margin:0 0 25px; font:500 clamp(52px,6vw,88px)/1 var(--serif); letter-spacing:-.05em; }
.about-hero .intro { font-size:19px; line-height:1.55; }
.about-hero a { color:var(--white); }
.about-hero .leadership-image img { object-position:60% center; }
.about-work { padding-bottom:0; }
.about-work .section-heading { margin-bottom:0; }
.about-work .case-list h3 { margin:24px 0 14px; font:500 31px/1.08 var(--serif); letter-spacing:-.04em; }
.about-links { padding-bottom:128px; }
.about-links .advisory-grid { grid-template-columns:repeat(3,1fr); gap:32px; }
.about-links article a { display:inline-block; margin-top:14px; color:var(--ink); font-weight:700; font-size:13px; text-decoration:none; }
@media (max-width:850px) { .case-header .case-nav { gap:16px; } .about-links .advisory-grid { grid-template-columns:1fr; } .about-links { padding-bottom:85px; } }

/* About page v2 */
.about-hero .about-role { margin:0 0 22px; color:#80c2c1 !important; font:500 12px/1.6 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.about-hero .about-role span { padding:0 6px; color:#5d8f92; }
.about-hero .about-role a { color:#80c2c1; }
.about-hero dt { font-size:31px; }
.about-pillars { grid-template-columns:repeat(2,1fr); }
.about-pillars article { min-height:230px; }
.about-pillars h3 { margin-top:40px; }
#selected-impact .row-heading .text-link { margin-left:0; }
#selected-impact .section-heading { margin-bottom:46px; }
.about-creds { list-style:none; margin:42px 0 0; padding:0; border-top:1px solid var(--line); }
.about-creds li { padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; line-height:1.45; }
.about-creds small { color:#647179; }
@media (max-width:850px) { .about-pillars { grid-template-columns:1fr; } .about-pillars article { min-height:0; } .about-hero dt { font-size:26px; } .about-creds { margin-top:30px; } }
.about-story .prose p { color:#c5d0d4; }
.about-story .prose p:first-child { color:var(--white); }
.about-lede { max-width:620px; margin:22px 0 0; color:#5b6569; font-size:16px; line-height:1.6; }
.about-principles { list-style:none; counter-reset:pr; margin:34px 0 0; padding:0; border-top:1px solid var(--line); }
.about-principles li { counter-increment:pr; position:relative; padding:20px 0 20px 46px; border-bottom:1px solid var(--line); }
.about-principles li::before { content:"0" counter(pr); position:absolute; left:0; top:23px; font:500 11px var(--mono); color:var(--teal); letter-spacing:.08em; }
.about-principles h3 { margin:0 0 6px; font:500 22px/1.2 var(--serif); letter-spacing:-.025em; }
.about-principles p { margin:0; font-size:15px; line-height:1.55; color:#536069; }
#expertise .section-heading > p:last-child { max-width:560px; }
