:root{--navy:#0d2638;--navy-2:#173d54;--gold:#be985b;--ivory:#f8f6f1;--white:#fff;--mist:#eaf0ee;--slate:#637683;--line:#d7dfdd;--ink:#10293a;--shadow:0 28px 65px rgba(9,34,49,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:10px;z-index:99;background:var(--white);padding:12px 16px;color:var(--navy)}.skip-link:focus{left:10px}.header{position:sticky;top:0;z-index:50;background:rgba(248,246,241,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,41,58,.08)}.nav-shell{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;align-items:center;gap:11px}.monogram{width:36px;height:36px;border:1px solid var(--gold);display:grid;place-items:center;font-family:Georgia,serif;font-size:13px;font-weight:bold;color:var(--gold)}.wordmark-type{display:flex;flex-direction:column;font-size:12px;line-height:1.08;letter-spacing:.01em}.wordmark-type small{font-size:9px;letter-spacing:.18em;margin-top:3px}.primary-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:700;color:#526672}.primary-nav a:hover{color:var(--navy)}.nav-contact{padding:10px 13px;border:1px solid var(--gold);color:var(--ink)!important}.nav-contact span{margin-left:6px}.language-switch{display:flex;align-items:center;gap:6px;color:#7b8b94;font-size:11px;font-weight:850;letter-spacing:.08em;white-space:nowrap}.language-switch button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:11px;font-weight:850;letter-spacing:.08em;padding:7px 5px}.language-switch button.is-active{color:var(--navy)}.language-switch button:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.menu-toggle{display:none;background:transparent;border:0;width:42px;height:42px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--navy);margin:6px auto}.hero{min-height:720px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--navy);color:var(--white);padding:110px 0 100px}.hero-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.042) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.042) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black 0,rgba(0,0,0,.75) 62%,transparent 100%)}.hero-orbit{position:absolute;border:1px solid rgba(190,152,91,.46);border-radius:50%;pointer-events:none}.orbit-one{width:700px;height:700px;right:-155px;top:-210px;box-shadow:0 0 0 80px rgba(190,152,91,.055),0 0 0 160px rgba(190,152,91,.025)}.orbit-two{width:320px;height:320px;right:150px;bottom:-230px;border-color:rgba(255,255,255,.13)}.hero-layout{display:grid;grid-template-columns:1fr 250px;gap:90px;align-items:end;position:relative;z-index:1}.kicker{color:var(--gold);font-size:11px;font-weight:850;letter-spacing:.07em;margin:0 0 16px}.kicker.inverse{color:#d7e0df}.kicker.gold{color:#e2bd80}.hero h1{font-size:clamp(47px,6vw,82px);letter-spacing:-.065em;line-height:.99;max-width:880px;margin:0 0 30px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#dce7e8}.hero-lead{max-width:660px;color:#cedbe0;font-size:20px;line-height:1.45;margin:0}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 18px;font-size:13px;font-weight:850}.button span{font-size:20px;line-height:1}.button-gold{background:var(--gold);color:var(--navy)}.inline-link{display:inline-flex;gap:10px;align-items:center;font-size:13px;font-weight:800}.inline-link span{font-size:18px}.inline-link.inverse{color:#fff}.hero-aside{border-left:1px solid rgba(255,255,255,.2);padding-left:20px;color:#d1dee2;font-size:14px;line-height:1.55}.hero-aside p{margin:0}.hero-aside p:first-child{font-size:10px;letter-spacing:.08em;color:#e1bd80;font-weight:800}.hero-aside span{display:block;width:56px;height:1px;background:var(--gold);margin:22px 0}.hero-foot{position:absolute;z-index:2;bottom:28px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;color:#9bafb9;font-size:10px;font-weight:800;letter-spacing:.08em}.section{padding:125px 0}.editorial-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:105px}.firm h2,.section-top h2,.credential-intro h2,.team h2,.clients h2,.contact h2{font-size:clamp(39px,4.2vw,61px);line-height:1.04;letter-spacing:-.055em;margin:0}.firm-copy{padding-top:35px}.lead{font-size:22px;font-weight:600;line-height:1.42;margin:0 0 24px}.firm-copy>p:not(.lead),.section-top>p,.clients-sticky>p{color:var(--slate);font-size:17px}.firm-copy .inline-link{margin-top:12px}.principles{padding:112px 0;background:var(--navy);color:#fff}.principles-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.principles-title h2{font-size:clamp(44px,5vw,71px);line-height:1.01;letter-spacing:-.06em;margin:0}.principles-title h2 span{font-family:Georgia,serif;font-weight:400;color:#d6e2e3}.inverse{color:#f4f7f8}.principles-body .lead{max-width:620px}.principle-list{margin-top:40px;border-top:1px solid var(--gold);display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:25px}.principle-list article span{font-size:11px;color:var(--gold);font-weight:850}.principle-list h3{font-size:17px;color:#e2bd80;margin:21px 0 8px}.principle-list p{font-size:14px;color:#dce6e8;margin:0}.section-top{display:grid;grid-template-columns:1.05fr .72fr;gap:85px;align-items:end;margin-bottom:55px}.section-top>p{margin:0 0 6px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.practice-card{position:relative;min-height:265px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.3);transition:.25s ease}.practice-card:hover{background:var(--navy);color:#fff;transform:translateY(-4px);box-shadow:0 13px 26px rgba(16,41,58,.11)}.practice-card>span{color:var(--gold);font-size:11px;font-weight:850}.practice-card h3{font-size:22px;line-height:1.13;letter-spacing:-.035em;margin:41px 0 14px}.practice-card p{font-size:14px;color:var(--slate);margin:0}.practice-card:hover p{color:#d6e0e4}.credentials{background:var(--mist);padding:0}.credential-layout{display:grid;grid-template-columns:.9fr 1.1fr}.credential-intro{background:var(--navy-2);color:#fff;padding:94px 72px}.credential-intro h2{font-size:48px}.credential-intro>p:last-child{color:#d8e5e6;max-width:420px}.credential-cards{padding:70px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.credential-cards article{background:var(--ivory);border:1px solid rgba(16,41,58,.08);padding:28px;min-height:190px}.credential-cards span{font-size:11px;color:var(--gold);font-weight:850;letter-spacing:.04em}.credential-cards p{font-size:15px;line-height:1.45;margin:25px 0 0}.team-top{margin-bottom:48px}.principal-profile{display:grid;grid-template-columns:380px 1fr;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.profile-image{overflow:hidden;background:linear-gradient(135deg,#f4f5f2,#dfe6e5)}.profile-image img{width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom}.profile-image-main{min-height:472px;background:#e8ecec}.profile-content{padding:48px 54px}.profile-content h3{font-size:36px;letter-spacing:-.045em;margin:0 0 23px}.profile-lead{font-size:20px;font-weight:600;line-height:1.4;max-width:650px;margin:0 0 18px}.profile-content ul{margin:0;padding-left:20px;color:var(--slate)}.profile-content li{margin:8px 0}.profile-content li::marker{color:var(--gold)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.team-profile{background:#edf2f1;min-height:255px;display:grid;grid-template-columns:148px 1fr}.team-profile .profile-image{height:255px;background:var(--ivory)}.team-profile>div:last-child{padding:34px 28px}.team-profile h3{font-size:22px;letter-spacing:-.035em;margin:0 0 20px}.team-profile p{color:var(--slate);margin:0 0 20px}.team-profile a{font-weight:800;font-size:12px}.clients{background:#f0f3f1}.clients-layout{display:grid;grid-template-columns:.77fr 1.23fr;gap:86px}.clients-sticky{align-self:start;position:sticky;top:115px}.clients-sticky h2{font-size:clamp(34px,3.6vw,53px);margin-bottom:25px}.client-total{display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--gold);padding-top:19px;margin-top:32px}.client-total strong{font-family:Georgia,serif;font-size:52px;color:var(--navy);line-height:1}.client-total span{color:var(--slate);font-size:13px;max-width:130px}.client-directory{background:var(--ivory);border:1px solid var(--line);padding:28px}.client-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:19px}.client-search{display:flex;align-items:center;gap:9px;flex:1;color:var(--gold)}.client-search input{border:0;background:transparent;outline:0;width:100%;color:var(--ink);font-size:15px}.client-search input::placeholder{color:#84929a}.client-toolbar>span{font-size:12px;color:var(--slate);font-weight:700;white-space:nowrap}.alphabet{display:flex;flex-wrap:wrap;gap:5px;padding:18px 0}.alphabet button{border:1px solid transparent;background:transparent;color:var(--slate);font-size:11px;font-weight:800;padding:5px 7px;cursor:pointer}.alphabet button:hover,.alphabet button.is-active{color:var(--ivory);background:var(--navy)}.client-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-list span{min-height:58px;display:flex;align-items:center;padding:13px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;font-weight:750;letter-spacing:.01em;line-height:1.28}.client-list span[hidden]{display:none}.empty-state{color:var(--slate);margin:24px 0 0}.contact{background:var(--navy);color:#fff;padding:115px 0}.contact-layout{display:grid;grid-template-columns:1fr .92fr;gap:100px}.contact h2{max-width:660px;margin-bottom:25px}.contact-card{background:#fff;color:var(--ink);padding:38px;display:grid;gap:25px;align-content:start}.contact-card span{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.07em;font-weight:850}.contact-card p{margin:6px 0 0;line-height:1.55}.contact-card a:not(.button){font-weight:750}.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-button{margin-top:6px}.footer{background:#081d2b;color:#aebdc4;border-top:1px solid rgba(255,255,255,.11);font-size:11px}.footer .shell{min-height:66px;display:flex;justify-content:space-between;align-items:center}
@media(max-width:950px){.shell{width:min(100% - 40px,1200px)}.nav-shell{gap:18px}.primary-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ivory);padding:16px 20px 25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.primary-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.nav-contact{text-align:center}.language-switch{order:4}.hero-layout,.editorial-grid,.principles-grid,.section-top,.contact-layout,.clients-layout{grid-template-columns:1fr;gap:38px}.hero-aside{display:none}.hero{min-height:650px}.principle-list{grid-template-columns:1fr 1fr}.credential-layout{grid-template-columns:1fr}.credential-intro{padding:70px 40px}.clients-sticky{position:static}.principal-profile{grid-template-columns:300px 1fr}.profile-content{padding:38px}.hero-foot{width:calc(100% - 40px)}.contact h2{font-size:52px}}
@media(max-width:620px){.shell{width:calc(100% - 34px)}.nav-shell{min-height:67px;gap:11px}.primary-nav{top:67px}.wordmark-type{font-size:10px}.monogram{width:31px;height:31px}.language-switch{font-size:10px;gap:3px}.language-switch button{font-size:10px;padding:6px 3px}.hero{min-height:610px;padding:80px 0}.hero h1{font-size:45px}.hero-lead{font-size:18px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-foot{font-size:8px;gap:18px}.section{padding:83px 0}.principles{padding:82px 0}.principle-list,.practice-grid,.credential-cards,.team-grid,.client-list,.contact-split{grid-template-columns:1fr}.principles-title h2{font-size:47px}.section-top h2,.firm h2,.credentials h2,.team h2,.clients h2,.contact h2{font-size:39px}.credential-intro{padding:62px 28px}.credential-intro h2{font-size:40px}.credential-cards{padding:24px 17px}.principal-profile{grid-template-columns:1fr}.profile-image-main{min-height:360px}.profile-content{padding:30px 24px}.profile-content h3{font-size:29px}.team-profile{grid-template-columns:118px 1fr}.team-profile .profile-image{height:100%}.team-profile>div:last-child{padding:26px 20px}.client-directory{padding:19px}.client-toolbar{align-items:flex-start;flex-direction:column}.footer .shell{padding:18px 0;align-items:flex-start;flex-direction:column;gap:5px}.contact{padding:84px 0}}

/* Alignment refinement: body copy is fully justified while headings and short labels retain their editorial rhythm. */
.hero-lead,
.hero-aside p,
.firm-copy p,
.section-top > p,
.principles-body .lead,
.principle-list p,
.practice-card p,
.credential-intro > p,
.credential-cards p,
.profile-lead,
.profile-content li,
.team-profile p,
.clients-sticky > p,
.client-total span,
.contact-card p {
  text-align: justify;
  text-align-last: left;
  hyphens: auto;
  -webkit-hyphens: auto;
}

@media (max-width: 620px) {
  .hero-lead,
  .hero-aside p,
  .firm-copy p,
  .section-top > p,
  .principles-body .lead,
  .principle-list p,
  .practice-card p,
  .credential-intro > p,
  .credential-cards p,
  .profile-lead,
  .profile-content li,
  .team-profile p,
  .clients-sticky > p,
  .client-total span,
  .contact-card p {
    hyphens: none;
  }
}
