:root{--ink:#253c3b;--green:#1d6b60;--light:#f5f8f5;--sand:#fffaf2;--border:#dce8e2;--accent:#e5a14b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:white}a{color:var(--green)}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px max(6%,calc((100vw - 1150px)/2));border-bottom:1px solid var(--border);background:#fff}.logo{text-decoration:none;font-size:25px;letter-spacing:2px;font-weight:800;color:var(--ink)}.logo span{color:var(--accent)}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--ink);font-size:14px;font-weight:600}nav a:hover,.card a:hover{text-decoration:underline}.hero{padding:105px 7% 110px;text-align:center;background:radial-gradient(circle at 80% 10%,#dcefe6,transparent 35%),linear-gradient(140deg,#fffaf3,#f0f8f4)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800;color:var(--green)}h1{font-size:clamp(42px,6vw,78px);max-width:900px;line-height:1.09;letter-spacing:-2.5px;margin:20px auto}h1 em{color:var(--green);font-style:normal}h2{font-size:clamp(28px,3.3vw,44px);line-height:1.2;letter-spacing:-1px;max-width:800px;margin:16px 0 24px}.hero p{font-size:20px;max-width:680px;margin:0 auto 28px}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;background:var(--green);color:white;text-decoration:none;padding:13px 22px;border-radius:28px;font-weight:bold}.btn.secondary{background:white;color:var(--green);border:1px solid var(--border)}.hero-note{margin-top:30px;font-size:14px;color:#55746b}.section{padding:85px max(7%,calc((100vw - 1100px)/2))}.alt{background:var(--light)}.intro{max-width:800px;font-size:18px;color:#536760}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.card{background:#fff;padding:28px;border:1px solid var(--border);border-radius:18px;box-shadow:0 5px 20px #163c2d08}.card h3{margin:10px 0;font-size:22px}.card p{color:#566963;margin:0 0 15px}.emoji{font-size:31px}.note{margin-top:28px;background:var(--sand);padding:22px;border-left:4px solid var(--accent);border-radius:9px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps p{background:var(--light);padding:22px;border-radius:12px}.contact{text-align:center;background:#eaf4ee}.contact h2{margin:18px auto}.contact p{max-width:660px;margin:15px auto}.muted{color:#637870}footer{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;padding:28px;background:#1c3934;color:white}footer small{opacity:.75}@media(max-width:720px){.top{padding:17px 5%;display:block;text-align:center}nav{justify-content:center;gap:12px;margin-top:12px}.hero{padding:75px 6%}.section{padding:60px 6%}.cards,.steps{grid-template-columns:1fr}h1{letter-spacing:-1px}}
/* Accents chaleureux INVIVIA : discrets, accessibles et cohérents */
.card{transition:border-color .2s ease,transform .2s ease}.card:hover{border-color:#e5a14b;transform:translateY(-2px)}.card .emoji{display:inline-block;background:#fff4e4;border-radius:14px;padding:5px 11px}.steps p{border-top:3px solid var(--accent)}.btn:hover{background:#16584e}.btn.secondary:hover{background:#fff4e4;color:var(--green)}a:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Identité InVivIA — palette du logo */
:root{--green:#1d6b60;--green-light:#70bc91;--yellow:#f4c542;--orange:#f28c28;--accent:#f28c28;--ink:#253c3b;--light:#f2f8f2;--sand:#fff9e9}
.logo{letter-spacing:-1px;color:var(--green);font-size:27px}.logo .brand-ia{color:var(--orange)}.logo .brand-viv{color:var(--green)}
.hero{background:radial-gradient(circle at 14% 25%,#f4c54245,transparent 31%),radial-gradient(circle at 84% 14%,#70bc9160,transparent 34%),linear-gradient(145deg,#fffdf6,#f0f8f1)}
.hero .eyebrow{color:#145a50}.hero h1 em{color:var(--orange)}
.btn{background:var(--green)}.btn.secondary{border-color:var(--yellow);background:#fff9e9}.btn:hover{background:#14574e}
#solutions .card{border-top:6px solid var(--green-light)}#solutions .card:nth-child(2){border-top-color:var(--yellow)}#solutions .card:nth-child(3){border-top-color:var(--orange)}
#solutions .card:nth-child(1) .emoji{background:#e1f3e8}#solutions .card:nth-child(2) .emoji{background:#fff2bb}#solutions .card:nth-child(3) .emoji{background:#ffedda}
.card:hover{border-color:var(--orange)}.steps p:nth-child(1){border-top-color:var(--green-light)}.steps p:nth-child(2){border-top-color:var(--yellow)}.steps p:nth-child(3){border-top-color:var(--orange)}
.contact{background:linear-gradient(110deg,#e9f5eb,#fff6dc)}.note{border-left-color:var(--yellow)}.hero-note{color:#456d61}
footer strong .brand-ia{color:var(--yellow)}

:root{--blue:#0864b4;--yellow:#ffc52a;--orange:#f28c28;--green-light:#65bb85}
.brand-in{color:#0864b4}.brand-viv{color:#1d6b60}.brand-ia{color:#f28c28}.logo{display:inline-flex;align-items:center;letter-spacing:-.8px;white-space:nowrap}.logo .brand-icon{width:65px;height:44px;object-fit:contain;margin-right:6px}
.hero{padding-top:65px;background:radial-gradient(circle at 12% 30%,#d7eaff,transparent 31%),radial-gradient(circle at 87% 20%,#fff1b7,transparent 31%),linear-gradient(140deg,#fff,#f0f9f3)}
.hero-brand img{width:min(340px,70vw);height:145px;object-fit:contain;display:block;margin:0 auto -14px}.hero-wordmark{font-size:clamp(46px,7vw,78px);font-weight:800;line-height:1.1;letter-spacing:-3px}.hero h1{font-size:clamp(32px,4vw,53px);margin-top:14px;letter-spacing:-1.5px}.hero h1 em{color:#ed7c21}
.btn{background:#0864b4}.btn:hover{background:#074b86}.btn.secondary{color:#0864b4;border:2px solid #0864b4;background:white}.btn.secondary:hover{background:#eaf3ff}
.solutions-color .card:nth-child(1){background:#eef6ff;border-top:6px solid #0864b4}.solutions-color .card:nth-child(2){background:#f0f9ef;border-top:6px solid #65bb85}.solutions-color .card:nth-child(3){background:#fff8e8;border-top:6px solid #f28c28}
.solutions-color .card:nth-child(1) h3{color:#0758a1}.solutions-color .card:nth-child(2) h3{color:#176c54}.solutions-color .card:nth-child(3) h3{color:#a84d09}
.steps p:nth-child(1){border-top-color:#0864b4}.steps p:nth-child(2){border-top-color:#65bb85}.steps p:nth-child(3){border-top-color:#f28c28}
@media(max-width:720px){.logo .brand-icon{width:52px;height:35px}.hero-brand img{height:125px}.hero{padding-top:52px}}

/* Logo complet validé : lisible en en-tête et sur la page d'accueil */
.logo .brand-logo{width:118px;height:72px;object-fit:contain;display:block}.hero-brand .hero-full-logo{width:min(530px,85vw);height:auto;max-height:370px;object-fit:contain;margin:0 auto}.hero{padding-top:42px}.hero h1{margin-top:6px}@media(max-width:720px){.logo .brand-logo{width:104px;height:64px}.hero-brand .hero-full-logo{width:min(410px,90vw);height:auto}}

/* Fond du logo fondu dans le dégradé de la page, sans toucher au dessin validé */
.hero-brand{isolation:isolate}
.hero-brand .hero-full-logo{mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 9%,#000 91%,transparent 100%)}

/* Charte INVIVIA : bleu formation, vert solutions, orange créations. */
:root{--invivia-formation:#1466b8;--invivia-solutions:#26845c;--invivia-creations:#e98927}
/* Les trois cartes de présentation suivent leur activité. */
#solutions .card:nth-child(1){border-top-color:var(--invivia-formation)}
#solutions .card:nth-child(2){border-top-color:var(--invivia-solutions)}
#solutions .card:nth-child(3){border-top-color:var(--invivia-creations)}
#solutions .card:nth-child(1) h3,#solutions .card:nth-child(1) a{color:var(--invivia-formation)}
#solutions .card:nth-child(2) h3,#solutions .card:nth-child(2) a{color:var(--invivia-solutions)}
#solutions .card:nth-child(3) h3,#solutions .card:nth-child(3) a{color:#b65c0b}
/* Formation : parcours, espaces et appels à l'action en bleu. */
#formations .eyebrow,#formations .cards .card h3,#formations .cards .card a,#formations .note a{color:var(--invivia-formation)}
#formations .cards .card{border-top:5px solid var(--invivia-formation)}
#formations .cards .card .emoji{background:#e8f2ff}
#formations .note{border-left-color:var(--invivia-formation);background:#f0f6ff}
/* Solutions sur mesure : repères verts. */
#commercants .cards .card{border-top:5px solid var(--invivia-solutions)}
#commercants .cards .card .emoji{background:#e7f5ed}
#commercants .cards .card a{color:var(--invivia-solutions)}
/* Tarifs formation : continuité visuelle bleue. */
#tarifs .eyebrow,#tarifs a{color:var(--invivia-formation)}
#tarifs .card{border-top:4px solid var(--invivia-formation)}
/* Conserver les titres principaux et l'identité générale en vert foncé. */

/* Fond vert très pâle pour la rubrique Solutions numériques. */
#commercants{background:#f0f9f3}

/* Un secteur, une couleur : continuité entre formation et sa tarification. */
#formations,#tarifs.tarifs-formation{background:#f0f6ff}
#tarifs.tarifs-formation .btn{background:#1466b8;color:#fff}
#tarifs.tarifs-formation .btn:hover{background:#0b4d8d}

/* Univers vert continu : solutions, méthode et exemples. */
#commercants{background:#f0f9f3}
.solutions-approche{background:#f5fbf6}
.solutions-realisations{background:#edf7ef}
.solutions-approche .eyebrow,.solutions-realisations .eyebrow{color:#26845c}
.solutions-approche .steps p{border-top-color:#26845c}
.solutions-realisations .card{border-top:4px solid #26845c}
.solutions-realisations .card a{color:#26845c}
/* Univers orange : créations et tarification réunies. */
.creations-section{background:#fff3e8}
.creations-section .eyebrow,.creations-section .card h3{color:#ad540e}
.creations-section .card{border-top:5px solid #e98927}
.creations-section .card .emoji{background:#fff0e3}
.creations-tarifs{margin-top:28px;padding:25px 28px;border-left:5px solid #e98927;background:#fffaf5;border-radius:12px}
.creations-tarifs h3{margin:0 0 8px;color:#ad540e}
.creations-tarifs p{max-width:750px}
.creations-tarifs .btn{background:#bc6015;color:#fff}
.creations-tarifs .btn:hover{background:#91450d}

/* Suppression de toute bande blanche entre les rubriques Solutions numériques. */
section.solutions-approche{background:#f0f9f3 !important}
section.solutions-realisations{background:#f0f9f3 !important}

/* Les encadrés tarifaires sont blancs comme les autres cartes. */
#tarifs.tarifs-formation .note{background:#fff;border:1px solid #d9e5f3;border-left:5px solid #1466b8;box-shadow:0 5px 20px #163c2d08}
.creations-tarifs{background:#fff;border:1px solid #f3d8c2;border-left:5px solid #e98927;box-shadow:0 5px 20px #163c2d08}

/* Finition des cartes : fond blanc uniforme, accents propres à chaque secteur. */
#tarifs.tarifs-formation .note,
#tarifs.tarifs-formation .note p,
#tarifs.tarifs-formation .note div{background-color:#fff !important}
#tarifs.tarifs-formation .note{border:1px solid #d9e5f3 !important;border-left:5px solid #1466b8 !important;border-radius:14px;box-shadow:0 5px 20px #163c2d08}
.solutions-approche .steps p{background:#fff !important;border:1px solid #d7e9dd;border-top:4px solid #26845c !important;border-radius:12px;box-shadow:0 5px 20px #163c2d08}

/* Tarification par partie : blocs blancs indépendants sur fond bleu. */
.tarifs-parcours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}
.tarif-bloc{min-width:0;background:#fff;border:1px solid #d9e5f3;border-top:5px solid #1466b8;border-radius:16px;padding:24px;box-shadow:0 5px 20px #163c2d08}
.tarif-bloc h3{margin:0 0 8px;color:#1466b8;font-size:22px}
.tarif-bloc p{margin:8px 0 16px}
.tarif-bloc table{font-size:14px}
.tarif-bloc th,.tarif-bloc td{vertical-align:top}
.tarif-suivi{border-top-color:#1466b8}
.tarifs-precision{max-width:920px}
@media(max-width:900px){.tarifs-parcours{grid-template-columns:1fr}}

/* Deux formations de même largeur, accompagnement distinct et plus large. */
@media(min-width:901px){#formations .parcours-formations{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.38fr);align-items:stretch}#formations .parcours-formations>.card{min-width:0}#formations .parcours-formations>.parcours-accompagnement h3{font-size:clamp(20px,1.6vw,26px);letter-spacing:-.4px}#formations .parcours-formations>.parcours-accompagnement{border-color:#e98927;border-top-color:#1466b8}}
@media(min-width:901px) and (max-width:1190px){#formations .parcours-formations{grid-template-columns:repeat(2,minmax(0,1fr))}#formations .parcours-formations>.parcours-accompagnement{grid-column:1/-1}}

/* Livrets : retraits réguliers, sans coupure disgracieuse du numéro. */
#formations .parcours-formations>.card ul{list-style:none;padding-left:0!important;margin-top:18px}
#formations .parcours-formations>.card li{position:relative;padding-left:19px;margin:0 0 9px;line-height:1.65;overflow-wrap:normal;word-break:normal}
#formations .parcours-formations>.card li::before{content:"•";position:absolute;left:0;top:0}
#formations .parcours-formations>.card li strong{white-space:nowrap}
@media(min-width:1200px){#formations .parcours-formations{grid-template-columns:minmax(0,1.12fr) minmax(0,1.12fr) minmax(0,1.28fr)}#formations .parcours-formations>.card{padding-left:24px;padding-right:24px}#formations .parcours-formations>.card li{font-size:clamp(14px,1.1vw,16px)}}

/* Parcours 3 : titre sur exactement deux lignes sur grand écran. */
@media(min-width:1200px){#formations .parcours-formations>.parcours-accompagnement h3{font-size:clamp(19px,1.35vw,23px);letter-spacing:-.55px;white-space:nowrap}}
@media(max-width:1199px){#formations .parcours-formations>.parcours-accompagnement h3{white-space:normal}}

/* Alignement des trois parcours : mêmes titres sur deux lignes et même départ des descriptifs. */
#formations .parcours-formations>.card h3{font-size:clamp(19px,1.35vw,23px)!important;line-height:1.45!important;min-height:2.9em!important;letter-spacing:0!important;white-space:normal!important;margin-bottom:12px!important}
#formations .parcours-formations>.parcours-accompagnement h3{font-size:clamp(18px,1.22vw,21px)!important;letter-spacing:-.35px!important}
@media(min-width:1200px){#formations .parcours-formations>.parcours-accompagnement h3{white-space:nowrap!important}}
@media(max-width:700px){#formations .parcours-formations>.card h3{min-height:0!important}}

/* Formations en deux colonnes ; assistance autonome à la suite, même univers bleu. */
@media(min-width:901px){#formations .parcours-formations{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.section-assistance{background:#f0f6ff}
.section-assistance .assistance-cards{display:block;max-width:100%}
.section-assistance .assistance-card{background:#fff;border:1px solid #d7e4f5;border-top:5px solid #1466b8;border-radius:18px;padding:28px;max-width:none}
.section-assistance .assistance-card h3{font-size:24px;color:#1466b8;min-height:0}
.section-assistance .assistance-tarifs{display:block;max-width:100%;margin-top:20px}
.section-assistance .assistance-tarifs>.tarif-bloc{max-width:none}

/* Trois offres tarifaires sur une ligne : Internet, IA, parcours complet. */
@media(min-width:1100px){#tarifs .tarifs-parcours{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}#tarifs .tarif-bloc{padding:18px 15px}#tarifs .tarif-bloc h3{font-size:19px}#tarifs .tarif-bloc table{font-size:12px}#tarifs .tarif-bloc th,#tarifs .tarif-bloc td{padding:7px 4px!important}}
@media(min-width:901px) and (max-width:1099px){#tarifs .tarifs-parcours{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Assistance : offre indépendante, bleu ardoise et une seule carte. */
.section-assistance{background:#edf3fa!important}
.section-assistance .eyebrow{color:#4b78a0!important}
.section-assistance .assistance-unique{background:#fff;border:1px solid #cddbe9;border-top:5px solid #4b78a0;border-radius:18px;padding:30px;max-width:100%;box-shadow:0 6px 22px #183b5a0b}
.section-assistance .assistance-unique h3{color:#4b78a0;font-size:clamp(21px,2vw,27px);margin:14px 0}
.section-assistance .assistance-unique .emoji{font-size:32px}
.section-assistance .assistance-unique p{max-width:900px;line-height:1.7}
.section-assistance .assistance-unique .btn{margin-top:8px}
@media(max-width:700px){.section-assistance .assistance-unique{padding:20px}}

/* Accompagnement transversal placé sous les trois savoir-faire : bleu de marque. */
#assistance.section-assistance{background:#f2f7f5!important;padding-top:0!important}
#assistance .assistance-unique{border-top-color:#1466b8!important;border-color:#d8e5f3!important;border-top-width:5px!important}
#assistance .assistance-unique h3,#assistance .eyebrow{color:#1466b8!important}
#assistance .assistance-unique .btn{background:#1466b8!important;color:#fff!important}

/* Accolade reliant les trois secteurs à l'assistance transversale. */
#solutions.solutions-color{padding-bottom:0!important}
#solutions .invivia-accolade{position:relative;height:50px;margin:10px 8% 0;border-bottom:3px solid #1466b8;border-left:3px solid #1466b8;border-right:3px solid #1466b8;border-radius:0 0 22px 22px}
#solutions .invivia-accolade::after{content:"";position:absolute;left:50%;bottom:-30px;height:28px;border-left:3px solid #1466b8;transform:translateX(-50%)}
#assistance.section-assistance{padding-top:38px!important}
#assistance .assistance-unique{max-width:100%;padding:26px 32px!important}
#assistance .assistance-heading{display:flex;align-items:center;gap:15px;margin-bottom:10px}
#assistance .assistance-heading .emoji{font-size:30px;flex:none}
#assistance .assistance-heading h3{margin:0!important;font-size:clamp(21px,2vw,27px)!important}
#assistance .assistance-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px}
#assistance .assistance-footer .btn{margin:0!important}
@media(max-width:700px){#solutions .invivia-accolade{margin-left:12%;margin-right:12%;height:28px}#assistance .assistance-unique{padding:20px!important}}

/* Accueil : assistance horaire au-dessus des trois savoir-faire. */
#solutions .assistance-en-tete{padding:22px 0 0!important;background:transparent!important}
#solutions .assistance-en-tete .assistance-unique{background:#e9f1fa!important;border:1px solid #cbddef!important;border-top:5px solid #1466b8!important;text-align:center;box-shadow:none;max-width:none}
#solutions .assistance-en-tete .assistance-heading{justify-content:center}
#solutions .assistance-en-tete .assistance-unique p{margin-left:auto;margin-right:auto}
#solutions .assistance-en-tete .assistance-footer{justify-content:center;text-align:center}
#solutions .invivia-jonction{text-align:center;color:#1466b8;font-size:31px;font-weight:700;padding:10px 0 15px}
#solutions.solutions-color{padding-bottom:55px!important}

/* Accueil : titres des trois savoir-faire et de l'assistance sur une ligne sur ordinateur. */
@media(min-width:1100px){#solutions>.cards>.card h3{white-space:nowrap!important;font-size:clamp(17px,1.45vw,23px)!important;letter-spacing:-.35px}#solutions .assistance-en-tete .assistance-heading h3{white-space:nowrap!important;font-size:clamp(20px,2vw,27px)!important}#solutions>h2{white-space:nowrap}}
@media(max-width:1099px){#solutions>.cards>.card h3,#solutions .assistance-en-tete .assistance-heading h3,#solutions>h2{white-space:normal!important}}

/* Tarifs : les trois intitulés de parcours sur une ligne sur ordinateur. */
@media(min-width:1100px){#tarifs .tarifs-parcours>.tarif-bloc h3{font-size:clamp(15px,1.2vw,18px)!important;letter-spacing:-.35px!important;white-space:nowrap!important;line-height:1.4!important}}
@media(max-width:1099px){#tarifs .tarifs-parcours>.tarif-bloc h3{white-space:normal!important}}

/* Cohérence des titres des cartes sur écran large, sans débordement sur mobile. */
@media(min-width:1200px){
#commercants .cards>.card h3,#realisations .cards>.card h3,#creations .cards>.card h3,.solutions-approche .cards>.card h3{font-size:clamp(16px,1.25vw,19px)!important;letter-spacing:-.35px;white-space:nowrap;line-height:1.4}
#tarifs .tarifs-parcours>.tarif-bloc h3{font-size:clamp(15px,1.15vw,17px)!important;letter-spacing:-.45px!important}
}
@media(max-width:1199px){#commercants .cards>.card h3,#realisations .cards>.card h3,#creations .cards>.card h3,.solutions-approche .cards>.card h3{white-space:normal!important}}

/* Rapprocher la démarche et les exemples dans le même univers vert. */
.solutions-approche{padding-bottom:28px!important}
#realisations.solutions-realisations{padding-top:34px!important}
@media(max-width:720px){.solutions-approche{padding-bottom:20px!important}#realisations.solutions-realisations{padding-top:26px!important}}

/* Six grandes parties : identité, présentation, trois activités et contact. */
main>#solutions,main>#formations,main>#commercants,main>#creations,main>#contact{border-top:8px solid var(--section-accent,#dce8e2);padding-top:90px;scroll-margin-top:24px}
main>#solutions{--section-accent:#cedbd6;background:#fffdf8;padding-bottom:85px!important}
main>#formations{--section-accent:#1466b8}
main>#commercants{--section-accent:#26845c}
main>#creations{--section-accent:#e98927}
main>#contact{--section-accent:#e98927}
#solutions>.eyebrow,#formations>.eyebrow,#commercants>.eyebrow,#creations>.eyebrow,#contact>.eyebrow{display:inline-block;font-size:clamp(17px,1.7vw,22px);letter-spacing:1.2px;margin-bottom:12px}
#formations>h2,#tarifs>h2{color:#125b9f}
#commercants>h2{color:#206c4d}
#creations>h2{color:#a54e0d}
main>#tarifs{padding-top:40px;padding-bottom:95px}
main>#realisations{padding-bottom:95px}
main>#creations{padding-bottom:95px}
main>#contact{background:#253c3b;color:#fff;padding-bottom:90px}
#contact>.eyebrow{color:#ffbd74}
#contact h2,#contact p,#contact .muted,#contact a{color:#fff}
#contact .btn{background:#1466b8}
#contact .btn:hover{background:#0b4d8d}
@media(max-width:720px){main>#solutions,main>#formations,main>#commercants,main>#creations,main>#contact{padding-top:60px;border-top-width:6px}main>#solutions,main>#tarifs,main>#realisations,main>#creations,main>#contact{padding-bottom:60px!important}}

/* Présentation commune des trois activités. */
#solutions>.cards{align-items:stretch}
#solutions>.cards>.card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px;background:#fff}
#solutions>.cards>.card>.emoji{display:flex;align-items:center;justify-content:center;width:64px;height:64px;padding:0;font-size:32px;border-radius:14px;flex-shrink:0}
#solutions>.cards>.card>h3{font-size:clamp(19px,1.45vw,23px)!important;line-height:1.35;letter-spacing:0!important;min-height:2.7em;margin:20px 0 16px;white-space:normal!important}
#solutions>.cards>.card>p{line-height:1.7;margin:0 0 24px}
#solutions>.cards>.card>a{margin-top:auto;font-weight:700}
#solutions>.publics-communs{max-width:900px;margin-bottom:30px}
@media(max-width:720px){#solutions>.cards>.card>h3{min-height:0}}

/* Rythme de lecture plus compact sur la page d'accueil. */
main>.hero{padding-top:28px;padding-bottom:48px}
.hero-brand .hero-full-logo{width:min(390px,78vw);max-height:275px}
.hero h1{font-size:clamp(30px,3.2vw,44px);margin:12px auto 20px}
.hero p{margin-bottom:22px}
.hero-note{margin-top:22px}
main>#solutions,main>#formations,main>#commercants,main>#creations,main>#contact{padding-top:56px}
main>#solutions{padding-bottom:56px!important}
#solutions>.eyebrow,#formations>.eyebrow,#commercants>.eyebrow,#creations>.eyebrow,#contact>.eyebrow{margin-bottom:4px}
#solutions>.publics-communs{margin-bottom:12px}
#solutions .assistance-en-tete{padding-top:10px!important}
#solutions .assistance-en-tete .assistance-unique{padding:20px 28px!important}
#solutions .assistance-en-tete .assistance-heading{margin-bottom:6px}
#solutions .assistance-en-tete .assistance-unique p{margin-top:10px;margin-bottom:10px}
#solutions .assistance-en-tete .assistance-footer{margin-top:12px}
#solutions .invivia-jonction{font-size:25px;line-height:1;padding:12px 0 0}
#solutions>.cards{margin-top:20px}
#solutions>.cards>.card{padding:24px}
#solutions>.cards>.card>h3{margin-top:14px;margin-bottom:12px}
#solutions>.cards>.card>p{margin-bottom:18px}
@media(max-width:720px){main>.hero{padding-top:28px;padding-bottom:40px}.hero-brand .hero-full-logo{width:min(310px,78vw)}main>#solutions,main>#formations,main>#commercants,main>#creations,main>#contact{padding-top:42px}#solutions .assistance-en-tete .assistance-unique{padding:20px!important}}

/* Parcours de formation : numérotation unique et cartes à hauteur naturelle. */
#formations .parcours-formations{align-items:start}
#formations .parcours-formations>.card ol{list-style:decimal outside;padding-left:1.65rem!important;margin-top:18px}
#formations .parcours-formations>.card ol li{padding-left:0.15rem;margin:0 0 9px;line-height:1.65}
#formations .parcours-formations>.card ol li::before{content:none}
