/* Company pages and the team preview share the site's existing roles. */
.company-hero { padding-top: var(--space-7); padding-bottom: var(--space-7); border-bottom: 1px solid var(--color-line); }
.company-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: end; gap: var(--space-7); }
.company-hero-grid h1 { font: var(--type-section); letter-spacing: -.045em; }
.company-hero-copy p { color: var(--color-muted); max-width: 52ch; }
.company-hero-copy .btn { margin-top: var(--space-5); }
.team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.team-section { padding-top: var(--space-8); }
.team-card { min-width: 0; overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-card); background: var(--color-white); }
.team-visual { position: relative; display: grid; place-items: center; aspect-ratio: 1.65; overflow: hidden; background: var(--color-meta); color: var(--color-white); isolation: isolate; }
.team-card.tech .team-visual { background: var(--color-pink); color: var(--color-ink); }
.team-visual::before { content: ''; position: absolute; width: 70%; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; top: 25%; left: 57%; transform: rotate(-15deg); }
.team-monogram { position: relative; font: 800 clamp(6rem, 12vw, 11rem)/1 var(--font-sans); letter-spacing: -.06em; transform: rotate(-6deg); transition: transform var(--motion-base) var(--motion-ease); }
.team-card.tech .team-monogram { transform: rotate(6deg); }
.team-card:hover .team-monogram { transform: rotate(0); }
.team-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; z-index: 1; }
.team-person { padding: var(--space-6); }
.team-role { margin-top: var(--space-2); color: var(--color-muted); font: var(--type-ui); }
.team-bio { margin-top: var(--space-5); max-width: 58ch; color: var(--color-muted); }
.team-preview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-7); align-items: center; }
.team-preview-copy > p { max-width: 52ch; color: var(--color-muted); margin-top: var(--space-5); }
.team-preview-copy > a { margin-top: var(--space-5); }
.team-preview-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.team-preview-cards .team-visual { aspect-ratio: 1.6; }
.team-preview-cards .team-monogram { font-size: 5rem; }
.team-preview-cards .team-person { padding: var(--space-5); }
.company-principles { --text: var(--color-on-dark); --text-secondary: var(--color-muted-on-dark); --border: var(--color-line-on-dark); margin-inline: var(--layout-gutter); padding: var(--space-7); border-radius: var(--radius-card); background: var(--color-dark); color: var(--text); }
.company-principles .section-label { color: var(--color-pink); }
.principles-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--space-7); align-items: start; }
.principles-heading > p { color: var(--text-secondary); }
.principles-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.principles-grid article { border-top: 1px solid var(--border); padding-top: var(--space-5); min-width: 0; }
.principles-grid article > span { color: var(--color-pink); }
.principles-grid h3 { margin-top: var(--space-5); }
.principles-grid p { margin-top: var(--space-4); color: var(--text-secondary); }
.company-cta { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-6); margin-inline: var(--layout-gutter); padding: var(--space-7); background: var(--color-orange); border-radius: var(--radius-card); }
.company-cta p { max-width: 58ch; margin-top: var(--space-5); }
.contact-page { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: start; gap: var(--space-7); padding-top: var(--space-7); }
.contact-page-copy { min-width: 0; }
.contact-page h1 { font: var(--type-section); letter-spacing: -.045em; }
.contact-page-intro { margin-top: var(--space-5); max-width: 50ch; color: var(--color-muted); }
.contact-next { margin-top: var(--space-7); }
.contact-next h2 { font: var(--type-card); letter-spacing: -.03em; }
.contact-next ol { padding: 0; margin: var(--space-5) 0 0; list-style: none; }
.contact-next li { display: flex; gap: var(--space-4); padding: var(--space-5) 0; border-top: 1px solid var(--color-line); }
.contact-next li > span { padding-top: 2px; color: var(--color-muted); font: var(--type-caption); }
.contact-next h3 { font: var(--type-body); font-weight: 700; letter-spacing: 0; }
.contact-next li p { margin-top: var(--space-2); color: var(--color-muted); }
.contact-team { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-5); }
.contact-team-initials { display: flex; padding-right: var(--space-2); }
.contact-team-initials i { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--color-paper); border-radius: 50%; background: var(--color-meta); color: var(--color-white); font: var(--type-ui); font-style: normal; }
.contact-team-initials i + i { margin-left: -8px; background: var(--color-pink); color: var(--color-ink); }
.contact-team p, .contact-team a { font: var(--type-ui); }
.contact-team a { display: inline-flex; padding-block: var(--space-2); text-decoration: underline; text-underline-offset: 4px; }
.contact-form-column { min-width: 0; scroll-margin-top: calc(var(--header-height) + var(--space-5)); }
.lead-inline { min-width: 0; overflow: hidden; border: 1px solid var(--color-line); border-top: 5px solid var(--color-pink); border-radius: var(--radius-card); background: var(--color-white); scroll-margin-top: calc(var(--header-height) + var(--space-5)); }
.lead-inline .lead-heading h2 { font: var(--type-card); letter-spacing: -.03em; }
.lead-inline .lead-fields { overflow-y: visible; }
.lead-inline .control, .lead-inline .lead-choice label { background-color: var(--color-paper); }
.lead-inline .lead-dialog-footer { background: var(--color-white); }
.contact-explore { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-6); padding-top: 0; }
.contact-explore h2 { font: var(--type-card); }
.contact-explore p { max-width: 58ch; margin-top: var(--space-3); color: var(--color-muted); }
.contact-explore > div:last-child { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-4); }
@media (max-width: 1100px) {
  .company-hero-grid, .contact-page { grid-template-columns: minmax(0,1fr); }
  .contact-page-copy { max-width: 680px; }
  .contact-form-column { max-width: 760px; width: 100%; }
  .contact-next { margin-top: var(--space-6); }
}
@media (max-width: 900px) {
  .team-preview, .principles-heading, .principles-grid { grid-template-columns: minmax(0,1fr); }
  .team-preview-cards { max-width: 680px; }
  .company-principles, .company-cta { padding: var(--space-6); }
}
@media (max-width: 700px) {
  .company-hero-grid, .team-preview { gap: var(--space-5); }
  .company-hero-grid h1, .contact-page h1 { font: var(--type-section); }
  .team-grid { grid-template-columns: minmax(0,1fr); }
  .team-person { padding: var(--space-5); }
  .team-preview-cards { grid-template-columns: minmax(0,1fr); gap: var(--space-3); }
  .team-preview-cards .team-card { display: grid; grid-template-columns: 96px minmax(0,1fr); align-items: stretch; }
  .team-preview-cards .team-visual { aspect-ratio: auto; min-height: 116px; }
  .team-preview-cards .team-person { padding: var(--space-4); }
  .team-preview-cards .team-monogram { font-size: 4rem; }
  .team-preview-cards .team-role { margin-top: var(--space-1); }
  .company-principles, .company-cta { padding: var(--space-6) var(--space-5); }
  .company-cta .btn { width: 100%; }
  .contact-page { padding-top: var(--space-6); gap: var(--space-6); }
  .contact-page .contact-next { display: none; }
  .contact-team { margin-top: var(--space-5); }
  .contact-explore > div:last-child, .contact-explore .text-link { width: 100%; }
}
