/* About and employer pages extend the established workwear editorial system. */
.about-intro,.company-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:550px}
.about-intro{background:#fff}
.about-intro__copy,.company-intro__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:4.5rem clamp(2rem,5vw,5rem) 4.5rem max(2rem,calc((100vw - 1180px)/2))}
.about-intro h1,.company-intro h1{font-family:Archivo,Arial,sans-serif;font-size:clamp(3.5rem,5.7vw,5.7rem);font-weight:700;letter-spacing:-.04em;line-height:.95;margin:0 0 2rem;text-wrap:balance}
.about-intro h1{color:var(--navy)}
.about-intro__role{font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:600;line-height:1.25;color:var(--navy);max-width:24ch;margin-bottom:1.1rem}
.about-intro__copy>p:not(.about-intro__role){max-width:52ch;color:#415464;margin-bottom:2rem}
.about-intro__action{line-height:1.25;text-align:center}
.about-intro__image,.company-intro__image{position:relative;margin:0;min-width:0;overflow:hidden}
.about-intro__image img,.company-intro__image img{width:100%;height:100%;object-fit:cover}
.about-intro__image img{object-position:48% 50%}
.about-story{max-width:1180px;margin:auto;padding:6.5rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem)}
.about-story h2,.about-focus h2,.company-services h2,.company-fees h2{font-size:clamp(2.3rem,3.7vw,3.7rem);letter-spacing:-.04em;line-height:1.04;text-wrap:balance}
.about-story h2{color:var(--navy);max-width:12ch;margin:0}
.about-story__body{padding-top:.35rem}
.about-story__body p{max-width:58ch;color:#415464;font-size:1.08rem;line-height:1.65}
.about-story__body p:last-child{margin:0}
.about-focus{background:var(--navy);color:#fff;padding:5.5rem max(2rem,calc((100vw - 1180px)/2)) 6rem;display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(3rem,6vw,6rem)}
.about-focus h2{margin:0 0 1.4rem;max-width:12ch}
.about-focus__heading p{max-width:34ch;color:#d5e0e8}
.about-focus ul{list-style:none;margin:0;padding:0}
.about-focus li{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;border-top:1px solid rgba(255,255,255,.3);padding:1.3rem 0}
.about-focus li:last-child{border-bottom:1px solid rgba(255,255,255,.3)}
.about-focus li span{color:#cbd9e3;font-size:.9rem}
.about-focus li strong{font-size:clamp(1.12rem,1.6vw,1.45rem);line-height:1.25;text-align:right;font-weight:600}
.about-close{max-width:1180px;margin:auto;padding:6rem 2rem 7rem}
.about-close>p{font-family:Mirza,Georgia,serif;color:var(--orange-ink);font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1;margin-bottom:1.8rem}
.about-close>div{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.about-close h2{font-size:clamp(2.2rem,3.7vw,3.7rem);letter-spacing:-.04em;line-height:1.04;color:var(--navy);max-width:15ch;margin:0}
.about-close .button{flex:none}

.company-intro{background:var(--orange);color:var(--navy);min-height:510px}
.company-intro h1{max-width:10ch;margin-bottom:1.5rem}
.company-intro__copy>p{font-size:1.12rem;line-height:1.55;max-width:48ch;margin-bottom:2.1rem}
.company-intro__action{display:inline-flex;align-items:center;gap:.8rem;min-height:3.4rem;padding:.8rem 1.25rem;background:var(--navy);color:#fff;font-size:.88rem;font-weight:700;transition:background .18s ease,transform .18s ease}
.company-intro__action:hover{background:var(--navy-2);transform:translateY(-2px)}
.company-intro__action img{width:1.1rem;filter:brightness(0) invert(1)}
.company-services{max-width:1180px;margin:auto;padding:6.5rem 2rem 7rem;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:clamp(3rem,6vw,6rem)}
.company-services h2{color:var(--navy);max-width:12ch;margin:0 0 1.4rem}
.company-services__intro>p{max-width:34ch;color:#415464;font-size:1.08rem}
.company-services__list{list-style:none;counter-reset:service;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2.5rem}
.company-services__list li{counter-increment:service;border-top:1px solid var(--line);padding-top:1.1rem}
.company-services__list li::before{content:counter(service,decimal-leading-zero);display:block;color:var(--orange-ink);font-size:.74rem;font-weight:700;letter-spacing:.08em;margin-bottom:1.2rem}
.company-services__list h3{font-size:1.26rem;line-height:1.16;color:var(--navy);margin:0 0 .65rem}
.company-services__list p{color:#415464;font-size:.93rem;line-height:1.5;margin:0}
.company-fees{background:var(--navy-2);color:#fff;padding:5.2rem max(2rem,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem)}
.company-fees h2{max-width:12ch;margin:0}
.company-fees p{color:#e2eaf0;max-width:59ch;font-size:1.08rem;line-height:1.65}
.company-fees a{display:inline-flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;border-bottom:2px solid var(--orange);padding-bottom:.2rem}
.company-fees a img{width:1.05rem;filter:brightness(0) invert(1)}
.company-page .form-shell{scroll-margin-top:1.5rem}
.company-page .form-note h2{line-height:1.08}

/* Candidate and contact routes use the same documentary split-page language. */
.editorial-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:500px}
.editorial-intro__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:4rem clamp(2rem,5vw,5rem) 4rem max(2rem,calc((100vw - 1180px)/2))}
.editorial-intro h1{font-family:Archivo,Arial,sans-serif;font-size:clamp(3.2rem,5.2vw,5.3rem);font-weight:700;letter-spacing:-.04em;line-height:.98;margin:0 0 1.6rem;max-width:12ch;text-wrap:balance}
.editorial-intro__copy>p{font-size:1.08rem;line-height:1.55;max-width:50ch;margin:0 0 2rem}
.editorial-intro__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem}
.editorial-intro__link{font-size:.88rem;font-weight:700;border-bottom:2px solid currentColor;padding:.5rem 0 .3rem}
.editorial-intro__link:hover{border-color:var(--orange)}
.editorial-intro__image{position:relative;margin:0;min-width:0;overflow:hidden}
.editorial-intro__image img{width:100%;height:100%;object-fit:cover}
.candidates-intro{background:var(--navy-2);color:#fff}
.candidates-intro .editorial-intro__copy>p{color:#e1e9ef}
.candidates-intro .editorial-intro__image img{object-position:52% center}
.candidates-intro .editorial-intro__link{color:#fff}
.candidates-page .listing-layout{scroll-margin-top:1rem}
.candidates-page .listing-results{scroll-margin-top:2rem}
.listing-results__filters-link{display:none}
.contact-intro{background:#fff;color:var(--navy)}
.contact-intro .editorial-intro__copy>p{color:#415464}
.contact-intro .editorial-intro__image img{object-position:50% center}
.contact-page .contact-grid{scroll-margin-top:1rem;padding-top:5rem}
.contact-grid__intro{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:1.5rem}
.contact-grid__intro h2{font-family:Archivo,Arial,sans-serif;color:var(--navy);font-size:clamp(2.4rem,3.8vw,3.8rem);letter-spacing:-.04em;line-height:1.04;max-width:13ch;margin:0}
.contact-grid__intro p{color:#415464;max-width:45ch;font-size:1.05rem;line-height:1.6;margin:0}
.contact-page .contact-grid>a{min-height:270px;display:flex;flex-direction:column;align-items:flex-start}
.contact-page .contact-grid>.contact-route--candidate{background:#fff;color:var(--navy)}
.contact-page .contact-grid>.contact-route--candidate p{color:#415464}
.contact-page .contact-grid>.contact-route--candidate span img{filter:none}
.contact-page .contact-grid>.contact-route--company{background:var(--navy);color:#fff}
.contact-page .contact-grid>.contact-route--company>img{filter:brightness(0) invert(1)}
.contact-page .contact-grid>.contact-route--company p{color:#d5e0e8}
.contact-page .contact-grid>.contact-route--company span img{filter:brightness(0) invert(1)}
.contact-page .contact-grid>a h3{font-family:Archivo,Arial,sans-serif;font-size:clamp(1.65rem,2.2vw,2rem);line-height:1.12;margin:1.4rem 0 .7rem}
.contact-page .contact-grid>a:first-of-type h3{color:var(--navy)}
.contact-page .contact-grid>a p{max-width:38ch}
.contact-page .contact-grid>a span{margin-top:auto;padding-top:1rem;border-bottom:2px solid currentColor;padding-bottom:.25rem}
.contact-page .contact-grid>a:focus-visible{outline:3px solid var(--amber);outline-offset:3px}

@media(max-width:900px){
  .about-intro,.company-intro{grid-template-columns:1fr}
  .about-intro__copy,.company-intro__copy{padding:4rem 2rem 3rem}
  .about-intro__image,.company-intro__image{height:360px}
  .about-story,.about-focus,.company-services,.company-fees{grid-template-columns:1fr;gap:2.5rem}
  .about-story{padding:5rem 2rem}
  .about-focus{padding:5rem 2rem}
  .company-services{padding:5rem 2rem}
  .company-fees{padding:4.5rem 2rem}
  .editorial-intro{grid-template-columns:1fr;min-height:0}
  .editorial-intro__copy{padding:4rem 2rem 3rem}
  .editorial-intro__image{height:320px}
  .contact-grid__intro{align-items:start;flex-direction:column;gap:1rem}
}
@media(max-width:640px){
  .about-intro__copy,.company-intro__copy{padding:3.6rem 1.5rem 2.8rem}
  .about-intro h1,.company-intro h1{font-size:clamp(3.1rem,13vw,4.5rem)}
  .about-intro__role{font-size:1.25rem}
  .about-intro__image,.company-intro__image{height:260px}
  .about-story,.about-focus,.company-services,.company-fees{padding-left:1.5rem;padding-right:1.5rem}
  .about-story{padding-top:4.5rem;padding-bottom:4.5rem}
  .about-focus{padding-top:4.5rem;padding-bottom:4.5rem}
  .about-focus li{display:block}
  .about-focus li strong{display:block;text-align:left;margin-top:.3rem}
  .about-close{padding:4.5rem 1.5rem 5rem}
  .about-close>div{align-items:flex-start;flex-direction:column}
  .company-services{padding-top:4.5rem;padding-bottom:5rem}
  .company-services__list{grid-template-columns:1fr;gap:1.6rem}
  .company-fees{padding-top:4.5rem;padding-bottom:4.5rem}
  .editorial-intro__copy{padding:3.3rem 1.5rem 2.5rem}
  .editorial-intro h1{font-size:clamp(3rem,12vw,4rem)}
  .editorial-intro__copy>p{font-size:1rem;margin-bottom:1.6rem}
  .editorial-intro__image{height:240px}
  .listing-results__filters-link{display:inline-block;color:var(--navy);font-size:.82rem;font-weight:700;border-bottom:2px solid var(--orange);padding-bottom:.2rem;margin:.3rem 0 1.5rem}
  .contact-page .contact-grid{padding-top:3.5rem}
  .contact-grid__intro{margin-bottom:.7rem}
  .contact-page .contact-grid>a{min-height:0}
}
