/* taxi.libermedical.fr — feuille de style du site (écrite pour la version autonome, sans framework)
   Points de rupture : 975px (tablette, menu replié) et 575px (téléphone). */

@font-face {
	font-family: "Sen";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("/assets/fonts/sen-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Sen";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("/assets/fonts/sen-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--jaune: #eab817;
	--jaune-doux: rgba(234, 184, 23, .85);
	--jaune-ouvert: rgba(234, 184, 23, .82);
	--encre: #090224;
	--texte: #868686;
	--gris: #5f5f5f;
	--beige: #f9f2e9;
	--fond: #fcfcff;
	--gris-clair: #f0f2f1;
	--vert: #70a43c;
	--vague: rgba(240, 195, 122, .5);
	--ombre: 4px 4px 20px #ebe6ff;
	--large: 1265px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: "Sen", Helvetica, Arial, sans-serif;
	font-size: 20px;
	line-height: 1.6;
	color: var(--texte);
	background: var(--fond);
	overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }
ul, ol { margin: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; color: var(--encre); font-weight: 700; }
h1 { font-size: 38px; line-height: 1.2; }
h2 { font-size: 33px; line-height: 1.2; }
h3 { font-size: 28px; line-height: 1.4; }
h4 { font-size: 24px; line-height: 1.4; }
h5 { font-size: 20px; line-height: 1.5; }
h6 { font-size: 16px; line-height: 1.6; }
strong { font-weight: 700; }
button { font: inherit; }
.visuellement-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.conteneur { max-width: var(--large); margin: 0 auto; padding: 0 24px; }
.fond-beige { background: var(--beige); }
.fond-clair { background: var(--fond); }
.fond-blanc { background: #fff; }
.centre { text-align: center; }
.seulement-mobile, .seulement-mobile-flex { display: none !important; }

/* ---------- Boutons ---------- */
.bouton {
	display: inline-block;
	padding: 11px 30px;
	border: 1.6px solid var(--jaune);
	border-radius: 8px;
	background: var(--jaune-doux);
	color: #fff;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.bouton:hover, .bouton:focus-visible { background: #fff; color: var(--jaune); }
.bouton--plein { background: var(--jaune); }
.bouton--large { padding-left: 76px; padding-right: 76px; }

/* ---------- Vagues de séparation ---------- */
.vague { display: block; position: relative; height: var(--h, 80px); background: var(--haut, var(--fond)); color: var(--bas, var(--beige)); overflow: hidden; }
.vague svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.vague .v1 { fill: var(--vague); }
.vague .v2 { fill: currentColor; }
.vague--inverse svg { transform: scaleX(-1); }

/* ---------- En-tête ---------- */
.entete { position: relative; z-index: 50; background: #fff; }
.entete__barre { display: flex; align-items: center; justify-content: space-between; height: 92px; padding: 0 24px; max-width: var(--large); margin: 0 auto; }
.entete__logo img { width: 200px; height: auto; }
.menu { display: flex; align-items: center; gap: clamp(20px, 4.2vw, 64px); }
.menu a { font-size: clamp(16px, 1.6vw, 20px); line-height: 1; font-weight: 700; color: var(--gris); transition: color .2s; }
.menu a:hover, .menu a.actif { color: var(--jaune); }
.menu .menu__connexion {
	margin-left: calc(30px - clamp(20px, 4.2vw, 64px));
	padding: 17px 36px;
	border: 1.6px solid var(--jaune);
	border-radius: 8px;
	background: var(--jaune);
	color: #fff;
	font-size: 16px;
	text-transform: uppercase;
}
.menu .menu__connexion:hover { background: #fff; color: var(--jaune); }
.burger { display: none; position: relative; z-index: 60; width: 30px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
.burger span, .burger::before, .burger::after { content: ""; position: absolute; left: 0; width: 30px; height: 3px; background: var(--jaune); transition: transform .3s, opacity .3s, background-color .3s; }
.burger::before { top: 0; }
.burger span { top: 10px; }
.burger::after { top: 20px; }
.menu-ouvert .burger::before { transform: translateY(10px) rotate(45deg); background: #fff; }
.menu-ouvert .burger span { opacity: 0; }
.menu-ouvert .burger::after { transform: translateY(-10px) rotate(-45deg); background: #fff; }

/* ---------- Accueil : bandeau ---------- */
.bandeau { position: relative; background: var(--fond); }
.bandeau__grille {
	position: relative; z-index: 2;
	display: grid;
	grid-template-columns: 439fr 698fr;
	grid-template-areas: "visuel texte" "visuel action";
	grid-template-rows: auto 1fr;
	column-gap: 80px;
	padding-top: 40px;
	padding-bottom: 64px;
}
.bandeau__visuel { grid-area: visuel; display: flex; justify-content: center; align-items: flex-start; }
.bandeau__visuel img { width: 320px; height: 504px; object-fit: cover; border-radius: 16px; }
.bandeau__texte { grid-area: texte; padding-top: 30px; }
.bandeau__texte h1 { max-width: 500px; margin-bottom: 24px; }
.bandeau__accroche { margin-top: 32px; text-align: center; font-weight: 700; color: var(--gris); }
.bandeau__action { grid-area: action; align-self: start; padding-top: 35px; text-align: center; }
.bandeau__action .bouton { border-color: #e9cc70; }
.bandeau .vague { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; --h: 180px; background: transparent; }

/* ---------- Accueil : pourquoi choisir ---------- */
.pourquoi { padding: 0 0 32px; }
.pourquoi__grille { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.pourquoi__carte { padding: 48px; border-radius: 32px; background: rgba(255, 255, 255, .43); }
.pourquoi__carte h2 { text-align: center; margin-bottom: 32px; }
.atout { display: grid; grid-template-columns: 32px 1fr; column-gap: 33px; }
.atout + .atout { margin-top: 30px; }
.atout svg { width: 32px; height: 32px; margin-top: 2px; }
.atout h3 { margin-bottom: 4px; font-size: 24px; line-height: 1.4; }
/* Galerie 2 x 2 décalée : grande + petite, puis petite + grande */
.galerie { align-self: center; display: grid; grid-template-columns: 180fr 151fr 180fr; grid-auto-rows: 320px; gap: 16px 17px; margin: 0; padding: 8px; list-style: none; }
.galerie li:nth-child(1) { grid-column: 1 / 3; }
.galerie li:nth-child(2) { grid-column: 3; }
.galerie li:nth-child(3) { grid-column: 1; }
.galerie li:nth-child(4) { grid-column: 2 / 4; }
.galerie li { overflow: hidden; border-radius: 32px; }
.galerie a { display: block; height: 100%; }
.galerie img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.galerie a:hover img { transform: scale(1.04); }

/* ---------- Accordéons ---------- */
.declencheur {
	position: relative;
	display: block;
	width: 100%;
	padding: 16px 52px 16px 16px;
	border: 0;
	border-radius: 16px;
	background: var(--jaune);
	color: #fcfcff;
	font-size: 20px;
	line-height: 28px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
	transition: background-color .2s;
}
.declencheur[aria-expanded="true"] { background: var(--jaune-ouvert); color: #f8f8f8; }
.declencheur svg { position: absolute; right: 16px; top: 50%; width: 20px; height: 20px; margin-top: -10px; stroke: currentColor; stroke-width: 1.6; fill: none; stroke-linecap: round; }
.declencheur .ico-moins { display: none; }
.declencheur[aria-expanded="true"] .ico-plus { display: none; }
.declencheur[aria-expanded="true"] .ico-moins { display: block; }
.panneau[hidden] { display: none; }

/* Fonctionnalités : boutons à gauche, contenu à droite */
.fonctions { padding: 16px 0 0; }
.fonctions h2 { margin: 0 16px 40px; }
.fonctions__liste { display: grid; grid-template-columns: 269px 1fr; grid-auto-rows: auto; column-gap: 16px; row-gap: 24px; align-items: start; padding: 0 16px; }
.fonctions__liste .declencheur { grid-column: 1; }
.fonctions__liste .panneau { grid-column: 2; grid-row: 1 / span 5; background: var(--fond); }
.fonction { display: grid; grid-template-columns: 527fr 373fr; grid-template-areas: "t1 visuel" "t2 visuel"; align-items: start; }
.fonction__t1 { grid-area: t1; padding: 24px 0 0 53px; }
.fonction__t2 { grid-area: t2; padding: 24px 0 24px 53px; }
.fonction__t1 p + p, .fonction__t2 p + p { margin-top: 0; }
.fonction__visuel { grid-area: visuel; display: flex; justify-content: center; padding-top: 63px; }
.fonction__visuel img { width: 272px; }
.fonction__visuel--ecran img { width: 300px; border-radius: 16px; }

/* ---------- Accueil : tarif et contact ---------- */
.offre { padding: 40px 0; }
.offre__grille { display: flex; justify-content: center; align-items: flex-start; gap: 105px; }
.carte-contact { width: 500px; padding: 32px; border-radius: 32px; background: #fff; text-align: center; }
.carte-contact img { width: 213px; height: 200px; object-fit: cover; margin: 0 auto 16px; }
.carte-contact h2 { margin-bottom: 16px; }
.carte-contact .bouton { margin-top: 40px; padding-left: 76px; padding-right: 76px; }
.carte-tarif { width: 432px; margin-top: 16px; border-radius: 32px; background: var(--fond); overflow: hidden; }
.carte-tarif__tete { padding: 32px; background: rgba(234, 184, 23, .91); color: #fcfcff; }
.carte-tarif__tete strong { display: block; font-size: 33px; line-height: 1.2; }
.carte-tarif__tete span { display: block; text-transform: uppercase; font-weight: 700; }
.carte-tarif__corps { padding: 32px 32px 30px; text-align: center; }
.carte-tarif__prix { font-size: 30px; line-height: 48px; font-weight: 700; }
.carte-tarif ul { margin-top: 16px; padding: 0; list-style: none; }
.carte-tarif li { padding: 8px; border-bottom: .8px solid rgba(0, 0, 0, .05); }
.carte-tarif li:last-child { border-bottom: 0; }

/* ---------- Accueil : 10 ans d'expérience ---------- */
.experience { padding: 0 0 64px; }
.experience__grille { display: grid; grid-template-columns: 584fr 633fr; align-items: center; padding: 0 0 0 24px; }
.experience__grille img { width: 100%; height: 596px; object-fit: cover; border-radius: 24px 0 0 24px; }
.experience__texte { padding: 32px; border-radius: 32px; background: var(--gris-clair); }
.experience__texte h2 { margin-bottom: 20px; }
.experience__texte p { text-align: justify; }

/* ---------- Agences ---------- */
.agences { padding: 0 16px; }
.agences__filet { height: 1px; margin: 10px 0; background: #f0c37a; }
.agences__grille { display: grid; grid-template-columns: repeat(4, 236px); justify-content: space-between; padding: 24px 40px 24px 24px; }

/* ---------- Actualités (cartes) ---------- */
.actus { padding: 0 0 48px; }
.actus__cadre { padding: 24px 24px 44px; border-radius: 24px; background: #fff; }
.actus__cadre > h2 { text-align: center; }
.actus__sous-titre { margin-bottom: 20px; color: var(--encre); font-size: 24px; line-height: 1.4; font-weight: 700; text-align: center; }
.cartes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.carte { display: flex; flex-direction: column; border-radius: 16px; background: #fff; box-shadow: var(--ombre); overflow: hidden; transition: transform .2s; }
.carte:hover { transform: translateY(-3px); }
.carte img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.carte__corps { display: flex; flex: 1; flex-direction: column; padding: 32px 24px 24px; }
.carte__corps h2, .carte__corps h3 { margin-bottom: 16px; font-size: 20px; line-height: 1.5; }
.carte__corps p { margin-bottom: 16px; }
.lire-suite { display: flex; align-items: center; gap: 6px; margin-top: auto; color: var(--vert); font-weight: 700; }
.lire-suite > span { color: inherit; font-size: 16px; line-height: 1.6; }
.lire-suite svg { width: 14px; height: 14px; stroke: var(--jaune); stroke-width: 1.6; fill: none; }
.cartes--droite .lire-suite { justify-content: flex-end; }

/* ---------- FAQ ---------- */
.faq { padding: 48px 0 32px; }
.faq h2 { text-align: center; margin-bottom: 56px; }
.faq__item + .faq__item { margin-top: 16px; }
.faq .declencheur { z-index: 1; padding-left: 24px; }
.faq .declencheur svg { width: 18px; height: 18px; margin-top: -9px; stroke-width: 2; }
.faq .panneau { position: relative; margin-top: -32px; padding: 56px 24px 24px; border-radius: 0 0 16px 16px; background: #fff; box-shadow: 2px 2px 20px #ebe6ff; }

/* ---------- Ce qui nous rend unique ---------- */
.unique { padding: 40px 24px; text-align: center; }
.unique h2 { color: var(--gris); }
.unique p { max-width: 560px; margin: 16px auto 20px; color: var(--gris); }
.unique .bouton { background: var(--jaune); padding-left: 76px; padding-right: 76px; }

/* ---------- Pied de page ---------- */
.pied { background: #fff; color: var(--gris); }
.pied__grille { display: grid; grid-template-columns: repeat(4, 268px); justify-content: space-between; padding: 24px 24px 0; max-width: var(--large); margin: 0 auto; }
.pied__logo img { width: 200px; }
.pied__mentions { margin: 18px 0 16px; font-size: 10px; line-height: 16px; color: var(--encre); }
.reseaux { display: flex; }
.reseaux a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 8px; border-radius: 50%; transition: background-color .2s; }
.reseaux a:hover { background: var(--beige); }
.reseaux svg { width: 24px; height: 24px; fill: var(--jaune); }
.pied__titre { margin-bottom: 16px; font-size: 24px; line-height: 1.4; }
.pied__liens { display: grid; grid-template-columns: 107px 107px; gap: 8px 54px; font-size: 16px; line-height: 25.6px; }
.pied__liens--simple { grid-template-columns: 1fr; }
.pied__liens a:hover { color: var(--jaune); }
.pied__contact { display: grid; gap: 16px; font-size: 16px; line-height: 25.6px; color: var(--encre); }
.pied__contact div { display: flex; align-items: center; gap: 0; }
.pied__contact svg { width: 24px; height: 24px; margin: 5px 10px 5px 0; fill: var(--jaune); flex: none; }
.pied__contact a { color: var(--gris); }

/* ---------- Page Actualités ---------- */
.page-actus { padding: 48px 0 40px; }
.page-actus h1 { color: var(--gris); text-align: center; margin-bottom: 48px; text-decoration: underline; text-underline-offset: 6px; }
.page-actus .cartes { gap: 40px; }
.dernier { padding: 32px 0 48px; }
.dernier h2 { text-align: center; margin-bottom: 40px; }
.dernier__carte { display: grid; grid-template-columns: 511fr 706fr; min-height: 400px; border-radius: 16px; background: #fff; box-shadow: var(--ombre); overflow: hidden; }
.dernier__carte img { width: 100%; height: 100%; object-fit: cover; }
.dernier__texte { padding: 48px 56px 48px 34px; }
.dernier__texte h3 { margin-bottom: 25px; }

/* ---------- Article ---------- */
.article { padding: 40px 32px 0; }
.article__boite { max-width: 1200px; margin: 0 auto; padding: 40px; background: #fff; }
.article__boite h1 {
	margin-bottom: 24px;
	padding: 10px 20px;
	border-radius: 8px;
	background: rgba(255, 255, 255, .8);
	font-family: Roboto, Helvetica, Arial, sans-serif;
	font-size: 50px;
	line-height: 60px;
	letter-spacing: 1px;
	color: #333;
	text-align: center;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, .3);
}
.article__date { display: block; margin-bottom: 0; }
.article__bloc { display: grid; grid-template-columns: 659fr 429fr; gap: 32px; align-items: start; }
.article__bloc--image-gauche { grid-template-columns: 429fr 659fr; }
.article__bloc--image-gauche .article__visuel { order: -1; }
.article__visuel { display: flex; justify-content: center; }
.article__visuel img { border-radius: 16px; }
.article__corps { margin: 16px 0; color: #5b6784; font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.6; }
.article__corps h2, .article__corps h3 { color: #5b6784; }
.article__corps [data-h="3"] { font-size: 28px; line-height: 1.4; }
.article__corps [data-h="4"] { font-size: 24px; line-height: 1.4; }
.article__corps ul { padding: 0; list-style: none; }
.article__corps ul > li { padding: 11px 0; }
.article__corps ol { padding: 0; list-style-position: inside; }
.article__visuel--petit img { width: auto; height: 200px; }
.article__suite { max-width: 913px; margin: 40px auto 0; padding: 40px; border-radius: 24px; background: #fff; text-align: center; }
.article__suite h2 { max-width: 480px; margin: 0 auto 24px; }
.article__suite .bouton { padding-left: 76px; padding-right: 76px; }

/* ---------- Pages contact et démo ---------- */
.prise-contact { padding: 40px 0 40px; }
.prise-contact__grille { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.prise-contact__visuels { text-align: center; }
.prise-contact__visuels img { margin: 0 auto; }
.illustration { width: 227px; height: 200px; object-fit: cover; border-radius: 16px; }
.numero-vert { width: 300px; padding: 32px 0; }
.rdv iframe { display: block; width: 90%; height: 1000px; margin: 24px auto 0; border: 0; }
.demo { padding: 0 0 40px; }
.demo__colonne { max-width: 616px; margin: 0 auto; padding: 0 16px; text-align: center; }
.demo .illustration { width: 160px; height: 150px; }
.demo .numero-vert { width: 200px; padding: 16px 0; }
.demo .bouton { margin-bottom: 24px; padding-left: 50px; padding-right: 50px; }

.formulaire { padding: 32px 24px 32px; border-radius: 16px; background: var(--fond); text-align: left; }
.formulaire h2 { text-align: center; }
.formulaire__intro { margin: 16px 28px 16px; text-align: center; }
.champs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.champ { display: flex; flex-direction: column; }
.champ--large { grid-column: 1 / -1; }
.champ label { margin-bottom: 8px; color: var(--gris); }
.champ input, .champ textarea {
	width: 100%;
	padding: 8px 16px;
	border: .8px solid var(--gris);
	border-radius: 0;
	background: var(--fond);
	color: var(--gris);
	font: inherit;
	font-size: 20px;
	line-height: 22px;
}
.champ textarea { height: 146px; resize: vertical; }
.champ input:focus, .champ textarea:focus { outline: 2px solid var(--jaune); outline-offset: 1px; }
.captcha { display: flex; align-items: center; justify-content: center; gap: 16px; grid-column: 1 / -1; margin-top: 8px; }
.captcha img { width: 140px; height: 40px; }
.captcha input { width: 320px; max-width: 100%; padding: 8px 16px; border: .8px solid var(--gris); background: var(--fond); font: inherit; font-size: 20px; color: var(--gris); }
.captcha button { width: 24px; height: 24px; padding: 0; border: 0; background: none; color: var(--gris); cursor: pointer; }
.captcha button svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; }
.consentement { display: flex; align-items: center; justify-content: center; gap: 12px; grid-column: 1 / -1; margin: 8px 0 0; color: var(--encre); }
.consentement input { width: 16px; height: 16px; margin: 0; accent-color: var(--jaune); }
.piege { position: absolute; left: -9999px; }
.formulaire__envoi { grid-column: 1 / -1; text-align: center; margin-top: 8px; }
.formulaire__envoi .bouton { padding-left: 100px; padding-right: 100px; }
.message { grid-column: 1 / -1; padding: 12px 16px; border-radius: 8px; text-align: center; }
.message--ok { background: #e7f3dc; color: #3d6b16; }
.message--erreur { background: #fbe4e4; color: #9b1c1c; }

/* ---------- Page confidentialité ---------- */
.confidentialite { padding: 48px 24px; min-height: 140px; }

/* ---------- Visionneuse d'images ---------- */
.visionneuse { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(9, 2, 36, .85); }
.visionneuse[hidden] { display: none; }
.visionneuse img { max-width: 100%; max-height: 100%; border-radius: 8px; }
.visionneuse button { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; color: var(--encre); font-size: 28px; line-height: 44px; cursor: pointer; }

/* ======================= Tablette ======================= */
@media (max-width: 975px) {
	.burger { display: block; }
	.menu {
		position: fixed; inset: 0; z-index: 55;
		flex-direction: column; justify-content: center; gap: 50px;
		background: rgba(234, 184, 23, .95);
		transform: translateY(-100%);
		transition: transform .4s;
	}
	.menu-ouvert .menu { transform: none; }
	.menu a, .menu a.actif { font-size: 28px; font-weight: 400; color: var(--beige); text-transform: uppercase; }
	.menu a.actif { font-weight: 700; }
	.menu .menu__connexion { margin: 0; padding: 0; border: 0; background: none; color: var(--beige); font-size: 28px; }
	.menu-ouvert { overflow: hidden; }
	.bandeau__grille { column-gap: 32px; }
	.pourquoi__grille { grid-template-columns: 1fr; }
	.galerie { max-width: 560px; margin: 0 auto; }
	.offre__grille { gap: 32px; }
	.cartes { grid-template-columns: 1fr 1fr; }
	.agences__grille { grid-template-columns: 1fr 1fr; gap: 24px 32px; }
	.pied__grille { grid-template-columns: 1fr 1fr; gap: 32px; }
	.prise-contact__grille { grid-template-columns: 1fr; }
	.fonctions__liste { grid-template-columns: 220px 1fr; }
	.fonction { grid-template-columns: 1fr; grid-template-areas: "t1" "visuel" "t2"; }
	.fonction__t1, .fonction__t2 { padding-left: 24px; }
	.fonction__visuel { padding-top: 16px; }
}

/* ======================= Téléphone ======================= */
@media (max-width: 575px) {
	body { font-size: 16px; }
	h1 { font-size: 40px; line-height: 1.2; }
	h2 { font-size: 26px; }
	.seulement-mobile { display: block !important; }
	.seulement-ordi { display: none !important; }
	.conteneur { padding: 0 16px; }

	.entete__barre { height: 75px; padding: 0 25px; }
	.entete__logo img { width: 150px; }

	.bandeau__grille { grid-template-columns: 1fr 107px; grid-template-areas: "texte visuel" "action action"; column-gap: 0; padding: 0 0 40px 20px; }
	.bandeau__texte { padding: 26px 0 0 0; }
	.bandeau__texte h1 { margin-bottom: 24px; }
	.bandeau__accroche { margin-top: 26px; font-size: 18px; text-align: left; }
	.bandeau__visuel img { width: 107px; height: 525px; border-radius: 0; object-position: left center; }
	.bandeau__action { padding: 40px 16px 0 0; margin-left: -4px; }
	.bandeau__action .bouton { display: block; width: 100%; }
	.bandeau .vague { --h: 90px; }

	.pourquoi__carte { padding: 16px 16px 24px; }
	.pourquoi__carte h2 { margin-bottom: 32px; }
	.atout { column-gap: 22px; padding-left: 0; }
	.galerie { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; gap: 16px; }
	.galerie li:nth-child(n) { grid-column: auto; aspect-ratio: 1; }

	.fonctions h2 { margin: 0 24px 40px; }
	.fonctions__liste { grid-template-columns: 1fr; row-gap: 23px; padding: 0 24px; }
	.fonctions__liste .panneau { grid-column: 1; grid-row: auto; }
	.declencheur { font-size: 18px; line-height: 21.6px; padding-right: 50px; }
	.fonction { text-align: center; }
	.fonction__t1, .fonction__t2 { padding: 10px 15px 0; }
	.fonction__visuel img { width: 148px; }
	.fonction__visuel--ecran img { width: 200px; }

	.offre { padding: 24px 0; }
	.offre__grille { flex-direction: column-reverse; align-items: center; gap: 24px; }
	.carte-contact, .carte-tarif { width: 100%; max-width: 316px; margin-top: 0; }
	.carte-contact { padding: 24px; }
	.carte-contact .bouton { display: block; padding-left: 40px; padding-right: 40px; }
	.carte-tarif__tete strong { font-size: 26px; }

	.experience__grille { grid-template-columns: 1fr; padding: 0; }
	.experience__grille img { height: 330px; border-radius: 32px 32px 0 0; }
	.experience__texte { border-radius: 0 0 32px 32px; padding: 24px; }

	.cartes { grid-template-columns: 1fr; gap: 24px; }

	.repliables { padding: 8px 16px 24px; }
	.repliables .declencheur + .panneau { margin: 0 0 16px; }
	.repliables .declencheur { margin-bottom: 16px; }
	.bureaux { display: grid; grid-template-columns: 1fr 72px; background: #fff; box-shadow: var(--ombre); }
	.bureaux__liste { padding: 24px 0; }
	.bureaux__liste > div { padding: 10px 8px; border-top: 1px solid #f0c37a; text-align: center; }
	.bureaux__liste > div:last-child { border-bottom: 1px solid #f0c37a; }
	.bureaux h3 { font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 1.4; }
	.bureaux p { font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.5; color: var(--gris); }
	.bureaux img { width: 72px; height: 100%; object-fit: cover; }

	.faq { padding: 24px 0 24px; }
	.faq h2 { margin-bottom: 32px; }
	.faq .declencheur { padding-left: 16px; }

	.pied__grille { grid-template-columns: 1fr; gap: 24px; padding: 16px 16px 24px; }
	.pied__marque { display: flex; align-items: center; justify-content: space-between; }
	.pied__logo img { width: 150px; }
	.pied__mentions { display: none; }
	.pied__contact-bloc { order: 2; }
	.pied__liens-bloc { order: 3; }
	.pied__details-bloc { order: 4; }
	.pied__liens { grid-template-columns: 1fr 1fr; gap: 8px 16px; }
	.pied__liens--simple { grid-template-columns: 1fr 1fr; }

	.page-actus { padding: 32px 0; }
	.page-actus h1 { font-size: 30px; margin-bottom: 32px; }
	.dernier__carte { grid-template-columns: 1fr; }
	.dernier__texte { padding: 24px; }

	.article { padding: 16px 0 0; }
	.article__boite { padding: 24px 16px; }
	.article__boite h1 { padding: 0; font-size: 40px; line-height: 48px; letter-spacing: 0; }
	.article__bloc, .article__bloc--image-gauche { grid-template-columns: 1fr; gap: 16px; }
	.article__bloc .article__visuel { order: -1; }
	.article__suite { margin: 24px 16px 0; padding: 24px 16px; }
	.article__suite .bouton { padding-left: 32px; padding-right: 32px; }

	.prise-contact { padding: 24px 0; }
	.rdv iframe { width: 100%; height: 1100px; }
	.formulaire { padding: 24px 16px; }
	.champs { grid-template-columns: 1fr; }
	.champ input, .champ textarea, .captcha input { font-size: 16px; }
	.captcha { flex-wrap: wrap; }
	.captcha input { width: 200px; }
	.consentement { justify-content: flex-start; font-size: 14px; }
	.formulaire__envoi .bouton { width: 100%; padding-left: 16px; padding-right: 16px; }
	.unique { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; }
}

/* Compléments */
.agences__grille h3 { font-size: 20px; line-height: 1.5; }
@media (max-width: 575px) {
	.seulement-mobile-flex { display: flex !important; }
	.vague { height: calc(var(--h, 80px) * .5); }
	.bandeau .vague { height: 90px; }
}
