/* ─────────────────────────────────────────────────────────────────────
   seo.css — Design system pages SEO + Blog + Marketing (Sprint S3 2026-07-31)
   Extrait des <style> inline de :
     seo_blog_index, seo_blog_article, seo_guides_index, seo_local_transport,
     institutions_public, impact, guide_garderies_b2b, guide_garderies_content,
     referral_page, referral_landing.

   Scoping : chaque section est scopée par body.<page>-page pour éviter
   les collisions avec les autres pages. Les tokens --tk-* viennent de main.css.
   ───────────────────────────────────────────────────────────────────── */

/* ── Mobile polish générique pour toutes les pages SEO (< 768px) ──── */
@media (max-width: 767px) {
  /* Page titles compacts, fluides, jamais coupés (2026-08-01) */
  body.seo-blog-index-page .page-title h1,
  body.seo-blog-article-page .page-title h1,
  body.seo-guides-index-page .page-title h1,
  body.seo-local-transport-page .page-title h1,
  body.institutions-public-page .page-title h1,
  body.impact-page .page-title h1,
  body.guide-garderies-b2b-page .page-title h1,
  body.guide-garderies-content-page .page-title h1 {
    font-size: clamp(1.2rem, 5vw, 1.5rem) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.015em;
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: break-word;
    word-break: normal;
    margin-bottom: 4px;
  }
  /* Section titles h2 dans articles blog / guides — compacts sur mobile */
  body.seo-blog-article-page .service-box h2,
  body.seo-guides-index-page .service-box h2,
  body.guide-garderies-b2b-page h2,
  body.guide-garderies-content-page h2 {
    font-size: clamp(1.05rem, 4.2vw, 1.3rem) !important;
    line-height: 1.28;
    letter-spacing: -0.015em;
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: break-word;
    margin-top: 22px !important;
    margin-bottom: 10px;
  }
  /* Blog index cards h3 : uniformes sur mobile (featured + grid) */
  body.seo-blog-index-page .tk-blog-featured h3,
  body.seo-blog-index-page .tk-blog-grid-card h3 {
    font-size: clamp(1rem, 3.8vw, 1.15rem) !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em;
    margin: 0 0 8px !important;
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: break-word;
  }
  body.seo-blog-index-page .tk-blog-featured,
  body.seo-blog-index-page .tk-blog-grid-card {
    padding: 20px 18px !important;
    border-radius: 16px !important;
  }
  body.seo-blog-index-page .tk-blog-grid-card__eyebrow {
    font-size: 0.72rem !important;
    letter-spacing: 0.06em;
    margin-bottom: 10px !important;
  }
  body.seo-blog-article-page .service-box h3,
  body.seo-guides-index-page .service-box h3 {
    font-size: 1rem !important;
    line-height: 1.32;
  }
  /* Padding sections resserré */
  body.seo-blog-index-page section.section,
  body.seo-blog-article-page section.section,
  body.seo-guides-index-page section.section,
  body.institutions-public-page section.section {
    padding: 24px 0 !important;
  }
  body.seo-blog-article-page .service-details .container,
  body.seo-guides-index-page .service-details .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.seo-blog-article-page .service-box,
  body.seo-guides-index-page .service-box {
    padding: 18px 16px !important;
    border-radius: 16px !important;
  }
}

/* Paragraphes justify SANS césure (règle DA TouKidou 2026-08-01) —
   appliqué globalement sur les pages SEO/blog/marketing. hyphens:none
   pour ne jamais couper un mot en fin de ligne. */
body.seo-blog-article-page article p,
body.seo-blog-article-page .blog-content p,
body.seo-blog-article-page .service-box p,
body.seo-guides-index-page .guide-content p,
body.seo-local-transport-page .transport-content p,
body.institutions-public-page .institutions-content p,
body.impact-page .impact-content p,
body.guide-garderies-b2b-page p,
body.guide-garderies-content-page p,
body.referral-page-page p,
body.referral-landing-page p {
  text-align: justify;
  text-align-last: left;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: break-word;
  word-break: normal;
}


/* ═══════════════════════════════════════════════════════════════
   SEO/BLOG/MARKETING PAGES CSS extraits (Sprint S3 2026-07-31)
   Chaque section est scopée par body.<page>-page.
   ═══════════════════════════════════════════════════════════════ */

/* ─────────── seo_blog_index.html → body.seo-blog-index-page ─────────── */
body.seo-blog-index-page /* ── Featured card (8-col) — même look que grid-card (2026-08-01) */
  .tk-blog-featured {

    padding: 26px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow:
      0 1px 3px rgba(15, 23, 42, 0.04),
      0 5px 18px rgba(15, 23, 42, 0.07);
    transition: transform 230ms ease, box-shadow 230ms ease, border-color 230ms ease;
  }
body.seo-blog-index-page .tk-blog-featured:hover {

    transform: translateY(-5px);
    border-color: rgba(37, 99, 235, 0.15);
    box-shadow:
      0 4px 10px rgba(15, 23, 42, 0.06),
      0 16px 40px rgba(37, 99, 235, 0.11);
  }
body.seo-blog-index-page .tk-blog-featured h3 {

    margin: 0 0 10px;
    color: #0f172a;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
  }
body.seo-blog-index-page /* ── Small grid cards (4-col) ──────────────────────────── */
  .tk-blog-grid-card {

    padding: 26px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow:
      0 1px 3px rgba(15, 23, 42, 0.04),
      0 5px 18px rgba(15, 23, 42, 0.07);
    transition: transform 230ms ease, box-shadow 230ms ease, border-color 230ms ease;
  }
body.seo-blog-index-page .tk-blog-grid-card:hover {

    transform: translateY(-5px);
    border-color: rgba(37, 99, 235, 0.15);
    box-shadow:
      0 4px 10px rgba(15, 23, 42, 0.06),
      0 16px 40px rgba(37, 99, 235, 0.11);
  }
body.seo-blog-index-page .tk-blog-grid-card__eyebrow {

    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #2563eb;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
body.seo-blog-index-page .tk-blog-grid-card h3 {

    margin: 0 0 10px;
    color: #0f172a;
    font-size: 1.12rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
  }
body.seo-blog-index-page .tk-blog-grid-card p {

    margin: 0;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.72;
  }


/* ─────────── seo_blog_article.html → body.seo-blog-article-page ─────────── */
body.seo-blog-article-page .tk-blog-article-intro {

    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    color: #2563eb;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
body.seo-blog-article-page .tk-blog-article-meta {

    color: #64748b;
    margin-bottom: 18px;
  }
body.seo-blog-article-page .tk-blog-services-list a span {

    line-height: 1.5;
  }
body.seo-blog-article-page .tk-blog-article-hero {

    margin-bottom: 22px;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(135deg, rgba(248, 251, 255, 0.78) 0%, rgba(255, 255, 255, 0.34) 56%, rgba(245, 248, 252, 0.78) 100%);
    box-shadow: none;
  }
body.seo-blog-article-page .tk-blog-article-hero img {

    width: 100%;
    display: block;
  }
body.seo-blog-article-page .tk-blog-highlights {

    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
  }
body.seo-blog-article-page .tk-blog-highlights li {

    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #475569;
    line-height: 1.6;
  }
body.seo-blog-article-page .tk-blog-highlights i {

    color: #22c55e;
    margin-top: 4px;
  }
body.seo-blog-article-page .tk-blog-side-visual {

    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(135deg, rgba(248, 251, 255, 0.78) 0%, rgba(255, 255, 255, 0.34) 56%, rgba(245, 248, 252, 0.78) 100%);
    box-shadow: none;
  }
body.seo-blog-article-page .tk-blog-side-visual img {

    width: 100%;
    display: block;
  }


/* ─────────── seo_guides_index.html → body.seo-guides-index-page ─────────── */
body.seo-guides-index-page .tk-guide-eyebrow {

    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #2563eb;
    margin-bottom: 10px;
  }
body.seo-guides-index-page .tk-guide-card {

    padding: 26px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.07);
    box-shadow:
      0 1px 3px rgba(15, 23, 42, 0.04),
      0 5px 18px rgba(15, 23, 42, 0.07);
    transition: transform 230ms ease, box-shadow 230ms ease, border-color 230ms ease;
    height: 100%;
  }
body.seo-guides-index-page .tk-guide-card:hover {

    transform: translateY(-5px);
    box-shadow:
      0 4px 12px rgba(15, 23, 42, 0.07),
      0 16px 40px rgba(37, 99, 235, 0.13);
    border-color: rgba(37, 99, 235, 0.18);
  }
body.seo-guides-index-page .tk-guide-card h3 {

    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.35;
  }
body.seo-guides-index-page .tk-guide-card p {

    font-size: 0.88rem;
    color: #64748b;
    margin: 0;
    line-height: 1.6;
  }
body.seo-guides-index-page .tk-guide-section-header {

    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f1f5f9;
  }
body.seo-guides-index-page .tk-guide-section-header h2 {

    font-size: 1.15rem;
    font-weight: 800;
    color: #0D2237;
    margin: 0 0 6px;
  }
body.seo-guides-index-page .tk-guide-section-header p {

    font-size: 0.88rem;
    color: #64748b;
    margin: 0;
  }


/* ─────────── seo_local_transport.html → body.seo-local-transport-page ─────────── */
body.seo-local-transport-page body {
 background: #f0f4f8; }
body.seo-local-transport-page /* ══════════════════════════════════════════════════════════
     KEYFRAMES — même pattern que la homepage
  ══════════════════════════════════════════════════════════ */
  @keyframes tkReveal {

    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }
@keyframes orbFloat1 {

    0%, 100% { transform: translate(0,0) scale(1); }
    33%       { transform: translate(22px,-32px) scale(1.08); }
    66%       { transform: translate(-16px,14px) scale(.93); }
  }
@keyframes orbFloat2 {

    0%, 100% { transform: translate(0,0) scale(1); }
    40%       { transform: translate(-26px,22px) scale(1.1); }
    70%       { transform: translate(20px,-20px) scale(.91); }
  }
@keyframes orbFloat3 {

    0%, 100% { transform: translate(0,0); }
    50%       { transform: translate(14px,26px); }
  }
@keyframes particleRise {

    0%   { transform: translateY(0) scale(1); opacity: .5; }
    100% { transform: translateY(-100px) scale(.35); opacity: 0; }
  }
@keyframes pulseDot {

    0%,100% { opacity:1; transform:scale(1); }
    50%      { opacity:.35; transform:scale(1.5); }
  }
@keyframes shimmerLine {

    0%   { transform: translateX(-100%) skewX(-18deg); opacity: 0; }
    20%  { opacity: 1; }
    80%  { opacity: 1; }
    100% { transform: translateX(220%) skewX(-18deg); opacity: 0; }
  }
body.seo-local-transport-page /* ══════════════════════════════════════════════════════════
     HERO
  ══════════════════════════════════════════════════════════ */
  /* ── Animations van ─────────────────────────────────────── */
  @keyframes vanDriveLTR {

    0%   { transform: translateX(-210px) translateY(0px); }
    20%  { transform: translateX(20vw)   translateY(-3px); }
    40%  { transform: translateX(40vw)   translateY(0px); }
    60%  { transform: translateX(60vw)   translateY(-2.5px); }
    80%  { transform: translateX(80vw)   translateY(-1px); }
    100% { transform: translateX(calc(100vw + 210px)) translateY(0px); }
  }
@keyframes vanDriveRTL {

    0%   { transform: translateX(calc(100vw + 210px)) translateY(0px); }
    20%  { transform: translateX(80vw)   translateY(-2px); }
    40%  { transform: translateX(60vw)   translateY(-3px); }
    60%  { transform: translateX(40vw)   translateY(0px); }
    80%  { transform: translateX(20vw)   translateY(-2px); }
    100% { transform: translateX(-210px) translateY(0px); }
  }
@keyframes roadDash {

    from { transform: translateX(0); }
    to   { transform: translateX(62px); }
  }
@keyframes exhaustPuffLTR {

    0%   { transform: translate(0,0) scale(1);   opacity: .5; }
    100% { transform: translate(-32px,-24px) scale(5); opacity: 0; }
  }
@keyframes exhaustPuffRTL {

    0%   { transform: translate(0,0) scale(1);   opacity: .45; }
    100% { transform: translate(32px,-24px) scale(5);  opacity: 0; }
  }
body.seo-local-transport-page /* ── Route ──────────────────────────────────────────────── */
  .slp-van-wrap {

    position: absolute;
    bottom: 0; left: 0;
    width: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
    height: 138px;
  }
body.seo-local-transport-page .slp-road {

    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 0;
  }
body.seo-local-transport-page /* Fond asphalte */
  .slp-road::before {

    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
      transparent 0%,
      rgba(5,8,14,.9) 22%,
      #050810 55%,
      #03060c 100%
    );
  }
body.seo-local-transport-page /* Grain asphalte */
  .slp-road::after {

    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.022) 1px, transparent 1px);
    background-size: 3px 3px;
  }
body.seo-local-transport-page /* Pointillés centraux */
  .road-center-line {

    position: absolute;
    top: 68px;
    left: -62px;
    width: calc(100% + 124px);
    height: 2.5px;
    background: repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.58) 0, rgba(255,255,255,.58) 30px,
      transparent 30px, transparent 62px
    );
    animation: roadDash 1.5s linear infinite;
    z-index: 1;
  }
body.seo-local-transport-page /* Bande jaune bord de route (haut) */
  .road-edge-top {

    position: absolute;
    top: 7px; left: 0;
    width: 100%; height: 2px;
    background: rgba(249,193,59,.48);
    z-index: 1;
  }
body.seo-local-transport-page /* Ligne blanche bord bas */
  .road-edge-bottom {

    position: absolute;
    bottom: 5px; left: 0;
    width: 100%; height: 1.5px;
    background: rgba(255,255,255,.18);
    z-index: 1;
  }
body.seo-local-transport-page /* Reflet bleuté sur l'asphalte mouillé */
  .road-shine {

    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 32px;
    background: linear-gradient(to bottom, transparent, rgba(48,137,197,.09));
    z-index: 1;
  }
body.seo-local-transport-page /* ── Vans ───────────────────────────────────────────────── */
  .slp-van-ltr, body.seo-local-transport-page .slp-van-rtl {

    position: absolute;
    z-index: 2;
  }
body.seo-local-transport-page /* LTR — voie basse (sens de lecture, body.seo-local-transport-page plus proche = plus grande) */
  .slp-van-ltr {

    width: 112px;
    height: 53px;
    bottom: 7px;
    animation: vanDriveLTR 22s linear infinite backwards;
  }
body.seo-local-transport-page .slp-van-ltr img {

    height: 53px;
    width: auto;
    display: block;
    filter: drop-shadow(0 4px 14px rgba(0,0,0,.8));
  }
body.seo-local-transport-page /* RTL — voie haute (sens inverse, body.seo-local-transport-page légèrement plus loin = plus petite) */
  .slp-van-rtl {

    width: 98px;
    height: 46px;
    top: 10px;
    animation: vanDriveRTL 26s linear 5s infinite backwards;
  }
body.seo-local-transport-page .slp-van-rtl img {

    transform: scaleX(-1);
    display: block;
    height: 46px;
    width: auto;
    filter: drop-shadow(0 3px 11px rgba(0,0,0,.72));
  }
body.seo-local-transport-page /* Phare — cône de lumière devant le van */
  .van-headlight {

    position: absolute;
    top: 18%;
    width: 100px;
    height: 48px;
    pointer-events: none;
    z-index: 3;
  }
body.seo-local-transport-page .slp-van-ltr .van-headlight {

    right: -110px;
    background: radial-gradient(ellipse at 5% 50%,
      rgba(255,248,190,.35) 0%,
      rgba(255,248,190,.13) 40%,
      transparent 72%
    );
    filter: blur(6px);
  }
body.seo-local-transport-page .slp-van-rtl .van-headlight {

    left: -110px;
    background: radial-gradient(ellipse at 95% 50%,
      rgba(255,248,190,.32) 0%,
      rgba(255,248,190,.11) 40%,
      transparent 72%
    );
    filter: blur(6px);
  }
body.seo-local-transport-page /* Trainée de vitesse */
  .van-streak {

    position: absolute;
    top: 10%;
    height: 62%;
    pointer-events: none;
    filter: blur(5px);
  }
body.seo-local-transport-page .slp-van-ltr .van-streak {

    left: -130px;
    width: 130px;
    background: linear-gradient(to right,
      transparent 0%,
      rgba(255,255,255,.05) 55%,
      rgba(255,255,255,.12) 100%
    );
    border-radius: 50% 0 0 50%;
  }
body.seo-local-transport-page .slp-van-rtl .van-streak {

    right: -130px;
    width: 130px;
    background: linear-gradient(to left,
      transparent 0%,
      rgba(255,255,255,.04) 55%,
      rgba(255,255,255,.1) 100%
    );
    border-radius: 0 50% 50% 0;
  }
body.seo-local-transport-page /* Fumée d'échappement */
  .van-exhaust {

    position: absolute;
    bottom: 6px;
    pointer-events: none;
    z-index: 3;
  }
body.seo-local-transport-page .slp-van-ltr .van-exhaust {
 left: 2px; }
body.seo-local-transport-page .slp-van-rtl .van-exhaust {
 right: 2px; }
body.seo-local-transport-page .van-exhaust span {

    position: absolute;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: rgba(160,175,195,.38);
    filter: blur(2.5px);
  }
body.seo-local-transport-page .slp-van-ltr .van-exhaust span {
 animation: exhaustPuffLTR 2.5s ease-out infinite; }
body.seo-local-transport-page .slp-van-rtl .van-exhaust span {
 animation: exhaustPuffRTL 2.5s ease-out infinite; }
body.seo-local-transport-page .van-exhaust span:nth-child(1) {
 animation-delay: 0s;   }
body.seo-local-transport-page .van-exhaust span:nth-child(2) {
 animation-delay: .82s; }
body.seo-local-transport-page .van-exhaust span:nth-child(3) {
 animation-delay: 1.65s; }
body.seo-local-transport-page .slp-hero {

    background: linear-gradient(150deg, #0D2237 0%, #17325f 55%, #1a3f73 100%);
    padding: 52px 24px 152px;
    text-align: center;
    position: relative;
    overflow: hidden;
    width: 100%;
  }
body.seo-local-transport-page .slp-hero .hero-inner {

    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
  }
body.seo-local-transport-page /* Orbes flottants — même principe que homepage */
  .slp-hero .hero-orb {

    position: absolute;
    border-radius: 50%;
    filter: blur(72px);
    pointer-events: none;
    z-index: 0;
  }
body.seo-local-transport-page .slp-hero .hero-orb-1 {

    width: 340px; height: 340px;
    background: radial-gradient(circle, rgba(48,137,197,.22), transparent 70%);
    top: -80px; left: -60px;
    animation: orbFloat1 9s ease-in-out infinite;
  }
body.seo-local-transport-page .slp-hero .hero-orb-2 {

    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(249,193,59,.14), transparent 70%);
    top: 20px; right: -50px;
    animation: orbFloat2 11s ease-in-out infinite;
  }
body.seo-local-transport-page .slp-hero .hero-orb-3 {

    width: 220px; height: 220px;
    background: radial-gradient(circle, rgba(16,188,105,.1), transparent 70%);
    bottom: 60px; left: 30%;
    animation: orbFloat3 13s ease-in-out infinite;
  }
body.seo-local-transport-page /* Grille de points — même pattern que homepage */
  .slp-hero::before {

    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.065) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
  }
body.seo-local-transport-page /* Ligne de shimmer animée */
  .slp-hero::after {

    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 40%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.04), transparent);
    animation: shimmerLine 6s ease-in-out infinite 2s;
    pointer-events: none;
    z-index: 0;
  }
