@import url("/site-checkbox.css");
/* Scoped About page, using the homepage's typography and components. */
body.about-page { --about-violet:#8c82ff; --about-green:#47cb56; --about-tint:#f1f4f6; --about-cut:clamp(30px,2.5vw,54px); --about-space:var(--section-space); margin:0; background:transparent; isolation:isolate; color:var(--black); font-family:Figtree,Arial,sans-serif; }
.about-page main { background:transparent; }
.about-page .about-facts { background:#fff; }
.about-page :is(h1,h2,h3,p) { min-width:0; }
.about-page .about-section h2 { font-size:clamp(48px,3.4vw,72px); line-height:1.07; letter-spacing:-.05em; text-wrap:balance; }
.about-page :is(.about-attitude,.about-team,.about-contact) h3 { font-size:clamp(29px,2.05vw,38px); font-weight:600; line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
.about-label { color:#626f79; font-size:clamp(20px,1.5vw,24px); font-weight:600; line-height:1.35; letter-spacing:-.015em; }
.about-body { font-size:clamp(18px,1.35vw,24px); line-height:1.5; text-wrap:pretty; }
.about-section { padding:var(--about-space) var(--gutter); scroll-margin-top:112px; }
.about-section-head { display:grid; grid-template-columns:1fr 1.6fr; align-items:start; gap:64px; margin-bottom:64px; }
.about-section-head h2 { max-width:20ch; }
.about-facts .about-section-head h2 { justify-self:end; text-align:left; }
.about-cut { clip-path:polygon(0 0,calc(100% - var(--about-cut)) 0,100% var(--about-cut),100% 100%,0 100%); border-radius:0; }
.about-hero-transition { position:relative; isolation:isolate; }
.about-hero-transition > .about-hero { position:sticky; top:0; z-index:0; }
.about-hero-transition > .about-attitude { position:relative; z-index:2; background:var(--white); box-shadow:0 -35px 90px rgba(0,0,0,.18); }
.about-hero { position:relative; min-height:100svh; display:flex; align-items:flex-end; isolation:isolate; padding:clamp(148px,16svh,192px) var(--gutter) clamp(48px,7svh,72px); color:#fff; background:var(--black); overflow:hidden; }
.about-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,6,7,.32),transparent 28%),linear-gradient(90deg,rgba(5,6,7,.44),rgba(5,6,7,.28) 55%,rgba(5,6,7,.14)),linear-gradient(0deg,rgba(5,6,7,.63),transparent 68%); }
.about-hero-photo { position:absolute; inset:0; z-index:-2; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 45%; border-radius:0; }
.about-hero-copy { width:100%; }
.about-hero .about-label { color:#fff; margin-bottom:24px; }
.about-hero h1 { max-width:23ch; font-size:clamp(60px,4.7vw,96px); line-height:1.04; letter-spacing:-.05em; text-wrap:balance; }
.about-hero-accent { color:var(--violet); }
.about-hero-lead { max-width:62ch; margin-top:32px; font-size:18px; line-height:1.5; color:#c4cfd6; text-wrap:pretty; }
.about-hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:40px; }
.about-attitude { display:grid; grid-template-columns:.9fr 1.25fr; align-items:center; gap:clamp(50px,6vw,112px); }
.about-attitude-copy h2 { margin-top:40px; max-width:14ch; }
.about-attitude-copy .about-body { margin-top:36px; max-width:47ch; }
.about-collage { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:28px; }
.about-photo { position:relative; min-width:0; margin:0; overflow:hidden; clip-path:polygon(0 0,calc(100% - var(--about-cut)) 0,100% var(--about-cut),100% 100%,0 100%); }
.about-photo img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.about-photo::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(5,6,7,.78)); pointer-events:none; }
.about-photo figcaption { position:absolute; z-index:1; left:28px; right:28px; bottom:28px; color:#fff; font-size:clamp(18px,1.3vw,24px); font-weight:600; line-height:1.25; text-wrap:balance; }
.about-photo--construction { grid-column:1/-1; height:clamp(280px,25vw,440px); }
.about-photo--construction img { object-position:50% 46%; }
.about-photo--electrical,.about-photo--healthcare { height:clamp(240px,20vw,350px); }
.about-photo--electrical img { object-position:75% 50%; }
.about-photo--healthcare { margin-top:32px; }
.about-photo--healthcare img { object-position:50% 50%; }
.about-marquee { position:relative; overflow:hidden; padding-block:38px; background:var(--black); color:#fff; scrollbar-width:none; }
.about-marquee::-webkit-scrollbar { display:none; }
.about-marquee::before,.about-marquee::after { content:''; position:absolute; z-index:1; top:0; bottom:0; width:clamp(20px,3vw,52px); pointer-events:none; }
.about-marquee::before { left:0; background:linear-gradient(90deg,var(--black),transparent); }
.about-marquee::after { right:0; background:linear-gradient(270deg,var(--black),transparent); }
.about-marquee-track { display:flex; width:max-content; animation:about-marquee-scroll 52s linear infinite; animation-play-state:paused; }
.about-marquee.is-visible .about-marquee-track { animation-play-state:running; }
.about-marquee-set { display:flex; flex:none; align-items:center; gap:64px; padding-right:64px; font-family:'DM Sans',sans-serif; font-weight:600; font-size:clamp(40px,3.4vw,68px); line-height:1.2; letter-spacing:-.035em; }
.about-marquee-link { --marquee-accent:#67c2ff; position:relative; display:flex; flex:none; align-items:center; gap:16px; padding-block:4px; color:#fff; text-decoration:none; white-space:nowrap; }
.about-marquee-link--branding { --marquee-accent:#9e95ff; }
.about-marquee-link--direct { --marquee-accent:#ffda5f; }
.about-marquee-link--placement { --marquee-accent:#7fff8e; }
.about-marquee-label { transition:color .25s ease; }
.about-marquee-link .icon { flex:none; width:clamp(28px,2.3vw,40px); height:clamp(28px,2.3vw,40px); stroke-width:1.5; color:var(--marquee-accent); transition:transform .35s cubic-bezier(.16,1,.3,1); }
.about-marquee-link--recruiting .icon { color:#9e95ff; }
.about-marquee-link--branding .icon { color:#67c2ff; }
.about-marquee:focus-within .about-marquee-track { animation-play-state:paused; }
.about-marquee:has(.about-marquee-link:focus-visible) { overflow-x:auto; }
.about-marquee:has(.about-marquee-link:focus-visible) .about-marquee-track { transform:none!important; }
.about-marquee:has(.about-marquee-link:focus-visible)::before,.about-marquee:has(.about-marquee-link:focus-visible)::after { display:none; }
.about-marquee-link:focus-visible { outline:none; }
.about-marquee-link:is(:focus-visible,:active) .about-marquee-label { color:var(--marquee-accent); }
.about-marquee-link:is(:focus-visible,:active) .icon { transform:translate(3px,-3px); }
@media(hover:hover) and (pointer:fine) {
  .about-marquee:hover .about-marquee-track { animation-play-state:paused; }
  .about-marquee-link:hover .about-marquee-label { color:var(--marquee-accent); }
  .about-marquee-link:hover .icon { transform:translate(3px,-3px); }
}
@keyframes about-marquee-scroll { to { transform:translateX(calc(-1 * var(--marquee-distance,0px))); } }
.about-facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.about-fact { display:flex; flex-direction:column; padding:clamp(28px,2.3vw,48px); min-width:0; background:var(--about-tint); }
.about-fact:first-child { background:var(--about-violet); }
.about-fact-value { display:block; margin-top:48px; margin-bottom:32px; font-family:'DM Sans',sans-serif; font-weight:600; font-size:clamp(78px,6vw,112px); line-height:1; letter-spacing:-.05em; font-variant-numeric:tabular-nums; }
.about-fact-value--text { display:flex; align-items:flex-end; min-height:112px; font-size:clamp(27px,2.25vw,42px); line-height:1.1; overflow-wrap:anywhere; }
.about-fact p { margin-top:auto; font-size:clamp(17px,1.1vw,20px); line-height:1.45; }
.about-fact p { overflow-wrap:break-word; hyphens:auto; }
.about-page .about-card-icon { width:34px; height:34px; stroke-width:1.1; color:var(--about-violet); }
.about-mission { background:var(--about-tint); }
.about-mission h2 { max-width:100%; margin-top:40px; }
/* Compact, noninteractive sector chips; same angular language as the page. */
.about-sectors { display:flex; flex-wrap:wrap; gap:12px; margin:40px 0 64px; padding:0; list-style:none; }
.about-sectors li { --sector-cut:12px; position:relative; isolation:isolate; max-width:100%; padding:12px 22px; color:var(--black); font-size:17px; font-weight:500; line-height:1.3; letter-spacing:-.015em; white-space:nowrap; border-radius:0; }
.about-sectors .sector-stroke { position:absolute; inset:0; z-index:-1; width:100%; height:100%; overflow:visible; pointer-events:none; }
.about-sectors .sector-stroke path { fill:#fff; stroke:#cbd4da; stroke-width:1px; stroke-linejoin:miter; }
.about-row-link { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; border-top:1px solid rgba(5,6,7,.3); padding-top:20px; margin-top:auto; font-family:Figtree,Arial,sans-serif; font-size:clamp(22px,1.5vw,28px); font-weight:500; line-height:1.2; letter-spacing:-.025em; }
.about-row-link span { min-width:0; }
.about-row-link .icon { width:31px; height:31px; stroke-width:1.7; color:var(--about-violet); transition:transform .38s cubic-bezier(.16,1,.3,1); }
.about-row-link:hover .icon,.about-row-link:focus-visible .icon { transform:translate(3px,-3px); }
.about-row-link:focus-visible { outline:2px solid var(--black); outline-offset:6px; }
.about-team { position:relative; display:grid; grid-template-columns:clamp(280px,21vw,460px) minmax(0,1fr); gap:clamp(32px,2.6vw,64px); align-items:center; padding-block:var(--about-space); background:transparent; color:#fff; }
.about-team-intro { min-width:0; }
.about-team-intro > .about-label { color:#a2afb8; }
.about-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) clamp(260px,18vw,320px); gap:clamp(16px,1.2vw,24px); align-items:stretch; min-width:0; width:100%; max-width:1352px; justify-self:end; }
.about-team-grid .about-person { color:var(--black); }
.about-page .about-team h2 { margin-top:40px; font-size:clamp(36px,2.7vw,60px); }
.about-team h2 .about-accent { white-space:nowrap; }
.about-person { --about-cut:clamp(24px,2vw,36px); display:flex; flex-direction:column; min-width:0; width:100%; padding:0; background:var(--about-tint); }
.about-person-photo { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:0; }
.about-person-photo--empty { background:#e1e6e9; }
.about-person-details { flex:1; padding:clamp(20px,1.6vw,28px); }
.about-person-identity { display:block; }
.about-page .about-person h3 { font-size:clamp(23px,1.6vw,30px); }
.about-person .about-label { margin-top:10px; font-size:16px; font-weight:500; }
.about-person .about-row-link { margin-top:36px; }
.about-team-careers-wrap { min-width:0; height:100%; }
.about-team-careers { --action-shape:polygon(0 0,calc(100% - var(--about-cut)) 0,100% var(--about-cut),100% 100%,var(--about-cut) 100%,0 calc(100% - var(--about-cut))); min-height:clamp(300px,21vw,400px); padding:clamp(22px,1.45vw,28px); }
/* Match the base to the completed fill so overlapping clipped edges cannot show blue. */
.about-team-careers::before { transition:background-color 0s; }
.about-team-careers:focus-visible { outline:3px solid #fff; outline-offset:-8px; }
.about-team-careers:is(:hover,:focus-visible)::before { background:var(--black); transition-delay:.55s; }
.about-team-careers-copy { display:flex; flex-direction:column; gap:40px; min-width:0; }
.about-team-careers .about-label { color:inherit; }
.about-team-careers-action { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; min-width:0; }
.about-page .about-team-careers h3 { flex:1; min-width:0; margin:0; max-width:none; font-size:clamp(48px,3.4vw,60px); font-weight:600; line-height:1.07; letter-spacing:-.05em; text-wrap:balance; }
.about-team-careers .icon { color:inherit; stroke-width:1.25; }
.about-team-careers .conversation-cta__arrow { --arrow-size:clamp(60px,3.8vw,76px); }
.about-team .conversation-cta__arrow-track { animation-play-state:paused; }
.about-team.is-loop-visible .conversation-cta__arrow-track { animation-play-state:running; }
.about-candidate-cta { --candidate-accent:#47cb56; --candidate-accent-on-dark:#7fff8e; }
.about-candidate-cta .conversation-cta__accent,
.about-candidate-cta .conversation-cta__search { color:var(--candidate-accent); }
.about-candidate-cta .conversation-cta__button { width:100%; border:0; background:transparent; color:#fff; text-align:left; font:inherit; }
.about-candidate-cta .conversation-cta__button::before { background:var(--candidate-accent); }
.about-candidate-cta .conversation-cta__button:is(:hover,:focus-visible) { color:var(--candidate-accent-on-dark); }
.about-contact { background:transparent; color:#fff; }
.about-contact .about-label { color:#c4cdd4; }
.about-contact-grid { display:grid; width:100%; grid-template-columns:minmax(0,1fr) minmax(420px,min(50%,650px)); gap:clamp(56px,6vw,140px); align-items:stretch; }
.about-contact-content { display:flex; flex-direction:column; min-width:0; justify-content:space-between; gap:clamp(72px,8vw,144px); padding-block:clamp(18px,2vw,40px); }
.about-contact h2 { margin-top:32px; max-width:none; }
.about-contact-title-line { display:block; }
.about-contact-header .about-body { max-width:46ch; margin-top:28px; color:#c4cdd4; }
.about-contact-form { position:relative; min-width:0; padding:clamp(32px,3vw,56px); background:#fff; color:var(--black); }
.about-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 26px; }
.about-field { display:flex; position:relative; flex-direction:column; gap:4px; min-width:0; }
.about-field--wide { grid-column:1/-1; }
.about-field label { color:#52616c; font-size:15px; font-weight:600; line-height:1.4; }
.about-field :is(input,select,textarea) { width:100%; min-width:0; min-height:48px; border:0; border-bottom:1px solid #aab7c0; border-radius:0; padding:8px 0 12px; font:inherit; font-size:18px; color:var(--black); background:transparent; }
.about-field :is(input,textarea)::placeholder { color:#a4afb7; opacity:1; }
.about-field :is(input,textarea):focus::placeholder { color:transparent; }
.about-field textarea { min-height:112px; resize:none; }
.about-field-error { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.about-field:focus-within > label { color:var(--about-violet); }
.about-field :is(input,select,textarea):focus { outline:none; border-bottom-color:var(--about-violet); }
.about-field.is-invalid > :is(input,textarea),.about-field.is-invalid .about-phone-control { border-bottom-color:#8c82ff!important; box-shadow:0 1px 0 #8c82ff; }
.about-phone-control { display:flex; align-items:stretch; width:100%; min-height:48px; border-bottom:1px solid #aab7c0; transition:border-color .2s ease; }
.about-phone-control:focus-within { border-bottom-color:var(--about-violet); }
.about-phone-control > input[type=tel] { flex:1; width:auto; min-width:0; border:0!important; padding:8px 0 12px 12px; }
.about-phone-country { display:inline-flex; flex:none; align-items:center; gap:7px; min-height:48px; padding:8px 10px 12px 0; border:0; background:transparent; color:var(--black); font:inherit; font-size:17px; cursor:pointer; }
.about-phone-country:focus-visible { outline:none; }
.about-phone-flag { flex:none; width:24px; height:18px; border:1px solid #d8dfe3; border-radius:0; object-fit:cover; }
.about-phone-flag[src$="/flag-ch.svg"] { border:0; }
.about-phone-country svg { flex:none; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform .2s ease; }
.about-phone-country[aria-expanded=true] svg { transform:rotate(180deg); }
.about-phone-options { position:absolute; z-index:9; top:100%; left:0; right:0; max-height:272px; padding:7px; overflow-y:auto; border:1px solid #d0d9df; background:#fff; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%); box-shadow:0 20px 36px rgba(5,6,7,.16); }
.about-phone-options[hidden] { display:none; }
.about-phone-option { display:flex; align-items:center; gap:12px; width:100%; min-height:44px; border:0; padding:8px 10px; background:transparent; color:var(--black); font:inherit; font-size:15px; text-align:left; cursor:pointer; }
.about-phone-option:hover,.about-phone-option:focus-visible { outline:none; background:#f1f4f6; }
.about-phone-option[aria-selected=true] { background:#f0edff; }
.about-phone-option__name { flex:1; }
.about-phone-option__dial { color:#52616c; font-variant-numeric:tabular-nums; }
.about-contact-consent { position:relative; margin-block:30px 24px; color:#52616c; font-size:15px; line-height:1.5; }
.about-contact-consent.is-invalid input { border-color:#8c82ff; box-shadow:inset 0 0 0 1px #8c82ff; }
.about-contact-consent a { color:var(--black); text-decoration:underline; text-underline-offset:3px; }
.about-contact-consent a:hover,.about-contact-consent a:focus-visible { color:var(--about-violet); }
.about-page .about-contact-form .candidate-form-submit { --button-base-bg:#050607; --button-base-fg:#fff; --button-base-border:#050607; --button-hover-bg:#8c82ff; --button-hover-fg:#050607; --button-hover-border:#8c82ff; min-height:54px; padding:14px 20px; font-size:16px; }
/* Match the clipped base to the fill once the shared slide has covered it. */
.about-page .about-contact-form .candidate-form-submit:is(:hover,:focus-visible) { background:var(--button-hover-bg); transition:color .32s ease,background-color 0s .46s,transform .36s cubic-bezier(.16,1,.3,1),filter .36s ease; }
.about-page .about-contact-form .candidate-form-submit:active { background:var(--button-hover-bg); }
.about-page .cursor-ring { display:none; position:fixed; left:0; top:0; width:16px; height:16px; pointer-events:none; z-index:90; mix-blend-mode:difference; transform:translate(-80px,-80px); will-change:transform; }
.about-page .cursor-ring::before,.about-page .cursor-ring::after { content:''; position:absolute; left:50%; top:50%; border-radius:50%; transform:translate(-50%,-50%); }
.about-page .cursor-ring::before { width:16px; height:16px; border:1px solid rgba(255,255,255,.4); transition:width .18s cubic-bezier(.16,1,.3,1),height .18s cubic-bezier(.16,1,.3,1); }
.about-page .cursor-ring::after { width:5px; height:5px; background:#fff; }
.about-page .cursor-ring.is-interactive::before { width:34px; height:34px; border-color:rgba(255,255,255,.7); }
.about-page .about-label[data-enter],.about-page .about-body[data-enter],.about-page .about-hero-lead[data-enter],.about-page .about-hero-actions[data-enter] { --enter-rise:24px; --enter-scale:1; }
.about-page h1[data-enter] { --enter-rise:40px; --enter-scale:1; }
.about-page .about-hero-photo[data-enter] { --enter-rise:0px; --enter-scale:1.04; }
@media(max-width:760px) and (max-height:720px), (max-height:640px), (prefers-reduced-motion:reduce) {
  .about-hero-transition > .about-hero { position:relative; }
}
@media(pointer:fine) {
  .about-page .cursor-ring.is-visible { display:block; }
  html .about-page :is(input,select,textarea),html .about-page .about-contact-form,html .about-page .about-contact-form * { cursor:auto!important; }
  html .about-page input,html .about-page textarea { cursor:text!important; }
  html .about-page .about-contact-consent,html .about-page .about-contact-consent * { cursor:pointer!important; }
  html .about-page button:disabled { cursor:not-allowed!important; }
}
@media(min-width:1921px) and (min-aspect-ratio:21/10) {
  .about-page { --gutter:max(80px,calc((100vw - 2000px)/2)); }
  .about-hero h1 { font-size:88px; }
  .about-page .about-section h2 { font-size:64px; }
  .about-page .about-team h2 { font-size:54px; }
  .about-page .about-section h3 { font-size:34px; }
  .about-page .about-team .about-person h3 { font-size:30px; }
  .about-page .about-team-careers h3 { font-size:60px; }
  .about-body { font-size:20px; }
  .about-label { font-size:22px; }
}
@media(max-width:1400px) {
  .about-fact { padding:28px; }
  .about-fact-value--text { font-size:32px; }
  .about-page .about-person h3 { font-size:22px; }
}
@media(max-width:1320px) {
  .about-team { display:block; }
  .about-page .about-team h2 { font-size:clamp(48px,3.4vw,72px); }
  .about-team-grid { max-width:none; margin-top:clamp(40px,4vw,64px); }
}
@media(max-width:1100px) {
  body.about-page { --about-cut:var(--compact-cut); }
  .about-page .about-section h2 { font-size:var(--compact-h2); line-height:1.1; }
  .about-page .about-section h3 { font-size:var(--compact-h3); line-height:1.15; }
  .about-label { font-size:var(--compact-label); }
  .about-body,.about-fact p { font-size:var(--compact-body); line-height:1.5; }
  .about-section-head { gap:32px; margin-bottom:var(--compact-gap); }
  .about-hero { min-height:100svh; padding-block:148px 56px; }
  .about-hero-photo { object-position:60% center; }
  .about-hero h1 { font-size:clamp(46px,5.5vw,60px); }
  .about-hero-lead { font-size:17px; max-width:62ch; }
  .about-attitude { grid-template-columns:.9fr 1fr; gap:32px; }
  .about-attitude-copy h2,.about-team h2,.about-contact h2,.about-mission h2 { margin-top:22px; }
  html[lang] .about-candidate-cta h2 { font-size:var(--compact-h2); line-height:1.1; }
  .about-attitude-copy .about-body { margin-top:24px; }
  .about-collage { gap:16px; }
  .about-photo--construction { height:230px; }
  .about-photo--electrical,.about-photo--healthcare { height:210px; }
  .about-photo--healthcare { margin-top:20px; }
  .about-photo figcaption { left:18px; right:18px; hyphens:auto; overflow-wrap:break-word; }
  .about-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-fact,.about-value,.about-service,.about-contact-form { padding:var(--compact-padding); }
  .about-fact-value { font-size:80px; min-height:88px; margin-top:40px; margin-bottom:24px; }
  .about-fact-value--text { font-size:34px; }
  .about-sectors { margin-block:var(--compact-gap) 40px; gap:10px; }
  .about-sectors li { font-size:16px; padding:10px 16px; }
  .about-row-link { font-size:20px; gap:16px; }
  .about-row-link .icon { width:26px; height:26px; }
  .about-page .about-team h2 { margin-top:22px; font-size:var(--compact-h2); }
  .about-team-grid { margin-top:var(--compact-gap); }
  .about-team-careers { height:100%; min-height:0; padding:var(--compact-padding); }
  .about-team-careers-copy { gap:24px; }
  .about-team-careers .conversation-cta__arrow { --arrow-size:48px; }
  .about-person-details { padding:20px; }
  .about-page .about-person h3 { font-size:24px; }
  .about-person .about-label { font-size:16px; }
  .about-contact-grid { gap:48px; grid-template-columns:minmax(0,1fr); max-width:none; }
  .about-contact-content { gap:var(--compact-gap); padding-block:0; }
  .about-contact-details { max-width:760px; }
  .about-contact-form { width:100%; }
  .about-form-fields { gap:20px 22px; }
  .about-field :is(input,select,textarea) { font-size:17px; }
}
@media(max-width:900px) {
  .about-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
}
@media(max-width:1100px), (max-width:1200px) and (pointer:coarse) {
  .about-team-grid { display:flex; align-items:stretch; justify-self:start; gap:16px; width:calc(100% + var(--gutter)); max-width:none; margin-top:var(--compact-gap,clamp(32px,4vw,44px)); padding:0 var(--gutter) 16px 0; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#9e95ff transparent; }
  .about-team-grid > * { flex:0 0 clamp(270px,32vw,320px); scroll-snap-align:start; }
  .about-person { width:clamp(270px,32vw,320px); }
  .about-team-careers-wrap { width:clamp(270px,32vw,320px); height:auto; }
  .about-team-careers { height:100%; min-height:0; }
  .about-page .about-team-careers h3 { font-size:clamp(48px,6.3vw,54px); line-height:1.07; }
  .about-team-careers .conversation-cta__arrow { --arrow-size:48px; }
}
@media(max-width:760px) {
  .about-page :is(h1,h2,h3,p,address) { text-align:left; }
  .about-page .about-section h2 { max-width:23ch; }
  .about-hero { min-height:100svh; padding-block:132px 48px; }
  .about-hero::after { background:linear-gradient(90deg,rgba(5,6,7,.62),rgba(5,6,7,.42)),linear-gradient(0deg,rgba(5,6,7,.72),transparent 78%); }
  .about-hero-photo { object-position:50% center; }
  .about-hero .about-label { margin-bottom:24px; }
  .about-hero h1 { font-size:clamp(38px,7.7vw,58px); line-height:1.08; max-width:17ch; }
  .about-hero h1 br { display:none; }
  .about-hero-lead { margin-top:28px; font-size:16px; }
  .about-hero-actions { flex-direction:column; align-items:stretch; margin-top:40px; }
  .about-hero-actions .cut-button { width:100%; }
  .about-section-head { display:block; }
  .about-section-head h2 { margin-top:22px; }
  .about-facts .about-section-head h2 { justify-self:start; }
  .about-attitude { display:block; }
  .about-collage { grid-template-columns:1fr; margin-top:40px; gap:24px; }
  .about-photo--construction { height:clamp(190px,55vw,320px); }
  .about-photo--electrical,.about-photo--healthcare { height:clamp(220px,55vw,340px); }
  .about-photo--healthcare { margin-top:0; }
  .about-photo figcaption { left:18px; right:18px; bottom:20px; font-size:17px; }
  .about-marquee { padding-block:30px; }
  .about-marquee-set { font-size:34px; gap:40px; padding-right:40px; }
  .about-marquee-link { gap:12px; }
  .about-marquee-link .icon { width:26px; height:26px; }
  .about-facts-grid { gap:18px; }
  .about-fact-value { font-size:64px; min-height:70px; margin-top:28px; }
  .about-fact-value--text { font-size:25px; }
  .about-fact p { font-size:16px; }
  .about-row-link { font-size:18px; padding-top:18px; }
  .about-team-grid { margin-top:40px; }
  .about-team-grid > * { flex:0 0 min(78vw,320px); scroll-snap-align:start; }
  .about-person { width:min(78vw,320px); }
  .about-page .about-person h3 { font-size:26px; }
  .about-team-careers-wrap { width:min(78vw,320px); height:auto; }
  .about-team-careers { height:100%; }
  .about-person .about-label { font-size:16px; }
  .about-mission :is(.online-window,.online-lens,.online-orbit,.online-dot-active,.branding-buildings,.branding-orbit,.branding-person,.direct-orbit,.direct-needle,.direct-center,.direct-person) { animation:none; will-change:auto; }
  .about-contact-grid { gap:40px; }
  .about-form-fields { grid-template-columns:1fr; }
  .about-contact-form .cut-button { width:100%; }
  .about-contact-form { padding:var(--compact-padding); }
  .about-field :is(input,select,textarea) { font-size:16px; }
  .about-field label { font-size:14px; }
  .about-phone-country { font-size:16px; }
  .about-contact-consent { font-size:14px; }
}
@media(max-width:380px) {
  .about-facts-grid { grid-template-columns:1fr; }
  .about-fact-value--text { font-size:32px; }
  .about-page .about-person h3 { font-size:23px; }
}
@media(max-width:520px) {
  .about-facts-grid { grid-template-columns:1fr; }
  .about-fact-value { min-height:0; margin-top:24px; margin-bottom:20px; }
  .about-fact-value--text { font-size:32px; }
}
@media(min-width:1921px) and (min-aspect-ratio:21/10) {
  html[lang] .about-candidate-cta h2 { font-size:var(--wide-h2); }
}
@media(prefers-reduced-motion:reduce) {
  .about-team-careers:is(:hover,:focus-visible)::before { transition:none; }
  .about-team-careers .conversation-cta__action-track { animation:none; }
  .about-team-careers .conversation-cta__arrow { transition:none; transform:none; }
  .about-marquee-track { animation:none; transform:none; }
  .about-marquee { overflow-x:auto; }
  .about-marquee-set[aria-hidden] { display:none; }
  .about-marquee::before,.about-marquee::after { display:none; }
  .about-marquee-link .icon,.about-marquee-label { transition:none; }
  .about-marquee-link:is(:hover,:focus-visible,:active) .icon { transform:none; }
  .about-page .cursor-ring::before { transition:none; }
}

/* Compose existing families. These rules only place components on the About route. */
.about-accent { color:var(--about-heading-accent,var(--about-violet)); }
.about-attitude { --about-heading-accent:#37afff; }
.about-facts { --about-heading-accent:#47cb56; }
.about-values { --about-heading-accent:#37afff; }
.about-mission { --about-heading-accent:#8c82ff; }
.about-team { --about-heading-accent:#67c2ff; }
.about-contact { --about-heading-accent:#ffda5f; }
.about-facts-grid { grid-template-columns:repeat(12,minmax(0,1fr)); align-items:start; gap:clamp(28px,2.2vw,44px); }
.about-fact { grid-column:span 3; }
.about-fact:first-child { background:var(--blue); color:#fff; }
.about-fact:nth-child(2) { background:#f0edff; margin-top:36px; clip-path:polygon(0 0,100% 0,100% calc(100% - var(--about-cut)),calc(100% - var(--about-cut)) 100%,0 100%); }
.about-fact:nth-child(3) { grid-column:span 4; background:var(--about-tint); clip-path:polygon(var(--about-cut) 0,100% 0,100% 100%,0 100%,0 var(--about-cut)); }
.about-fact:nth-child(4) { grid-column:span 2; background:#eaf9ed; margin-top:72px; }
/* Small fact icons share the editorial card scale and keep the staggered grid. */
.about-page .about-fact > .about-fact-value { margin-top:12px; }
.about-fact-flag { display:block; flex-shrink:0; width:var(--card-icon-size); height:var(--card-icon-size); object-fit:contain; border-radius:0; }
.about-fact:nth-child(2) .about-fact-icon { color:#8c82ff; }
.about-fact:nth-child(3) .about-fact-icon { color:var(--black); }
.about-fact:nth-child(4) .about-fact-icon { color:#238a4b; }
.about-photo--construction { clip-path:polygon(0 0,100% 0,100% calc(100% - var(--about-cut)),calc(100% - var(--about-cut)) 100%,0 100%); }
.about-photo--electrical { clip-path:polygon(var(--about-cut) 0,100% 0,100% 100%,0 100%,0 var(--about-cut)); }
.about-photo--healthcare { clip-path:polygon(0 0,100% 0,100% calc(100% - var(--about-cut)),calc(100% - var(--about-cut)) 100%,0 100%); }
.about-page .about-values { padding:clamp(88px,8vw,150px) var(--gutter) clamp(96px,9vw,170px); }
.about-values .responsibility-mosaic__card h3 { font-size:clamp(25px,2.05vw,38px); font-weight:650; }
.about-mission { background:#fff; }
.about-mission .solutions-grid { margin:0; }
.about-mission .solution-copy h3 { font-size:clamp(31px,2.2vw,41px); line-height:1.08; letter-spacing:-.038em; }
.about-mission .solution-cta { margin-top:auto; padding-top:20px; }
.about-mission .solution-copy { flex:1; }
.about-mission .solution-copy > p { margin-bottom:42px; }
.about-contact-form { clip-path:polygon(var(--about-cut) 0,100% 0,100% 100%,0 100%,0 var(--about-cut)); }
.about-contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,1.8vw,32px); max-width:820px; }
.about-directory-card { display:flex; flex-direction:column; justify-content:space-between; gap:28px; min-width:0; min-height:clamp(230px,17vw,300px); padding:clamp(24px,2vw,36px); clip-path:polygon(0 0,calc(100% - var(--about-cut)) 0,100% var(--about-cut),100% 100%,0 100%); }
.about-directory-card--direct { background:#37afff; color:#fff; }
.about-directory-card--location { background:#ffd344; color:var(--black); }
.about-directory-card__top { font-size:clamp(15px,1vw,18px); font-weight:600; line-height:1.35; }
.about-directory-card__info { display:flex; flex-direction:column; align-items:flex-start; gap:12px; font-family:'DM Sans',Arial,sans-serif; font-size:clamp(19px,1.4vw,26px); font-weight:600; line-height:1.15; letter-spacing:-.035em; }
.about-directory-card__info a { color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.about-directory-card__info a::after { content:''; display:block; height:2px; background:currentColor; clip-path:inset(0 100% 0 0); transition:clip-path .3s ease; }
.about-directory-card__info a:is(:hover,:focus-visible)::after { clip-path:inset(0); }
.about-directory-card__info a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.about-directory-card address { font-family:'DM Sans',Arial,sans-serif; font-size:clamp(18px,1.25vw,24px); font-weight:600; font-style:normal; line-height:1.32; letter-spacing:-.03em; }
@media(max-width:1400px) {
  .about-facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-fact,.about-fact:nth-child(3),.about-fact:nth-child(4) { grid-column:auto; }
  .about-fact:nth-child(2),.about-fact:nth-child(4) { margin-top:0; }
}
@media(max-width:1100px) {
  .about-page .about-values { padding:var(--compact-space) var(--gutter); }
  .about-values .responsibility-mosaic__card h3,.about-mission .solution-copy h3 { font-size:var(--compact-h3); line-height:1.15; }
  .about-mission .solution-copy > p { margin-bottom:0; }
  .about-mission .solution-cta { margin-top:24px; padding-top:16px; }
  .about-hero .hero-actions .cut-button { min-height:58px; font-size:16px; padding:16px 20px; }
  .about-directory-card { padding:var(--compact-padding); }
  .about-directory-card address { font-size:var(--compact-body); }
}
@media(max-width:760px) {
  .about-hero-lead { margin-top:32px; }
  .about-hero-actions { margin-top:40px; }
}
@media(max-width:520px) { .about-facts-grid { grid-template-columns:1fr; } }

@media(max-width:760px) {
  .about-contact-details { grid-template-columns:1fr; gap:16px; }
  .about-directory-card { min-height:190px; padding:24px; }
}

/* Same viewport-stable star field as the homepage; white content covers it. */
.about-page #ambient-background { position:fixed; inset:0 0 auto; height:100vh; height:100lvh; z-index:-1; pointer-events:none; background:url('/assets/preloader-stars.svg?v=3') center / 100% 100% no-repeat,linear-gradient(135deg,#050607,#1c232a); }
.about-page #ambient-particles { display:block; width:100%; height:100%; }
html.ambient-live .about-page #ambient-background { background-image:linear-gradient(135deg,#050607,#1c232a); }
@media(max-width:760px) { html.preload-ready { background-image:none; background-attachment:scroll; } .about-page #ambient-background { background-image:url('/assets/about-stars-compact.webp?v=2'),linear-gradient(135deg,#050607,#1c232a); } html.ambient-live .about-page #ambient-background { background-image:linear-gradient(135deg,#050607,#1c232a); } }
@media(max-width:520px) { .about-page #ambient-background { background-image:url('/assets/about-stars-phone.webp?v=2'),linear-gradient(135deg,#050607,#1c232a); } html.ambient-live .about-page #ambient-background { background-image:linear-gradient(135deg,#050607,#1c232a); } }
