.company-page { --company-ink:#0b1726; --company-muted:#526070; --company-blue:#375bd5; --company-line:#d5dde4; color:var(--company-ink); background:#fff; font-family:var(--sans,Arial,sans-serif); }
.company-page *, .company-page *::before, .company-page *::after { box-sizing:border-box; }
.company-page :is(h1,h2,h3,h4,p,figure,dl,dd) { margin:0; }
.company-page :is(h1,h2,h3,h4) { color:inherit; text-align:left; font-weight:500; letter-spacing:-.035em; overflow-wrap:break-word; }
.company-page p { font-size:17px; line-height:1.7; }
.company-page a { color:inherit; text-decoration:none; }
.company-page a:focus-visible { outline:3px solid #7498ff; outline-offset:5px; }
.company-page [id] { scroll-margin-top:125px; }
.company-shell { width:var(--shell); max-width:100%; margin-inline:auto; }
.company-shell > *, .company-principal-grid > *, .company-service-row > * { min-width:0; }
.company-hero-grid > *, .company-market-grid > *, .company-contact .company-shell > * { min-width:0; }
.company-page .company-eyebrow { font-size:11px; line-height:1.5; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:var(--company-blue); }
.company-section { padding-block:88px; }
.company-page h2 { font-size:clamp(32px,3.5vw,48px); line-height:1.12; }
.company-hero { color:var(--company-ink); background:#f6f6f3; padding-top:22px; }
.company-breadcrumb { display:flex; align-items:center; gap:17px; color:var(--company-muted); font-size:12px; }
.company-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.company-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; padding:42px 0 16px; }
.company-page .company-hero h1 { margin:20px 0 0; font-size:clamp(50px,6.5vw,84px); line-height:1.07; letter-spacing:-.055em; }
.company-hero-image { position:relative; isolation:isolate; min-width:0; height:186px; overflow:hidden; background:#0b1726; }
.company-hero-image > img { display:block; width:100%; height:100%; object-fit:cover; object-position:60% 55%; }
.company-hero-image::before { content:""; position:absolute; inset:0; background:rgba(5,16,30,.52); z-index:1; }
.company-hero-image::after { content:""; position:absolute; top:18px; right:18px; width:64px; height:64px; border-top:1px solid #ffffff70; border-right:1px solid #ffffff70; z-index:2; }
.company-hero-image figcaption { position:absolute; bottom:18px; left:24px; right:24px; z-index:2; color:#fff; }
.company-image-rule { display:block; width:38px; height:3px; background:#8baeff; margin-bottom:10px; }
.company-page .company-image-markets { margin-top:10px; font-size:12px; line-height:1.6; color:#e8eef7; }
.company-image-markets span { padding-inline:5px; color:#a6bfff; }
.company-section-nav { border-top:1px solid var(--company-line); display:flex; gap:48px; }
.company-section-nav a { padding-block:22px; display:flex; gap:36px; align-items:center; font-size:14px; }
.company-section-nav a:hover { color:var(--company-blue); }
.company-section-nav span { color:var(--company-blue); }
.company-section-heading { display:flex; align-items:baseline; gap:32px; padding-bottom:30px; border-bottom:1px solid var(--company-line); margin-bottom:40px; }
.company-section-heading .company-eyebrow { flex:0 0 160px; }
.company-principal { padding-block:24px 64px; background:#fff; }
.company-principal-grid { display:grid; grid-template-columns:minmax(220px,320px) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; color:var(--company-ink); }
.company-portrait { position:relative; background:#e6ebef; }
.company-portrait { width:100%; max-width:400px; }
.company-portrait img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; object-position:center top; }
.company-portrait figcaption { position:absolute; left:18px; bottom:18px; padding:7px 11px; color:#fff; background:#0b1726; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.company-profile { padding:8px 0 0; max-width:100%; width:100%; }
.company-profile-name { padding-bottom:18px; border-bottom:1px solid transparent; background:linear-gradient(var(--company-line),var(--company-line)) left bottom / calc(100% - 50px) 1px no-repeat border-box; }
.company-profile .company-eyebrow { color:var(--company-blue); letter-spacing:.17em; }
.company-page .company-profile h3 { margin:16px 0 8px; font-size:clamp(28px,2.8vw,36px); line-height:1.15; }
.company-page .company-role { color:var(--company-muted); font-size:16px; }
.company-biography { padding-block:18px; }
.company-page .company-biography h4 { margin-bottom:12px; font-size:16px; font-weight:600; letter-spacing:0; }
.company-biography p { color:var(--company-muted); font-size:16px; line-height:1.6; }
.company-biography p + p { margin-top:13px; }
.company-profile-details { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid transparent; border-bottom:1px solid transparent; gap:24px; padding-block:16px; background-image:linear-gradient(var(--company-line),var(--company-line)),linear-gradient(var(--company-line),var(--company-line)); background-position:left top,left bottom; background-size:calc(100% - 50px) 1px; background-repeat:no-repeat; background-origin:border-box; }
.company-profile-details dt { font-size:12px; font-weight:600; margin-bottom:8px; }
.company-profile-details dd { font-size:14px; color:var(--company-muted); line-height:1.6; }
.company-text-link { display:inline-flex; align-items:center; gap:26px; min-height:48px; font-size:15px; font-weight:600; }
.company-text-link span, .company-row-arrow { transition:transform .2s ease; }
.company-text-link:hover span, .company-service-row:hover .company-row-arrow { transform:translate(3px,-3px); }
.company-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.company-profile > .company-text-link { margin-top:8px; color:var(--company-blue); width:auto; }
.company-profile > .company-text-link span { color:var(--company-blue); }
.company-profile-social { display:flex; flex-wrap:wrap; gap:4px; margin-top:16px; }
.company-profile-social a { position:relative; display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px; transition:color .2s; }
.company-profile-social a::before { content:""; position:absolute; inset:6px; border:1px solid var(--company-line); border-radius:50%; transition:background .2s,border-color .2s; }
.company-profile-social svg { position:relative; width:14px; height:14px; }
.company-profile-social a:hover { color:var(--company-blue); }
.company-profile-social a:hover::before { background:#eef2ff; border-color:var(--company-blue); }
.company-page .company-preview-note { margin-top:10px; font-size:12px; line-height:1.6; color:var(--company-muted); max-width:450px; }
.company-services { background:#f4f5f5; padding-top:64px; }
.company-services > .company-shell { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; }
.company-services-intro { display:block; }
.company-services-intro h2, .company-market-grid h2, .company-contact h2 { margin-top:14px; }
.company-services-intro > p:not(.company-eyebrow) { color:var(--company-muted); max-width:400px; margin-top:24px; }
.company-services-intro h2 { font-size:clamp(30px,3vw,42px); line-height:1.2; }
.company-client-links { display:flex; flex-wrap:wrap; gap:4px 24px; margin-top:20px; }
.company-client-links a { min-height:44px; display:flex; align-items:center; gap:12px; border-bottom:1px solid #bfcad3; font-size:14px; }
.company-client-links a:hover { color:var(--company-blue); }
.company-client-links span { color:var(--company-blue); }
.company-service-list { border-top:1px solid #bfcad3; }
.company-service-row { display:grid; grid-template-columns:1fr 28px; align-items:start; gap:12px 24px; padding:26px 0; border-bottom:1px solid #bfcad3; transition:background .2s; }
.company-service-row:hover { background:#e4ebf2; }
.company-service-row h3 { font-size:clamp(22px,2vw,27px); line-height:1.3; }
.company-service-row p { color:var(--company-muted); font-size:15px; grid-column:1; }
.company-row-arrow { justify-self:end; color:var(--company-blue); font-size:26px; grid-column:2; grid-row:1; }
.company-services .company-text-link { margin-top:20px; }
.company-market-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.company-market-grid p:not(.company-eyebrow) { max-width:450px; color:var(--company-muted); margin-top:23px; }
.company-market-links { border-top:1px solid var(--company-line); }
.company-market-links a { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:23px; border-bottom:1px solid var(--company-line); font-size:23px; letter-spacing:-.025em; }
.company-market-links a:hover { color:var(--company-blue); }
.company-market-links span { font-size:23px; color:var(--company-blue); }
.company-contact { background:#fff; color:var(--company-ink); padding-block:0 64px; }
.company-contact > .company-shell { border-top:1px solid var(--company-line); padding-top:44px; }
.company-contact .company-shell { display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:center; }
.company-contact h2 { font-size:clamp(30px,3.5vw,44px); }
.company-contact p:not(.company-eyebrow) { color:var(--company-muted); margin-top:20px; }
.company-contact-actions { justify-self:end; display:flex; flex-direction:column; align-items:stretch; gap:14px; }
.company-page .company-button { color:#fff; background:#4264e8; padding:18px 25px; min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:30px; font-size:16px; font-weight:600; }
.company-button:hover { background:#3254d8; }
.company-contact-actions .company-text-link { justify-content:space-between; }
@media (min-width:1600px) { .company-principal-grid { grid-template-columns:400px minmax(0,1fr); } }
@media (max-width:1050px) {
  .company-section { padding-block:64px; }
  .company-profile { padding:0; }
  .company-principal-grid { gap:32px; }
  .company-hero-grid { gap:32px; }
  .company-services > .company-shell { gap:40px; }
  .company-principal { padding-top:24px; }
  .company-profile-details { grid-template-columns:1fr; gap:16px; }
  .company-service-row { gap:28px; }
  .company-contact .company-shell { gap:36px; }
}
@media (max-width:700px) {
  .company-hero { padding-top:18px; }
  .company-page .company-hero h1 { margin:12px 0 0; font-size:clamp(48px,10vw,72px); }
  .company-hero-grid { grid-template-columns:1fr; gap:24px; padding:28px 0 16px; }
  .company-hero-image { height:192px; }
  .company-hero-image figcaption { left:22px; bottom:22px; right:22px; }
  .company-section-nav { gap:12px; justify-content:space-between; }
  .company-section-nav a { gap:9px; font-size:12px; padding-block:20px; }
  .company-section { padding-block:48px; }
  .company-section-heading { display:block; margin-bottom:26px; padding-bottom:25px; }
  .company-section-heading h2 { margin-top:12px; }
  .company-principal-grid { grid-template-columns:1fr; gap:28px; }
  .company-principal { padding-block:20px 48px; }
  .company-portrait { width:min(100%,280px); }
  .company-profile { padding:0; }
  .company-profile-details { grid-template-columns:1fr 1fr; gap:22px; }
  .company-services > .company-shell { grid-template-columns:1fr; gap:28px; }
  .company-services { padding-top:48px; }
  .company-services-intro { margin-bottom:0; }
  .company-service-row { grid-template-columns:1fr 28px; gap:12px 20px; padding:26px 0; }
  .company-service-row p { grid-column:1; }
  .company-row-arrow { grid-column:2; grid-row:1; }
  .company-market-grid { grid-template-columns:1fr; gap:30px; }
  .company-market-links a { font-size:21px; }
  .company-contact { padding-block:0 45px; }
  .company-contact .company-shell { grid-template-columns:1fr; gap:28px; }
  .company-contact-actions { justify-self:start; max-width:100%; }
}
@media (max-width:380px) {
  .company-profile-details { grid-template-columns:1fr; }
  .company-section-nav a { gap:5px; font-size:11px; }
  .company-section-nav { gap:8px; }
}
.company-specialties { grid-column:1 / -1; width:min(100%,650px); justify-self:end; background:#f3f5f6; border:1px solid #e1e6eb; padding:20px; box-shadow:0 12px 32px #0b172614,0 2px 6px #0b17260a; }
.company-page .company-specialties h2 { font-size:26px; line-height:1.25; margin:0 0 22px; letter-spacing:-.025em; }
.company-specialty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,192px)); gap:16px; }
.company-specialty-card { display:block; min-width:0; border:1px solid var(--company-line); background:#fff; box-shadow:0 4px 9px #0b172614; transition:border-color .2s,box-shadow .2s; }
.company-specialty-image { position:relative; overflow:hidden; background:#edf1f4; }
.company-specialty-image .company-specialty-crossfade { position:absolute; inset:0; height:100%; pointer-events:none; }
.company-specialty-image img { display:block; width:100%; height:auto; aspect-ratio:190 / 127; object-fit:cover; transition:transform .3s ease; }
.company-specialty-card > span { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 12px; min-height:40px; font-size:14px; font-weight:600; }
.company-specialty-card > span > span { color:var(--company-blue); }
.company-specialty-card:hover { border-color:var(--company-blue); box-shadow:0 6px 18px #0b172610; }
.company-specialty-card:hover img { transform:none; }
.company-specialty-controls { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:4px 16px; margin-top:12px; }
.company-specialties .company-text-link { color:#000; font-size:12px; font-weight:400; min-height:44px; transition:color .2s; }
.company-specialties .company-text-link:hover, .company-specialties .company-text-link:focus-visible { color:var(--company-blue); text-decoration:underline; text-underline-offset:4px; }
@media (min-width:1550px) {
  .company-principal-grid { grid-template-columns:360px minmax(0,1fr) 650px; gap:48px; }
  .company-profile { max-width:none; }
  .company-profile { display:flex; flex-direction:column; min-height:450px; padding-top:0; }
  .company-profile-name { padding-bottom:12px; }
  .company-page .company-profile h3 { font-size:30px; margin:10px 0 8px; }
  .company-page .company-role { font-size:14px; }
  .company-biography { padding-block:12px; }
  .company-page .company-biography h4 { margin-bottom:8px; }
  .company-biography p { font-size:14px; line-height:1.5; }
  .company-biography p + p { margin-top:8px; }
  .company-profile-details { padding-block:12px; gap:16px; }
  .company-profile-details dt { margin-bottom:6px; }
  .company-profile-details dd { font-size:13px; line-height:1.5; }
  .company-profile-social { margin-top:auto; padding-top:16px; transform:translateY(6px); }
  .company-specialties { grid-column:auto; }
  .company-specialty-grid { grid-template-columns:repeat(3,minmax(0,192px)); }
}
@media (max-width:700px) {
  .company-specialty-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .company-specialty-card > span { font-size:12px; line-height:1.25; padding:6px 8px; min-height:44px; height:44px; }
}
@media (min-width:701px) and (max-width:900px) {
  .company-hero-grid { grid-template-columns:1fr; gap:24px; padding:28px 0 16px; }
  .company-hero-image { height:192px; }
  .company-page .company-hero h1 { margin-top:12px; }
  .company-principal-grid { grid-template-columns:minmax(200px,260px) minmax(0,1fr); gap:28px; }
  .company-services > .company-shell, .company-market-grid { grid-template-columns:1fr; gap:32px; }
  .company-services-intro > p:not(.company-eyebrow), .company-market-grid p:not(.company-eyebrow) { max-width:60ch; }
  .company-contact .company-shell { grid-template-columns:1fr; gap:24px; }
  .company-contact-actions { justify-self:start; }
}
@media (max-width:380px) {
  .company-specialties { padding:16px 12px; }
  .company-specialty-grid { gap:10px; }
  .company-specialty-card > span { gap:4px; padding-inline:6px; }
  .company-contact-actions { width:100%; }
  .company-page .company-button { gap:12px; padding-inline:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .company-page *, .company-page *::before, .company-page *::after { transition:none !important; animation:none !important; }
}
