/* ==========================================================================
   Direction artistique « Tampon » — 04/11/2026, créée sur mesure pour SEIZEART CUSTOM.
   Classes tp-* (scripts/directions/tampon.py ; en-tête et pied : atelier_entetes.py ; tampon.js).
   Un atelier d'impression : on tamponne le logo, on colle des stickers, on punaise des photos.
   Rondeurs partout (îles et cartes à grands rayons), beaucoup de blanc, images en avant.
   Rôles : primary = indigo du logo, secondary = indigo nuit, accent = corail (trait du logo).
   Mouvement : JS pose --tp-p (0 → 1) sur le haut d'accueil et les murs ; .is-vu à l'apparition.
   Moins d'animations demandé : tout est posé, rien ne glisse.
   ========================================================================== */
body.dir-tampon {
  --ac-fs-1: 0.8125rem;
  --ac-fs-2: 0.9375rem;
  --ac-fs-3: 1.0625rem;
  --ac-fs-4: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
  --ac-fs-5: clamp(1.5rem, 1.2rem + 1vw, 2.1rem);
  --ac-fs-6: clamp(2.1rem, 1.5rem + 2.3vw, 3.4rem);
  --ac-fs-7: clamp(2.6rem, 1.4rem + 4.6vw, 5.4rem);
  --wp--preset--font-size--small: var(--ac-fs-2);
  --wp--preset--font-size--medium: var(--ac-fs-3);
  --wp--preset--font-size--large: var(--ac-fs-5);
  --wp--preset--font-size--x-large: var(--ac-fs-6);
  --wp--preset--font-size--xx-large: var(--ac-fs-7);
  --tp-indigo: var(--wp--preset--color--primary);
  --tp-nuit: var(--wp--preset--color--secondary);
  --tp-corail: var(--wp--preset--color--accent);
  --tp-corail-bouton: color-mix(in srgb, var(--tp-corail) 82%, #000);   /* texte blanc dessus : contraste ≥ 4,5:1 */
  --tp-corail-texte: color-mix(in srgb, var(--tp-corail) 79%, #000);    /* corail en texte sur blanc ou lavande : ≥ 4,5:1 */
  --tp-encre: color-mix(in srgb, var(--tp-nuit) 92%, #000);
  --tp-doux: color-mix(in srgb, var(--tp-indigo) 62%, #FFFFFF);
  --tp-lavande: color-mix(in srgb, var(--tp-indigo) 6%, #FFFFFF);
  --tp-lavande-2: color-mix(in srgb, var(--tp-indigo) 13%, #FFFFFF);
  --tp-blanc: #FFFFFF;
  --tp-rayon: clamp(28px, 3.6vw, 56px);
  --tp-carte: 28px;
  --tp-marge-ile: clamp(10px, 2vw, 28px);
  --tp-ombre: 0 18px 40px -22px color-mix(in srgb, var(--tp-nuit) 45%, transparent);
  --tp-ressort: cubic-bezier(0.2, 1.3, 0.35, 1);
  --tp-doucement: cubic-bezier(0.2, 0.8, 0.2, 1);
  --tp-sc-masque: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='5'/%3E%3C/svg%3E");
  background: var(--tp-blanc);
  color: var(--tp-encre);
  font-size: var(--ac-fs-3);
  line-height: 1.65;
}
body.dir-tampon :is(h1, h2, h3, h4) { font-family: var(--wp--preset--font-family--heading); font-weight: 650; letter-spacing: -0.03em; line-height: 1.06; color: var(--tp-indigo); }
body.dir-tampon :is(h1, h2) em, body.dir-tampon .accent-word { font-style: normal; color: var(--tp-corail); }
body.dir-tampon ::selection { background: color-mix(in srgb, var(--tp-corail) 30%, transparent); }
body.dir-tampon :focus-visible { outline: 3px solid var(--tp-corail); outline-offset: 3px; border-radius: 14px; }
body.dir-tampon a { color: var(--tp-indigo); text-underline-offset: 0.22em; }
body.dir-tampon .has-surface-background-color { background-color: var(--tp-lavande) !important; }
body.dir-tampon .has-paper-background-color { background-color: var(--tp-blanc) !important; }   /* le blanc est le fond : seules les îles sont teintées */
body.dir-tampon .wp-site-blocks, body.dir-tampon main { background: var(--tp-blanc); }

/* --- Logo animé (SVG du client, classes sca-*) ------------------------------------ */
.sca { display: block; width: 100%; height: auto; overflow: visible; }
.sca .sca-rond { fill: var(--tp-indigo); transform-box: fill-box; transform-origin: center; }
.sca :is(.sca-sc, .sca-l1, .sca-l2) { fill: #FFFFFF; }
.sca .sca-trait { fill: var(--tp-corail); transform-box: fill-box; transform-origin: left center; }
.sca .sca-l1, .sca .sca-l2 { transform-box: fill-box; }
html.has-js .sca:not(.is-vu) .sca-rond { opacity: 0; transform: scale(0.4) rotate(-40deg); }
html.has-js .sca:not(.is-vu) .sca-sc { clip-path: inset(0 100% 0 0); }
html.has-js .sca:not(.is-vu) :is(.sca-l1, .sca-l2) { opacity: 0; transform: translateY(14px); }
html.has-js .sca:not(.is-vu) .sca-trait { transform: scaleX(0); }
.sca.is-vu .sca-rond { animation: sca-rond 0.7s var(--tp-ressort) both; }
.sca.is-vu .sca-sc { animation: sca-sc 0.95s 0.3s cubic-bezier(0.7, 0, 0.2, 1) both; }
.sca.is-vu .sca-l1 { animation: sca-monte 0.5s 1s var(--tp-doucement) both; }
.sca.is-vu .sca-l2 { animation: sca-monte 0.5s 1.15s var(--tp-doucement) both; }
.sca.is-vu .sca-trait { animation: sca-trait 0.45s 1.4s var(--tp-doucement) both, sca-respire 3.4s 2.6s ease-in-out infinite; }
@keyframes sca-rond { from { opacity: 0; transform: scale(0.4) rotate(-40deg); } to { opacity: 1; transform: none; } }
@keyframes sca-sc { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes sca-monte { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes sca-trait { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes sca-respire { 0%, 72%, 100% { transform: scaleX(1); } 82% { transform: scaleX(0.3) translateX(60%); } 91% { transform: scaleX(1.2); } }

/* --- Textes communs --------------------------------------------------------------- */
.tp-surtitre { display: inline-flex; align-items: center; gap: 0.55rem; margin: 0 0 0.9rem !important; padding: 0.35rem 0.85rem 0.35rem 0.7rem; border-radius: 999px;
  background: var(--tp-lavande-2); color: var(--tp-indigo); font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.01em; }
.tp-surtitre::before { content: ""; width: 1.05em; height: 0.42em; background: var(--tp-corail); transform: skewX(-18deg); border-radius: 2px; }
.tp-surtitre--clair { background: color-mix(in srgb, #FFFFFF 16%, transparent); color: #FFFFFF; }
.tp-titre { margin: 0 !important; font-size: var(--ac-fs-6) !important; }
.tp-intro { margin: 1rem 0 0 !important; max-width: 46ch; font-size: var(--ac-fs-4); line-height: 1.5; color: color-mix(in srgb, var(--tp-encre) 78%, #FFFFFF); }
.tp-intro--clair, .tp-note--clair { color: color-mix(in srgb, #FFFFFF 84%, transparent) !important; }
.tp-tete { margin-bottom: clamp(1.8rem, 3vw, 2.8rem); }
.tp-tete--centre { text-align: center; }
.tp-tete--centre .tp-intro { margin-left: auto !important; margin-right: auto !important; }
.tp-prose { margin: 0 0 1rem !important; color: color-mix(in srgb, var(--tp-encre) 84%, #FFFFFF); }
.tp-prose--lead { font-size: var(--ac-fs-4); line-height: 1.55; color: var(--tp-encre); }
.tp-note { margin-top: 1.4rem !important; font-size: var(--ac-fs-2); color: color-mix(in srgb, var(--tp-encre) 70%, #FFFFFF); }
.tp-tag { margin: 0 !important; font-size: var(--ac-fs-1); font-weight: 650; letter-spacing: 0.02em; text-transform: uppercase; color: var(--tp-corail-texte); }
.tp-points { margin: 0.9rem 0 0 !important; padding: 0; list-style: none; }
.tp-points li { position: relative; padding: 0.3rem 0 0.3rem 1.5rem; font-size: var(--ac-fs-2); line-height: 1.5; }
.tp-points li::before { content: ""; position: absolute; left: 0; top: 0.85em; width: 0.85em; height: 0.36em; background: var(--tp-corail); transform: skewX(-18deg); border-radius: 2px; }
.tp-lien a { font-weight: 600; text-decoration: none; }
.tp-trait { display: block; width: 34px; height: 12px; background: var(--tp-corail); transform: skewX(-18deg); border-radius: 3px; }

/* --- Boutons : pilules ------------------------------------------------------------ */
.tp-btn .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 50px; padding: 0.75rem 1.5rem; border-radius: 999px; border: 2px solid transparent;
  font-weight: 600; font-size: var(--ac-fs-2); text-decoration: none; transition: transform 0.25s var(--tp-ressort), background-color 0.2s ease, color 0.2s ease, box-shadow 0.25s ease; }
.tp-btn .wp-block-button__link:hover { transform: translateY(-2px) rotate(-1deg); opacity: 1 !important; }
.tp-btn--corail .wp-block-button__link, .tp-btn--plein .wp-block-button__link, .tp-btn--corail .wp-block-button__link:hover, .tp-btn--plein .wp-block-button__link:hover { background: var(--tp-corail-bouton); color: #FFFFFF; box-shadow: 0 12px 24px -14px var(--tp-corail); }
.tp-btn--contour .wp-block-button__link { background: transparent; color: var(--tp-indigo); border-color: color-mix(in srgb, var(--tp-indigo) 30%, transparent); }
.tp-btn--contour .wp-block-button__link:hover { border-color: var(--tp-indigo); }
.tp-btn--verre .wp-block-button__link { background: color-mix(in srgb, #FFFFFF 14%, transparent); color: #FFFFFF; border-color: color-mix(in srgb, #FFFFFF 45%, transparent); backdrop-filter: blur(8px); }
.tp-btn--blanc .wp-block-button__link { background: #FFFFFF; color: var(--tp-indigo); }
.tp-btn--lien .wp-block-button__link { padding-left: 0; padding-right: 0; min-height: 0; background: none; color: var(--tp-indigo); }
.tp-fleche { display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 1.5px color-mix(in srgb, currentColor 55%, transparent); font-size: 0.85em; transition: transform 0.3s var(--tp-ressort); }
.tp-btn .wp-block-button__link:hover .tp-fleche { transform: translateX(3px) rotate(-12deg); }
.tp-btns, .tp-hero-btns, .tp-cta-btns { gap: 0.7rem; margin-top: 1.8rem !important; }

/* --- En-tête : transparent sur le haut plein écran, puis feuille blanche arrondie ---- */
.tp-head { position: sticky; top: 0; z-index: 60; transition: background-color 0.3s ease, box-shadow 0.3s ease, border-radius 0.3s ease; border-radius: 0 0 var(--tp-carte) var(--tp-carte); }
.tp-head-ligne { align-items: center; gap: 1.2rem; }
.tp-logo-site { display: block; flex: none; width: 58px; transition: transform 0.35s var(--tp-ressort); }
.tp-logo-site:hover { transform: rotate(-10deg) scale(1.06); }
.tp-head .nav-links { gap: 0.2rem; }
.tp-head .nav-links p { margin: 0 !important; }
.tp-head .nav-links a { display: inline-block; padding: 0.5rem 0.8rem; border-radius: 999px; color: var(--tp-indigo); font-size: var(--ac-fs-2); font-weight: 550; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease; }
.tp-head .nav-links a:hover { background: var(--tp-lavande-2); }
.tp-head-actions { flex: none; gap: 0.6rem; align-items: center; }
.tp-head .tp-btn .wp-block-button__link { min-height: 44px; padding: 0.55rem 1.2rem; }
.tp-head.is-defile { box-shadow: 0 14px 40px -24px color-mix(in srgb, var(--tp-nuit) 55%, transparent); }
body:has(.tp-hero-plein) .tp-head { position: fixed; left: 0; right: 0; background: transparent !important; }
body:has(.tp-hero-plein) .tp-head:not(.is-defile) .nav-links a { color: #FFFFFF; }
body:has(.tp-hero-plein) .tp-head:not(.is-defile) .nav-links a:hover { background: color-mix(in srgb, #FFFFFF 18%, transparent); }
body:has(.tp-hero-plein) .tp-head:not(.is-defile) .nav-toggle { color: #FFFFFF; }
body:has(.tp-hero-plein) .tp-head.is-defile { background: #FFFFFF !important; }
body:has(.tp-hero-plein) .tp-head:not(.is-defile) .tp-logo-site .sca-rond { fill: color-mix(in srgb, var(--tp-indigo) 55%, transparent); }
@media (max-width: 1080px) { .tp-head .nav-links a { padding: 0.45rem 0.55rem; } }
@media (max-width: 781px) { .tp-logo-site { width: 46px; } }

/* --- Haut d'accueil plein écran ---------------------------------------------------- */
.tp-hero-plein { padding: 0 !important; background: var(--tp-blanc) !important; }
.tp-hero-plein > * { max-width: none !important; }
.tp-hero-scene { --p: var(--tp-p, 0); position: relative; height: 100svh; min-height: 620px; margin: calc(var(--p) * var(--tp-marge-ile)) !important;
  border-radius: calc(var(--p) * var(--tp-rayon) * 1.4); overflow: hidden; background: var(--tp-nuit); isolation: isolate;
  transform: scale(calc(1 - var(--p) * 0.04)); transform-origin: 50% 0; will-change: transform; }
.tp-hero-mur { position: absolute; inset: -6% -4%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 18px);
  transform: rotate(calc(-6deg + var(--p) * 4deg)) scale(calc(1.12 + var(--p) * 0.06)); transform-origin: 70% 40%; }
.tp-hero-mur.tp-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tp-hero-mur.tp-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tp-hero-mur.tp-n1 { grid-template-columns: minmax(0, 1fr); }
.tp-hero-colonne { display: flex; flex-direction: column; gap: inherit; translate: 0 calc(var(--p) * var(--tp-dec, -80px)); }
.tp-hero-colonne--0 { --tp-dec: -140px; } .tp-hero-colonne--1 { --tp-dec: 90px; } .tp-hero-colonne--2 { --tp-dec: -220px; } .tp-hero-colonne--3 { --tp-dec: 50px; }
.tp-hero-piste { display: flex; flex-direction: column; gap: clamp(10px, 1.2vw, 18px); }
.tp-hero-colonne .wp-block-image { margin: 0 !important; }
.tp-mur-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: clamp(18px, 2vw, 30px); }
@media (prefers-reduced-motion: no-preference) {
  html.has-js .tp-hero-colonne { animation: tp-glisse var(--tp-duree, 46s) linear infinite; }
  html.has-js .tp-hero-colonne--1 { --tp-duree: 58s; animation-direction: reverse; }
  html.has-js .tp-hero-colonne--2 { --tp-duree: 40s; }
  html.has-js .tp-hero-colonne--3 { --tp-duree: 64s; animation-direction: reverse; }
}
@keyframes tp-glisse { from { transform: translateY(0); } to { transform: translateY(calc(-50% - 9px)); } }
.tp-hero-voile { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, color-mix(in srgb, var(--tp-nuit) 94%, transparent) 0%, color-mix(in srgb, var(--tp-nuit) 82%, transparent) 38%,
              color-mix(in srgb, var(--tp-indigo) 30%, transparent) 72%, color-mix(in srgb, var(--tp-indigo) 10%, transparent) 100%); }
.tp-hero-plein .tp-hero-texte { position: absolute; z-index: 2; left: max(5vw, calc(50% - 600px)); top: 50%; width: min(620px, 88vw); translate: 0 calc(-50% - var(--p) * 60px); opacity: calc(1 - var(--p) * 1.3); color: #FFFFFF; }
.tp-hero-logo { width: clamp(78px, 7.5vw, 112px); margin-bottom: 1.3rem; rotate: calc(var(--p) * -30deg); scale: calc(1 - var(--p) * 0.25); }
.tp-hero-titre { margin: 0 !important; color: #FFFFFF !important; font-size: clamp(2.4rem, 1.1rem + 3.5vw, 4.4rem) !important; font-weight: 700 !important; }
.tp-hero-titre .tp-h1-surtitre { display: block; margin-bottom: 1rem; font-family: var(--wp--preset--font-family--body); font-size: var(--ac-fs-2); font-weight: 500; letter-spacing: 0; line-height: 1.4; color: color-mix(in srgb, #FFFFFF 80%, transparent); }
.tp-hero-plein .tp-chapo { margin: 1.1rem 0 0 !important; max-width: 46ch; font-size: var(--ac-fs-3); line-height: 1.5; color: color-mix(in srgb, #FFFFFF 86%, transparent); }
body.dir-tampon .tp-hero-indice { position: absolute; z-index: 2; left: 50%; bottom: 28px; translate: -50% 0; display: grid; justify-items: center; gap: 0.5rem; color: #FFFFFF; font-size: var(--ac-fs-1); text-decoration: none; opacity: calc(1 - var(--p) * 3); }
.tp-hero-indice::after { content: ""; width: 26px; height: 42px; border: 2px solid color-mix(in srgb, #FFFFFF 70%, transparent); border-radius: 20px;
  background: radial-gradient(circle at 50% 30%, var(--tp-corail) 0 4px, transparent 5px); animation: tp-souris 1.8s ease-in-out infinite; }
@keyframes tp-souris { 50% { background-position: 0 10px; } }
.tp-ancre { display: block; position: relative; top: -90px; }
@media (max-width: 781px) {
  .tp-hero-scene { min-height: 640px; }
  .tp-hero-mur { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; inset: -4% -10%; }
  .tp-hero-colonne--2, .tp-hero-colonne--3 { display: none; }
  .tp-hero-voile { background: linear-gradient(180deg, color-mix(in srgb, var(--tp-nuit) 55%, transparent) 0%, color-mix(in srgb, var(--tp-nuit) 92%, transparent) 55%); }
  .tp-hero-plein .tp-hero-texte { top: auto; bottom: 84px; translate: 0 calc(var(--p) * -40px); }
}

/* --- Haut des autres pages : grande carte photo ou île lavande ----------------------- */
.tp-hero-grille { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.tp-hero-carte .tp-hero-titre, .tp-hero-sobre .tp-hero-titre { color: var(--tp-indigo) !important; font-size: clamp(2.2rem, 1.2rem + 2.8vw, 4rem) !important; }
.tp-hero-carte .tp-h1-surtitre, .tp-hero-sobre .tp-h1-surtitre { display: block; margin-bottom: 0.9rem; font-family: var(--wp--preset--font-family--body); font-size: var(--ac-fs-2); font-weight: 600; letter-spacing: 0; color: var(--tp-corail-texte); }
.tp-hero-carte .tp-chapo, .tp-hero-sobre .tp-chapo { margin: 1.2rem 0 0 !important; max-width: 52ch; font-size: var(--ac-fs-4); line-height: 1.5; color: color-mix(in srgb, var(--tp-encre) 80%, #FFFFFF); }
.tp-fil { margin: 0 0 1.4rem !important; font-size: var(--ac-fs-1); color: var(--tp-doux); }
.tp-fil a { color: inherit; }
.tp-hero-visuel { position: relative; }
.tp-hero-photo img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.tp-hero-sceau { position: absolute; left: -34px; bottom: -34px; width: clamp(96px, 10vw, 140px); filter: drop-shadow(0 14px 22px color-mix(in srgb, var(--tp-nuit) 35%, transparent)); }
.tp-hero-ile { position: relative; padding: clamp(2rem, 5vw, 4.5rem); border-radius: var(--tp-rayon); background: var(--tp-lavande); overflow: hidden; }
.tp-hero-sceau--sobre { left: auto; bottom: auto; right: clamp(1.2rem, 4vw, 3.5rem); top: 50%; translate: 0 -50%; width: clamp(110px, 14vw, 200px); }
.tp-hero-ile .tp-hero-texte { max-width: min(760px, 70%); }
@media (max-width: 900px) {
  .tp-hero-grille { grid-template-columns: minmax(0, 1fr); }
  .tp-hero-sceau { left: auto; right: 14px; bottom: -28px; width: 92px; }
  .tp-hero-ile .tp-hero-texte { max-width: none; }
  .tp-hero-sceau--sobre { position: static; translate: none; width: 84px; margin-top: 1.4rem; }
}

/* --- Photos arrondies et penchées ---------------------------------------------------- */
.tp-cadre-photo { border-radius: var(--tp-rayon); overflow: hidden; box-shadow: var(--tp-ombre); transition: transform 0.6s var(--tp-ressort); }
.tp-cadre-photo .wp-block-image { margin: 0 !important; }
.tp-cadre-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 0.8s var(--tp-doucement); }
.tp-penche-0 { rotate: -2deg; } .tp-penche-1 { rotate: 1.6deg; } .tp-penche-2 { rotate: -0.8deg; }
.tp-col-visuel:hover .tp-cadre-photo { rotate: 0deg; }
.tp-col-visuel:hover .tp-cadre-photo img { transform: scale(1.04); }
.tp-col-visuel { position: relative; }
.tp-trait--colle { position: absolute; right: 8%; top: -10px; width: 64px; height: 22px; box-shadow: 0 8px 18px -8px var(--tp-corail); }

/* --- Sections, îles ---------------------------------------------------------------- */
.tp-sec { position: relative; }
.tp-sec.has-surface-background-color { border-radius: var(--tp-rayon);
  margin-left: calc(var(--wp--style--root--padding-left, 0px) * -1 + var(--tp-marge-ile)) !important;
  margin-right: calc(var(--wp--style--root--padding-right, 0px) * -1 + var(--tp-marge-ile)) !important; }
.tp-sec + .tp-sec.has-surface-background-color, .tp-sec.has-surface-background-color + .tp-sec, .tp-ruban + .tp-sec.has-surface-background-color { margin-top: clamp(16px, 2.4vw, 32px) !important; }
.tp-cadre { position: relative; z-index: 1; }
.tp-deux { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.tp-deux--haut { align-items: start; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
.tp-colle { position: sticky; top: 120px; }
.tp-ile { position: relative; padding: clamp(2rem, 5vw, 4.5rem); border-radius: var(--tp-rayon); overflow: hidden; }
.tp-ile--indigo { background: var(--tp-indigo); color: #FFFFFF; }
.tp-ile--indigo :is(h2, h3) { color: #FFFFFF; }
.tp-ile--corail { background: var(--tp-corail-bouton); color: #FFFFFF; }
.tp-ile--lavande { background: var(--tp-lavande); }
.tp-ile-lavande { padding: clamp(1.6rem, 4vw, 3.5rem); border-radius: var(--tp-rayon); background: var(--tp-lavande); }
@media (max-width: 900px) {
  .tp-deux, .tp-deux--haut { grid-template-columns: minmax(0, 1fr); }
  .tp-colle { position: static; }
}

/* --- Bulles (cartes) ---------------------------------------------------------------- */
.tp-bulles { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.tp-bulles.tp-n4 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.tp-bulle { position: relative; padding: 1.6rem 1.6rem 1.7rem; border-radius: var(--tp-carte); background: #FFFFFF; box-shadow: 0 1px 0 color-mix(in srgb, var(--tp-indigo) 10%, transparent), var(--tp-ombre);
  transition: transform 0.35s var(--tp-ressort), box-shadow 0.35s ease; }
.has-surface-background-color .tp-bulle { box-shadow: none; }
.tp-bulle > * { margin: 0 !important; }
.tp-bulle .tp-trait { margin-bottom: 1.1rem !important; transition: width 0.35s var(--tp-ressort); }
.tp-bulle:hover { transform: translateY(-4px) rotate(-0.6deg); }
.tp-bulle:hover .tp-trait { width: 56px; }
.tp-bulle-titre { margin-top: 0.35rem !important; font-size: var(--ac-fs-5) !important; }
.tp-bulle-titre a { text-decoration: none; }
.tp-bulle-titre a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.tp-bulle-texte { margin-top: 0.55rem !important; font-size: var(--ac-fs-2); color: color-mix(in srgb, var(--tp-encre) 76%, #FFFFFF); }
.tp-lignes { display: grid; gap: 0.7rem; }
.tp-bulle--ligne { padding: 1.2rem 1.4rem; background: var(--tp-lavande); box-shadow: none; }
.has-surface-background-color .tp-bulle--ligne { background: #FFFFFF; }
.tp-bulle--ligne .tp-trait { display: none; }
.tp-bulle--ligne .tp-bulle-titre { font-size: var(--ac-fs-4) !important; }
.tp-bulle--mini { padding: 1.1rem 1.2rem; }
.tp-apartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.8rem; margin-top: 1.4rem; }

/* --- Pastilles ---------------------------------------------------------------------- */
.tp-pastilles-liste { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.4rem; }
.tp-pastilles-liste--centre { justify-content: center; max-width: 980px; margin-left: auto; margin-right: auto; }
.tp-pastille { margin: 0 !important; padding: 0.55rem 1.05rem; border-radius: 999px; background: var(--tp-lavande-2); color: var(--tp-indigo); font-size: var(--ac-fs-2); font-weight: 550; transition: transform 0.3s var(--tp-ressort), background-color 0.2s ease, color 0.2s ease; }
.tp-pastille:nth-child(3n + 2) { background: color-mix(in srgb, var(--tp-corail) 14%, #FFFFFF); }
.has-surface-background-color .tp-pastille { background: #FFFFFF; }
.tp-pastille:hover, .has-surface-background-color .tp-pastille:hover, .tp-pastille:nth-child(3n + 2):hover { transform: rotate(-3deg) scale(1.04); background: var(--tp-indigo); color: #FFFFFF; }
.tp-pastille--nom { padding: 0.75rem 1.4rem; font-family: var(--wp--preset--font-family--heading); font-size: var(--ac-fs-4); font-weight: 650; letter-spacing: -0.02em; }

/* --- Stickers (illustrations et icônes) ----------------------------------------------- */
.tp-stickers-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
.tp-stickers-grille.tp-n4, .tp-stickers-grille.tp-n8 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tp-stickers-grille.tp-n6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .tp-stickers-grille.tp-n4, .tp-stickers-grille.tp-n8, .tp-stickers-grille.tp-n6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tp-stickers-grille.tp-n2 { grid-template-columns: repeat(2, minmax(0, 340px)); }
.tp-stickers-grille.tp-n3 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.tp-sticker { position: relative; display: flex; flex-direction: column; }
.tp-sticker > * { margin: 0 !important; }
.tp-sticker-fond { display: grid; place-items: center; aspect-ratio: 1; border-radius: 34px; background: #F2F1F6; border: 6px solid #FFFFFF; box-shadow: var(--tp-ombre);
  overflow: hidden; transition: transform 0.45s var(--tp-ressort), background-color 0.3s ease; }
.tp-sticker--0 .tp-sticker-fond { rotate: -1.6deg; } .tp-sticker--1 .tp-sticker-fond { rotate: 1.2deg; }
.tp-sticker--2 .tp-sticker-fond { rotate: -0.6deg; } .tp-sticker--3 .tp-sticker-fond { rotate: 1.8deg; }
.tp-sticker-fond .wp-block-image { margin: 0 !important; width: 100%; height: 100%; }
.tp-sticker-img img { display: block; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; transition: transform 0.6s var(--tp-ressort); }
.tp-sticker:hover .tp-sticker-fond { transform: translateY(-8px) rotate(-3deg); background: color-mix(in srgb, var(--tp-corail) 22%, #FFFFFF); }
.tp-sticker:hover .tp-sticker-img img { transform: scale(1.07); }
.tp-sticker .tp-tag { margin-top: 1rem !important; }
.tp-sticker-titre { margin-top: 0.3rem !important; font-size: var(--ac-fs-4) !important; }
.tp-sticker-titre a { text-decoration: none; }
.tp-sticker-titre a::after { content: ""; position: absolute; inset: 0; }
.tp-sticker-texte { margin-top: 0.35rem !important; font-size: var(--ac-fs-2); color: color-mix(in srgb, var(--tp-encre) 74%, #FFFFFF); }
.tp-sec .tp-btns { margin-top: 0 !important; margin-bottom: 1.6rem !important; }
@media (max-width: 600px) { .tp-stickers-grille, .tp-stickers-grille.tp-n2, .tp-stickers-grille.tp-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; } .tp-sticker-fond { border-radius: 24px; border-width: 4px; } }

/* --- Mur de photos (colonnes décalées, parallaxe douce) ------------------------------ */
.tp-mur-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(0.8rem, 1.8vw, 1.4rem); align-items: start; }
.tp-mur-grille.tp-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tp-mur-colonne { display: grid; gap: clamp(0.8rem, 1.8vw, 1.4rem); translate: 0 calc(var(--tp-m, 0) * var(--tp-dec, 0px)); }
.tp-mur-colonne--0 { --tp-dec: -40px; } .tp-mur-colonne--1 { --tp-dec: 50px; margin-top: 3.5rem; } .tp-mur-colonne--2 { --tp-dec: -70px; margin-top: 1.5rem; }
.tp-mur-carte { position: relative; border-radius: var(--tp-carte); overflow: hidden; background: var(--tp-lavande); }
.tp-mur-carte .wp-block-image { margin: 0 !important; }
.tp-mur-img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 0.8s var(--tp-doucement); }
.tp-mur-carte:nth-child(2n) .tp-mur-img img { aspect-ratio: 1; }
.tp-mur-carte:hover .tp-mur-img img { transform: scale(1.05) rotate(-0.6deg); }
.tp-mur-legende { position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 0.7rem 1rem; border-radius: 18px; background: color-mix(in srgb, #FFFFFF 90%, transparent); backdrop-filter: blur(8px);
  transform: translateY(6px); transition: transform 0.35s var(--tp-ressort); }
.tp-mur-carte:hover .tp-mur-legende { transform: none; }
.tp-mur-legende > * { margin: 0 !important; }
.tp-mur-titre { font-size: var(--ac-fs-3) !important; font-weight: 650 !important; letter-spacing: -0.01em !important; }
.tp-mur-titre a { text-decoration: none; }
.tp-mur-titre a::after { content: ""; position: absolute; inset: 0; }
.tp-mur-texte { font-size: var(--ac-fs-1); color: color-mix(in srgb, var(--tp-encre) 70%, #FFFFFF); }
@media (max-width: 781px) {
  .tp-mur-grille, .tp-mur-grille.tp-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tp-mur-colonne--2 { display: contents; }
  .tp-mur-colonne { translate: none; margin-top: 0 !important; }
  .tp-mur-colonne--1 { margin-top: 2rem !important; }
}

/* --- Ruban incliné ------------------------------------------------------------------ */
.tp-ruban { padding: clamp(1.5rem, 3vw, 2.6rem) 0; overflow: hidden; }
.tp-ruban-bande { rotate: -2.2deg; margin: 0 -3vw; padding: 1rem 0; background: var(--tp-corail); color: #FFFFFF; box-shadow: 0 18px 40px -26px var(--tp-corail); }
.tp-mots-piste { overflow: hidden; }
.tp-mots-defile { display: flex; align-items: center; gap: clamp(1.4rem, 3vw, 2.6rem); width: max-content; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.6rem, 1.1rem + 2.2vw, 3rem); font-weight: 650; letter-spacing: -0.02em; line-height: 1; white-space: nowrap; }
.tp-mots-sep { width: 1.4em; height: 0.92em; flex: none; background: #FFFFFF; -webkit-mask: var(--tp-sc-masque) center / contain no-repeat; mask: var(--tp-sc-masque) center / contain no-repeat; }
@media (prefers-reduced-motion: no-preference) { html.has-js .tp-mots-defile { animation: tp-defile 32s linear infinite; } }
@media (prefers-reduced-motion: reduce) { .tp-mots-bis { display: none; } }
@keyframes tp-defile { to { transform: translateX(-50%); } }

/* --- Étapes sur pointillé corail ------------------------------------------------------ */
.tp-etapes-piste { position: relative; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 1.4rem; }
.tp-etapes-piste.tp-n2 { --n: 2; } .tp-etapes-piste.tp-n3 { --n: 3; } .tp-etapes-piste.tp-n4 { --n: 4; } .tp-etapes-piste.tp-n5 { --n: 5; }
.tp-pointille { position: absolute; left: calc(50% / var(--n)); right: calc(50% / var(--n)); top: 34px; height: 3px;
  background: repeating-linear-gradient(90deg, var(--tp-corail) 0 12px, transparent 12px 22px); transform-origin: left; transition: transform 1.4s var(--tp-doucement); }
html.has-js .tp-etapes-piste:not(.is-vu) .tp-pointille { transform: scaleX(0); }
.tp-etape { position: relative; text-align: center; }
.tp-etape > * { margin: 0 !important; }
.tp-etape-num { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 1.1rem !important; border-radius: 50%; background: var(--tp-indigo); color: #FFFFFF;
  font-family: var(--wp--preset--font-family--heading); font-size: 1.7rem; font-weight: 700; box-shadow: 0 0 0 8px var(--tp-lavande); transition: transform 0.5s var(--tp-ressort), background-color 0.3s ease; }
.has-surface-background-color .tp-etape-num { box-shadow: 0 0 0 8px var(--tp-lavande); }
html.has-js .tp-etapes-piste:not(.is-vu) .tp-etape-num { transform: scale(0.4); }
.tp-etapes-piste.is-vu .tp-etape:nth-child(3) .tp-etape-num { transition-delay: 0.25s; }
.tp-etapes-piste.is-vu .tp-etape:nth-child(4) .tp-etape-num { transition-delay: 0.5s; }
.tp-etapes-piste.is-vu .tp-etape:nth-child(5) .tp-etape-num { transition-delay: 0.75s; }
.tp-etapes-piste.is-vu .tp-etape:nth-child(6) .tp-etape-num { transition-delay: 1s; }
.tp-etape:hover .tp-etape-num { background: var(--tp-corail); transform: rotate(-8deg) scale(1.06); }
.tp-etape-titre { font-size: var(--ac-fs-4) !important; }
.tp-etape-texte { margin-top: 0.5rem !important; font-size: var(--ac-fs-2); color: color-mix(in srgb, var(--tp-encre) 76%, #FFFFFF); }
@media (max-width: 781px) {
  .tp-etapes-piste { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .tp-pointille { left: 34px; right: auto; top: 34px; bottom: 34px; width: 3px; height: auto; background: repeating-linear-gradient(180deg, var(--tp-corail) 0 12px, transparent 12px 22px); transform-origin: top; }
  html.has-js .tp-etapes-piste:not(.is-vu) .tp-pointille { transform: scaleY(0); }
  .tp-etape { text-align: left; padding-left: 92px; min-height: 70px; }
  .tp-etape-num { position: absolute; left: 0; top: 0; margin: 0 !important; }
}

/* --- Duo ---------------------------------------------------------------------------- */
.tp-duo-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 980px; margin: 0 auto; }
.tp-duo-col { padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: var(--tp-carte); background: var(--tp-lavande); }
.tp-duo-col > * { margin: 0 !important; }
.tp-duo-col .tp-bulle-titre { margin-top: 0.4rem !important; }
.tp-duo-col--indigo { background: var(--tp-indigo); color: #FFFFFF; }
.tp-duo-col--indigo .tp-bulle-titre { color: #FFFFFF; }
.tp-duo-col--indigo .tp-tag { color: color-mix(in srgb, var(--tp-corail) 60%, #FFFFFF); }
@media (max-width: 781px) { .tp-duo-grille { grid-template-columns: minmax(0, 1fr); } }

/* --- Chiffres sur île indigo ------------------------------------------------------------ */
.tp-chiffres { background: var(--tp-blanc) !important; }
.tp-chiffres-ligne { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 1rem; position: relative; z-index: 1; }
.tp-chiffres-ligne.tp-n1 { --n: 1; } .tp-chiffres-ligne.tp-n2 { --n: 2; } .tp-chiffres-ligne.tp-n3 { --n: 3; } .tp-chiffres-ligne.tp-n4 { --n: 4; }
.tp-chiffre { padding: 1.4rem 1.3rem; border-radius: var(--tp-carte); background: color-mix(in srgb, #FFFFFF 8%, transparent); }
.tp-chiffre > * { margin: 0 !important; }
.tp-chiffre-valeur { font-family: var(--wp--preset--font-family--heading); font-size: clamp(2.4rem, 1.6rem + 3vw, 4.2rem); font-weight: 700; letter-spacing: -0.04em; line-height: 1; color: #FFFFFF; }
.tp-chiffre-valeur::after { content: ""; display: block; width: 34px; height: 10px; margin-top: 0.8rem; background: var(--tp-corail); transform: skewX(-18deg); border-radius: 2px; }
.tp-chiffre-libelle { margin-top: 0.7rem !important; font-size: var(--ac-fs-2); color: color-mix(in srgb, #FFFFFF 80%, transparent); }
.tp-ile-sceau { position: absolute; right: -60px; top: -60px; width: clamp(180px, 22vw, 300px); opacity: 0.16; rotate: calc(12deg + var(--tp-m, 0) * 30deg); pointer-events: none; }
.tp-ile-sceau .sca-rond { fill: #FFFFFF !important; }
.tp-ile-sceau :is(.sca-sc, .sca-l1, .sca-l2) { fill: var(--tp-indigo) !important; }
@media (max-width: 781px) { .tp-chiffres-ligne { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* --- Appel : île corail, le logo se tamponne ---------------------------------------------- */
.tp-tampon { background: var(--tp-blanc) !important; }
.tp-ile--corail { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.tp-cta-titre { margin: 0 !important; font-size: var(--ac-fs-6) !important; color: #FFFFFF !important; }
.tp-cta-texte .tp-intro { color: color-mix(in srgb, #FFFFFF 90%, transparent) !important; }
.tp-cta-sceau { width: clamp(150px, 20vw, 280px); rotate: -8deg; filter: drop-shadow(0 22px 30px color-mix(in srgb, var(--tp-nuit) 40%, transparent)); }
html.has-js .tp-cta-sceau:not(.is-tamponne) { opacity: 0; transform: scale(1.8) rotate(-24deg); }
.tp-cta-sceau.is-tamponne { animation: tp-tamponne 0.75s cubic-bezier(0.5, 0, 0.2, 1.4) both; }
@keyframes tp-tamponne { 0% { opacity: 0; transform: scale(1.8) rotate(-24deg); } 60% { opacity: 1; transform: scale(0.94) rotate(2deg); } 100% { opacity: 1; transform: none; } }
.tp-ile--corail::after { content: ""; position: absolute; right: -8%; bottom: -40%; width: 46%; aspect-ratio: 1; border-radius: 50%; background: color-mix(in srgb, #FFFFFF 10%, transparent); pointer-events: none; }
.tp-ile--corail .tp-surtitre--clair { background: color-mix(in srgb, #FFFFFF 22%, transparent); }
.tp-ile--corail .tp-surtitre::before { background: #FFFFFF; }
@media (max-width: 781px) { .tp-ile--corail { grid-template-columns: minmax(0, 1fr); } .tp-cta-sceau { width: 120px; justify-self: end; } }

/* --- FAQ en bulles ------------------------------------------------------------------- */
.tp-faq-liste { display: grid; gap: 0.6rem; }
.tp-faq-liste details { border-radius: 22px; background: var(--tp-lavande); transition: background-color 0.2s ease; }
.has-surface-background-color .tp-faq-liste details { background: #FFFFFF; }
.tp-faq-liste summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.05rem 1.3rem; cursor: pointer; list-style: none;
  font-family: var(--wp--preset--font-family--heading); font-size: var(--ac-fs-4); font-weight: 600; letter-spacing: -0.02em; color: var(--tp-indigo); }
.tp-faq-liste summary::-webkit-details-marker { display: none; }
.tp-faq-liste summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #FFFFFF; color: var(--tp-corail); font-size: 1.3rem; transition: transform 0.35s var(--tp-ressort), background-color 0.2s ease, color 0.2s ease; }
.has-surface-background-color .tp-faq-liste summary::after { background: var(--tp-lavande); }
.tp-faq-liste details[open] summary::after { transform: rotate(135deg); background: var(--tp-corail); color: #FFFFFF; }
.tp-faq-liste details > :not(summary) { padding: 0 1.3rem; }
.tp-faq-liste details > :last-child { padding-bottom: 1.2rem; }
.tp-faq-liste details p { margin: 0 0 0.7rem; font-size: var(--ac-fs-2); color: color-mix(in srgb, var(--tp-encre) 82%, #FFFFFF); }

/* --- Coordonnées ----------------------------------------------------------------------- */
.tp-coords { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.9rem; }
.tp-coord { padding: 1.4rem; border-radius: var(--tp-carte); background: var(--tp-lavande); }
.has-surface-background-color .tp-coord { background: #FFFFFF; }
.tp-coord > * { margin: 0 !important; }
.tp-coord-libelle { font-size: var(--ac-fs-1); font-weight: 650; text-transform: uppercase; letter-spacing: 0.04em; color: var(--tp-corail-texte); }
.tp-coord-valeur { margin-top: 0.5rem !important; font-family: var(--wp--preset--font-family--heading); font-size: var(--ac-fs-4); font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; color: var(--tp-indigo); overflow-wrap: anywhere; }
.tp-coord-valeur a { text-decoration: none; }
.tp-coord-valeur a[href^="mailto:"] { font-size: 0.8em; }
.tp-coord-aide { margin-top: 0.4rem !important; font-size: var(--ac-fs-1); color: var(--tp-doux); }

/* --- Citation, logos, avant / après ---------------------------------------------------------- */
.tp-citation-bloc { margin: 0; border: 0; padding: 0; font-family: var(--wp--preset--font-family--heading); font-size: var(--ac-fs-5); font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; color: var(--tp-indigo); }
.tp-citation-bloc cite { display: block; margin-top: 1rem; font-family: var(--wp--preset--font-family--body); font-size: var(--ac-fs-2); font-style: normal; font-weight: 500; color: var(--tp-doux); }

/* --- Formulaire -------------------------------------------------------------------------- */
body.dir-tampon :is(.ac-form, .contact-form) :is(input:not([type=checkbox]), textarea, select) { border-radius: 16px !important; border: 2px solid var(--tp-lavande-2) !important; background: var(--tp-lavande) !important; }
body.dir-tampon :is(.ac-form, .contact-form) :is(input:not([type=checkbox]), textarea, select):focus { border-color: var(--tp-indigo) !important; background: #FFFFFF !important; }
body.dir-tampon :is(.ac-form button, .contact-form-submit, .contact-form input[type="submit"]) { border-radius: 999px !important; background: var(--tp-corail-bouton) !important; color: #FFFFFF !important; border: 0 !important; padding: 0.8rem 1.6rem !important; font-weight: 600 !important; }

/* --- Pied : île lavande, grand logo ------------------------------------------------------------ */
.tp-pied { margin: var(--tp-marge-ile) var(--tp-marge-ile) 0 !important; padding-left: max(20px, var(--wp--style--root--padding-left, 20px)) !important; padding-right: max(20px, var(--wp--style--root--padding-right, 20px)) !important; border-radius: var(--tp-rayon) var(--tp-rayon) 0 0; overflow: hidden; position: relative; }
.tp-pied p { margin: 0 !important; }
.tp-pied a { color: var(--tp-indigo); text-decoration: none; }
.tp-pied a:hover { color: var(--tp-corail-texte); text-decoration: underline; text-decoration-thickness: 2px; }
.tp-pied-haut { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: clamp(1.2rem, 3vw, 2.6rem); align-items: center; padding-bottom: clamp(1.8rem, 4vw, 3rem);
  border-bottom: 2px dashed color-mix(in srgb, var(--tp-indigo) 18%, transparent); }
.tp-pied-logo { width: clamp(88px, 9vw, 124px); }
.tp-pied-accroche { max-width: 46ch; font-family: var(--wp--preset--font-family--heading); font-size: var(--ac-fs-5); font-weight: 600; letter-spacing: -0.02em; line-height: 1.25; color: var(--tp-indigo); }
.tp-pied-grille { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(auto-fit, minmax(180px, 1fr)); gap: 2rem 3rem; padding: clamp(1.8rem, 4vw, 3rem) 0; }
.tp-pied-col > * + * { margin-top: 0.4rem !important; }
.tp-pied-titre { margin-bottom: 0.7rem !important; font-size: var(--ac-fs-1); font-weight: 650; text-transform: uppercase; letter-spacing: 0.05em; color: var(--tp-corail-texte); }
.tp-pied-adresse { color: color-mix(in srgb, var(--tp-encre) 80%, #FFFFFF); }
.tp-pied-bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.8rem; padding-top: 1.2rem; border-top: 1px solid color-mix(in srgb, var(--tp-indigo) 12%, transparent); font-size: var(--ac-fs-1); color: var(--tp-doux); }
@media (max-width: 900px) {
  .tp-pied-haut { grid-template-columns: auto minmax(0, 1fr); }
  .tp-pied-haut .wp-block-buttons { grid-column: 1 / -1; }
  .tp-pied-grille { grid-template-columns: minmax(0, 1fr); }
}

/* --- Moins d'animations : tout est posé --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .tp-hero-scene, .tp-hero-mur, .tp-hero-colonne, .tp-hero-texte, .tp-hero-logo, .tp-mur-colonne, .tp-ile-sceau { transform: none !important; translate: none !important; rotate: none !important; scale: none !important; margin: 0 !important; border-radius: 0 !important; opacity: 1 !important; }
  .tp-cta-sceau { opacity: 1 !important; transform: none !important; animation: none !important; }
  .sca * { animation: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .tp-pointille, .tp-etape-num { transform: none !important; transition: none !important; }
  .tp-bulle, .tp-sticker-fond, .tp-cadre-photo, .tp-pastille, .tp-btn .wp-block-button__link { transition: none !important; }
}

/* --- Téléphone : stickers sur deux colonnes, chiffres plus compacts ------------------------------ */
@media (max-width: 600px) {
  .tp-stickers-grille.tp-n4, .tp-stickers-grille.tp-n6, .tp-stickers-grille.tp-n8 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tp-chiffre-valeur { font-size: 2.1rem; white-space: nowrap; }
  .tp-chiffre { padding: 1.1rem 1rem; }
}

/* --- 04/11/2026 (retour d'Aymeric) : marges et respirations sur téléphone ---------------------------- */
.tp-btn .wp-block-button__link { max-width: 100%; overflow: visible; }
.tp-btn--lien .wp-block-button__link { white-space: nowrap; }
.tp-chiffre-libelle { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 781px) {
  body.dir-tampon { --tp-marge-ile: 10px; --tp-rayon: 26px; }
  .tp-sec { padding-top: 72px !important; padding-bottom: 72px !important; }
  .tp-sec.has-surface-background-color { padding-left: 18px !important; padding-right: 18px !important; }
  .tp-sec + .tp-sec.has-surface-background-color, .tp-sec.has-surface-background-color + .tp-sec { margin-top: 16px !important; }
  .tp-chiffres, .tp-tampon { padding-top: 40px !important; padding-bottom: 40px !important; }
  .tp-ile { padding: 30px 22px; }
  .tp-tete { margin-bottom: 1.6rem; }
  .tp-titre { font-size: clamp(1.75rem, 1.2rem + 3vw, 2.3rem) !important; overflow-wrap: break-word; hyphens: auto; }
  .tp-intro { font-size: var(--ac-fs-3); }
  .tp-hero-indice { display: none; }
  .tp-hero-plein .tp-hero-texte { left: 20px; right: 20px; width: auto; bottom: 44px; }
  .tp-hero-titre { font-size: clamp(2.1rem, 1.3rem + 4vw, 2.8rem) !important; overflow-wrap: break-word; }
  .tp-hero-plein .tp-chapo { font-size: var(--ac-fs-2); }
  .tp-hero-btns .wp-block-button, .tp-hero-btns .wp-block-button__link { width: 100%; justify-content: center; }
  .tp-hero-carte .tp-hero-titre, .tp-hero-sobre .tp-hero-titre { font-size: clamp(2rem, 1.3rem + 3.6vw, 2.6rem) !important; overflow-wrap: break-word; hyphens: auto; }
  .tp-hero-carte { padding-top: 32px !important; padding-bottom: 56px !important; }
  .tp-hero-grille { gap: 2.4rem; }
  .tp-chiffres-ligne { gap: 0.6rem; }
  .tp-chiffre { padding: 1rem 0.85rem; }
  .tp-chiffre-valeur { font-size: 1.9rem; }
  .tp-chiffre-libelle { font-size: var(--ac-fs-1); }
  .tp-bulle { padding: 1.3rem 1.2rem 1.4rem; }
  .tp-bulle-titre { font-size: var(--ac-fs-4) !important; }
  .tp-stickers-grille { gap: 1.4rem 0.8rem; }
  .tp-sticker-titre { font-size: var(--ac-fs-3) !important; overflow-wrap: break-word; hyphens: auto; }
  .tp-sticker-texte { font-size: var(--ac-fs-1); }
  .tp-mur-legende { left: 8px; right: 8px; bottom: 8px; padding: 0.45rem 0.65rem; border-radius: 12px; transform: none; }
  .tp-mur-titre { font-size: var(--ac-fs-1) !important; line-height: 1.25 !important; }
  .tp-mur-texte { display: none; }
  .tp-deux { gap: 2.2rem; }
  .tp-col-visuel { padding: 0 6px; }
  .tp-faq-liste summary { font-size: var(--ac-fs-3); padding: 0.95rem 1rem; }
  .tp-faq-liste details > :not(summary) { padding: 0 1rem; }
  .tp-coord { padding: 1.1rem 1.2rem; }
  .tp-ile--corail { gap: 1.2rem; }
  .tp-cta-titre { font-size: clamp(1.8rem, 1.2rem + 3vw, 2.3rem) !important; }
  .tp-cta-btns .wp-block-button { width: 100%; }
  .tp-cta-btns .wp-block-button__link { width: 100%; justify-content: center; }
  .tp-pied-haut { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
  .tp-pied-logo { width: 76px; }
  .tp-pied-accroche { font-size: var(--ac-fs-4); }
  .tp-pied-grille { gap: 1.6rem; }
  .tp-ruban { padding: 1.4rem 0; }
}
@media (max-width: 400px) {
  .tp-stickers-grille, .tp-stickers-grille.tp-n2, .tp-stickers-grille.tp-n3, .tp-stickers-grille.tp-n4, .tp-stickers-grille.tp-n6, .tp-stickers-grille.tp-n8 { gap: 1.2rem 0.6rem; }
  .tp-chiffres-ligne { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* --- 04/11/2026 : états de survol explicites (texte et fond toujours posés ensemble) ------------------------ */
.tp-btn--contour .wp-block-button__link:hover { background: var(--tp-indigo); color: #FFFFFF; border-color: var(--tp-indigo); }
.tp-ile .tp-btn--contour .wp-block-button__link:hover { background: #FFFFFF; color: var(--tp-indigo); }
.tp-btn--verre .wp-block-button__link:hover { background: #FFFFFF; color: var(--tp-indigo); border-color: #FFFFFF; }
.tp-btn--blanc .wp-block-button__link:hover { background: var(--tp-nuit); color: #FFFFFF; }
.tp-btn--lien .wp-block-button__link:hover { background: none; color: var(--tp-corail-texte); }
.tp-head .tp-btn .wp-block-button__link:hover { background: var(--tp-indigo); color: #FFFFFF; box-shadow: none; }
.tp-head.is-defile .nav-links a:hover, body:not(:has(.tp-hero-plein)) .tp-head .nav-links a:hover { background: var(--tp-lavande-2); color: var(--tp-indigo); }
.tp-bulle-titre a:hover, .tp-sticker-titre a:hover, .tp-mur-titre a:hover { color: var(--tp-corail-texte); }
.tp-coord-valeur a:hover { color: var(--tp-corail-texte); text-decoration: underline; }
body.dir-tampon .tp-prose a:hover, body.dir-tampon .tp-intro a:hover, body.dir-tampon .tp-fil a:hover { color: var(--tp-corail-texte); }
body.dir-tampon :is(.ac-form, .contact-form) :is(button, .contact-form-submit):hover { background: var(--tp-indigo) !important; color: #FFFFFF !important; }
.tp-ile--indigo a:not(.wp-block-button__link), .tp-ile--corail a:not(.wp-block-button__link) { color: #FFFFFF; }

.tp-ile--corail .tp-btn--verre .wp-block-button__link { background: transparent; border-color: #FFFFFF; backdrop-filter: none; }
.tp-ile--corail .tp-btn--verre .wp-block-button__link:hover { background: #FFFFFF; color: var(--tp-corail-texte); }

/* --- Formulaire de devis : île lavande comme les autres (et non une bande grise pleine largeur) --------------- */
body.dir-tampon .contact-section.has-surface-background-color { border-radius: var(--tp-rayon);
  margin-left: calc(var(--wp--style--root--padding-left, 0px) * -1 + var(--tp-marge-ile)) !important;
  margin-right: calc(var(--wp--style--root--padding-right, 0px) * -1 + var(--tp-marge-ile)) !important;
  margin-top: clamp(16px, 2.4vw, 32px) !important; margin-bottom: clamp(16px, 2.4vw, 32px) !important; }
body.dir-tampon .contact-section .contact-form-wrap, body.dir-tampon .contact-section form { border-radius: var(--tp-carte); border: 0 !important; background: #FFFFFF; }
@media (max-width: 781px) { body.dir-tampon .contact-section.has-surface-background-color { padding-left: 18px !important; padding-right: 18px !important; } }

/* --- 05/11/2026 (retour d'Aymeric) : fonds graphiques sur certaines sections, pour varier le rythme ---------------
   Posés par tampon.py (classe tp-deco-*), jamais deux fois de suite le même, toujours en dessous du contenu et
   très clairs (le texte garde son contraste). Motifs tirés de l'imprimerie : trame de points, croix de repérage,
   traits de coupe, lignes d'écran de sérigraphie, monogramme du logo. */
.tp-sec[class*="tp-deco-"] { overflow: clip; }
.tp-sec[class*="tp-deco-"]::before, .tp-sec[class*="tp-deco-"]::after { content: ""; position: absolute; z-index: 0; pointer-events: none; }
.tp-deco-points::before { right: -2%; top: 6%; width: min(46%, 560px); height: 78%;
  background: radial-gradient(circle, color-mix(in srgb, var(--tp-indigo) 24%, transparent) 2.6px, transparent 3.2px) 0 0 / 22px 22px;
  -webkit-mask: radial-gradient(closest-side, #000 25%, transparent 100%); mask: radial-gradient(closest-side, #000 25%, transparent 100%); }
.tp-deco-points::after { left: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; background: color-mix(in srgb, var(--tp-corail) 10%, transparent); }
.tp-deco-trame::before { left: 0; bottom: 0; width: min(58%, 720px); height: 64%;
  background: radial-gradient(circle, color-mix(in srgb, var(--tp-corail) 38%, transparent) 2.8px, transparent 3.4px) 0 0 / 18px 18px;
  -webkit-mask: linear-gradient(35deg, #000 0%, transparent 62%); mask: linear-gradient(35deg, #000 0%, transparent 62%); }
.tp-deco-repere::before { left: max(2vw, calc(50% - 690px)); top: 54px; width: 120px; height: 120px; background: color-mix(in srgb, var(--tp-corail) 55%, transparent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2'%3E%3Ccircle cx='50' cy='50' r='28'/%3E%3Cpath d='M50 4v92M4 50h92'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='11'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%23000' stroke-width='3.2'%3E%3Ccircle cx='50' cy='50' r='28'/%3E%3Cpath d='M50 4v92M4 50h92'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='11'/%3E%3C/svg%3E") center / contain no-repeat; rotate: calc(var(--tp-m, 0) * 40deg); }
.tp-deco-repere::after { right: max(2vw, calc(50% - 690px)); bottom: 48px; width: 96px; height: 96px; background: color-mix(in srgb, var(--tp-indigo) 34%, transparent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M0 20h14M20 0v14' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M0 20h14M20 0v14' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E") center / contain no-repeat; rotate: 180deg; }
.tp-deco-vague::before { left: -2%; right: -2%; top: 0; height: 52%; background: color-mix(in srgb, var(--tp-indigo) 13%, transparent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28'%3E%3Cpath d='M0 14 Q30 2 60 14 T120 14' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E") 0 0 / 120px 22px repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28'%3E%3Cpath d='M0 14 Q30 2 60 14 T120 14' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E") 0 0 / 120px 22px repeat;
  -webkit-mask-composite: source-in; translate: calc(var(--tp-m, 0) * 40px) 0; }
.tp-deco-vague::after { left: 0; right: 0; top: 0; height: 52%; background: linear-gradient(180deg, transparent 0%, var(--tp-blanc) 100%); }
.has-surface-background-color.tp-deco-vague::after { background: linear-gradient(180deg, transparent 0%, var(--tp-lavande) 100%); }
.tp-deco-sc::before { right: -3%; bottom: 4%; width: min(52vw, 640px); aspect-ratio: 324 / 212; background: color-mix(in srgb, var(--tp-indigo) 8%, transparent);
  -webkit-mask: var(--tp-sc-masque) center / contain no-repeat; mask: var(--tp-sc-masque) center / contain no-repeat; rotate: calc(-10deg + var(--tp-m, 0) * 8deg); }
.has-surface-background-color.tp-deco-sc::before { background: #FFFFFF; }
@media (max-width: 781px) {
  .tp-deco-points::before { width: 70%; height: 40%; }
  .tp-deco-trame::before { width: 90%; height: 40%; }
  .tp-deco-repere::before { width: 58px; height: 58px; top: 22px; left: 12px; }
  .tp-deco-repere::after { width: 42px; height: 42px; right: 12px; bottom: 18px; }
  .tp-deco-sc::before { width: 90vw; bottom: -6%; }
}
@media (prefers-reduced-motion: reduce) { .tp-sec[class*="tp-deco-"]::before { rotate: none !important; translate: none !important; } }

/* --- Cartes à icône (techniques) ---------------------------------------------------------------------------- */
.tp-bulles.tp-n7, .tp-bulles.tp-n8 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.tp-bulle-icone { width: 76px; height: 76px; margin: -0.4rem 0 0.9rem -0.3rem !important; border-radius: 22px; overflow: hidden; background: #F2F1F6; border: 4px solid #FFFFFF;
  box-shadow: 0 10px 22px -14px color-mix(in srgb, var(--tp-nuit) 50%, transparent); rotate: -4deg; transition: rotate 0.4s var(--tp-ressort), transform 0.4s var(--tp-ressort); }
.tp-bulle-icone .wp-block-image { margin: 0 !important; width: 100%; height: 100%; }
.tp-bulle-icone img { display: block; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.tp-bulle:hover .tp-bulle-icone { rotate: 4deg; transform: scale(1.06); }
.tp-bulle--icone .tp-trait { display: none; }

/* --- propre au client (theme-client.css) --- */
/* Seizeart Custom — finitions propres au client, direction Tampon (généré par _build_contenus.py, 04/11/2026) */
body.dir-tampon { --tp-sc-masque: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2260 118 322 212%22%3E%3Cpath fill=%22%23000%22 d=%22M290.25 326.99C287.70 326.82 286.70 326.69 281.28 325.87C277.17 325.25 270.13 323.42 267.50 322.30C267.16 322.15 265.75 321.62 264.38 321.12C263.00 320.62 260.64 319.58 259.12 318.81C257.61 318.04 256.04 317.25 255.62 317.05C254.61 316.56 252.12 315.05 249.38 313.27C248.20 312.50 245.80 310.69 243.23 308.64C240.93 306.80 235.00 300.87 232.50 297.91C229.53 294.39 225.06 287.75 222.62 283.22C221.72 281.54 220.81 279.94 220.61 279.66C220.41 279.37 220.25 278.89 220.25 278.60C220.25 278.30 220.05 277.81 219.80 277.50C219.41 277.01 219.32 276.99 219.04 277.33C218.74 277.69 218.03 280.36 217.63 282.62C216.91 286.73 213.21 295.31 210.48 299.21C209.87 300.08 209.21 301.04 209.01 301.33C208.20 302.53 206.55 304.48 204.76 306.34C202.92 308.26 198.29 312.19 196.85 313.06C196.45 313.30 195.17 314.11 194.00 314.86C188.01 318.69 179.44 322.07 170.75 324.03C166.92 324.90 161.44 325.71 157.62 325.99C155.56 326.14 153.20 326.37 152.38 326.49C150.26 326.81 135.00 326.65 131.25 326.27C120.32 325.17 115.14 324.15 107.62 321.63C102.49 319.91 96.79 317.36 93.62 315.38C89.60 312.86 88.35 312.03 87.74 311.46C87.35 311.09 86.26 310.18 85.32 309.43C83.29 307.81 79.00 303.39 78.16 302.06C77.84 301.54 77.38 300.96 77.16 300.78C76.93 300.59 75.99 299.29 75.06 297.90C72.88 294.61 72.85 294.57 72.17 293.25C71.85 292.63 71.47 291.90 71.31 291.62C70.39 290.02 68.46 285.52 67.76 283.38C67.31 282.00 66.80 280.48 66.62 280.00C66.29 279.10 65.03 274.36 64.53 272.12C63.93 269.47 63.21 263.76 63.17 261.38L63.12 258.88L74.82 258.81C82.07 258.77 86.70 258.84 86.98 258.99C87.35 259.18 87.49 259.78 87.74 262.05C88.19 266.28 89.94 273.35 91.39 276.79C91.73 277.58 92.00 278.37 92.00 278.53C92.00 279.47 95.85 286.01 97.62 288.10C97.90 288.42 98.35 288.95 98.62 289.27C98.90 289.60 99.29 290.11 99.50 290.40C100.28 291.54 105.22 295.59 107.60 297.05C111.63 299.53 115.71 301.42 119.03 302.35C125.55 304.18 129.53 304.90 135.88 305.37C142.11 305.84 145.74 305.84 152.21 305.38C159.23 304.88 166.44 303.43 171.75 301.43C174.96 300.22 175.52 299.94 179.67 297.45C182.43 295.80 183.33 295.09 185.23 293.10C186.48 291.80 187.69 290.42 187.93 290.05C188.16 289.68 188.65 288.98 189.02 288.50C189.58 287.76 190.23 286.64 191.72 283.83C193.48 280.50 194.77 271.44 194.25 265.99C193.99 263.30 193.16 259.30 192.65 258.29C192.47 257.92 192.24 257.31 192.15 256.92C192.06 256.53 191.68 255.75 191.30 255.19C190.93 254.63 190.51 254.00 190.38 253.78C188.68 251.02 187.54 249.69 184.45 246.84C183.53 245.99 179.02 243.15 176.91 242.08C174.81 241.02 169.27 238.75 168.75 238.74C168.54 238.74 168.16 238.57 167.89 238.37C167.62 238.17 167.16 238.00 166.86 238.00C166.56 238.00 165.82 237.83 165.22 237.61C163.84 237.13 158.33 235.66 155.38 234.99C154.14 234.71 152.73 234.38 152.25 234.26C151.77 234.13 150.47 233.86 149.38 233.65C145.66 232.94 134.13 230.54 133.75 230.40C133.54 230.32 132.19 230.03 130.75 229.76C129.31 229.48 127.06 229.03 125.75 228.74C124.44 228.45 122.64 228.07 121.75 227.88C120.86 227.69 119.06 227.25 117.75 226.89C116.44 226.53 114.70 226.08 113.88 225.89C113.05 225.70 112.04 225.42 111.62 225.27C111.21 225.12 109.32 224.49 107.42 223.85C105.52 223.22 103.66 222.54 103.29 222.35C102.93 222.16 102.52 222.00 102.40 222.00C101.98 222.00 97.13 219.70 94.62 218.31C91.77 216.74 88.61 214.77 87.73 214.02C87.40 213.74 86.55 213.09 85.84 212.57C83.56 210.90 79.93 207.15 77.91 204.39C75.74 201.41 73.40 197.06 72.54 194.38C72.24 193.41 71.83 192.29 71.65 191.88C71.23 190.95 70.32 186.16 70.00 183.12C69.48 178.35 69.88 169.04 70.73 165.80C70.87 165.29 71.16 163.97 71.39 162.88C72.33 158.37 74.88 152.29 77.47 148.40C78.11 147.45 78.96 146.14 79.38 145.49C81.24 142.54 87.47 136.58 91.45 133.91C97.19 130.07 105.28 126.32 110.62 125.03C111.17 124.90 112.64 124.51 113.88 124.17C126.55 120.67 148.07 120.32 162.00 123.39C163.58 123.73 165.27 124.13 165.75 124.27C166.23 124.41 167.19 124.68 167.88 124.87C173.56 126.47 175.24 127.12 180.88 129.88C187.30 133.03 192.77 137.10 198.00 142.65C202.06 146.96 206.09 153.48 208.41 159.50C208.75 160.39 209.20 161.52 209.39 162.00C210.98 165.86 212.68 173.93 212.80 178.25L212.88 180.62L201.11 180.69C188.48 180.76 188.50 180.76 188.46 179.50C188.36 176.50 187.01 170.87 185.57 167.50C185.42 167.16 184.96 166.07 184.54 165.08C181.68 158.40 175.85 152.32 168.81 148.69C167.52 148.03 166.28 147.39 166.05 147.27C163.78 146.09 158.94 144.58 155.25 143.89C154.08 143.67 152.56 143.39 151.88 143.25C149.52 142.78 142.67 142.25 139.15 142.26C132.08 142.27 123.49 143.39 118.25 144.97C114.49 146.10 113.76 146.39 110.89 147.87C106.82 149.96 104.77 151.41 102.29 153.96C98.69 157.66 96.53 161.37 95.29 166.00C93.98 170.87 93.70 175.12 94.38 179.39C95.29 185.02 97.31 189.12 100.89 192.62C104.01 195.67 104.69 196.15 109.13 198.43C112.35 200.07 112.69 200.21 117.50 201.86C120.70 202.96 127.12 204.66 129.40 205.00C130.97 205.24 137.34 206.62 140.50 207.41C141.39 207.63 142.65 207.90 143.30 208.01C143.94 208.12 145.12 208.38 145.92 208.58C146.72 208.79 148.61 209.20 150.12 209.50C154.43 210.35 158.30 211.20 162.38 212.18C164.44 212.67 166.57 213.16 167.12 213.27C169.38 213.70 172.51 214.52 174.70 215.24C175.98 215.66 177.16 216.00 177.32 216.00C177.49 216.00 178.19 216.28 178.88 216.62C179.56 216.96 180.25 217.24 180.41 217.24C180.95 217.26 186.10 219.44 189.00 220.87C196.26 224.47 200.26 227.29 205.78 232.68C206.79 233.67 207.83 234.78 208.09 235.14C209.04 236.47 209.12 235.72 209.04 226.43C208.97 217.19 209.23 210.91 209.88 206.19C210.77 199.72 212.10 192.85 212.63 192.00C212.71 191.86 212.89 191.05 213.02 190.19C213.16 189.33 213.48 187.95 213.74 187.12C214.00 186.30 214.40 185.01 214.62 184.25C215.29 181.98 217.00 177.37 217.94 175.28C218.27 174.54 218.69 173.53 218.87 173.03C219.35 171.67 223.25 164.07 224.27 162.50C224.76 161.74 225.66 160.34 226.27 159.38C226.87 158.41 227.88 156.97 228.50 156.16C229.12 155.36 229.74 154.52 229.88 154.29C230.01 154.06 230.75 153.14 231.51 152.25C232.28 151.36 233.29 150.12 233.76 149.50C234.24 148.88 234.72 148.30 234.84 148.22C234.96 148.13 236.37 146.78 237.98 145.22C239.58 143.65 241.44 141.93 242.12 141.38C244.73 139.25 249.04 136.08 250.62 135.12C251.53 134.57 252.83 133.77 253.52 133.34C255.47 132.12 262.96 128.52 265.25 127.71C267.65 126.86 271.92 125.56 273.75 125.13C274.51 124.95 276.02 124.56 277.12 124.27C282.71 122.78 292.48 121.87 300.12 122.13C307.61 122.39 316.45 123.52 320.31 124.72C320.76 124.86 321.91 125.16 322.88 125.40C329.71 127.06 336.05 129.72 344.53 134.49C350.49 137.84 359.26 145.43 363.67 151.06C366.07 154.13 367.62 156.25 368.11 157.12C368.33 157.54 368.97 158.61 369.52 159.50C370.53 161.13 374.00 167.96 374.00 168.31C374.00 168.41 374.44 169.65 374.98 171.06C375.52 172.47 376.20 174.47 376.50 175.50C376.80 176.53 377.20 177.88 377.39 178.50C377.58 179.12 377.92 180.74 378.15 182.11C378.55 184.48 378.54 184.60 378.11 184.92C377.74 185.18 375.30 185.24 365.76 185.22C359.23 185.20 353.54 185.12 353.12 185.03C352.50 184.90 352.32 184.69 352.05 183.75C347.56 168.19 340.03 158.43 327.22 151.54C315.54 145.27 298.89 143.33 284.12 146.54C278.39 147.78 270.78 150.74 266.63 153.34C265.94 153.78 265.05 154.30 264.65 154.50C264.26 154.70 263.47 155.27 262.90 155.75C262.34 156.24 261.20 157.14 260.38 157.76C255.60 161.33 250.27 167.65 246.70 173.96C244.56 177.75 244.41 178.03 243.40 180.25C242.39 182.47 239.75 189.84 239.75 190.45C239.75 190.64 239.59 191.15 239.40 191.59C239.04 192.39 237.75 197.51 237.29 200.00C236.59 203.77 236.04 208.24 235.48 214.71C235.13 218.66 235.30 233.53 235.73 237.50C236.11 240.92 236.97 246.89 237.26 248.00C237.38 248.48 237.61 249.68 237.76 250.66C238.20 253.52 240.50 261.28 242.13 265.38C244.25 270.74 248.02 277.59 250.86 281.25C253.18 284.24 256.18 287.71 257.28 288.69C257.88 289.22 258.78 290.04 259.26 290.52C259.75 290.99 260.86 291.88 261.73 292.50C262.59 293.12 263.88 294.09 264.59 294.65C266.66 296.30 274.04 299.84 278.62 301.38C288.78 304.80 304.45 305.18 315.62 302.27C319.57 301.25 320.26 301.02 322.92 299.86C327.78 297.75 330.42 296.19 334.45 293.07C338.48 289.93 343.43 284.41 345.23 281.04C345.42 280.67 345.73 280.26 345.90 280.12C346.26 279.84 349.00 274.86 349.00 274.49C349.00 274.36 349.23 274.02 349.50 273.75C349.99 273.26 350.33 273.25 362.63 273.25C373.31 273.25 375.29 273.30 375.40 273.60C375.66 274.28 373.99 278.39 370.82 284.88C369.12 288.34 366.63 292.42 364.24 295.62C363.63 296.45 362.85 297.54 362.50 298.04C361.06 300.14 354.20 307.18 351.50 309.34C348.76 311.53 346.51 313.20 345.12 314.09C344.30 314.62 343.18 315.37 342.62 315.74C342.07 316.12 340.39 317.07 338.88 317.85C337.36 318.64 336.02 319.39 335.89 319.51C335.76 319.64 335.50 319.75 335.31 319.75C335.12 319.75 334.38 320.02 333.67 320.34C332.96 320.67 331.48 321.24 330.38 321.62C329.27 321.99 328.15 322.42 327.88 322.57C327.61 322.71 327.05 322.92 326.63 323.03C326.22 323.13 325.37 323.39 324.75 323.59C320.41 325.01 313.45 326.29 306.88 326.88C302.71 327.25 294.78 327.31 290.25 326.99Z%22/%3E%3C/svg%3E"); }

/* --- styles en un clic de l'éditeur (générés par build-theme, ne pas retoucher) --- */
:root { --ac-fs-1: 0.8125rem; --ac-fs-2: 0.9375rem; --ac-fs-3: 1.0625rem; --ac-fs-4: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem); --ac-fs-5: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); --ac-fs-6: clamp(2.1rem, 1.5rem + 2.3vw, 3.4rem); --ac-fs-7: clamp(2.6rem, 1.4rem + 4.6vw, 5.4rem); --tp-indigo: var(--wp--preset--color--primary); --tp-nuit: var(--wp--preset--color--secondary); --tp-corail: var(--wp--preset--color--accent); --tp-corail-bouton: color-mix(in srgb, var(--tp-corail) 82%, #000); --tp-corail-texte: color-mix(in srgb, var(--tp-corail) 79%, #000); --tp-encre: color-mix(in srgb, var(--tp-nuit) 92%, #000); --tp-doux: color-mix(in srgb, var(--tp-indigo) 62%, #FFFFFF); --tp-lavande: color-mix(in srgb, var(--tp-indigo) 6%, #FFFFFF); --tp-lavande-2: color-mix(in srgb, var(--tp-indigo) 13%, #FFFFFF); --tp-blanc: #FFFFFF; --tp-rayon: clamp(28px, 3.6vw, 56px); --tp-carte: 28px; --tp-marge-ile: clamp(10px, 2vw, 28px); --tp-ombre: 0 18px 40px -22px color-mix(in srgb, var(--tp-nuit) 45%, transparent); --tp-ressort: cubic-bezier(0.2, 1.3, 0.35, 1); --tp-doucement: cubic-bezier(0.2, 0.8, 0.2, 1); --tp-sc-masque: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2260 118 322 212%22%3E%3Cpath fill=%22%23000%22 d=%22M290.25 326.99C287.70 326.82 286.70 326.69 281.28 325.87C277.17 325.25 270.13 323.42 267.50 322.30C267.16 322.15 265.75 321.62 264.38 321.12C263.00 320.62 260.64 319.58 259.12 318.81C257.61 318.04 256.04 317.25 255.62 317.05C254.61 316.56 252.12 315.05 249.38 313.27C248.20 312.50 245.80 310.69 243.23 308.64C240.93 306.80 235.00 300.87 232.50 297.91C229.53 294.39 225.06 287.75 222.62 283.22C221.72 281.54 220.81 279.94 220.61 279.66C220.41 279.37 220.25 278.89 220.25 278.60C220.25 278.30 220.05 277.81 219.80 277.50C219.41 277.01 219.32 276.99 219.04 277.33C218.74 277.69 218.03 280.36 217.63 282.62C216.91 286.73 213.21 295.31 210.48 299.21C209.87 300.08 209.21 301.04 209.01 301.33C208.20 302.53 206.55 304.48 204.76 306.34C202.92 308.26 198.29 312.19 196.85 313.06C196.45 313.30 195.17 314.11 194.00 314.86C188.01 318.69 179.44 322.07 170.75 324.03C166.92 324.90 161.44 325.71 157.62 325.99C155.56 326.14 153.20 326.37 152.38 326.49C150.26 326.81 135.00 326.65 131.25 326.27C120.32 325.17 115.14 324.15 107.62 321.63C102.49 319.91 96.79 317.36 93.62 315.38C89.60 312.86 88.35 312.03 87.74 311.46C87.35 311.09 86.26 310.18 85.32 309.43C83.29 307.81 79.00 303.39 78.16 302.06C77.84 301.54 77.38 300.96 77.16 300.78C76.93 300.59 75.99 299.29 75.06 297.90C72.88 294.61 72.85 294.57 72.17 293.25C71.85 292.63 71.47 291.90 71.31 291.62C70.39 290.02 68.46 285.52 67.76 283.38C67.31 282.00 66.80 280.48 66.62 280.00C66.29 279.10 65.03 274.36 64.53 272.12C63.93 269.47 63.21 263.76 63.17 261.38L63.12 258.88L74.82 258.81C82.07 258.77 86.70 258.84 86.98 258.99C87.35 259.18 87.49 259.78 87.74 262.05C88.19 266.28 89.94 273.35 91.39 276.79C91.73 277.58 92.00 278.37 92.00 278.53C92.00 279.47 95.85 286.01 97.62 288.10C97.90 288.42 98.35 288.95 98.62 289.27C98.90 289.60 99.29 290.11 99.50 290.40C100.28 291.54 105.22 295.59 107.60 297.05C111.63 299.53 115.71 301.42 119.03 302.35C125.55 304.18 129.53 304.90 135.88 305.37C142.11 305.84 145.74 305.84 152.21 305.38C159.23 304.88 166.44 303.43 171.75 301.43C174.96 300.22 175.52 299.94 179.67 297.45C182.43 295.80 183.33 295.09 185.23 293.10C186.48 291.80 187.69 290.42 187.93 290.05C188.16 289.68 188.65 288.98 189.02 288.50C189.58 287.76 190.23 286.64 191.72 283.83C193.48 280.50 194.77 271.44 194.25 265.99C193.99 263.30 193.16 259.30 192.65 258.29C192.47 257.92 192.24 257.31 192.15 256.92C192.06 256.53 191.68 255.75 191.30 255.19C190.93 254.63 190.51 254.00 190.38 253.78C188.68 251.02 187.54 249.69 184.45 246.84C183.53 245.99 179.02 243.15 176.91 242.08C174.81 241.02 169.27 238.75 168.75 238.74C168.54 238.74 168.16 238.57 167.89 238.37C167.62 238.17 167.16 238.00 166.86 238.00C166.56 238.00 165.82 237.83 165.22 237.61C163.84 237.13 158.33 235.66 155.38 234.99C154.14 234.71 152.73 234.38 152.25 234.26C151.77 234.13 150.47 233.86 149.38 233.65C145.66 232.94 134.13 230.54 133.75 230.40C133.54 230.32 132.19 230.03 130.75 229.76C129.31 229.48 127.06 229.03 125.75 228.74C124.44 228.45 122.64 228.07 121.75 227.88C120.86 227.69 119.06 227.25 117.75 226.89C116.44 226.53 114.70 226.08 113.88 225.89C113.05 225.70 112.04 225.42 111.62 225.27C111.21 225.12 109.32 224.49 107.42 223.85C105.52 223.22 103.66 222.54 103.29 222.35C102.93 222.16 102.52 222.00 102.40 222.00C101.98 222.00 97.13 219.70 94.62 218.31C91.77 216.74 88.61 214.77 87.73 214.02C87.40 213.74 86.55 213.09 85.84 212.57C83.56 210.90 79.93 207.15 77.91 204.39C75.74 201.41 73.40 197.06 72.54 194.38C72.24 193.41 71.83 192.29 71.65 191.88C71.23 190.95 70.32 186.16 70.00 183.12C69.48 178.35 69.88 169.04 70.73 165.80C70.87 165.29 71.16 163.97 71.39 162.88C72.33 158.37 74.88 152.29 77.47 148.40C78.11 147.45 78.96 146.14 79.38 145.49C81.24 142.54 87.47 136.58 91.45 133.91C97.19 130.07 105.28 126.32 110.62 125.03C111.17 124.90 112.64 124.51 113.88 124.17C126.55 120.67 148.07 120.32 162.00 123.39C163.58 123.73 165.27 124.13 165.75 124.27C166.23 124.41 167.19 124.68 167.88 124.87C173.56 126.47 175.24 127.12 180.88 129.88C187.30 133.03 192.77 137.10 198.00 142.65C202.06 146.96 206.09 153.48 208.41 159.50C208.75 160.39 209.20 161.52 209.39 162.00C210.98 165.86 212.68 173.93 212.80 178.25L212.88 180.62L201.11 180.69C188.48 180.76 188.50 180.76 188.46 179.50C188.36 176.50 187.01 170.87 185.57 167.50C185.42 167.16 184.96 166.07 184.54 165.08C181.68 158.40 175.85 152.32 168.81 148.69C167.52 148.03 166.28 147.39 166.05 147.27C163.78 146.09 158.94 144.58 155.25 143.89C154.08 143.67 152.56 143.39 151.88 143.25C149.52 142.78 142.67 142.25 139.15 142.26C132.08 142.27 123.49 143.39 118.25 144.97C114.49 146.10 113.76 146.39 110.89 147.87C106.82 149.96 104.77 151.41 102.29 153.96C98.69 157.66 96.53 161.37 95.29 166.00C93.98 170.87 93.70 175.12 94.38 179.39C95.29 185.02 97.31 189.12 100.89 192.62C104.01 195.67 104.69 196.15 109.13 198.43C112.35 200.07 112.69 200.21 117.50 201.86C120.70 202.96 127.12 204.66 129.40 205.00C130.97 205.24 137.34 206.62 140.50 207.41C141.39 207.63 142.65 207.90 143.30 208.01C143.94 208.12 145.12 208.38 145.92 208.58C146.72 208.79 148.61 209.20 150.12 209.50C154.43 210.35 158.30 211.20 162.38 212.18C164.44 212.67 166.57 213.16 167.12 213.27C169.38 213.70 172.51 214.52 174.70 215.24C175.98 215.66 177.16 216.00 177.32 216.00C177.49 216.00 178.19 216.28 178.88 216.62C179.56 216.96 180.25 217.24 180.41 217.24C180.95 217.26 186.10 219.44 189.00 220.87C196.26 224.47 200.26 227.29 205.78 232.68C206.79 233.67 207.83 234.78 208.09 235.14C209.04 236.47 209.12 235.72 209.04 226.43C208.97 217.19 209.23 210.91 209.88 206.19C210.77 199.72 212.10 192.85 212.63 192.00C212.71 191.86 212.89 191.05 213.02 190.19C213.16 189.33 213.48 187.95 213.74 187.12C214.00 186.30 214.40 185.01 214.62 184.25C215.29 181.98 217.00 177.37 217.94 175.28C218.27 174.54 218.69 173.53 218.87 173.03C219.35 171.67 223.25 164.07 224.27 162.50C224.76 161.74 225.66 160.34 226.27 159.38C226.87 158.41 227.88 156.97 228.50 156.16C229.12 155.36 229.74 154.52 229.88 154.29C230.01 154.06 230.75 153.14 231.51 152.25C232.28 151.36 233.29 150.12 233.76 149.50C234.24 148.88 234.72 148.30 234.84 148.22C234.96 148.13 236.37 146.78 237.98 145.22C239.58 143.65 241.44 141.93 242.12 141.38C244.73 139.25 249.04 136.08 250.62 135.12C251.53 134.57 252.83 133.77 253.52 133.34C255.47 132.12 262.96 128.52 265.25 127.71C267.65 126.86 271.92 125.56 273.75 125.13C274.51 124.95 276.02 124.56 277.12 124.27C282.71 122.78 292.48 121.87 300.12 122.13C307.61 122.39 316.45 123.52 320.31 124.72C320.76 124.86 321.91 125.16 322.88 125.40C329.71 127.06 336.05 129.72 344.53 134.49C350.49 137.84 359.26 145.43 363.67 151.06C366.07 154.13 367.62 156.25 368.11 157.12C368.33 157.54 368.97 158.61 369.52 159.50C370.53 161.13 374.00 167.96 374.00 168.31C374.00 168.41 374.44 169.65 374.98 171.06C375.52 172.47 376.20 174.47 376.50 175.50C376.80 176.53 377.20 177.88 377.39 178.50C377.58 179.12 377.92 180.74 378.15 182.11C378.55 184.48 378.54 184.60 378.11 184.92C377.74 185.18 375.30 185.24 365.76 185.22C359.23 185.20 353.54 185.12 353.12 185.03C352.50 184.90 352.32 184.69 352.05 183.75C347.56 168.19 340.03 158.43 327.22 151.54C315.54 145.27 298.89 143.33 284.12 146.54C278.39 147.78 270.78 150.74 266.63 153.34C265.94 153.78 265.05 154.30 264.65 154.50C264.26 154.70 263.47 155.27 262.90 155.75C262.34 156.24 261.20 157.14 260.38 157.76C255.60 161.33 250.27 167.65 246.70 173.96C244.56 177.75 244.41 178.03 243.40 180.25C242.39 182.47 239.75 189.84 239.75 190.45C239.75 190.64 239.59 191.15 239.40 191.59C239.04 192.39 237.75 197.51 237.29 200.00C236.59 203.77 236.04 208.24 235.48 214.71C235.13 218.66 235.30 233.53 235.73 237.50C236.11 240.92 236.97 246.89 237.26 248.00C237.38 248.48 237.61 249.68 237.76 250.66C238.20 253.52 240.50 261.28 242.13 265.38C244.25 270.74 248.02 277.59 250.86 281.25C253.18 284.24 256.18 287.71 257.28 288.69C257.88 289.22 258.78 290.04 259.26 290.52C259.75 290.99 260.86 291.88 261.73 292.50C262.59 293.12 263.88 294.09 264.59 294.65C266.66 296.30 274.04 299.84 278.62 301.38C288.78 304.80 304.45 305.18 315.62 302.27C319.57 301.25 320.26 301.02 322.92 299.86C327.78 297.75 330.42 296.19 334.45 293.07C338.48 289.93 343.43 284.41 345.23 281.04C345.42 280.67 345.73 280.26 345.90 280.12C346.26 279.84 349.00 274.86 349.00 274.49C349.00 274.36 349.23 274.02 349.50 273.75C349.99 273.26 350.33 273.25 362.63 273.25C373.31 273.25 375.29 273.30 375.40 273.60C375.66 274.28 373.99 278.39 370.82 284.88C369.12 288.34 366.63 292.42 364.24 295.62C363.63 296.45 362.85 297.54 362.50 298.04C361.06 300.14 354.20 307.18 351.50 309.34C348.76 311.53 346.51 313.20 345.12 314.09C344.30 314.62 343.18 315.37 342.62 315.74C342.07 316.12 340.39 317.07 338.88 317.85C337.36 318.64 336.02 319.39 335.89 319.51C335.76 319.64 335.50 319.75 335.31 319.75C335.12 319.75 334.38 320.02 333.67 320.34C332.96 320.67 331.48 321.24 330.38 321.62C329.27 321.99 328.15 322.42 327.88 322.57C327.61 322.71 327.05 322.92 326.63 323.03C326.22 323.13 325.37 323.39 324.75 323.59C320.41 325.01 313.45 326.29 306.88 326.88C302.71 327.25 294.78 327.31 290.25 326.99Z%22/%3E%3C/svg%3E"); }
.is-style-surtitre { display: flex; align-items: center; gap: 0.55rem; padding: 0.35rem 0.85rem 0.35rem 0.7rem; border-radius: 999px; background: var(--tp-lavande-2); color: var(--tp-indigo); font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.01em; }
.is-style-surtitre::before { content: ""; width: 1.05em; height: 0.42em; background: var(--tp-corail); transform: skewX(-18deg); border-radius: 2px; }
.tp-ile--corail .is-style-surtitre::before { background: #FFFFFF; }
.is-style-chapeau { font-size: var(--ac-fs-4); line-height: 1.5; color: color-mix(in srgb, var(--tp-encre) 78%, #FFFFFF); }
.tp-cta-texte .is-style-chapeau { color: color-mix(in srgb, #FFFFFF 90%, transparent) !important; }
@media (max-width: 781px) { .is-style-chapeau { font-size: var(--ac-fs-3); } }
body.dir-tampon .is-style-chapeau a:hover { color: var(--tp-corail-texte); }
.mot-accent.mot-accent { font-style: normal; color: var(--tp-corail); }
