:root{--ink:#121416;--navy:#101820;--gold:#b08a4a;--gold2:#d1b178;--paper:#f7f4ee;--muted:#6d7074;--line:#ded8cd;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 .65em}h1{font-size:clamp(3rem,8vw,6.8rem);font-weight:500;letter-spacing:-.045em}h2{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:500;letter-spacing:-.035em}h3{font-size:1.55rem;font-weight:500}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;font-weight:700;color:var(--gold);margin-bottom:1rem}.lead{font-size:clamp(1.1rem,2vw,1.35rem);max-width:760px;color:#35383b}.site-header{position:sticky;top:0;z-index:50;background:rgba(16,24,32,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}.brand img{width:82px;filter:brightness(0) invert(1);opacity:.95}.brand span{font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;color:#ddd}.nav{display:flex;align-items:center;gap:23px}.nav a{color:#eee;text-decoration:none;font-size:.92rem}.nav a:hover,.nav a[aria-current=page]{color:var(--gold2)}.menu-button{display:none;background:none;border:1px solid #5e6670;color:white;padding:9px 12px;border-radius:3px}.hero{min-height:78vh;display:grid;align-items:end;color:#fff;background:linear-gradient(90deg,rgba(6,12,17,.92) 0%,rgba(6,12,17,.68) 48%,rgba(6,12,17,.2) 100%),url('images/hero-law.jpg') center/cover no-repeat;padding:90px 0 80px}.hero-copy{max-width:850px}.hero h1 span{color:var(--gold2)}.hero .lead{color:#e5e5e5;max-width:690px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;text-decoration:none;border:1px solid var(--gold);background:var(--gold);color:#111;font-weight:700;font-size:.9rem}.btn.alt{background:transparent;color:#fff;border-color:#8c949d}.section{padding:92px 0}.section.paper{background:var(--paper)}.section.dark{background:var(--navy);color:#fff}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);padding:30px;background:#fff}.dark .card{background:#151f29;border-color:#293846}.card p{color:#555}.dark .card p{color:#c6cbd0}.service-card{min-height:270px;display:flex;flex-direction:column}.service-card .num{font-family:Georgia,serif;font-size:2.4rem;color:var(--gold);margin-bottom:auto}.service-card a{font-weight:700;text-decoration:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ddd;border-bottom:1px solid #ddd}.stat{padding:30px 24px;border-right:1px solid #ddd}.stat:last-child{border-right:0}.stat strong{display:block;font:500 2.2rem Georgia,serif;color:var(--gold)}.portrait{border:1px solid var(--line);padding:12px;background:#fff}.portrait img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover;image-rendering:auto}.quote{font:italic 1.5rem Georgia,serif;color:#3f4245;border-left:3px solid var(--gold);padding-left:25px}.list-clean{padding:0;margin:0;list-style:none}.list-clean li{padding:13px 0;border-bottom:1px solid var(--line)}.client-grid{columns:2;column-gap:55px}.client-grid li{break-inside:avoid}.publication-list{counter-reset:pub;padding:0;list-style:none}.publication-list li{counter-increment:pub;position:relative;padding:20px 0 20px 54px;border-bottom:1px solid var(--line)}.publication-list li:before{content:counter(pub,decimal-leading-zero);position:absolute;left:0;top:19px;color:var(--gold);font:500 1.1rem Georgia,serif}.publication-list a{color:#6d4f24}.page-hero{background:var(--navy);color:#fff;padding:105px 0 70px;border-bottom:1px solid #25313d}.page-hero h1{font-size:clamp(3rem,7vw,5.6rem)}.breadcrumbs{font-size:.83rem;color:#aeb5bc;margin-bottom:25px}.breadcrumbs a{color:#d7dce0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-card{background:var(--navy);color:white;padding:38px}.contact-card a{color:var(--gold2)}.contact-card dt{color:#9aa3ac;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.contact-card dd{margin:3px 0 24px}.footer{background:#0a1015;color:#aab0b5;padding:55px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.footer a{color:#d8dde0;text-decoration:none}.footer-logo{width:120px;filter:brightness(0) invert(1);opacity:.9}.footer small{display:block;margin-top:45px;padding-top:22px;border-top:1px solid #29323a}.note{font-size:.86rem;color:#777}.prose{max-width:820px}.prose p{margin:0 0 1.4em}.prose h2,.prose h3{margin-top:1.4em}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tag{border:1px solid var(--line);padding:6px 10px;font-size:.78rem;background:#fff}.language-list{display:flex;gap:10px;flex-wrap:wrap}.language-list span{padding:8px 11px;border:1px solid var(--line);font-size:.85rem}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:99}
@media(max-width:850px){.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:#101820;padding:18px 20px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.brand span{display:none}.grid-2,.grid-3,.contact-grid,.footer-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.client-grid{columns:1}.hero{min-height:72vh}.section{padding:70px 0}}
@media(max-width:520px){.container{width:min(var(--max),calc(100% - 28px))}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid #ddd}.stat:last-child{border-bottom:0}.hero{padding:70px 0 55px}.page-hero{padding:80px 0 50px}}


/* KLG bilingual UI patch: language switch + improved dark-background subtitle contrast */
.lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 1rem;
  white-space: nowrap;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
}
.lang-switch a {
  color: rgba(255,255,255,0.82);
  text-decoration: none;
}
.lang-switch a:hover,
.lang-switch a:focus {
  color: #fff;
}
.lang-switch a.active {
  color: #d7a94a;
}
.lang-switch span {
  color: rgba(255,255,255,0.38);
}

/* Only increase contrast for secondary/lead text inside dark hero/page-header areas. */
.hero p,
.page-hero p,
.page-header p,
.hero .lead,
.page-hero .lead,
.page-header .lead,
.hero .intro,
.page-hero .intro,
.page-header .intro,
.hero .subtitle,
.page-hero .subtitle,
.page-header .subtitle {
  color: rgba(255,255,255,0.76) !important;
}

@media (max-width: 900px) {
  .lang-switch {
    margin-left: 0;
    padding-top: 0.5rem;
  }
}
