/* Shared company-page layer: same Holdings world, with a quieter dossier rhythm. */
.company-page { background: var(--paper); }
.company-page .site-header { background: rgba(244,240,231,.9); }
.company-page .desktop-nav { margin-right: 24px; }
.company-page .brand { flex-shrink: 0; }
.company-back { display: inline-flex; align-items: center; gap: 9px; color: var(--ink-soft); font-size: .72rem; }
.company-back:hover { color: var(--cobalt); }

.company-hero { padding: 164px 0 112px; background: linear-gradient(124deg, var(--paper-2) 0%, var(--paper) 61%, #e9edf1 100%); }
.company-hero-grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(320px, .74fr); align-items: end; gap: clamp(54px, 9vw, 150px); }
.company-page .eyebrow { color: var(--ink-soft); font-size: 12px; font-weight: 400; letter-spacing: .04em; text-transform: none; }
.company-kicker { display: flex; align-items: center; gap: 12px; color: var(--ink-soft); font-size: 12px; font-weight: 400; letter-spacing: .04em; }
.company-kicker::before { content: ""; display: block; width: 28px; height: 1px; background: var(--cobalt); }
.company-hero h1 { max-width: 760px; margin-top: 25px; font-size: var(--type-hero); line-height: 1.03; }
.company-hero h1 em { color: var(--cobalt); font-style: normal; }
.company-hero-deck { max-width: 625px; margin-top: 31px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.68; }
.company-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 36px; }
.company-hero-note { margin-top: 43px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.55; }
.company-hero-note strong { color: var(--ink); font-weight: 600; }
.company-profile { padding: 24px; border: 1px solid rgba(20, 35, 63,.28); background: rgba(251,250,245,.73); box-shadow: 12px 12px 0 rgba(20, 35, 63,.06); }
.company-profile-label { color: var(--ink-soft); font-size: 12px; font-weight: 400; letter-spacing: .04em; }
.company-profile h2 { margin-top: 24px; font-family: var(--sans); font-size: 30px; line-height: 1.2; letter-spacing: 0; }
.company-profile p { margin-top: 18px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.65; }
.company-profile dl { display: grid; gap: 0; margin-top: 27px; border-top: 1px solid var(--line); }
.company-profile dl div { display: grid; grid-template-columns: 100px 1fr; gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.company-profile dt { color: var(--ink-soft); font-size: 12px; letter-spacing: .02em; }
.company-profile dd { margin: 0; font-size: var(--type-body); line-height: 1.45; }
.company-profile dd a { color: var(--cobalt); text-decoration: underline; text-decoration-color: rgba(47, 91, 213,.3); text-underline-offset: 3px; }
.company-profile dd a:hover { text-decoration-color: var(--cobalt); }

.company-section { padding: 118px 0; }
.company-section--mist { background: var(--mist); }
.company-section--navy { background: var(--navy); color: var(--paper-2); }
.company-section--blue { background: #e1e6ef; }
.company-section-intro { display: grid; grid-template-columns: minmax(0, .88fr) minmax(280px, .72fr); align-items: end; gap: clamp(40px, 8vw, 130px); }
.company-section-intro h2 { margin-top: 18px; font-size: var(--type-section); }
.company-section-intro h2 em { color: var(--cobalt); font-style: normal; }
.company-section--navy .company-section-intro h2 em { color: var(--cobalt-soft); }
.company-section-intro > p { max-width: 510px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.72; }
.company-section--navy .company-section-intro > p { color: rgba(251,250,245,.66); }
.company-section--blue .company-section-intro > p { color: var(--ink-soft); }

.company-capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin-top: 64px; }

.company-capability { min-height: 210px; padding: 22px 0 18px; border-top: 1px solid var(--line); }
.company-section--navy .company-capability { border-color: var(--line-light); }
.company-capability-index { color: var(--ink-soft); font-size: 12px; letter-spacing: .02em; }
.company-section--navy .company-capability-index { color: var(--cobalt-soft); }
.company-capability h3 { margin-top: 21px; font-family: var(--sans); font-size: var(--type-title); line-height: 1.25; letter-spacing: 0; }
.company-capability p { margin-top: 12px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.62; }
.company-section--navy .company-capability p { color: rgba(251,250,245,.61); }

.company-roster { margin-top: 67px; padding-top: 27px; border-top: 1px solid var(--line); }
.company-roster-intro { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 9vw; align-items: end; }
.company-roster-intro > .eyebrow { grid-column: 1; grid-row: 1; }
.company-roster-intro > h3 { grid-column: 1; grid-row: 2; }
.company-roster-intro > p:last-child { grid-column: 2; grid-row: 1 / span 2; }
.company-roster-intro h3 { margin-top: 16px; font-family: var(--sans); font-size: var(--type-title); line-height: 1.25; letter-spacing: 0; }
.company-roster-intro > p:last-child { max-width: 520px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.62; }
.company-member-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 24px; margin-top: 35px; border-top: 1px solid var(--line); }
.company-member-grid article { min-height: 108px; padding: 17px 0 15px; border-bottom: 1px solid var(--line); }
.company-member-grid h4 { font-family: var(--sans); font-size: 16px; font-weight: 500; line-height: 1.25; letter-spacing: 0; }
.company-member-grid p { margin-top: 8px; color: var(--ink-soft); font-size: 14px; line-height: 1.48; }
.company-roster-note { margin-top: 18px; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }

.company-experience { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 9vw; margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--line-light); }
.company-experience > p { color: rgba(251,250,245,.65); font-size: var(--type-body); line-height: 1.62; }
.company-experience > p.eyebrow { color: var(--cobalt-soft); font-size: 12px; }
.company-experience strong { color: var(--paper-2); font-weight: 500; }
.company-experience > p:not(.eyebrow) + p:not(.eyebrow) { grid-column: 2; margin-top: -25px; }

.company-audience-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 9vw; margin-top: 62px; }
.company-audience h3 { font-family: var(--sans); font-size: var(--type-title); line-height: 1.25; letter-spacing: 0; }
.company-audience p { margin-top: 13px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.68; }
.company-audience-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 27px; border-top: 1px solid var(--line); }
.company-audience-list article { padding: 21px 0; border-bottom: 1px solid var(--line); }
.company-audience-list span { color: var(--ink-soft); font-size: 12px; letter-spacing: .02em; }
.company-audience-list h4 { margin-top: 12px; font-family: var(--sans); font-size: 18px; font-weight: 500; line-height: 1.3; }
.company-audience-list p { margin-top: 8px; font-size: var(--type-body); line-height: 1.58; }

.company-process { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 9vw; margin-top: 61px; }
.company-process-intro p { max-width: 360px; margin-top: 17px; color: rgba(251,250,245,.62); font-size: var(--type-body); line-height: 1.68; }
.company-process-list { border-top: 1px solid var(--line-light); }
.company-process-compact { margin-top: 48px; }
.company-process-step { display: grid; grid-template-columns: 46px minmax(170px, .65fr) 1fr; align-items: start; gap: 18px; padding: 22px 12px; border-bottom: 1px solid var(--line-light); }
.company-process-step > span { color: rgba(251,250,245,.62); font-size: 12px; }
.company-process-step h3 { font-family: var(--sans); font-size: 20px; line-height: 1.3; letter-spacing: 0; }
.company-process-step p { color: rgba(251,250,245,.6); font-size: var(--type-body); line-height: 1.6; }

