/* ALTitude: ProSecure composition in the TI palette, desktop design phase. */
@media (min-width:1051px) {
  .altitude-page.projects-page .projects-hero.altitude-hero {
    background:linear-gradient(90deg,#082E51 0%,rgba(8,46,81,.96) 28%,rgba(8,46,81,.86) 46%,rgba(8,46,81,.12) 74%), #082E51 url("../service-altitude-collaboration-sans-plantes.webp") right top / cover no-repeat;
  }
  .altitude-main .projects-hero h1 { max-width:760px; font-size:48px; line-height:1.16; }
  .altitude-main .projects-hero .altitude-eyebrow { position:absolute; bottom:calc(100% + 24px); margin:0; color:#FFFFFF; font-size:14px; font-weight:500; letter-spacing:0; }
  .altitude-main .projects-hero .altitude-hero-tagline { max-width:590px; font-size:24px; font-weight:600; line-height:1.4; }
  .altitude-main .projects-hero .altitude-hero-lead { max-width:590px; }
  .altitude-main .projects-intro h2 { margin-bottom:36px; }

  /* Each block supplies its leading 80px once; tinted bands own their internal padding. */
  .altitude-main .altitude-section { margin:80px 0 0; padding:0; }
  .altitude-main .altitude-band { padding:80px 0; background:#E7EFF5; color:#000000; }
  .altitude-section-heading { max-width:930px; margin:0 auto 36px; text-align:center; }
  .altitude-main .altitude-section-heading h2 { margin:0; }
  .altitude-main .altitude-section-heading h2 + p { margin-top:16px; }
  .altitude-icon { display:block; flex-shrink:0; width:28px; height:28px; color:#1769E0; }
  .altitude-icon svg { display:block; width:100%; height:100%; }
  .altitude-benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 40px; margin:0; padding:0; list-style:none; }
  .altitude-benefits-grid li { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:start; gap:14px; min-width:0; }
  .altitude-benefits-grid .altitude-icon { width:24px; height:24px; }
  .altitude-main .altitude-benefits-grid h3 { margin:0; font-size:18px; line-height:1.4; }
  .altitude-offer-category {
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:48px;
    min-width:0;
    padding:28px 0;
    border-top:1px solid #C5D5E2;
  }
  .altitude-offer-category:last-child { padding-bottom:0; }
  .altitude-offer-label { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:start; gap:16px; min-width:0; }
  .altitude-main .altitude-offer-label h3 { margin:0; font-size:22px; line-height:1.4; }
  .altitude-offer-copy { min-width:0; color:#000000; font-size:16px; font-weight:400; line-height:1.7; }
  .altitude-main .altitude-offer-copy p { margin:0 0 16px; font-weight:400; }
  .altitude-offer-copy ul { display:grid; gap:10px; margin:0; padding-left:20px; list-style:disc; }
  .altitude-offer-copy li { margin:0; padding-left:4px; font-weight:400; }
  .altitude-offer-copy li::marker { color:#1769E0; }
  .altitude-text-link { display:inline-flex; align-items:center; gap:10px; color:#1254B5; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
  .altitude-text-link:hover { color:#082E51; }
  .altitude-text-link svg { width:18px; height:18px; flex-shrink:0; }

  .altitude-action { display:flex; flex-direction:column; align-items:center; gap:28px; max-width:930px; margin:32px auto 0; text-align:center; }

  .altitude-main .altitude-security { padding:48px 0; background:#F5F1FA; color:#000000; text-align:center; }
  .altitude-main .altitude-security h2 { max-width:1000px; margin:0 auto; color:#000000; }
  .altitude-main .altitude-security h2 span { color:#673AB7; }
  .altitude-main .altitude-security p { max-width:890px; margin:16px auto 0; color:#000000; }
  .altitude-security .altitude-security-button { margin-top:24px; background:#673AB7; border-color:#673AB7; color:#FFFFFF; }
  .altitude-security .altitude-security-button:hover { background:#51278E; border-color:#51278E; }
  .altitude-main .altitude-security a:focus-visible { outline-color:#673AB7; }

  .altitude-setup-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
  .altitude-setup-grid > li { position:relative; min-width:0; text-align:center; }
  .altitude-step-marker { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 12px; border:1px solid #C5D5E2; border-radius:50%; background:#E7EFF5; }
  .altitude-step-marker .altitude-icon { width:26px; height:26px; }
  .altitude-step-number { display:block; margin-bottom:6px; color:#1769E0; font-size:14px; line-height:20px; font-weight:600; font-variant-numeric:tabular-nums; }
  .altitude-main .altitude-setup-grid h3 { margin:0; font-size:18px; line-height:1.4; }
  .altitude-step-connector { position:absolute; top:28px; left:calc(50% + 40px); width:calc(100% - 56px); display:flex; align-items:center; transform:translateY(-50%); color:#1769E0; pointer-events:none; }
  .altitude-step-connector::before { content:""; flex:1; border-top:1px solid #C5D5E2; }
  .altitude-step-connector svg { display:block; width:16px; height:16px; flex-shrink:0; }
  .altitude-marcel-layout { display:grid; grid-template-columns:32px minmax(0,1fr); gap:24px; padding:28px 0; border-top:1px solid #D2DEE8; border-bottom:1px solid #D2DEE8; }
  .altitude-main .altitude-marcel h2 { margin:0 0 16px; font-size:22px; }
  .altitude-marcel p { max-width:980px; font-size:15px; line-height:1.7; }

  /* The related frame already leaves 80px between its background and the FAQ. */
  .altitude-main .projects-related { margin-top:80px; }
  .altitude-main .faq .section-inner { padding-top:0; padding-bottom:80px; }
  .altitude-main .projects-contact { padding-top:0; padding-bottom:80px; }
  .altitude-main .projects-contact-layout::before { inset:0; filter:none; }
  .altitude-main .faq-answer a { color:#1254B5; text-decoration:underline; text-underline-offset:3px; }
}