body.seo-local-transport-page /* Particules flottantes */
  .hero-particles {
 position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
body.seo-local-transport-page .hero-particles span {

    position: absolute;
    width: 4px; height: 4px;
    background: rgba(255,255,255,.35);
    border-radius: 50%;
    animation: particleRise linear infinite;
  }
body.seo-local-transport-page .hero-particles span:nth-child(1) {
 left:8%;   bottom:10%; animation-duration:7s;  animation-delay:0s;   }
body.seo-local-transport-page .hero-particles span:nth-child(2) {
 left:18%;  bottom:20%; animation-duration:9s;  animation-delay:1.2s; }
body.seo-local-transport-page .hero-particles span:nth-child(3) {
 left:30%;  bottom:5%;  animation-duration:8s;  animation-delay:.4s;  }
body.seo-local-transport-page .hero-particles span:nth-child(4) {
 left:45%;  bottom:15%; animation-duration:11s; animation-delay:2s;   }
body.seo-local-transport-page .hero-particles span:nth-child(5) {
 left:60%;  bottom:8%;  animation-duration:7.5s;animation-delay:.8s;  }
body.seo-local-transport-page .hero-particles span:nth-child(6) {
 left:72%;  bottom:25%; animation-duration:10s; animation-delay:3s;   }
body.seo-local-transport-page .hero-particles span:nth-child(7) {
 left:85%;  bottom:12%; animation-duration:8.5s;animation-delay:1.6s; }
body.seo-local-transport-page .hero-particles span:nth-child(8) {
 left:92%;  bottom:18%; animation-duration:6s;  animation-delay:.3s;  }
body.seo-local-transport-page .hero-particles span:nth-child(9) {
 left:25%;  bottom:30%; animation-duration:12s; animation-delay:4s;   width:3px;height:3px; }
body.seo-local-transport-page .hero-particles span:nth-child(10) {
 left:55%;  bottom:35%; animation-duration:9.5s;animation-delay:2.5s; width:3px;height:3px; }
body.seo-local-transport-page /* Contenu hero au-dessus des effets — max-width défini plus haut */
  .slp-hero .hero-inner {
 position: relative; z-index: 1; }
body.seo-local-transport-page /* Éléments animés — stagger identique à homepage */
  .slp-hero .breadcrumb-nav {
 animation: tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay: .0s; }
body.seo-local-transport-page .slp-hero .kicker {
 animation: tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay: .08s; }
body.seo-local-transport-page .slp-hero h1 {
 animation: tkReveal .72s cubic-bezier(.22,1,.36,1) both; animation-delay: .16s; }
body.seo-local-transport-page .slp-hero .hero-sub {
 animation: tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay: .26s; }
body.seo-local-transport-page .slp-hero .urgency-badge {
 animation: tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay: .36s; }
body.seo-local-transport-page .slp-hero .hero-ctas {
 animation: tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay: .46s; }
body.seo-local-transport-page .slp-hero .breadcrumb-nav {

    font-size: .76rem;
    color: rgba(255,255,255,.45);
    margin-bottom: 18px;
  }
body.seo-local-transport-page .slp-hero .breadcrumb-nav a {
 color: rgba(255,255,255,.5); text-decoration: none; }
body.seo-local-transport-page .slp-hero .breadcrumb-nav a:hover {
 color: #F9C13B; }
body.seo-local-transport-page .slp-hero .breadcrumb-nav span {
 margin: 0 6px; }
body.seo-local-transport-page .slp-hero .kicker {

    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(249,193,59,.15);
    border: 1px solid rgba(249,193,59,.35);
    color: #F9C13B;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    padding: 5px 16px;
    border-radius: 999px;
    margin-bottom: 20px;
  }
body.seo-local-transport-page .slp-hero h1 {

    font-size: clamp(1.7rem, 3.8vw, 2.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.15;
    max-width: 680px;
    margin: 0 auto 16px;
  }
body.seo-local-transport-page .slp-hero .hero-sub {

    font-size: 1.02rem;
    color: rgba(255,255,255,.7);
    max-width: 780px;
    margin: 0 auto 32px;
    line-height: 1.65;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
@media (max-width: 768px) { body.seo-local-transport-page .slp-hero .hero-sub {
      -webkit-line-clamp: unset;
      overflow: visible;
      max-width: 100%;
    }
  }
body.seo-local-transport-page .urgency-badge {

    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239,68,68,.15);
    border: 1px solid rgba(239,68,68,.35);
    color: #fca5a5;
    font-size: .82rem;
    font-weight: 700;
    padding: 7px 18px;
    border-radius: 999px;
    margin-bottom: 32px;
  }
body.seo-local-transport-page .urgency-badge .dot {

    width: 8px; height: 8px;
    background: #ef4444;
    border-radius: 50%;
    animation: pulseDot 1.5s infinite;
  }
body.seo-local-transport-page .hero-ctas {

    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
  }
body.seo-local-transport-page .btn-primary-hero {

    display: inline-block;
    padding: 14px 36px;
    background: #F9C13B;
    color: #0D2237;
    font-weight: 900;
    font-size: .97rem;
    border-radius: 12px;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
    box-shadow: 0 4px 20px rgba(249,193,59,.3);
  }
body.seo-local-transport-page .btn-primary-hero:hover {
 transform: translateY(-2px); box-shadow: 0 8px 28px rgba(249,193,59,.4); color: #0D2237; }
body.seo-local-transport-page .btn-secondary-hero {

    display: inline-block;
    padding: 14px 30px;
    background: transparent;
    border: 2px solid rgba(255,255,255,.25);
    color: rgba(255,255,255,.88);
    font-weight: 700;
    font-size: .93rem;
    border-radius: 12px;
    text-decoration: none;
    transition: border-color .15s, background .15s;
  }
body.seo-local-transport-page .btn-secondary-hero:hover {
 border-color: rgba(255,255,255,.6); background: rgba(255,255,255,.07); color: #fff; }
body.seo-local-transport-page /* ══════════════════════════════════════════════════════════
     MAIN CARD
  ══════════════════════════════════════════════════════════ */
  .slp-card-wrap {

    max-width: 1140px;
    margin: -110px auto 0;
    padding: 0 24px 80px;
    position: relative;
    z-index: 10;
  }
@media (max-width: 780px) { body.seo-local-transport-page .slp-card-wrap { margin-top: -80px; } }
body.seo-local-transport-page .slp-card {

    background: #fff;
    border-radius: 20px;
    box-shadow: 0 24px 72px rgba(13,34,55,.18);
    border: 1px solid #e8eef4;
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 0;
    overflow: hidden;
  }
@media (max-width: 900px) { body.seo-local-transport-page .slp-card { grid-template-columns: 1fr; } body.seo-local-transport-page .slp-sidebar { display: none; }
  }
body.seo-local-transport-page /* ══════════════════════════════════════════════════════════
     CONTENT
  ══════════════════════════════════════════════════════════ */
  .slp-content {

    padding: 44px 48px 52px;
    border-right: 1px solid #f1f5f9;
    color: #1e293b;
    font-size: .97rem;
    line-height: 1.75;
  }
@media (max-width: 900px) { body.seo-local-transport-page .slp-content { padding: 32px 24px 40px; border-right: none; } }
body.seo-local-transport-page /* Stats row */
  .stats-row {

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 36px;
    padding-bottom: 32px;
    border-bottom: 1.5px solid #f1f5f9;
  }
@media (max-width: 600px) { body.seo-local-transport-page .stats-row { grid-template-columns: repeat(2, 1fr); } }
body.seo-local-transport-page .stat-box {

    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 12px;
    text-align: center;
  }
body.seo-local-transport-page .stat-box .n {

    font-size: 1.45rem;
    font-weight: 900;
    color: #0D2237;
    display: block;
    line-height: 1;
    margin-bottom: 4px;
  }
body.seo-local-transport-page .stat-box .l {
 font-size: .72rem; color: #94a3b8; line-height: 1.35; }
body.seo-local-transport-page /* Section heading */
  .slp-content h2 {

    font-size: 1.2rem;
    font-weight: 800;
    color: #0D2237;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f1f5f9;
  }
body.seo-local-transport-page .slp-content p {
 color: #334155; margin-bottom: 14px; }
body.seo-local-transport-page /* Neighborhoods */
  .neighborhoods {

    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 28px;
  }
body.seo-local-transport-page .neighborhoods span {

    background: #f0f9ff;
    border: 1px solid #bae6fd;
    color: #0369a1;
    font-size: .79rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
  }
body.seo-local-transport-page /* Benefits grid */
  .benefits-grid {

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 0 0 36px;
  }
@media (max-width: 560px) { body.seo-local-transport-page .benefits-grid { grid-template-columns: 1fr; } }
body.seo-local-transport-page .benefit-card {

    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 14px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    transition: border-color .15s;
  }
body.seo-local-transport-page .benefit-card:hover {
 border-color: #3089C5; }
body.seo-local-transport-page .benefit-card .icon {

    width: 36px; height: 36px; min-width: 36px;
    background: linear-gradient(135deg, #0D2237, #1f4b8e);
    border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
  }
body.seo-local-transport-page .benefit-card .text strong {
 font-size: .9rem; color: #0D2237; display: block; margin-bottom: 2px; }
body.seo-local-transport-page .benefit-card .text span {
 font-size: .81rem; color: #64748b; }
body.seo-local-transport-page /* Urgency block */
  .urgency-block {

    background: linear-gradient(135deg, #7f1d1d, #991b1b);
    border-radius: 16px;
    padding: 28px 26px;
    margin: 36px 0;
    color: #fff;
    position: relative;
    overflow: hidden;
  }
body.seo-local-transport-page .urgency-block::after {

    content: "🔥";
    position: absolute;
    right: 20px; top: 16px;
    font-size: 2.2rem;
    opacity: .15;
  }
body.seo-local-transport-page .urgency-block .ub-label {

    font-size: .71rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #fca5a5;
    display: block;
    margin-bottom: 6px;
  }
body.seo-local-transport-page .urgency-block h3 {

    font-size: 1.15rem;
    font-weight: 900;
    color: #fff;
    margin: 0 0 8px;
  }
body.seo-local-transport-page .urgency-block p {
 color: rgba(255,255,255,.75); font-size: .9rem; margin-bottom: 18px; }
body.seo-local-transport-page .urgency-block .spots-row {

    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
  }
body.seo-local-transport-page .urgency-block .spots-bar {

    flex: 1;
    height: 7px;
    background: rgba(255,255,255,.15);
    border-radius: 4px;
    overflow: hidden;
  }
body.seo-local-transport-page .urgency-block .spots-fill {
 height: 100%; background: #ef4444; border-radius: 4px; }
body.seo-local-transport-page .urgency-block .spots-label {
 font-size: .78rem; color: #fca5a5; white-space: nowrap; }
body.seo-local-transport-page /* Testimonial */
  .testimonial-card {

    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    border-radius: 16px;
    padding: 26px 24px;
    margin: 36px 0;
    position: relative;
  }
body.seo-local-transport-page .testimonial-card::before {

    content: '"';
    position: absolute;
    top: -6px; left: 20px;
    font-size: 4.5rem;
    color: #3089C5;
    opacity: .15;
    line-height: 1;
    font-family: Georgia, serif;
  }
body.seo-local-transport-page .testimonial-card p {
 font-size: .97rem; color: #1e40af; font-style: italic; margin-bottom: 14px; }
body.seo-local-transport-page .testimonial-card .author {
 display: flex; align-items: center; gap: 10px; }
body.seo-local-transport-page .testimonial-card .avatar {

    width: 36px; height: 36px;
    background: linear-gradient(135deg, #0D2237, #3089C5);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 900; font-size: .88rem;
  }
body.seo-local-transport-page .testimonial-card .author-info strong {
 font-size: .86rem; color: #1e293b; display: block; }
body.seo-local-transport-page .testimonial-card .author-info span {
 font-size: .76rem; color: #64748b; }
body.seo-local-transport-page .testimonial-card .stars {
 color: #F9C13B; font-size: .85rem; margin-top: 2px; }
body.seo-local-transport-page /* Grille de témoignages */
  .testimonials-grid {

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 36px 0;
  }
@media (max-width: 640px) { body.seo-local-transport-page .testimonials-grid { grid-template-columns: 1fr; }
  }
body.seo-local-transport-page .testimonials-grid .testimonial-card {

    margin: 0;
  }
body.seo-local-transport-page /* FAQ */
  .faq-section {
 margin: 36px 0; }
body.seo-local-transport-page .faq-section h2 {
 margin-bottom: 16px; }
body.seo-local-transport-page .faq-item {

    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 8px;
    overflow: hidden;
  }
body.seo-local-transport-page .faq-item summary {

    list-style: none;
    padding: 14px 18px;
    font-weight: 700;
    font-size: .92rem;
    color: #0D2237;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8fafc;
    transition: background .12s;
    gap: 12px;
  }
body.seo-local-transport-page .faq-item summary::-webkit-details-marker {
 display: none; }
body.seo-local-transport-page .faq-item summary::after {
 content: "+"; font-size: 1.1rem; color: #3089C5; font-weight: 400; flex-shrink: 0; }
body.seo-local-transport-page .faq-item[open] summary {
 background: #eff6ff; }
body.seo-local-transport-page .faq-item[open] summary::after {
 content: "−"; }
body.seo-local-transport-page .faq-item .faq-body {
 padding: 14px 18px; font-size: .9rem; color: #475569; border-top: 1px solid #e2e8f0; }
body.seo-local-transport-page /* Bottom CTA */
  .slp-cta {

    background: linear-gradient(135deg, #0D2237, #1f4b8e);
    border-radius: 16px;
    padding: 44px 36px;
    text-align: center;
    margin-top: 40px;
    color: #fff;
  }
body.seo-local-transport-page .slp-cta h2 {
 font-size: 1.35rem; font-weight: 900; color: #fff; margin-bottom: 10px; }
body.seo-local-transport-page .slp-cta p {
 color: rgba(255,255,255,.7); margin-bottom: 24px; font-size: .95rem; }
body.seo-local-transport-page .slp-cta .cta-sub {
 font-size: .78rem; color: rgba(255,255,255,.4); margin-top: 12px; }
body.seo-local-transport-page /* ══════════════════════════════════════════════════════════
     SIDEBAR
  ══════════════════════════════════════════════════════════ */
  .slp-sidebar {

    background: #fafbfc;
    border-left: 1px solid #f1f5f9;
    padding: 36px 22px;
  }
body.seo-local-transport-page .slp-sidebar-inner {
 position: sticky; top: 88px; }
body.seo-local-transport-page .sb-box {
 margin-bottom: 20px; }
body.seo-local-transport-page .sb-label {

    font-size: .71rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #94a3b8;
    margin-bottom: 12px;
  }
body.seo-local-transport-page /* Urgency box */
  .sb-urgency {

    background: linear-gradient(135deg, #0D2237, #1f4b8e);
    border-radius: 14px;
    padding: 22px 18px;
    margin-bottom: 20px;
    color: #fff;
  }
body.seo-local-transport-page .sb-urgency .sb-label {
 color: rgba(255,255,255,.5); }
body.seo-local-transport-page .sb-urgency p {
 color: rgba(255,255,255,.72); font-size: .85rem; margin-bottom: 14px; line-height: 1.5; }
body.seo-local-transport-page .sb-urgency a {

    display: block;
    text-align: center;
    padding: 12px;
    background: #F9C13B;
    color: #0D2237;
    font-weight: 900;
    font-size: .88rem;
    border-radius: 10px;
    text-decoration: none;
    transition: transform .15s;
  }
body.seo-local-transport-page .sb-urgency a:hover {
 transform: translateY(-1px); color: #0D2237; }
body.seo-local-transport-page /* Link lists */
  .sb-links {
 list-style: none; padding: 0; margin: 0; }
body.seo-local-transport-page .sb-links li a {

    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: .85rem;
    color: #475569;
    text-decoration: none;
    transition: background .12s, color .12s;
  }
body.seo-local-transport-page .sb-links li a::before {
 content: "→"; font-size: .77rem; color: #cbd5e1; }
body.seo-local-transport-page .sb-links li a:hover {
 background: #f0f9ff; color: #0D2237; }
body.seo-local-transport-page .sb-links li a:hover::before {
 color: #3089C5; }
body.seo-local-transport-page .sb-links li a.active {
 background: #eff6ff; color: #1f4b8e; font-weight: 700; }
body.seo-local-transport-page .sb-links li a.active::before {
 color: #3089C5; }
body.seo-local-transport-page .sb-divider {
 height: 1px; background: #e2e8f0; margin: 18px 0; }


/* ─────────── institutions_public.html → body.institutions-public-page ─────────── */
body.institutions-public-page .institutions-page .section-title {
 text-align: center; padding: 8px 0 0; margin-bottom: 8px; position: relative; }
body.institutions-public-page .institutions-page .section-title h2 {

    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 800;
    color: #0D2237;
    letter-spacing: -.03em;
    margin: 0 0 12px;
    text-transform: none;
  }
body.institutions-public-page .institutions-page .section-title::after {

    content: "";
    display: block;
    width: 68px; height: 4px;
    margin: 14px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #3089C5 0%, #F9C13B 100%);
    box-shadow: 0 6px 18px rgba(249,193,59,.32);
  }
body.institutions-public-page .institutions-page .tk-section-intro {

    color: #64748b;
    font-size: 1.05rem;
    line-height: 1.7;
    max-width: 100%;
    margin: 22px auto 34px;
    text-align: justify;
    hyphens: none;
    -webkit-hyphens: none;
  }
@media (max-width: 767.98px) { body.institutions-public-page .institutions-page .tk-section-intro { font-size: 1rem; text-align: left; hyphens: none; }
  }
body.institutions-public-page /* Card unifiée alignée sur .tk-card-standard de la home */
  .institutions-page .tk-card-standard {

    display: block;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 26px 24px;
    height: 100%;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 4px 20px rgba(15,23,42,.06);
    transition: transform .28s cubic-bezier(.34,1.56,.64,1),
                box-shadow .28s ease,
                border-color .28s ease;
  }
body.institutions-public-page .institutions-page .tk-card-standard:hover {

    transform: translateY(-6px);
    box-shadow: 0 20px 44px rgba(15,23,42,.12);
    border-color: rgba(48,137,197,.32);
  }
body.institutions-public-page /* Section defaults — fond transparent, body.institutions-public-page laisse voir le fond de page.
     Retire le "gros bloc blanc" qui alourdissait le rendu (demande user
     2026-07-20). Le contenu (cards internes) garde son fond blanc. */
  .institutions-page section.section {

    padding: 60px 0;
    background: transparent !important;
    background-color: transparent !important;
  }
body.institutions-public-page /* Justify global pour tous les paragraphes (demande user) */
  .institutions-page p {

    text-align: justify;
    hyphens: none;
    -webkit-hyphens: none;
  }
@media (max-width: 767.98px) { body.institutions-public-page .institutions-page p {
      text-align: left;
      hyphens: none;
      -webkit-hyphens: none;
    }
  }
body.institutions-public-page /* Exceptions — labels courts qui restent en center/left pour l'effet visuel */
  .institutions-page .tk-card-standard h3, body.institutions-public-page .institutions-page .tk-card-standard .center, body.institutions-public-page .institutions-page section h3 {

    text-align: inherit;
  }


/* ─────────── impact.html → body.impact-page ─────────── */
body.impact-page /* ══ Reset / base ══════════════════════════════════════════ */
  #impact-root {
 background: #f0f4f8; }
body.impact-page /* ══ Onglets mode ══════════════════════════════════════════ */
  .imp-tab-bar {

    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 14px 16px 0;
    background: #0a1929;
  }
body.impact-page .imp-tab {

    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 22px;
    border-radius: 999px;
    font-size: .84rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s, color .15s;
  }
body.impact-page .imp-tab--active {

    background: #10bc69;
    color: #fff;
    cursor: default;
  }
body.impact-page .imp-tab--inactive {

    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.6);
    border: 1px solid rgba(255,255,255,.12);
  }
body.impact-page .imp-tab--inactive:hover {

    background: rgba(255,255,255,.14);
    color: rgba(255,255,255,.9);
  }
body.impact-page /* ══ Hero ══════════════════════════════════════════════════ */
  @keyframes impReveal {

    from { opacity:0; transform:translateY(18px); }
    to   { opacity:1; transform:translateY(0); }
  }
@keyframes impPulse {

    0%,100% { box-shadow: 0 0 0 0 rgba(16,188,105,.4); }
    50%      { box-shadow: 0 0 0 14px rgba(16,188,105,0); }
  }
@keyframes orbDrift {

    0%,100% { transform: translate(0,0) scale(1); }
    40%      { transform: translate(24px,-30px) scale(1.07); }
    70%      { transform: translate(-18px,16px) scale(.94); }
  }
@keyframes shimmer {

    0%   { transform: translateX(-100%) skewX(-20deg); opacity:0; }
    20%  { opacity:1; }
    80%  { opacity:1; }
    100% { transform: translateX(220%) skewX(-20deg); opacity:0; }
  }
@keyframes countUp {

    from { opacity:0; transform:translateY(6px); }
    to   { opacity:1; transform:translateY(0); }
  }
body.impact-page .imp-hero {

    background: linear-gradient(150deg, #060f1e 0%, #0d2237 55%, #122d4a 100%);
    padding: 32px 24px 44px;
    text-align: center;
    position: relative;
    overflow: hidden;
    width: 100%;
  }
body.impact-page .imp-hero::before {

    content:'';
    position:absolute; inset:0;
    background-image: radial-gradient(rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events:none; z-index:0;
  }
body.impact-page .imp-hero::after {

    content:'';
    position:absolute; top:0; left:0;
    width:40%; height:100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.03), transparent);
    animation: shimmer 7s ease-in-out infinite 2s;
    pointer-events:none; z-index:0;
  }
body.impact-page .imp-orb {

    position:absolute; border-radius:50%;
    filter:blur(80px); pointer-events:none; z-index:0;
  }
body.impact-page .imp-orb-1 {
 width:400px;height:400px; background:radial-gradient(circle,rgba(16,188,105,.14),transparent 70%); top:-120px;left:-80px; animation:orbDrift 10s ease-in-out infinite; }
body.impact-page .imp-orb-2 {
 width:300px;height:300px; background:radial-gradient(circle,rgba(48,137,197,.18),transparent 70%); top:-40px;right:-60px; animation:orbDrift 13s ease-in-out infinite 3s; }
body.impact-page .imp-orb-3 {
 width:240px;height:240px; background:radial-gradient(circle,rgba(249,193,59,.1),transparent 70%);  bottom:20px;left:38%; animation:orbDrift 15s ease-in-out infinite 6s; }
body.impact-page .imp-hero-inner {

    position:relative; z-index:1;
    max-width:1160px; margin:0 auto;
  }
body.impact-page .imp-badge {

    display:inline-flex; align-items:center; gap:8px;
    background:rgba(16,188,105,.15);
    border:1px solid rgba(16,188,105,.35);
    color:#10bc69;
    font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    padding:5px 16px; border-radius:999px; margin-bottom:18px;
    animation: impReveal .6s cubic-bezier(.22,1,.36,1) both;
  }
body.impact-page .imp-badge .dot {

    width:7px;height:7px; background:#10bc69; border-radius:50%;
    animation:impPulse 2s infinite;
  }
body.impact-page .imp-hero h1 {

    font-size:clamp(1.55rem,3vw,2.2rem);
    font-weight:900; color:#fff; line-height:1.18;
    margin:0 auto 8px; max-width:100%;
    animation:impReveal .7s cubic-bezier(.22,1,.36,1) .08s both;
  }
body.impact-page .imp-hero h1 .accent {

    background:linear-gradient(90deg,#10bc69,#3bdbaa);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  }
body.impact-page /* Ligne d'accroche différenciée — plus grande, body.impact-page isolée */
  .accent-line {

    display:block;
    font-size:1.22em;
    line-height:1.1;
    margin-top:6px;
    background:linear-gradient(90deg,#10bc69,#3bdbaa);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  }
body.impact-page .imp-hero .sub {

    font-size:.97rem; color:rgba(255,255,255,.68);
    max-width:100%; margin:0 auto 28px; line-height:1.65;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
    animation:impReveal .65s cubic-bezier(.22,1,.36,1) .18s both;
  }
@media (max-width:768px) { body.impact-page .imp-hero .sub { -webkit-line-clamp:unset; overflow:visible; }
  }
body.impact-page /* Compteurs communauté — 4 colonnes sur grand écran */
  .imp-counters {

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px; margin-bottom:32px;
    animation:impReveal .65s cubic-bezier(.22,1,.36,1) .3s both;
  }
@media (max-width:860px) { body.impact-page .imp-counters { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { body.impact-page .imp-counters { grid-template-columns:1fr 1fr; gap:8px; } }
body.impact-page .imp-counter-card {

    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px; padding:16px 18px;
    text-align:center;
    backdrop-filter:blur(6px);
  }
body.impact-page .imp-counter-card .val {

    font-size:1.65rem; font-weight:900;
    color:#fff; display:block; line-height:1;
    font-variant-numeric:tabular-nums;
  }
body.impact-page .imp-counter-card .val .unit {
 font-size:.9rem; color:#10bc69; font-weight:700; }
body.impact-page .imp-counter-card .lbl {
 font-size:.72rem; color:rgba(255,255,255,.5); margin-top:5px; letter-spacing:.03em; }
body.impact-page .imp-hero-cta {

    animation:impReveal .6s cubic-bezier(.22,1,.36,1) .42s both;
  }
body.impact-page .btn-impact {

    display:inline-block; padding:15px 40px;
    background:linear-gradient(135deg,#10bc69,#0d9e59);
    color:#fff; font-weight:900; font-size:1rem;
    border-radius:14px; text-decoration:none;
    box-shadow:0 8px 32px rgba(16,188,105,.35);
    transition:transform .15s,box-shadow .15s;
  }
body.impact-page .btn-impact:hover {
 transform:translateY(-2px); box-shadow:0 12px 40px rgba(16,188,105,.45); color:#fff; }
body.impact-page .btn-impact-outline {

    display:inline-block; padding:14px 30px;
    background:transparent; border:2px solid rgba(255,255,255,.22);
    color:rgba(255,255,255,.8); font-weight:700; font-size:.93rem;
    border-radius:14px; text-decoration:none;
    transition:border-color .15s,background .15s;
  }
body.impact-page .btn-impact-outline:hover {
 border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.07); color:#fff; }
body.impact-page /* ══ Wrapper principal ═════════════════════════════════════ */
  .imp-wrap {

    max-width:1080px; margin:0 auto;
    padding:56px 24px 80px;
  }
@media (max-width:680px) { body.impact-page .imp-wrap { padding:36px 16px 60px; } }
body.impact-page /* ══ Section titres ════════════════════════════════════════ */
  .imp-eyebrow {

    font-size:.72rem; font-weight:800; letter-spacing:.12em;
    text-transform:uppercase; color:#10bc69; margin-bottom:8px;
  }
body.impact-page .imp-section-title {

    font-size:clamp(1.4rem,2.6vw,2rem);
    font-weight:900; color:#0d2237; margin:0 0 12px; line-height:1.2;
  }
body.impact-page .imp-section-sub {

    font-size:.97rem; color:#475569; line-height:1.7; margin-bottom:36px;
  }
body.impact-page /* ══ Le problème ═══════════════════════════════════════════ */
  .imp-problem-grid {

    display:grid; grid-template-columns:1fr 1fr; gap:20px;
    margin-bottom:56px;
  }
@media (max-width:700px) { body.impact-page .imp-problem-grid { grid-template-columns:1fr; } }
body.impact-page .imp-problem-card {

    background:#fff; border-radius:20px;
    border:1.5px solid #e2e8f0;
    padding:32px 28px;
    box-shadow:0 4px 20px rgba(13,34,55,.07), 0 1px 4px rgba(13,34,55,.04);
    transition:box-shadow .2s, transform .2s;
  }
body.impact-page .imp-problem-card:hover {

    box-shadow:0 12px 40px rgba(13,34,55,.12), 0 2px 8px rgba(13,34,55,.06);
    transform:translateY(-2px);
  }
body.impact-page .imp-problem-card .card-icon {

    width:52px;height:52px; border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem; margin-bottom:18px;
  }
body.impact-page .imp-problem-card .card-icon--red {
 background:rgba(239,68,68,.1); }
body.impact-page .imp-problem-card .card-icon--green {
 background:rgba(16,188,105,.1); }
body.impact-page .imp-problem-card h3 {
 font-size:1.08rem; font-weight:800; color:#0d2237; margin:0 0 10px; }
body.impact-page .imp-problem-card p {
 font-size:.9rem; color:#475569; line-height:1.7; margin:0; }
body.impact-page .imp-stat-pill {

    display:inline-block; margin-top:14px;
    background:#f0fdf4; border:1px solid #86efac;
    color:#15803d; font-size:.78rem; font-weight:700;
    padding:4px 14px; border-radius:999px;
  }
body.impact-page .imp-stat-pill--red {

    background:#fef2f2; border-color:#fca5a5; color:#dc2626;
  }
body.impact-page /* ══ Calculateur ═══════════════════════════════════════════ */
  .imp-calc-card {

    background:#fff; border-radius:24px;
    border:1.5px solid #e2e8f0;
    box-shadow:0 8px 40px rgba(13,34,55,.1), 0 2px 8px rgba(13,34,55,.05);
    overflow:hidden; margin-bottom:56px;
  }
body.impact-page .imp-calc-header {

    background:linear-gradient(135deg,#0d2237,#1f4b8e);
    padding:32px 36px;
    color:#fff;
  }
body.impact-page .imp-calc-header .eyebrow {
 color:rgba(255,255,255,.55); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px; }
body.impact-page .imp-calc-header h2 {
 font-size:1.35rem; font-weight:900; color:#fff; margin:0 0 6px; }
body.impact-page .imp-calc-header p {
 color:rgba(255,255,255,.6); font-size:.88rem; margin:0; }
body.impact-page .imp-calc-body {

    display:grid; grid-template-columns:1fr 1fr;
    gap:0;
  }
@media (max-width:780px) { body.impact-page .imp-calc-body { grid-template-columns:1fr; } }
body.impact-page .imp-calc-inputs {
 padding:32px 36px; border-right:1.5px solid #f1f5f9; }
@media (max-width:780px) { body.impact-page .imp-calc-inputs { border-right:none; border-bottom:1.5px solid #f1f5f9; } }
body.impact-page .imp-input-group {
 margin-bottom:28px; }
body.impact-page .imp-input-group label {

    display:flex; justify-content:space-between; align-items:center;
    font-size:.86rem; font-weight:700; color:#0d2237;
    margin-bottom:10px;
  }
body.impact-page .imp-input-group label .val-display {

    font-size:.95rem; font-weight:900;
    color:#10bc69; background:#f0fdf4;
    padding:3px 12px; border-radius:8px;
    min-width:56px; text-align:center;
  }
body.impact-page input[type="range"].imp-range {

    -webkit-appearance:none; width:100%; height:6px;
    background:#e2e8f0; border-radius:3px; outline:none;
    cursor:pointer;
  }
body.impact-page input[type="range"].imp-range::-webkit-slider-thumb {

    -webkit-appearance:none; width:20px; height:20px;
    background:#10bc69; border-radius:50%;
    box-shadow:0 2px 8px rgba(16,188,105,.4);
    cursor:pointer;
  }
body.impact-page .imp-select {

    width:100%; padding:10px 14px;
    border:1.5px solid #e2e8f0; border-radius:10px;
    font-size:.9rem; color:#1e293b;
    background:#fff; cursor:pointer; outline:none;
    transition:border-color .15s;
  }
body.impact-page .imp-select:focus {
 border-color:#10bc69; }
body.impact-page .imp-range-labels {

    display:flex; justify-content:space-between;
    font-size:.72rem; color:#94a3b8; margin-top:4px;
  }
body.impact-page .imp-calc-results {
 padding:32px 36px; background:#fafbfc; }
body.impact-page .imp-calc-results h3 {
 font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:#94a3b8; margin:0 0 20px; }
body.impact-page .imp-result-big {

    margin-bottom:20px;
    padding:18px 20px;
    border-radius:14px;
    border:1.5px solid;
    position:relative; overflow:hidden;
  }
body.impact-page .imp-result-big--co2 {
 background:#f0fdf4; border-color:#86efac; }
body.impact-page .imp-result-big--money {
 background:#eff6ff; border-color:#bfdbfe; }
body.impact-page .imp-result-big--time {
 background:#fffbeb; border-color:#fde68a; }
body.impact-page .imp-result-big .rb-label {

    font-size:.74rem; font-weight:700; text-transform:uppercase;
    letter-spacing:.08em; margin-bottom:6px; display:block;
  }
body.impact-page .imp-result-big--co2   .rb-label {
 color:#15803d; }
body.impact-page .imp-result-big--money .rb-label {
 color:#1d4ed8; }
body.impact-page .imp-result-big--time  .rb-label {
 color:#92400e; }
body.impact-page .imp-result-big .rb-val {

    font-size:1.8rem; font-weight:900; line-height:1;
    font-variant-numeric:tabular-nums;
  }
body.impact-page .imp-result-big--co2   .rb-val {
 color:#166534; }
body.impact-page .imp-result-big--money .rb-val {
 color:#1e3a8a; }
body.impact-page .imp-result-big--time  .rb-val {
 color:#78350f; }
body.impact-page .imp-result-big .rb-sub {

    font-size:.79rem; color:#64748b; margin-top:4px;
  }
body.impact-page .imp-result-big .rb-icon {

    position:absolute; right:16px; top:50%;
    transform:translateY(-50%);
    font-size:2.4rem; opacity:.55;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.20));
  }
body.impact-page /* Analogies CO2 */
  .imp-analogies {

    display:grid; grid-template-columns:1fr 1fr;
    gap:8px; margin-top:6px;
  }
body.impact-page .imp-analogy {

    background:#fff; border:1px solid #e2e8f0;
    border-radius:10px; padding:10px 12px;
    font-size:.8rem; color:#334155; line-height:1.4;
  }
body.impact-page .imp-analogy strong {
 display:block; font-size:.92rem; color:#0d2237; }
body.impact-page /* ══ Effet communauté ══════════════════════════════════════ */
  .imp-community-card {

    background:linear-gradient(135deg,#0d2237,#1a3f73);
    border-radius:24px; padding:44px 40px;
    margin-bottom:56px; color:#fff;
    position:relative; overflow:hidden;
    box-shadow:0 16px 48px rgba(13,34,55,.22), 0 4px 12px rgba(13,34,55,.12);
  }
body.impact-page .imp-community-card::before {

    content:'';
    position:absolute; inset:0;
    background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);
    background-size:24px 24px;
    pointer-events:none;
  }
body.impact-page .imp-community-card .inner {
 position:relative; z-index:1; }
body.impact-page .imp-community-card .eyebrow {
 color:rgba(255,255,255,.5); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; }
body.impact-page .imp-community-card h2 {
 font-size:clamp(1.3rem,2.4vw,1.8rem); font-weight:900; color:#fff; margin:0 0 10px; }
body.impact-page .imp-community-card .sub {
 color:rgba(255,255,255,.65); font-size:.95rem; margin-bottom:32px; line-height:1.65; }
body.impact-page .imp-community-slider-row {

    display:flex; align-items:center; gap:20px;
    margin-bottom:24px; flex-wrap:wrap;
  }
body.impact-page .imp-community-slider-row label {
 font-size:.88rem; color:rgba(255,255,255,.8); font-weight:700; white-space:nowrap; }
body.impact-page .imp-community-slider-row .fam-count {

    font-size:1.2rem; font-weight:900; color:#10bc69;
    min-width:36px; text-align:center;
  }
body.impact-page input[type="range"].imp-range-white {

    flex:1; -webkit-appearance:none; height:6px;
    background:rgba(255,255,255,.2); border-radius:3px; outline:none; cursor:pointer;
  }
body.impact-page input[type="range"].imp-range-white::-webkit-slider-thumb {

    -webkit-appearance:none; width:20px; height:20px;
    background:#10bc69; border-radius:50%;
    box-shadow:0 2px 8px rgba(16,188,105,.5); cursor:pointer;
  }
body.impact-page .imp-community-results {

    display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  }
@media (max-width:560px) { body.impact-page .imp-community-results { grid-template-columns:1fr; } }
body.impact-page .imp-comm-stat {

    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px; padding:18px 16px;
    text-align:center;
  }
body.impact-page .imp-comm-stat .val {
 font-size:1.5rem; font-weight:900; color:#10bc69; display:block; font-variant-numeric:tabular-nums; }
body.impact-page .imp-comm-stat .lbl {
 font-size:.76rem; color:rgba(255,255,255,.55); margin-top:4px; }
body.impact-page /* ══ Comparaison financière ════════════════════════════════ */
  .imp-compare-card {

    background:#fff; border-radius:20px;
    border:1.5px solid #e2e8f0;
    padding:36px 32px; margin-bottom:56px;
    box-shadow:0 4px 20px rgba(13,34,55,.08), 0 1px 4px rgba(13,34,55,.04);
  }
body.impact-page .imp-compare-table {

    width:100%; border-collapse:collapse; margin-top:24px;
    font-size:.9rem;
  }
body.impact-page .imp-compare-table th {

    text-align:left; font-size:.74rem; font-weight:700;
    text-transform:uppercase; letter-spacing:.08em;
    color:#94a3b8; padding:10px 14px;
    border-bottom:2px solid #e2e8f0;
    border-right:1px solid #e2e8f0;
  }
body.impact-page .imp-compare-table th:last-child {
 border-right:none; }
body.impact-page .imp-compare-table td {

    padding:14px; vertical-align:middle;
    border-bottom:1px solid #e2e8f0; color:#334155;
    border-right:1px solid #e2e8f0;
  }
body.impact-page .imp-compare-table td:last-child {
 border-right:none; }
body.impact-page .imp-compare-table tr:last-child td {
 border-bottom:none; }
body.impact-page /* Zébrage alternance */
  .imp-compare-table tbody tr:nth-child(odd) {
 background:#f8fafc; }
body.impact-page .imp-compare-table tbody tr:nth-child(even) {
 background:#ffffff; }
body.impact-page .imp-compare-table tbody tr:last-child {
 background:#eef9f3; }
body.impact-page .imp-compare-table .tk-col {
 color:#10bc69; font-weight:700; }
body.impact-page .imp-compare-table .vs-badge {

    display:inline-block; background:#fef2f2;
    color:#dc2626; font-size:.74rem; font-weight:700;
    padding:2px 10px; border-radius:999px; border:1px solid #fca5a5;
  }
body.impact-page .imp-compare-table .ok-badge {

    display:inline-block; background:#f0fdf4;
    color:#15803d; font-size:.74rem; font-weight:700;
    padding:2px 10px; border-radius:999px; border:1px solid #86efac;
  }
@media (max-width:640px) { body.impact-page .imp-compare-card { padding:24px 16px; } body.impact-page .imp-compare-table thead { display:none; } body.impact-page .imp-compare-table tbody { display:block; } body.impact-page .imp-compare-table tr {
      display:grid;
      grid-template-columns:1fr 1fr;
      grid-template-rows:auto auto;
      border-bottom:1px solid #e2e8f0;
      padding:12px 8px; gap:4px 0;
      border-radius:8px;
    } body.impact-page .imp-compare-table tr:last-child { border-bottom:none; } body.impact-page /* Zébrage mobile — fond sur le tr entier */
    .imp-compare-table tbody tr:nth-child(odd) { background:#f8fafc; } body.impact-page .imp-compare-table tbody tr:nth-child(even) { background:#ffffff; } body.impact-page .imp-compare-table tbody tr:last-child { background:#eef9f3; } body.impact-page .imp-compare-table td { border:none; padding:0 4px; } body.impact-page /* séparateur vertical entre les 2 colonnes valeurs */
    .imp-compare-table td:nth-child(3) {
      border-left:1px solid #e2e8f0;
      padding-left:12px;
    } body.impact-page /* label pleine largeur sur la première ligne */
    .imp-compare-table td:first-child {
      grid-column:1 / -1;
      font-size:.87rem; padding-bottom:8px;
      border-bottom:1px dashed #e2e8f0; margin-bottom:6px;
    } body.impact-page /* mini-header au-dessus de chaque valeur */
    .imp-compare-table td:nth-child(2)::before {
      content:"🚗 Voiture";
      display:block; font-size:.65rem; font-weight:700;
      text-transform:uppercase; letter-spacing:.07em;
      color:#94a3b8; margin-bottom:4px;
    } body.impact-page .imp-compare-table td:nth-child(3)::before {
      content:"✅ TouKidou";
      display:block; font-size:.65rem; font-weight:700;
      text-transform:uppercase; letter-spacing:.07em;
      color:#10bc69; margin-bottom:4px;
    }
  }
body.impact-page /* ══ CTA finale ════════════════════════════════════════════ */
  .imp-cta-section {

    background:linear-gradient(135deg,#060f1e,#0d2237);
    border-radius:28px; padding:60px 40px;
    text-align:center; position:relative; overflow:hidden;
    box-shadow:0 20px 60px rgba(6,15,30,.3);
  }
body.impact-page .imp-cta-section::before {

    content:'';
    position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:28px 28px; pointer-events:none;
  }
body.impact-page .imp-cta-section .inner {
 position:relative; z-index:1; }
body.impact-page .imp-cta-section .eyebrow {
 color:rgba(255,255,255,.45); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:12px; }
body.impact-page .imp-cta-section h2 {
 font-size:clamp(1.6rem,3vw,2.4rem); font-weight:900; color:#fff; margin:0 0 14px; line-height:1.2; }
body.impact-page .imp-cta-section .accent {
 color:#10bc69; }
body.impact-page .imp-cta-section p {
 color:rgba(255,255,255,.6); font-size:.97rem; max-width:540px; margin:0 auto 36px; line-height:1.7; }
body.impact-page .imp-cta-section .ctas {
 display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
body.impact-page .imp-cta-section .corp-link {

    display:block; margin-top:22px;
    font-size:.82rem; color:rgba(255,255,255,.35);
    text-decoration:none; transition:color .15s;
  }
body.impact-page .imp-cta-section .corp-link:hover {
 color:rgba(255,255,255,.65); }
body.impact-page /* ══ Manifest block ════════════════════════════════════════ */
  .imp-manifest {

    text-align:center; max-width:100%; margin:0 0 56px;
  }
body.impact-page .imp-manifest blockquote {

    font-size:clamp(.95rem,1.5vw,1.1rem);
    font-style:italic; color:#0d2237; line-height:1.7;
    border-left:4px solid #10bc69;
    margin:0; padding:18px 28px;
    background:#f0fdf4; border-radius:0 14px 14px 0;
    text-align:justify;
    hyphens: none; -webkit-hyphens: none;
  }
body.impact-page .imp-manifest cite {

    display:block; font-size:.82rem; color:#64748b;
    font-style:normal; margin-top:12px; text-align:right;
  }


/* ─────────── guide_garderies_b2b.html → body.guide-garderies-b2b-page ─────────── */
body.guide-garderies-b2b-page body {
 background: #f0f4f8; }
body.guide-garderies-b2b-page /* ── Keyframes ─────────────────────────────────────────── */
  @keyframes tkReveal {
 from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes orbFloat1 {
 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(22px,-32px) scale(1.08)} 66%{transform:translate(-16px,14px) scale(.93)} }
@keyframes orbFloat2 {
 0%,100%{transform:translate(0,0) scale(1)} 40%{transform:translate(-26px,22px) scale(1.1)} 70%{transform:translate(20px,-20px) scale(.91)} }
@keyframes orbFloat3 {
 0%,100%{transform:translate(0,0)} 50%{transform:translate(14px,26px)} }
@keyframes particleRise {
 0%{transform:translateY(0) scale(1);opacity:.5} 100%{transform:translateY(-100px) scale(.35);opacity:0} }
@keyframes shimmerLine {
 0%{transform:translateX(-100%) skewX(-18deg);opacity:0} 20%{opacity:1} 80%{opacity:1} 100%{transform:translateX(220%) skewX(-18deg);opacity:0} }
body.guide-garderies-b2b-page /* ══════════════════════════════════════════════════════════
     HERO
  ══════════════════════════════════════════════════════════ */
  .gb-hero {

    background: linear-gradient(150deg, #0D2237 0%, #17325f 55%, #1a3f73 100%);
    padding: 80px 24px 140px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
body.guide-garderies-b2b-page .gb-hero .hero-orb {
 position:absolute; border-radius:50%; filter:blur(72px); pointer-events:none; z-index:0; }
body.guide-garderies-b2b-page .gb-hero .hero-orb-1 {
 width:360px;height:360px; background:radial-gradient(circle,rgba(48,137,197,.22),transparent 70%); top:-100px;left:-80px; animation:orbFloat1 9s ease-in-out infinite; }
body.guide-garderies-b2b-page .gb-hero .hero-orb-2 {
 width:300px;height:300px; background:radial-gradient(circle,rgba(249,193,59,.14),transparent 70%); top:0;right:-60px; animation:orbFloat2 11s ease-in-out infinite; }
body.guide-garderies-b2b-page .gb-hero .hero-orb-3 {
 width:240px;height:240px; background:radial-gradient(circle,rgba(16,188,105,.1),transparent 70%); bottom:40px;left:35%; animation:orbFloat3 13s ease-in-out infinite; }
body.guide-garderies-b2b-page .gb-hero::before {
 content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px); background-size:28px 28px; pointer-events:none; z-index:0; }
body.guide-garderies-b2b-page .gb-hero::after {
 content:""; position:absolute; top:0;left:0; width:40%;height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent); animation:shimmerLine 7s ease-in-out infinite 1.5s; pointer-events:none; z-index:0; }
body.guide-garderies-b2b-page .gb-hero .hero-particles {
 position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0; }
body.guide-garderies-b2b-page .gb-hero .hero-particles span {
 position:absolute;width:4px;height:4px;background:rgba(255,255,255,.35);border-radius:50%;animation:particleRise linear infinite; }
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(1) {
left:7%;bottom:8%;animation-duration:7s;animation-delay:0s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(2) {
left:20%;bottom:18%;animation-duration:9s;animation-delay:1s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(3) {
left:33%;bottom:5%;animation-duration:8s;animation-delay:.5s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(4) {
left:48%;bottom:14%;animation-duration:11s;animation-delay:2s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(5) {
left:62%;bottom:9%;animation-duration:7.5s;animation-delay:.9s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(6) {
left:74%;bottom:22%;animation-duration:10s;animation-delay:3s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(7) {
left:88%;bottom:11%;animation-duration:8.5s;animation-delay:1.7s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(8) {
left:93%;bottom:19%;animation-duration:6s;animation-delay:.3s}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(9) {
left:26%;bottom:29%;animation-duration:12s;animation-delay:4s;width:3px;height:3px}
body.guide-garderies-b2b-page .gb-hero .hero-particles span:nth-child(10) {
left:57%;bottom:34%;animation-duration:9.5s;animation-delay:2.5s;width:3px;height:3px}
body.guide-garderies-b2b-page .gb-hero .hero-inner {
 position:relative;z-index:1; }
body.guide-garderies-b2b-page .gb-hero .kicker {
 animation:tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay:.05s; }
body.guide-garderies-b2b-page .gb-hero h1 {
 animation:tkReveal .72s cubic-bezier(.22,1,.36,1) both; animation-delay:.14s; }
body.guide-garderies-b2b-page .gb-hero .subtitle {
 animation:tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay:.24s; }
body.guide-garderies-b2b-page .gb-hero .gb-chips {
 animation:tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay:.34s; }
body.guide-garderies-b2b-page .gb-hero .kicker {

    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(249,193,59,.15);
    border: 1px solid rgba(249,193,59,.35);
    color: #F9C13B;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
    margin-bottom: 24px;
  }
body.guide-garderies-b2b-page .gb-hero h1 {

    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.15;
    max-width: 700px;
    margin: 0 auto 18px;
  }
body.guide-garderies-b2b-page .gb-hero .subtitle {

    font-size: 1.05rem;
    color: rgba(255,255,255,.72);
    max-width: 540px;
    margin: 0 auto 40px;
    line-height: 1.65;
  }
body.guide-garderies-b2b-page .gb-chips {

    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
body.guide-garderies-b2b-page .gb-chip {

    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    color: rgba(255,255,255,.92);
    border-radius: 10px;
    padding: 9px 18px;
    font-size: .86rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
  }
body.guide-garderies-b2b-page /* ══════════════════════════════════════════════════════════
     FORM CARD — remonte sur le hero via margin-top négatif
  ══════════════════════════════════════════════════════════ */
  .gb-form-section {

    max-width: 1140px;
    margin: -110px auto 0;             /* remonte au-dessus de la ligne bleue */
    padding: 0 24px 64px;
    position: relative;
    z-index: 10;
  }
body.guide-garderies-b2b-page .gb-form-card {

    background: #fff;
    border-radius: 20px;
    padding: 40px 44px 36px;
    box-shadow: 0 24px 72px rgba(13,34,55,.22);
    border: 1px solid #e8eef4;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
  }
@media (max-width: 780px) { body.guide-garderies-b2b-page .gb-form-card { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px 28px; } body.guide-garderies-b2b-page .gb-form-section { margin-top: -80px; }
  }
body.guide-garderies-b2b-page /* Colonne gauche — info */
  .gb-form-info {
}
body.guide-garderies-b2b-page .gb-form-info .info-title {

    font-size: 1.35rem;
    font-weight: 900;
    color: #0D2237;
    margin-bottom: 10px;
    line-height: 1.25;
  }
body.guide-garderies-b2b-page .gb-form-info .info-sub {

    font-size: .92rem;
    color: #64748b;
    margin-bottom: 28px;
    line-height: 1.6;
  }
body.guide-garderies-b2b-page .gb-preview-list {

    list-style: none;
    padding: 0;
    margin: 0 0 28px;
  }
body.guide-garderies-b2b-page .gb-preview-list li {

    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: .9rem;
    color: #334155;
    padding: 7px 0;
    border-bottom: 1px solid #f1f5f9;
  }
body.guide-garderies-b2b-page .gb-preview-list li:last-child {
 border-bottom: none; }
body.guide-garderies-b2b-page .gb-preview-list li .check {

    width: 20px; height: 20px; min-width: 20px;
    background: #ecfdf5;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: .72rem;
    margin-top: 1px;
  }
body.guide-garderies-b2b-page .gb-stats-row {

    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    border-top: 1.5px solid #f1f5f9;
    padding-top: 20px;
  }
body.guide-garderies-b2b-page .gb-stats-row .stat {
 text-align: center; }
body.guide-garderies-b2b-page .gb-stats-row .stat .n {

    font-size: 1.4rem;
    font-weight: 900;
    color: #0D2237;
    display: block;
    line-height: 1;
    margin-bottom: 3px;
  }
body.guide-garderies-b2b-page .gb-stats-row .stat .l {

    font-size: .72rem;
    color: #94a3b8;
    line-height: 1.3;
  }
body.guide-garderies-b2b-page /* Colonne droite — formulaire */
  .gb-form-right {
}
body.guide-garderies-b2b-page .gb-form-right .form-head {

    font-size: 1.1rem;
    font-weight: 800;
    color: #0D2237;
    margin-bottom: 4px;
  }
body.guide-garderies-b2b-page .gb-form-right .form-sub {

    font-size: .83rem;
    color: #64748b;
    margin-bottom: 22px;
  }
body.guide-garderies-b2b-page .form-row {
 margin-bottom: 14px; }
body.guide-garderies-b2b-page .form-row label {

    display: block;
    font-size: .82rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 5px;
  }
body.guide-garderies-b2b-page .form-row input, body.guide-garderies-b2b-page .form-row select {

    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    font-size: .92rem;
    color: #0D2237;
    background: #fff;
    outline: none;
    transition: border-color .18s, box-shadow .18s;
    box-sizing: border-box;
  }
body.guide-garderies-b2b-page .form-row input:focus, body.guide-garderies-b2b-page .form-row select:focus {

    border-color: #3089C5;
    box-shadow: 0 0 0 3px rgba(48,137,197,.1);
  }
body.guide-garderies-b2b-page .btn-submit-gb {

    width: 100%;
    padding: 14px;
    background: #F9C13B;
    color: #0D2237;
    font-weight: 900;
    font-size: .98rem;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    margin-top: 6px;
    transition: transform .15s, box-shadow .15s;
  }
body.guide-garderies-b2b-page .btn-submit-gb:hover {

    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(249,193,59,.45);
  }
body.guide-garderies-b2b-page .form-trust {

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: .75rem;
    color: #94a3b8;
    margin-top: 12px;
    text-align: center;
  }
body.guide-garderies-b2b-page /* ══════════════════════════════════════════════════════════
     PILLARS — 5 sur une ligne desktop
  ══════════════════════════════════════════════════════════ */
  .gb-inside {

    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px 80px;
  }
body.guide-garderies-b2b-page .gb-inside h2 {

    font-size: 1.45rem;
    font-weight: 800;
    color: #0D2237;
    text-align: center;
    margin-bottom: 8px;
  }
body.guide-garderies-b2b-page .gb-inside .section-sub {

    text-align: center;
    color: #64748b;
    font-size: .93rem;
    margin-bottom: 36px;
  }
body.guide-garderies-b2b-page .gb-pillars {

    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-bottom: 56px;
  }
@media (max-width: 1000px) { body.guide-garderies-b2b-page .gb-pillars { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { body.guide-garderies-b2b-page .gb-pillars { grid-template-columns: repeat(2, 1fr); } }
body.guide-garderies-b2b-page .gb-pillar {

    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 16px;
    padding: 26px 18px 22px;
    text-align: center;
    transition: border-color .15s, box-shadow .15s, transform .15s;
  }
body.guide-garderies-b2b-page .gb-pillar:hover {

    border-color: #3089C5;
    box-shadow: 0 6px 24px rgba(48,137,197,.1);
    transform: translateY(-3px);
  }
body.guide-garderies-b2b-page .gb-pillar .icon {
 font-size: 2rem; margin-bottom: 12px; display: block; }
body.guide-garderies-b2b-page .gb-pillar h3 {

    font-size: .9rem;
    font-weight: 800;
    color: #0D2237;
    margin-bottom: 7px;
  }
body.guide-garderies-b2b-page .gb-pillar p {
 font-size: .8rem; color: #64748b; line-height: 1.55; margin: 0; }
body.guide-garderies-b2b-page /* ══════════════════════════════════════════════════════════
     SOCIAL PROOF
  ══════════════════════════════════════════════════════════ */
  .gb-proof {

    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 18px;
    padding: 32px 40px;
    margin-bottom: 56px;
    display: grid;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    gap: 0;
    text-align: center;
    align-items: center;
  }
@media (max-width: 600px) { body.guide-garderies-b2b-page .gb-proof { grid-template-columns: 1fr; } body.guide-garderies-b2b-page .gb-proof .proof-divider { display: none; }
  }
body.guide-garderies-b2b-page .gb-proof .proof-divider {
 background: #e2e8f0; height: 40px; align-self: center; }
body.guide-garderies-b2b-page .gb-proof .proof-num {

    font-size: 2rem;
    font-weight: 900;
    color: #0D2237;
    display: block;
    line-height: 1;
    margin-bottom: 5px;
  }
body.guide-garderies-b2b-page .gb-proof .proof-label {
 font-size: .82rem; color: #64748b; line-height: 1.4; }
body.guide-garderies-b2b-page /* ══════════════════════════════════════════════════════════
     BOTTOM CTA
  ══════════════════════════════════════════════════════════ */
  .gb-bottom-cta {

    background: linear-gradient(135deg, #0D2237, #1f4b8e);
    border-radius: 20px;
    padding: 52px 40px;
    text-align: center;
    color: #fff;
  }
body.guide-garderies-b2b-page .gb-bottom-cta h2 {
 font-size: 1.45rem; font-weight: 900; margin-bottom: 12px; color: #fff; }
body.guide-garderies-b2b-page .gb-bottom-cta p {
 color: rgba(255,255,255,.68); margin-bottom: 28px; font-size: .97rem; }
body.guide-garderies-b2b-page .btn-cta-gb {

    display: inline-block;
    padding: 15px 40px;
    background: #F9C13B;
    color: #0D2237;
    font-weight: 900;
    font-size: .98rem;
    border-radius: 12px;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
  }
body.guide-garderies-b2b-page .btn-cta-gb:hover {

    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(249,193,59,.4);
    color: #0D2237;
  }


/* ─────────── guide_garderies_content.html → body.guide-garderies-content-page ─────────── */
body.guide-garderies-content-page body {
 background: #f0f4f8; }
body.guide-garderies-content-page /* ── Keyframes ─────────────────────────────────────────── */
  @keyframes tkReveal {
 from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes orbFloat1 {
 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(22px,-32px) scale(1.08)} 66%{transform:translate(-16px,14px) scale(.93)} }
@keyframes orbFloat2 {
 0%,100%{transform:translate(0,0) scale(1)} 40%{transform:translate(-26px,22px) scale(1.1)} 70%{transform:translate(20px,-20px) scale(.91)} }
@keyframes orbFloat3 {
 0%,100%{transform:translate(0,0)} 50%{transform:translate(14px,26px)} }
@keyframes particleRise {
 0%{transform:translateY(0) scale(1);opacity:.5} 100%{transform:translateY(-100px) scale(.35);opacity:0} }
@keyframes shimmerLine {
 0%{transform:translateX(-100%) skewX(-18deg);opacity:0} 20%{opacity:1} 80%{opacity:1} 100%{transform:translateX(220%) skewX(-18deg);opacity:0} }
body.guide-garderies-content-page /* ══════════════════════════════════════════════════════════
     HERO
  ══════════════════════════════════════════════════════════ */
  .gc-hero {

    background: linear-gradient(150deg, #0D2237 0%, #17325f 55%, #1a3f73 100%);
    padding: 72px 24px 140px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
body.guide-garderies-content-page .gc-hero .hero-orb {
 position:absolute; border-radius:50%; filter:blur(72px); pointer-events:none; z-index:0; }
body.guide-garderies-content-page .gc-hero .hero-orb-1 {
 width:340px;height:340px; background:radial-gradient(circle,rgba(48,137,197,.22),transparent 70%); top:-80px;left:-60px; animation:orbFloat1 9s ease-in-out infinite; }
body.guide-garderies-content-page .gc-hero .hero-orb-2 {
 width:280px;height:280px; background:radial-gradient(circle,rgba(249,193,59,.14),transparent 70%); top:10px;right:-50px; animation:orbFloat2 11s ease-in-out infinite; }
body.guide-garderies-content-page .gc-hero .hero-orb-3 {
 width:220px;height:220px; background:radial-gradient(circle,rgba(16,188,105,.1),transparent 70%); bottom:50px;left:38%; animation:orbFloat3 13s ease-in-out infinite; }
body.guide-garderies-content-page .gc-hero::before {
 content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px); background-size:28px 28px; pointer-events:none; z-index:0; }
body.guide-garderies-content-page .gc-hero::after {
 content:""; position:absolute; top:0;left:0; width:40%;height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent); animation:shimmerLine 8s ease-in-out infinite 2s; pointer-events:none; z-index:0; }
body.guide-garderies-content-page .gc-hero .hero-particles {
 position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0; }
body.guide-garderies-content-page .gc-hero .hero-particles span {
 position:absolute;width:4px;height:4px;background:rgba(255,255,255,.35);border-radius:50%;animation:particleRise linear infinite; }
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(1) {
left:7%;bottom:8%;animation-duration:7s;animation-delay:0s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(2) {
left:20%;bottom:18%;animation-duration:9s;animation-delay:1s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(3) {
left:33%;bottom:5%;animation-duration:8s;animation-delay:.5s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(4) {
left:48%;bottom:14%;animation-duration:11s;animation-delay:2s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(5) {
left:62%;bottom:9%;animation-duration:7.5s;animation-delay:.9s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(6) {
left:74%;bottom:22%;animation-duration:10s;animation-delay:3s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(7) {
left:88%;bottom:11%;animation-duration:8.5s;animation-delay:1.7s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(8) {
left:93%;bottom:19%;animation-duration:6s;animation-delay:.3s}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(9) {
left:26%;bottom:29%;animation-duration:12s;animation-delay:4s;width:3px;height:3px}
body.guide-garderies-content-page .gc-hero .hero-particles span:nth-child(10) {
left:57%;bottom:34%;animation-duration:9.5s;animation-delay:2.5s;width:3px;height:3px}
body.guide-garderies-content-page .gc-hero .hero-inner {
 position:relative; z-index:1; }
body.guide-garderies-content-page .gc-hero .kicker {
 animation:tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay:.05s; }
body.guide-garderies-content-page .gc-hero h1 {
 animation:tkReveal .72s cubic-bezier(.22,1,.36,1) both; animation-delay:.14s; }
body.guide-garderies-content-page .gc-hero .meta {
 animation:tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay:.24s; }
body.guide-garderies-content-page .gc-hero .hero-actions {
 animation:tkReveal .65s cubic-bezier(.22,1,.36,1) both; animation-delay:.34s; }
body.guide-garderies-content-page .gc-hero .kicker {

    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(249,193,59,.15);
    border: 1px solid rgba(249,193,59,.35);
    color: #F9C13B;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    padding: 5px 16px;
    border-radius: 999px;
    margin-bottom: 20px;
  }
body.guide-garderies-content-page .gc-hero h1 {

    font-size: clamp(1.6rem, 3.5vw, 2.4rem);
    font-weight: 900;
    color: #fff;
    line-height: 1.18;
    max-width: 700px;
    margin: 0 auto 14px;
  }
body.guide-garderies-content-page .gc-hero .meta {

    font-size: .83rem;
    color: rgba(255,255,255,.5);
    margin-bottom: 28px;
  }
body.guide-garderies-content-page .gc-hero .hero-actions {

    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
body.guide-garderies-content-page .btn-hero-action {

    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 22px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px;
    font-size: .84rem;
    font-weight: 700;
    color: rgba(255,255,255,.88);
    cursor: pointer;
    text-decoration: none;
    transition: background .15s;
  }
body.guide-garderies-content-page .btn-hero-action:hover {
 background: rgba(255,255,255,.18); color: #fff; }
body.guide-garderies-content-page /* ══════════════════════════════════════════════════════════
     MAIN CARD — remonte sur le hero
  ══════════════════════════════════════════════════════════ */
  .gc-card-wrap {

    max-width: 1140px;
    margin: -110px auto 0;
    padding: 0 24px 80px;
    position: relative;
    z-index: 10;
  }
@media (max-width: 780px) { body.guide-garderies-content-page .gc-card-wrap { margin-top: -80px; } }
body.guide-garderies-content-page .gc-card {

    background: #fff;
    border-radius: 20px;
    box-shadow: 0 24px 72px rgba(13,34,55,.18);
    border: 1px solid #e8eef4;
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 0;
    overflow: hidden;
  }
@media (max-width: 860px) { body.guide-garderies-content-page .gc-card { grid-template-columns: 1fr; } body.guide-garderies-content-page .gc-toc { display: none; }
  }
body.guide-garderies-content-page /* ══════════════════════════════════════════════════════════
     CONTENT AREA
  ══════════════════════════════════════════════════════════ */
  .gc-content {

    padding: 48px 48px 56px;
    border-right: 1px solid #f1f5f9;
    color: #1e293b;
    font-size: .97rem;
    line-height: 1.75;
  }
@media (max-width: 860px) { body.guide-garderies-content-page .gc-content { padding: 32px 24px 40px; border-right: none; } }
body.guide-garderies-content-page /* Section blocks */
  .gc-section {
 margin-bottom: 52px; scroll-margin-top: 90px; }
body.guide-garderies-content-page .section-header {

    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(90deg, #0D2237, #1f4b8e);
    border-radius: 12px;
    padding: 15px 22px;
    margin-bottom: 26px;
  }
body.guide-garderies-content-page .section-num {

    width: 34px; height: 34px; min-width: 34px;
    background: #F9C13B;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: .92rem; font-weight: 900; color: #0D2237;
    flex-shrink: 0;
  }
body.guide-garderies-content-page .section-header h2 {

    font-size: 1.08rem;
    font-weight: 800;
    color: #fff;
    margin: 0;
  }
body.guide-garderies-content-page /* Sub-headings */
  .gc-content h3 {

    font-size: 1.02rem;
    font-weight: 700;
    color: #1f4b8e;
    margin: 26px 0 10px;
    display: flex; align-items: center; gap: 8px;
  }
body.guide-garderies-content-page .gc-content h3::before {

    content: "";
    display: inline-block;
    width: 4px; height: 16px;
    background: #3089C5;
    border-radius: 2px;
    flex-shrink: 0;
  }
body.guide-garderies-content-page .gc-content p {
 color: #334155; margin-bottom: 14px; }
body.guide-garderies-content-page .gc-content ul {
 padding-left: 1.35rem; margin-bottom: 14px; }
body.guide-garderies-content-page .gc-content ul li {
 margin-bottom: 7px; color: #334155; }
body.guide-garderies-content-page /* Callout */
  .guide-callout {

    background: #eff6ff;
    border-left: 4px solid #3089C5;
    border-radius: 0 12px 12px 0;
    padding: 16px 22px;
    margin: 20px 0;
    font-style: italic;
    color: #1e40af;
    font-size: .93rem;
  }
body.guide-garderies-content-page /* Checklist */
  .guide-checklist {

    background: #f0fdf4;
    border: 1.5px solid #bbf7d0;
    border-radius: 14px;
    padding: 24px 26px;
    margin: 20px 0;
  }
body.guide-garderies-content-page .guide-checklist h3 {
 color: #166534; margin-top: 0; }
body.guide-garderies-content-page .guide-checklist h3::before {
 background: #16a34a; }
body.guide-garderies-content-page .guide-checklist ul {
 list-style: none; padding: 0; margin: 0; }
body.guide-garderies-content-page .guide-checklist ul li {

    display: flex; align-items: flex-start; gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(187,247,208,.5);
    font-size: .9rem; color: #166534;
  }
body.guide-garderies-content-page .guide-checklist ul li:last-child {
 border-bottom: none; }
body.guide-garderies-content-page .guide-checklist ul li::before {
 content: "✅"; flex-shrink: 0; }
body.guide-garderies-content-page /* Criteria grid */
  .criteria-grid {

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 18px 0;
  }
@media (max-width: 600px) { body.guide-garderies-content-page .criteria-grid { grid-template-columns: 1fr; } }
body.guide-garderies-content-page .criteria-card {

    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 18px 16px;
  }
body.guide-garderies-content-page .criteria-card h4 {

    font-size: .82rem;
    font-weight: 800;
    color: #0D2237;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 10px;
  }
body.guide-garderies-content-page .criteria-card ul {
 list-style: none; padding: 0; margin: 0; }
body.guide-garderies-content-page .criteria-card ul li {

    font-size: .84rem; color: #475569;
    padding: 5px 0;
    border-bottom: 1px solid #f1f5f9;
    display: flex; gap: 7px; align-items: flex-start;
  }
body.guide-garderies-content-page .criteria-card ul li:last-child {
 border-bottom: none; }
body.guide-garderies-content-page .criteria-card ul li::before {
 content: "→"; color: #3089C5; flex-shrink: 0; font-size: .78rem; margin-top: 2px; }
body.guide-garderies-content-page /* CTA inside content */
  .gc-cta {

    background: linear-gradient(135deg, #0D2237, #1f4b8e);
    border-radius: 16px;
    padding: 40px 32px;
    text-align: center;
    margin-top: 12px;
    color: #fff;
  }
body.guide-garderies-content-page .gc-cta h2 {
 color: #fff; font-size: 1.3rem; font-weight: 900; margin-bottom: 10px; }
body.guide-garderies-content-page .gc-cta p {
 color: rgba(255,255,255,.7); margin-bottom: 24px; font-size: .93rem; }
body.guide-garderies-content-page .btn-cta-gc {

    display: inline-block;
    padding: 14px 36px;
    background: #F9C13B;
    color: #0D2237;
    font-weight: 900;
    font-size: .97rem;
    border-radius: 12px;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
  }
body.guide-garderies-content-page .btn-cta-gc:hover {
 transform: translateY(-2px); box-shadow: 0 8px 28px rgba(249,193,59,.4); color: #0D2237; }
body.guide-garderies-content-page /* ══════════════════════════════════════════════════════════
     TOC SIDEBAR
  ══════════════════════════════════════════════════════════ */
  .gc-toc {

    padding: 36px 24px 36px;
    background: #fafbfc;
    border-left: 1px solid #f1f5f9;
  }
body.guide-garderies-content-page .gc-toc-inner {
 position: sticky; top: 88px; }
body.guide-garderies-content-page .gc-toc .toc-label {

    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #94a3b8;
    margin-bottom: 16px;
  }
body.guide-garderies-content-page .gc-toc ol {

    list-style: none;
    padding: 0; margin: 0 0 24px;
    counter-reset: toc;
  }
body.guide-garderies-content-page .gc-toc ol li {
 counter-increment: toc; margin-bottom: 3px; }
body.guide-garderies-content-page .gc-toc ol li a {

    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: .83rem;
    color: #475569;
    text-decoration: none;
    transition: background .12s, color .12s;
  }
body.guide-garderies-content-page .gc-toc ol li a::before {

    content: counter(toc);
    background: #f1f5f9;
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
    width: 20px; height: 20px; min-width: 20px;
    border-radius: 5px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; margin-top: 1px;
  }
body.guide-garderies-content-page .gc-toc ol li a:hover {
 background: #f0f9ff; color: #0D2237; }
body.guide-garderies-content-page .gc-toc ol li a:hover::before {
 background: #bae6fd; color: #0369a1; }
body.guide-garderies-content-page .toc-divider {
 height: 1px; background: #e2e8f0; margin: 18px 0; }
body.guide-garderies-content-page .gc-toc .toc-cta {

    display: block;
    text-align: center;
    padding: 12px;
    background: linear-gradient(135deg, #0D2237, #1f4b8e);
    color: #fff;
    font-weight: 700;
    font-size: .84rem;
    border-radius: 10px;
    text-decoration: none;
    transition: opacity .15s;
  }
body.guide-garderies-content-page .gc-toc .toc-cta:hover {
 opacity: .88; color: #fff; }
body.guide-garderies-content-page .gc-toc .toc-meta {

    font-size: .73rem;
    color: #94a3b8;
    text-align: center;
    margin-top: 16px;
    line-height: 1.5;
  }
@media print { body.guide-garderies-content-page .gc-toc, body.guide-garderies-content-page .gc-cta, body.guide-garderies-content-page .btn-hero-action { display: none !important; } body.guide-garderies-content-page .gc-card { grid-template-columns: 1fr; box-shadow: none; border: none; } body.guide-garderies-content-page .gc-hero { padding-bottom: 40px; } body.guide-garderies-content-page .gc-card-wrap { margin-top: 0; }
  }


/* ─────────── referral_page.html → body.referral-page-page ─────────── */
body.referral-page-page .referral-page {

    max-width: 680px;
    margin: 0 auto;
    padding: 48px 20px 80px;
  }
body.referral-page-page .referral-hero {

    background: linear-gradient(135deg, #0D2237, #17325f);
    color: #fff;
    border-radius: 24px;
    padding: 40px 36px;
    text-align: center;
    margin-bottom: 32px;
  }
body.referral-page-page .referral-hero .kicker {

    font-size: .78rem;
    font-weight: 700;
    color: #F9C13B;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 12px;
    display: block;
  }
body.referral-page-page .referral-hero h1 {

    font-size: 1.6rem;
    font-weight: 900;
    margin: 0 0 14px;
    line-height: 1.2;
  }
body.referral-page-page .referral-hero .subtitle {

    font-size: .95rem;
    color: rgba(255,255,255,.75);
    max-width: 480px;
    margin: 0 auto;
    line-height: 1.6;
  }
body.referral-page-page .referral-reward-badge {

    display: inline-block;
    background: #F9C13B;
    color: #0D2237;
    font-weight: 900;
    font-size: 1.3rem;
    padding: 10px 28px;
    border-radius: 999px;
    margin: 20px 0 0;
  }
body.referral-page-page .referral-card {

    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 20px;
    padding: 28px 28px;
    margin-bottom: 24px;
    box-shadow: 0 4px 24px rgba(0,0,0,.06);
  }
body.referral-page-page .referral-card h2 {

    font-size: 1rem;
    font-weight: 800;
    color: #0D2237;
    margin-bottom: 16px;
  }
body.referral-page-page .link-copy-wrap {

    display: flex;
    gap: 10px;
    align-items: stretch;
  }
body.referral-page-page .link-copy-input {

    flex: 1;
    padding: 12px 14px;
    border: 1.5px solid #cbd5e1;
    border-radius: 10px;
    font-size: .88rem;
    color: #475569;
    background: #f8faff;
    outline: none;
    min-width: 0;
  }
body.referral-page-page .btn-copy {

    padding: 12px 20px;
    background: #3089C5;
    color: #fff;
    font-weight: 800;
    font-size: .88rem;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s;
  }
body.referral-page-page .btn-copy:hover {
 background: #1f72c4; }
body.referral-page-page .btn-copy.copied {
 background: #10BC69; }
body.referral-page-page .share-buttons {

    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
  }
body.referral-page-page .share-btn {

    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    border-radius: 12px;
    font-weight: 700;
    font-size: .88rem;
    text-decoration: none;
    transition: transform .15s;
  }
body.referral-page-page .share-btn:hover {
 transform: translateY(-1px); }
body.referral-page-page .share-whatsapp {
 background: #25D366; color: #fff; }
body.referral-page-page .share-sms {
 background: #64748b; color: #fff; }
body.referral-page-page .share-email {
 background: #f1f5f9; color: #0D2237; border: 1.5px solid #cbd5e1; }
body.referral-page-page .how-it-works {

    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 4px;
  }
body.referral-page-page .how-step {

    display: flex;
    align-items: flex-start;
    gap: 16px;
  }
body.referral-page-page .how-step-num {

    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #eff6ff;
    color: #3089C5;
    font-weight: 900;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
body.referral-page-page .how-step-text strong {

    display: block;
    font-weight: 800;
    color: #0D2237;
    margin-bottom: 2px;
  }
body.referral-page-page .how-step-text span {

    font-size: .88rem;
    color: #64748b;
  }


/* ─────────── referral_landing.html → body.referral-landing-page ─────────── */
body.referral-landing-page .ref-landing {

    max-width: 600px;
    margin: 0 auto;
    padding: 60px 24px 80px;
    text-align: center;
  }
body.referral-landing-page .ref-invite-badge {

    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    color: #1d4ed8;
    font-weight: 700;
    font-size: .85rem;
    padding: 8px 18px;
    border-radius: 999px;
    margin-bottom: 28px;
  }
body.referral-landing-page .ref-landing h1 {

    font-size: clamp(1.5rem, 4vw, 2.2rem);
    font-weight: 900;
    color: #0D2237;
    margin-bottom: 18px;
    line-height: 1.2;
  }
body.referral-landing-page .ref-landing .subtitle {

    font-size: 1rem;
    color: #475569;
    line-height: 1.7;
    max-width: 500px;
    margin: 0 auto 36px;
  }
body.referral-landing-page .ref-benefits {

    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 36px;
    text-align: left;
  }
body.referral-landing-page .ref-benefit {

    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #f8faff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 18px;
  }
body.referral-landing-page .ref-benefit .icon {

    font-size: 1.4rem;
    flex-shrink: 0;
    margin-top: 2px;
  }
body.referral-landing-page .ref-benefit .text strong {

    display: block;
    font-weight: 800;
    color: #0D2237;
    font-size: .95rem;
    margin-bottom: 3px;
  }
body.referral-landing-page .ref-benefit .text span {

    font-size: .85rem;
    color: #64748b;
    line-height: 1.5;
  }
body.referral-landing-page .ref-promo-box {

    background: linear-gradient(135deg, #F9C13B, #f5a623);
    color: #0D2237;
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 32px;
    font-weight: 800;
    font-size: 1.05rem;
  }
body.referral-landing-page .ref-promo-box .small {

    font-size: .82rem;
    font-weight: 600;
    margin-top: 4px;
    opacity: .75;
  }
body.referral-landing-page .btn-ref-cta {

    display: inline-block;
    padding: 16px 36px;
    background: #0D2237;
    color: #fff;
    font-weight: 900;
    font-size: 1.05rem;
    border-radius: 14px;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
    width: 100%;
    box-sizing: border-box;
  }
body.referral-landing-page .btn-ref-cta:hover {

    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(13,34,55,.25);
    color: #fff;
  }
body.referral-landing-page .ref-trust {

    margin-top: 16px;
    font-size: .8rem;
    color: #94a3b8;
  }


/* ═══════════════════════════════════════════════════════════════
   Anti-overflow défensif pour seo_local_transport
   Correction du bug 2026-07-31 : media queries pas scopées perdaient
   contre les règles base scopées → 4 cols au lieu de 2 sur mobile.
   Le post-process a scopé les media, ces règles renforcent le safety net.
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
  body.seo-local-transport-page .slp-card-wrap {
    padding: 0 12px 60px !important;
  }
  body.seo-local-transport-page .slp-content {
    padding: 24px 16px 32px !important;
    font-size: 0.92rem;
  }
  body.seo-local-transport-page .stats-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 24px;
    padding-bottom: 20px;
  }
  body.seo-local-transport-page .stat-box {
    min-width: 0;
    padding: 12px 8px !important;
  }
  body.seo-local-transport-page .stat-box .n {
    font-size: 1.15rem !important;
  }
  body.seo-local-transport-page .stat-box .l {
    font-size: 0.68rem !important;
    line-height: 1.3;
  }
  body.seo-local-transport-page .benefits-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.seo-local-transport-page .benefit-card {
    padding: 14px 12px !important;
  }
  body.seo-local-transport-page .testimonials-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body.seo-local-transport-page .neighborhoods {
    gap: 6px;
  }
  body.seo-local-transport-page .neighborhoods span {
    font-size: 0.75rem;
    padding: 3px 10px;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.seo-local-transport-page .urgency-block {
    padding: 16px 14px !important;
  }
  body.seo-local-transport-page .urgency-block h3 {
    font-size: 1rem;
    line-height: 1.35;
  }
  body.seo-local-transport-page .urgency-block .btn-primary-hero {
    display: block !important;
    width: 100%;
    text-align: center;
    padding: 12px 14px !important;
    font-size: 0.92rem;
  }
  body.seo-local-transport-page .slp-content h2 {
    font-size: 1.1rem;
  }
}
