
:root{--obsidian:#050A12;--navy:#0B1A2C;--midnight:#13263D;--indblue:#1E3A5F;--bronze:#C28A4A;--copper:#D49A57;--titanium:#7D8793;--silver:#B8BEC6;--white:#F2F3F5;--ice:#E3E7EB;--text:#102135;--max:1180px;--shadow:0 24px 80px rgba(5,10,18,.18);--soft-shadow:0 16px 45px rgba(11,26,44,.09)}
.seo-main{background:#fff;color:var(--text)}.seo-hero{position:relative;overflow:hidden;padding:142px 0 78px;background:radial-gradient(circle at 78% 18%,rgba(194,138,74,.22),transparent 34%),linear-gradient(135deg,var(--obsidian),var(--navy));color:#fff}.seo-hero:after{content:"";position:absolute;inset:auto -10% -38% -10%;height:360px;background:radial-gradient(circle,rgba(212,154,87,.16),transparent 66%);pointer-events:none}.seo-hero .container{position:relative;z-index:1}.breadcrumb{font-size:13px;color:rgba(242,243,245,.72);margin-bottom:22px}.breadcrumb a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(212,154,87,.45)}.seo-hero h1{max-width:920px;margin:0;font-size:clamp(38px,6vw,72px);line-height:.98;letter-spacing:-.055em}.seo-hero .lead{max-width:850px;margin-top:24px;color:rgba(242,243,245,.82);font-size:clamp(18px,2.2vw,23px);line-height:1.5}.seo-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.seo-tags span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:999px;padding:9px 13px;color:#fff;font-size:13px;font-weight:800}.seo-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:52px;align-items:start}.seo-section{padding:76px 0}.seo-card,.toc-card,.metric-card,.faq-seo-item,.related-card{background:#fff;border:1px solid rgba(11,26,44,.09);border-radius:26px;box-shadow:var(--soft-shadow)}.seo-card{padding:34px}.seo-card + .seo-card{margin-top:24px}.seo-card h2{margin:0 0 18px;color:var(--navy);font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;line-height:1.08}.seo-card h3{margin:28px 0 12px;color:var(--navy);font-size:24px;line-height:1.15}.seo-card p,.seo-card li{color:#526577;font-size:17px;line-height:1.75}.seo-card p{margin:0 0 16px}.seo-card ul,.seo-card ol{margin:14px 0 0;padding-left:22px}.toc-card{position:sticky;top:96px;padding:24px;background:linear-gradient(180deg,#fff,#f8fafc)}.toc-card h2{font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--bronze);margin:0 0 14px}.toc-card a{display:block;color:var(--navy);text-decoration:none;font-weight:850;padding:10px 0;border-bottom:1px solid rgba(11,26,44,.08);line-height:1.28}.toc-card .btn{margin-top:18px;width:100%;justify-content:center}.content-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.content-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-block{border:1px solid rgba(11,26,44,.08);border-radius:20px;padding:22px;background:#f8fafc}.mini-block strong{display:block;color:var(--navy);font-size:18px;margin-bottom:8px}.mini-block span{display:block;color:#526577;font-size:15px;line-height:1.55}.kpi-grid-seo{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.metric-card{padding:22px;border-left:4px solid var(--bronze)}.metric-card strong{display:block;color:var(--navy);font-size:20px;margin-bottom:8px}.metric-card span{color:#526577;line-height:1.55}.callout-seo{margin:28px 0;padding:28px;border-radius:26px;background:linear-gradient(135deg,var(--navy),#17324f);color:#fff}.callout-seo strong{display:block;color:var(--copper);font-size:18px;margin-bottom:10px}.callout-seo p{color:#eef3f8;margin:0}.table-seo{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0;border:1px solid rgba(11,26,44,.09);border-radius:20px;overflow:hidden}.table-seo th{background:var(--navy);color:#fff;text-align:left;font-size:14px;letter-spacing:.04em;text-transform:uppercase}.table-seo th,.table-seo td{padding:14px 16px;border-bottom:1px solid rgba(11,26,44,.08);vertical-align:top}.table-seo td{color:#526577;line-height:1.55}.faq-seo-list{display:grid;gap:16px}.faq-seo-item{padding:24px}.faq-seo-item h3{margin:0 0 10px!important;font-size:20px}.related-section{background:linear-gradient(180deg,#f8fafc,#fff);padding:70px 0}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-card{padding:26px;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}.related-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(11,26,44,.13)}.related-card small{color:var(--bronze);text-transform:uppercase;letter-spacing:.12em;font-weight:900}.related-card strong{display:block;color:var(--navy);font-size:21px;line-height:1.14;margin-top:10px}.related-card span{display:block;color:#526577;margin-top:10px;line-height:1.55}.listing-hero{padding-bottom:60px}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.listing-card{min-height:260px}.article-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;color:rgba(242,243,245,.76)}.article-meta span{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;font-size:13px}.checklist-seo li{margin-bottom:10px}.footer-note-seo{font-size:14px;color:#6a7887;margin-top:18px}.top-link{display:inline-block;margin-top:18px;color:var(--bronze);font-weight:900;text-decoration:none}.sr-only-seo{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1050px){.seo-layout{grid-template-columns:1fr}.toc-card{position:relative;top:auto}.content-grid-3,.listing-grid,.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.seo-hero{padding:112px 0 58px}.seo-layout{gap:28px}.seo-section{padding:52px 0}.seo-card{padding:24px;border-radius:22px}.content-grid-2,.content-grid-3,.kpi-grid-seo,.listing-grid,.related-grid{grid-template-columns:1fr}.toc-card{display:none}.seo-card p,.seo-card li{font-size:16px}.table-seo{display:block;overflow-x:auto}.seo-tags span{font-size:12px}}


/* Tables éditoriales SEO - ajoutées pour les articles experts */
.table-wrap { width: 100%; overflow-x: auto; margin-top: 18px; }
.seo-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.seo-table th, .seo-table td { border: 1px solid rgba(184,190,198,.28); padding: 12px 14px; vertical-align: top; text-align: left; }
.seo-table th { background: rgba(11,26,44,.92); color: #F2F3F5; font-weight: 700; }
.seo-table tr:nth-child(even) td { background: rgba(227,231,235,.28); }

/* Index Articles/Services - cartes délimitées */
.directory-index-page .seo-section {
  background: linear-gradient(180deg, #F2F3F5, #E3E7EB);
}

.directory-index-page .directory-index-intro {
  max-width: 880px;
  margin: 0 auto 28px;
  padding: 18px 22px;
  border: 1px solid rgba(11,26,44,.10);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 36px rgba(5,10,18,.06);
}

.directory-index-page .directory-index-intro p {
  margin: 0;
  color: rgba(16,33,53,.74);
  font-size: 16px;
  line-height: 1.6;
}

.directory-index-page .listing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.directory-index-page .listing-card.directory-card {
  position: relative;
  display: flex;
  min-height: 245px;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  border: 1px solid rgba(11,26,44,.14);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
  box-shadow: 0 18px 48px rgba(5,10,18,.08);
  color: var(--navy);
  overflow: hidden;
  isolation: isolate;
}

.directory-index-page .listing-card.directory-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--bronze), rgba(194,138,74,.18));
  opacity: .95;
  z-index: -1;
}

.directory-index-page .listing-card.directory-card:hover {
  transform: translateY(-4px);
  border-color: rgba(194,138,74,.46);
  box-shadow: 0 26px 70px rgba(5,10,18,.14);
}

.directory-index-page .listing-card.directory-card small {
  display: inline-flex;
  width: fit-content;
  padding: 7px 11px;
  border: 1px solid rgba(194,138,74,.26);
  border-radius: 999px;
  background: rgba(194,138,74,.12);
  color: var(--bronze);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.directory-index-page .listing-card.directory-card strong {
  display: block;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.16;
  letter-spacing: -.025em;
}

.directory-index-page .listing-card.directory-card span:not(.directory-card-action) {
  display: block;
  color: rgba(16,33,53,.72);
  font-size: 15px;
  line-height: 1.55;
}

.directory-index-page .listing-card.directory-card .directory-card-action {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 850;
}

.directory-index-page .listing-card.directory-card .directory-card-action::after {
  content: "→";
  color: var(--bronze);
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 1100px) {
  .directory-index-page .listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .directory-index-page .listing-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .directory-index-page .listing-card.directory-card {
    min-height: 0;
    padding: 20px;
    border-radius: 22px;
  }
}



/* Hotfix mobile overflow - services/detail pages */
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.mobile-detail-page{position:relative;overflow-x:hidden;background:var(--obsidian)}
  body.mobile-detail-page .site-header,
  body.mobile-detail-page .seo-main,
  body.mobile-detail-page .seo-hero,
  body.mobile-detail-page .seo-section,
  body.mobile-detail-page .related-section,
  body.mobile-detail-page .site-footer,
  body.mobile-detail-page main,
  body.mobile-detail-page section,
  body.mobile-detail-page article,
  body.mobile-detail-page aside,
  body.mobile-detail-page footer{width:100%;max-width:100%;overflow-x:hidden}
  body.mobile-detail-page .container{width:min(calc(100% - 32px),560px);max-width:560px;margin-left:auto;margin-right:auto}
  body.mobile-detail-page .seo-layout,
  body.mobile-detail-page .content-grid-2,
  body.mobile-detail-page .content-grid-3,
  body.mobile-detail-page .kpi-grid-seo,
  body.mobile-detail-page .related-grid,
  body.mobile-detail-page .listing-grid,
  body.mobile-detail-page .faq-seo-list{grid-template-columns:minmax(0,1fr);gap:14px}
  body.mobile-detail-page .seo-card,
  body.mobile-detail-page .toc-card,
  body.mobile-detail-page .metric-card,
  body.mobile-detail-page .faq-seo-item,
  body.mobile-detail-page .related-card,
  body.mobile-detail-page .mini-block,
  body.mobile-detail-page .callout-seo,
  body.mobile-detail-page .table-wrap,
  body.mobile-detail-page .table-seo,
  body.mobile-detail-page .seo-table{width:100%;max-width:100%;margin-left:0;margin-right:0;overflow:hidden}
  body.mobile-detail-page .table-wrap,
  body.mobile-detail-page .table-seo,
  body.mobile-detail-page .seo-table{display:block;overflow-x:auto}
  body.mobile-detail-page .seo-hero h1,
  body.mobile-detail-page .seo-card h2,
  body.mobile-detail-page .seo-card h3,
  body.mobile-detail-page .seo-card p,
  body.mobile-detail-page .seo-card li,
  body.mobile-detail-page .related-card strong,
  body.mobile-detail-page .related-card span,
  body.mobile-detail-page .breadcrumb,
  body.mobile-detail-page .lead{overflow-wrap:anywhere;word-break:normal;hyphens:auto}
}
