/* Free Energy · « Le soleil de Saint-Leu, de l'aube au soir » */
@font-face { font-family: "Archivo"; src: url("polices/archivo.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; }
@font-face { font-family: "Archivo"; src: url("polices/archivo-italique.woff2") format("woff2"); font-weight: 100 900; font-stretch: 62% 125%; font-style: italic; font-display: swap; }
@font-face { font-family: "Instrument Sans"; src: url("polices/instrument.woff2") format("woff2"); font-weight: 400 700; font-stretch: 75% 100%; font-display: swap; }

:root {
  --rouge: #E2001A; --rouge-fonce: #A50014; --rouge-nuit: #5A000C;
  --nuit: #141416; --anthracite: #343233; --gris: #5E574C;
  --creme: #FBF7F1; --sable: #F3EDE3; --blanc: #FFFFFF;
  --soleil: #F6A821; --soleil-pale: #FFE29A; --aube: #F7C9B3;
  --cellule: #142A4E; --lagon: #2A8FB8; --tole: #8E9AA6;
  --titre: "Archivo", "Arial Narrow", sans-serif; --texte: "Instrument Sans", system-ui, sans-serif;
  --enveloppe: min(1240px, 100% - 32px);
  --rayon: 22px; --entete-h: 74px;
  --ombre: 0 24px 60px -28px rgba(20, 20, 22, .45), 0 6px 18px -10px rgba(20, 20, 22, .25);
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  --cellules: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='58' height='58'%3E%3Cpath d='M9 1.5H49L56.5 9V49L49 56.5H9L1.5 49V9Z' fill='%23C9DAEE' fill-opacity='.35' stroke='%232F5C96' stroke-width='1'/%3E%3Cpath d='M20 2V56M38 2V56' stroke='%238FA6C2' stroke-width='.9'/%3E%3C/svg%3E");
  --cellules-clair: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='58' height='58'%3E%3Cpath d='M9 1.5H49L56.5 9V49L49 56.5H9L1.5 49V9Z' fill='none' stroke='%23FFFFFF' stroke-width='1'/%3E%3Cpath d='M20 2V56M38 2V56' stroke='%23FFFFFF' stroke-width='.6'/%3E%3C/svg%3E");
}
@media (max-width: 760px) { :root { --entete-h: 62px; --rayon: 18px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--entete-h) + 12px); }
body { margin: 0; font-family: var(--texte); font-size: 1.0625rem; line-height: 1.6; color: var(--nuit); background: var(--creme); overflow-x: clip; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
.enveloppe { width: var(--enveloppe); margin-inline: auto; position: relative; }
.evitement { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--nuit); color: #fff; padding: 10px 16px; border-radius: 10px; }
.evitement:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--soleil); outline-offset: 3px; border-radius: 6px; }

