/* Standalone company pages share the homepage's quiet industrial palette. */
.company-page {
  --company-paper: #f8f5ee;
  --company-ink: #292721;
  --company-muted: #6d685f;
  --company-line: #ded8cd;
  color: var(--company-ink);
  background: var(--company-paper);
}
.company-page .company-shell { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
.company-page section[id] { scroll-margin-top: calc(var(--site-header-height, 94px) + 24px); }
.company-page figure { margin: 0; }
.company-page img { display: block; max-width: 100%; }
.company-page h1, .company-page h2, .company-page h3 { font-weight: 600; letter-spacing: -.035em; }
.company-page h3 { font-size: clamp(23px, 2.3vw, 32px); line-height: 1.35; }
.company-page .company-breadcrumb {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  padding-block: 26px; color: var(--company-muted); font-size: 12px;
}
.company-breadcrumb a { padding-block: 8px; transition: color var(--motion-quick); }
.company-breadcrumb a:hover { color: #74502d; }
.company-page .company-eyebrow {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 22px; color: #8b7048; font-size: 11px; line-height: 1.5;
  font-weight: 600; letter-spacing: .13em; text-transform: uppercase;
}
.company-eyebrow::before { content: ''; width: 24px; height: 1px; background: #b99b69; flex: none; }
.company-page .company-hero { padding-block: 48px 72px; }
.company-page .company-hero h1 { font-size: clamp(38px, 4.6vw, 66px); line-height: 1.15; max-width: 1000px; }
.company-page .company-hero h1 + .company-lead { margin-top: 28px; }
.company-page .company-lead { max-width: 620px; color: var(--company-muted); font-size: 17px; line-height: 1.9; }
.company-page .company-section { padding-block: 96px; }
.company-page .company-section-heading { margin-bottom: 44px; }
.company-page .company-section-heading h2 { max-width: 850px; font-size: clamp(30px, 3.1vw, 44px); line-height: 1.3; }
.company-page .company-section-heading > p:not(.company-eyebrow) {
  max-width: 640px; margin-top: 20px; color: var(--company-muted); font-size: 15px; line-height: 1.85;
}
.company-page .company-link {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 20px;
  min-height: 44px; width: fit-content; padding-block: 10px; border-bottom: 1px solid #a8997f;
  color: #665337; font-size: 13px; font-weight: 600;
  transition: color var(--motion-quick), border-color var(--motion-quick);
}
.company-page .company-link:hover { color: #2d271f; border-color: #74502d; }
.company-link svg { flex: none; transition: transform var(--motion-quick) var(--motion-ease); }
.company-link:hover svg { transform: translateX(3px); }
.company-page .company-cta { padding-block: 80px; background: #eee7d9; }
.company-page .company-cta h2 { max-width: 760px; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.3; }
.company-page .company-cta p:not(.company-eyebrow) { margin-top: 22px; max-width: 640px; color: var(--company-muted); font-size: 15px; line-height: 1.85; }
.company-page .company-cta .company-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 30px; }
.company-page .primary-button, .company-page .secondary-button { min-height: 48px; }
.company-page .primary-button { color: #fff; }
.company-page .secondary-button { color: #4e4332; border-color: #b6a58a; background: transparent; }
.company-page .secondary-button:hover { background: #e6dece; }
.company-page a:focus-visible { outline-offset: 5px; }
/* A heading lift, a photographic reveal and a staggered sequence share one pace.
   No pre-animation hidden state: JS and motion preferences are optional. */
@keyframes company-heading-in {
  from { opacity: .3; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes company-image-in {
  from { opacity: .5; clip-path: inset(4% 2% 4% 2%); transform: scale(1.035); }
  to { opacity: 1; clip-path: inset(0); transform: scale(1); }
}
@keyframes company-step-in {
  from { opacity: .5; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}
.company-page .company-enter { animation: company-heading-in 650ms var(--motion-ease) both; }
.company-page [data-company-enter="image"].company-enter { animation: company-image-in 850ms var(--motion-ease) both; }
.company-page [data-company-enter="steps"].company-enter { animation: none; }
.company-page [data-company-enter="steps"].company-enter > * { animation: company-step-in 650ms var(--motion-ease) both; }
.company-page [data-company-enter="steps"].company-enter > :nth-child(2) { animation-delay: 100ms; }
.company-page [data-company-enter="steps"].company-enter > :nth-child(3) { animation-delay: 200ms; }
.company-page [data-company-enter="steps"].company-enter > :nth-child(4) { animation-delay: 300ms; }
@media (max-width: 1024px) {
  .company-page .company-shell { width: calc(100% - 64px); }
  .company-page .company-section { padding-block: 72px; }
  .company-page .company-hero { padding-block: 36px 56px; }
}
@media (max-width: 600px) {
  .company-page .company-shell { width: calc(100% - 32px); }
  .company-page .company-breadcrumb { padding-block: 14px; font-size: 11px; }
  .company-page .company-hero { padding-block: 28px 48px; }
  .company-page .company-hero h1 { font-size: 38px; }
  .company-page .company-lead { font-size: 15px; line-height: 1.85; }
  .company-page .company-eyebrow { margin-bottom: 18px; font-size: 10px; }
  .company-page .company-section { padding-block: 56px; }
  .company-page .company-section-heading { margin-bottom: 32px; }
  .company-page .company-section-heading h2, .company-page .company-cta h2 { font-size: 30px; }
  .company-page .company-cta { padding-block: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .company-page .company-enter,
  .company-page [data-company-enter="image"].company-enter,
  .company-page [data-company-enter="steps"].company-enter > * { animation: none; }
  .company-page .company-link, .company-page .company-link svg, .company-page .company-breadcrumb a { transition: none; }
}
