:root{
  --ink:#1c2430;
  --muted:#667085;
  --blue:#506789;
  --blue-dark:#172740;
  --blue-soft:#edf2f8;
  --gold:#c8a96a;
  --gold-dark:#9f7d35;
  --white:#fff;
  --paper:#f7f8fb;
  --line:#e4e8ef;
  --shadow:0 24px 70px rgba(23,39,64,.13);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none}.container{width:min(1180px,92vw);margin:auto}
.topbar{background:var(--blue-dark);color:#dce6f3;font-size:13px}.topbar-inner{display:flex;justify-content:space-between;gap:16px;padding:9px 0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(228,232,239,.85)}
.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{height:58px;width:auto;display:block}.nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700;color:#344054}.nav a{position:relative}.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-8px;height:2px;width:0;background:var(--gold);transition:.25s}.nav a:hover::after{width:100%}.nav-cta{background:var(--blue-dark);color:white;padding:12px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:transparent;font-size:28px;color:var(--blue-dark)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 76% 10%,rgba(200,169,106,.22),transparent 34%),linear-gradient(135deg,#101d30,#243d60 58%,#4f6789);color:white}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;min-height:690px;padding:86px 0}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:800;color:var(--gold)}.eyebrow.dark{color:var(--blue)}.hero h1{font-family:"Libre Baskerville",serif;font-size:clamp(46px,6vw,78px);line-height:1.05;margin:18px 0}.lead{
    font-size:21px;
    color:#ffffff;
    max-width:1100px;
    margin:0 auto;
    text-align:justify;
    text-justify:inter-word;
    line-height:1.9;
    font-weight:500;
    text-shadow:0 1px 2px rgba(0,0,0,0.25);
}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:800;transition:.25s}.btn.primary{background:var(--gold);color:#18243a}.btn.primary:hover{background:#dfc17f;transform:translateY(-2px)}.btn.secondary{border:1px solid rgba(255,255,255,.35);color:white}.btn.light{background:white;color:var(--blue-dark)}
.hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:32px;padding:34px}.card-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#f1d895;font-weight:800}.hero-card h2{font-family:"Libre Baskerville",serif;font-size:32px;line-height:1.2}.hero-card p{color:#e6edf7}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.hero-metrics div{background:rgba(255,255,255,.12);border-radius:18px;padding:16px}.hero-metrics strong{font-size:28px;display:block}.hero-metrics span{font-size:12px;color:#dce6f3}
section{padding:96px 0}.split{display:grid;grid-template-columns:260px 1fr;gap:60px}.section-kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:800}.section-title,.section-head h2,.approach h2,.contact h2,.presence h2{font-family:"Libre Baskerville",serif;font-size:clamp(32px,4vw,52px);line-height:1.14;margin:8px 0 18px}.section-text,.section-head p,.approach-copy p,.contact p,.presence p{font-size:18px;color:var(--muted);max-width:820px}.signature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.signature-strip div{border-top:3px solid var(--gold);padding:18px;background:var(--paper);border-radius:0 0 18px 18px;font-weight:800}.signature-strip span{display:block;color:var(--blue);font-size:13px;margin-bottom:6px}
.practices,.industries,.contact{background:var(--paper)}.section-head.center{text-align:center;max-width:760px;margin:0 auto 46px}.section-head{margin-bottom:34px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;min-height:260px;box-shadow:0 10px 28px rgba(23,39,64,.05);transition:.25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#d8c18a}.service-card span{display:inline-flex;color:var(--gold-dark);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;margin-bottom:18px}.service-card h3{font-size:22px;line-height:1.25;margin:0 0 12px}.service-card p{color:var(--muted);margin:0}
.approach-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}.text-link{display:inline-block;margin-top:20px;color:var(--gold-dark);font-weight:900}.timeline{background:var(--blue-dark);border-radius:32px;padding:26px;color:white;box-shadow:var(--shadow)}.timeline div{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:center;padding:22px;border-bottom:1px solid rgba(255,255,255,.12)}.timeline div:last-child{border-bottom:0}.timeline strong{color:var(--gold);font-size:24px}.timeline span{font-size:18px}
.industry-marquee{display:flex;gap:14px;flex-wrap:wrap}.industry-marquee span{background:white;border:1px solid var(--line);border-radius:999px;padding:13px 18px;font-weight:800;color:#344054;box-shadow:0 8px 20px rgba(23,39,64,.04)}
.people-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px}.people-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.people-list article{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 22px rgba(23,39,64,.05)}.people-list h3{margin:0 0 6px;font-size:21px}.people-list p{margin:0;color:var(--blue);font-weight:800}
.presence{background:linear-gradient(135deg,#172740,#506789);color:white}.presence-card{display:flex;align-items:center;justify-content:space-between;gap:38px}.presence p{color:#e5edf7}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}.contact-details{margin-top:30px;padding:24px;border-left:4px solid var(--gold);background:white;border-radius:0 18px 18px 0}.contact-form{background:white;border-radius:30px;padding:30px;display:grid;gap:14px;box-shadow:var(--shadow)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:15px 16px;font:inherit;color:var(--ink);background:white}textarea{min-height:130px;resize:vertical}.contact-form small{color:var(--muted)}
footer{padding:34px 0;border-top:1px solid var(--line);background:white}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:14px}.footer-grid img{height:46px}.footer-grid a{font-weight:800;color:var(--blue)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:930px){.topbar-inner{display:none}.nav-wrap{height:76px}.brand img{height:44px}.menu-toggle{display:block}.nav{position:absolute;top:76px;left:0;right:0;background:white;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start;padding:22px 4vw}.nav.open{display:flex}.hero-grid,.split,.approach-grid,.people-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{min-height:auto;padding:70px 0}.hero-card{padding:26px}.cards-grid{grid-template-columns:1fr}.signature-strip{grid-template-columns:1fr}.presence-card{display:block}.people-list{grid-template-columns:1fr}.footer-grid{flex-direction:column;align-items:flex-start}.hero-metrics{grid-template-columns:1fr 1fr 1fr}section{padding:70px 0}}
@media(max-width:560px){.brand img{height:34px}.hero h1{font-size:40px}.lead{font-size:17px}.hero-metrics{grid-template-columns:1fr}.hero-actions{display:grid}.btn{width:100%}.timeline div{grid-template-columns:1fr;gap:4px}.section-title,.section-head h2,.approach h2,.contact h2,.presence h2{font-size:32px}}
/* Dynamic publications and resources */
.linkedin-mini{background:#0a66c2!important;color:#fff!important;width:30px;height:30px;border-radius:7px;display:inline-flex!important;align-items:center;justify-content:center;font-weight:900;padding:0!important}
.linkedin-mini::after{display:none!important}.publications{background:#fff}.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:-16px 0 34px}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 17px;font-weight:800;color:var(--blue-dark);cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--blue-dark);color:white;border-color:var(--blue-dark)}.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.publication-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-height:270px;display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(23,39,64,.05);transition:.25s}.publication-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#d8c18a}.publication-card .meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:14px}.publication-card .tag{display:inline-flex;background:#fff4dc;color:var(--gold-dark);border-radius:999px;padding:6px 10px;font-weight:900}.publication-card h3{font-size:21px;line-height:1.28;margin:0 0 12px}.publication-card p{color:var(--muted);margin:0 0 18px}.publication-card a{margin-top:auto;color:var(--gold-dark);font-weight:900}.insights-cta{display:flex;justify-content:center;gap:14px;margin-top:34px;flex-wrap:wrap}.btn.secondary-dark{border:1px solid var(--blue-dark);color:var(--blue-dark);background:#fff}.resources{background:var(--paper)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.resource-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;min-height:210px;box-shadow:0 8px 22px rgba(23,39,64,.05);transition:.25s}.resource-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#d8c18a}.resource-card span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:900}.resource-card h3{margin:10px 0;font-size:22px}.resource-card p{color:var(--muted);margin:0}.footer-expanded{align-items:flex-start;display:grid!important;grid-template-columns:1.4fr 1fr 1fr}.footer-expanded h4{color:var(--blue-dark);margin:0 0 12px}.footer-expanded a{display:block;margin:8px 0}.footer-brand p{max-width:360px}.linkedin-badge{display:inline-flex;background:#0a66c2;color:white;border-radius:4px;width:24px;height:24px;align-items:center;justify-content:center;font-weight:900;margin-right:6px}.copyright{font-size:13px;color:var(--muted);padding-top:18px}.admin-wrap{padding:60px 0}.admin-card{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow);margin-bottom:22px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-form textarea,.admin-form .full{grid-column:1/-1}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.code-box{width:100%;min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:#101d30;color:#e8eef7;border-radius:18px;padding:18px}.post-table{width:100%;border-collapse:collapse}.post-table th,.post-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.post-table th{color:var(--blue-dark)}
@media(max-width:930px){.publication-grid,.resource-grid{grid-template-columns:1fr}.footer-expanded{grid-template-columns:1fr!important}.admin-form{grid-template-columns:1fr}.linkedin-mini{margin:4px 0}}


/* People directory and individual partner pages */
.home-team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:34px}
.home-person{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 26px rgba(23,39,64,.08);transition:.25s}
.home-person:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.home-person img{width:100%;height:245px;object-fit:cover;display:block;background:#f1f3f8}
.home-person h3{font-size:18px;margin:18px 18px 4px;color:var(--blue-dark)}
.home-person p{font-size:13px;color:var(--muted);margin:0 18px 20px}
.page-hero{background:linear-gradient(135deg,var(--blue-dark),#283f62);color:#fff;padding:86px 0}
.page-hero.compact h1{font-family:"Libre Baskerville",serif;font-size:44px;line-height:1.15;margin:10px 0 14px;max-width:820px}
.page-hero.compact p{max-width:680px;color:#dfe7f2}
.team-directory{padding:78px 0;background:var(--paper)}
.team-directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.team-card-full{display:grid;grid-template-columns:210px 1fr;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 16px 38px rgba(23,39,64,.08)}
.team-card-full img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;background:#f1f3f8}
.team-card-body{padding:28px}
.team-card-body h3{font-size:28px;margin:8px 0 0;color:var(--blue-dark)}
.team-card-body span{display:block;color:var(--gold-dark);font-weight:800;margin:4px 0 14px}
.team-card-body p{color:var(--muted)}
.profile-mail{display:block;color:var(--blue-dark);font-weight:800;margin:10px 0 14px}
.profile-hero{background:radial-gradient(circle at top right,rgba(200,169,106,.32),transparent 34%),linear-gradient(135deg,var(--blue-dark),#253a5b);color:#fff;padding:82px 0}
.profile-hero-grid{display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:center}
.profile-photo-wrap{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:14px;border-radius:30px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.profile-photo-wrap img{width:100%;height:430px;object-fit:cover;border-radius:22px;display:block;background:#f1f3f8}
.profile-intro h1{font-family:"Libre Baskerville",serif;font-size:58px;line-height:1.05;margin:10px 0}
.profile-intro h2{font-size:22px;color:#f4d892;margin:0 0 18px}
.profile-intro p{font-size:18px;max-width:760px;color:#edf2f8}
.profile-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.profile-content{padding:78px 0;background:var(--paper)}
.profile-content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:start}
.profile-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 12px 32px rgba(23,39,64,.07)}
.profile-panel h2{margin-top:0;color:var(--blue-dark);font-size:28px}
.profile-panel p,.profile-panel li{color:var(--muted)}
.profile-panel.highlight{border-top:5px solid var(--gold)}
.profile-panel ul{padding-left:20px}
.profile-contact{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
@media(max-width:1050px){.home-team-grid{grid-template-columns:repeat(2,1fr)}.team-directory-grid{grid-template-columns:1fr}.profile-hero-grid,.profile-content-grid{grid-template-columns:1fr}.profile-intro h1{font-size:44px}.team-card-full{grid-template-columns:170px 1fr}}
@media(max-width:620px){.home-team-grid{grid-template-columns:1fr}.team-card-full{grid-template-columns:1fr}.team-card-full img{height:320px}.profile-photo-wrap img{height:390px}.page-hero.compact h1{font-size:34px}}

/* Contact details from partner vCards */
.mini-contact{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 8px}
.mini-contact a{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:var(--blue-dark);background:#fff}
.mini-contact a:hover{border-color:var(--gold);color:var(--gold-dark)}
.contact-list{display:grid;gap:18px}
.contact-list div{display:grid;gap:5px;border-bottom:1px solid var(--line);padding-bottom:14px}
.contact-list div:last-child{border-bottom:0}
.contact-list strong{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.contact-list a,.contact-list span{color:var(--blue-dark);font-weight:800;line-height:1.45}
.contact-list span{font-weight:700;color:var(--muted)}
.contact-actions .btn.secondary-dark{border:1px solid var(--blue-dark);color:var(--blue-dark);background:#fff}
@media(max-width:1050px){.contact-panel{grid-column:1/-1}}


/* Text alignment and visibility refinement */
.section-text,
.profile-panel p,
.team-card-body p,
.publication-card p,
.resource-card p,
.contact p,
.presence p,
.footer-brand p {
    text-align: justify;
    text-justify: inter-word;
}

.hero-copy .lead,
.profile-intro p,
.page-hero.compact p,
.presence p {
    color: #ffffff;
}

.profile-panel p,
.team-card-body p,
.publication-card p,
.resource-card p,
.section-text {
    color: #344054;
}