/* ——— Typographie ——— */
.titre-heros, .titre-section, .titre-moyen { font-family: var(--titre); font-stretch: 112%; font-weight: 760; letter-spacing: -.015em; line-height: 1.04; text-wrap: balance; }
.titre-heros { font-size: clamp(2rem, 1.3rem + 2.3vw, 3.4rem); font-stretch: 104%; }
.titre-section { font-size: clamp(1.8rem, 1.2rem + 2.1vw, 3.05rem); }
.titre-moyen { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1.12; }
:is(.titre-heros, .titre-section, .titre-moyen) em { font-style: italic; color: var(--rouge); font-weight: 780; }
[data-titre-decoupe].pret { visibility: visible; }
.chapeau { font-size: clamp(1.06rem, 1rem + .3vw, 1.22rem); color: #3B3733; max-width: 34em; margin-top: 22px; }
.etiquette { display: inline-flex; align-items: center; gap: 10px; font-weight: 650; font-size: .92rem; letter-spacing: .02em; color: var(--anthracite); background: rgba(255, 255, 255, .78); border: 1px solid rgba(52, 50, 51, .12); padding: 7px 14px 7px 10px; border-radius: 999px; margin-bottom: 20px; box-shadow: 0 6px 18px -12px rgba(20, 20, 22, .4); }
.etiquette.clair { color: #fff; background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .22); }
.etiquette-traits { width: 26px; height: 17px; color: var(--rouge); flex: none; }
.etiquette.clair .etiquette-traits { color: #fff; }

/* ——— Boutons ——— */
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.bouton { --b: var(--rouge); display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 24px; border-radius: 999px; font-weight: 650; font-size: 1.02rem; text-decoration: none; border: 2px solid transparent; position: relative; overflow: hidden; isolation: isolate; transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s, background-color .3s, color .3s; -webkit-tap-highlight-color: transparent; }
.bouton svg { width: 20px; height: 20px; flex: none; transition: transform .3s; }
.bouton-plein { background: linear-gradient(180deg, #F0142D, var(--rouge) 55%, #C80017); color: #fff; box-shadow: 0 14px 28px -14px rgba(226, 0, 26, .75), inset 0 1px 0 rgba(255, 255, 255, .25); }
.bouton-plein::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .35) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s ease; }
.bouton-trait { border-color: var(--anthracite); color: var(--anthracite); background: rgba(255, 255, 255, .55); }
.bouton-clair { border-color: rgba(255, 255, 255, .7); color: #fff; background: rgba(255, 255, 255, .06); }
@media (hover: hover) {
  .bouton:hover { transform: translateY(-2px); }
  .bouton-plein:hover::after { transform: translateX(120%); }
  .bouton-trait:hover { background: var(--anthracite); color: #fff; }
  .bouton-clair:hover { background: #fff; color: var(--nuit); }
  .bouton:hover svg:last-child { transform: translateX(3px); }
}
.bouton:active { transform: scale(.97); }

/* ——— En-tête ——— */
.entete { position: fixed; inset: 0 0 auto 0; z-index: 40; background: rgba(251, 247, 241, .9); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid rgba(52, 50, 51, .08); transition: background-color .4s; }
@media (max-width: 760px) { .entete { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(251, 247, 241, .97); } }
.entete-ligne { width: min(1320px, 100% - 32px); margin-inline: auto; height: var(--entete-h); display: flex; align-items: center; gap: 18px; }
.entete-logo { display: block; flex: none; }
.entete-logo .logo { width: 158px; height: auto; }
.apercu { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rouge); border: 1.5px solid currentColor; border-radius: 999px; padding: 3px 9px; flex: none; }
.entete-nav { margin-left: auto; }
.entete-nav ul { display: flex; gap: 4px; }
.entete-nav a { display: block; padding: 10px 14px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: .98rem; color: #2B2927; transition: background-color .25s, color .25s; }
.entete-nav a:hover { background: rgba(52, 50, 51, .07); }
.entete-nav a[aria-current="page"] { color: var(--rouge); background: rgba(226, 0, 26, .07); }
.entete-tel { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 18px; border-radius: 999px; background: var(--nuit); color: #fff; text-decoration: none; font-weight: 650; flex: none; transition: background-color .25s, transform .25s; }
.entete-tel:hover { background: var(--rouge); }
.entete-tel svg { width: 18px; height: 18px; }
.tel-court { display: none; }
/* Le bouton menu : pilule pleine rouge avec le mot « Menu » (règle du 23 octobre) ; soleil sur tablette, où le bouton devis rouge est à côté */
.entete-menu { display: none; min-height: 46px; padding: 0 16px 0 13px; gap: 7px; border-radius: 999px; border: 0; background: var(--rouge); color: #fff; font: 700 .95rem/1 var(--texte); align-items: center; justify-content: center; cursor: pointer; flex: none; box-shadow: 0 10px 20px -12px rgba(226, 0, 26, .7); }
.entete-menu svg { width: 21px; height: 21px; flex: none; }
@media (min-width: 761px) { .entete-menu { background: var(--soleil); color: var(--nuit); box-shadow: 0 10px 20px -12px rgba(246, 168, 33, .8); } }
@media (max-width: 1100px) { .entete-nav { display: none; } .entete-tel { margin-left: auto; } .entete-menu { display: inline-flex; } }
@media (max-width: 760px) { .entete-logo .logo { width: 124px; } .entete-ligne { gap: 10px; } .entete-tel { min-height: 44px; padding: 0 14px; } }
@media (max-width: 900px) { .tel-long { display: none; } .tel-court { display: inline; } }
@media (max-width: 900px) and (min-width: 761px) { .entete-ligne { gap: 12px; } }
@media (max-width: 420px) { .tel-long { display: none; } .tel-court { display: inline; } .entete-logo .logo { width: 112px; } .apercu { font-size: .64rem; padding: 2px 7px; } }
@media (max-width: 480px) { .entete-ligne .entete-tel { width: 46px; padding: 0; justify-content: center; } .entete-tel .tel-long, .entete-tel .tel-court { display: none; } }
@media (max-width: 380px) { .entete-logo .logo { width: 100px; } .entete-ligne { gap: 8px; } .apercu { font-size: .6rem; padding: 2px 6px; } .entete-menu { padding: 0 13px 0 11px; gap: 6px; } }

/* Le fil de la journée : une piste sous l'en-tête, un petit soleil qui avance au défilement */
.fil { position: relative; height: 3px; }
.fil-piste { position: absolute; inset: 0; background: linear-gradient(90deg, #F7C9B3, #F6A821 25%, #7CC0E6 45%, #F6A821 68%, #E2001A 82%, #2A2F45 100%); opacity: .9; }
.fil-soleil { position: absolute; top: 50%; left: 0; width: 13px; height: 13px; margin: -6.5px 0 0 -6.5px; border-radius: 50%; background: radial-gradient(circle, #FFE29A 0 35%, #F6A821 36% 100%); box-shadow: 0 0 0 3px rgba(246, 168, 33, .25), 0 0 14px 3px rgba(246, 168, 33, .6); transform: translateX(var(--fil-x, 0px)); }

/* Le cadran (grand écran) : l'heure du soleil à Saint-Leu suit la lecture de la page, dans la marge de droite */
.cadran { display: none; }
@media (min-width: 1400px) {
  .cadran { display: block; position: fixed; right: 14px; top: 50%; z-index: 30; width: 60px; height: 340px; transform: translateY(-50%); pointer-events: none; }
  .cadran svg { width: 60px; height: 300px; }
  .cadran-piste { stroke: rgba(52, 50, 51, .25); stroke-width: 2; stroke-dasharray: 2 6; fill: none; }
  .cadran-graduations path { stroke: rgba(52, 50, 51, .32); stroke-width: 1.5; }
  .cadran-soleil { position: absolute; left: 30px; top: 10px; width: 0; height: 0; transform: translateY(var(--cadran-y, 0px)); }
  .cadran-soleil span { position: absolute; left: -11px; top: -11px; width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle, #FFE29A 0 35%, var(--cadran-c, #F6A821) 36% 100%); box-shadow: 0 0 18px 4px rgba(246, 168, 33, .55); }
  .cadran-heure { position: absolute; left: 0; width: 60px; top: 24px; transform: translateY(var(--cadran-y, 0px)); text-align: center; white-space: nowrap; font-weight: 700; font-size: .78rem; line-height: 1.15; color: var(--anthracite); background: rgba(251, 247, 241, .92); padding: 3px 0; border-radius: 8px; box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .5); }
  .cadran-heure small { display: block; font-weight: 500; font-size: .6rem; color: var(--gris); }
  body.sur-sombre .cadran-piste { stroke: rgba(255, 255, 255, .35); }
  body.sur-sombre .cadran-graduations path { stroke: rgba(255, 255, 255, .4); }
}

/* Menu sur téléphone */
.menu-mobile[hidden] { display: none; }
.menu-mobile { position: fixed; inset: 0; z-index: 60; }
.menu-fond { position: absolute; inset: 0; background: rgba(20, 20, 22, .55); }
.menu-panneau { position: absolute; top: 10px; right: 10px; left: 10px; background: var(--creme); border-radius: 24px; padding: 70px 22px 22px; box-shadow: var(--ombre); background-image: var(--grain); }
.menu-panneau ul { display: grid; gap: 4px; margin-bottom: 18px; }
.menu-panneau ul a { display: flex; align-items: center; min-height: 54px; padding: 0 16px; border-radius: 14px; text-decoration: none; font-family: var(--titre); font-stretch: 112%; font-weight: 700; font-size: 1.3rem; }
.menu-panneau ul a[aria-current="page"] { color: var(--rouge); background: rgba(226, 0, 26, .07); }
.menu-panneau .bouton { width: 100%; }
.menu-fermer { position: absolute; top: 12px; right: 12px; width: 48px; height: 48px; border-radius: 50%; border: 0; background: #fff; display: grid; place-items: center; cursor: pointer; }
.menu-fermer svg { width: 22px; height: 22px; }

main { padding-top: calc(var(--entete-h) + 3px); }

/* ——— Les fonds : chaque section a sa lumière, avec de la matière ——— */
[class*="fond-"] { position: relative; isolation: isolate; }
[class*="fond-"]::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
[class*="fond-"]::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: var(--grain); opacity: .14; mix-blend-mode: multiply; }
.fond-aube { background: linear-gradient(180deg, #FCE4D2 0%, #FDEFE2 42%, var(--creme) 100%); }
.fond-aube::before { background: radial-gradient(60% 70% at 92% 8%, rgba(246, 168, 33, .3), transparent 70%), repeating-conic-gradient(from 200deg at 96% 0%, rgba(246, 168, 33, .16) 0 2deg, transparent 2deg 9deg); -webkit-mask: linear-gradient(180deg, #000 0%, transparent 85%); mask: linear-gradient(180deg, #000 0%, transparent 85%); }
.fond-tole { background: linear-gradient(180deg, var(--creme), #F5EFE6); }
.fond-tole::before { background: repeating-linear-gradient(90deg, rgba(52, 50, 51, .16) 0 1px, transparent 1px 7px, rgba(255, 255, 255, .5) 7px 8px, transparent 8px 14px); -webkit-mask: radial-gradient(120% 60% at 50% 0%, #000 0 30%, transparent 75%); mask: radial-gradient(120% 60% at 50% 0%, #000 0 30%, transparent 75%); }
.fond-cellules { background: linear-gradient(180deg, #EAF2FA, #F4F6F6); }
.fond-cellules::before { background-image: var(--cellules); background-size: 58px 58px; opacity: .3; -webkit-mask: linear-gradient(180deg, transparent, #000 18%, #000 70%, transparent); mask: linear-gradient(180deg, transparent, #000 18%, #000 70%, transparent); }
.fond-dore { background: linear-gradient(180deg, #FFF5E2 0%, #FCE7C2 100%); }
.fond-dore::before { background: radial-gradient(50% 60% at 8% 100%, rgba(246, 168, 33, .35), transparent 70%), repeating-conic-gradient(from 300deg at 0% 100%, rgba(246, 168, 33, .2) 0 1.6deg, transparent 1.6deg 7deg); -webkit-mask: linear-gradient(0deg, #000, transparent 80%); mask: linear-gradient(0deg, #000, transparent 80%); }
.fond-lambrequins { background: linear-gradient(180deg, #F8EBDD, var(--creme) 50%, #F3EDE3); }
.fond-lambrequins::before { background: repeating-linear-gradient(90deg, rgba(142, 154, 166, .16) 0 1px, transparent 1px 9px); -webkit-mask: linear-gradient(180deg, #000, transparent 30%); mask: linear-gradient(180deg, #000, transparent 30%); }
.fond-coucher { background: linear-gradient(180deg, #F59A2A 0%, #EE5A1E 22%, var(--rouge) 52%, #9C0016 82%, #5A000C 100%); color: #fff; }
.fond-coucher::before { background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .14) 0 1px, transparent 1px 13px); -webkit-mask: linear-gradient(180deg, transparent 40%, #000 60%, #000); mask: linear-gradient(180deg, transparent 40%, #000 60%, #000); }
.fond-coucher::after { mix-blend-mode: overlay; opacity: .3; }
.fond-nuit { background: radial-gradient(80% 60% at 70% 0%, #1F2A4A 0%, transparent 70%), linear-gradient(180deg, #171A26, var(--nuit)); color: #fff; }
.fond-nuit::before { background-image: radial-gradient(1.4px 1.4px at 12% 18%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 32% 8%, #fff 50%, transparent 52%), radial-gradient(1.2px 1.2px at 58% 22%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 78% 12%, #fff 50%, transparent 52%), radial-gradient(1.6px 1.6px at 90% 30%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 46% 36%, #fff 50%, transparent 52%), var(--cellules-clair); background-size: auto, auto, auto, auto, auto, auto, 120px 72px; opacity: .16; }
.fond-nuit::after { mix-blend-mode: screen; opacity: .06; }
.fond-nuit-profond { background: #0E0F12; color: #E9E5DF; }
.fond-nuit-profond::before { background-image: var(--cellules-clair); background-size: 58px 58px; opacity: .05; }
.fond-ciel { background: linear-gradient(180deg, #DCEFFA 0%, #EEF6FB 45%, var(--creme) 100%); }
.fond-ciel::before { background: radial-gradient(40% 50% at 85% 10%, rgba(255, 226, 154, .55), transparent 70%), repeating-linear-gradient(90deg, rgba(42, 143, 184, .14) 0 1px, transparent 1px 7px); -webkit-mask: linear-gradient(180deg, #000, transparent 70%); mask: linear-gradient(180deg, #000, transparent 70%); }
.fond-cellules-sombre { background: linear-gradient(160deg, #0F2140, var(--cellule) 50%, #0B1830); color: #fff; }
.fond-cellules-sombre::before { background-image: var(--cellules-clair); background-size: 58px 58px; opacity: .13; -webkit-mask: radial-gradient(90% 90% at 50% 40%, #000 30%, transparent 85%); mask: radial-gradient(90% 90% at 50% 40%, #000 30%, transparent 85%); }
.fond-cellules-sombre::after { mix-blend-mode: screen; opacity: .05; }

/* Frises de lambrequins */
.frise { width: 100%; height: 18px; }
.frise-bas { position: absolute; left: 0; right: 0; bottom: -1px; height: 18px; transform: scaleY(-1); }
.frise-haut { position: absolute; left: 0; right: 0; top: 0; height: 18px; filter: drop-shadow(0 4px 4px rgba(52, 50, 51, .08)); }

/* ——— Sections ——— */
section { padding-block: clamp(72px, 9vw, 132px); }
.tete-section { max-width: 820px; margin-bottom: clamp(36px, 5vw, 64px); }
.tete-centree { margin-inline: auto; text-align: center; }
.tete-ligne { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.tete-ligne > div { max-width: 780px; }

/* ——— Haut de page ——— */
.heros { padding-block: clamp(30px, 5vw, 70px) clamp(70px, 8vw, 110px); overflow: clip; }
.heros-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.pastilles { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.pastilles li { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px 6px 8px; background: rgba(255, 255, 255, .85); border: 1px solid rgba(52, 50, 51, .1); border-radius: 999px; font-weight: 600; font-size: .9rem; box-shadow: 0 6px 16px -12px rgba(0, 0, 0, .4); }
.pastilles img { height: 22px; width: auto; border-radius: 4px; }
.pastilles svg { width: 20px; height: 20px; color: var(--rouge); flex: none; }
.pastilles li:has(svg) { padding-left: 12px; }
.pastille-statut { padding-left: 14px !important; }
.statut-point { width: 10px; height: 10px; border-radius: 50%; background: #9AA1A8; flex: none; }
[data-statut].ouvert .statut-point { background: #1E9E52; box-shadow: 0 0 0 4px rgba(30, 158, 82, .18); animation: pouls 2.4s ease-in-out infinite; }
[data-statut].ferme .statut-point { background: var(--soleil); }
@keyframes pouls { 50% { box-shadow: 0 0 0 7px rgba(30, 158, 82, 0); } }
.heros-visuel { position: relative; }
.fenetre-scene { position: relative; border-radius: calc(var(--rayon) + 6px); padding: 9px; background: linear-gradient(145deg, #F4F6F8, #C9D2DC 40%, #EEF1F4 60%, #AEB8C3); box-shadow: var(--ombre), inset 0 1px 0 #fff; }
.fenetre-scene > svg { width: 100%; height: auto; border-radius: var(--rayon); aspect-ratio: 4 / 3; background: #BFE2F2; }
.fenetre-scene > .scene-journee { aspect-ratio: 1000 / 620; background: #0E1730; }
.fenetre-scene::after { content: ""; position: absolute; inset: 9px; border-radius: var(--rayon); background-image: var(--grain); opacity: .1; mix-blend-mode: multiply; pointer-events: none; }
.fenetre-sombre { background: linear-gradient(145deg, #3A3F48, #1A1C21 50%, #4B515B); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .15); }
.scene-legende { position: absolute; left: 26px; bottom: -18px; }
.scene-legende span { display: inline-block; background: var(--nuit); color: #fff; font-weight: 600; font-size: .88rem; padding: 8px 14px; border-radius: 999px; box-shadow: var(--ombre); }
.scene-legende span::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--rouge); margin-right: 8px; vertical-align: 1px; }

/* animations continues des scènes (seulement à l'écran) */
.rayons { transform-box: fill-box; transform-origin: center; }
.anime-en-boucle .rayons { animation: tourne 60s linear infinite; }
@keyframes tourne { to { transform: rotate(360deg); } }
.anime-en-boucle .palme-feuilles { animation: balance 5.5s ease-in-out infinite alternate; }
.anime-en-boucle .palme-2 .palme-feuilles { animation-duration: 6.8s; animation-delay: -2s; }
@keyframes balance { from { transform: rotate(-2.2deg); } to { transform: rotate(2.6deg); } }
.anime-en-boucle .vague { animation: vague 7s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
@keyframes vague { from { transform: translateX(-14px); opacity: .2; } to { transform: translateX(22px); opacity: .6; } }
.anime-en-boucle .voilier { animation: voilier 26s ease-in-out infinite alternate; }
@keyframes voilier { to { transform: translateX(-90px); } }
.anime-en-boucle .nuage { animation: nuage 40s ease-in-out infinite alternate; }
.anime-en-boucle .n2 { animation-duration: 55s; }
@keyframes nuage { to { transform: translateX(-60px); } }
.reflet { opacity: 0; }
.anime-en-boucle .reflet { animation: reflet 7s ease-in-out infinite; animation-delay: 2.6s; }
@keyframes reflet { 0% { transform: skewX(-20deg) translateX(-160px); opacity: 0; } 8% { opacity: 1; } 30% { transform: skewX(-20deg) translateX(820px); opacity: 0; } 100% { transform: skewX(-20deg) translateX(820px); opacity: 0; } }
.anime-en-boucle .recif { animation: recif 5s ease-in-out infinite alternate; }
@keyframes recif { to { opacity: .35; transform: translateX(-10px); } }
.f { stroke-dasharray: 6 9; }
.anime-en-boucle .f { animation: flux 1.6s linear infinite; }
@keyframes flux { to { stroke-dashoffset: -30; } }
.anime-en-boucle .etoile { animation: scintille 3.2s ease-in-out infinite alternate; animation-delay: var(--d, 0s); }
@keyframes scintille { to { opacity: .25; } }
.anime-en-boucle .pouls { animation: pouls-ile 2.6s ease-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes pouls-ile { from { transform: scale(.6); opacity: .5; } to { transform: scale(2.2); opacity: 0; } }

/* ——— Ruban qui défile ——— */
.ruban-zone { position: relative; z-index: 3; overflow: clip; overflow-clip-margin: 0; margin-top: -48px; margin-bottom: -26px; padding-block: 24px; }
.ruban { position: relative; z-index: 3; background: var(--rouge); color: #fff; transform: rotate(-1.6deg) scaleX(1.04); margin: 0; padding: 15px 0; overflow: hidden; box-shadow: 0 16px 34px -18px rgba(165, 0, 20, .7); background-image: linear-gradient(90deg, rgba(0, 0, 0, .12), transparent 20%, transparent 80%, rgba(0, 0, 0, .12)), var(--grain); }
.ruban-piste { display: flex; width: max-content; }
.anime-en-boucle .ruban-piste, .ruban.anime-en-boucle .ruban-piste { animation: ruban 38s linear infinite; }
@keyframes ruban { to { transform: translateX(-50%); } }
.ruban p { display: flex; align-items: center; gap: 22px; padding-right: 22px; white-space: nowrap; font-family: var(--titre); font-stretch: 118%; font-weight: 700; font-size: clamp(1.05rem, .9rem + .6vw, 1.45rem); letter-spacing: .01em; }
.traits-orn { width: 34px; height: 22px; color: #fff; opacity: .9; }

/* ——— Les chemins (accueil) ——— */
.chemins { padding-top: clamp(96px, 11vw, 150px); }
.chemins-liste { border-top: 1.5px solid rgba(52, 50, 51, .2); }
.chemin { display: grid; grid-template-columns: 70px minmax(0, 1.1fr) minmax(0, 1fr) 56px; align-items: center; gap: 24px; padding: 28px 8px; border-bottom: 1.5px solid rgba(52, 50, 51, .2); text-decoration: none; position: relative; isolation: isolate; transition: color .35s; }
.chemin::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(226, 0, 26, .06), rgba(246, 168, 33, .1)); transform: scaleY(0); transform-origin: bottom; transition: transform .45s cubic-bezier(.2, .8, .2, 1); border-radius: 14px; }
.chemin-num { font-family: var(--titre); font-stretch: 125%; font-weight: 600; color: var(--rouge); font-size: 1rem; letter-spacing: .06em; }
.chemin-nom { font-family: var(--titre); font-stretch: 122%; font-weight: 780; font-size: clamp(1.7rem, 1rem + 2.6vw, 3.4rem); line-height: 1; letter-spacing: -.02em; transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.chemin-phrase { color: #3B3733; font-size: 1.05rem; max-width: 28em; }
.chemin-photo { position: absolute; right: 120px; top: 50%; width: 230px; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; border: 6px solid #E3E8EE; box-shadow: var(--ombre); transform: translateY(-50%) rotate(-4deg) scale(.6); opacity: 0; pointer-events: none; transition: transform .5s cubic-bezier(.2, .8, .2, 1), opacity .35s; z-index: 2; }
.chemin-photo img { width: 100%; height: 100%; object-fit: cover; }
.chemin-fleche { width: 56px; height: 56px; border-radius: 50%; border: 1.5px solid var(--anthracite); display: grid; place-items: center; transition: background-color .3s, color .3s, transform .3s; }
.chemin-fleche svg { width: 22px; height: 22px; }
@media (hover: hover) and (min-width: 1000px) {
  .chemin:hover::before { transform: scaleY(1); }
  .chemin:hover .chemin-nom { transform: translateX(10px); color: var(--rouge); }
  .chemin:hover .chemin-photo { opacity: 1; transform: translateY(-50%) rotate(3deg) scale(1); }
  .chemin:hover .chemin-fleche { background: var(--rouge); border-color: var(--rouge); color: #fff; transform: rotate(-35deg); }
  .chemin:hover .chemin-phrase { opacity: 0; }
}
.chemin:active .chemin-fleche { background: var(--rouge); color: #fff; border-color: var(--rouge); }
@media (max-width: 999px) {
  .chemin { grid-template-columns: 96px minmax(0, 1fr) 48px; grid-template-areas: "photo num fleche" "photo nom fleche" "photo phrase fleche"; gap: 2px 16px; padding: 20px 0; }
  .chemin-num { grid-area: num; font-size: .85rem; }
  .chemin-nom { grid-area: nom; font-size: clamp(1.45rem, 1.1rem + 2vw, 2rem); }
  .chemin-phrase { grid-area: phrase; font-size: .98rem; margin-top: 6px; }
  .chemin-photo { grid-area: photo; position: static; width: 96px; height: 96px; aspect-ratio: auto; transform: rotate(-3deg); opacity: 1; border-width: 4px; align-self: center; }
  .chemin-fleche { grid-area: fleche; width: 48px; height: 48px; }
}

/* ——— La journée du soleil ——— */
.journee { padding: 0; position: relative; color: #fff; background: #0E1730; }
.journee-scene { position: relative; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; padding-block: calc(var(--entete-h) + 24px) 40px; overflow: hidden; isolation: isolate; }
.journee-ciel { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, var(--jc1, #3E7FB5), var(--jc2, #9FCBE6)); transition: none; }

.journee-ciel::before { content: ""; position: absolute; inset: 0; background-image: var(--grain); opacity: .12; mix-blend-mode: overlay; }
.journee-grille { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.4fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.journee .titre-section { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.15rem); text-shadow: 0 2px 18px rgba(0, 0, 0, .18); }
.journee-faits { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.journee-faits li { background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .28); border-radius: 14px; padding: 7px 12px; line-height: 1.2; }
.journee-faits small { display: block; font-size: .78rem; opacity: .85; }
.journee-faits strong { font-family: var(--titre); font-stretch: 112%; font-size: 1.15rem; }
.journee-legende { margin-top: 22px; background: rgba(14, 23, 48, .55); border: 1px solid rgba(255, 255, 255, .18); border-radius: 18px; padding: 16px 18px; min-height: 152px; }
.journee-heure { font-family: var(--titre); font-stretch: 118%; font-weight: 780; font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.7rem); line-height: 1; color: var(--soleil-pale); font-variant-numeric: tabular-nums; }
.journee-phrase { margin-top: 10px; font-size: 1.04rem; }
.journee-liste { display: none; }
.journee-note { margin-top: 10px; font-size: .85rem; opacity: .85; }
.journee .etiquette { margin-bottom: 14px; }
.scene-journee .f { opacity: 0; transition: opacity .35s; }
.scene-journee .f.actif { opacity: 1; }
html:not(.js) .journee-legende, .reduit .journee-legende { display: none; }
html:not(.js) .journee-liste, .reduit .journee-liste { display: grid; gap: 10px; margin-top: 18px; padding-left: 20px; list-style: decimal; }
html:not(.js) .scene-journee .f, .reduit .scene-journee .f { opacity: 1; }
@media (max-width: 899px) {
  .journee-scene { align-items: flex-start; padding-top: calc(var(--entete-h) + 14px); padding-bottom: 20px; }
  .journee-grille { grid-template-columns: 1fr; gap: 12px; }
  .journee-visuel { order: -1; }
  .journee .etiquette { display: none; }
  .journee .titre-section { font-size: 1.3rem; line-height: 1.15; }
  .journee-faits { margin-top: 10px; gap: 6px; }
  .journee-faits li { padding: 5px 10px; }
  .journee-faits strong { font-size: 1rem; }
  .journee-legende { margin-top: 10px; padding: 12px 14px; min-height: 128px; }
  .journee-heure { font-size: 1.6rem; }
  .journee-phrase { font-size: 1rem; margin-top: 6px; }
  .journee-note { display: none; }
  .journee .fenetre-scene { padding: 6px; }
  .journee .fenetre-scene > .scene-journee { aspect-ratio: 1000 / 700; }
}
@media (max-width: 899px) and (max-height: 700px) { .journee .titre-section { display: none; } }

/* ——— Étapes ——— */
.etapes-liste { position: relative; max-width: 980px; margin-inline: auto; display: grid; gap: 18px; counter-reset: e; }
.etapes-liste::before { content: ""; position: absolute; left: 31px; top: 20px; bottom: 20px; width: 3px; background: rgba(52, 50, 51, .14); border-radius: 3px; }
.etapes-liste::after { content: ""; position: absolute; left: 31px; top: 20px; width: 3px; height: calc((100% - 40px) * var(--avance, 1)); background: linear-gradient(180deg, var(--soleil), var(--rouge)); border-radius: 3px; }
.etape { position: relative; display: grid; grid-template-columns: 66px 64px minmax(0, 1fr); gap: 0 22px; align-items: center; background: rgba(255, 255, 255, .82); border: 1px solid rgba(20, 42, 78, .1); border-radius: 22px; padding: 18px 26px 18px 0; box-shadow: 0 14px 34px -26px rgba(20, 42, 78, .55); transition: transform .35s, box-shadow .35s; }
.etape:nth-child(even) { margin-left: clamp(0px, 6vw, 80px); }
.etape-num { position: relative; z-index: 1; justify-self: center; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--rouge); color: #fff; font-family: var(--titre); font-weight: 800; font-stretch: 112%; box-shadow: 0 0 0 6px #F3F5F8; margin-left: 12px; }
.etapes-liste .etape:nth-child(even) .etape-num { margin-left: calc(12px - clamp(0px, 6vw, 80px)); }
.etape-icone { width: 58px; height: 58px; fill: none; stroke: var(--cellule); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.etape h3 { font-family: var(--titre); font-stretch: 108%; font-weight: 720; font-size: 1.22rem; line-height: 1.2; }
.etape p { margin-top: 6px; color: #403C38; }
@media (hover: hover) { .etape:hover { transform: translateX(6px); box-shadow: 0 20px 40px -24px rgba(20, 42, 78, .6); } }
@media (max-width: 760px) {
  .etapes-liste::before, .etapes-liste::after { left: 19px; }
  .etape { grid-template-columns: 40px minmax(0, 1fr); padding: 16px 16px 16px 0; gap: 10px 14px; align-items: start; }
  .etape:nth-child(even) { margin-left: 0; }
  .etapes-liste .etape:nth-child(even) .etape-num { margin-left: 0; }
  .etape-num { margin-left: 0; width: 38px; height: 38px; }
  .etape-icone { display: none; }
  .etape > div { grid-column: 2; }
  .etape-num { grid-row: 1 / span 2; }
}

/* ——— Cadres en aluminium (photos) ——— */
.cadre { position: relative; }
.cadre-photo { position: relative; border-radius: 16px; padding: 7px; background: linear-gradient(145deg, #F4F6F8, #BCC6D1 35%, #EEF1F4 55%, #A7B2BE); box-shadow: var(--ombre), inset 0 1px 0 #fff; overflow: hidden; }
.cadre-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; display: block; transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.cadre-photo::after { content: ""; position: absolute; inset: 7px; border-radius: 10px; background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .38) 50%, transparent 65%); transform: translateX(-130%); transition: transform 1s ease; pointer-events: none; }
@media (hover: hover) { .cadre:hover .cadre-photo img { transform: scale(1.04); } .cadre:hover .cadre-photo::after { transform: translateX(130%); } }
.cadre figcaption { position: absolute; left: 16px; bottom: 16px; max-width: calc(100% - 32px); background: rgba(20, 20, 22, .82); color: #fff; font-size: .84rem; font-weight: 600; padding: 6px 12px; border-radius: 999px; }

/* ——— Chantiers : mosaïque ——— */
.mosaique { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 92px; gap: 18px; }
.mosaique .cadre, .mosaique .cadre-photo { height: 100%; }
.m-a { grid-column: 1 / span 7; grid-row: span 5; }
.m-b { grid-column: 8 / span 5; grid-row: span 3; }
.m-c { grid-column: 8 / span 5; grid-row: span 2; }
.m-d { grid-column: 1 / span 4; grid-row: span 3; }
.m-e { grid-column: 5 / span 3; grid-row: span 3; }
.m-f { grid-column: 8 / span 5; grid-row: span 3; }
@media (max-width: 760px) {
  .mosaique { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 64px; gap: 12px; }
  .m-a { grid-column: 1 / -1; grid-row: span 4; }
  .m-b { grid-column: 1 / span 3; grid-row: span 3; }
  .m-c { grid-column: 4 / span 3; grid-row: span 3; }
  .m-d { grid-column: 1 / span 3; grid-row: span 3; }
  .m-e { grid-column: 4 / span 3; grid-row: span 3; }
  .m-f { grid-column: 1 / -1; grid-row: span 3; }
  .cadre figcaption { left: 10px; bottom: 10px; font-size: .78rem; padding: 4px 10px; }
}

/* ——— Qui nous sommes ——— */
.maison { padding-top: clamp(90px, 10vw, 140px); }
.maison-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.maison-photos { position: relative; padding-bottom: 90px; }
.maison-grande .cadre-photo { aspect-ratio: 5 / 3.2; }
.maison-petite { position: absolute; right: -14px; bottom: 0; width: 44%; transform: rotate(3deg); }
.maison-petite .cadre-photo { aspect-ratio: 4 / 3; }
.maison .titre-section { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem); }
.maison-texte > p { margin-top: 20px; color: #3B3733; font-size: 1.08rem; }
.chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.chiffres li { background: #fff; border-radius: 18px; padding: 16px; border: 1px solid rgba(52, 50, 51, .08); box-shadow: 0 14px 30px -24px rgba(0, 0, 0, .5); position: relative; overflow: hidden; }
.chiffres li::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(var(--soleil), var(--rouge)); }
.chiffres strong { display: block; font-family: var(--titre); font-stretch: 118%; font-weight: 800; font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); line-height: 1; color: var(--rouge); white-space: nowrap; }
.chiffres strong span { display: inline; font-size: inherit; color: inherit; margin: 0; }
.chiffres li > span { display: block; margin-top: 6px; font-size: .9rem; color: var(--gris); line-height: 1.3; }
.confiance { margin-top: clamp(56px, 7vw, 90px); padding: clamp(22px, 3vw, 34px); background: rgba(255, 255, 255, .72); border: 1px solid rgba(52, 50, 51, .08); border-radius: 26px; box-shadow: 0 20px 50px -36px rgba(0, 0, 0, .5); }
.confiance-titre { font-weight: 700; color: var(--gris); font-size: .95rem; text-align: center; }
.logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; align-items: center; margin-top: 18px; }
.logos li { display: grid; place-items: center; height: 72px; padding: 8px; background: #fff; border-radius: 14px; border: 1px solid rgba(52, 50, 51, .06); transition: transform .3s; }
.logos img { max-height: 54px; width: auto; max-width: 100%; object-fit: contain; }
@media (hover: hover) { .logos li:hover { transform: translateY(-3px); } }
.kap { display: flex; align-items: center; gap: 16px; margin-top: 20px; padding: 16px 20px; border-radius: 18px; background: linear-gradient(100deg, #FFF3DA, #FFE4B0); border: 1px solid rgba(246, 168, 33, .35); }
.kap-soleil { flex: none; width: 46px; height: 46px; border-radius: 50%; background: radial-gradient(circle, #FFE29A 0 30%, var(--soleil) 31% 58%, transparent 60%), repeating-conic-gradient(var(--soleil) 0 8deg, transparent 8deg 30deg); }
.kap p { color: #3B2F1C; }
@media (max-width: 899px) {
  .maison-grille { grid-template-columns: 1fr; }
  .maison-photos { padding-bottom: 70px; }
  .maison-petite { right: 0; width: 52%; }
  .logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .logos li { height: 64px; }
}
@media (max-width: 480px) { .chiffres { grid-template-columns: 1fr 1fr; } .chiffres li:last-child { grid-column: 1 / -1; } }

/* ——— Avis au coucher du soleil ——— */
.avis { overflow: hidden; }
.avis-horizon { position: absolute; inset: auto 0 0 0; height: 46%; z-index: -1; pointer-events: none; }
.avis-soleil { position: absolute; left: 70%; bottom: 38%; width: clamp(160px, 22vw, 320px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #FFE29A 0 40%, #F6A821 60%, rgba(246, 168, 33, 0) 70%); transform: translate(-50%, 50%); opacity: .55; -webkit-mask: linear-gradient(180deg, #000 50%, transparent 50.5%); mask: linear-gradient(180deg, #000 50%, transparent 50.5%); }
.avis .titre-section { color: #fff; }
.avis-grille { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.avis-fort { position: relative; padding: clamp(26px, 3.4vw, 46px); border-radius: 28px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .25); box-shadow: 0 30px 70px -40px rgba(60, 0, 8, .9); }
.avis-fort::before { content: "«"; position: absolute; right: 22px; top: -36px; font-family: var(--titre); font-size: 11rem; line-height: 1; color: rgba(255, 255, 255, .14); }
.avis-grand { font-family: var(--titre); font-stretch: 110%; font-weight: 720; font-size: clamp(1.6rem, 1.1rem + 1.9vw, 2.75rem); line-height: 1.1; letter-spacing: -.01em; text-wrap: balance; }
.avis-complet { margin-top: 18px; font-size: 1.02rem; color: rgba(255, 255, 255, .9); }
.avis figcaption { display: flex; align-items: center; gap: 12px; margin-top: 22px; }
.avis figcaption strong { display: block; }
.avis figcaption small { display: block; font-size: .84rem; opacity: .85; }
.initiale { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font-family: var(--titre); font-weight: 800; font-stretch: 112%; font-size: 1.15rem; background: #fff; color: var(--rouge); }
.etoiles { display: inline-flex; gap: 2px; color: var(--soleil-pale); vertical-align: -2px; margin-left: 6px; }
.etoiles svg { width: 16px; height: 16px; }
.avis-cote { display: grid; gap: 22px; }
.avis-ticket { position: relative; color: var(--nuit); padding: 26px 26px 22px; border-radius: 8px; transform: rotate(-1.6deg); filter: drop-shadow(0 18px 22px rgba(60, 0, 8, .45)); background-image: radial-gradient(circle at 0 50%, transparent 11px, #FFF8EC 11.5px), radial-gradient(circle at 100% 50%, transparent 11px, #FFF8EC 11.5px); background-size: 51% 100%; background-position: left, right; background-repeat: no-repeat; }
.avis-ticket::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: 52px; border-top: 2px dashed rgba(52, 50, 51, .2); }
.avis-ticket::before { content: "Avis Google"; position: absolute; top: -12px; left: 22px; background: var(--nuit); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.avis-ticket p { font-size: 1.12rem; font-weight: 600; line-height: 1.4; }
.avis-ticket figcaption { color: var(--anthracite); }
.avis-ticket .etoiles { color: var(--soleil); }
.avis-note { position: relative; color: var(--nuit); background: #FFE7A6; padding: 24px 22px 20px; border-radius: 4px; transform: rotate(1.8deg); box-shadow: 0 24px 40px -24px rgba(60, 0, 8, .8); background-image: repeating-linear-gradient(180deg, transparent 0 27px, rgba(52, 50, 51, .12) 27px 28px); }
.avis-note::before { content: ""; position: absolute; top: -10px; left: 50%; width: 90px; height: 22px; transform: translateX(-50%) rotate(-3deg); background: rgba(255, 255, 255, .6); box-shadow: 0 2px 4px rgba(0, 0, 0, .1); }
.avis-note p { font-size: 1.15rem; font-weight: 600; }
.avis-note .etoiles { color: var(--rouge); }
.cinq { margin-top: clamp(40px, 5vw, 64px); }
.cinq-titre { font-size: 1.12rem; }
.cinq-titre strong { font-family: var(--titre); font-stretch: 112%; }
.cinq-bande { display: flex; gap: 12px; margin-top: 16px; overflow-x: auto; padding: 6px 2px 14px; scroll-snap-type: x proximity; touch-action: pan-x pan-y; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .5) transparent; }
.cinq-bande li { flex: none; display: flex; align-items: center; gap: 10px; padding: 10px 18px 10px 10px; border-radius: 999px; background: rgba(20, 0, 4, .32); border: 1px solid rgba(255, 255, 255, .22); scroll-snap-align: start; transition: transform .3s, background-color .3s; }
.cinq-bande .initiale { width: 38px; height: 38px; font-size: .95rem; }
.cinq-bande li:nth-child(3n+2) .initiale { background: var(--soleil-pale); color: var(--rouge-fonce); }
.cinq-bande li:nth-child(3n) .initiale { background: var(--nuit); color: #fff; }
@media (hover: hover) { .cinq-bande li:hover { transform: translateY(-3px); background: rgba(20, 0, 4, .5); } }
@media (max-width: 899px) { .avis-grille { grid-template-columns: 1fr; } .avis-fort::before { font-size: 8rem; top: -20px; } }

/* ——— Contact (nuit) ——— */
.contact { padding-bottom: 0; overflow: hidden; }
.contact-grille { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 5vw, 80px); align-items: start; }
.contact .titre-section { color: #fff; }
.statut { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); font-weight: 600; }
.contact-intro { margin-top: 18px; color: rgba(255, 255, 255, .86); max-width: 36em; }
.signature { margin-top: 38px; font-family: var(--titre); font-stretch: 118%; font-weight: 700; font-size: clamp(1.5rem, 1rem + 1.8vw, 2.4rem); color: rgba(255, 255, 255, .92); }
.signature em { color: var(--rouge); font-style: italic; }
.contact-infos { display: grid; gap: 18px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .14); border-radius: 26px; padding: clamp(18px, 2.4vw, 28px); }
.contact-carte { color: #F3EBD6; }
.ile { width: 100%; max-width: 360px; margin-inline: auto; height: auto; }
.adresse { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; }
.adresse dt { font-weight: 700; color: var(--soleil-pale); font-size: .92rem; }
.adresse a { text-decoration: none; font-weight: 700; }
.horaires { width: 100%; border-collapse: collapse; font-size: .98rem; }
.horaires caption { text-align: left; font-weight: 700; color: var(--soleil-pale); font-size: .92rem; padding-bottom: 6px; }
.horaires th, .horaires td { text-align: left; padding: 7px 10px; border-top: 1px solid rgba(255, 255, 255, .1); font-weight: 500; }
.horaires td { text-align: right; }
.horaires tr.aujourdhui { background: rgba(226, 0, 26, .28); }
.horaires tr.aujourdhui th { font-weight: 800; }
.contact-nuit { margin-top: clamp(10px, 3vw, 40px); }
.scene-nuit { width: 100%; height: clamp(230px, 26vw, 380px); }
.scene-nuit .silhouette path { fill: #0F1116 !important; stroke: #0F1116 !important; }
.scene-nuit .fenetre-lumiere { opacity: .9; }
@media (max-width: 899px) { .contact-grille { grid-template-columns: 1fr; } }

/* ——— Pied de page ——— */
.pied { padding-block: 56px 110px; }
.pied-grille { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 36px; }
.logo-pied { width: 220px; height: auto; }
.pied-marque p { margin-top: 16px; max-width: 30em; color: rgba(233, 229, 223, .78); font-size: .95rem; }
.pied-titre { font-weight: 700; color: #fff; margin-bottom: 10px; }
.pied-nav ul { display: grid; gap: 2px; }
.pied-nav a, .pied-contact a { text-decoration: none; display: inline-flex; min-height: 34px; align-items: center; }
.pied-nav a:hover, .pied-contact a:hover { color: var(--soleil-pale); }
.pied-nav a[aria-current="page"] { color: var(--soleil-pale); }
.pied-contact p { color: rgba(233, 229, 223, .82); font-size: .95rem; margin-bottom: 6px; }
.pied-bas { margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .86rem; color: rgba(233, 229, 223, .65); }
.pied-bas a { color: #fff; }
@media (max-width: 760px) { .pied-grille { grid-template-columns: 1fr; gap: 24px; } .pied { padding-bottom: 40px; } }

/* barre d'appel collante (procédé), aux couleurs de Free Energy */
.barre-appel { display: none; }
@media (max-width: 760px) {
  :root { --barre-h: 67px; }
  .barre-appel { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); background: var(--creme); border-top: 1px solid rgba(52, 50, 51, .14); box-shadow: 0 -8px 24px -12px rgba(0, 0, 0, .35); }
  .barre-appel a { display: flex; align-items: center; justify-content: center; gap: .5em; min-height: 50px; border-radius: 999px; font-weight: 700; text-decoration: none; border: 2px solid var(--anthracite); color: var(--anthracite); background: transparent; }
  .barre-appel a:first-child { background: var(--rouge); border-color: var(--rouge); color: #fff; }
  .barre-appel svg { width: 1.2em; height: 1.2em; }
  body:has(.barre-appel) { padding-bottom: calc(var(--barre-h) + env(safe-area-inset-bottom, 0px)); }
}

/* ——— Apparitions (seulement avec JavaScript et sans « réduire les animations ») ——— */
.js:not(.reduit) [data-apparait] { opacity: 0; transform: translateY(26px); }
.js:not(.reduit) [data-apparait].vu { opacity: 1; transform: none; transition: opacity .8s ease, transform .9s cubic-bezier(.2, .8, .2, 1); transition-delay: var(--delai, 0s); }
.js:not(.reduit) .chemins-liste li:nth-child(2) [data-apparait] { --delai: .08s; }
.js:not(.reduit) .chemins-liste li:nth-child(3) [data-apparait] { --delai: .16s; }
.js:not(.reduit) .chemins-liste li:nth-child(4) [data-apparait] { --delai: .24s; }
.anime [data-titre-decoupe]:not(.pret) { visibility: hidden; }
.anime .heros .scene .pose, .anime .heros .scene .rang { opacity: 0; }
.anime .heros .scene .ciel-aube { opacity: 1; }
.anime .heros .scene .tl-rideau { transform: scaleX(0); }
.ciel-aube { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ═════════ Pages par clientèle ═════════ */
.heros-page .titre-heros { font-size: clamp(2rem, 1.3rem + 2.2vw, 3.25rem); }
.plaque { position: absolute; left: -18px; bottom: -26px; display: grid; gap: 2px; background: var(--nuit); color: #fff; padding: 14px 20px; border-radius: 18px; box-shadow: var(--ombre); transform: rotate(-2deg); border: 2px solid rgba(255, 255, 255, .12); }
.plaque-chiffre { font-family: var(--titre); font-stretch: 122%; font-weight: 800; font-size: 1.9rem; line-height: 1; color: var(--soleil-pale); }
.plaque span:last-child { font-size: .9rem; opacity: .9; }

/* blocs photo et texte en alternance */
.alternance { display: grid; gap: clamp(40px, 6vw, 90px); }
.bloc { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 76px); align-items: center; }
.bloc-inverse .bloc-photo { order: 2; }
.bloc-photo .cadre-photo { aspect-ratio: 4 / 3; }
.bloc:nth-child(1) .bloc-photo { transform: rotate(-1.4deg); }
.bloc:nth-child(2) .bloc-photo { transform: rotate(1.2deg); }
.bloc:nth-child(3) .bloc-photo { transform: rotate(-.8deg); }
.bloc-num { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--rouge); color: #fff; font-family: var(--titre); font-weight: 800; font-size: 1.4rem; margin-bottom: 18px; box-shadow: 0 0 0 8px rgba(226, 0, 26, .1); }
.bloc-texte p { margin-top: 14px; color: #3B3733; }
.bloc-fait { display: inline-flex; align-items: center; gap: 10px; font-weight: 650; color: var(--cellule) !important; background: rgba(20, 42, 78, .07); padding: 8px 14px; border-radius: 999px; }
.bloc-fait svg { width: 18px; height: 18px; color: var(--rouge); flex: none; }
@media (max-width: 860px) { .bloc { grid-template-columns: 1fr; gap: 22px; } .bloc-inverse .bloc-photo { order: 0; } }

/* achat ou abonnement */
.choix-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 1060px; margin-inline: auto; }
.choix-carte { position: relative; padding: clamp(26px, 3.4vw, 44px); border-radius: 28px; overflow: hidden; isolation: isolate; }
.choix-sur { font-weight: 700; font-size: .92rem; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 12px; }
.choix-achat { background: #fff; border: 1px solid rgba(20, 42, 78, .12); box-shadow: 0 24px 50px -36px rgba(20, 42, 78, .6); }
.choix-achat::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cellules); background-size: 58px 58px; opacity: .14; -webkit-mask: linear-gradient(200deg, #000, transparent 60%); mask: linear-gradient(200deg, #000, transparent 60%); }
.choix-achat .choix-sur { color: var(--cellule); }
.choix-abo { background: linear-gradient(150deg, #F0142D, var(--rouge) 40%, #9C0016); color: #fff; box-shadow: 0 30px 60px -34px rgba(165, 0, 20, .9); }
.choix-abo::before { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border-radius: 50%; z-index: -1; background: radial-gradient(circle, rgba(255, 226, 154, .55), transparent 65%); }
.choix-abo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .14) 0 1px, transparent 1px 9px); -webkit-mask: linear-gradient(0deg, #000, transparent 60%); mask: linear-gradient(0deg, #000, transparent 60%); }
.choix-abo .bouton { margin-top: 24px; }
.liste-coches { display: grid; gap: 12px; margin-top: 20px; }
.liste-coches li { display: grid; grid-template-columns: 26px 1fr; gap: 10px; align-items: start; }
.liste-coches svg { width: 24px; height: 24px; margin-top: 1px; color: var(--rouge); background: rgba(226, 0, 26, .1); border-radius: 50%; padding: 4px; }
.choix-abo .liste-coches svg, .liste-claire svg { color: #fff; background: rgba(255, 255, 255, .18); }
@media (max-width: 860px) { .choix-grille { grid-template-columns: 1fr; } }

/* galerie qui glisse au doigt */
.indication { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; color: var(--gris); }
.indication svg { width: 20px; height: 20px; }
.galerie { display: flex; gap: 22px; overflow-x: auto; padding: 10px max(16px, calc((100vw - 1240px) / 2)) 40px; scroll-snap-type: x proximity; touch-action: pan-x pan-y; overscroll-behavior-x: contain; scroll-padding-inline: max(16px, calc((100vw - 1240px) / 2)); scrollbar-width: thin; scrollbar-color: rgba(52, 50, 51, .35) transparent; }
.g-item { flex: none; width: min(440px, 80vw); scroll-snap-align: start; }
.g-item .cadre-photo { aspect-ratio: 4 / 3; }
.g-haut { width: min(260px, 56vw); }
.g-haut .cadre-photo { aspect-ratio: 3 / 4; }
.galerie .g-item:nth-child(even) { transform: translateY(18px); }

/* questions */
.questions-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 5vw, 80px); align-items: start; }
.questions-tete > p { margin-top: 18px; color: #3B3733; }
.accordeon { display: grid; gap: 12px; }
.accordeon details { background: #fff; border: 1px solid rgba(52, 50, 51, .1); border-radius: 18px; box-shadow: 0 14px 30px -26px rgba(0, 0, 0, .5); overflow: hidden; transition: border-color .3s; }
.accordeon summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 14px 20px; font-family: var(--titre); font-stretch: 106%; font-weight: 700; font-size: 1.1rem; line-height: 1.25; }
.accordeon summary::-webkit-details-marker { display: none; }
.accordeon summary::after { content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--sable) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23E2001A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; transition: transform .3s; }
.accordeon details[open] summary::after { transform: rotate(180deg); }
.accordeon details > div { padding: 0 20px 18px; color: #3B3733; }
.accordeon details[open] { border-color: rgba(226, 0, 26, .3); }
@media (max-width: 860px) { .questions-grille { grid-template-columns: 1fr; } }

/* professionnels */
.raisons-liste { border-top: 1.5px solid rgba(52, 50, 51, .2); }
.raisons-liste li { display: grid; grid-template-columns: 90px minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; align-items: baseline; padding: 30px 0; border-bottom: 1.5px solid rgba(52, 50, 51, .2); }
.raison-num { font-family: var(--titre); font-stretch: 125%; font-weight: 600; color: var(--rouge); letter-spacing: .06em; }
.raison-titre { font-family: var(--titre); font-stretch: 122%; font-weight: 780; font-size: clamp(1.6rem, 1rem + 2.2vw, 3rem); line-height: 1; letter-spacing: -.02em; }
.raisons-liste p { color: #3B3733; }
@media (max-width: 860px) { .raisons-liste li { grid-template-columns: 1fr; gap: 8px; padding: 24px 0; } }
.ekwalis-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.ekwalis .titre-section { color: #fff; }
.ekwalis-texte > p { margin-top: 18px; color: rgba(255, 255, 255, .86); }
.ekwalis-faits { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.ekwalis-faits li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .2); border-radius: 18px; padding: 14px 18px; }
.ekwalis-faits strong { display: block; font-family: var(--titre); font-stretch: 120%; font-size: 1.6rem; color: var(--soleil-pale); line-height: 1.05; }
.ekwalis-faits span { font-size: .92rem; opacity: .85; }
.ekwalis-photos { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 26px; }
.ek-a { grid-row: span 2; }
.ek-a .cadre-photo { aspect-ratio: 610 / 798; }
.ek-b .cadre-photo, .ek-c .cadre-photo { aspect-ratio: 4 / 3; }
.ek-b { transform: translateY(26px) rotate(1.5deg); }
.ek-c { transform: translateY(26px) rotate(-1.2deg); }
@media (max-width: 860px) { .ekwalis-grille { grid-template-columns: 1fr; } }
.cle-grille { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 20px; align-items: center; }
.cle-carte { background: rgba(255, 255, 255, .8); border: 1px solid rgba(52, 50, 51, .08); border-radius: 26px; padding: 28px; box-shadow: 0 20px 44px -32px rgba(0, 0, 0, .5); }
.cle-carte h3 { font-family: var(--titre); font-stretch: 118%; font-weight: 780; font-size: 1.6rem; margin-top: 14px; }
.cle-carte p { margin-top: 8px; color: #3B3733; }
.cle-icone { width: 54px; height: 54px; fill: none; stroke: var(--rouge); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.cle-centre { background: var(--nuit); color: #fff; padding: 16px 16px 28px; }
.cle-centre h3, .cle-centre p { padding-inline: 12px; }
.cle-centre p { color: rgba(255, 255, 255, .85); }
.cle-photo .cadre-photo { aspect-ratio: 4 / 3; }
@media (max-width: 860px) { .cle-grille { grid-template-columns: 1fr; } }
.irve-grille { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: clamp(30px, 5vw, 70px); align-items: center; max-width: 1060px; margin-inline: auto; }
.irve-logo { background: #fff; border-radius: 28px; padding: 30px; box-shadow: var(--ombre); transform: rotate(-3deg); border: 8px solid #E3E8EE; }
.irve-logo img { width: 100%; height: auto; }
.irve-grille p:not(.etiquette) { margin-top: 16px; color: #3B3733; }
@media (max-width: 760px) { .irve-grille { grid-template-columns: 1fr; } .irve-logo { width: 220px; } }

/* abonnement */
.visuel-abo { position: relative; }
.abo-cadre { position: relative; border-radius: 30px; padding: clamp(10px, 2vw, 22px); background: rgba(255, 255, 255, .7); box-shadow: var(--ombre); border: 1px solid rgba(52, 50, 51, .08); }
.scene-abonnement { width: 100%; height: auto; }
.mois { fill: #0A1426; stroke: #22385E; stroke-width: 1; transition: fill .5s ease, stroke .5s ease; transition-delay: calc(var(--k) * 11ms); }
.rempli .mois { fill: #1C3A68; stroke: #4A6EA6; }
.rempli .mois:first-child { fill: var(--rouge); stroke: #FF5A6E; }
.abo-180 { position: absolute; right: -10px; bottom: -30px; display: grid; justify-items: end; background: var(--rouge); color: #fff; padding: 14px 22px 16px; border-radius: 22px; box-shadow: 0 20px 40px -20px rgba(165, 0, 20, .9); transform: rotate(-3deg); font-weight: 600; font-size: .95rem; }
.abo-180 span { font-family: var(--titre); font-stretch: 125%; font-weight: 800; font-size: clamp(2.6rem, 2rem + 2.4vw, 4rem); line-height: .9; }
.ruban-sombre { background-color: var(--nuit); transform: rotate(1.4deg) scaleX(1.04); }
.ruban-sombre .traits-orn { color: var(--rouge); opacity: 1; }
.arc { position: relative; }
.arc-trace { position: absolute; left: 0; right: 0; top: 0; width: 100%; height: 160px; }
.arc-liste { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding-top: 20px; }
.arc-liste li { background: rgba(255, 255, 255, .88); border: 1px solid rgba(52, 50, 51, .08); border-radius: 24px; padding: 24px 22px; box-shadow: 0 20px 40px -32px rgba(20, 42, 78, .6); }
.arc-liste li:nth-child(1), .arc-liste li:nth-child(4) { margin-top: 120px; }
.arc-liste li:nth-child(2), .arc-liste li:nth-child(3) { margin-top: 30px; }
.arc-point { display: block; width: 26px; height: 26px; border-radius: 50%; margin-bottom: 14px; background: radial-gradient(circle, #FFE29A 0 30%, var(--soleil) 32%); box-shadow: 0 0 0 6px rgba(246, 168, 33, .2), 0 0 20px rgba(246, 168, 33, .6); }
.arc-liste li:nth-child(4) .arc-point { background: radial-gradient(circle, #FFE29A 0 30%, var(--rouge) 32%); box-shadow: 0 0 0 6px rgba(226, 0, 26, .15), 0 0 20px rgba(226, 0, 26, .5); }
.arc-liste h3 { font-family: var(--titre); font-stretch: 110%; font-weight: 740; font-size: 1.2rem; line-height: 1.2; }
.arc-liste p { margin-top: 8px; color: #3B3733; }
@media (max-width: 960px) { .arc-trace { display: none; } .arc-liste { grid-template-columns: 1fr 1fr; } .arc-liste li:nth-child(n) { margin-top: 0; } }
@media (max-width: 560px) { .arc-liste { grid-template-columns: 1fr; } }
.compris-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.compris .titre-section { color: #fff; }
.liste-claire li { color: rgba(255, 255, 255, .92); }
.formules { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.formule { position: relative; padding: 24px 22px; border-radius: 22px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .18); overflow: hidden; transition: background-color .35s; }
.formule::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--soleil), var(--rouge)); }
.formule-nom { font-family: var(--titre); font-stretch: 122%; font-weight: 800; font-size: 1.55rem; line-height: 1; margin-bottom: 10px; color: #fff; }
.formule-nom sup { color: var(--rouge); font-size: .6em; }
.formule-nom span { color: var(--soleil-pale); }
.formule p:not(.formule-nom) { color: rgba(255, 255, 255, .84); font-size: .98rem; }
.formule-plus, .formule-confort { margin-top: 18px; margin-bottom: -18px; }
.formule-confort { background: rgba(226, 0, 26, .22); border-color: rgba(255, 120, 130, .4); }
@media (hover: hover) { .formule:hover { background: rgba(255, 255, 255, .12); } .formule-confort:hover { background: rgba(226, 0, 26, .32); } }
@media (max-width: 860px) { .compris-grille { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .formules { grid-template-columns: 1fr; } .formule-plus, .formule-confort { margin: 0; } }
.pourquoi-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.pq-a { transform: rotate(-1.5deg); }
.pq-a .cadre-photo { aspect-ratio: 4 / 3; }
.pourquoi-texte { margin-top: 18px; color: #3B3733; }
@media (max-width: 860px) { .pourquoi-grille { grid-template-columns: 1fr; } }

/* suivi */
.visuel-suivi { position: relative; display: grid; justify-items: center; }
.suivi-halo { position: absolute; inset: 6% 8%; border-radius: 50%; background: radial-gradient(circle, rgba(246, 168, 33, .35), transparent 65%); }
.scene-suivi { position: relative; width: min(420px, 100%); height: auto; filter: drop-shadow(0 30px 40px rgba(20, 20, 22, .3)); }
.anime-en-boucle .telephone { animation: flotte 6s ease-in-out infinite alternate; }
@keyframes flotte { to { transform: translateY(-12px); } }
.suivi-photo { position: absolute; left: -4%; bottom: -2%; width: 38%; transform: rotate(-4deg); }
.suivi-photo .cadre-photo { aspect-ratio: 4 / 3; }
.tr-grille { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.tr-texte { margin-top: 18px; color: #3B3733; }
.trois-courbes { display: grid; gap: 14px; }
.trois-courbes li { display: grid; grid-template-columns: 36px 1fr; gap: 2px 14px; align-items: center; padding: 18px 20px; background: #fff; border-radius: 20px; border: 1px solid rgba(52, 50, 51, .08); box-shadow: 0 16px 34px -28px rgba(0, 0, 0, .5); }
.trois-courbes strong { font-family: var(--titre); font-stretch: 116%; font-size: 1.25rem; }
.trois-courbes li > span:last-child { grid-column: 2; color: var(--gris); }
.pastille-c { grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; }
.c-prod { background: var(--soleil); } .c-conso { background: var(--cellule); } .c-inj { background: var(--rouge); }
@media (max-width: 860px) { .tr-grille { grid-template-columns: 1fr; } }
.revente-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.revente .titre-section { color: #fff; }
.revente-grille p:not(.etiquette) { margin-top: 18px; color: rgba(255, 255, 255, .9); }
.revente-dessin svg { width: 100%; height: auto; }
.scene-revente .fenetre-lumiere { opacity: .6; }
.fenetre-scene > .scene-revente { aspect-ratio: 640 / 420; }
@media (max-width: 860px) { .revente-grille { grid-template-columns: 1fr; } }
.mt-grille { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; align-items: center; }
.mt-carte { background: #fff; border-radius: 26px; padding: 28px; border: 1px solid rgba(20, 42, 78, .1); box-shadow: 0 20px 44px -32px rgba(20, 42, 78, .55); }
.mt-sur { font-weight: 700; font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; color: var(--cellule); margin-bottom: 10px; }
.mt-carte p:last-child { margin-top: 10px; color: #3B3733; }
.mt-rouge { background: linear-gradient(150deg, #F0142D, var(--rouge) 50%, #9C0016); color: #fff; border: 0; }
.mt-rouge .mt-sur, .mt-rouge p:last-child { color: rgba(255, 255, 255, .92); }
.mt-photo .cadre-photo { aspect-ratio: 3 / 4; }
.mt-photo { transform: rotate(1.5deg); }
@media (max-width: 860px) { .mt-grille { grid-template-columns: 1fr; } .mt-photo .cadre-photo { aspect-ratio: 4 / 3; } }


/* ═════════ Reprise du 19 octobre : scènes hors cadre, dessins faits pour le client ═════════ */

/* — Haut de page de l'accueil : la scène occupe toute la moitié droite, jusqu'au bord de l'écran — */
.heros-plein { position: relative; padding-block: 40px; min-height: clamp(620px, calc(100svh - var(--entete-h) - 3px), 900px); display: flex; align-items: center; }
.heros-plein .titre-heros { font-size: clamp(2rem, 1.2rem + 2.1vw, 3.1rem); }
.heros-plein .heros-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.heros-plein .heros-texte { position: relative; z-index: 2; }
.heros-scene { position: absolute; top: 0; right: 0; bottom: 0; width: 54%; z-index: 0; }
.heros-scene > svg { width: 100%; height: 100%; display: block; }
.heros-scene { -webkit-mask: linear-gradient(90deg, transparent 0, #000 12%); mask: linear-gradient(90deg, transparent 0, #000 12%); }
.heros-plein + .ruban-zone { margin-top: -14px; }
.heros-scene::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 16%; z-index: 1; background: linear-gradient(90deg, #FDF1E6 0%, rgba(253, 241, 230, 0) 100%); pointer-events: none; }
.heros-plein .scene-legende { position: absolute; left: calc(46% + 70px); top: 26px; bottom: auto; z-index: 2; }
.heros-plein .chapeau { margin-top: 22px; }
.heros-plein .actions { margin-top: 26px; }

/* — Particuliers : la case dans une arche, sans cadre — */
.heros-arche .heros-grille { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.arche-scene { position: relative; border-radius: 48% 48% 26px 26px / 34% 34% 26px 26px; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(20, 42, 78, .6); margin-right: calc(-1 * max(16px, (100vw - 1240px) / 2) + 16px); }
.arche-scene > svg { width: 100%; height: auto; aspect-ratio: 1000 / 760; display: block; }
.arche-scene::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 10px rgba(255, 255, 255, .55); pointer-events: none; }

/* — Professionnels : Ekwalis en bandeau pleine largeur, la carte du titre posée dessus — */
.heros-bandeau { padding: 0 0 clamp(60px, 7vw, 100px); }
.bandeau-scene { position: relative; height: min(64vh, 620px); overflow: hidden; }
.bandeau-scene > svg { width: 100%; height: 100%; display: block; }
.bandeau-scene .plaque { left: auto; right: max(16px, calc((100vw - 1240px) / 2)); bottom: auto; top: 26px; transform: rotate(2deg); }
.bandeau-carte { position: relative; z-index: 2; margin-top: -150px; max-width: 700px; background: #FBF7F1; border-radius: 28px; padding: clamp(24px, 3vw, 40px); box-shadow: 0 40px 80px -40px rgba(20, 20, 22, .55); }
.bandeau-carte .chapeau { margin-top: 20px; }
.bandeau-carte .actions { margin-top: 24px; }

/* — L'abonnement : le module de 180 cellules — */
.abo-entete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; font-weight: 600; color: var(--gris); }
.abo-compteur { font-family: var(--titre); font-stretch: 116%; color: var(--nuit); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.abo-compteur strong { display: inline-block; min-width: 2.2em; text-align: right; color: var(--rouge); font-size: 1.5rem; }
.abo-cadre { padding: clamp(10px, 1.6vw, 18px); }
.module-mois { width: 100%; height: auto; display: block; }
.mois-voile { opacity: .82; transition: opacity .45s ease; }
.mois.allume .mois-voile { opacity: 0; }
html:not(.anime) .mois-voile { opacity: 0; }
.formule-nom .plus { color: var(--rouge); margin-left: 2px; }

/* — Suivi : téléphone et onduleur — */
.visuel-suivi .scene-suivi { width: min(560px, 100%); height: auto; filter: none; }
.anime-en-boucle .voyant-clignote { animation: clignote 1.6s steps(2) infinite; }
@keyframes clignote { 50% { opacity: .25; } }
.tr-grille { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.tr-telephone { display: grid; justify-items: center; }
.scene-tel-grand { width: min(340px, 100%); height: auto; filter: drop-shadow(0 30px 40px rgba(20, 20, 22, .28)); }
.trois-courbes { margin-top: 26px; }

/* — La journée du soleil : en grand, sans cadre — */
.journee-grille { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); width: min(1360px, 100% - 32px); }
.journee-visuel > svg { width: 100%; height: auto; aspect-ratio: 860 / 568; display: block; border-radius: 26px; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .55); }
.scene-journee .f { opacity: 0; transition: opacity .35s; }
.scene-journee .f.actif { opacity: 1; }
.scene-journee .f { stroke-dasharray: none; }
.scene-journee .f-cable { stroke-dasharray: none; }
.scene-journee .f-impulsion { stroke-dasharray: 3 22; }
.anime-en-boucle.scene-journee .f-impulsion, .anime-en-boucle .scene-journee .f-impulsion { animation: impulsion var(--vitesse, 1.6s) linear infinite; }
@keyframes impulsion { to { stroke-dashoffset: -25; } }
html:not(.js) .scene-journee .f, .reduit .scene-journee .f { opacity: 1; }

/* — Les étapes : le chantier d'un toit qui se construit — */
.etapes-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(30px, 5vw, 70px); align-items: start; }
.etapes-scene { position: sticky; top: calc(var(--entete-h) + 40px); }
.etapes-cadre { border-radius: 26px; overflow: hidden; box-shadow: 0 30px 60px -36px rgba(20, 42, 78, .6); }
.chantier { width: 100%; height: auto; display: block; }
.chantier .et { transition: opacity .5s ease, transform .5s ease; }
.etat-1 :is(.et-2, .et-3, .et-4, .et-5, .et-6, .et-7), .etat-2 :is(.et-3, .et-4, .et-5, .et-6, .et-7), .etat-3 :is(.et-4, .et-5, .et-6, .et-7), .etat-4 :is(.et-5, .et-6, .et-7), .etat-5 :is(.et-6, .et-7), .etat-6 .et-7 { opacity: 0; }
.etapes-liste { max-width: none; }
.etapes-liste::before, .etapes-liste::after { left: 31px; }
.etape { grid-template-columns: 66px minmax(0, 1fr); padding: 18px 22px 18px 0; }
.etape:nth-child(even) { margin-left: 0; }
.etapes-liste .etape:nth-child(even) .etape-num { margin-left: 12px; }
.etape-mini { display: none; }
.etape.active { border-color: rgba(226, 0, 26, .35); box-shadow: 0 20px 44px -26px rgba(226, 0, 26, .45); }
.etape.active .etape-num { background: var(--rouge); transform: scale(1.12); }
.etape-num { transition: transform .3s, background-color .3s; background: #8E9AA6; }
.etape.vue .etape-num { background: var(--rouge); }
@media (max-width: 899px) {
  .etapes-grille { grid-template-columns: 1fr; }
  .etapes-scene { display: none; }
  .etape { grid-template-columns: 40px minmax(0, 1fr); padding: 14px 14px 16px 0; gap: 10px 12px; }
  .etapes-liste .etape:nth-child(even) .etape-num { margin-left: 0; }
  .etape-mini { display: block; grid-column: 2; border-radius: 14px; overflow: hidden; margin-bottom: 4px; }
  .etape-num { grid-row: 1 / span 2; background: var(--rouge); }
  .etapes-liste::before, .etapes-liste::after { left: 19px; }
}

/* — Les solutions : une vignette dessinée par chemin — */
.chemin-photo { border: 0; background: #FFFFFF; padding: 6px; border-radius: 18px; }
.chemin-photo .vignette { width: 100%; height: 100%; display: block; border-radius: 13px; }
@media (max-width: 999px) { .chemin-photo { width: 108px; height: 82px; padding: 4px; border-radius: 14px; transform: rotate(-2deg); } .chemin { grid-template-columns: 108px minmax(0, 1fr) 48px; } }

/* — Les avis sur un coucher de soleil dessiné, des cartes postales crème — */
.fond-coucher { background: #2A1638; }
.fond-coucher::before { display: none; }
.avis-fond { position: absolute; inset: 0; z-index: -1; }
.avis-fond > svg { width: 100%; height: 100%; display: block; }
.avis-fond::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26, 12, 34, .55), rgba(26, 12, 34, 0) 40%, rgba(16, 12, 30, .25)); }
.avis-carte { position: relative; color: var(--nuit); background: #FFF8EC; border-radius: 10px; padding: 28px 28px 22px; box-shadow: 0 30px 60px -30px rgba(20, 0, 10, .85); background-image: linear-gradient(180deg, #FFFBF3, #FBF1E1); border: 1px solid rgba(255, 255, 255, .6); }
.avis-carte::after { content: ""; position: absolute; top: 16px; right: 16px; width: 44px; height: 52px; border: 2px dashed rgba(226, 0, 26, .45); border-radius: 4px; background: radial-gradient(circle at 50% 42%, rgba(246, 168, 33, .7) 0 9px, transparent 10px), linear-gradient(180deg, transparent 62%, rgba(42, 143, 184, .5) 62%); }
.avis-fort { transform: rotate(-1.2deg); padding: clamp(30px, 3.6vw, 48px); padding-right: clamp(30px, 3.6vw, 80px); }
.avis-fort::before { display: none; }
.avis-carte .avis-complet { color: #3B3733; }
.avis-carte figcaption small { color: var(--gris); opacity: 1; }
.avis-carte .etoiles { color: var(--soleil); }
.avis-carte .initiale { background: var(--rouge); color: #fff; }
.avis-carte-2 { transform: rotate(1.6deg); }
.avis-carte-3 { transform: rotate(-.8deg) translateX(14px); }
.avis-carte-2 p, .avis-carte-3 p { font-size: 1.14rem; font-weight: 600; line-height: 1.4; padding-right: 50px; }
.avis-carte figcaption { color: var(--anthracite); }
@media (hover: hover) { .avis-carte { transition: transform .4s cubic-bezier(.2, .8, .2, 1); } .avis-carte:hover { transform: rotate(0) translateY(-4px); } }
.cinq-bande li { background: rgba(255, 248, 236, .12); }

/* — Le pied de page : la côte de Saint-Leu la nuit — */
.contact-nuit { margin-top: clamp(20px, 3vw, 40px); }
.cote-nuit { width: 100%; height: clamp(200px, 24vw, 360px); display: block; }

/* — Professionnels : sections mises en scène — */
.raisons-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 5vw, 70px); align-items: center; }
.raisons-photo { transform: rotate(-1.5deg); }
.raisons-photo .cadre-photo { aspect-ratio: 4 / 5; }
.raison-num { font-size: clamp(2.4rem, 1.6rem + 2.4vw, 4rem); font-weight: 800; color: transparent; -webkit-text-stroke: 1.5px var(--rouge); letter-spacing: .02em; line-height: 1; }
.raisons-liste li { grid-template-columns: 130px minmax(0, 1fr); align-items: center; gap: 6px 24px; }
.raisons-liste li > p { grid-column: 2; }
.raison-titre { font-size: clamp(1.5rem, 1rem + 1.5vw, 2.3rem); }
@media (max-width: 860px) { .raisons-grille { grid-template-columns: 1fr; } .raisons-photo .cadre-photo { aspect-ratio: 4 / 3; } .raisons-liste li { grid-template-columns: 1fr; } .raisons-liste li > p { grid-column: 1; } }
.cle-carte .objet { width: 120px; height: auto; display: block; margin: -6px 0 6px -8px; }
.cle-centre .objet { position: absolute; right: 18px; top: -40px; width: 104px; z-index: 2; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .35)); }
.cle-centre { position: relative; }
.irve-grille { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); max-width: 1240px; }
.irve-scene .fenetre-scene > svg { aspect-ratio: 640 / 420; }
.ekwalis-photos { grid-template-columns: 1.1fr 1fr; align-items: center; }
.ek-a { grid-row: auto; }
.ek-b { transform: translateY(30px) rotate(1.5deg); }
@media (max-width: 760px) { .irve-grille { grid-template-columns: 1fr; } }

/* — L'abonnement : la photo entre deux cocotiers — */
.pourquoi-photos { position: relative; padding-inline: 40px; }
.cocotier-cadre { position: absolute; bottom: -30px; width: 150px; height: auto; z-index: 2; pointer-events: none; }
.cocotier-gauche { left: -50px; }
.cocotier-droit { right: -40px; width: 130px; }
.pq-a .cadre-photo { aspect-ratio: 5 / 4; }
.anime-en-boucle.cocotier-cadre .palme-feuilles, .cocotier-cadre.anime-en-boucle .palme-feuilles { animation: balance 5.5s ease-in-out infinite alternate; }
@media (max-width: 760px) { .pourquoi-photos { padding-inline: 18px; } .cocotier-cadre { width: 96px; bottom: -20px; } .cocotier-gauche { left: -22px; } .cocotier-droit { right: -18px; width: 84px; } }

/* — Particuliers : la case en filigrane derrière les questions — */
.questions { overflow: hidden; }
.filigrane-case { position: absolute; left: -60px; bottom: -20px; width: min(620px, 70vw); opacity: .16; z-index: -1; pointer-events: none; }
.filigrane-case svg { width: 100%; height: auto; }

/* — Ornements : lambrequins sous les titres, coins de module autour des chiffres, traits du logo dans les marges — */
.orn-lambrequins { display: block; width: 220px; height: 22px; margin-top: 16px; opacity: .55; }
.tete-centree .orn-lambrequins { margin-inline: auto; }
.cadre-module { position: relative; padding: 16px; }
.cadre-module::before, .cadre-module::after { content: ""; position: absolute; width: 34px; height: 34px; border: 3px solid #A7B2BE; pointer-events: none; }
.cadre-module::before { left: 0; top: 0; border-right: 0; border-bottom: 0; border-radius: 8px 0 0 0; }
.cadre-module::after { right: 0; bottom: 0; border-left: 0; border-top: 0; border-radius: 0 0 8px 0; }
.chemins, .maison, .raisons, .pourquoi-abo, .temps-reel { background-image: var(--traits-filigrane), var(--traits-filigrane); background-repeat: no-repeat; background-size: 220px auto, 160px auto; background-position: right max(-60px, calc((100vw - 1240px) / 2 - 200px)) top 60px, left max(-50px, calc((100vw - 1240px) / 2 - 150px)) bottom 80px; }

/* ——— Téléphone ——— */
@media (max-width: 860px) {
  .heros { padding-top: 0; }
  .heros-grille { grid-template-columns: 1fr; gap: 14px; }
  .heros-texte { display: flex; flex-direction: column; align-items: flex-start; }
  .heros .etiquette { display: none; }
  .heros .chapeau { margin-top: 16px; }
  .heros .actions { margin-top: 16px; }
  /* accueil : la scène en pleine largeur en haut */
  .heros-plein { display: block; min-height: 0; padding-top: 0; }
  .heros-plein .heros-grille, .heros-arche .heros-grille { grid-template-columns: 1fr; }
  .heros-scene { -webkit-mask: none; mask: none; }
  .heros-plein .titre-heros { font-size: clamp(1.9rem, 1.2rem + 3vw, 2.4rem); }
  .heros-scene { position: relative; width: auto; height: clamp(230px, 40svh, 360px); margin: 0 0 16px; }
  .heros-scene::before { display: none; }
  .heros-plein .scene-legende { display: none; }
  /* particuliers : l'arche passe en haut, en pleine largeur */
  .heros-arche .heros-visuel { order: -1; margin-inline: -16px; }
  .arche-scene { margin-right: 0; border-radius: 0 0 50% 50% / 0 0 18% 18%; }
  .arche-scene > svg { aspect-ratio: auto; height: clamp(230px, 40svh, 360px); }
  .arche-scene::after { display: none; }
  /* professionnels */
  .bandeau-scene { height: clamp(230px, 40svh, 360px); }
  .bandeau-scene .plaque { top: auto; bottom: 14px; right: 12px; padding: 8px 12px; }
  .bandeau-scene .plaque-chiffre { font-size: 1.3rem; }
  .bandeau-carte { margin-top: -26px; padding: 18px 18px 22px; border-radius: 22px; }
  /* abonnement : le titre d'abord, le module en pleine largeur dessous */
  .heros-abo { padding-top: 22px; }
  .heros-abo .heros-visuel { order: 0; margin-top: 18px; }
  .abo-cadre { padding: 6px; border-radius: 18px; margin-inline: -8px; }
  /* suivi */
  .heros-suivi .heros-visuel { order: -1; margin-inline: -8px; }
  .visuel-suivi .scene-suivi { width: 100%; height: clamp(230px, 38svh, 330px); }
  .tr-grille { grid-template-columns: 1fr; }
  .scene-tel-grand { width: min(260px, 72vw); }
  /* la journée en pleine largeur */
  .journee-grille { width: 100%; grid-template-columns: 1fr; }
  .journee-texte { padding-inline: 16px; }
  .journee-visuel > svg { border-radius: 0; aspect-ratio: 1000 / 820; }
}
@media (max-width: 860px) and (max-height: 760px) {
  .heros-scene, .arche-scene > svg, .bandeau-scene { height: clamp(210px, 36svh, 300px); }
  .visuel-suivi .scene-suivi { height: 210px; }
}
.pourquoi-abo, .heros-abo { overflow-x: clip; }
@media (max-width: 860px) { .scene-journee :is(.j-est, .j-ouest) { display: none; } .abo-cadre { margin-inline: 0; } }
@media (max-width: 860px) { .heros-texte .titre-heros { order: 1; } .heros-texte .actions { order: 2; } .heros-texte .chapeau { order: 3; } .heros-texte .pastilles { order: 4; } }

/* la journée : la scène sort de sa carte, jusqu'au bord droit et au bas de la section */
.journee-scene { padding-bottom: 0; align-items: stretch; }
.journee-grille { align-items: end; }
.journee-texte { align-self: center; padding-bottom: 40px; }
.journee-visuel { position: relative; margin-right: calc((min(1360px, 100vw - 32px) - 100vw) / 2); }
.journee-visuel > svg { border-radius: 0; box-shadow: none; -webkit-mask: linear-gradient(90deg, transparent 0, #000 9%); mask: linear-gradient(90deg, transparent 0, #000 9%); }
.journee-note { position: absolute; left: 10%; bottom: 14px; margin: 0; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .45); }
.journee-ciel { background: linear-gradient(180deg, color-mix(in srgb, var(--jc1, #3E7FB5) 70%, #2A2350), var(--jc2, #9FCBE6)); }
@media (max-width: 899px) { .journee-visuel { margin-right: 0; } .journee-visuel > svg { -webkit-mask: none; mask: none; } .journee-texte { padding-bottom: 0; } .journee-scene { padding-bottom: 20px; } }
/* professionnels : Ekwalis couvre toute la section, la carte du titre est posée dessus */
@media (min-width: 861px) {
  .heros-bandeau { position: relative; padding: 0; overflow: hidden; }
  .bandeau-scene { position: absolute; inset: 0; height: auto; }
  .heros-bandeau > .enveloppe { padding-top: clamp(300px, 38vh, 420px); padding-bottom: 48px; }
  .bandeau-carte { margin-top: 0; }
}

/* ═════════ Passe DA 2 ═════════ */
/* grain sur les grandes scènes dessinées : ce qui enlève l'effet vecteur */
:is(.arche-scene, .journee-visuel, .etapes-cadre, .contact-nuit) { position: relative; }
:is(.heros-scene, .arche-scene, .bandeau-scene, .journee-visuel, .etapes-cadre, .avis-fond, .contact-nuit)::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: var(--grain); background-size: 180px; opacity: .08; mix-blend-mode: multiply; z-index: 1; }
.contact-nuit::after, .avis-fond::after { mix-blend-mode: screen; opacity: .05; }
.avis-fond::after { background: linear-gradient(180deg, rgba(26, 12, 34, .55), rgba(26, 12, 34, 0) 40%, rgba(16, 12, 30, .25)); opacity: 1; mix-blend-mode: normal; }

/* les étapes à 390 : un gros plan par étape */
.etape-gros-plan { width: 100%; height: auto; display: block; }

/* les avis : des cartes postales penchées, avec un cachet rond de Saint-Leu */
.avis-fort { transform: rotate(-1.5deg); }
.avis-carte-2 { transform: rotate(1deg); }
.avis-carte-3 { transform: rotate(-.8deg) translateX(14px); }
.cachet { position: absolute; top: 12px; right: 60px; width: 64px; height: 64px; border-radius: 50%; border: 2px solid rgba(226, 0, 26, .42); display: grid; place-items: center; text-align: center; padding: 8px; font-family: var(--titre); font-stretch: 110%; font-size: .56rem; font-weight: 800; letter-spacing: .06em; line-height: 1.15; text-transform: uppercase; color: rgba(226, 0, 26, .5); transform: rotate(-14deg); box-shadow: inset 0 0 0 4px rgba(255, 248, 236, 1), inset 0 0 0 5px rgba(226, 0, 26, .3); pointer-events: none; }
.avis-carte-2 .cachet, .avis-carte-3 .cachet { width: 54px; height: 54px; font-size: .5rem; right: 52px; top: 10px; }
@media (hover: hover) { .avis-carte:hover { transform: rotate(0) translateY(-4px); } }

/* Nos solutions : les dessins visibles sans survol, à gauche de chaque ligne, agrandis au survol */
@media (min-width: 1000px) {
  .chemin { grid-template-columns: 110px 60px minmax(0, 1.1fr) minmax(0, 1fr) 56px; }
  .chemin-photo { position: static; grid-column: 1; grid-row: 1; width: 110px; height: 84px; aspect-ratio: auto; transform: rotate(-2deg); opacity: 1; padding: 4px; border-radius: 14px; }
  .chemin-num { grid-column: 2; grid-row: 1; }
  .chemin-nom { grid-column: 3; grid-row: 1; }
  .chemin-phrase { grid-column: 4; grid-row: 1; }
  .chemin-fleche { grid-column: 5; grid-row: 1; }
  .chemin:hover .chemin-photo { transform: rotate(2deg) scale(1.35); }
  .chemin:hover .chemin-phrase { opacity: 1; }
}

/* PVLEASE+ : le + à la hauteur des capitales */
.formule-nom { letter-spacing: -.01em; }
/* Constructeur B : PVLEASE+, le + à la hauteur des capitales et dans la couleur du nom */
.formule-nom .plus-cap { color: inherit; display: inline-block; font-size: .92em; transform: translateY(-.1em); margin-left: .03em; }

/* le titre découpé d'abord, le paragraphe ensuite */
.anime [data-titre-decoupe]:not(.fini) + p, .anime [data-titre-decoupe]:not(.fini) + .orn-lambrequins + p { opacity: 0; }
.anime [data-titre-decoupe] + p, .anime [data-titre-decoupe] + .orn-lambrequins + p { transition: opacity .45s ease .05s; }
.avis-carte-2 .cachet, .avis-carte-3 .cachet { top: auto; bottom: 10px; right: 16px; }
.avis-fort .cachet { top: 76px; right: 18px; }
.journee-note { left: auto; right: 24px; bottom: auto; top: 16px; }

/* Constructeur A : la journée, le ciel du dessin est celui de la section (le dessin n'a plus de ciel peint, plus de couture) */
.journee-ciel { background: linear-gradient(180deg, color-mix(in srgb, var(--jc1, #3E7FB5) 78%, #2A2350), var(--jc2, #9FCBE6) 74%, var(--jc2, #9FCBE6)); }
@media (max-width: 899px) {
  .journee-ciel { background: linear-gradient(180deg, color-mix(in srgb, var(--jc1, #3E7FB5) 82%, #2A2350), var(--jc2, #9FCBE6) 42%, color-mix(in srgb, var(--jc2, #9FCBE6) 45%, #1B1430)); }
  .journee-visuel > svg { -webkit-mask: linear-gradient(180deg, transparent 0, #000 14%); mask: linear-gradient(180deg, transparent 0, #000 14%); }
}
/* Constructeur A : le cachet de la grande carte ne mord plus sur la citation à 390 */
@media (max-width: 700px) { .avis-fort .cachet { top: auto; bottom: 66px; right: 14px; width: 56px; height: 56px; font-size: .5rem; } }
/* Constructeur A : pas de rectangle de grain autour de la journée (le grain est déjà dans le ciel de la section), fondu gauche plus large */
.journee-visuel::after { display: none; }
@media (min-width: 900px) { .journee-visuel > svg { -webkit-mask: linear-gradient(90deg, transparent 0, #000 16%), linear-gradient(180deg, transparent 0, #000 12%); -webkit-mask-composite: source-in; mask: linear-gradient(90deg, transparent 0, #000 16%) intersect, linear-gradient(180deg, transparent 0, #000 12%); } }
@media (max-width: 700px) { .avis-fort .avis-grand { padding-right: 46px; } }
/* Constructeur A : la planche de lambrequin sous les titres, en rouge à 50 % franc (le voile de .55 la rendait rose pâle) */
.orn-lambrequins { opacity: 1; }

/* ═════════ Reprise du 19 octobre au soir : les formules et leurs prix, la demande de devis, les appels à l'action ═════════ */

/* — L'en-tête : « Demander un devis » à côté du téléphone — */
.entete-devis { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 18px; border-radius: 999px; background: linear-gradient(180deg, #F0142D, var(--rouge) 55%, #C80017); color: #fff; text-decoration: none; font-weight: 650; flex: none; box-shadow: 0 10px 20px -12px rgba(226, 0, 26, .7); transition: transform .25s, box-shadow .25s; }
.entete-devis svg { width: 18px; height: 18px; flex: none; }
@media (hover: hover) { .entete-devis:hover { transform: translateY(-1px); box-shadow: 0 14px 24px -12px rgba(226, 0, 26, .8); } }
.entete-ligne .entete-tel { margin-left: 0; }
@media (max-width: 1360px) and (min-width: 1101px) { .entete-nav a { padding: 10px 10px; } .entete-tel .tel-long { display: none; } .entete-tel .tel-court { display: inline; } }
@media (max-width: 1100px) { .entete-devis { margin-left: auto; } }
@media (max-width: 760px) { .entete-devis { display: none; } .entete-ligne .entete-tel { margin-left: auto; } }

/* — Le menu sur téléphone : le devis d'abord, l'appel ensuite — */
.menu-panneau .bouton + .bouton { margin-top: 10px; }

/* — La barre du bas sur téléphone : Appeler, et la demande de devis — */
@media (max-width: 760px) {
  .barre-appel { grid-auto-flow: row; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .barre-appel a { white-space: nowrap; }
  .barre-appel a:last-child { background: var(--nuit); border-color: var(--nuit); color: #fff; }
  .devis-court { display: none; }
}
@media (max-width: 374px) { .devis-long { display: none; } .devis-court { display: inline; } }

/* — Les trois formules d'abonnement — */
.tarifs { padding-top: clamp(96px, 11vw, 150px); }
.tarifs-intro { margin-top: 18px; color: #3B3733; font-size: 1.08rem; }
.tarifs-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.tarif { position: relative; display: flex; flex-direction: column; border-radius: 28px; background: #fff; overflow: hidden; border: 1px solid rgba(52, 50, 51, .08); box-shadow: 0 30px 60px -36px rgba(20, 20, 22, .55), 0 8px 20px -14px rgba(20, 20, 22, .25); transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
@media (hover: hover) { .tarif:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -36px rgba(20, 20, 22, .6), 0 10px 24px -14px rgba(20, 20, 22, .3); } }
.tarif-haut { position: relative; isolation: isolate; overflow: hidden; color: #fff; padding: 24px 26px 26px; }
.tarif-haut::before { content: ""; position: absolute; right: -70px; top: -80px; width: 260px; height: 260px; border-radius: 50%; z-index: -1; background: radial-gradient(circle, rgba(255, 226, 154, .5), transparent 65%); }
.tarif-haut::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cellules-clair); background-size: 58px 58px; opacity: .1; -webkit-mask: linear-gradient(0deg, #000, transparent 75%); mask: linear-gradient(0deg, #000, transparent 75%); }
.tarif-pvlease .tarif-haut { background: linear-gradient(155deg, #F0142D, var(--rouge) 42%, #9C0016); }
.tarif-plus .tarif-haut { background: linear-gradient(155deg, #4A4748, var(--anthracite) 40%, var(--nuit)); }
.tarif-max .tarif-haut { background: linear-gradient(155deg, #23477E, var(--cellule) 45%, #0B1830); }
.tarif-conso { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; font-size: .88rem; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .26); }
.tarif-conso::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--soleil-pale); box-shadow: 0 0 10px 2px rgba(255, 226, 154, .7); }
.tarif-nom { margin-top: 18px; font-family: var(--titre); font-stretch: 122%; font-weight: 800; font-size: 1.7rem; line-height: 1; letter-spacing: -.01em; }
.tarif-nom .plus-cap { display: inline-block; transform: translateY(-.1em); margin-left: .03em; }
.tarif-max-mot { color: var(--soleil-pale); }
.tarif-prix { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; justify-content: start; column-gap: 6px; margin-top: 14px; font-family: var(--titre); line-height: .82; }
.tarif-euros { grid-row: 1 / span 2; font-stretch: 112%; font-weight: 820; font-size: clamp(4.4rem, 3.2rem + 2.6vw, 5.8rem); letter-spacing: -.04em; }
.tarif-cents { align-self: start; padding-top: .18em; font-stretch: 112%; font-weight: 800; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.1rem); }
.tarif-mois { align-self: end; padding-bottom: .1em; font-family: var(--texte); font-weight: 600; font-size: 1rem; line-height: 1.2; opacity: .92; }
.tarif-sans { display: inline-block; margin-top: 18px; padding: 6px 12px; border-radius: 8px; background: var(--soleil-pale); color: var(--rouge-fonce); font-family: var(--titre); font-stretch: 112%; font-weight: 800; font-size: .84rem; letter-spacing: .04em; text-transform: uppercase; transform: rotate(-2deg); box-shadow: 0 8px 16px -8px rgba(0, 0, 0, .45); }
.tarif-corps { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 26px; }
.tarif-pour { color: #3B3733; font-size: .99rem; }
.tarif-liste { margin-top: 18px; gap: 10px; }
.tarif-liste li { font-weight: 600; }
.tarif-pied { margin-top: auto; padding-top: 22px; display: grid; gap: 14px; }
.tarif-garantie { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 14px; background: var(--sable); font-weight: 700; color: var(--anthracite); }
.tarif-garantie::before { content: ""; flex: none; width: 22px; height: 24px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'%3E%3Cpath d='M11 1.5 20 5v6.5c0 5.4-3.8 9.6-9 11-5.2-1.4-9-5.6-9-11V5z' fill='%23E2001A'/%3E%3Cpath d='m6.8 12.2 2.9 2.9 5.6-5.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.tarif-pied .bouton { width: 100%; }
.tarif-note { font-size: .8rem; line-height: 1.45; color: var(--gris); }
.tarif-plus .tarif-liste svg { color: var(--anthracite); background: rgba(52, 50, 51, .1); }
.tarif-max .tarif-liste svg { color: var(--cellule); background: rgba(20, 42, 78, .1); }
@media (max-width: 1000px) { .tarifs-grille { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }

/* L'option Confort, en bandeau sous les trois cartes */
.confort { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.6fr) auto; gap: clamp(20px, 3vw, 44px); align-items: center; margin-top: 26px; padding: clamp(24px, 3vw, 36px); border-radius: 28px; background: linear-gradient(120deg, var(--nuit), #232A3E 60%, #2E1F4A); color: #fff; box-shadow: 0 30px 60px -36px rgba(20, 20, 22, .7); }
.confort::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--cellules-clair); background-size: 58px 58px; opacity: .07; }
.confort::after { content: ""; position: absolute; left: -60px; bottom: -90px; width: 240px; height: 240px; border-radius: 50%; z-index: -1; background: radial-gradient(circle, rgba(246, 168, 33, .4), transparent 65%); }
.confort-sur { font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--soleil-pale); }
.confort-nom { margin-top: 8px; font-family: var(--titre); font-stretch: 120%; font-weight: 800; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.05; }
.confort-prix { margin-top: 10px; font-weight: 600; }
.confort-prix strong { font-family: var(--titre); font-stretch: 116%; font-weight: 800; font-size: 2.2rem; line-height: 1; color: var(--soleil-pale); margin-right: 4px; }
.confort-corps > p { color: rgba(255, 255, 255, .86); }
.confort-liste { grid-template-columns: 1fr 1fr; margin-top: 16px; gap: 10px 18px; }
@media (max-width: 1000px) { .confort { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } .confort-bouton { justify-self: start; } }
@media (max-width: 480px) { .confort-liste { grid-template-columns: 1fr; } .confort-bouton { width: 100%; } }

/* Les garanties, à côté de « Tout est compris » */
.garanties { display: grid; gap: 16px; }
.garanties-titre { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .86rem; color: var(--soleil-pale); }
.garanties-liste { display: grid; gap: 12px; }
.garanties-liste li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; align-items: center; padding: 18px 22px; border-radius: 20px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .18); }
.garanties-liste strong { font-family: var(--titre); font-stretch: 120%; font-weight: 800; font-size: 2.1rem; line-height: 1; color: var(--soleil-pale); white-space: nowrap; }
.garanties-liste span { color: rgba(255, 255, 255, .88); }
.garanties .actions { margin-top: 10px; }
@media (max-width: 480px) { .garanties-liste li { grid-template-columns: 1fr; gap: 4px; padding: 16px 18px; } }

/* — Les relances : un appel à l'action quand le visiteur peut se décider — */
.relance { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: clamp(20px, 2.6vw, 30px) clamp(20px, 3vw, 34px); border-radius: 26px; background: #fff; border: 1px solid rgba(20, 42, 78, .1); box-shadow: 0 24px 50px -34px rgba(20, 42, 78, .6); position: relative; overflow: hidden; }
.relance::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: linear-gradient(var(--soleil), var(--rouge)); }
.relance-soleil { width: 54px; height: 54px; border-radius: 50%; background: radial-gradient(circle, #FFE29A 0 30%, var(--soleil) 31% 58%, transparent 60%), repeating-conic-gradient(var(--soleil) 0 8deg, transparent 8deg 30deg); }
.relance-titre { font-family: var(--titre); font-stretch: 112%; font-weight: 760; font-size: clamp(1.25rem, 1.05rem + .7vw, 1.6rem); line-height: 1.15; }
.relance-texte > p:not(.relance-titre) { margin-top: 6px; color: #3B3733; }
.relance-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.etapes .relance { margin-bottom: clamp(48px, 6vw, 80px); }
.relance-cle { margin-top: clamp(40px, 5vw, 64px); }
@media (max-width: 900px) { .relance { grid-template-columns: auto minmax(0, 1fr); } .relance-actions { grid-column: 1 / -1; justify-content: flex-start; } }
@media (max-width: 560px) { .relance { grid-template-columns: 1fr; gap: 14px; } .relance-soleil { width: 42px; height: 42px; } .relance-actions .bouton { width: 100%; } }
.etapes-suite { margin-top: 26px; padding-left: 66px; }
.etapes-suite > p { font-weight: 650; color: var(--anthracite); }
.etapes-suite .actions { margin-top: 14px; }
@media (max-width: 760px) { .etapes-suite { padding-left: 0; } }
.avis-suite { margin-top: clamp(36px, 5vw, 56px); padding-top: clamp(24px, 3vw, 34px); border-top: 1px solid rgba(255, 255, 255, .2); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.avis-suite-titre { font-family: var(--titre); font-stretch: 112%; font-weight: 760; font-size: clamp(1.35rem, 1.1rem + .9vw, 1.9rem); line-height: 1.1; }
.avis-suite .actions { margin-top: 0; }
.ekwalis .actions, .revente .actions, .irve .actions { margin-top: 26px; }
.choix-prix { margin-top: 14px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; font-weight: 600; }
.choix-prix strong { font-family: var(--titre); font-stretch: 116%; font-weight: 800; font-size: 2.2rem; line-height: 1; color: var(--soleil-pale); }
.choix-achat .bouton { margin-top: 24px; }
@media (max-width: 480px) { .choix-carte .bouton, .ekwalis .actions .bouton, .garanties .actions .bouton, .avis-suite .bouton, .etapes-suite .bouton { width: 100%; } }

/* — La demande de devis : le crépuscule, entre le coucher du soleil et la nuit — */
.devis { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: linear-gradient(180deg, #2A1638 0%, #221A36 55%, #171A26 100%); }
.devis::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(60% 50% at 12% 0%, rgba(238, 90, 30, .28), transparent 70%), radial-gradient(1.2px 1.2px at 70% 18%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 84% 34%, #fff 50%, transparent 52%), radial-gradient(1.4px 1.4px at 56% 8%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 92% 12%, #fff 50%, transparent 52%); opacity: .9; }
.devis::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: var(--grain); opacity: .06; mix-blend-mode: screen; }
.devis-grille { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 5vw, 76px); align-items: start; }
.devis .titre-section { color: #fff; }
.devis-intro { margin-top: 18px; color: rgba(255, 255, 255, .86); max-width: 34em; }
.devis-points { margin-top: 24px; }
.devis-avis { margin-top: 30px; padding: 20px 22px; border-radius: 20px; background: rgba(255, 248, 236, .08); border: 1px solid rgba(255, 255, 255, .16); max-width: 30em; }
.devis-avis p { font-family: var(--titre); font-stretch: 108%; font-weight: 700; font-size: 1.2rem; line-height: 1.3; }
.devis-avis figcaption { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; margin-top: 10px; font-size: .95rem; }
.devis-avis small { opacity: .75; margin-left: 4px; }
.devis-carte { position: relative; background: var(--creme); color: var(--nuit); border-radius: 28px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .8); }
.devis-carte::before { content: ""; position: absolute; left: 28px; right: 28px; top: 0; height: 4px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--soleil), var(--rouge)); }
.formulaire[hidden], .confirmation[hidden], .champ[hidden] { display: none; }
.form-titre { font-family: var(--titre); font-stretch: 116%; font-weight: 800; font-size: clamp(1.4rem, 1.15rem + .8vw, 1.8rem); line-height: 1.1; }
.choix-profil { margin: 18px 0 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.choix-profil legend { padding: 0; margin-bottom: 8px; font-weight: 650; font-size: .95rem; float: left; width: 100%; }
.choix-profil label { position: relative; cursor: pointer; }
.choix-profil input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.choix-profil span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid rgba(52, 50, 51, .25); background: #fff; font-weight: 650; transition: background-color .2s, color .2s, border-color .2s; }
.choix-profil input:checked + span { background: var(--nuit); border-color: var(--nuit); color: #fff; }
.choix-profil input:focus-visible + span { outline: 3px solid var(--soleil); outline-offset: 3px; }
.champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; margin-top: 18px; }
.champ { display: grid; gap: 6px; align-content: start; }
.champ-large { grid-column: 1 / -1; }
.champ > label { font-weight: 650; font-size: .95rem; }
.champ input:not([type="checkbox"]), .champ select, .champ textarea { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: 14px; border: 1.5px solid rgba(52, 50, 51, .2); background: #fff; font: inherit; font-size: 1rem; color: var(--nuit); transition: border-color .2s, box-shadow .2s; }
.champ textarea { resize: vertical; min-height: 110px; }
.champ select { appearance: none; padding-right: 44px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23E2001A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 14px center / 20px no-repeat; text-overflow: ellipsis; }
.champ :is(input, select, textarea):focus { outline: none; border-color: var(--rouge); box-shadow: 0 0 0 4px rgba(226, 0, 26, .14); }
.champ [aria-invalid] { border-color: var(--rouge); background: #FFF5F5; }
.champ-erreur { font-size: .88rem; font-weight: 600; color: var(--rouge-fonce); }
.champ-erreur:empty { display: none; }
.champ-case label { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 14px; border-radius: 14px; background: rgba(246, 168, 33, .14); border: 1px solid rgba(246, 168, 33, .35); cursor: pointer; font-weight: 600; }
.champ-case input { width: 22px; height: 22px; flex: none; accent-color: var(--rouge); margin: 0; }
.formulaire > .bouton { width: 100%; margin-top: 22px; }
.form-mention { margin-top: 10px; font-size: .85rem; color: var(--gris); text-align: center; }
@media (max-width: 899px) { .devis-grille { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .champs { grid-template-columns: 1fr; } .devis-carte { padding: 22px 18px 24px; border-radius: 22px; } }

/* La confirmation, une fois la demande prête */
.confirmation { display: grid; gap: 12px; justify-items: start; }
.confirmation:focus { outline: none; }
.confirmation-soleil { width: 64px; height: 64px; border-radius: 50%; background: radial-gradient(circle, #FFE29A 0 30%, var(--soleil) 31% 58%, transparent 60%), repeating-conic-gradient(var(--soleil) 0 8deg, transparent 8deg 30deg); }
.confirmation-texte { color: #3B3733; }
.recap { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 16px; margin-top: 6px; padding: 14px 16px; border-radius: 16px; background: #fff; border: 1px solid rgba(52, 50, 51, .1); font-size: .95rem; }
.recap dt { font-weight: 700; color: var(--gris); }
.recap dd { overflow-wrap: anywhere; }
.confirmation .actions { margin-top: 8px; }
.lien-retour { margin-top: 4px; padding: 8px 0; border: 0; background: none; font-weight: 650; color: var(--rouge-fonce); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 560px) { .recap { grid-template-columns: 1fr; gap: 0; } .recap dd { margin-bottom: 8px; } .confirmation .actions .bouton { width: 100%; } }
@media (max-width: 560px) { .champs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; } .champ { grid-column: 1 / -1; } .champ:has(#nom), .champ:has(#prenom) { grid-column: auto; } }

:root { --traits-filigrane: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20620%20390%22%3E%3Cg%20fill%3D%22%23E2001A%22%20fill-opacity%3D%22.16%22%3E%3Cpath%20%20d%3D%22M%20176.4%206.3C175.8%206.6%20176.1%206.8%20177.7%207.2C178.3%207.3%20179.3%207.5%20179.8%207.7C180.4%207.8%20182.3%208.3%20184.2%208.7C186%209.1%20187.9%209.5%20188.3%209.7C188.8%209.8%20190.6%2010.3%20192.3%2010.6C194.1%2011%20196%2011.5%20196.7%2011.7C198.2%2012.1%20209.8%2015%20211.5%2015.3C214.1%2015.9%20239.2%2022.3%20247.2%2024.5C249%2025%20251.6%2025.7%20253%2026C255.7%2026.8%20258.2%2027.4%20260.9%2028.2C261.9%2028.5%20263.5%2028.9%20264.4%2029.2C272.2%2031.3%20274.4%2031.9%20278.8%2033.2C279.7%2033.5%20281.3%2033.9%20282.2%2034.2C284.1%2034.7%20290.4%2036.5%20292.8%2037.2C297.1%2038.5%20297.9%2038.7%20299.2%2039.1C299.9%2039.2%20300.8%2039.5%20301.2%2039.7C301.5%2039.8%20303%2040.3%20304.3%2040.7C305.7%2041.1%20307.4%2041.6%20308.2%2041.8C308.9%2042.1%20310.7%2042.7%20312.2%2043.1C318.2%2044.9%20323.2%2046.6%20330.7%2049.1C335%2050.5%20339%2051.9%20339.7%2052C340.3%2052.2%20342.4%2052.9%20344.3%2053.6C346.3%2054.3%20349.1%2055.4%20350.7%2055.9C355.5%2057.6%20364.8%2061.1%20365.8%2061.5C366.4%2061.8%20368.3%2062.5%20370%2063.2C371.7%2063.8%20373.5%2064.5%20373.8%2064.7C374.2%2064.8%20375.8%2065.5%20377.5%2066.2C379.2%2066.8%20380.8%2067.5%20381.2%2067.7C381.5%2067.8%20382.6%2068.3%20383.5%2068.7C386.1%2069.8%20387.4%2070.4%20388.2%2070.7C390.3%2071.6%20392.8%2072.7%20394.7%2073.5C397.3%2074.7%20414.3%2083.2%20417.3%2084.9C421.5%2087.2%20431.8%2093.5%20433.5%2094.7C433.7%2094.9%20436.2%2096.8%20439.2%2099C451.9%20108.4%20461.4%20119.3%20468.2%20132C468.8%20133%20470.5%20136.3%20472.2%20139.3C476.1%20146.8%20478.7%20151%20479.2%20151C480.1%20151%20486.8%20141.1%20489.8%20135.2C502.3%20110.8%20495.9%2089%20470.9%2070.7C464.9%2066.4%20454.7%2060.2%20449%2057.6C448.4%2057.3%20446.3%2056.3%20444.3%2055.4C442.4%2054.5%20439.9%2053.3%20438.7%2052.9C437.5%2052.4%20436.2%2051.8%20435.8%2051.7C430.3%2049.2%20413.2%2043.1%20405%2040.7C403.6%2040.3%20402.1%2039.8%20401.7%2039.7C399.3%2038.9%20389.7%2036.2%20385.7%2035.2C384.7%2034.9%20381.4%2034.1%20378.3%2033.4C375.3%2032.6%20372.4%2031.9%20371.8%2031.7C371.3%2031.5%20370%2031.2%20369%2031C368%2030.8%20366.2%2030.4%20365%2030.2C359.5%2028.9%20355.1%2027.9%20346%2026.2C344.4%2025.9%20342.1%2025.4%20340.8%2025.1C335.9%2024.1%20330%2023.1%20318.7%2021.2C306.9%2019.2%20291.4%2016.9%20277.5%2015.2C262.9%2013.3%20258.5%2012.8%20242.3%2011.2C228.3%209.7%20211.3%208.3%20197.3%207.4C194.5%207.2%20190%206.9%20187.3%206.7C179%206.1%20176.8%206%20176.4%206.3%22%2F%3E%3Cpath%20%20d%3D%22M%20512.3%2080.6C512.3%2080.7%20513.1%2081.6%20514.1%2082.6C520.5%2089.3%20523.4%2095.3%20524.5%20103.7C525.6%20112%20522.9%20122.4%20517.4%20131.7C511.4%20141.7%20502.7%20151.9%20492.5%20160.8C490.7%20162.5%20488.6%20164.2%20488%20164.8C482.1%20170%20469.2%20179.5%20458.2%20186.7C452.9%20190.2%20438.2%20199.4%20436.8%20200C436.5%20200.2%20435.9%20200.5%20435.7%20200.6C435.4%20200.8%20434%20201.6%20432.5%20202.5C431%20203.3%20429.6%20204.2%20429.3%20204.3C429.1%20204.5%20428.6%20204.8%20428.3%20204.9C428.1%20205%20426.5%20205.9%20424.8%20206.8C418.3%20210.4%20415.4%20211.9%20408.8%20215.3C402.2%20218.8%20390.4%20224.7%20385.3%20227.1C383.2%20228.1%20380.4%20229.4%20379%20230.1C374.3%20232.3%20369.1%20234.7%20365%20236.6C364%20237%20362.6%20237.7%20361.8%20238C357%20240.2%20354.9%20241.2%20353.3%20241.9C352.2%20242.3%20350.5%20243.1%20349.4%20243.5C348.4%20244%20347.2%20244.5%20346.8%20244.7C346.5%20244.8%20345.1%20245.4%20343.9%20246C342.6%20246.5%20341.5%20247%20341.4%20247C341.3%20247%20340.8%20247.2%20340.2%20247.5C339.6%20247.7%20338.1%20248.4%20336.9%20249C335.6%20249.5%20334.5%20250%20334.5%20250C334.3%20250%20332.4%20250.8%20330.5%20251.7C330.1%20251.8%20328.5%20252.5%20326.8%20253.2C325.2%20253.8%20323.5%20254.5%20323.2%20254.7C322.3%20255%20319.6%20256.1%20313.8%20258.5C311.2%20259.5%20308.7%20260.6%20308.2%20260.8C307.6%20261.1%20306.4%20261.5%20305.5%20261.8C304.6%20262.2%20303.7%20262.5%20303.5%20262.7C303.3%20262.8%20302.4%20263.2%20301.5%20263.5C300.6%20263.8%20299.4%20264.3%20298.8%20264.5C297.7%20265.1%20292.9%20266.9%20281.5%20271.2C276.9%20272.9%20272.7%20274.6%20272.1%20274.8C271.5%20275.1%20271%20275.3%20270.8%20275.3C270.7%20275.3%20268.6%20276.1%20266.1%20277C259.6%20279.5%20256.7%20280.5%20252.5%20282C250.5%20282.8%20247%20284%20244.8%20284.8C239.3%20286.9%20229.1%20290.5%20225.7%20291.7C224.1%20292.2%20220.9%20293.3%20218.5%20294.2C216.1%20295%20212.2%20296.4%20209.8%20297.2C207.5%20298%20202.2%20299.8%20198.2%20301.2C194.1%20302.6%20190.3%20303.9%20189.7%20304.1C189%20304.3%20182.7%20306.3%20175.7%20308.7C161.1%20313.5%20145.5%20318.5%20138.7%20320.7C137.3%20321.1%20134.4%20322%20132.3%20322.7C130.2%20323.4%20127.4%20324.3%20126%20324.7C123.3%20325.5%20117.7%20327.2%20116.3%20327.7C115.9%20327.8%20114%20328.4%20112.2%20328.9C110.3%20329.5%20107.4%20330.4%20105.7%20330.9C103.9%20331.5%20101.4%20332.3%20100%20332.7C95.1%20334.1%2094.2%20334.4%2092.8%20334.9C92.1%20335.1%2089.7%20335.8%2087.5%20336.5C85.3%20337.1%2082%20338.1%2080.2%20338.7C78.3%20339.2%2076.1%20339.9%2075.2%20340.2C74.3%20340.4%2072.7%20340.8%2071.8%20341.1C70.8%20341.4%2069.3%20341.9%2068.3%20342.2C67.4%20342.4%2065.9%20342.9%2065%20343.2C64.1%20343.4%2062.5%20343.9%2061.6%20344.2C60.6%20344.5%2059.1%20344.9%2058.2%20345.2C57.3%20345.4%2054.9%20346.1%2053%20346.7C48.2%20348.1%2047%20348.5%2042.9%20349.6C40.9%20350.2%2037.7%20351.1%2035.8%20351.7C33.8%20352.3%2031.4%20352.9%2030.5%20353.2C29.6%20353.5%2028.1%20353.9%2027.2%20354.2C26.3%20354.4%2023.8%20355.1%2021.8%20355.7C19.8%20356.2%2016.9%20357.1%2015.3%20357.5C10.4%20358.9%207.9%20359.6%206.9%20360C6.4%20360.2%205.6%20360.3%205.1%20360.3C4.7%20360.3%204.3%20360.5%204.3%20360.7C4.3%20361%205%20361%206.4%20360.9C8.4%20360.7%209.6%20360.5%2017.2%20359.2C18.8%20358.9%2021.4%20358.4%2023%20358.2C24.6%20357.9%2027.2%20357.5%2028.9%20357.2C31.9%20356.7%2034.9%20356.2%2040.9%20355.2C42.5%20354.9%2046.5%20354.2%2049.8%20353.7C53.1%20353.1%2056.7%20352.5%2057.8%20352.3C58.9%20352.1%2060.5%20351.8%2061.3%20351.7C62.7%20351.4%2066.5%20350.7%2071%20350C72%20349.8%2075%20349.3%2077.7%20348.8C80.3%20348.4%2083.8%20347.8%2085.3%20347.5C86.9%20347.2%2088.9%20346.8%2089.8%20346.7C90.8%20346.5%2092.8%20346.1%2094.3%20345.8C101.3%20344.6%20108.7%20343.3%20112%20342.7C112.8%20342.5%20114.8%20342.1%20116.3%20341.8C124.4%20340.4%20128.8%20339.6%20131.2%20339.1C132.6%20338.8%20135%20338.4%20136.5%20338.1C140.6%20337.4%20143.6%20336.8%20146.6%20336.2C148.1%20335.9%20150.5%20335.4%20151.9%20335.2C154.9%20334.6%20159%20333.8%20162.7%20333.1C164%20332.8%20166.2%20332.4%20167.5%20332.2C168.8%20331.9%20172.2%20331.2%20175.2%20330.7C182%20329.3%20184.2%20328.9%20187.5%20328.2C189%20327.9%20192.7%20327.2%20195.8%20326.5C199%20325.8%20202.3%20325.2%20203.2%20325C204.1%20324.8%20205.8%20324.5%20207%20324.2C208.2%20323.9%20211.5%20323.3%20214.3%20322.7C217.2%20322.1%20220.4%20321.4%20221.5%20321.2C222.6%20320.9%20224.7%20320.5%20226.2%20320.2C227.6%20319.9%20229.7%20319.4%20230.8%20319.2C236.8%20317.8%20238%20317.6%20240%20317.2C241.2%20316.9%20243.1%20316.5%20244.3%20316.2C246.6%20315.7%20250.4%20314.8%20253%20314.3C253.8%20314.2%20255%20313.9%20255.7%20313.7C256.3%20313.5%20257.9%20313.1%20259.2%20312.9C260.4%20312.6%20262.8%20312%20264.5%20311.7C266.2%20311.3%20268.6%20310.7%20269.8%20310.5C271.1%20310.2%20272.7%20309.8%20273.3%20309.6C274%20309.5%20275.8%20309%20277.5%20308.7C281.1%20307.9%20284.4%20307.1%20286%20306.6C286.6%20306.5%20288.5%20306%20290.2%20305.7C292.7%20305.1%20312.1%20300.4%20314.2%20299.8C314.5%20299.7%20316.6%20299.2%20318.7%20298.6C320.8%20298.1%20323.3%20297.4%20324.3%20297.2C327.6%20296.4%20333.7%20294.8%20337.7%20293.7C339.8%20293.1%20343.2%20292.2%20345.2%20291.7C351.1%20290.1%20361%20287.4%20362.8%20286.8C363.8%20286.6%20367.4%20285.5%20371%20284.5C374.6%20283.4%20378.2%20282.4%20379%20282.2C379.8%20281.9%20381.1%20281.5%20381.8%20281.3C382.6%20281.1%20383.5%20280.8%20384%20280.7C384.5%20280.5%20386%20280.1%20387.3%20279.7C388.7%20279.3%20390.2%20278.8%20390.7%20278.7C391.1%20278.5%20392.6%20278.1%20394%20277.7C395.4%20277.3%20397.6%20276.6%20398.8%20276.2C400.1%20275.8%20402.3%20275.1%20403.7%20274.7C407.6%20273.5%20424.4%20268%20425.2%20267.7C425.5%20267.5%20427.4%20266.8%20429.3%20266.2C434.1%20264.6%20441.6%20262%20445%20260.7C446.6%20260.1%20448.7%20259.3%20449.8%20258.9C450.9%20258.6%20452.3%20258.1%20452.8%20257.9C453.4%20257.6%20455.7%20256.7%20458%20255.8C464.7%20253.3%20470.4%20251%20471.2%20250.7C471.5%20250.5%20473.7%20249.6%20476%20248.7C478.3%20247.7%20480.6%20246.8%20481.2%20246.5C481.7%20246.2%20483.5%20245.5%20485%20244.8C496.6%20239.9%20512.2%20232.2%20522.9%20226.1C531.8%20221.1%20543.6%20213.5%20548.3%20209.7C549%20209.2%20551.1%20207.5%20553%20206C557.7%20202.2%20567.6%20192.3%20570.8%20188.1C579%20177.2%20582.2%20168.6%20582.2%20157.3C582.1%20149.2%20581.2%20145.4%20577.4%20137C572.1%20125.4%20557%20109.5%20539.3%2097.2C530.9%2091.3%20512.3%2079.8%20512.3%2080.6%22%2F%3E%3Cpath%20%20d%3D%22M%20598.1%20172.3C600.9%20184.5%20591.6%20201.6%20574.7%20215.7C573.5%20216.7%20572.3%20217.7%20572.1%20217.9C569.6%20220.2%20557.9%20228.6%20552%20232.2C550.9%20232.9%20549.5%20233.8%20549%20234.1C548.6%20234.4%20547.5%20235%20546.7%20235.5C545.8%20236%20544.7%20236.6%20544.2%20236.9C540.6%20239%20536.7%20241.2%20533.7%20242.8C527.6%20246%20508.7%20255.3%20508.2%20255.3C508.1%20255.3%20507.2%20255.7%20506.2%20256.2C505.3%20256.7%20500.6%20258.7%20495.8%20260.7C491.1%20262.7%20486.9%20264.5%20486.5%20264.7C486.1%20264.8%20483.3%20266%20480.2%20267.2C477.1%20268.4%20474.2%20269.5%20473.8%20269.7C473.5%20269.8%20472.3%20270.3%20471.2%20270.7C470.1%20271.1%20468.9%20271.5%20468.5%20271.7C468.1%20271.9%20467.2%20272.2%20466.5%20272.4C465.8%20272.7%20463.4%20273.6%20461.3%20274.3C457.1%20275.9%20447.4%20279.3%20443.8%20280.5C442.6%20280.9%20439.1%20282.1%20436.2%20283.1C433.2%20284.1%20429%20285.5%20426.8%20286.2C424.6%20286.9%20421.1%20288%20419%20288.7C416.9%20289.4%20414%20290.3%20412.7%20290.7C411.3%20291.1%20409.1%20291.8%20407.8%20292.2C406.6%20292.6%20404.6%20293.2%20403.5%20293.5C402.4%20293.8%20401.1%20294.2%20400.5%20294.4C399.9%20294.6%20399.1%20294.8%20398.5%20295C397.9%20295.1%20395.6%20295.8%20393.3%20296.5C391%20297.2%20387.9%20298.1%20386.3%20298.5C384.8%20299%20382.7%20299.6%20381.7%20299.9C380.7%20300.2%20379.4%20300.5%20378.8%20300.7C378.3%20300.8%20377.1%20301.2%20376.2%20301.5C375.3%20301.7%20372.5%20302.5%20370%20303.1C367.5%20303.8%20365.1%20304.5%20364.5%20304.7C363.6%20304.9%20359.3%20306.1%20355.2%20307.2C354.3%20307.4%20351.7%20308.1%20349.5%20308.7C347.3%20309.3%20344.7%20309.9%20343.7%20310.2C342.7%20310.4%20339.1%20311.3%20335.8%20312.2C332.5%20313%20329%20314%20327.9%20314.2C326.9%20314.5%20325.1%20314.9%20323.9%20315.2C322.8%20315.5%20321.2%20315.8%20320.3%20316C319.5%20316.2%20318.5%20316.5%20318%20316.6C317.5%20316.8%20316%20317.2%20314.7%20317.5C313.3%20317.8%20310.4%20318.5%20308.2%20319C306%20319.5%20302.8%20320.3%20301.2%20320.7C299.5%20321.1%20296.6%20321.7%20294.7%20322.2C292.9%20322.7%20290.7%20323.2%20289.9%20323.3C289.1%20323.5%20287.5%20323.9%20286.3%20324.2C284.3%20324.6%20282.4%20325.1%20277.5%20326.1C275.2%20326.6%20268.5%20328.1%20265.3%20328.9C261.4%20329.8%20260.5%20330%20258.2%20330.5C256.9%20330.7%20255.3%20331.1%20254.7%20331.2C254%20331.3%20252.3%20331.7%20250.8%20332C249.2%20332.4%20246.8%20332.9%20245.4%20333.2C241.3%20334%20238.4%20334.7%20235.8%20335.2C234.5%20335.5%20232.5%20335.9%20231.2%20336.2C227.5%20336.9%20224.6%20337.5%20219%20338.7C214.1%20339.7%20211.9%20340.1%20206.5%20341.2C205.2%20341.4%20203%20341.9%20201.7%20342.1C200.3%20342.4%20197.9%20342.9%20196.3%20343.2C194.8%20343.5%20192.5%20343.9%20191.2%20344.2C189.9%20344.5%20187.6%20344.9%20186.2%20345.2C183.4%20345.7%20180.4%20346.2%20175.7%20347.2C174.1%20347.5%20171.7%20347.9%20170.3%20348.2C169%20348.4%20166.6%20348.9%20165.2%20349.1C160%20350.1%20156.8%20350.7%20154.2%20351.2C152.7%20351.4%20150.2%20351.9%20148.7%20352.2C147.1%20352.5%20144.6%20352.9%20143.1%20353.2C141.6%20353.4%20139.1%20353.9%20137.6%20354.2C136.1%20354.4%20133.6%20354.9%20132%20355.2C130.4%20355.5%20127.8%20355.9%20126.2%20356.2C124.5%20356.5%20122%20356.9%20120.7%20357.2C117.2%20357.8%20112.6%20358.6%20110%20359C108.8%20359.2%20107.1%20359.5%20106.2%20359.7C104.7%20360%2099.1%20360.9%2091.3%20362.2C89.8%20362.4%2086.3%20363%2083.5%20363.5C78.1%20364.3%2077.8%20364.4%2073%20365.2C71.3%20365.5%2068.6%20365.9%2067%20366.2C65.4%20366.4%2062.7%20366.9%2061%20367.2C59.3%20367.4%2056.3%20367.9%2054.5%20368.1C52.7%20368.4%2050.6%20368.8%2050%20369C49.4%20369.2%2048.3%20369.3%2047.8%20369.3C47.2%20369.3%2046.7%20369.5%2046.7%20369.7C46.7%20370%2048.2%20370.1%2052.4%20369.9C55.6%20369.8%2062.7%20369.5%2068.2%20369.4C73.7%20369.2%2081.7%20368.9%2086%20368.7C90.3%20368.5%2097.7%20368.2%20102.3%20368C124.5%20367.1%20146.7%20365.9%20175.5%20364.2C189.2%20363.3%20217.5%20361.3%20230.7%20360.2C236.4%20359.7%20239.6%20359.4%20253.8%20358.2C256.8%20357.9%20261.4%20357.5%20264.2%20357.2C266.9%20356.9%20271.5%20356.5%20274.3%20356.2C285.5%20355.1%20301.9%20353.3%20311%20352.2C313.3%20351.9%20317%20351.4%20319.3%20351.2C325.3%20350.4%20330.6%20349.8%20335%20349.2C337.1%20348.9%20340.5%20348.4%20342.5%20348.1C349.5%20347.2%20352.9%20346.7%20356.5%20346.2C360.8%20345.5%20364.8%20344.9%20369.7%20344.2C373.8%20343.6%20395.6%20339.9%20399.7%20339.2C401.2%20338.9%20403.6%20338.4%20405%20338.2C406.4%20337.9%20408.7%20337.5%20410.3%20337.2C411.8%20336.9%20414.2%20336.4%20415.8%20336.1C417.3%20335.8%20419.5%20335.4%20420.7%20335.2C421.9%20334.9%20424%20334.5%20425.5%20334.2C427%20333.9%20430.3%20333.2%20432.8%20332.7C435.4%20332.1%20438.3%20331.5%20439.2%20331.3C440.1%20331.1%20441.4%20330.8%20442.2%20330.7C442.9%20330.5%20444.8%20330%20446.5%20329.7C453.8%20328%20465%20325.2%20471.7%20323.5C474.1%20322.8%20476.5%20322.2%20477%20322.1C477.5%20322%20478%20321.8%20478.2%20321.7C478.3%20321.5%20479.1%20321.3%20479.8%20321.2C480.6%20321.1%20481.8%20320.7%20482.7%20320.5C483.5%20320.2%20486.5%20319.4%20489.3%20318.5C503.1%20314.5%20523%20307.7%20529.5%20304.8C530.1%20304.6%20532.8%20303.4%20535.7%20302.2C566.4%20289.4%20588.9%20274.3%20602%20257.5C606%20252.4%20610.2%20245.4%20611.2%20242C611.3%20241.5%20611.5%20241%20611.7%20240.8C611.9%20240.5%20612.8%20238%20613.6%20235.3C617.4%20223.4%20616.1%20207.5%20610.3%20193C606.4%20183.4%20597.1%20167.4%20598.1%20172.3%22%2F%3E%3Cpath%20%20d%3D%22M%20605.8%20281.8C604.7%20283%20594.2%20292.5%20591.7%20294.5C591%20295.1%20590.4%20295.6%20590.3%20295.7C590.1%20296%20581.9%20302.2%20580.3%20303.2C574.7%20307%20563.8%20313.1%20557.7%20315.8C556.5%20316.3%20554.9%20317%20554.2%20317.4C553.4%20317.7%20550.9%20318.7%20548.5%20319.7C546.1%20320.6%20543.9%20321.5%20543.5%20321.7C541.4%20322.6%20526.1%20327.8%20521.3%20329.2C516.1%20330.7%20511.3%20332.1%20507.3%20333.1C504.4%20333.9%20492.4%20336.9%20489.2%20337.7C487.5%20338%20485.7%20338.5%20485.2%20338.7C484.6%20338.8%20483.3%20339.1%20482.3%20339.3C481.3%20339.5%20479.5%20339.9%20478.3%20340.2C475.8%20340.8%20468.9%20342.2%20462%20343.7C456.3%20344.9%20453.3%20345.5%20444.3%20347.1C442.8%20347.4%20440.3%20347.9%20438.8%20348.2C435.6%20348.8%20429.1%20349.9%20426.8%20350.3C424.6%20350.7%20420.6%20351.4%20412.3%20352.8C408.6%20353.4%20404.8%20354%20403.8%20354.1C402.9%20354.3%20401.5%20354.5%20400.7%20354.7C399.8%20354.8%20397.6%20355.2%20395.7%20355.5C393.7%20355.8%20390.8%20356.2%20389.2%20356.5C385.2%20357.1%20377.6%20358.3%20373.5%20358.9C371.7%20359.1%20369.3%20359.5%20368.2%20359.7C367.1%20359.8%20363.9%20360.3%20361.2%20360.7C358.4%20361%20354.7%20361.6%20352.8%20361.8C347.7%20362.6%20344.9%20362.9%20339.2%20363.7C336.2%20364%20332.9%20364.5%20331.8%20364.7C330.7%20364.9%20328.6%20365.2%20327%20365.3C325.4%20365.5%20322.4%20365.9%20320.3%20366.1C318.2%20366.4%20314.7%20366.9%20312.5%20367.1C310.3%20367.4%20306.8%20367.9%20304.7%20368.1C295.4%20369.3%20285.3%20370.5%20279.3%20371.2C276.9%20371.4%20274.5%20371.7%20274%20371.8C273.5%20371.9%20271.7%20372.1%20269.8%20372.3C268%20372.5%20264.6%20372.9%20262.3%20373.2C257.3%20373.8%20250.3%20374.6%20244.6%20375.1C237.9%20375.7%20238.7%20376.5%20247%20377.2C249.8%20377.4%20254.7%20377.9%20257.8%20378.2C272.9%20379.5%20283.2%20380.3%20297.3%20381C300.7%20381.2%20306%20381.5%20309%20381.7C333.7%20383.2%20389.2%20383.2%20411.3%20381.7C414%20381.5%20418.6%20381.2%20421.5%20381C428%20380.6%20437.1%20379.8%20443.7%20379.2C446.3%20378.9%20450.1%20378.5%20452%20378.3C453.9%20378.2%20455.9%20377.9%20456.3%20377.8C456.8%20377.7%20458.9%20377.4%20461%20377.1C466.7%20376.5%20471.7%20375.7%20480.8%20374.2C484.6%20373.6%20492.6%20372.1%20494.2%20371.7C494.9%20371.5%20497%20371.1%20498.8%20370.7C500.7%20370.3%20502.7%20369.8%20503.3%20369.7C504%20369.5%20506.1%20369%20508%20368.5C509.9%20368%20512.3%20367.4%20513.3%20367.1C517.3%20366%20518.6%20365.7%20520.2%20365.2C521.1%20364.9%20522.4%20364.5%20523.2%20364.3C535.2%20360.8%20550.4%20354.6%20559.5%20349.6C561.1%20348.7%20563.3%20347.5%20564.3%20346.9C566.6%20345.7%20572.5%20341.8%20575.8%20339.2C593.6%20325.8%20603.8%20309.6%20606.5%20290.6C607.6%20282.4%20607.4%20280%20605.8%20281.8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }
