.company-page { --company-blue: #8791d8; --company-clay: #d67a59; --company-acid: #d8ff45; }
.company-hero { min-height: 100svh; padding: clamp(145px,18vh,210px) var(--pad) 36px; display: flex; flex-direction: column; justify-content: space-between; background: var(--black); color: var(--white); }
.company-hero-copy { width: min(1280px,100%); }
.company-hero h1 { margin: 30px 0 34px; font-size: clamp(58px,9.6vw,154px); font-weight: 620; line-height: .94; letter-spacing: -.085em; word-break: keep-all; }
.company-hero h1 span { color: var(--company-acid); }
.company-hero-copy > p:last-child { width: min(700px,100%); margin: 0 0 0 auto; color: #aaa; font-size: clamp(17px,1.4vw,22px); line-height: 1.7; word-break: keep-all; }
.company-hero-meta { padding-top: 26px; border-top: 1px solid #292929; display: flex; justify-content: space-between; color: #696969; font-size: 10px; font-weight: 700; letter-spacing: .13em; }

.company-film { padding-top: var(--pad); padding-bottom: 150px; background: var(--white); }
.film-stage { position: relative; aspect-ratio: 16/9; overflow: hidden; border-radius: var(--radius); background: var(--black); }
.film-stage video { width: 100%; height: 100%; display: block; object-fit: cover; }
.film-stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg,transparent 64%,rgba(0,0,0,.45)); }
.film-ui { position: absolute; z-index: 2; left: clamp(20px,3vw,46px); right: clamp(20px,3vw,46px); bottom: clamp(18px,2.6vw,38px); display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--white); }
.film-ui > span { font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.film-ui button { min-height: 42px; padding: 0 16px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; display: inline-flex; align-items: center; gap: 10px; background: rgba(0,0,0,.35); color: var(--white); font: inherit; font-size: 12px; font-weight: 700; backdrop-filter: blur(12px); cursor: pointer; }
.film-ui button i { width: 8px; height: 8px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.film-ui button.is-paused i { width: 0; height: 0; border: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; }
.film-caption { padding: 100px 0 0; display: grid; grid-template-columns: .65fr 1.35fr 1fr; gap: clamp(35px,6vw,110px); align-items: start; }
.film-caption h2 { margin: -8px 0 0; font-size: clamp(43px,5.4vw,82px); font-weight: 650; line-height: 1.08; letter-spacing: -.07em; }
.film-caption > p:last-child { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }

.company-work { padding-top: 145px; padding-bottom: 150px; background: var(--black); color: var(--white); }
.company-section-head { margin-bottom: 78px; display: grid; grid-template-columns: 1.7fr .8fr; gap: clamp(50px,8vw,140px); align-items: end; }
.company-section-head h2 { margin: 26px 0 0; font-size: clamp(50px,6.6vw,104px); font-weight: 620; line-height: 1.04; letter-spacing: -.075em; }
.company-section-head > p { margin: 0; color: #929292; font-size: 17px; line-height: 1.75; }
.company-work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.company-work-card { min-height: 740px; padding: clamp(30px,4vw,58px); border-radius: var(--radius); display: flex; flex-direction: column; color: var(--black); }
.work-growth { background: var(--company-blue); }
.work-lab { background: var(--company-clay); }
.work-card-top { display: flex; justify-content: space-between; color: rgba(0,0,0,.55); font-size: 11px; font-weight: 750; letter-spacing: .1em; }
.company-work-card h3 { margin: 95px 0 28px; font-size: clamp(53px,6.2vw,94px); font-weight: 650; line-height: .96; letter-spacing: -.075em; }
.company-work-card > p { max-width: 580px; margin: 0; font-size: 17px; line-height: 1.7; }
.company-work-card ul { margin: auto 0 36px; padding: 0; border-top: 1px solid rgba(0,0,0,.28); list-style: none; }
.company-work-card li { padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,.16); font-size: 13px; font-weight: 650; }
.company-work-card > a { width: fit-content; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 750; }

.company-method { padding-top: 150px; padding-bottom: 160px; background: var(--paper); }
.method-intro { display: grid; grid-template-columns: .5fr 1.5fr; gap: 50px; }
.method-intro h2 { margin: -8px 0 90px; font-size: clamp(53px,7vw,110px); font-weight: 650; line-height: 1; letter-spacing: -.075em; }
.method-list { margin: 0; padding: 0; border-top: 1px solid var(--text); display: grid; grid-template-columns: repeat(4,1fr); list-style: none; }
.method-list li { min-height: 300px; padding: 26px 26px 0 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.method-list li:not(:first-child) { padding-left: 26px; }
.method-list li:last-child { border-right: 0; }
.method-list span { color: var(--muted); font-size: 11px; font-weight: 750; }
.method-list strong { margin-top: auto; font-size: clamp(29px,3vw,44px); letter-spacing: -.055em; }
.method-list p { margin: 18px 0 28px; color: var(--muted); line-height: 1.6; }

.company-roots { padding-top: 150px; padding-bottom: 160px; background: var(--black); color: var(--white); }
.roots-heading { display: grid; grid-template-columns: .55fr 1.2fr .7fr; gap: clamp(35px,6vw,100px); align-items: end; }
.roots-heading h2 { margin: -8px 0 0; font-size: clamp(50px,6.8vw,104px); font-weight: 650; line-height: 1.03; letter-spacing: -.075em; }
.roots-heading h2 span { color: #858585; }
.roots-heading > p:last-child { margin: 0; color: #929292; font-size: 17px; line-height: 1.75; }
.roots-grid { margin-top: 90px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #3a3a3a; }
.roots-grid article { min-height: 420px; padding: 28px 30px 30px 0; border-right: 1px solid #303030; display: flex; flex-direction: column; }
.roots-grid article:not(:first-child) { padding-left: 30px; }
.roots-grid article:last-child { border-right: 0; }
.roots-grid span { color: #777; font-size: 11px; font-weight: 750; letter-spacing: .08em; }
.roots-grid h3 { margin: auto 0 24px; font-size: clamp(31px,3.4vw,50px); line-height: 1.08; letter-spacing: -.055em; }
.roots-grid p { max-width: 390px; margin: 0; color: #9a9a9a; line-height: 1.7; }

.company-history { padding-top: 150px; padding-bottom: 160px; display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(60px,10vw,170px); background: var(--white); }
.history-copy h2 { margin: 28px 0 38px; font-size: clamp(52px,6.8vw,102px); font-weight: 650; line-height: 1.04; letter-spacing: -.075em; }
.history-copy h2 span { color: #999; }
.history-copy > p:last-child { width: min(670px,100%); color: var(--muted); font-size: 18px; line-height: 1.8; }
.history-list { margin: 0; align-self: end; border-top: 1px solid var(--text); }
.history-list > div { padding: 20px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 64px 1fr; gap: 20px; }
.history-list dt { color: var(--muted); font-size: 12px; font-weight: 750; }
.history-list dd { margin: 0; }
.history-list strong,.history-list span { display: block; }
.history-list strong { font-size: 13px; letter-spacing: .02em; }
.history-list span { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.history-list ul { margin: 11px 0 0; padding: 0; list-style: none; }
.history-list li { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.history-list li b { display: inline-block; min-width: 42px; color: var(--text); font-size: 11px; }

.company-partners { padding-top: 140px; padding-bottom: 150px; display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(60px,10vw,170px); background: var(--paper); }
.partners-copy h2 { margin: 28px 0 34px; font-size: clamp(50px,6.2vw,94px); font-weight: 650; line-height: 1.04; letter-spacing: -.075em; }
.partners-copy > p:last-child { max-width: 620px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.partner-name-list { margin: 0; padding: 0; align-self: end; border-top: 1px solid var(--text); list-style: none; }
.partner-name-list li { min-height: 92px; padding: 18px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 62px 1fr; align-items: center; }
.partner-name-list span { color: var(--muted); font-size: 11px; font-weight: 750; }
.partner-name-list strong { font-size: clamp(22px,2.2vw,32px); letter-spacing: -.04em; }

.company-contact { padding-top: 0; padding-bottom: var(--pad); background: var(--white); }
.company-contact-card { min-height: 720px; padding: clamp(36px,6vw,92px); border-radius: var(--radius); display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--company-acid); text-align: center; }
.company-contact-card h2 { margin: 30px 0 28px; font-size: clamp(58px,8.5vw,132px); font-weight: 650; line-height: 1; letter-spacing: -.08em; }
.company-contact-card > p:not(.eyebrow) { margin-bottom: 42px; font-size: 18px; line-height: 1.7; }

@media (max-width:960px) {
  .film-caption { grid-template-columns:1fr 1.5fr; }.film-caption > p:last-child { grid-column:2; }
  .company-section-head,.company-history,.company-partners { grid-template-columns:1fr; }.company-section-head > p { max-width:620px;margin-left:auto; }
  .company-work-grid { grid-template-columns:1fr; }.company-work-card { min-height:680px; }
  .method-intro { grid-template-columns:1fr; }.method-intro h2 { margin-top:0; }.method-list { grid-template-columns:1fr 1fr; }.method-list li:nth-child(2) { border-right:0; }
  .roots-heading { grid-template-columns:1fr 1.5fr; }.roots-heading > p:last-child { grid-column:2; }.roots-grid { grid-template-columns:1fr; }.roots-grid article,.roots-grid article:not(:first-child) { min-height:300px;padding:28px 0;border-right:0;border-bottom:1px solid #303030; }.roots-grid h3 { margin-top:80px; }
  .history-list,.partner-name-list { width:min(650px,100%);margin-left:auto; }
}
@media (max-width:680px) {
  .company-hero { min-height:780px;padding-top:138px; }.company-hero h1 { font-size:49px; }.company-hero-copy > p:last-child { margin-left:0;font-size:16px; }.company-hero-copy br { display:none; }.company-hero-meta span:last-child { display:none; }
  .company-film { padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:100px; }.film-stage { aspect-ratio:4/5; }.film-stage video { object-fit:cover; }.film-ui > span { display:none; }.film-ui { justify-content:flex-end; }
  .film-caption { padding:72px 8px 0;grid-template-columns:1fr;gap:26px; }.film-caption > p:last-child { grid-column:1; }.film-caption h2 { font-size:46px; }
  .company-work,.company-method,.company-roots,.company-history,.company-partners { padding-top:100px;padding-bottom:110px; }.company-section-head { margin-bottom:48px; }.company-section-head h2 { font-size:48px; }.company-section-head > p { margin-left:0; }
  .company-work-card { min-height:650px;padding:30px; }.company-work-card h3 { margin-top:70px;font-size:58px; }
  .method-intro h2 { margin-bottom:55px;font-size:51px; }.method-list { grid-template-columns:1fr; }.method-list li,.method-list li:not(:first-child) { min-height:220px;padding:25px 0;border-right:0;border-bottom:1px solid var(--line); }
  .roots-heading { grid-template-columns:1fr; }.roots-heading h2 { margin-top:24px;font-size:48px; }.roots-heading > p:last-child { grid-column:1;margin-top:12px; }.roots-grid { margin-top:55px; }.roots-grid article,.roots-grid article:not(:first-child) { min-height:270px; }.roots-grid h3 { margin-top:58px;font-size:39px; }
  .history-copy h2 { font-size:51px; }.history-copy > p:last-child { font-size:16px; }.history-list { margin-top:30px; }
  .partners-copy h2 { font-size:48px; }.partners-copy > p:last-child { font-size:16px; }.partner-name-list { margin-top:42px; }
  .company-contact { padding-left:12px;padding-right:12px;padding-bottom:12px; }.company-contact-card { min-height:620px;padding:30px 18px; }.company-contact-card h2 { font-size:52px; }
}
