/* A sequence of work, with service continuing after commissioning. */
.company-services { scroll-margin-top:96px; }
.company-services__intro { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--column-gap); align-items:end; }
.company-services .eyebrow { color:var(--color-ink); }
.company-services__title { font-size:clamp(30px,2.8vw,40px); line-height:1.2; }
.company-services__introduction { max-width:470px; font-size:21px; line-height:1.4; text-wrap:pretty; }
.company-services__scope { margin-top:16px; max-width:470px; font-size:16px; line-height:1.5; }
.company-services__body { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; margin:48px 0 0; padding:0; }
.company-services__part { position:relative; min-width:0; padding-top:28px; border-top:1px solid #51536640; }
.company-services__number { display:block; margin-bottom:32px; font:500 44px/1 var(--font-display); color:#77798e; }
.company-services__part:not(:last-child)::after { content:''; position:absolute; top:-1px; left:0; width:48px; height:2px; background:#77798e; }
.company-services__part h3 { font-family:var(--font-display); font-size:clamp(20px,1.7vw,25px); font-weight:500; line-height:1.35; letter-spacing:-.035em; max-width:320px; min-height:2.7em; margin-bottom:20px; }
.company-services__part p { font-size:18px; line-height:1.55; max-width:360px; text-wrap:pretty; }
.company-services__actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px 32px; margin-top:40px; }
.company-services__actions .button { max-width:100%; }
.company-services__details { display:inline-flex; align-items:center; gap:16px; min-height:44px; font-size:16px; line-height:1.4; text-decoration:underline; text-underline-offset:5px; }
.company-services__details:hover { text-decoration-thickness:2px; }
.company-services a { scroll-margin-block:110px 24px; }
.company-services a:focus-visible { outline:3px solid var(--color-ink); outline-offset:5px; }
@media(max-width:1023px){
 .company-services__intro { grid-template-columns:minmax(0,1fr); gap:24px; }
 .company-services__body { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
 .company-services__part h3 { font-size:21px; }
}
@media(max-width:767px){
 .company-services__body { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:32px; }
 .company-services__part { padding:0 0 0 52px; border:0; }
 .company-services__number { position:absolute; top:3px; left:0; font-size:23px; margin:0; }
 .company-services__part:not(:last-child)::after { content:''; width:1px; background:#51536630; top:40px; bottom:-12px; left:16px; right:auto; }
 .company-services__part h3 { min-height:0; margin-bottom:12px; font-size:20px; }
 .company-services__part p {font-size:17px;}
 .company-services__actions { align-items:flex-start; flex-direction:column; gap:16px; }
 .company-services__actions .button { padding:18px 22px; gap:18px; font-size:15px; }
}

/* Sequential entrance; readable immediately with keyboard or reduced motion. */
.motion-ready .company-services__part[data-reveal]{transition-duration:550ms;transition-delay:var(--reveal-delay,0ms);}
@media(max-width:767px){.motion-ready .company-services__part[data-reveal]{transition-delay:0ms;}}
