/* Pages intérieures (en plus de site.css) : reprend l'identité de l'accueil
   sur les gabarits existants (hauts de page, cartes, formulaires, articles, diagnostic).
   Chargé après les styles propres à chaque page, donc il les remplace. */

/* ---------- Typographie ---------- */
body{font-family:var(--sans);color:var(--ink)}
main h1,main h2,main h3,main h4,
.evo-container h2,.evo-container h3,.evo-container h4,
.evo-contact-wrap h2,.evo-contact-wrap h4,.evo-article-body h2,.evo-article-body h3,.evo-related h2,
.evo-veille-card h2,.evo-related-card h3,.diag-container h1,.diag-container h2,.diag-container h3{font-weight:500;letter-spacing:-.02em;text-wrap:balance}
strong,b{font-weight:600}

/* ---------- Haut de page : panneau noir sous la barre, comme l'accueil ---------- */
#contenu{display:block;height:96px;outline:none}
#contenu + .evo-page-hero,#contenu + .evo-article-hero{margin-top:-80px}
.evo-page-hero{margin:16px;border-radius:var(--r);background:var(--black);color:#fff;border:0;position:relative;overflow:hidden;isolation:isolate}
.evo-page-hero-inner{width:min(1328px,100% - 80px);max-width:none;margin:0 auto;padding:150px 0 80px}
.evo-fil{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:#BDBDBD;margin-bottom:22px}
.evo-fil a{color:var(--green-light);text-decoration:none;font-weight:500}
.evo-fil a:hover{color:#fff}
.evo-page-hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.05;letter-spacing:-.035em;font-weight:400;color:#fff;margin:0;max-width:17em;text-wrap:balance}
.evo-page-hero h1 span{color:var(--green-light)}
.evo-page-hero p{font-size:18px;line-height:1.6;color:#D2D2D2;margin:24px 0 0;max-width:38em}
.evo-page-hero p a{color:var(--green-light)}
.evo-filigrane{position:absolute;right:4%;top:50%;width:min(360px,32vw);height:auto;aspect-ratio:1;margin-top:0;transform:translateY(-38%);z-index:-1;opacity:.9;pointer-events:none}
.evo-filigrane path{fill:var(--green-logo)}
.evo-filigrane path:nth-child(odd){fill:rgba(255,255,255,.14)}

/* Articles de veille : même panneau, colonne de lecture centrée */
.evo-article-hero{max-width:none;margin:16px;border-radius:var(--r);background:var(--black);color:#fff;padding:150px max(24px,calc((100% - 812px) / 2)) 64px}
.evo-article-hero .breadcrumb{font-size:14px;color:#BDBDBD;margin-bottom:22px}
.evo-article-hero .breadcrumb a{color:var(--green-light)}
.evo-article-hero .breadcrumb a:hover{color:#fff}
.evo-article-hero .tag{background:rgba(168,220,185,.14);color:var(--green-light);font-size:12px;font-weight:600;letter-spacing:.06em;padding:4px 12px;border-radius:14px}
.evo-article-hero h1{font-size:clamp(34px,3.8vw,52px);line-height:1.08;letter-spacing:-.03em;font-weight:400;color:#fff;margin:18px 0 20px}
.evo-article-hero .meta{font-size:14px;color:#BDBDBD;margin:0}

/* ---------- Mise en page ---------- */
.evo-container{max-width:none;width:min(1328px,100% - 80px);padding:90px 0}
.evo-section-h2{font-size:clamp(30px,3vw,44px);line-height:1.1;font-weight:400;letter-spacing:-.03em;margin:0 0 48px}
.evo-divider{background:var(--line);margin:90px auto}
.evo-container a:not([class]),.evo-legal a:not([class]),.evo-bio a:not([class]),.evo-article-body a:not([class]){color:var(--green)}

/* ---------- Boutons : un seul vert, un seul arrondi ---------- */
.evo-btn,.evo-submit-btn,.diag-btn-next,.res-cta-primary,.evo-article-cta a,.nav-link.primary{background:var(--green) !important;color:#fff !important;border:0;border-radius:6px !important;font-weight:500 !important;font-family:var(--sans);box-shadow:none !important;transform:none}
.evo-btn:hover,.evo-submit-btn:hover,.diag-btn-next:hover,.res-cta-primary:hover,.evo-article-cta a:hover,.nav-link.primary:hover{background:var(--green-hover) !important;transform:none}
.evo-btn{padding:14px 26px}
.diag-btn-back,.res-cta-secondary,.nav-link.secondary,.res-restart{border-radius:6px !important;font-weight:500 !important}
.nav-link.secondary{border:1px solid #CFCFCF;color:var(--ink)}
.nav-link.secondary:hover{border-color:var(--ink);color:var(--ink)}

/* ---------- Cartes : panneaux gris sans bordure ---------- */
.evo-proj-card,.evo-skill-card,.evo-testi-card,.evo-veille-card,.evo-related-card,.evo-faq-item,.evo-phase-card,.evo-phase-block,.evo-form-card,.evo-ticker{background:var(--panel);border:0;border-radius:14px;box-shadow:none}
.evo-proj-card:hover,.evo-veille-card:hover,.evo-related-card:hover,.evo-phase-card:hover,.evo-offres-grid .evo-phase-block:hover{transform:none;box-shadow:none;border-color:transparent}
.evo-veille-card:hover,.evo-related-card:hover{background:#ECECEC}
.evo-veille-card:hover h2,.evo-related-card:hover h3{color:var(--green)}
.evo-proj-card h3,.evo-skill-card h4,.evo-veille-card h2,.evo-phase-card h3,.evo-faq-item h3{font-size:21px;line-height:1.25;color:var(--ink)}
.evo-proj-desc,.evo-skill-card p,.evo-skill-card ul,.evo-faq-item p,.evo-veille-card p,.evo-phase-desc,.evo-spec-desc{color:var(--text-2)}
.evo-proj-badge,.evo-veille-card .vtag,.evo-related-card .rtag,.evo-testi-role{color:var(--green);font-weight:600}
.evo-proj-badge{background:var(--green-50);border-radius:5px;font-size:12px}
.evo-proj-tags{border-top:0;padding-top:4px}
.evo-veille-card .vfooter{background:transparent;border-top:1px solid #E4E4E4;color:var(--green);font-weight:500}
.evo-faq-item h3::before{content:none}
.evo-faq-item p{padding-left:0}
.evo-faq-item p strong{color:var(--ink)}
.evo-testi-text{font-style:normal;color:var(--text-2);font-size:15px}
.evo-avatar{border:0;border-radius:var(--r)}
.evo-bio h2{color:var(--green);font-weight:600}

/* Mots-clés : pastilles comme sur l'accueil */
.evo-tag,.evo-tech-tag{font-size:13px;font-weight:400;padding:4px 10px;border-radius:14px;border:0;background:#fff;color:var(--text-2)}

/* Offres : trois piliers, missions en cartes blanches, numéros remplacés par les traits du logo */
.evo-phase-header{background:transparent !important;min-height:0}
.evo-phase-header h2{font-size:24px;line-height:1.2;color:var(--ink)}
.evo-phase-role-lg,.evo-phase-role{color:var(--text-3);font-weight:500;letter-spacing:.06em}
.evo-phase-number-lg,.evo-phase-number{width:auto;height:auto;border:0;background:none;border-radius:0;margin-bottom:18px}
.evo-phase-number-lg svg,.evo-phase-number svg{display:block;width:42px;height:42px}
.evo-phase-content{background:transparent !important;border-top:0 !important}
.evo-sub-col{padding:0 16px 16px}
.evo-spec-card{background:#fff;border:0;border-radius:12px}
.evo-spec-title{font-weight:500;font-size:18px}
.evo-spec-ctx{font-style:normal;color:var(--green)}
.evo-cta-panel{margin-top:64px;background:var(--green);color:#fff;border-radius:var(--r);padding:64px 48px;display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:16px 40px;align-items:end}
.evo-cta-panel h3{margin:0;color:#fff;font-weight:400;font-size:clamp(28px,2.8vw,40px);letter-spacing:-.03em;line-height:1.1;grid-column:1}
.evo-cta-panel p{margin:0;color:#F2F8F4;font-size:17px;grid-column:1}
.evo-cta-panel .evo-btn{grid-column:2;grid-row:1 / span 2;background:var(--black) !important}
.evo-cta-panel .evo-btn:hover{background:#262626 !important}
@media (max-width:720px){.evo-cta-panel{grid-template-columns:1fr;padding:40px 22px}.evo-cta-panel .evo-btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:12px}}

/* Références : bandeau des contextes clients */
.evo-ticker{padding:36px 32px}
.evo-ticker-label{border-left:0;padding-left:0;display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:500;font-size:15px}
.evo-ticker-label::before{content:"";width:3px;height:22px;border-radius:2px;background:var(--green-logo);transform:rotate(30deg);flex-shrink:0}
.evo-flag{border:0;background:#fff}
.evo-brands{color:var(--text-2)}

/* Encadrés « à retenir » */
.highlight,.evo-article-body .highlight{background:var(--green-50);border:0;border-radius:14px;padding:22px 24px 22px 52px;position:relative}
.highlight::before{content:"";position:absolute;left:24px;top:24px;width:3px;height:22px;border-radius:2px;background:var(--green-logo);transform:rotate(30deg)}
.highlight p{color:var(--ink);font-weight:500}

/* ---------- Articles ---------- */
.evo-article-body{max-width:860px;padding:64px 24px 40px}
.evo-article-body h2{font-size:clamp(26px,2.4vw,32px);line-height:1.15;border-top:0;padding-top:0;margin:56px 0 18px;color:var(--ink)}
.evo-article-body h3{font-size:20px;color:var(--ink)}
.evo-article-body p,.evo-article-body li{font-size:17px;color:var(--text-2)}
.evo-article-body strong{color:var(--ink)}
.evo-article-cta{background:var(--green);border-radius:var(--r);padding:48px 40px;text-align:left}
.evo-article-cta h3{font-size:clamp(24px,2.4vw,32px);font-weight:400;letter-spacing:-.03em;line-height:1.15}
.evo-article-cta p{color:#F2F8F4;font-size:16px}
.evo-article-cta a{background:var(--black) !important}
.evo-article-cta a:hover{background:#262626 !important}
.evo-article-cta-buttons{justify-content:flex-start !important}
.evo-related{max-width:860px}
.evo-related h2{font-size:24px}

/* Veille */
.evo-page-hero + .evo-veille-grid{margin-top:64px}
.evo-veille-grid{max-width:none;width:min(1328px,100% - 80px);padding:0 0 100px;gap:20px}

/* ---------- Contact ---------- */
.evo-contact-wrap{max-width:1100px;padding:90px 24px}
.evo-contact-hero h2{font-weight:400;font-size:clamp(30px,3vw,42px);color:var(--ink);letter-spacing:-.03em}
.evo-contact-hero .sub{color:var(--green);font-weight:600}
.evo-sidebar{background:var(--black);border-radius:var(--r)}
.evo-sidebar p,.evo-step-list li{color:#CFCFCF}
.evo-step-num{background:var(--green)}
.evo-li-sep{border-top-color:#2A2A2A}
.evo-li-btn{border-color:#3A3A3A !important}
.evo-li-btn:hover{background:#1C1C1C !important}
.evo-form-card{padding:36px}
.evo-form-card input[type=text],.evo-form-card input[type=email],.evo-form-card input[type=tel],.evo-form-card textarea{background:#fff;border-color:#D8D8D8;font-family:var(--sans)}
.evo-badge-content{background:#fff;border:1.5px solid #E4E4E4}
.evo-badge-radio:hover .evo-badge-content{background:#fff;border-color:var(--green-light)}
.evo-badge-radio input[type=checkbox]:checked + .evo-badge-content{background:var(--green-50);border-color:var(--green);box-shadow:none}
.evo-form-section{border-bottom-color:#E4E4E4}
.evo-form-section-label{font-weight:500}

/* ---------- Diagnostic ---------- */
.diag-container{padding-top:64px}
.evo-page-hero .diag-badge{margin-bottom:18px}
.diag-hero{background:var(--black);color:#fff;border-radius:var(--r);padding:56px 40px;margin:0 0 48px}
.diag-hero h1{color:#fff;font-weight:400;font-size:clamp(32px,3.6vw,46px);letter-spacing:-.035em;line-height:1.08}
.diag-hero p{color:#D2D2D2}
.diag-badge{background:rgba(168,220,185,.14);color:var(--green-light);border-radius:14px}
.diag-card{border:1.5px solid #E4E4E4;border-radius:12px}
.res-header{background:var(--black);border-radius:var(--r)}

/* ---------- Pages légales ---------- */
.evo-legal{max-width:860px;margin:0 auto;padding:64px 24px 100px}
.evo-legal h2{padding-left:0;font-size:24px;font-weight:500;letter-spacing:-.02em;color:var(--ink);border:0}
.evo-legal p,.evo-legal li{color:var(--text-2)}
.evo-legal table{display:block;max-width:100%;overflow-x:auto}

/* ---------- 404 ---------- */
.main{padding:40px 24px 100px}
.main .code{font-size:clamp(96px,14vw,160px);font-weight:300;letter-spacing:-.05em;color:var(--green)}
.main h1{font-weight:400;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}
.nav-link{border-radius:6px}

/* ---------- Icônes au trait, consentement ---------- */
.evo-ico{width:1em;height:1em;display:inline-block;vertical-align:-.14em;flex-shrink:0}
.diag-card-icon,.evo-badge-icon,.res-cas-icon{color:var(--green);line-height:1}
.evo-badge-icon{display:block}

/* ---------- Petits écrans ---------- */
@media (max-width:1100px){
  .evo-offres-grid{grid-template-columns:1fr !important}
}
@media (max-width:720px){
  #contenu{height:80px}
  #contenu + .evo-page-hero,#contenu + .evo-article-hero{margin-top:-72px}
  .evo-page-hero,.evo-article-hero{margin:8px}
  .evo-page-hero-inner{width:calc(100% - 40px);padding:112px 0 48px}
  .evo-article-hero{padding:112px 20px 44px}
  .evo-filigrane{width:180px;right:-40px;opacity:.5}
  .evo-container,.evo-veille-grid{width:calc(100% - 32px)}
  .evo-container{padding:56px 0}
  .evo-page-hero + .evo-veille-grid{margin-top:40px}
  .evo-divider{margin:56px auto}
  .evo-article-cta{padding:32px 22px}
  .evo-article-body{padding:44px 16px 32px}
  .diag-hero{padding:36px 22px}
  .evo-contact-wrap{padding:56px 16px}
  .evo-form-card{padding:22px}
  .evo-ticker{padding:26px 20px}
}

/* Offres : contenu des piliers toujours visible (plus d'accordéon au survol) */
.evo-offres-grid .evo-phase-content{max-height:none !important;opacity:1 !important;visibility:visible !important}
.evo-offres-grid .evo-phase-indicator{display:none !important}

/* Petits libellés : 12 px minimum */
.signal-tag,.evo-veille-card .vtag,.evo-related-card .rtag,.diag-step-label,.diag-badge,.evo-proj-badge,.evo-testi-role{font-size:12px}
.evo-signal-card{background:var(--panel);border:0;border-radius:14px;box-shadow:none}
.evo-signal-num{color:var(--green);font-weight:400}
