/* A named counterparty: editorial typography and a single company record. */
.v2-company { background:#fff; padding:68px 36px 72px; color:var(--v2-ink); }
.v2-hero ~ .v2-company { scroll-margin-top:77px; }
.v2-company-inner { max-width:1288px; margin:auto; }
.v2-company-eyebrow { font-size:16px; line-height:1.5; font-weight:500; margin:0 0 26px; display:flex; align-items:center; gap:20px; }
.v2-company-eyebrow::after { content:''; height:1px; width:68px; background:#b5bdac; }
.v2-company-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(36px,6vw,86px); align-items:end; }
.v2-company h2 { font-size:clamp(42px,4.5vw,64px); line-height:1.08; font-weight:500; letter-spacing:-.055em; margin:0; overflow-wrap:anywhere; text-wrap:balance; }
.v2-company h2 span { display:block; }
.v2-company-heading > p { font-size:18px; line-height:1.7; margin:0 0 3px; color:#555d51; text-wrap:pretty; max-width:44ch; }
.v2-company-record { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); margin-top:40px; }
.v2-company-identity { padding:32px 38px 30px; background:var(--v2-ink); color:#fff; position:relative; min-width:0; }
.v2-company-identity::before { content:''; position:absolute; top:0; left:0; width:100%; height:4px; background:var(--v2-accent); transform-origin:left; }
.v2-company-operator { margin:0 0 26px; font-size:16px; line-height:1.5; color:#ced4c8; }
.v2-company-name { margin:0; font-weight:500; font-size:clamp(54px,6.7vw,88px); line-height:.97; letter-spacing:-.055em; }
.v2-company-name > span { display:block; }
.v2-company-name > span + span { color:var(--v2-accent); }
.v2-company-name small { display:block; font-size:20px; line-height:1.5; font-weight:400; letter-spacing:0; margin-top:13px; }
.v2-company-role { margin:26px 0 0; border-top:1px solid #51594a; padding-top:18px; color:#ced4c8; font-size:16px; line-height:1.6; }
.v2-company-data { min-width:0; padding:34px 34px 26px; background:#f1f3eb; display:flex; flex-direction:column; }
.v2-company-data dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0; }
.v2-company-data dt { font-size:16px; line-height:1.5; color:#555d51; margin:0 0 9px; text-wrap:pretty; }
.v2-company-data dd { margin:0; font-size:24px; line-height:1.45; font-variant-numeric:tabular-nums; letter-spacing:-.025em; }
.v2-company-data address { font:inherit; }
.v2-company-address { grid-column:1/-1; border-bottom:1px solid #cbd0c4; padding-bottom:24px; }
.v2-company-details { position:relative; isolation:isolate; overflow:hidden; margin-top:auto; padding:14px 0 0; display:flex; justify-content:space-between; align-items:center; gap:18px; font-size:17px; line-height:1.5; }
.v2-company-details > span:first-child { min-width:0; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.v2-company-details-icon { display:grid; place-items:center; width:44px; height:44px; flex:none; border:1px solid #acb59f; position:relative; isolation:isolate; overflow:hidden; }
.v2-company-details-icon::before { content:''; position:absolute; inset:0; background:var(--v2-accent); transform:scaleX(0); transform-origin:left; z-index:-1; transition:transform .35s cubic-bezier(.25,1,.5,1); }
.v2-company-details-icon svg { width:22px; height:22px; transition:transform .25s; }
.v2-company-details:is(:hover,:focus-visible) .v2-company-details-icon::before { transform:scaleX(1); }
.v2-company-details:is(:hover,:focus-visible) svg { transform:rotate(-45deg); }
.v2-company-details:is(:hover,:focus-visible) { color:#425331; }
.v2-company-details:active .v2-company-details-icon { transform:translateY(1px); }
.v2-company-details:focus-visible { outline:2px solid #526440; outline-offset:5px; }
.v2-company-record.is-visible .v2-company-identity::before { animation:v2-company-line .6s cubic-bezier(.25,1,.5,1) both; }
.v2-company-record.is-visible .v2-company-name > span { animation:v2-company-type .45s ease-out both; }
.v2-company-record.is-visible .v2-company-name > span + span { animation-delay:.06s; }
@keyframes v2-company-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes v2-company-type { from { transform:translateY(8px); } to { transform:translateY(0); } }
@media(min-width:1301px) { .v2-hero ~ .v2-company { scroll-margin-top:89px; } }
@media(max-width:1100px) {
  .v2-company-heading { gap:36px; }
  .v2-company-record { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-company-identity { padding:30px; }
  .v2-company-name { font-size:64px; }
  .v2-company-data { padding:30px 26px 24px; }
  .v2-company-data dl { column-gap:18px; }
  .v2-company-data dd { font-size:22px; }
}
@media(max-width:900px) {
  .v2-company-heading { grid-template-columns:minmax(0,1fr); gap:24px; }
  .v2-company-heading > p { max-width:55ch; }
  .v2-company-record { grid-template-columns:minmax(0,1fr); }
  .v2-company-identity { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); column-gap:28px; }
  .v2-company-operator { grid-column:1; margin:0; }
  .v2-company-name { grid-column:2; grid-row:1/3; font-size:clamp(44px,8.3vw,74px); }
  .v2-company-role { grid-column:1; align-self:end; margin:24px 0 0; }
  .v2-company-data { padding:28px 30px 22px; }
  .v2-company-data dl { grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr)); column-gap:26px; }
  .v2-company-address { grid-column:auto; border-bottom:0; padding-bottom:0; }
  .v2-company-data address { font-size:20px; }
  .v2-company-details { margin-top:24px; padding-top:17px; border-top:1px solid #cbd0c4; }
}
@media(max-width:760px) {
  .v2-company { padding:44px 24px 48px; }
  .v2-hero ~ .v2-company { scroll-margin-top:73px; }
  .v2-company-eyebrow { margin-bottom:23px; }
  .v2-company-eyebrow::after { flex:1; max-width:68px; }
  .v2-company h2 { font-size:clamp(35px,8.6vw,52px); line-height:1.1; }
  .v2-company-heading > p { line-height:1.65; }
  .v2-company-record { margin-top:30px; }
}
@media(max-width:600px) {
  .v2-company-identity { display:block; padding:24px; }
  .v2-company-operator { margin-bottom:22px; }
  .v2-company-name { font-size:clamp(38px,10vw,58px); }
  .v2-company-name small { margin-top:12px; font-size:18px; }
  .v2-company-role { margin-top:22px; padding-top:16px; }
  .v2-company-data { padding:24px; }
  .v2-company-data dl { grid-template-columns:minmax(0,1fr); gap:22px; }
  .v2-company-address { padding-bottom:22px; border-bottom:1px solid #cbd0c4; }
  .v2-company-data address, .v2-company-data dd { font-size:22px; }
  .v2-company-details { gap:14px; padding-top:18px; margin-top:24px; }
}
@media(min-width:601px) and (max-width:1100px) {
  .v2-company-data dl > div:not(.v2-company-address) dt { min-height:3em; }
}
@media(prefers-reduced-motion:reduce) {
  .v2-company-record.is-visible .v2-company-identity::before, .v2-company-record.is-visible .v2-company-name > span { animation:none; }
  .v2-company-details-icon::before, .v2-company-details-icon svg { transition:none; }
}
