.about-page { background: #fff; }
.about-page h2 { color: #252833; font-size: clamp(1.9rem, 3vw, 2.75rem); line-height: 1.03; }
.about-page h2 span, .about-signup-card h2 span, .team-copy h2 span, .about-solutions h2 span { color: var(--brand); }

.about-hero { min-height: 535px; padding: 130px 0 55px; }
.about-hero h1 { margin-bottom: 24px; color: #0c0d10; font-size: clamp(2.45rem, 3.7vw, 3.55rem); line-height: .96; }
.about-hero p { display: flex; max-width: 520px; align-items: center; gap: 15px; margin-bottom: 23px; color: #686b75 }
.inline-atb-logo { height: 70px; object-fit: contain; }
.about-map { display: block; width: min(100%, 455px); height: auto; margin: 0 auto; object-fit: contain; filter: drop-shadow(0 20px 24px rgba(23,29,39,.1)); }

.about-story { padding: 95px 0; }
.about-story h2 { max-width: 540px; margin: 10px 0 20px; }
.about-story p { max-width: 560px; color: #696c76; font-size: 1rem; }
.story-icon { width: 48px; height: 48px; object-fit: contain; }
.story-photo-stage { position: relative; width: min(100%, 460px); min-height: 440px; margin-left: auto; }
.story-photo-stage > img { display: block; width: 100%; height: auto; object-fit: contain; }
.about-quote { position: absolute; z-index: 2; right: -18px; bottom: 14px; width: min(70%, 300px); padding: 20px 22px; color: #30323a; background: #fff; border-radius: 0 17px 17px 17px; box-shadow: 0 16px 36px rgba(24,27,34,.16); font-size: 1rem; line-height: 1.5; }
.about-quote i { position: absolute; left: -17px; top: -18px; color: var(--brand); font-size: 2.4rem; }

.story-experience { padding-top: 75px; }
.about-team-collage { position: relative; width: min(100%, 530px); min-height: 470px; }
.about-team-collage img { position: absolute; display: block; object-fit: contain; filter: drop-shadow(0 17px 27px rgba(26,29,36,.14)); }
.about-team-main { z-index: 1; width: 72%; left: 0; top: 0; }
.about-team-small { z-index: 2; width: 58%; right: 0; bottom: 0; }

.about-numbers { padding: 36px 0; background: #f5f7fb; }
.about-numbers .row > div:not(:first-child) { display: flex; min-height: 95px; flex-direction: column; align-items: center; justify-content: center; }
.about-numbers img, .about-numbers .row > div > img { width: 60px;margin-bottom:15px }
.about-numbers strong { color: #292c37; font-size: 1.65rem; line-height: 1.05; }
.about-numbers span { margin-top: 5px; color: #252831; font-size: 1rem; font-weight: 700; line-height: 1.25; }
.about-numbers h2 { margin: 0; font-size: 1.65rem; }
.numbers-kicker { margin: 0 0 5px; color: #8a8d97; font-size: 1rem; font-weight: 700; letter-spacing: .08em; }

.about-signup { padding: 82px 0; }
.about-signup-card { max-width: 920px; margin: 0 auto; padding: 42px 58px; border: 1px solid #777a84; border-radius: 14px; }
.about-signup-card h2 { margin: 13px 0 7px; font-size: clamp(1.7rem, 2.7vw, 2.3rem); }
.about-signup-card > .text-center > p { color: #777983; font-size: 1rem; }
.about-signup-card .company-search-row { max-width: 760px; margin: 30px auto 0; }
.about-signup-card .form-control { min-height: 44px; border-radius: 0; }
.about-signup-card .company-suggestions { position: absolute; z-index: 4; left: 0; right: 0; }

.about-team-section { padding: 70px 0 95px; }
.about-team-complete { display: block; width: min(100%, 960px); height: auto; margin: 0 auto 25px; object-fit: contain; }
.team-copy { max-width: 820px; margin: 0 auto; }
.team-copy h2 { margin-bottom: 19px; font-size: clamp(2rem, 3.25vw, 3rem); }
.team-copy > p:not(.team-mission) { max-width: 760px; margin: 20px auto 23px; color: #4f525d; font-size: 1rem;}
.team-mission { color: #22252e; font-size: 1rem; font-weight: 800; }
.team-mission i { margin-right: 8px; color: var(--brand); font-size: 1.7rem; vertical-align: -.2em; }

.about-contact-band { padding: 0 0 82px; }
.about-contact-card { display: flex; gap: 30px; align-items: center; justify-content: space-between; padding: 42px 55px; color: #fff; background: #202122 url("../images/fond-noir.png") center / cover no-repeat; border-radius: 17px; }
.about-contact-card h2 { margin: 0; color: #fff; font-size: clamp(1.55rem, 2.55vw, 2.25rem); }
.about-contact-card h2 i { margin-right: 9px; color: var(--brand); font-size: 1.65rem; }
.about-contact-card p { max-width: 670px; margin: 11px 0 0; color: #d2d3d5; font-size: 1rem; }
.about-contact-card .btn { flex: 0 0 auto; }
.advantages-numbers strong { font-size: 1.75rem; }

.about-solutions { padding: 105px 0; }
.about-stock-shape { display: block; width: min(100%, 520px); height: auto; margin: 0 auto; object-fit: contain; filter: drop-shadow(0 18px 25px rgba(27,30,36,.1)); }
.about-solutions h2 { margin-bottom: 27px; }
.about-check-list { display: grid; gap: 15px; margin: 0 0 30px; padding: 0; list-style: none; }
.about-check-list li { position: relative; padding-left: 45px; color: #3e414b; font-size: 1rem; line-height: 1.45}
.about-check-list li::before { content: "\f26a"; position: absolute; left: 0; top: 0; color: var(--brand); font-family: "bootstrap-icons"; font-size: 1.8rem; }
.about-check-list strong, .about-check-list small { display: block; }
.about-check-list small { margin-top: 2px; color: #777a84; font-size: 1rem; }

.about-adaptable { padding: 0 0 92px; }
.about-red-card { padding: 38px 60px 42px; color: #fff; background: #ad0026 url("../images/fond-rouge.png") center / cover no-repeat; border-radius: 18px; }
.about-red-card img { width: 48px; height: 48px; margin-bottom: 10px; object-fit: contain; filter: brightness(0) invert(1); }
.about-red-card h2 { margin: 0; color: #fff; font-size: clamp(1.65rem, 2.7vw, 2.35rem); }
.about-red-card h2 u { text-decoration-thickness: 3px; text-underline-offset: 5px; }
.about-red-card p { max-width: 810px; margin: 16px auto 0; color: #f4dfe5; font-size: 1rem; }

@media (max-width: 991.98px) {
  .about-hero { padding-top: 125px; text-align: center; }
  .about-hero p { justify-content: center; margin-left: auto; margin-right: auto; }
  .about-story { padding: 78px 0; text-align: center; }
  .about-story h2, .about-story p { margin-left: auto; margin-right: auto; }
  .story-photo-stage, .about-team-collage { margin: 35px auto 0; }
  .story-market .story-photo-stage { margin-top: 15px; }
  .about-numbers .row > div:first-child { margin-bottom: 8px; }
  .about-contact-card { align-items: flex-start; flex-direction: column; }
  .about-solutions { padding: 82px 0; text-align: center; }
  .about-check-list { width: min(100%, 610px); margin-left: auto; margin-right: auto; text-align: left; }
}

@media (max-width: 767.98px) {
  .about-hero h1 { font-size: 2.4rem; }
  .about-page h2 { font-size: 2rem; }
  .about-team-collage { min-height: 410px; }
  .about-numbers { padding: 32px 0; }
  .about-numbers .row > div:not(:first-child) { min-height: 85px; }
  .about-numbers strong { font-size: 1.3rem; }
  .about-numbers span { font-size: 1rem; }
  .about-signup { padding: 65px 0; }
  .about-signup-card { padding: 34px 24px; }
  .about-signup-card .company-search-row .d-flex { align-items: flex-start !important; gap: 7px; flex-direction: column; }
  .about-team-section { padding: 55px 0 72px; }
  .about-contact-band { padding-bottom: 62px; }
  .about-contact-card { padding: 34px 28px; }
  .about-red-card { padding: 34px 25px; }
}

@media (max-width: 480px) {
  .about-hero { min-height: auto; padding-top: 118px; }
  .about-hero h1 { font-size: 2.1rem; }
  .about-hero p { align-items: flex-start; flex-direction: column; }
  .inline-atb-logo { margin: 0 auto; }
  .about-story { padding: 65px 0; }
  .story-photo-stage { min-height: 345px; }
  .about-quote { right: 0; width: 76%; padding: 16px; font-size: 1rem; }
  .about-team-collage { min-height: 310px; }
  .about-numbers .row > div:not(:first-child) { padding-left: 4px; padding-right: 4px; }
  .about-numbers img, .about-numbers .row > div > i { width: 30px; height: 30px; font-size: 1.35rem; }
  .about-numbers strong { font-size: 1.05rem; }
  .about-solutions { padding: 65px 0; }
  .team-copy h2 { font-size: 2rem; }
  .about-contact-card h2 { font-size: 1.55rem; }
}
