.platform-page { background: #fff; }
.platform-page .section-space { padding: 30px 0; }
.platform-page h2 { line-height: 1.03; }

.platform-hero { position: relative; overflow: hidden; color: #fff; background: #1e1f20 url("../images/fond-noir.png") center / cover no-repeat; padding: 135px 0 68px; }
.platform-hero::before, .platform-hero::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.035); }
.platform-hero::before { width: 620px; height: 620px; left: -240px; top: -330px; box-shadow: 0 0 0 60px rgba(255,255,255,.012), 0 0 0 120px rgba(255,255,255,.008); }
.platform-hero::after { width: 500px; height: 500px; right: -200px; bottom: -350px; box-shadow: 0 0 0 75px rgba(255,255,255,.012); }
.platform-hero .container { position: relative; z-index: 1; }
.platform-hero h1 { color: #fff; font-size: clamp(2rem, 3.4vw, 3.05rem); line-height: .96; }
.platform-hero p { margin: 24px 0 18px; color: #e0e0e0; }
.platform-hero-image { width: min(100%, 440px); filter: drop-shadow(0 18px 24px rgba(0,0,0,.24)); }
.platform-hero-image img { display: block; width: 100%; height: auto; object-fit: contain; }

.platform-pillars { padding: 62px 0 68px; }
.pillar { display: inline-flex; min-width: 170px; flex-direction: column; align-items: center; }
.pillar img { width: 70px;  object-fit: contain; }
.pillar h2 { margin: 10px 0 0; color: #111319; font-size: 1rem;line-height: 1.2; letter-spacing: -.02em; }

.platform-intro { padding-top: 70px !important; }
.platform-intro h2, .stock-section h2, .offers-section h2, .client-tools h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.platform-intro p, .stock-section p { max-width: 600px; color: #60636d;  }
.platform-url { display: inline-block; margin: 10px 0 25px; color: var(--brand); border: 2px solid var(--brand); border-radius: 999px; padding: .28rem .7rem; font-size: 1.28rem; font-weight: 800; text-decoration: none; }
.trust-line { display: flex; align-items: flex-start; gap: 13px; margin-top: 22px; max-width: 610px; font-size: 1rem; line-height: 1.5; }
.trust-line img { width: 34px; height: 34px; object-fit: contain; }
.device-stage { position: relative; min-height: 420px; }
.platform-device-image { display: block; width: 100%; height: auto; object-fit: contain; }
.mobile-visual { width: min(100%, 430px); margin-left: auto; }
.device-quote { position: absolute; z-index: 2; right: -10px; top: 0; width: min(82%, 355px); padding: 20px 22px; color: #22242b; background: #fff; border-radius: 0 18px 18px 18px; box-shadow: 0 16px 34px rgba(30,34,40,.15); font-size: 1rem; line-height: 1.5; }
.device-quote i { position: absolute; left: -18px; top: -14px; color: var(--brand); font-size: 2.4rem; }

.how-heading { position: relative; overflow: hidden; padding: 38px 0 34px; color: #fff; background: #202122 url("../images/fond-noir.png") center / cover no-repeat; }
.how-heading::after { content: ""; position: absolute; inset: -120px 20% auto; height: 220px; border: 1px solid rgba(255,255,255,.025); border-radius: 50%; }
.how-heading h2 { position: relative; z-index: 1; margin: 0; color: #fff; font-size: clamp(2rem, 3.3vw, 3rem); }
.how-heading p { position: relative; z-index: 1; margin: 10px 0 0; color: #d2d2d2; font-size: 1rem; line-height: 1.45; }

.signup-journey { padding-bottom: 105px !important; }
.signup-title h2 { margin: 16px 0 10px; font-size: clamp(1.55rem, 2.7vw, 2.25rem); }
.signup-title u, .stock-section u, .daily-banner u { text-decoration-color: var(--brand); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.signup-title p { color: #777984; font-size: 1rem; }
.signup-round-icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto; color: var(--brand); border: 4px solid var(--brand); border-radius: 50%; font-size: 1.6rem; }
.company-search-row { max-width: 730px; margin: 42px auto 25px; }
.company-search-row .form-control { border-radius: 0; min-height: 44px; }
.multiscreen-visual { width: min(100%, 760px); margin: 20px auto 0; }

.stock-section { overflow: hidden; background: linear-gradient(125deg, #fff 0%, #fafafa 62%, #f2f2f2 100%); }
.stock-section h2 { color: #0c0e13; }.stock-section h2 u { text-decoration-color: var(--brand); }
.tablet-visual { width: min(100%, 470px); margin-left: auto; }

.offers-section { padding-top: 115px !important; padding-bottom: 115px !important; }
.offers-visual { width: min(100%, 550px); }
.offer-list { display: grid; gap: 17px; margin: 28px 0 30px; padding: 0; list-style: none; }
.offer-list li { display: flex; gap: 13px; align-items: center; }.offer-list i { color: var(--brand); font-size: 1.18rem; }

.client-tools { position: relative; overflow: hidden; padding: 62px 0; color: #fff; background: #202122 url("../images/fond-noir.png") center / cover no-repeat; }
.client-tools::before { content: ""; position: absolute; width: 620px; height: 290px; left: -150px; top: -190px; border: 1px solid rgba(255,255,255,.035); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.012); }
.client-tools .container { position: relative; z-index: 1; }.client-tools h2 { color: #fff; }.client-tools p { color: #d1d1d1; font-size: 1rem; }
.client-benefits > div { display: flex; gap: 9px; align-items: flex-start; color: #fff; font-size: 1rem; line-height: 1.45; }.client-benefits i { color: var(--brand); font-size: 1.15rem; }
.clients-visual { width: min(100%, 500px); margin-left: auto; }

.daily-section { padding: 75px 0 30px; }
.daily-banner { color: #fff; background: #ad0026 url("../images/fond-rouge.png") center / cover no-repeat; border-radius: 18px; padding: 43px 60px; }
.daily-banner h2 { color: #fff; font-size: clamp(1.55rem, 2.6vw, 2.25rem); }.daily-banner p { max-width: 830px; margin: 19px auto 0; font-size: 1rem; line-height: 1.55; }

.platform-benefits { padding-top: 75px !important; }
.platform-benefits > .container > h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.platform-benefits article { height: 100%; padding: 10px; }
.platform-benefits article img { width: 95px; height: 82px; object-fit: contain; }.platform-benefits article > i { display: block; height: 82px; color: #202226; font-size: 3.9rem; }
.platform-benefits h3 { margin: 6px 0 1px; color: #181a20; line-height: 1.25; }.platform-benefits p { margin: 0; color: #70727b; font-size: 1rem; line-height: 1.4; }

@media (max-width: 991.98px) {
  .platform-hero { padding-top: 125px; text-align: center; }.platform-hero-image { margin-top: 15px; }
  .platform-intro .btn, .stock-section .btn { margin-bottom: 10px; }
  .device-stage { max-width: 560px; min-height: 430px; margin: 20px auto 0; }
  .mobile-visual { margin: 0 auto; }.device-quote { right: 5%; }
  .tablet-visual, .clients-visual { margin: 10px auto 0; }.offers-visual { margin: 20px auto 0; }
  .stock-section, .client-tools { text-align: center; }.stock-section p { margin-left: auto; margin-right: auto; }.client-benefits { text-align: left; }
}

@media (max-width: 767.98px) {
  .platform-page .section-space { padding: 70px 0; }
  .platform-hero h1 { font-size: 2.2rem; }.platform-hero { padding-bottom: 55px; }
  .platform-pillars { padding: 48px 0; }.pillar { min-width: 130px; }
  .platform-intro h2, .stock-section h2, .offers-section h2, .client-tools h2 { font-size: 2rem; }
  .device-stage { min-height: 355px; }.device-quote { width: 86%; right: 0; }
  .company-search-row { margin-top: 30px; }.multiscreen-visual { margin-top: 28px; }
  .daily-banner { padding: 34px 24px; }.offers-section { padding-top: 80px !important; padding-bottom: 80px !important; }
}

@media (max-width: 480px) {
  .platform-hero h1 { font-size: 2rem; }.platform-hero p { }
  .platform-pillars .col-6:last-child { margin-top: 12px; }.pillar h2 { }
  .device-stage { min-height: 320px; }.device-quote { padding: 16px; font-size: 1rem; }
  .multiscreen-visual, .tablet-visual, .offers-visual, .clients-visual { width: 100%; }
  .company-search-row .d-flex { align-items: flex-start !important; gap: 8px; flex-direction: column; }
}