.company-proof-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); gap: 7vw; margin-top: 61px; }
.company-proof-ledger { border-top: 1px solid var(--line); }
.company-proof-row { display: grid; grid-template-columns: 150px 1fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.company-proof-row > span { color: var(--ink-soft); font-size: 12px; letter-spacing: .02em; }
.company-proof-row p { font-size: var(--type-body); line-height: 1.62; }
.company-proof-row p small { display: block; margin-top: 9px; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.company-proof-aside { align-self: end; padding: 24px; border: 1px solid rgba(20, 35, 63,.22); background: rgba(251,250,245,.55); }
.company-proof-aside > span { color: var(--ink-soft); font-size: 12px; letter-spacing: .02em; }
.company-proof-aside h3 { margin-top: 18px; font-family: var(--sans); font-size: 28px; line-height: 1.2; letter-spacing: 0; }
.company-proof-aside p { margin-top: 17px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.62; }
.company-proof-aside .button { margin-top: 22px; }

.company-contact { padding: 48px 0; background: #e1e6ef; }
.company-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .78fr); align-items: end; gap: 9vw; }
.company-contact h2 { margin-top: 18px; font-size: var(--type-section); }
.company-contact h2 em { color: var(--cobalt); font-style: normal; }
.company-contact p { max-width: 490px; margin-top: 22px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.68; }
.company-contact-card { padding: 25px; border: 1px solid rgba(20, 35, 63,.28); background: rgba(251,250,245,.72); }
.company-contact-card > span { color: var(--ink-soft); font-size: 12px; letter-spacing: .02em; }
.company-contact-card h3 { margin-top: 18px; font-family: var(--sans); font-size: 20px; line-height: 1.3; letter-spacing: 0; }
.company-contact-card p { margin-top: 12px; font-size: var(--type-body); }
.company-contact-card .button { margin-top: 20px; }
.company-directory { margin-top: 45px; padding-top: 21px; border-top: 1px solid rgba(20, 35, 63,.22); }
.company-directory span { color: var(--ink-soft); font-size: 12px; letter-spacing: .02em; }
.company-directory nav { display: flex; flex-wrap: wrap; gap: 9px 22px; margin-top: 13px; color: var(--cobalt); font-size: .83rem; }
.company-directory a:hover { text-decoration: underline; text-underline-offset: 4px; }

.company-page .site-footer { margin-top: 0; }
.company-page .footer-links { gap: 8px; }

@media (max-width: 980px) {
  .company-hero-grid, .company-section-intro, .company-audience-grid, .company-process, .company-proof-grid, .company-contact-grid { grid-template-columns: 1fr; gap: 42px; }
  .company-capability-grid { grid-template-columns: 1fr 1fr; }
  .company-profile { max-width: 650px; }
  .company-process-intro p { max-width: 570px; }
  .company-proof-aside { max-width: 560px; }
  .company-roster-intro, .company-experience { grid-template-columns: 1fr; gap: 20px; }
  .company-experience > p:not(.eyebrow) + p:not(.eyebrow) { grid-column: 1; margin-top: 0; }
}

@media (max-width: 700px) {
  .company-hero { padding: 126px 0 78px; }
  .company-hero h1 { margin-top: 20px; font-size: var(--type-hero); }
  .company-hero-deck { margin-top: 23px; font-size: var(--type-body); }
  .company-hero-actions { margin-top: 27px; }
  .company-hero-note { margin-top: 33px; font-size: var(--type-body); }
  .company-profile { padding: 19px; box-shadow: 8px 8px 0 rgba(20, 35, 63,.06); }
  .company-profile h2 { margin-top: 18px; font-size: 26px; }
  .company-profile dl { margin-top: 21px; }
  .company-profile dl div { grid-template-columns: 86px 1fr; gap: 12px; padding: 11px 0; }
  .company-section { padding: 82px 0; }
  .company-section-intro h2 { font-size: var(--type-section); }
  .company-section-intro > p { font-size: var(--type-body); }
  .company-capability-grid { grid-template-columns: 1fr; gap: 0; margin-top: 39px; }
  .company-capability { min-height: 0; padding: 19px 0 20px; }
  .company-capability h3 { margin-top: 13px; font-size: 20px; }
  .company-capability p { font-size: var(--type-body); }
  .company-audience-grid, .company-process, .company-proof-grid { margin-top: 39px; }
  .company-process-compact { margin-top: 39px; }
  .company-audience-list { grid-template-columns: 1fr; }
  .company-process-step { grid-template-columns: 31px 1fr; gap: 9px; padding: 19px 0; }
  .company-process-step p { grid-column: 2; margin-top: 3px; font-size: var(--type-body); }
  .company-proof-row { grid-template-columns: 1fr; gap: 8px; padding: 17px 0; }
  .company-proof-row p { font-size: var(--type-body); }
  .company-contact { padding: 36px 0; }
  .company-contact h2 { font-size: var(--type-section); }
  .company-contact p { font-size: var(--type-body); }
  .company-contact-card { padding: 19px; }
  .company-directory nav { gap: 9px 16px; font-size: .79rem; }
  .company-roster { margin-top: 45px; }
  .company-member-grid { grid-template-columns: 1fr 1fr; gap: 0 18px; margin-top: 27px; }
  .company-member-grid article { min-height: 0; padding: 15px 0; }
  .company-member-grid h4 { font-size: 15px; }
  .company-member-grid p { font-size: 13px; }
  .company-experience { margin-top: 39px; }
}

/* Gemini review: group mobile capability titles with their explanations. */
@media (max-width:700px) {
 .company-capability { padding:25px 0; }
 .company-capability h3 { margin-top:11px; }
 .company-capability p { margin-top:8px; }
}

/* Allow long company names and website addresses to fit narrow phones. */
.company-hero-grid > *, .company-profile dl div > * { min-width:0; }
.company-profile dd { overflow-wrap:anywhere; }
.company-section--navy .eyebrow { color:#c1c9d5; }
@media(max-width:700px) {
 .company-member-grid p { font-size:14px; }
 .company-roster-intro { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:980px) {
 .company-roster-intro > .eyebrow, .company-roster-intro > h3, .company-roster-intro > p:last-child { grid-column:1; grid-row:auto; }
 .company-roster-intro h3 { margin-top:0; }
}
