:root{
  --ink:#11343f;
  --deep:#08262f;
  --deep2:#0c303b;
  --gold:#a9872f;
  --gold2:#d3ba68;
  --paper:#f4f1e9;
  --paper2:#ebe5d9;
  --white:#fff;
  --muted:#68777b;
  --line:#d9d2c5;
  --shadow:0 28px 70px rgba(6,29,38,.16)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.66;-webkit-font-smoothing:antialiased}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.8rem;z-index:999}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30;border-bottom:1px solid #e7e2d8}
.brand img{width:245px;max-height:65px;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:1.8rem}
.site-header nav a{color:var(--ink);text-decoration:none;font-size:.73rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;position:relative}
.site-header nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:1px;background:var(--gold)}
.nav-cta{border:1px solid var(--gold);padding:.65rem .9rem}
.menu{display:none;background:none;border:0;color:var(--ink);font-weight:700;letter-spacing:.08em}

.hero{position:relative;overflow:hidden;min-height:calc(100vh - 88px);padding:12vh 7vw 4vh;background:radial-gradient(circle at 80% 20%,rgba(169,135,47,.18),transparent 27%),linear-gradient(120deg,#061f29,#103946 70%,#0d303a);color:#fff;display:flex;flex-direction:column;justify-content:center}
.hero:after{content:"";position:absolute;right:-12vw;bottom:-28vw;width:64vw;height:64vw;border:1px solid rgba(211,186,104,.18);border-radius:50%;box-shadow:0 0 0 80px rgba(211,186,104,.035),0 0 0 160px rgba(211,186,104,.02)}
.hero-inner{position:relative;z-index:2}
.eyebrow,.kicker{font-size:.7rem;letter-spacing:.24em;font-weight:800;color:var(--gold2)}
h1,h2,h3,blockquote{font-family:Georgia,"Times New Roman",serif}
h1{font-size:clamp(3.7rem,8.5vw,8.7rem);line-height:.9;margin:1.5rem 0;max-width:1180px;font-weight:400;letter-spacing:-.035em}
h1 em{color:var(--gold2);font-weight:400}
.hero-copy{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;max-width:620px}
.actions{display:flex;gap:1rem;margin-top:2rem}
.btn{display:inline-block;padding:14px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.69rem;font-weight:700}
.gold{background:var(--gold);color:#fff}
.ghost{border:1px solid rgba(255,255,255,.38);color:#fff}
.outline-dark{border:1px solid var(--ink);color:var(--ink)}
.inline-btn{margin-top:.8rem}
.hero-foot{position:relative;z-index:2;display:flex;justify-content:space-between;margin-top:auto;padding-top:4rem;font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:#bac7ca}
.section-pad{padding:8rem 7vw}

.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.intro h2,.expertise h2,.people h2,.insights h2,.contact h2,.who h2,.team-section h2,.page-cta h2,.home-expertise-cta h2{font-size:clamp(2.6rem,5vw,5.4rem);line-height:1.01;font-weight:400;letter-spacing:-.03em;margin:1rem 0 2rem}
.intro-copy{max-width:700px}
.intro-copy .lead{font-size:1.24rem;color:#294953}
.intro-copy p{font-size:1.04rem}
.text-link{display:inline-block;margin-top:1rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:.25rem;font-weight:700;font-size:.8rem;letter-spacing:.05em}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);padding-top:0;padding-bottom:0}
.pillar{background:var(--paper);padding:4.5rem 3.2rem;min-height:260px}
.pillar span,.grid b{color:var(--gold);font-size:.72rem;letter-spacing:.12em}
.pillar h3{font-size:2.2rem;font-weight:400;margin:.7rem 0}
.pillar p{color:#5d6e72;max-width:330px}

.home-expertise-cta{background:#fff}
.home-expertise-inner{max-width:1050px}
.home-expertise-inner p{max-width:720px;font-size:1.08rem;color:#5d6d72;margin-bottom:2rem}

.expertise{background:#fff}
.section-head{display:grid;grid-template-columns:2fr 1fr;gap:6vw;align-items:end;margin-bottom:3.5rem}
.section-head p{max-width:480px;color:#627277}
.grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ded9cf;border-left:1px solid #ded9cf}
.grid article{position:relative;padding:2.4rem 2rem 2.7rem;border-bottom:1px solid #ded9cf;border-right:1px solid #ded9cf;min-height:280px;transition:transform .25s ease,background .25s ease}
.grid article:hover{background:#f8f5ef;transform:translateY(-2px)}
.grid article.feature{background:#0d303a;color:#fff}
.grid article.feature p{color:#c6d1d3}
.grid h3{font-size:1.55rem;font-weight:400;line-height:1.15;margin:1.1rem 0}
.grid p{color:#536367}

.statement{padding:9rem 10vw;background:linear-gradient(135deg,#a27f22,#b89539);color:#fff;position:relative;overflow:hidden}
.statement-mark{position:absolute;right:8vw;top:-5rem;font-family:Georgia,serif;font-size:22rem;line-height:1;color:rgba(255,255,255,.10)}
.statement blockquote{font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.06;margin:0;max-width:1000px;font-weight:400}
.statement p{margin-top:2rem;letter-spacing:.11em;text-transform:uppercase;font-size:.76rem}

.who{background:var(--paper2)}
.who-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}
.who-grid p{font-size:1.1rem;color:#405e66}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.chips span{border:1px solid #c9c0ae;padding:.55rem .8rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}

.insights{background:var(--deep);color:#fff}
.insights .section-head p{color:#b9c7ca}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#385863}
.cards article{background:var(--deep);padding:2.6rem;min-height:330px}
.cards span{font-size:.68rem;letter-spacing:.18em;color:var(--gold2);font-weight:800}
.cards h3{font-size:1.65rem;line-height:1.2;font-weight:400}
.cards p{color:#b5c3c6}
.cards a,.cards strong{color:var(--gold2);text-decoration:none;font-size:.8rem;letter-spacing:.05em}

.contact{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.contact-intro>p{max-width:560px;color:#5b6d72}
.office{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);max-width:470px}
.contact-box{display:flex;flex-direction:column;gap:0;padding-top:2rem}
.contact-box>a{display:flex;flex-direction:column;font-family:Georgia,serif;font-size:1.32rem;color:var(--ink);text-decoration:none;border-bottom:1px solid #ddd;padding:1.05rem 0}
.contact-box>a small{font-family:Arial,sans-serif;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin-bottom:.2rem}
.contact-note{margin-top:2rem;padding:1.7rem;background:var(--paper)}

.page-hero{position:relative;overflow:hidden;padding:10rem 7vw 8rem;background:radial-gradient(circle at 85% 15%,rgba(169,135,47,.18),transparent 25%),linear-gradient(120deg,#061f29,#103946 70%,#0d303a);color:#fff}
.page-hero h1{font-size:clamp(3.8rem,7.2vw,7.4rem);max-width:1050px;margin-bottom:2rem}
.page-hero p{max-width:760px;font-size:1.12rem;color:#c4d0d3}
.page-hero.people-hero{background:radial-gradient(circle at 12% 80%,rgba(169,135,47,.16),transparent 24%),linear-gradient(120deg,#061f29,#103946 70%,#0d303a)}
.page-cta{padding:7rem 7vw;background:var(--paper2)}
.page-cta>div{max-width:1000px}
.page-cta .btn{margin-top:1rem}

.people{background:var(--paper)}
.person{display:grid;grid-template-columns:minmax(320px,38%) 1fr;gap:6vw;margin:5rem 0 9rem;align-items:start}
.person.reverse{grid-template-columns:minmax(320px,38%) 1fr}
.portrait-wrap{position:sticky;top:115px}
.portrait-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;box-shadow:var(--shadow)}
.portrait-wrap img.madubanya-photo{object-position:58% 12%}
.mono{filter:grayscale(100%) contrast(1.06)}
.portrait-label{background:var(--deep);color:#fff;padding:.9rem 1rem;font-size:.67rem;letter-spacing:.16em}
.person-copy{max-width:760px}
.person h3{font-size:clamp(2.2rem,4vw,3.5rem);font-weight:400;line-height:1.04;margin:0 0 1.5rem}
.person p{color:#39565f}
.person blockquote{font-size:1.55rem;line-height:1.35;border-left:3px solid var(--gold);margin:2.2rem 0;padding-left:1.5rem;color:var(--ink)}
.person small{display:block;color:var(--muted);margin-top:1.5rem;line-height:1.7}
details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.2rem 0;margin-top:1.8rem}
summary{cursor:pointer;font-weight:700;color:var(--ink);letter-spacing:.03em}

.team-section{background:#fff}
.team-section.support{background:var(--paper2)}
.team-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.team-card{display:grid;grid-template-columns:minmax(240px,31%) 1fr;background:var(--paper);box-shadow:0 14px 50px rgba(6,29,38,.07);min-height:390px}
.support-card{background:#fff}
.profile-placeholder,.team-photo{min-height:390px;background:linear-gradient(145deg,#0a2b35,#113d49);display:flex;align-items:center;justify-content:center;overflow:hidden}
.profile-placeholder{position:relative}
.profile-placeholder:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(211,186,104,.18);border-radius:50%;box-shadow:0 0 0 55px rgba(211,186,104,.035)}
.profile-placeholder span{position:relative;z-index:2;font-family:Georgia,"Times New Roman",serif;font-size:5rem;color:var(--gold2);letter-spacing:.04em}
.team-photo img{width:100%;height:100%;min-height:390px;object-fit:cover;object-position:center 18%}
.team-card-copy{padding:3.3rem 4rem;align-self:center}
.role{font-size:.68rem;letter-spacing:.18em;color:var(--gold);font-weight:800}
.team-card h3{font-size:2.8rem;font-weight:400;margin:.45rem 0 1.2rem}
.team-card p{color:#466168}
.coming-soon{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;color:var(--muted)!important}

.insights-page{background:var(--deep);color:#fff}
.insights-page .cards{max-width:1400px;margin:0 auto}

footer{background:#061d26;color:#b6c1c4;padding:3.2rem 7vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;font-size:.8rem}
footer img{width:220px;background:#fff;padding:8px}
footer p:last-child{text-align:right}
footer a{color:#d5c585;text-decoration:none}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .person,.person.reverse{grid-template-columns:40% 1fr}
  .section-head{grid-template-columns:1fr}
  .portrait-wrap{position:static}
  .team-card{grid-template-columns:36% 1fr}
  .team-card-copy{padding:2.7rem}
}
@media(max-width:760px){
  .site-header{height:72px;padding:0 5vw}
  .brand img{width:185px}
  .menu{display:block}
  .site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:2rem 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid #ddd}
  .site-header nav.open{display:flex}
  .hero{min-height:calc(100vh - 72px);padding:10vh 6vw 4vh}
  .hero-foot,.actions{flex-direction:column}
  .section-pad{padding:5.4rem 6vw}
  .intro,.contact,.who-grid,.person,.person.reverse,.team-card{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr;padding-left:0;padding-right:0}
  .pillar{min-height:auto}
  .grid,.cards{grid-template-columns:1fr}
  .person{margin-bottom:6rem}
  .person img{max-height:680px}
  .statement{padding:6rem 7vw}
  .section-head{margin-bottom:2.4rem}
  .contact-box>a{font-size:1.05rem;overflow-wrap:anywhere}
  .page-hero{padding:7rem 6vw 5rem}
  .team-card-copy{padding:2.2rem}
  .profile-placeholder,.team-photo,.team-photo img{min-height:330px}
  footer{grid-template-columns:1fr}
  footer p:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}

.pfukani-photo img{object-position:center 12%}

/* Litigation Journal */
.article-hero{background:radial-gradient(circle at 88% 12%,rgba(169,135,47,.22),transparent 26%),linear-gradient(125deg,#061f29,#103946 72%,#0d303a);color:#fff;padding:9rem 7vw 6rem}
.article-shell{max-width:1050px;margin:0 auto}
.article-hero h1{font-size:clamp(2.9rem,5.6vw,5.7rem);line-height:1.02;font-weight:400;margin:1rem 0 1.4rem;letter-spacing:-.025em}
.article-deck{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:#d8e0e1;max-width:780px}
.hearing-badge{margin-top:3rem;border-left:3px solid var(--gold2);padding:.2rem 0 .2rem 1.4rem;display:flex;flex-direction:column;gap:.25rem}
.hearing-badge span,.hearing-badge small{font-size:.68rem;letter-spacing:.18em;color:var(--gold2);font-weight:800}.hearing-badge strong{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:400}
.article-body{padding:6rem 7vw 7rem;background:#f7f7f3}.article-body .article-shell{max-width:900px}.article-body p{font-size:1.06rem;line-height:1.85;color:#334f56}.article-body .lead{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;line-height:1.6;color:#173a43}.article-body h2{font-size:2.25rem;font-weight:400;margin:4rem 0 1rem;color:var(--deep)}
.journey{display:grid;grid-template-columns:repeat(5,1fr);margin:3.5rem 0;background:var(--deep);color:#fff}.journey div{padding:1.4rem 1rem;border-right:1px solid #385863}.journey div:last-child{border-right:0}.journey b{display:block;color:var(--gold2);font-size:.7rem;letter-spacing:.13em;margin-bottom:.5rem}.journey span{font-size:.8rem;line-height:1.4}
.closing-line{font-family:Georgia,"Times New Roman",serif;font-size:1.4rem!important;color:var(--deep)!important;margin-top:2rem}.article-callout{background:var(--deep);color:#fff;padding:3rem;margin:4rem 0}.article-callout span{color:var(--gold2);font-size:.72rem;letter-spacing:.18em;font-weight:800}.article-callout h2{color:#fff;margin:.6rem 0 1rem;font-size:2rem}.article-callout p{color:#c6d1d3}.article-callout>strong{color:var(--gold2);letter-spacing:.12em;font-size:.78rem}
.case-glance{border-top:1px solid #c9d0cd;border-bottom:1px solid #c9d0cd;padding:2.5rem 0;margin:4rem 0}.case-glance h3{font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:400;margin-top:0}.case-glance .btn{margin-top:1rem}.btn-dark{background:var(--deep);color:#fff}.legal-note{font-size:.78rem!important;line-height:1.6!important;color:#718187!important}.featured-insight{background:linear-gradient(145deg,#092631,#123d48)!important}.featured-insight h3 em{color:#fff}
@media(max-width:760px){.article-hero{padding:6.5rem 6vw 4rem}.article-body{padding:4rem 6vw}.journey{grid-template-columns:1fr}.journey div{border-right:0;border-bottom:1px solid #385863}.article-callout{padding:2rem}.article-body h2{font-size:1.9rem}}
