/* Azure uses the shared cloud palette and specialized-service structure. */
@import url("cloud-theme.css");
@media (min-width:1051px) {
  .azure-page { --ps-purple:var(--cloud-accent); --ps-purple-dark:var(--cloud-hover); }
  .azure-page.projects-page .email-hero {
    background:var(--cloud-shell) url("../azure-nuage-blanc-banniere-reduit-v04.webp") center / cover no-repeat;
    background-blend-mode:normal;
  }
  .azure-main .email-hero h1 { max-width:850px; }
  .azure-main .email-hero p { max-width:640px; }
  .azure-main .email-prosecure :is(h2,p) { color:#000000; }
}

/* Azure follows the shared service geometry without changing the hero assets. */
@media (min-width:1051px) {
  .azure-main .email-hero .azure-eyebrow {
    position:absolute;
    bottom:calc(100% + 24px);
    margin:0;
    color:#FFFFFF;
    font-size:14px;
    font-weight:500;
  }
  .azure-main .azure-solutions { padding:80px 0 0; }
  .azure-main .projects-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
  .azure-main .projects-tabs button { white-space:normal; text-wrap:balance; }
  .azure-themes-layout .projects-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; }
  .azure-themes-layout .projects-panel > div { min-width:0; }
  .azure-diagram { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:24px; min-height:176px; margin:0; padding:20px 0; }
  .azure-diagram-node { position:relative; display:grid; grid-template-rows:48px minmax(40px,auto); justify-items:center; gap:10px; min-width:0; text-align:center; font-size:13px; line-height:1.5; color:#000000; }
  .azure-diagram-icon { display:grid; place-items:center; width:56px; height:48px; color:var(--cloud-accent); }
  .azure-diagram-icon svg { display:block; width:32px; height:32px; }
  .azure-diagram-node:not(:last-child)::after { content:""; position:absolute; top:24px; left:calc(50% + 34px); width:calc(100% - 44px); border-top:1px dashed var(--cloud-accent); }
  .azure-main .azure-accompaniment { margin-top:80px; padding:0; }
  .azure-measures { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin:0; padding:0; list-style:none; }
  .azure-measures li { min-width:0; }
  .azure-measures li + li { padding-left:32px; border-left:1px solid #D2DEE8; }
  .azure-measures h3 { margin:0 0 16px; font-size:22px; }
  .azure-main .azure-costs { margin-top:80px; padding:48px 0; background:var(--cloud-tint); }
  .azure-costs :is(h2,p) { color:#000000; }
  .azure-main .azure-costs p { max-width:960px; }
  .azure-main .azure-costs .azure-costs-alternative { margin-top:24px; }
  .azure-costs-alternative a { color:var(--cloud-hover); text-decoration:underline; text-underline-offset:3px; }
  .azure-costs-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:center; gap:64px; }
  .azure-costs-layout > div { min-width:0; }
  .azure-costs-markers { display:grid; gap:24px; margin:0; padding:0; list-style:none; }
  .azure-costs-markers li { display:flex; align-items:center; gap:16px; min-width:0; color:#000000; }
  .azure-costs-icon { display:block; width:32px; height:32px; flex:none; color:var(--cloud-accent); }
  .azure-costs-icon svg { display:block; width:100%; height:100%; }
  /* The related frame already supplies the 80px gap before FAQ. */
  .azure-main .projects-related { margin-top:80px; }
  .azure-main .faq .section-inner { padding-top:0; padding-bottom:80px; }
  .azure-main .faq .serif-title { margin-bottom:36px; }
  .azure-main .projects-contact { padding-top:0; padding-bottom:80px; }
  .azure-main .projects-contact-button { margin-top:28px; }
}
