
    :root {
      --purple:       #6b3aa8;
      --purple-dark:  #4a2578;
      --purple-mid:   #7c45bc;
      --purple-light: #8c5ec8;
      --purple-xlight:#e8ddf5;
      --orange:       #F7941D;
      --orange-dark:  #e07f10;
      --orange-light: #fef4e8;
      --green:        #1a9e5c;
      --green-light:  #e8f8f0;
      --white:        #ffffff;
      --off-white:    #f0ebfa;
      --gray-light:   #ebe4f5;
      --gray-text:    #666;
      --border:       #cfc5e8;
      --text:         #2d2d2d;
      --radius:       18px;
      --shadow:       0 8px 40px rgba(107,58,168,0.13);
      --shadow-card:  0 4px 24px rgba(107,58,168,0.10);
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { font-family:'Poppins',sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; }

    /* ══ NAV ══ */
    nav {
      background:var(--purple-dark);
      display:flex; align-items:center; justify-content:space-between;
      padding:0 52px; height:66px;
      position:sticky; top:0; z-index:200;
      box-shadow:0 2px 20px rgba(0,0,0,0.22);
    }
    .nav-logo { font-size:1.65rem; font-weight:900; color:var(--white); letter-spacing:2px; text-decoration:none; }
    .nav-logo span { color:var(--orange); }
    .nav-links { display:flex; gap:28px; list-style:none; align-items:center; }
    .nav-links a { color:rgba(255,255,255,0.80); text-decoration:none; font-size:0.84rem; font-weight:500; transition:color .2s; white-space:nowrap; }
    .nav-links a:hover { color:var(--orange); }
    .nav-links a.active { color:var(--orange); font-weight:600; }
    .nav-cta { background:var(--orange)!important; color:var(--white)!important; padding:9px 22px; border-radius:50px; font-weight:700!important; font-size:0.83rem!important; transition:background .2s,transform .2s!important; box-shadow:0 4px 14px rgba(247,148,29,0.35); }
    .nav-cta:hover { background:var(--orange-dark)!important; transform:translateY(-1px); }

    /* ══ BREADCRUMB ══ */
    .breadcrumb { background:var(--gray-light); padding:11px 52px; font-size:0.77rem; color:var(--gray-text); border-bottom:1px solid var(--border); }
    .breadcrumb a { color:var(--purple); text-decoration:none; font-weight:500; }
    .breadcrumb a:hover { text-decoration:underline; }
    .breadcrumb span { margin:0 7px; color:#aaa; }

    /* ══ HERO ══ */
    .hero { position:relative; min-height:560px; display:flex; align-items:center; overflow:hidden; }
    .hero-bg {
      position:absolute; inset:0;
      background-image:url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?w=1400&q=80');
      background-size:cover; background-position:center 35%;
      filter:brightness(0.30);
    }
    .hero-overlay {
      position:absolute; inset:0;
      background:linear-gradient(115deg, rgba(74,37,120,0.94) 0%, rgba(107,58,168,0.80) 55%, rgba(107,58,168,0.42) 100%);
    }
    .hero-content {
      position:relative; z-index:2;
      max-width:1100px; margin:0 auto; padding:80px 52px; width:100%;
      display:grid; grid-template-columns:1fr 300px; gap:64px; align-items:center;
    }
    .hero-badge {
      display:inline-flex; align-items:center; gap:8px;
      background:rgba(247,148,29,0.18); border:1px solid rgba(247,148,29,0.5);
      color:var(--orange); font-size:0.71rem; font-weight:700;
      padding:5px 15px; border-radius:50px; margin-bottom:22px;
      letter-spacing:1px; text-transform:uppercase;
    }
    .hero h1 { font-size:clamp(1.7rem,3.2vw,2.7rem); font-weight:800; color:var(--white); line-height:1.22; margin-bottom:20px; }
    .hero h1 span { color:var(--orange); }
    .hero-sub { color:rgba(255,255,255,0.83); font-size:0.95rem; line-height:1.78; margin-bottom:32px; }
    .hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
    .hero-trust { display:flex; gap:20px; flex-wrap:wrap; margin-top:28px; }
    .hero-trust-item { display:flex; align-items:center; gap:7px; font-size:0.77rem; color:rgba(255,255,255,0.65); }
    .hero-trust-item::before { content:'✓'; color:var(--orange); font-weight:700; }

    /* glass card hero */
    .hero-glass-card {
      background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.18);
      border-radius:20px; padding:28px 24px; backdrop-filter:blur(12px);
    }
    .hgc-title { font-size:0.74rem; font-weight:700; color:var(--orange); text-transform:uppercase; letter-spacing:1.2px; margin-bottom:16px; }
    .hgc-item {
      display:flex; align-items:center; gap:12px;
      padding:9px 0; border-bottom:1px solid rgba(255,255,255,0.1);
      font-size:0.82rem; color:rgba(255,255,255,0.87); font-weight:500;
    }
    .hgc-item:last-of-type { border-bottom:none; }
    .hgc-dot { width:7px; height:7px; background:var(--orange); border-radius:50%; flex-shrink:0; }
    .hgc-footer { margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.12); display:flex; align-items:center; gap:7px; font-size:0.69rem; color:rgba(255,255,255,0.52); font-weight:600; }
    .hgc-footer .q-dot { width:6px; height:6px; background:var(--orange); border-radius:50%; }

    /* ══ BTNS ══ */
    .btn { display:inline-flex; align-items:center; gap:8px; padding:13px 28px; border-radius:50px; font-family:'Poppins',sans-serif; font-weight:600; font-size:0.88rem; text-decoration:none; cursor:pointer; border:none; transition:all .25s; white-space:nowrap; }
    .btn-primary { background:var(--orange); color:var(--white); box-shadow:0 4px 20px rgba(247,148,29,0.38); }
    .btn-primary:hover { background:var(--orange-dark); transform:translateY(-2px); box-shadow:0 8px 28px rgba(247,148,29,0.44); }
    .btn-purple { background:var(--purple); color:var(--white); box-shadow:var(--shadow-card); }
    .btn-purple:hover { background:var(--purple-dark); transform:translateY(-2px); }
    .btn-outline-white { background:transparent; color:var(--white); border:2px solid rgba(255,255,255,0.5); }
    .btn-outline-white:hover { background:rgba(255,255,255,0.1); border-color:var(--white); transform:translateY(-2px); }
    .btn-ghost { background:transparent; color:var(--purple); border:2px solid var(--border); font-size:0.84rem; }
    .btn-ghost:hover { border-color:var(--purple); background:var(--purple-xlight); }
    .btn-sm { padding:9px 20px; font-size:0.8rem; }

    /* ══ HELPERS ══ */
    .container { max-width:1100px; margin:0 auto; }
    section { padding:80px 52px; }
    .section-label { display:inline-block; background:var(--gray-light); color:var(--purple); font-size:0.7rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 13px; border-radius:50px; margin-bottom:13px; }
    h2 { font-size:clamp(1.3rem,2.4vw,1.9rem); font-weight:800; color:var(--purple-dark); line-height:1.28; margin-bottom:14px; }
    h2 span { color:var(--orange); }
    .lead { font-size:0.93rem; color:var(--gray-text); line-height:1.76; }
    .section-header { margin-bottom:48px; }
    .section-header.centered { text-align:center; }
    .section-header.centered .lead { margin:0 auto; max-width:680px; }

    /* ══ INTRO SPLIT ══ */
    .intro-split {
      background:var(--off-white);
      display:grid; grid-template-columns:1fr 1fr;
      min-height:440px;
    }
    .intro-split-img { position:relative; overflow:hidden; }
    .intro-split-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
    .intro-split:hover .intro-split-img img { transform:scale(1.04); }
    .intro-split-img-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(74,37,120,0.3) 0%,transparent 60%); }
    .intro-split-content { padding:60px 52px; display:flex; flex-direction:column; justify-content:center; }
    .intro-split-content p { font-size:0.9rem; color:var(--gray-text); line-height:1.76; margin-bottom:20px; }
    .intro-split-content strong { color:var(--purple-dark); }

    /* ══ OPCO CARDS ══ */
    .opco-section { background:var(--white); }
    .opco-intro { font-size:0.93rem; color:var(--gray-text); line-height:1.76; max-width:780px; margin:0 auto 48px; text-align:center; }
    .opco-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:40px; }
    .opco-card {
      background:var(--white); border:1.5px solid var(--border);
      border-radius:var(--radius); padding:36px 28px;
      box-shadow:var(--shadow-card);
      transition:transform .28s,box-shadow .28s,border-color .28s;
      position:relative; overflow:hidden;
    }
    .opco-card::before {
      content:''; position:absolute; top:0; left:0; right:0; height:4px;
      background:linear-gradient(90deg,var(--purple),var(--orange));
      transform:scaleX(0); transform-origin:left; transition:transform .3s;
    }
    .opco-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(107,58,168,0.16); border-color:var(--purple-light); }
    .opco-card:hover::before { transform:scaleX(1); }
    .opco-logo-block {
      width:56px; height:56px; border-radius:14px;
      display:flex; align-items:center; justify-content:center;
      font-size:1.6rem; margin-bottom:18px;
    }
    .opco-logo-block.health { background:linear-gradient(135deg,#e8f4fd,#c8e8f8); }
    .opco-logo-block.unif   { background:linear-gradient(135deg,#e8f8f0,#c8f0dc); }
    .opco-logo-block.ep     { background:linear-gradient(135deg,var(--purple-xlight),var(--gray-light)); }
    .opco-card h3 { font-size:1.1rem; font-weight:800; color:var(--purple-dark); margin-bottom:6px; }
    .opco-card .opco-public { font-size:0.78rem; font-weight:600; color:var(--orange); margin-bottom:12px; font-style:italic; }
    .opco-card p { font-size:0.85rem; color:var(--gray-text); line-height:1.68; margin-bottom:16px; }
    .opco-covers { display:flex; flex-wrap:wrap; gap:6px; }
    .opco-cover-tag { background:var(--gray-light); color:var(--purple-mid); font-size:0.7rem; font-weight:600; padding:3px 10px; border-radius:20px; }
    .opco-cta-row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:8px; }

    /* ══ AIDES PUBLIQUES ══ */
    .aides-section {
      display:grid; grid-template-columns:1fr 1fr;
      min-height:460px;
    }
    .aides-content { padding:64px 52px; display:flex; flex-direction:column; justify-content:center; background:var(--off-white); }
    .aides-content p { font-size:0.9rem; color:var(--gray-text); line-height:1.76; margin-bottom:24px; }
    .aides-list { display:flex; flex-direction:column; gap:14px; margin-bottom:28px; }
    .aide-item {
      display:flex; align-items:flex-start; gap:16px;
      padding:18px 20px; background:var(--white);
      border-radius:14px; border-left:4px solid var(--orange);
      box-shadow:0 2px 12px rgba(107,58,168,0.07);
      transition:transform .2s,box-shadow .2s;
    }
    .aide-item:hover { transform:translateY(-2px); box-shadow:var(--shadow-card); }
    .aide-icon { font-size:1.4rem; flex-shrink:0; margin-top:1px; }
    .aide-text strong { display:block; font-size:0.88rem; font-weight:700; color:var(--purple-dark); margin-bottom:3px; }
    .aide-text span { font-size:0.8rem; color:var(--gray-text); line-height:1.55; }
    .aides-img { position:relative; overflow:hidden; }
    .aides-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
    .aides-section:hover .aides-img img { transform:scale(1.03); }
    .aides-img-overlay { position:absolute; inset:0; background:linear-gradient(135deg,transparent 40%,rgba(74,37,120,0.4) 100%); }

    /* ══ NIVEAUX / TARIFS ══ */
    .niveaux-section { background:var(--white); }
    .niveaux-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
    .niveaux-text p { font-size:0.9rem; color:var(--gray-text); line-height:1.76; margin-bottom:20px; }
    .niveaux-points { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
    .niv-point { display:flex; align-items:center; gap:12px; padding:14px 18px; background:var(--gray-light); border-radius:12px; font-size:0.84rem; color:var(--text); font-weight:500; }
    .niv-point::before { content:''; width:8px; height:8px; background:var(--orange); border-radius:50%; flex-shrink:0; }

    .tarif-card {
      background:linear-gradient(135deg,var(--purple-dark),var(--purple));
      border-radius:var(--radius); padding:40px 36px; color:var(--white); text-align:center;
      box-shadow:var(--shadow);
    }
    .tarif-card .tarif-label { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:rgba(255,255,255,0.65); margin-bottom:12px; }
    .tarif-card .tarif-prix { font-size:3rem; font-weight:900; color:var(--orange); line-height:1; margin-bottom:4px; }
    .tarif-card .tarif-sous { font-size:0.82rem; color:rgba(255,255,255,0.65); margin-bottom:24px; }
    .tarif-card .tarif-info { font-size:0.85rem; color:rgba(255,255,255,0.82); line-height:1.65; margin-bottom:24px; }
    .tarif-card .tarif-tags { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:24px; }
    .tarif-tag { background:rgba(255,255,255,0.12); color:rgba(255,255,255,0.85); font-size:0.72rem; font-weight:600; padding:4px 12px; border-radius:20px; border:1px solid rgba(255,255,255,0.2); }

    /* ══ ETAPES ══ */
    .etapes-section { background:var(--gray-light); }
    .steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
    .step-card {
      background:var(--white); border-radius:var(--radius);
      padding:32px 24px; box-shadow:var(--shadow-card);
      position:relative; overflow:hidden;
      transition:transform .25s,box-shadow .25s;
    }
    .step-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
    .step-num-big {
      position:absolute; top:-8px; right:16px;
      font-size:5rem; font-weight:900; color:var(--purple-xlight);
      line-height:1; user-select:none; pointer-events:none;
    }
    .step-icon { font-size:1.8rem; margin-bottom:14px; position:relative; z-index:1; }
    .step-card h4 { font-size:0.92rem; font-weight:700; color:var(--purple-dark); margin-bottom:8px; position:relative; z-index:1; }
    .step-card p { font-size:0.82rem; color:var(--gray-text); line-height:1.6; position:relative; z-index:1; }
    .step-connector {
      display:flex; align-items:center; justify-content:center;
      color:var(--orange); font-size:1.4rem; padding-top:32px;
      display:none;
    }
    .steps-timeline {
      display:flex; align-items:flex-start; gap:0; position:relative;
      margin-bottom:12px;
    }
    .steps-timeline::before {
      content:''; position:absolute; top:28px; left:calc(100%/12);
      right:calc(100%/12); height:2px;
      background:linear-gradient(90deg,var(--purple-xlight),var(--orange),var(--purple-xlight));
      z-index:0;
    }

    /* ══ ACCESSIBILITE ══ */
    .access-band {
      background:linear-gradient(90deg,var(--purple-xlight),var(--orange-light));
      padding:40px 52px;
    }
    .access-inner {
      max-width:1100px; margin:0 auto;
      display:grid; grid-template-columns:auto 1fr auto; gap:32px; align-items:center;
      background:var(--white); border-radius:var(--radius); padding:36px 40px;
      box-shadow:var(--shadow-card); border:1px solid var(--border);
    }
    .access-icon-circle {
      width:80px; height:80px; background:linear-gradient(135deg,var(--purple-xlight),var(--gray-light));
      border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:2.2rem; flex-shrink:0;
    }
    .access-text h2 { font-size:1.2rem; margin-bottom:8px; }
    .access-text p { font-size:0.87rem; color:var(--gray-text); line-height:1.72; }
    .access-cta-col { display:flex; flex-direction:column; gap:10px; flex-shrink:0; }

    /* ══ FAQ ══ */
    .faq-section { background:var(--white); }
    .faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
    .faq-img { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:3/4; position:sticky; top:90px; }
    .faq-img img { width:100%; height:100%; object-fit:cover; }
    .faq-list { display:flex; flex-direction:column; gap:12px; }
    .faq-item {
      background:var(--white); border:1.5px solid var(--border);
      border-radius:14px; overflow:hidden;
      transition:border-color .2s,box-shadow .2s;
    }
    .faq-item.open { border-color:var(--purple-light); box-shadow:var(--shadow-card); }
    .faq-question {
      display:flex; align-items:center; justify-content:space-between; gap:16px;
      padding:18px 22px; cursor:pointer;
      font-size:0.9rem; font-weight:600; color:var(--purple-dark);
      transition:background .2s;
    }
    .faq-question:hover { background:var(--gray-light); }
    .faq-item.open .faq-question { background:var(--purple-xlight); }
    .faq-chevron {
      width:28px; height:28px; border-radius:50%; background:var(--gray-light);
      display:flex; align-items:center; justify-content:center;
      font-size:0.75rem; color:var(--purple); flex-shrink:0;
      transition:transform .3s, background .2s;
    }
    .faq-item.open .faq-chevron { transform:rotate(180deg); background:var(--purple); color:var(--white); }
    .faq-answer {
      max-height:0; overflow:hidden;
      transition:max-height .4s ease, padding .3s;
      padding:0 22px;
    }
    .faq-answer-inner { padding:4px 0 20px; font-size:0.85rem; color:var(--gray-text); line-height:1.72; }
    .faq-item.open .faq-answer { max-height:300px; padding:0 22px; }

    /* ══ CONCLUSION CTA ══ */
    .conclusion-section {
      background:linear-gradient(135deg,var(--purple-dark) 0%,var(--purple) 55%,#7a48b8 100%);
      text-align:center; position:relative; overflow:hidden; padding:80px 52px;
    }
    .conclusion-section::before {
      content:''; position:absolute; top:-80px; right:-80px;
      width:420px; height:420px;
      background:radial-gradient(circle,rgba(247,148,29,0.15) 0%,transparent 65%); border-radius:50%;
    }
    .conclusion-inner { position:relative; z-index:1; max-width:760px; margin:0 auto; }
    .conclusion-section h2 { color:var(--white); font-size:clamp(1.4rem,2.8vw,2rem); margin-bottom:14px; }
    .conclusion-section p { color:rgba(255,255,255,0.78); font-size:0.92rem; line-height:1.72; margin-bottom:36px; }
    .conclusion-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:28px; }
    .conclusion-reassurance { font-size:0.75rem; color:rgba(255,255,255,0.5); display:flex; gap:24px; justify-content:center; flex-wrap:wrap; }
    .conclusion-reassurance span::before { content:'<svg width="18" height="18" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" style="display:inline-block;vertical-align:middle;flex-shrink:0;"><polyline points="20 6 9 17 4 12" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg> '; color:var(--orange); font-weight:700; }

    /* ══ FOOTER ══ */
    footer { background:var(--purple-dark); color:rgba(255,255,255,0.68); padding:48px 52px 24px; }
    .footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:36px; margin-bottom:32px; }
    .footer-brand .logo { font-size:1.45rem; font-weight:900; color:var(--white); letter-spacing:2px; margin-bottom:12px; display:block; text-decoration:none; }
    .footer-brand .logo span { color:var(--orange); }
    .footer-brand p { font-size:0.79rem; line-height:1.65; margin-bottom:14px; }
    .footer-legal-txt { font-size:0.7rem; color:rgba(255,255,255,0.42); line-height:1.6; border-top:1px solid rgba(255,255,255,0.09); padding-top:10px; margin-top:6px; }
    footer h4 { color:var(--white); font-size:0.81rem; font-weight:700; margin-bottom:14px; text-transform:uppercase; letter-spacing:0.9px; }
    footer ul { list-style:none; }
    footer ul li { margin-bottom:8px; }
    footer ul li a { color:rgba(255,255,255,0.60); text-decoration:none; font-size:0.79rem; transition:color .2s; }
    footer ul li a:hover { color:var(--orange); }
    .footer-bottom { border-top:1px solid rgba(255,255,255,0.09); padding-top:20px; max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; font-size:0.72rem; flex-wrap:wrap; gap:10px; }
    .q-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(247,148,29,0.14); border:1px solid rgba(247,148,29,0.32); color:var(--orange); font-size:0.69rem; font-weight:700; padding:5px 12px; border-radius:30px; }

    /* ══ ANIMATIONS ══ */
    @keyframes fadeUp { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:translateY(0)} }
    .anim{opacity:0;animation:fadeUp .62s ease forwards;}
    .d1{animation-delay:.1s}.d2{animation-delay:.22s}.d3{animation-delay:.34s}.d4{animation-delay:.46s}.d5{animation-delay:.58s}
    .reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;}
    .reveal.visible{opacity:1;transform:translateY(0);}

    /* ══ RESPONSIVE ══ */
    @media(max-width:960px){
      nav{padding:0 24px}.nav-links{display:none}
      .breadcrumb{padding:10px 24px}
      section{padding:56px 24px}
      .hero-content{grid-template-columns:1fr;padding:60px 24px}.hero-glass-card{display:none}
      .intro-split,.aides-section{grid-template-columns:1fr}
      .intro-split-img,.aides-img{height:280px}
      .opco-grid{grid-template-columns:1fr}
      .niveaux-grid,.faq-grid{grid-template-columns:1fr}
      .faq-img{aspect-ratio:16/9;position:static}
      .steps-grid{grid-template-columns:1fr 1fr}
      .access-inner{grid-template-columns:1fr;text-align:center}
      .access-icon-circle{margin:0 auto}
      .access-cta-col{flex-direction:row;flex-wrap:wrap;justify-content:center}
      footer{padding:40px 24px 20px}
      .footer-inner{grid-template-columns:1fr 1fr}
    }
    @media(max-width:560px){
      .steps-grid{grid-template-columns:1fr}
      .footer-inner{grid-template-columns:1fr}
      .aides-section{grid-template-columns:1fr}
    }
  
@media(max-width:480px){
  .aides-section,.financement-grid,.opco-grid{grid-template-columns:1fr!important;}
  .aide-card{flex-direction:column!important;}
  .conclusion-reassurance{flex-direction:column!important;}
}