/* polices hébergées sur le site : Cormorant Garamond (titres) et Jost (texte), sous-ensembles latin et latin étendu */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 500;font-display:swap;src:url(polices/cormorant-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 500;font-display:swap;src:url(polices/cormorant-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 500;font-display:swap;src:url(polices/cormorant-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 500;font-display:swap;src:url(polices/cormorant-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(polices/jost-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(polices/jost-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* replis calibrés à la largeur mesurée des vraies polices : la bascule ne déplace plus rien */
@font-face{font-family:"Cormorant repli";font-style:normal;font-display:swap;src:local("Georgia");size-adjust:87.6%}
@font-face{font-family:"Cormorant repli";font-style:italic;font-display:swap;src:local("Georgia Italic"),local("Georgia-Italic");size-adjust:77.7%}
@font-face{font-family:"Jost repli";font-display:swap;src:local("Arial"),local("Helvetica");size-adjust:95.7%}
:root{
  --nuit:#0e0a16;--nuit-2:#140f1f;--nuit-3:#1b1428;--nuit-4:#251c36;
  --or:#d6ab5e;--or-clair:#ecd39c;--or-pale:#f6e8c7;--or-profond:#81602a; /* or profond : le texte d'or sur l'ivoire, assombri le 2026-09-30 pour le contraste AA (5,1:1 sur l'ivoire, 4,7:1 sur l'ivoire 2) */
  
  --sauge:#a3ad86;--sauge-clair:#c9cfb0;--sauge-profond:#66704f;
  --ivoire:#f6f0e5;--ivoire-2:#efe6d5;--ivoire-3:#e3d6bf;
  --encre:#1d1627;--encre-2:#4b4156;--encre-3:#786d83;
  --lune:#f4ede0;--brume:#bcb1c7;--fumee:#8c8197;
  --filet:rgba(236,211,156,.16);--filet-fort:rgba(236,211,156,.34);--filet-encre:rgba(29,22,39,.12);
  --serif:"Cormorant Garamond","Cormorant repli",Georgia,serif;
  --sans:Jost,"Jost repli",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1240px;
  --or-grad:linear-gradient(100deg,#f3e0ae 0%,#dcb46c 42%,#b98a45 100%);
  --or-grad-encre:linear-gradient(100deg,#c39147 0%,#99702f 100%);
  /* les mêmes teintes en composantes, pour les transparences */
  --nuit-rvb:14,10,22;--or-rvb:214,171,94;--or-clair-rvb:236,211,156;--or-pale-rvb:246,232,199;--or-profond-rvb:129,96,42;--sauge-rvb:163,173,134;--encre-rvb:29,22,39;
  --encre-or:#1d1406;--encre-survol:#2a2038;--nuit-0:#0a0710;--ivoire-0:#fbf7ef; /* l'encre posée sur l'or, le survol de l'encre, le pied de page, la carte du journal */
  --aura-rvb:122,78,170; /* le halo violet de la nuit, jamais en aplat */
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--nuit);color:var(--lune);font-family:var(--sans);font-weight:350;font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:rgba(214,171,94,.35);color:var(--lune)}
.wrap{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.evitement{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:12px;background:var(--or-grad);color:var(--encre-or);font-size:13px;font-weight:500;letter-spacing:.08em;transition:top .3s var(--ease)}
.evitement:focus{top:16px}
:focus-visible{outline:2px solid var(--or-clair);outline-offset:3px}

/* grain */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}

/* type */
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:-.012em;margin:0}
h2{font-size:clamp(42px,5.4vw,78px)}
h1 em,h2 em,h3 em,h4 em{font-style:italic;background:var(--or-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.light h2 em,.light h3 em,.light h4 em{background:var(--or-grad-encre);-webkit-background-clip:text;background-clip:text}
p{margin:0}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--or);margin:0 0 26px}
.eyebrow::before{content:"";width:30px;height:1px;background:currentColor;opacity:.75}
.eyebrow--c::after{content:"";width:30px;height:1px;background:currentColor;opacity:.75}
.light .eyebrow{color:var(--or-profond)}
.lead{font-size:clamp(17px,1.3vw,19.5px);color:var(--brume);line-height:1.75}
.light .lead,.light p{color:var(--encre-2)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 32px;border-radius:999px;font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;transition:transform .6s var(--ease),box-shadow .5s var(--ease),background .35s,border-color .35s,color .35s;will-change:transform}
.btn svg{width:18px;height:18px;flex:none}
.btn--or{color:var(--encre-or);background:var(--or-grad);box-shadow:0 14px 34px -14px rgba(214,171,94,.7),inset 0 1px 0 rgba(255,255,255,.55)}
.btn--or:hover{box-shadow:0 22px 50px -14px rgba(214,171,94,.85),inset 0 1px 0 rgba(255,255,255,.7)}
.btn--ghost{color:var(--lune);border:1px solid rgba(236,211,156,.42);background:rgba(20,15,31,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn--ghost:hover{border-color:var(--or-clair);background:rgba(214,171,94,.1)}
.btn--encre{color:var(--ivoire);background:var(--encre);box-shadow:0 14px 34px -16px rgba(29,22,39,.6)}
.btn--encre:hover{background:var(--encre-survol)}
.btn--trait{color:var(--encre);border:1px solid rgba(29,22,39,.22)}
.btn--trait:hover{border-color:var(--or-profond);color:var(--or-profond)}
.btn--sm{height:44px;padding:0 22px;font-size:11.5px}
.btn--lg{height:64px;padding:0 42px;font-size:13px}
.lien{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair);border-bottom:1px solid var(--filet-fort);padding-bottom:4px;transition:color .3s,border-color .3s}
.lien:hover{color:var(--lune);border-color:var(--or)}
.light .lien{color:var(--or-profond);border-color:rgba(156,116,51,.35)}

/* reveal */
[data-reveal]{opacity:0;transition:opacity 1.3s var(--ease);transition-delay:var(--d,0s)}
[data-reveal].is-in{opacity:1}

/* ribbon + toast + fab */
.ruban{position:fixed;left:18px;bottom:18px;z-index:80;display:flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:999px;background:rgba(14,10,22,.82);border:1px solid var(--filet-fort);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--or-pale)}
.ruban i{width:8px;height:8px;border-radius:50%;background:var(--or);box-shadow:0 0 0 4px rgba(214,171,94,.18);animation:pouls 2.4s ease-in-out infinite}
.ruban b{font-weight:500;color:var(--or)}
@keyframes pouls{50%{box-shadow:0 0 0 8px rgba(214,171,94,0)}}
.toast{position:fixed;left:50%;bottom:28px;z-index:95;transform:translate(-50%,24px);opacity:0;pointer-events:none;width:max-content;max-width:min(560px,calc(100% - 32px));padding:16px 22px;border-radius:16px;background:rgba(27,20,40,.96);border:1px solid var(--filet-fort);color:var(--lune);font-size:14.5px;line-height:1.5;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.toast b{color:var(--or-clair);font-weight:500}
.fab{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:12px;height:58px;padding:0 22px 0 8px;border-radius:999px;background:rgba(20,15,31,.88);border:1px solid var(--filet-fort);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--or-pale);box-shadow:0 20px 40px -18px rgba(0,0,0,.6);transition:transform .5s var(--ease)}
.fab{opacity:0;pointer-events:none;transform:translateY(16px)}
.fab.est-visible{opacity:1;pointer-events:auto;transform:none}
.fab.est-visible:hover{transform:translateY(-3px)}
.fab.est-visible.est-masque{opacity:0;pointer-events:none}
.fab{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.maquette-mobile{display:none}
.fab span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--or-grad);color:var(--encre-or)}
.fab svg{width:21px;height:21px}
.fab em{font-style:normal}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:70;display:flex;align-items:center;gap:28px;padding:20px max(32px,calc((100vw - 1320px)/2));border-bottom:1px solid transparent;transition:background .45s,padding .45s,border-color .45s}
.nav.is-solid{background:rgba(14,10,22,.93);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);padding-top:10px;padding-bottom:10px;border-color:var(--filet)}
.marque{display:flex;align-items:center;gap:12px}
.marque img{width:46px;height:46px;filter:drop-shadow(0 0 10px rgba(214,171,94,.25))}
.marque b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;line-height:1;letter-spacing:.24em}
.marque small{display:block;margin-top:5px;font-size:8.5px;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--or)}
.nav__liens{display:flex;gap:clamp(16px,1.7vw,26px);margin-left:auto}
.marque small,.nav__liens a,.nav__droite .btn{white-space:nowrap}
.nav__liens a{position:relative;padding:6px 0;font-size:11.5px;font-weight:450;letter-spacing:.2em;text-transform:uppercase;color:var(--brume);transition:color .3s}
.nav__liens a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--or);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__liens a:hover{color:var(--lune)}
.nav__liens a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__droite{display:flex;align-items:center;gap:16px}
.langue{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;border:1px solid var(--filet);font-size:11px;font-weight:500;letter-spacing:.14em}
.langue button{padding:5px 10px;border-radius:999px;color:var(--fumee)}
.langue button[aria-pressed=true]{background:rgba(214,171,94,.16);color:var(--or-clair)}
.langue a{padding:5px 10px;border-radius:999px;color:var(--fumee);transition:color .3s,background .3s}
.langue a:hover{color:var(--lune)}
.langue a[aria-current=true]{background:rgba(214,171,94,.16);color:var(--or-clair)}
.nav__liens a[aria-current=page]{color:var(--lune)}
.nav__liens a[aria-current=page]::after{transform:scaleX(1)}
.menu>a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:10px;text-decoration-color:var(--or)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--filet-fort);place-items:center}
.burger i{display:block;width:18px;height:1px;background:var(--lune);box-shadow:0 -6px 0 var(--lune),0 6px 0 var(--lune)}
.menu{position:fixed;inset:0;z-index:69;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:110px 32px 60px;background:rgba(14,10,22,.97);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.menu.is-open{opacity:1;visibility:visible}
.menu>a:not(.btn){font-family:var(--serif);font-size:40px;font-weight:300;line-height:1.25;color:var(--lune)}
.menu>a:not(.btn):nth-child(odd){font-style:italic;color:var(--or-clair)}
.menu .langue{display:flex;align-self:flex-start;margin-top:22px}
.burger[aria-expanded=true] i{box-shadow:none;transform:rotate(45deg)}
.burger[aria-expanded=true] i::after{content:"";display:block;width:18px;height:1px;background:var(--lune);transform:rotate(-90deg)}
.menu .btn{margin-top:28px;align-self:flex-start;font-family:var(--sans)}

/* hero */
.hero{position:relative;isolation:isolate;height:100svh;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:clamp(78px,11vh,108px) 24px clamp(96px,15vh,150px)}
.hero::before{content:"";position:absolute;inset:-10%;z-index:-5;background:radial-gradient(38% 32% at 50% 30%,rgba(var(--or-rvb),.2),transparent 70%),radial-gradient(34% 34% at 14% 82%,rgba(var(--sauge-rvb),.13),transparent 70%),radial-gradient(36% 36% at 88% 72%,rgba(var(--aura-rvb),.18),transparent 70%),var(--nuit)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;z-index:-1;background:linear-gradient(transparent,var(--nuit))}
.film{position:absolute;inset:0;width:100%;height:100%;z-index:-4;display:block}
.hero__voile{position:absolute;inset:0;z-index:-3;opacity:.62;background:radial-gradient(70% 60% at 50% 34%,rgba(14,10,22,.1),rgba(14,10,22,.72) 78%),linear-gradient(180deg,rgba(14,10,22,.5),rgba(14,10,22,.08) 26%,rgba(14,10,22,.55) 62%,rgba(14,10,22,.92))}
.champ{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.hero__coeur{display:flex;flex-direction:column;align-items:center;width:100%}
.hero__embleme{position:relative;width:clamp(96px,min(11vw,16vh),160px);aspect-ratio:1;margin-bottom:clamp(14px,2.6vh,26px);will-change:transform}
.hero__embleme::before{content:"";position:absolute;inset:-42%;border-radius:50%;background:radial-gradient(circle,rgba(var(--or-clair-rvb),.3),rgba(var(--or-rvb),.09) 45%,transparent 70%);animation:souffle 7s ease-in-out infinite}
.hero__embleme img{position:relative;width:100%;height:100%;filter:drop-shadow(0 0 26px rgba(var(--or-rvb),.38))}
@keyframes souffle{0%,100%{transform:scale(.9);opacity:.75}50%{transform:scale(1.08);opacity:1}}
.hero__acte{position:relative;display:flex;flex-direction:column;align-items:center}
.hero__abri{position:absolute;left:50%;top:60%;width:min(1180px,130vw);height:64%;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(var(--nuit-rvb),.8),rgba(var(--nuit-rvb),.55) 52%,rgba(var(--nuit-rvb),0))}
@media (min-width:641px){.preuves li:first-child>span:last-child::before{content:"· ";color:var(--or)}}
.hero .eyebrow{margin-bottom:clamp(14px,2.4vh,22px);text-shadow:0 0 12px rgba(var(--nuit-rvb),.95),0 0 26px rgba(var(--nuit-rvb),.85),0 0 44px rgba(var(--nuit-rvb),.6)}
.hero h1{font-size:clamp(44px,min(5.9vw,9.4vh),88px);line-height:1;max-width:1260px;margin:0 auto clamp(18px,3vh,28px);text-shadow:0 2px 40px rgba(14,10,22,.8)}
.hero__lead{max-width:760px;margin:0 auto;color:var(--brume);font-size:clamp(16px,1.28vw,18.5px);line-height:1.7;text-shadow:0 1px 20px rgba(14,10,22,.9)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:clamp(22px,4vh,36px)}
.hero__devise{position:absolute;left:0;right:0;top:64%;margin:0;opacity:0;visibility:hidden;font-family:var(--sans);font-weight:400;font-size:clamp(15px,1.7vw,24px);letter-spacing:.62em;text-indent:.62em;text-transform:uppercase;color:var(--or-pale);text-shadow:0 0 30px rgba(var(--or-rvb),.45)}
/* les preuves : trois fois la taille d'avant, en serif */
.preuves{position:absolute;left:0;right:0;bottom:clamp(24px,5vh,46px);display:flex;justify-content:center;align-items:baseline;list-style:none;margin:0;padding:0 24px;white-space:nowrap;font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.05vw,31px);line-height:1.15;color:var(--lune);will-change:transform}
.preuves li{position:relative;display:flex;align-items:baseline;gap:.32em;padding:0 clamp(16px,2.1vw,34px)}
.preuves li+li::before{content:"";position:absolute;left:-4px;top:50%;width:7px;height:7px;transform:translateY(-50%) rotate(45deg);border:1px solid var(--or)}
.preuves b{font-weight:400;background:var(--or-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.preuves i{font-style:italic}
.preuves .etoiles{align-self:center;font-family:var(--sans);font-size:.5em;letter-spacing:.16em;margin-right:.2em}
.etoiles{color:var(--or);letter-spacing:.14em;margin-right:6px}
.defiler{position:absolute;right:max(32px,calc((100vw - 1320px)/2));bottom:40px;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--fumee);writing-mode:vertical-rl}
.defiler i{width:1px;height:56px;background:linear-gradient(var(--or),transparent);animation:goutte 2.6s var(--ease) infinite;transform-origin:top}
@keyframes goutte{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* bandeau défilant */
.bandeau{position:relative;overflow:hidden;padding:28px 0;background:var(--nuit-2);border-block:1px solid var(--filet)}
.bandeau__piste{display:flex;width:max-content;animation:file 60s linear infinite}
.bandeau__piste span{display:inline-flex;align-items:center;gap:34px;padding-right:34px;font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.8vw,40px);font-weight:300;white-space:nowrap;color:var(--lune)}
.bandeau__piste span:nth-child(3n+2){color:var(--or-clair)}
.bandeau__piste span::after{content:"✦";font-style:normal;font-size:.42em;color:var(--or)}
@keyframes file{to{transform:translateX(-50%)}}

/* manifeste */
.manifeste{padding:clamp(100px,12vw,170px) 0;background:radial-gradient(60% 60% at 90% 10%,rgba(122,78,170,.12),transparent 70%),var(--nuit)}
.manifeste__texte{font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.7vw,54px);line-height:1.22;letter-spacing:-.005em;max-width:1120px}
.manifeste .w{opacity:.16;transition:opacity .5s linear}
.manifeste .w.on{opacity:1}
.manifeste strong{font-weight:400;font-style:italic;color:var(--or-clair)}
.pastilles{display:flex;flex-wrap:wrap;gap:10px;margin-top:52px;padding:0;list-style:none}
.pastilles li{padding:10px 18px;border-radius:999px;border:1px solid var(--filet-fort);font-size:12px;font-weight:450;letter-spacing:.16em;text-transform:uppercase;color:var(--brume)}

/* sections communes */
.section{position:relative;padding:clamp(96px,11vw,160px) 0}
.light{background:var(--ivoire);color:var(--encre)}
.light-2{background:var(--ivoire-2);color:var(--encre)}
.light-2 .eyebrow{color:var(--or-profond)}
.light-2 h2 em{background:var(--or-grad-encre);-webkit-background-clip:text;background-clip:text}
.light-2 p,.light-2 .lead{color:var(--encre-2)}
.tete{display:grid;gap:28px;margin-bottom:clamp(56px,6vw,88px)}
.tete--c{text-align:center;justify-items:center}
.tete--c .lead{max-width:680px}

/* bilan */
.bilan{overflow:hidden}
.bilan::before{content:"";position:absolute;width:900px;height:900px;right:-260px;top:50%;transform:translateY(-50%);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 58px,rgba(156,116,51,.13) 58px 59px);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%)}
.bilan__grille{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(40px,6vw,110px);align-items:center}
.bilan h2{margin-bottom:28px}
.etapes{list-style:none;margin:48px 0 44px;padding:0;display:grid;gap:0}
.etapes li{display:grid;grid-template-columns:86px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--filet-encre)}
.etapes li:last-child{border-bottom:1px solid var(--filet-encre)}
.etapes__n{font-family:var(--serif);font-size:52px;font-weight:300;line-height:.9;font-style:italic;background:var(--or-grad-encre);-webkit-background-clip:text;background-clip:text;color:transparent}
.etapes h3{font-size:27px;font-weight:500;margin:2px 0 6px;color:var(--encre)}
.etapes p{font-size:16px;line-height:1.6}
.bilan__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.bilan__actions small{font-size:13px;color:var(--encre-3);letter-spacing:.04em}
/* la consigne photo, juste avant le bouton ; « aucun filtre » en italique d'accent, comme dans les titres */
.consigne{flex-basis:100%;max-width:520px;font-size:15.5px;line-height:1.6;color:var(--encre-2)}
.consigne em{font-family:var(--serif);font-size:1.28em;font-style:italic;font-weight:400;line-height:1;background:var(--or-grad-encre);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
/* téléphone : une vraie discussion WhatsApp dans un iPhone (composant « wa- », source : composants/whatsapp/) */
.scene{position:relative;display:grid;place-items:center;padding:40px 0;--tel-l:320px}
.scene .wa-scene{--wa-l:var(--tel-l)}
.etiquette{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;white-space:nowrap;padding:12px 18px;border-radius:999px;background:rgba(255,253,248,.92);border:1px solid rgba(156,116,51,.22);box-shadow:0 20px 40px -20px rgba(29,22,39,.35);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--encre);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.etiquette::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--or)}
.etiquette--1{top:16%;left:-4%}
.etiquette--2{top:52%;right:-6%}
.etiquette--3{bottom:12%;left:2%}
/* la conversation s'écrit au scroll : les étiquettes arrivent avec les messages (propriétés scale/translate, libres de la parallaxe en transform) */
html.anime .etiquette{opacity:0;scale:.86;translate:0 12px;transition:opacity .5s var(--ease),scale .7s var(--ease),translate .7s var(--ease)}
html.anime .etiquette.est-la{opacity:1;scale:1;translate:0 0}
/* le collage du téléphone sur mobile demande une section qui coupe sans devenir un conteneur de défilement */
@supports (overflow:clip){.bilan{overflow:clip}}
@media (min-width:641px) and (max-width:980px){.scene{--tel-max:400px}}
/* sur ordinateur aussi, le téléphone reste collé pendant l'échange ; le texte glisse à côté, ses étapes passent au fil des messages */
@media (min-width:981px){
  .scene{--tel-l:min(320px,calc((100vh - 170px) / 2.0934))}
  html.anime .bilan__grille{align-items:stretch}
  html.anime .bilan__grille>div:first-child{align-self:center}
  html.anime .scene-piste{height:170vh}
  html.anime .scene{position:sticky;top:max(80px,calc((100vh - var(--tel-l) * 2.0934) / 2 + 30px));padding:0}
  .etiquette--1{left:auto;right:calc(50% + var(--tel-l) / 2 - 14px)}
  .etiquette--3{left:auto;bottom:14%;right:calc(50% + var(--tel-l) / 2 - 14px)}
  .etiquette--2{right:auto;left:calc(50% + var(--tel-l) / 2 - 14px)}
}

/* soins */
.soins{background:radial-gradient(50% 40% at 85% 12%,rgba(214,171,94,.09),transparent 70%),radial-gradient(40% 40% at 5% 60%,rgba(122,78,170,.12),transparent 70%),var(--nuit)}
.soins__tete{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:clamp(70px,8vw,120px)}
.soins__tete .lead{margin-top:28px;max-width:520px}
.anneaux{width:100%;max-width:540px;justify-self:center;overflow:visible}
.anneaux text{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:4.2px;text-transform:uppercase;fill:var(--or-clair)}
.orbite{transform-box:view-box;transform-origin:50% 50%;animation:tourne linear infinite}
/* les orbites tournent sur le fil principal et relancent la mise en page à chaque image : elles ne tournent qu'à l'écran */
html.anime .orbite{animation-play-state:paused}
html.anime .en-vue .orbite{animation-play-state:running}
@keyframes tourne{to{transform:rotate(360deg)}}
.cercle{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:26px;padding-bottom:26px;margin-bottom:40px;border-bottom:1px solid var(--filet)}
.cercle__num{font-family:var(--serif);font-size:84px;line-height:.8;font-weight:300;font-style:italic;background:var(--or-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cercle .eyebrow{margin:0 0 10px}
.cercle h3{font-size:clamp(34px,3.2vw,46px)}
.cercle p{max-width:380px;color:var(--brume);font-size:15.5px;text-align:right}
.offres-etre{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:clamp(90px,9vw,130px)}
.offre{position:relative;border-radius:28px;padding:clamp(28px,3vw,44px);background:linear-gradient(160deg,rgba(37,28,54,.9),rgba(20,15,31,.9));border:1px solid var(--filet);overflow:hidden;transition:border-color .5s,transform .8s var(--ease)}
.offre:hover{border-color:var(--filet-fort);transform:translateY(-4px)}
.offre::before{content:"";position:absolute;inset:auto -30% -45% auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(214,171,94,.14),transparent 65%);pointer-events:none}
.offre--phare,.offre--combo{display:grid;grid-template-columns:.74fr 1.26fr;gap:clamp(28px,4vw,64px);align-items:center}
.offre--combo{grid-template-columns:1.26fr .74fr}
.offre__texte{padding:clamp(0px,1vw,14px) 0}
.arche{position:relative;overflow:hidden;border-radius:50% 50% 16px 16px/34% 34% 16px 16px}
.arche img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.arche::after{content:"";position:absolute;inset:10px;border:1px solid rgba(246,232,199,.55);border-radius:inherit;pointer-events:none}
.offre:hover .arche img,.carte:hover .arche img{transform:scale(1.05)}
.offre--phare .arche,.offre--combo .arche{height:100%;min-height:560px}
.offre--combo .arche img{object-position:28% center}
.pastilles-offre{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tag{padding:6px 13px;border-radius:999px;border:1px solid var(--filet-fort);font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brume)}
.tag--or{border:0;background:var(--or-grad);color:var(--encre-or)}
.offre h4{font-size:clamp(34px,3vw,46px);margin-bottom:18px}
.offre p{color:var(--brume);font-size:15.5px}
.liste{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:9px 22px;font-size:14.5px;color:var(--lune)}
.liste--2{grid-template-columns:1fr 1fr}
.liste li{position:relative;padding-left:20px;line-height:1.45}
.liste li::before{content:"";position:absolute;left:0;top:.52em;width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--or)}
.note{margin-top:22px;padding:16px 18px;border-radius:14px;background:rgba(214,171,94,.07);border:1px solid rgba(214,171,94,.18);font-family:var(--serif);font-style:italic;font-size:17px!important;line-height:1.45;color:var(--or-pale)!important}
.pied{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:30px;padding-top:26px;border-top:1px solid var(--filet)}
.prix{display:flex;align-items:flex-start;gap:4px;margin-right:auto;font-family:var(--serif);line-height:.85}
.prix b{font-size:64px;font-weight:300;background:var(--or-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.prix span{font-size:26px;color:var(--or-clair);margin-top:4px}
.prix small{align-self:flex-end;margin:0 6px 8px 0;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brume)}
.offres-cercles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cercles-titre{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:40px;padding-bottom:26px;border-bottom:1px solid var(--filet)}
.cercles-titre h3{font-size:clamp(34px,3.2vw,46px)}
.cercles-titre p{max-width:420px;color:var(--brume);font-size:15.5px;text-align:right}
.carte{display:flex;flex-direction:column;border-radius:28px;padding:16px 16px 30px;background:linear-gradient(180deg,rgba(37,28,54,.75),rgba(20,15,31,.75));border:1px solid var(--filet);transition:border-color .5s,transform .8s var(--ease)}
.carte:hover{border-color:var(--filet-fort);transform:translateY(-6px)}
.carte .arche{aspect-ratio:4/4.3;border-radius:50% 50% 18px 18px/42% 42% 18px 18px}
.carte__num{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(14,10,22,.72);border:1px solid rgba(246,232,199,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--serif);font-style:italic;font-size:22px;color:var(--or-clair)}
.carte__corps{display:flex;flex-direction:column;flex:1;padding:26px 14px 0}
.carte .eyebrow{margin-bottom:12px;font-size:10.5px}
.carte h4{font-size:36px;margin-bottom:8px}
.carte__sous{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.35;color:var(--or-pale)!important;margin-bottom:14px!important}
.carte p{color:var(--brume);font-size:15px;line-height:1.62}
.carte .pied{margin-top:auto;padding-top:22px}
.carte .prix b{font-size:52px}
.mention{margin-top:18px!important;font-size:12.5px!important;line-height:1.55!important;color:var(--fumee)!important}

/* axel */
.axel{overflow:hidden}
.axel__grille{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,7vw,120px);align-items:center}
.portrait{position:relative;margin:0;padding:24px}
.portrait .arche{aspect-ratio:4/5;border-radius:50% 50% 22px 22px/40% 40% 22px 22px;box-shadow:0 50px 90px -40px rgba(29,22,39,.55)}
.portrait .arche::after{border-color:rgba(246,232,199,.7)}
.portrait__orbites{position:absolute;inset:-12% -18%;width:136%;height:124%;z-index:0;pointer-events:none}
.portrait .arche{position:relative;z-index:1}
.portrait figcaption{position:absolute;z-index:2;right:-6px;bottom:56px;padding:18px 24px;border-radius:18px;background:rgba(14,10,22,.9);border:1px solid var(--filet-fort);color:var(--lune);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.portrait figcaption span{display:block;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--or)}
.portrait figcaption b{display:block;font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.1;margin:4px 0 2px}
.portrait figcaption i{font-family:var(--serif);font-size:16px;color:var(--brume)}
@media (min-width:981px) and (max-width:1239px){.portrait figcaption{max-width:214px}}
@media (max-width:767px){.portrait figcaption{position:relative;right:auto;bottom:auto;width:max-content;max-width:100%;margin:26px auto 0;transform:none!important}}
.axel h2{margin-bottom:34px}
.axel__texte>p{font-size:17px;margin-bottom:18px}
.lettrine::first-letter{float:left;font-family:var(--serif);font-size:88px;line-height:.78;padding:8px 12px 0 0;font-style:italic;color:var(--or-profond)}
.citation{position:relative;margin:34px 0;padding:6px 0 6px 34px;border-left:1px solid rgba(156,116,51,.45);font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.2vw,31px);font-weight:400;line-height:1.3;color:var(--encre)}
.signature{display:flex;align-items:baseline;gap:14px;margin:30px 0 36px!important}
.signature b{font-family:var(--serif);font-style:italic;font-size:40px;font-weight:400;color:var(--or-profond)}
.signature span{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--encre-3)}
.chiffres{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 40px;border-block:1px solid var(--filet-encre)}
.chiffres div{padding:22px 0 20px;text-align:center}
.chiffres div+div{border-left:1px solid var(--filet-encre)}
.chiffres b{display:block;font-family:var(--serif);font-size:48px;font-weight:300;line-height:1;color:var(--encre)}
.chiffres span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--encre-3)}

/* témoignages */
.temoignages{overflow:hidden;background:radial-gradient(45% 45% at 50% 0%,rgba(214,171,94,.12),transparent 70%),var(--nuit)}
.temoignages__tete{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:70px}
.temoignages__tete .lead{margin-top:26px;max-width:540px}
.note-globale{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;align-items:center;justify-self:end}
.note-globale__chiffre{grid-row:span 2;font-family:var(--serif);font-size:clamp(110px,11vw,160px);font-weight:300;line-height:.8;background:var(--or-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.note-globale .etoiles{font-size:22px}
.note-globale p{color:var(--brume);font-size:14px;letter-spacing:.06em}
.note-globale ul{grid-column:1/-1;display:flex;gap:26px;list-style:none;margin:18px 0 0;padding:18px 0 0;border-top:1px solid var(--filet);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brume)}
.note-globale ul b{display:block;font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:0;color:var(--lune);text-transform:none}
.rangee{position:relative;overflow:hidden;padding:12px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rangee__piste{display:flex;gap:22px;width:max-content;animation:file 80s linear infinite}
.rangee--inverse .rangee__piste{animation-direction:reverse;animation-duration:95s}
.rangee:hover .rangee__piste{animation-play-state:paused}
.avis{flex:none;width:400px;margin:0;display:flex;flex-direction:column;gap:18px;padding:30px 30px 26px;border-radius:24px;background:linear-gradient(160deg,rgba(37,28,54,.85),rgba(20,15,31,.85));border:1px solid var(--filet)}
.avis .etoiles{font-size:14px}
.avis blockquote{margin:0;flex:1;font-family:var(--serif);font-size:21px;font-weight:400;font-style:italic;line-height:1.4;color:var(--lune)}
.avis figcaption{display:flex;align-items:center;gap:13px;padding-top:18px;border-top:1px solid var(--filet)}
.avis figcaption i{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:rgba(214,171,94,.12);border:1px solid var(--filet-fort);font-family:var(--serif);font-style:normal;font-size:19px;color:var(--or-clair)}
.avis figcaption b{display:block;font-weight:500;font-size:15px;line-height:1.3}
.avis figcaption small{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fumee);line-height:1.5}
.avis figcaption em{margin-left:auto;font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--sauge);white-space:nowrap}
.temoignages__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:60px}

/* cadre */
.engagements{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:clamp(70px,8vw,110px);border-top:1px solid rgba(29,22,39,.14)}
.engagements div{padding:34px 28px 10px 0}
.engagements div+div{padding-left:28px;border-left:1px solid rgba(29,22,39,.14)}
.engagements svg{width:40px;height:40px;color:var(--or-profond);margin-bottom:22px}
.engagements h3{font-size:26px;font-weight:500;margin-bottom:10px;color:var(--encre)}
.engagements p{font-size:15px;line-height:1.6}
.cadre__grille{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,5vw,80px);align-items:stretch}
.lumiere{position:relative;min-height:560px;border-radius:50% 50% 24px 24px/30% 30% 24px 24px;overflow:hidden;color:var(--lune)}
.lumiere img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lumiere::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,10,22,.05) 30%,rgba(14,10,22,.92) 92%)}
.lumiere::after{content:"";position:absolute;inset:12px;z-index:2;border:1px solid rgba(246,232,199,.45);border-radius:inherit}
.lumiere figcaption{position:absolute;z-index:3;left:38px;right:38px;bottom:40px}
.lumiere blockquote{margin:0 0 18px;font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.35;color:var(--lune)}
.lumiere small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--or-clair)}
.lumiere .eyebrow{margin-bottom:18px;color:var(--or-clair)}
.medecine{display:grid;gap:22px;align-content:center}
.medecine article{padding:34px 36px;border-radius:24px;background:var(--ivoire);border:1px solid rgba(29,22,39,.08)}
.medecine h3{display:flex;align-items:center;gap:14px;font-size:30px;font-weight:500;margin-bottom:14px;color:var(--encre)}
.medecine h3 svg{width:30px;height:30px;color:var(--or-profond);flex:none}
.medecine p{font-size:15.5px;margin-bottom:10px}
.medecine .avertissement{margin-top:16px;padding:16px 18px;border-left:2px solid var(--or-profond);background:rgba(156,116,51,.07);border-radius:0 12px 12px 0;font-family:var(--serif);font-style:italic;font-size:18.5px;line-height:1.45;color:var(--encre)}
.confiance{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 34px;margin-top:70px;padding-top:34px;border-top:1px solid rgba(29,22,39,.14);font-size:12.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--encre-2)}
.confiance span::before{content:"✦";margin-right:12px;color:var(--or-profond)}

/* eden */
.eden{position:relative;isolation:isolate;overflow:hidden;padding:clamp(110px,12vw,170px) 0}
.eden__fond{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.eden::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,10,22,.96) 0%,rgba(14,10,22,.84) 44%,rgba(14,10,22,.38) 100%),linear-gradient(0deg,rgba(14,10,22,.7),transparent 45%)}
.eden__grille{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
.eden h2{margin-bottom:26px}
.eden .lead{max-width:560px}
.temps{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:44px 0 46px;padding:0;counter-reset:t}
.temps li{position:relative;display:flex;align-items:center;gap:10px;padding:10px 18px 10px 0;margin-right:18px;font-size:12px;font-weight:450;letter-spacing:.14em;text-transform:uppercase;color:var(--brume);counter-increment:t}
.temps li::before{content:counter(t);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--filet-fort);font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:0;color:var(--or-clair)}
.temps li::after{content:"";position:absolute;right:-12px;top:50%;width:12px;height:1px;background:var(--filet-fort)}
.temps li:last-child::after{display:none}
.eden__actions{display:flex;flex-wrap:wrap;gap:14px}
.verre{padding:40px;border-radius:28px;background:rgba(20,15,31,.55);border:1px solid var(--filet-fort);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.verre h3{font-size:34px;margin-bottom:18px}
.verre blockquote{margin:0 0 26px;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.4;color:var(--or-pale)}
.verre dl{display:grid;gap:14px;margin:0;padding-top:22px;border-top:1px solid var(--filet)}
.verre dt{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--or)}
.verre dd{margin:2px 0 0;font-size:15px;color:var(--lune)}

/* journal */
.journal__tete{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}
.articles{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.article{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--ivoire-0);border:1px solid rgba(29,22,39,.08);transition:transform .8s var(--ease),box-shadow .6s}
.article:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(29,22,39,.4)}
.couverture{aspect-ratio:16/11;background:var(--nuit);position:relative;overflow:hidden}
.couverture svg{position:absolute;inset:0;width:100%;height:100%}
.article__corps{display:flex;flex-direction:column;flex:1;padding:24px 24px 26px}
.article__corps .eyebrow{font-size:10px;margin-bottom:12px;gap:10px}
.article__corps .eyebrow::before{width:18px}
.article h3{font-size:25px;font-weight:500;line-height:1.14;color:var(--encre);margin-bottom:12px}
.article p{font-size:14.5px;line-height:1.6;margin-bottom:20px}
.article__meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--encre-3)}
.article__meta b,.article__meta .lire{font-weight:500;color:var(--or-profond)}
.article__meta .lire:hover{color:var(--encre)}

/* faq */
.faq__grille{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,100px);align-items:start}
.faq__gauche{position:sticky;top:120px}
.faq__gauche h2{margin-bottom:26px}
.faq__gauche .lead{margin-bottom:34px}
.questions details{border-top:1px solid rgba(29,22,39,.14)}
.questions details:last-child{border-bottom:1px solid rgba(29,22,39,.14)}
.questions summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;cursor:pointer;font-family:var(--serif);font-size:clamp(22px,1.9vw,27px);font-weight:500;line-height:1.25;color:var(--encre)}
.questions summary::-webkit-details-marker{display:none}
.questions summary i{position:relative;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid rgba(156,116,51,.4);transition:transform .5s var(--ease),background .3s}
.questions summary i::before,.questions summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--or-profond);transform:translate(-50%,-50%)}
.questions summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .5s var(--ease)}
.questions details[open] summary i{background:rgba(156,116,51,.1)}
.questions details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.questions details p{padding:0 70px 28px 0;font-size:16px;line-height:1.72}

/* final */
.final{position:relative;isolation:isolate;overflow:hidden;min-height:760px;display:grid;place-items:center;text-align:center;padding:140px 0}
.final::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(40% 50% at 50% 62%,rgba(214,171,94,.16),transparent 70%),var(--nuit)}
.final h2{font-size:clamp(46px,6vw,92px);margin:0 auto 28px}
.final .lead{max-width:600px;margin:0 auto}
.final__ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:44px}
.assurances{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;list-style:none;margin:36px 0 0;padding:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brume)}
.assurances li::before{content:"✓";margin-right:10px;color:var(--or)}

/* footer */
.pied-site{background:var(--nuit-0);border-top:1px solid var(--filet);padding:90px 0 40px;color:var(--brume);font-size:14.5px}
.pied-site__grille{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:50px;padding-bottom:60px;border-bottom:1px solid var(--filet)}
.pied-site__logo{width:170px;height:auto;margin-bottom:22px}
.pied-site__devise{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--lune);max-width:300px;line-height:1.4}
.pied-site h2{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--or);margin-bottom:22px}
.pied-site ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.pied-site a:hover{color:var(--lune)}
.partenaire{display:flex;align-items:center;gap:16px;margin-top:26px;padding:14px 18px;border-radius:16px;border:1px solid var(--filet);max-width:330px}
.partenaire small{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.partenaire b{font-weight:450;color:var(--lune)}
.pied-site__bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:30px;font-size:12.5px;color:var(--fumee)}
.pied-site__bas .credit{color:var(--fumee);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--filet)}
.pied-site__bas .credit:hover{color:var(--lune)}
.langue-pied a{color:var(--fumee);transition:color .3s}
.langue-pied a:hover,.langue-pied a[aria-current=true]{color:var(--or-clair)}
.credit-bloc{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 .35em}
.credit-sep{color:var(--fumee)}
.colophon{margin-top:22px;font-size:12px;line-height:1.6;color:var(--fumee);max-width:900px}
.colophon b{color:var(--or-clair);font-weight:450}

/* ---------- le mouvement au scroll ---------- */
/* entrée du héros en CSS : le remplissage « backwards » rend la main au scroll dès la fin */
@keyframes entree{from{opacity:0}}
@keyframes leve{from{transform:translateY(.36em) scale(.985)}}
html.anime #titre-hero .t1,html.anime #titre-hero .t2{display:inline-block;animation:leve 1.5s var(--ease) .08s backwards}
html.anime #titre-hero .t2{animation-delay:.3s}
@keyframes monte{from{opacity:0;transform:translateY(18px)}}
html.anime .hero .eyebrow{animation:entree 1.3s var(--ease) .55s backwards}
html.anime .hero__lead{animation:entree 1.3s var(--ease) .68s backwards}
html.anime .hero__ctas{animation:entree 1.3s var(--ease) .8s backwards}
@media (min-width:641px){html.anime .preuves li{animation:monte 1.2s var(--ease) backwards}html.anime .preuves li:nth-child(1){animation-delay:.9s}html.anime .preuves li:nth-child(2){animation-delay:1s}html.anime .preuves li:nth-child(3){animation-delay:1.1s}html.anime .preuves li:nth-child(4){animation-delay:1.2s}}
html:not(.anime) .hero{height:auto;min-height:max(720px,100svh)}
/* le héros reste collé pendant ses trois actes : du sticky natif, sans épinglage en JavaScript.
   Piste longue : le film (la vidéo image par image) occupe à lui seul plus de la moitié du parcours */
html.anime .hero-piste{height:calc(100svh * 5.4)}
html.anime .hero{position:sticky;top:0;transform-origin:50% 100%}
@media (max-width:640px){html.anime .hero-piste{height:calc(100svh * 6.6)}}
/* la sortie en profondeur : le héros recule sous le bandeau, qui arrive comme une feuille posée par-dessus */
html.anime .bandeau{z-index:2;transform-origin:50% 0;box-shadow:0 -30px 60px -20px rgba(0,0,0,.55)}
.manifeste{position:relative;z-index:2}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
main{position:relative;z-index:1}
/* le fond vivant : un champ fixe derrière les sections sombres, sur ordinateur */
.champ-fond{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;pointer-events:none;opacity:0;display:none}
html.fond-vivant .champ-fond{display:block}
html.fond-vivant .manifeste,html.fond-vivant .soins,html.fond-vivant .temoignages{background-color:transparent}
/* le haut du manifeste reste plein : le héros qui recule dessous ne doit pas s'y voir */
html.fond-vivant .manifeste{background:linear-gradient(var(--nuit) 0,var(--nuit) 90px,rgba(var(--nuit-rvb),0) 46svh),radial-gradient(60% 60% at 90% 10%,rgba(122,78,170,.12),transparent 70%)}
/* le fil d'or : dessiné dans un canvas fixe, au-dessus des sections, sous la navigation */
.fil-or{position:fixed;inset:0;z-index:60;width:100%;height:100%;pointer-events:none}
/* titres : les lignes montent derrière un masque */
.ligne-mask{padding:0 .1em .16em;margin:0 -.1em -.16em}
.eyebrow::before,.eyebrow--c::after{transform:scaleX(var(--e,1));transform-origin:right}
.eyebrow--c::after{transform-origin:left}
/* images en arche : parallaxe intérieure pilotée par le scroll */
html.anime .arche img,html.anime .lumiere img{transition:none;will-change:transform}
/* le bilan : l'étape en cours s'allume */
html.anime .etapes li{transition:opacity .6s var(--ease)}
html.anime .etapes.suit li{opacity:.38}
html.anime .etapes.suit li.est-active{opacity:1}
html.anime .etapes li .etapes__n{transition:transform .7s var(--ease)}
html.anime .etapes.suit li.est-active .etapes__n{transform:scale(1.12)}
/* Eden : le déroulé de la journée s'allume au fil du scroll */
.temps li::before{transition:background .5s,color .5s,border-color .5s}
html.anime .temps li{transition:color .5s}
html.anime .temps li.on{color:var(--lune)}
html.anime .temps li.on::before{background:var(--or-grad);color:var(--encre-or);border-color:transparent}
/* FAQ : l'ouverture se déroule */
.questions details p{overflow:hidden}
/* la profondeur : les cartes entrent en 3D au scroll (variables pilotées par GSAP) et s'inclinent sous la souris.
   Variables déclarées non héritées : leur changement ne recalcule que la carte, pas ce qu'elle contient */
@property --d3y{syntax:'<length>';inherits:false;initial-value:0px}
@property --d3z{syntax:'<length>';inherits:false;initial-value:0px}
@property --d3rx{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --d3ry{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --d3hx{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --d3hy{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --d3hz{syntax:'<length>';inherits:false;initial-value:0px}
html.anime .d3{transform:perspective(1500px) translate3d(0,var(--d3y),calc(var(--d3z) + var(--d3hz))) rotateX(calc(var(--d3rx) + var(--d3hy))) rotateY(calc(var(--d3ry) + var(--d3hx)));transition:border-color .5s,box-shadow .6s,--d3hz .7s var(--ease)}
html.anime .d3:hover{transform:perspective(1500px) translate3d(0,var(--d3y),calc(var(--d3z) + var(--d3hz))) rotateX(calc(var(--d3rx) + var(--d3hy))) rotateY(calc(var(--d3ry) + var(--d3hx)))}
@media (hover:hover) and (pointer:fine){html.anime .d3:hover{--d3hz:12px}}
/* dans les cartes en perspective, pas de flou d'arrière-plan (Safari) : des fonds plus pleins le remplacent */
html.anime .d3 .carte__num,html.anime .d3 .btn--ghost{-webkit-backdrop-filter:none;backdrop-filter:none}
html.anime .d3 .carte__num{background:rgba(14,10,22,.9)}
html.anime .d3 .btn--ghost{background:rgba(20,15,31,.72)}
html.anime .anneaux{transform-origin:50% 60%}
/* dans la 3D, Safari rend mal le flou d'arrière-plan : ces fonds sont déjà presque opaques, le flou ne manquera pas */
html.anime .portrait figcaption{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(14,10,22,.94)}
/* l'aimant final, quand le fil d'or l'atteint */
#aimant.est-atteint{animation:aimante 2.6s var(--ease) infinite}
@keyframes aimante{0%{box-shadow:0 0 0 0 rgba(var(--or-rvb),.55),0 14px 34px -14px rgba(var(--or-rvb),.7)}70%{box-shadow:0 0 0 22px rgba(var(--or-rvb),0),0 14px 34px -14px rgba(var(--or-rvb),.7)}100%{box-shadow:0 0 0 0 rgba(var(--or-rvb),0),0 14px 34px -14px rgba(var(--or-rvb),.7)}}

.ancre-ancienne{position:absolute;top:0;left:0}
#cookie-banner{font-family:var(--sans)}
/* le style du bandeau donne au volet de personnalisation display:flex, qui annule son attribut hidden : l'ancien site le rétablissait globalement */
#cookie-banner [hidden]{display:none!important}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav__liens{display:none}
  .burger{display:grid}
  .articles{grid-template-columns:repeat(2,1fr)}
  .offres-etre{grid-template-columns:1fr}
  .engagements{grid-template-columns:repeat(2,1fr)}
  .engagements div:nth-child(3){padding-left:0;border-left:0}
  .engagements div:nth-child(n+3){border-top:1px solid rgba(29,22,39,.14);margin-top:10px}
}
@media (max-width:980px){
  .wrap{width:calc(100% - 48px)}
  .bilan__grille,.soins__tete,.axel__grille,.temoignages__tete,.cadre__grille,.eden__grille,.faq__grille{grid-template-columns:1fr}
  .bilan__grille{row-gap:0}
  .bilan__grille>div:first-child{display:contents}
  .bilan__grille>.scene-piste{order:1;margin-top:clamp(40px,6vw,110px)}
  .bilan__grille .bilan__actions{order:2;margin-top:56px}
  html.anime .bilan__grille .bilan__actions{margin-top:92px}
  .soins__tete{gap:40px}
  .anneaux{max-width:440px}
  .offres-cercles{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .offre--phare,.offre--combo{grid-template-columns:1fr}
  .offre--phare .arche,.offre--combo .arche{min-height:0;height:auto;aspect-ratio:4/4.2}
  .offre--combo .arche{order:-1}
  .note-globale{justify-self:start}
  .portrait{width:100%;max-width:520px;margin-inline:auto}
  .faq__gauche{position:static}
  .pied-site__grille{grid-template-columns:1fr 1fr}
  .defiler{display:none}
  .cercle{grid-template-columns:auto 1fr}
  .cercle p,.cercles-titre p{grid-column:1/-1;text-align:left;max-width:none}
  .cercles-titre{flex-direction:column;align-items:flex-start;gap:14px}
  .scene{padding-top:10px}
  html.anime .scene-piste{height:250svh;margin-top:10px}
  /* le téléphone et son étiquette tiennent ensemble dans l'écran, barre de navigation comprise, jusqu'à l'iPhone SE */
  .scene{--tel-l:min(var(--tel-max,320px),calc((100svh - 180px) / 2.0934))}
  html.anime .scene{position:sticky;top:max(70px,calc((100svh - var(--tel-l) * 2.0934 - 52px) / 2 + 30px));padding:0}
  /* sous le téléphone, une seule étiquette à la fois : posées dessus, elles cachaient le texte des bulles */
  html.anime .scene .etiquette{top:auto;bottom:-52px;left:0;right:0;margin-inline:auto;width:max-content}
  html:not(.anime) .scene{gap:10px}
  html:not(.anime) .scene .etiquette{position:static}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{width:calc(100% - 36px)}
  .nav{padding:14px 18px}
  .nav.is-solid{padding-top:8px;padding-bottom:8px}
  .nav .btn,.langue{display:none}
  .marque img{width:40px;height:40px}
  .marque b{font-size:17px}
  /* le héros du téléphone : trois écrans, un message par écran */
  .hero{padding:max(76px,calc(env(safe-area-inset-top) + 64px)) 18px 28px;justify-content:center}
  .hero__embleme{width:clamp(78px,12.5vh,112px)}
  .eyebrow--c{flex-wrap:wrap;justify-content:center;text-align:center;line-height:1.9}
  .eyebrow--c::before,.eyebrow--c::after{display:none}
  .hero .eyebrow{font-size:10px;letter-spacing:.26em;max-width:300px}
  .hero h1{font-size:clamp(38px,min(12.4vw,7vh),58px)}
  .hero__lead{font-size:15.5px;line-height:1.62;max-width:34ch}
  .hero__ctas{flex-direction:column;align-items:stretch;width:100%;padding:0 4px;margin-top:clamp(20px,3.4vh,30px)}
  .hero__ctas .btn--ghost{display:none}
  .hero__abri{top:62%;height:62%;width:160vw}
  .hero__devise{top:62%;font-size:12.5px;letter-spacing:.5em;text-indent:.5em}
  .preuves{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;margin-top:34px;padding:0;white-space:normal;font-size:23px}
  .preuves li{flex-direction:column;align-items:center;gap:3px;padding:0}
  .preuves li:first-child{grid-column:1/-1}
  .preuves li+li::before{display:none}
  .preuves li>span:not(.etoiles){font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brume)}
  html.anime .preuves{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;margin:0;padding:0 24px;font-size:clamp(34px,10.6vw,46px);visibility:hidden}
  html.anime .preuves li{gap:8px}
  html.anime .preuves li+li::before{display:block;position:static;transform:rotate(45deg);margin:clamp(16px,3.2vh,28px) auto}
  html.anime .preuves li>span:not(.etoiles){font-size:12px;letter-spacing:.28em}
  .bandeau{padding:20px 0}
  .manifeste__texte{font-size:clamp(28px,7.6vw,36px)}
  h2{font-size:clamp(40px,11vw,54px)}
  .etapes li{grid-template-columns:62px 1fr}
  .etapes__n{font-size:42px}
  .bilan__actions .btn{width:100%}
  .etiquette{font-size:10.5px;padding:10px 14px}
  .etiquette--1{left:0}.etiquette--2{right:0}
  .offre{padding:20px;border-radius:24px}
  .liste--2{grid-template-columns:1fr}
  .offre h4{font-size:36px}
  .pied .btn{flex:1}
  .cercle__num{font-size:64px}
  .avis{width:310px;padding:24px}
  .avis blockquote{font-size:19px}
  .note-globale ul{flex-wrap:wrap;gap:16px 26px}
  .engagements{grid-template-columns:1fr}
  .engagements div,.engagements div+div{padding:28px 0 18px;border-left:0}
  .engagements div+div{border-top:1px solid rgba(29,22,39,.14)}
  .lumiere{min-height:520px}
  .lumiere figcaption{left:26px;right:26px;bottom:30px}
  .medecine article{padding:26px 22px}
  .temps li{margin-right:10px;padding-right:10px}
  .temps li::after{display:none}
  .verre{padding:28px}
  .articles{grid-template-columns:1fr}
  .journal__tete{flex-direction:column;align-items:flex-start}
  .questions details p{padding-right:0}
  .final{min-height:680px;padding:110px 0}
  .final__ctas .btn{width:100%}
  .pied-site__grille{grid-template-columns:1fr}
  .ruban{display:none}
  .maquette-mobile{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap;display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid var(--filet-fort);background:rgba(14,10,22,.6);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or-pale)}
  .maquette-mobile i{width:7px;height:7px;border-radius:50%;background:var(--or)}
  html:not(.anime) .hero{padding-bottom:64px}
  .fab{right:12px;bottom:12px;height:52px;padding:0 6px}
  .fab em{display:none}
  .fab span{width:40px;height:40px}
}

/* téléphone couché : le héros tient dans l'écran, le téléphone WhatsApp défile sans se coller mais reste lisible */
@media (max-height:500px) and (orientation:landscape){
  .hero{min-height:0}
  .hero__embleme{width:64px;margin-bottom:8px}
  .hero h1{font-size:34px}
  .hero__lead{display:none}
  .ruban{display:none}
  html.anime .scene-piste{height:auto}
  html.anime .scene{position:relative;top:auto;padding:40px 0}
  .scene{--tel-l:260px}
}

/* mouvement réduit + capture */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
  .manifeste .w{opacity:1}
  .rangee{overflow-x:auto}
}
.is-capture .ruban,.is-capture .maquette-mobile,.is-capture .fab,.is-capture .toast,.is-capture .defiler{display:none!important}
.is-capture [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
.is-capture:not(.is-video) .manifeste .w{opacity:1!important;transition:none}
.is-capture:not(.is-video) .bandeau__piste{animation:none;transform:translateX(-6%)}
.is-capture:not(.is-video) .rangee__piste{animation:none;transform:translateX(-3%)}
.is-capture:not(.is-video) .rangee--inverse .rangee__piste{transform:translateX(-22%)}
.is-capture:not(.is-video) .orbite,.is-capture:not(.is-video) .hero__embleme::before,.is-capture:not(.is-video) .wa-frappe i{animation:none}
.is-video .manifeste .w{transition:none}
html.is-video body::after{display:none}
/* ================================================================
   Composant « WhatsApp dans un iPhone 16 Pro » — tout est préfixé wa-.
   Une seule commande de taille : --wa-l (largeur du boîtier). 1 point iOS = --wa-pt.
   ================================================================ */
.wa-scene{
  --wa-l:320px;
  --wa-pt:calc(var(--wa-l) * 0.0023167);
  --wa-fond:#EFEAE2;
  --wa-voile:239,234,226;
  --wa-sortant:#D9FDD3;
  --wa-entrant:#FFFFFF;
  --wa-texte:#111B21;
  --wa-meta:#667781;
  --wa-coche:#8696A0;
  --wa-coche-lue:#53BDEB;
  --wa-vert:#25D366;
  --wa-icone:#0B0B0C;
  --wa-titane-1:#d9d5ce;
  --wa-titane-2:#a8a39b;
  --wa-titane-3:#7b7770;
  --wa-titane-4:#57544f;
  --wa-ombre:0 calc(40 * var(--wa-pt)) calc(90 * var(--wa-pt)) rgba(0,0,0,.55), 0 calc(12 * var(--wa-pt)) calc(28 * var(--wa-pt)) rgba(0,0,0,.35);
  --wa-police:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  position:relative;
  width:var(--wa-l);
  font-family:var(--wa-police);
  -webkit-font-smoothing:antialiased;
  font-weight:400;
  font-style:normal;
  letter-spacing:normal;
  text-transform:none;
  line-height:1.2;
  color:var(--wa-texte);
  text-align:left;
}
.wa-scene *,.wa-scene *::before,.wa-scene *::after{box-sizing:border-box}
.wa-scene svg{display:block;overflow:visible}
.wa-scene .wa-iphone--noir,.wa-scene.wa-noir{--wa-titane-1:#5d5c5a;--wa-titane-2:#3a3937;--wa-titane-3:#252423;--wa-titane-4:#141413}

/* ---------- le boîtier ---------- */
.wa-iphone{
  position:relative;
  width:var(--wa-l);
  height:calc(903.6 * var(--wa-pt));
  border-radius:calc(77 * var(--wa-pt));
  background:
    linear-gradient(90deg, var(--wa-titane-4) 0%, var(--wa-titane-1) 0.55%, var(--wa-titane-2) 1.2%, var(--wa-titane-3) 1.8%, transparent 2.2%, transparent 97.8%, var(--wa-titane-3) 98.2%, var(--wa-titane-2) 98.8%, var(--wa-titane-1) 99.45%, var(--wa-titane-4) 100%),
    linear-gradient(180deg, var(--wa-titane-1) 0%, var(--wa-titane-2) 0.8%, var(--wa-titane-3) 50%, var(--wa-titane-2) 99.2%, var(--wa-titane-4) 100%);
  box-shadow:
    inset 0 0 0 calc(0.6 * var(--wa-pt)) rgba(255,255,255,.28),
    inset 0 0 0 calc(1.6 * var(--wa-pt)) rgba(0,0,0,.18),
    var(--wa-ombre);
}
.wa-bouton{
  position:absolute;
  width:calc(3 * var(--wa-pt));
  border-radius:calc(1.6 * var(--wa-pt));
  background:linear-gradient(90deg, var(--wa-titane-4), var(--wa-titane-1) 45%, var(--wa-titane-3));
  box-shadow:0 0 0 calc(0.3 * var(--wa-pt)) rgba(0,0,0,.25);
}
.wa-bouton--action{left:calc(-2.4 * var(--wa-pt));top:19.4%;height:3.9%}
.wa-bouton--volume-haut{left:calc(-2.4 * var(--wa-pt));top:26.2%;height:6.6%}
.wa-bouton--volume-bas{left:calc(-2.4 * var(--wa-pt));top:34.6%;height:6.6%}
.wa-bouton--lateral{right:calc(-2.4 * var(--wa-pt));top:28.4%;height:10.4%}
.wa-bouton--camera{right:calc(-1.1 * var(--wa-pt));top:58.5%;height:7.4%;width:calc(1.6 * var(--wa-pt));background:linear-gradient(90deg, #3b3a38, #6c6a66);opacity:.9}

.wa-verre{
  position:absolute;
  inset:calc(7.8 * var(--wa-pt));
  border-radius:calc(69.2 * var(--wa-pt));
  background:#030304;
  box-shadow:inset 0 0 0 calc(0.5 * var(--wa-pt)) rgba(255,255,255,.07), 0 0 0 calc(0.4 * var(--wa-pt)) rgba(0,0,0,.6);
}
.wa-ecran{
  position:absolute;
  left:calc(7 * var(--wa-pt)); top:calc(7 * var(--wa-pt));
  width:calc(402 * var(--wa-pt)); height:calc(874 * var(--wa-pt));
  border-radius:calc(62 * var(--wa-pt));
  overflow:hidden;
  isolation:isolate;
  background-color:var(--wa-fond);
  font-size:calc(17 * var(--wa-pt));
}
.wa-reflet{
  position:absolute; inset:0; z-index:40; pointer-events:none; border-radius:inherit;
  background:
    linear-gradient(118deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.05) 22%, rgba(255,255,255,0) 38%),
    linear-gradient(300deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 18%);
  box-shadow:inset 0 0 0 calc(0.6 * var(--wa-pt)) rgba(0,0,0,.35);
}

/* ---------- papier peint ---------- */
.wa-papier{
  position:absolute; inset:0; z-index:0;
  background-color:var(--wa-fond);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='none' stroke='%235e5245' stroke-opacity='0.11' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(181.7 226.8) rotate(17 8.35 8.35) scale(0.759)' stroke-width='1.32'%3E%3Cpath d='M1.5 4.5H20.5V17.5H1.5Z M1.5 4.8L11 12L20.5 4.8'/%3E%3C/g%3E%3Cg transform='translate(380.1 187.5) rotate(21 8.03 8.03) scale(0.730)' stroke-width='1.37'%3E%3Cpath d='M3 19L4.2 14.6L15.6 3.2C16.4 2.4 17.6 2.4 18.4 3.2L18.8 3.6C19.6 4.4 19.6 5.6 18.8 6.4L7.4 17.8Z M13.8 5L17 8.2'/%3E%3C/g%3E%3Cg transform='translate(69.1 206.5) rotate(-8 8.47 8.47) scale(0.770)' stroke-width='1.30'%3E%3Cpath d='M3 19L4.2 14.6L15.6 3.2C16.4 2.4 17.6 2.4 18.4 3.2L18.8 3.6C19.6 4.4 19.6 5.6 18.8 6.4L7.4 17.8Z M13.8 5L17 8.2'/%3E%3C/g%3E%3Cg transform='translate(256.1 324.6) rotate(-24 8.40 8.40) scale(0.764)' stroke-width='1.31'%3E%3Cpath d='M11 20C8 17.5 1 13 1 7.2C1 3.8 3.6 1.6 6.4 1.6C8.4 1.6 10 2.8 11 4.6C12 2.8 13.6 1.6 15.6 1.6C18.4 1.6 21 3.8 21 7.2C21 13 14 17.5 11 20Z'/%3E%3C/g%3E%3Cg transform='translate(31.5 119.4) rotate(15 8.07 8.07) scale(0.734)' stroke-width='1.36'%3E%3Cpath d='M1 11C1 5.5 5.5 2 11 2C16.5 2 21 5.5 21 11C18.5 9.5 16 9.5 13.5 11C12.2 9.8 9.8 9.8 8.5 11C6 9.5 3.5 9.5 1 11Z M11 11V18.5C11 20.5 7.5 20.5 7.5 18.5'/%3E%3C/g%3E%3Cg transform='translate(30.3 332.3) rotate(26 7.74 7.74) scale(0.703)' stroke-width='1.42'%3E%3Cpath d='M15.5 1.5C9.2 2.2 5.1 7.8 5.9 13.6C6.8 19.6 13.1 22.4 18.8 19.3C12.6 18.7 9 13.2 10.6 7.3C11.4 4.6 13.2 2.6 15.5 1.5Z'/%3E%3C/g%3E%3Cg transform='translate(283.9 10.3) rotate(-25 7.32 7.32) scale(0.666)' stroke-width='1.50'%3E%3Cpath d='M3 19L4.2 14.6L15.6 3.2C16.4 2.4 17.6 2.4 18.4 3.2L18.8 3.6C19.6 4.4 19.6 5.6 18.8 6.4L7.4 17.8Z M13.8 5L17 8.2'/%3E%3C/g%3E%3Cg transform='translate(-14.7 398.0) rotate(-23 7.21 7.21) scale(0.655)' stroke-width='1.53'%3E%3Cpath d='M1.5 4.5H20.5V17.5H1.5Z M1.5 4.8L11 12L20.5 4.8'/%3E%3C/g%3E%3Cg transform='translate(405.3 398.0) rotate(-23 7.21 7.21) scale(0.655)' stroke-width='1.53'%3E%3Cpath d='M1.5 4.5H20.5V17.5H1.5Z M1.5 4.8L11 12L20.5 4.8'/%3E%3C/g%3E%3Cg transform='translate(266.3 250.2) rotate(3 8.32 8.32) scale(0.756)' stroke-width='1.32'%3E%3Cpath d='M1.5 10L20.5 2L15.5 20L10.5 13.5Z M10.5 13.5L20.5 2 M10.5 13.5V19L13 16.3'/%3E%3C/g%3E%3Cg transform='translate(58.2 -1.6) rotate(6 7.90 7.90) scale(0.718)' stroke-width='1.39'%3E%3Cpath d='M3 15V11C3 6.6 6.6 3 11 3C15.4 3 19 6.6 19 11V15 M3 14H6V20H4C3.4 20 3 19.6 3 19Z M19 14H16V20H18C18.6 20 19 19.6 19 19Z'/%3E%3C/g%3E%3Cg transform='translate(58.2 418.4) rotate(6 7.90 7.90) scale(0.718)' stroke-width='1.39'%3E%3Cpath d='M3 15V11C3 6.6 6.6 3 11 3C15.4 3 19 6.6 19 11V15 M3 14H6V20H4C3.4 20 3 19.6 3 19Z M19 14H16V20H18C18.6 20 19 19.6 19 19Z'/%3E%3C/g%3E%3Cg transform='translate(214.0 17.1) rotate(-11 7.93 7.93) scale(0.721)' stroke-width='1.39'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(71.4 93.1) rotate(6 8.49 8.49) scale(0.772)' stroke-width='1.30'%3E%3Cpath d='M2 20C2 9 8.5 2 20 2C20 13.5 13 20 2 20Z M2 20L13.5 8.5'/%3E%3C/g%3E%3Cg transform='translate(3.9 186.1) rotate(8 8.75 8.75) scale(0.795)' stroke-width='1.26'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(423.9 186.1) rotate(8 8.75 8.75) scale(0.795)' stroke-width='1.26'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(177.5 346.3) rotate(-30 7.50 7.50) scale(0.682)' stroke-width='1.47'%3E%3Cpath d='M8 16.5C8 14 5 12.6 5 8.6C5 5.1 7.7 2.4 11 2.4C14.3 2.4 17 5.1 17 8.6C17 12.6 14 14 14 16.5Z M8.2 19H13.8 M9.2 21.2H12.8'/%3E%3C/g%3E%3Cg transform='translate(210.8 261.7) rotate(25 7.21 7.21) scale(0.655)' stroke-width='1.53'%3E%3Cpath d='M15.5 1.5C9.2 2.2 5.1 7.8 5.9 13.6C6.8 19.6 13.1 22.4 18.8 19.3C12.6 18.7 9 13.2 10.6 7.3C11.4 4.6 13.2 2.6 15.5 1.5Z'/%3E%3C/g%3E%3Cg transform='translate(184.8 109.6) rotate(-14 7.27 7.27) scale(0.661)' stroke-width='1.51'%3E%3Ccircle cx='11' cy='11' r='4.6'/%3E%3Cpath d='M11 1.2V3.6 M11 18.4V20.8 M1.2 11H3.6 M18.4 11H20.8 M4.1 4.1L5.8 5.8 M16.2 16.2L17.9 17.9 M4.1 17.9L5.8 16.2 M16.2 5.8L17.9 4.1'/%3E%3C/g%3E%3Cg transform='translate(344.3 288.7) rotate(-9 8.56 8.56) scale(0.778)' stroke-width='1.29'%3E%3Cpath d='M2 7.5C2 6.4 2.9 5.5 4 5.5H6.8L8.4 3H13.6L15.2 5.5H18C19.1 5.5 20 6.4 20 7.5V16.5C20 17.6 19.1 18.5 18 18.5H4C2.9 18.5 2 17.6 2 16.5Z'/%3E%3Ccircle cx='11' cy='12' r='3.8'/%3E%3C/g%3E%3Cg transform='translate(123.6 87.6) rotate(5 8.84 8.84) scale(0.804)' stroke-width='1.24'%3E%3Cpath d='M2 7.5C2 6.4 2.9 5.5 4 5.5H6.8L8.4 3H13.6L15.2 5.5H18C19.1 5.5 20 6.4 20 7.5V16.5C20 17.6 19.1 18.5 18 18.5H4C2.9 18.5 2 17.6 2 16.5Z'/%3E%3Ccircle cx='11' cy='12' r='3.8'/%3E%3C/g%3E%3Cg transform='translate(112.4 20.5) rotate(-17 8.96 8.96) scale(0.815)' stroke-width='1.23'%3E%3Cpath d='M5.2 1.6C4.6 1.2 3.9 1.2 3.3 1.6L2.1 2.6C1.2 3.4 0.9 4.7 1.3 5.9C3 12 9.9 18.9 16.1 20.7C17.3 21.1 18.6 20.8 19.4 19.9L20.4 18.7C20.8 18.1 20.8 17.4 20.4 16.8L17.6 13.8C17 13.2 16.1 13.1 15.4 13.6L14 14.6C11.2 13.4 8.6 10.8 7.4 8L8.4 6.6C8.9 5.9 8.8 5 8.2 4.4Z'/%3E%3C/g%3E%3Cg transform='translate(313.0 159.3) rotate(-0 8.86 8.86) scale(0.806)' stroke-width='1.24'%3E%3Cpath d='M1.5 4.5H20.5V17.5H1.5Z M1.5 4.8L11 12L20.5 4.8'/%3E%3C/g%3E%3Cg transform='translate(393.8 347.3) rotate(25 8.59 8.59) scale(0.781)' stroke-width='1.28'%3E%3Ccircle cx='5.5' cy='13' r='4'/%3E%3Ccircle cx='16.5' cy='13' r='4'/%3E%3Cpath d='M9.5 13C10.3 12 11.7 12 12.5 13 M1.5 12L3 7 M20.5 12L19 7'/%3E%3C/g%3E%3Cg transform='translate(-8.7 79.2) rotate(-3 8.90 8.90) scale(0.809)' stroke-width='1.24'%3E%3Ccircle cx='11' cy='11' r='9.5'/%3E%3Cpath d='M7.8 8.2V9.4 M14.2 8.2V9.4 M6.8 13.2C8.8 16.2 13.2 16.2 15.2 13.2'/%3E%3C/g%3E%3Cg transform='translate(411.3 79.2) rotate(-3 8.90 8.90) scale(0.809)' stroke-width='1.24'%3E%3Ccircle cx='11' cy='11' r='9.5'/%3E%3Cpath d='M7.8 8.2V9.4 M14.2 8.2V9.4 M6.8 13.2C8.8 16.2 13.2 16.2 15.2 13.2'/%3E%3C/g%3E%3Cg transform='translate(21.8 255.5) rotate(-19 8.90 8.90) scale(0.809)' stroke-width='1.24'%3E%3Cpath d='M2 8H16V15C16 18.3 13.3 21 10 21H8C4.7 21 2 18.3 2 15Z M16 10.5H17.5C19.4 10.5 20.6 11.8 20.6 13.4C20.6 15 19.4 16.3 17.5 16.3H16 M6.5 1.5C5.5 3 7.5 4 6.5 5.6 M11 1.5C10 3 12 4 11 5.6'/%3E%3C/g%3E%3Cg transform='translate(318.1 104.4) rotate(15 8.86 8.86) scale(0.805)' stroke-width='1.24'%3E%3Ccircle cx='5.5' cy='13' r='4'/%3E%3Ccircle cx='16.5' cy='13' r='4'/%3E%3Cpath d='M9.5 13C10.3 12 11.7 12 12.5 13 M1.5 12L3 7 M20.5 12L19 7'/%3E%3C/g%3E%3Cg transform='translate(327.4 67.3) rotate(-11 7.35 7.35) scale(0.669)' stroke-width='1.50'%3E%3Cpath d='M3.5 2.5H18.5C19.9 2.5 21 3.6 21 5V13C21 14.4 19.9 15.5 18.5 15.5H9.5L5 19.5V15.5H3.5C2.1 15.5 1 14.4 1 13V5C1 3.6 2.1 2.5 3.5 2.5Z M5.5 7H16.5 M5.5 11H13'/%3E%3C/g%3E%3Cg transform='translate(226.9 179.9) rotate(27 8.05 8.05) scale(0.732)' stroke-width='1.37'%3E%3Cpath d='M8 16.5C8 14 5 12.6 5 8.6C5 5.1 7.7 2.4 11 2.4C14.3 2.4 17 5.1 17 8.6C17 12.6 14 14 14 16.5Z M8.2 19H13.8 M9.2 21.2H12.8'/%3E%3C/g%3E%3Cg transform='translate(72.9 300.2) rotate(-19 7.15 7.15) scale(0.650)' stroke-width='1.54'%3E%3Cpath d='M1.5 10L20.5 2L15.5 20L10.5 13.5Z M10.5 13.5L20.5 2 M10.5 13.5V19L13 16.3'/%3E%3C/g%3E%3Cg transform='translate(40.6 168.4) rotate(9 8.30 8.30) scale(0.755)' stroke-width='1.32'%3E%3Cpath d='M6 18C3 18 1.2 16 1.2 13.6C1.2 11.3 3 9.5 5.3 9.4C5.8 6 8.5 3.6 11.8 3.6C15 3.6 17.6 5.8 18.2 8.8C20.5 9.2 22.2 11.2 22.2 13.6C22.2 16 20.2 18 17.8 18Z'/%3E%3C/g%3E%3Cg transform='translate(120.7 364.6) rotate(29 7.02 7.02) scale(0.638)' stroke-width='1.57'%3E%3Cpath d='M1.5 4.5H20.5V17.5H1.5Z M1.5 4.8L11 12L20.5 4.8'/%3E%3C/g%3E%3Cg transform='translate(80.1 157.2) rotate(29 8.44 8.44) scale(0.767)' stroke-width='1.30'%3E%3Cpath d='M2.5 9.5H19.5V20H2.5Z M1.5 6H20.5V9.5H1.5Z M11 6V20 M11 6C8.6 2 4.6 2.6 6.6 6 M11 6C13.4 2 17.4 2.6 15.4 6'/%3E%3C/g%3E%3Cg transform='translate(94.4 244.9) rotate(-22 7.64 7.64) scale(0.695)' stroke-width='1.44'%3E%3Cpath d='M5.2 1.6C4.6 1.2 3.9 1.2 3.3 1.6L2.1 2.6C1.2 3.4 0.9 4.7 1.3 5.9C3 12 9.9 18.9 16.1 20.7C17.3 21.1 18.6 20.8 19.4 19.9L20.4 18.7C20.8 18.1 20.8 17.4 20.4 16.8L17.6 13.8C17 13.2 16.1 13.1 15.4 13.6L14 14.6C11.2 13.4 8.6 10.8 7.4 8L8.4 6.6C8.9 5.9 8.8 5 8.2 4.4Z'/%3E%3C/g%3E%3Cg transform='translate(148.9 183.1) rotate(-25 7.23 7.23) scale(0.657)' stroke-width='1.52'%3E%3Cpath d='M11 1.5L13.7 7.6L20.3 8.2L15.3 12.6L16.8 19.2L11 15.8L5.2 19.2L6.7 12.6L1.7 8.2L8.3 7.6Z'/%3E%3C/g%3E%3Cg transform='translate(234.0 356.6) rotate(-19 7.37 7.37) scale(0.670)' stroke-width='1.49'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(301.9 386.3) rotate(-26 8.70 8.70) scale(0.791)' stroke-width='1.26'%3E%3Cpath d='M7 17.5C7 19.2 5.7 20.5 4 20.5C2.3 20.5 1 19.2 1 17.5C1 15.8 2.3 14.5 4 14.5C5.7 14.5 7 15.8 7 17.5ZM7 17.5V4L19 1.5V14.5 M19 14.5C19 16.2 17.7 17.5 16 17.5C14.3 17.5 13 16.2 13 14.5C13 12.8 14.3 11.5 16 11.5C17.7 11.5 19 12.8 19 14.5Z M7 8L19 5.5'/%3E%3C/g%3E%3Cg transform='translate(361.6 244.5) rotate(6 8.95 8.95) scale(0.814)' stroke-width='1.23'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(169.6 36.2) rotate(-5 7.42 7.42) scale(0.675)' stroke-width='1.48'%3E%3Cpath d='M11 1.5L13.7 7.6L20.3 8.2L15.3 12.6L16.8 19.2L11 15.8L5.2 19.2L6.7 12.6L1.7 8.2L8.3 7.6Z'/%3E%3C/g%3E%3Cg transform='translate(243.0 115.7) rotate(-16 7.52 7.52) scale(0.684)' stroke-width='1.46'%3E%3Cpath d='M3 19L4.2 14.6L15.6 3.2C16.4 2.4 17.6 2.4 18.4 3.2L18.8 3.6C19.6 4.4 19.6 5.6 18.8 6.4L7.4 17.8Z M13.8 5L17 8.2'/%3E%3C/g%3E%3Cg transform='translate(-16.2 267.9) rotate(-22 8.05 8.05) scale(0.732)' stroke-width='1.37'%3E%3Ccircle cx='11' cy='11' r='9.5'/%3E%3Cpath d='M7.8 8.2V9.4 M14.2 8.2V9.4 M6.8 13.2C8.8 16.2 13.2 16.2 15.2 13.2'/%3E%3C/g%3E%3Cg transform='translate(403.8 267.9) rotate(-22 8.05 8.05) scale(0.732)' stroke-width='1.37'%3E%3Ccircle cx='11' cy='11' r='9.5'/%3E%3Cpath d='M7.8 8.2V9.4 M14.2 8.2V9.4 M6.8 13.2C8.8 16.2 13.2 16.2 15.2 13.2'/%3E%3C/g%3E%3Cg transform='translate(195.0 299.3) rotate(-28 7.53 7.53) scale(0.685)' stroke-width='1.46'%3E%3Cpath d='M3.5 2.5H18.5C19.9 2.5 21 3.6 21 5V13C21 14.4 19.9 15.5 18.5 15.5H9.5L5 19.5V15.5H3.5C2.1 15.5 1 14.4 1 13V5C1 3.6 2.1 2.5 3.5 2.5Z M5.5 7H16.5 M5.5 11H13'/%3E%3C/g%3E%3Cg transform='translate(301.3 287.2) rotate(12 8.31 8.31) scale(0.756)' stroke-width='1.32'%3E%3Cpath d='M1 11C1 5.5 5.5 2 11 2C16.5 2 21 5.5 21 11C18.5 9.5 16 9.5 13.5 11C12.2 9.8 9.8 9.8 8.5 11C6 9.5 3.5 9.5 1 11Z M11 11V18.5C11 20.5 7.5 20.5 7.5 18.5'/%3E%3C/g%3E%3Cg transform='translate(139.1 279.1) rotate(-21 8.62 8.62) scale(0.784)' stroke-width='1.28'%3E%3Cpath d='M4 16.5C5.5 15 5.5 13 5.5 9.5C5.5 6.2 8 3.6 11 3.6C14 3.6 16.5 6.2 16.5 9.5C16.5 13 16.5 15 18 16.5Z M9 19C9.4 20.3 12.6 20.3 13 19 M11 1.6V3.6'/%3E%3C/g%3E%3Cg transform='translate(254.0 152.1) rotate(-32 8.44 8.44) scale(0.767)' stroke-width='1.30'%3E%3Cpath d='M2 8H16V15C16 18.3 13.3 21 10 21H8C4.7 21 2 18.3 2 15Z M16 10.5H17.5C19.4 10.5 20.6 11.8 20.6 13.4C20.6 15 19.4 16.3 17.5 16.3H16 M6.5 1.5C5.5 3 7.5 4 6.5 5.6 M11 1.5C10 3 12 4 11 5.6'/%3E%3C/g%3E%3Cg transform='translate(286.2 201.7) rotate(-28 7.11 7.11) scale(0.647)' stroke-width='1.55'%3E%3Cpath d='M15.5 1.5C9.2 2.2 5.1 7.8 5.9 13.6C6.8 19.6 13.1 22.4 18.8 19.3C12.6 18.7 9 13.2 10.6 7.3C11.4 4.6 13.2 2.6 15.5 1.5Z'/%3E%3C/g%3E%3Cg transform='translate(361.6 153.4) rotate(-30 8.08 8.08) scale(0.734)' stroke-width='1.36'%3E%3Cpath d='M6 18C3 18 1.2 16 1.2 13.6C1.2 11.3 3 9.5 5.3 9.4C5.8 6 8.5 3.6 11.8 3.6C15 3.6 17.6 5.8 18.2 8.8C20.5 9.2 22.2 11.2 22.2 13.6C22.2 16 20.2 18 17.8 18Z'/%3E%3C/g%3E%3Cg transform='translate(344.0 348.8) rotate(-32 7.63 7.63) scale(0.693)' stroke-width='1.44'%3E%3Ccircle cx='11' cy='11' r='4.6'/%3E%3Cpath d='M11 1.2V3.6 M11 18.4V20.8 M1.2 11H3.6 M18.4 11H20.8 M4.1 4.1L5.8 5.8 M16.2 16.2L17.9 17.9 M4.1 17.9L5.8 16.2 M16.2 5.8L17.9 4.1'/%3E%3C/g%3E%3Cg transform='translate(358.8 9.7) rotate(-19 7.77 7.77) scale(0.706)' stroke-width='1.42'%3E%3Cpath d='M2 7.5C2 6.4 2.9 5.5 4 5.5H6.8L8.4 3H13.6L15.2 5.5H18C19.1 5.5 20 6.4 20 7.5V16.5C20 17.6 19.1 18.5 18 18.5H4C2.9 18.5 2 17.6 2 16.5Z'/%3E%3Ccircle cx='11' cy='12' r='3.8'/%3E%3C/g%3E%3Cg transform='translate(121.3 323.9) rotate(-12 8.50 8.50) scale(0.772)' stroke-width='1.29'%3E%3Cpath d='M3.5 2.5H18.5C19.9 2.5 21 3.6 21 5V13C21 14.4 19.9 15.5 18.5 15.5H9.5L5 19.5V15.5H3.5C2.1 15.5 1 14.4 1 13V5C1 3.6 2.1 2.5 3.5 2.5Z M5.5 7H16.5 M5.5 11H13'/%3E%3C/g%3E%3Cg transform='translate(280.4 76.6) rotate(-3 7.13 7.13) scale(0.649)' stroke-width='1.54'%3E%3Cpath d='M4 16.5C5.5 15 5.5 13 5.5 9.5C5.5 6.2 8 3.6 11 3.6C14 3.6 16.5 6.2 16.5 9.5C16.5 13 16.5 15 18 16.5Z M9 19C9.4 20.3 12.6 20.3 13 19 M11 1.6V3.6'/%3E%3C/g%3E%3Cg transform='translate(191.9 67.4) rotate(-7 7.65 7.65) scale(0.696)' stroke-width='1.44'%3E%3Cpath d='M1 11C1 5.5 5.5 2 11 2C16.5 2 21 5.5 21 11C18.5 9.5 16 9.5 13.5 11C12.2 9.8 9.8 9.8 8.5 11C6 9.5 3.5 9.5 1 11Z M11 11V18.5C11 20.5 7.5 20.5 7.5 18.5'/%3E%3C/g%3E%3Cg transform='translate(294.9 335.4) rotate(21 8.29 8.29) scale(0.754)' stroke-width='1.33'%3E%3Cpath d='M3 15V11C3 6.6 6.6 3 11 3C15.4 3 19 6.6 19 11V15 M3 14H6V20H4C3.4 20 3 19.6 3 19Z M19 14H16V20H18C18.6 20 19 19.6 19 19Z'/%3E%3C/g%3E%3Cg transform='translate(81.9 370.3) rotate(24 7.67 7.67) scale(0.697)' stroke-width='1.43'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(50.6 54.0) rotate(7 8.42 8.42) scale(0.765)' stroke-width='1.31'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(123.2 152.4) rotate(3 7.68 7.68) scale(0.698)' stroke-width='1.43'%3E%3Cellipse cx='10' cy='8.5' rx='7' ry='8'/%3E%3Cpath d='M10 16.5L8.6 18.3H11.4Z M10 18.3C8 20.6 12 21.4 10 23.5'/%3E%3C/g%3E%3Cg transform='translate(232.7 76.5) rotate(31 7.95 7.95) scale(0.723)' stroke-width='1.38'%3E%3Cpath d='M2.5 9.5H19.5V20H2.5Z M1.5 6H20.5V9.5H1.5Z M11 6V20 M11 6C8.6 2 4.6 2.6 6.6 6 M11 6C13.4 2 17.4 2.6 15.4 6'/%3E%3C/g%3E%3Cg transform='translate(105.0 190.6) rotate(28 8.11 8.11) scale(0.737)' stroke-width='1.36'%3E%3Ccircle cx='5' cy='15' r='4'/%3E%3Ccircle cx='17' cy='15' r='4'/%3E%3Cpath d='M5 15L8.5 7.5H14L17 15 M8.5 7.5L11 15H5 M7.5 5.5H10 M14 7.5L13 4.5H15.5'/%3E%3C/g%3E%3Cg transform='translate(381.3 47.1) rotate(-29 7.29 7.29) scale(0.663)' stroke-width='1.51'%3E%3Cpath d='M11 20C8 17.5 1 13 1 7.2C1 3.8 3.6 1.6 6.4 1.6C8.4 1.6 10 2.8 11 4.6C12 2.8 13.6 1.6 15.6 1.6C18.4 1.6 21 3.8 21 7.2C21 13 14 17.5 11 20Z'/%3E%3C/g%3E%3Cg transform='translate(-4.1 140.8) rotate(-27 8.55 8.55) scale(0.778)' stroke-width='1.29'%3E%3Cpath d='M1.5 10L20.5 2L15.5 20L10.5 13.5Z M10.5 13.5L20.5 2 M10.5 13.5V19L13 16.3'/%3E%3C/g%3E%3Cg transform='translate(415.9 140.8) rotate(-27 8.55 8.55) scale(0.778)' stroke-width='1.29'%3E%3Cpath d='M1.5 10L20.5 2L15.5 20L10.5 13.5Z M10.5 13.5L20.5 2 M10.5 13.5V19L13 16.3'/%3E%3C/g%3E%3Cg transform='translate(22.8 372.2) rotate(-25 8.09 8.09) scale(0.735)' stroke-width='1.36'%3E%3Cpath d='M3.5 2.5H18.5C19.9 2.5 21 3.6 21 5V13C21 14.4 19.9 15.5 18.5 15.5H9.5L5 19.5V15.5H3.5C2.1 15.5 1 14.4 1 13V5C1 3.6 2.1 2.5 3.5 2.5Z M5.5 7H16.5 M5.5 11H13'/%3E%3C/g%3E%3Cg transform='translate(245.4 40.2) rotate(13 8.16 8.16) scale(0.742)' stroke-width='1.35'%3E%3Ccircle cx='11' cy='11' r='9.5'/%3E%3Cpath d='M11 5.5V11L14.8 13.2'/%3E%3C/g%3E%3Cg transform='translate(321.1 254.2) rotate(24 8.29 8.29) scale(0.753)' stroke-width='1.33'%3E%3Ccircle cx='5' cy='15' r='4'/%3E%3Ccircle cx='17' cy='15' r='4'/%3E%3Cpath d='M5 15L8.5 7.5H14L17 15 M8.5 7.5L11 15H5 M7.5 5.5H10 M14 7.5L13 4.5H15.5'/%3E%3C/g%3E%3Cg transform='translate(9.2 18.1) rotate(-9 7.42 7.42) scale(0.675)' stroke-width='1.48'%3E%3Cpath d='M7 17.5C7 19.2 5.7 20.5 4 20.5C2.3 20.5 1 19.2 1 17.5C1 15.8 2.3 14.5 4 14.5C5.7 14.5 7 15.8 7 17.5ZM7 17.5V4L19 1.5V14.5 M19 14.5C19 16.2 17.7 17.5 16 17.5C14.3 17.5 13 16.2 13 14.5C13 12.8 14.3 11.5 16 11.5C17.7 11.5 19 12.8 19 14.5Z M7 8L19 5.5'/%3E%3C/g%3E%3Cg transform='translate(127.7 221.5) rotate(-24 8.93 8.93) scale(0.812)' stroke-width='1.23'%3E%3Cpath d='M8 16.5C8 14 5 12.6 5 8.6C5 5.1 7.7 2.4 11 2.4C14.3 2.4 17 5.1 17 8.6C17 12.6 14 14 14 16.5Z M8.2 19H13.8 M9.2 21.2H12.8'/%3E%3C/g%3E%3Cg transform='translate(171.1 146.6) rotate(25 8.51 8.51) scale(0.773)' stroke-width='1.29'%3E%3Cpath d='M2 7.5C2 6.4 2.9 5.5 4 5.5H6.8L8.4 3H13.6L15.2 5.5H18C19.1 5.5 20 6.4 20 7.5V16.5C20 17.6 19.1 18.5 18 18.5H4C2.9 18.5 2 17.6 2 16.5Z'/%3E%3Ccircle cx='11' cy='12' r='3.8'/%3E%3C/g%3E%3Cg transform='translate(361.1 109.3) rotate(24 8.90 8.90) scale(0.809)' stroke-width='1.24'%3E%3Cpath d='M6.5 10L11 21L15.5 10 M6 10C4.8 10 4 9 4 7.8C4 6.2 5.3 5 6.8 5.2C7.2 3.3 9 2 11 2C13 2 14.8 3.3 15.2 5.2C16.7 5 18 6.2 18 7.8C18 9 17.2 10 16 10Z'/%3E%3C/g%3E%3Cg transform='translate(334.4 192.6) rotate(-5 8.75 8.75) scale(0.795)' stroke-width='1.26'%3E%3Cpath d='M1 11C1 5.5 5.5 2 11 2C16.5 2 21 5.5 21 11C18.5 9.5 16 9.5 13.5 11C12.2 9.8 9.8 9.8 8.5 11C6 9.5 3.5 9.5 1 11Z M11 11V18.5C11 20.5 7.5 20.5 7.5 18.5'/%3E%3C/g%3E%3Cg transform='translate(221.1 393.2) rotate(-2 8.74 8.74) scale(0.794)' stroke-width='1.26'%3E%3Cpath d='M11 1.5L13.7 7.6L20.3 8.2L15.3 12.6L16.8 19.2L11 15.8L5.2 19.2L6.7 12.6L1.7 8.2L8.3 7.6Z'/%3E%3C/g%3E%3Cg transform='translate(154.0 382.8) rotate(-12 7.53 7.53) scale(0.685)' stroke-width='1.46'%3E%3Ccircle cx='6.5' cy='15.5' r='4.5'/%3E%3Cpath d='M9.7 12.3L19.5 2.5 M16 6L18.5 8.5 M13.5 8.5L15.5 10.5'/%3E%3C/g%3E%3Cg transform='translate(230.5 219.7) rotate(25 8.43 8.43) scale(0.766)' stroke-width='1.31'%3E%3Cpath d='M6.5 10L11 21L15.5 10 M6 10C4.8 10 4 9 4 7.8C4 6.2 5.3 5 6.8 5.2C7.2 3.3 9 2 11 2C13 2 14.8 3.3 15.2 5.2C16.7 5 18 6.2 18 7.8C18 9 17.2 10 16 10Z'/%3E%3C/g%3E%3Cg transform='translate(246.2 284.8) rotate(-10 7.08 7.08) scale(0.643)' stroke-width='1.55'%3E%3Cpath d='M6 18C3 18 1.2 16 1.2 13.6C1.2 11.3 3 9.5 5.3 9.4C5.8 6 8.5 3.6 11.8 3.6C15 3.6 17.6 5.8 18.2 8.8C20.5 9.2 22.2 11.2 22.2 13.6C22.2 16 20.2 18 17.8 18Z'/%3E%3C/g%3E%3Cg transform='translate(383.4 307.2) rotate(20 8.99 8.99) scale(0.817)' stroke-width='1.22'%3E%3Cpath d='M1 11C1 5.5 5.5 2 11 2C16.5 2 21 5.5 21 11C18.5 9.5 16 9.5 13.5 11C12.2 9.8 9.8 9.8 8.5 11C6 9.5 3.5 9.5 1 11Z M11 11V18.5C11 20.5 7.5 20.5 7.5 18.5'/%3E%3C/g%3E%3Cg transform='translate(370.2 380.6) rotate(-9 7.50 7.50) scale(0.682)' stroke-width='1.47'%3E%3Cpath d='M11 20C8 17.5 1 13 1 7.2C1 3.8 3.6 1.6 6.4 1.6C8.4 1.6 10 2.8 11 4.6C12 2.8 13.6 1.6 15.6 1.6C18.4 1.6 21 3.8 21 7.2C21 13 14 17.5 11 20Z'/%3E%3C/g%3E%3Cg transform='translate(213.8 141.3) rotate(25 7.46 7.46) scale(0.678)' stroke-width='1.47'%3E%3Ccircle cx='6.5' cy='15.5' r='4.5'/%3E%3Cpath d='M9.7 12.3L19.5 2.5 M16 6L18.5 8.5 M13.5 8.5L15.5 10.5'/%3E%3C/g%3E%3Cg transform='translate(-19.3 228.1) rotate(-1 7.75 7.75) scale(0.705)' stroke-width='1.42'%3E%3Ccircle cx='5.5' cy='13' r='4'/%3E%3Ccircle cx='16.5' cy='13' r='4'/%3E%3Cpath d='M9.5 13C10.3 12 11.7 12 12.5 13 M1.5 12L3 7 M20.5 12L19 7'/%3E%3C/g%3E%3Cg transform='translate(400.7 228.1) rotate(-1 7.75 7.75) scale(0.705)' stroke-width='1.42'%3E%3Ccircle cx='5.5' cy='13' r='4'/%3E%3Ccircle cx='16.5' cy='13' r='4'/%3E%3Cpath d='M9.5 13C10.3 12 11.7 12 12.5 13 M1.5 12L3 7 M20.5 12L19 7'/%3E%3C/g%3E%3Cg transform='translate(260.4 385.2) rotate(26 8.92 8.92) scale(0.811)' stroke-width='1.23'%3E%3Ccircle cx='6.5' cy='15.5' r='4.5'/%3E%3Cpath d='M9.7 12.3L19.5 2.5 M16 6L18.5 8.5 M13.5 8.5L15.5 10.5'/%3E%3C/g%3E%3Cg transform='translate(323.6 26.5) rotate(28 8.56 8.56) scale(0.778)' stroke-width='1.28'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(279.9 124.1) rotate(12 8.99 8.99) scale(0.817)' stroke-width='1.22'%3E%3Cpath d='M2 7.5C2 6.4 2.9 5.5 4 5.5H6.8L8.4 3H13.6L15.2 5.5H18C19.1 5.5 20 6.4 20 7.5V16.5C20 17.6 19.1 18.5 18 18.5H4C2.9 18.5 2 17.6 2 16.5Z'/%3E%3Ccircle cx='11' cy='12' r='3.8'/%3E%3C/g%3E%3Cg transform='translate(190.2 188.5) rotate(30 7.35 7.35) scale(0.668)' stroke-width='1.50'%3E%3Ccircle cx='11' cy='9' r='2.6'/%3E%3Cpath d='M11 6.4C9.6 3.2 12.4 3.2 11 6.4Z M13.6 9C16.8 7.6 16.8 10.4 13.6 9Z M11 11.6C12.4 14.8 9.6 14.8 11 11.6Z M8.4 9C5.2 10.4 5.2 7.6 8.4 9Z M11 11.6V21 M11 17C13 15 15.5 15.5 16 16.5'/%3E%3C/g%3E%3Cg transform='translate(118.8 -16.3) rotate(23 7.44 7.44) scale(0.676)' stroke-width='1.48'%3E%3Cpath d='M8 16.5C8 14 5 12.6 5 8.6C5 5.1 7.7 2.4 11 2.4C14.3 2.4 17 5.1 17 8.6C17 12.6 14 14 14 16.5Z M8.2 19H13.8 M9.2 21.2H12.8'/%3E%3C/g%3E%3Cg transform='translate(118.8 403.7) rotate(23 7.44 7.44) scale(0.676)' stroke-width='1.48'%3E%3Cpath d='M8 16.5C8 14 5 12.6 5 8.6C5 5.1 7.7 2.4 11 2.4C14.3 2.4 17 5.1 17 8.6C17 12.6 14 14 14 16.5Z M8.2 19H13.8 M9.2 21.2H12.8'/%3E%3C/g%3E%3Cg transform='translate(172.7 -2.4) rotate(7 7.32 7.32) scale(0.666)' stroke-width='1.50'%3E%3Cpath d='M1 11C1 5.5 5.5 2 11 2C16.5 2 21 5.5 21 11C18.5 9.5 16 9.5 13.5 11C12.2 9.8 9.8 9.8 8.5 11C6 9.5 3.5 9.5 1 11Z M11 11V18.5C11 20.5 7.5 20.5 7.5 18.5'/%3E%3C/g%3E%3Cg transform='translate(172.7 417.6) rotate(7 7.32 7.32) scale(0.666)' stroke-width='1.50'%3E%3Cpath d='M1 11C1 5.5 5.5 2 11 2C16.5 2 21 5.5 21 11C18.5 9.5 16 9.5 13.5 11C12.2 9.8 9.8 9.8 8.5 11C6 9.5 3.5 9.5 1 11Z M11 11V18.5C11 20.5 7.5 20.5 7.5 18.5'/%3E%3C/g%3E%3Cg transform='translate(12.9 297.4) rotate(9 7.35 7.35) scale(0.668)' stroke-width='1.50'%3E%3Cpath d='M4 16.5C5.5 15 5.5 13 5.5 9.5C5.5 6.2 8 3.6 11 3.6C14 3.6 16.5 6.2 16.5 9.5C16.5 13 16.5 15 18 16.5Z M9 19C9.4 20.3 12.6 20.3 13 19 M11 1.6V3.6'/%3E%3C/g%3E%3Cg transform='translate(27.6 217.8) rotate(24 8.59 8.59) scale(0.781)' stroke-width='1.28'%3E%3Cpath d='M15.5 1.5C9.2 2.2 5.1 7.8 5.9 13.6C6.8 19.6 13.1 22.4 18.8 19.3C12.6 18.7 9 13.2 10.6 7.3C11.4 4.6 13.2 2.6 15.5 1.5Z'/%3E%3C/g%3E%3Cg transform='translate(99.6 58.5) rotate(-18 7.91 7.91) scale(0.719)' stroke-width='1.39'%3E%3Cpath d='M3 19L4.2 14.6L15.6 3.2C16.4 2.4 17.6 2.4 18.4 3.2L18.8 3.6C19.6 4.4 19.6 5.6 18.8 6.4L7.4 17.8Z M13.8 5L17 8.2'/%3E%3C/g%3E%3Cg transform='translate(99.9 122.2) rotate(-17 7.56 7.56) scale(0.687)' stroke-width='1.46'%3E%3Cpath d='M6.5 10L11 21L15.5 10 M6 10C4.8 10 4 9 4 7.8C4 6.2 5.3 5 6.8 5.2C7.2 3.3 9 2 11 2C13 2 14.8 3.3 15.2 5.2C16.7 5 18 6.2 18 7.8C18 9 17.2 10 16 10Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size:calc(420 * var(--wa-pt)) calc(420 * var(--wa-pt));
  background-position:calc(-12 * var(--wa-pt)) calc(6 * var(--wa-pt));
}

/* ---------- barre d'état iOS ---------- */
.wa-etat{position:absolute; left:0; right:0; top:0; height:calc(54 * var(--wa-pt)); z-index:30; color:#000; pointer-events:none}
.wa-etat__gauche,.wa-etat__droite{position:absolute; top:calc(11.3 * var(--wa-pt)); height:calc(37 * var(--wa-pt)); display:flex; align-items:center; justify-content:center}
.wa-etat__gauche{left:0; width:calc(142 * var(--wa-pt))}
.wa-etat__droite{right:0; width:calc(138 * var(--wa-pt)); gap:calc(6 * var(--wa-pt)); padding-left:calc(2 * var(--wa-pt))}
.wa-heure{font-family:"SF Pro Text",var(--wa-police); font-size:calc(17 * var(--wa-pt)); font-weight:600; letter-spacing:calc(-0.4 * var(--wa-pt)); line-height:1; font-variant-numeric:tabular-nums}
.wa-i-reseau{width:calc(18 * var(--wa-pt)); height:calc(12 * var(--wa-pt))}
.wa-i-wifi{width:calc(16.5 * var(--wa-pt)); height:calc(12 * var(--wa-pt))}
.wa-i-batterie{width:calc(27.5 * var(--wa-pt)); height:calc(13 * var(--wa-pt))}
.wa-ile{
  position:absolute; z-index:31; top:calc(11.3 * var(--wa-pt)); left:50%; width:calc(125 * var(--wa-pt)); height:calc(36.7 * var(--wa-pt)); margin-left:calc(-62.5 * var(--wa-pt));
  border-radius:calc(20 * var(--wa-pt)); background:#000;
}
.wa-ile::after{
  content:""; position:absolute; right:calc(12 * var(--wa-pt)); top:50%; width:calc(11 * var(--wa-pt)); height:calc(11 * var(--wa-pt)); margin-top:calc(-5.5 * var(--wa-pt)); border-radius:50%;
  background:radial-gradient(circle at 38% 36%, #2a3350 0 18%, #10131d 42%, #050507 70%);
  box-shadow:0 0 0 calc(0.8 * var(--wa-pt)) #0c0c0f;
}

/* ---------- fondus de bord (Liquid Glass simulé, sans backdrop-filter) ---------- */
.wa-fondu-haut,.wa-fondu-bas{position:absolute; left:0; right:0; z-index:20; pointer-events:none}
.wa-fondu-haut{top:0; height:calc(122 * var(--wa-pt)); background:linear-gradient(180deg, rgb(var(--wa-voile)) 0%, rgb(var(--wa-voile)) 85%, rgba(var(--wa-voile),.55) 93%, rgba(var(--wa-voile),0) 100%)}
.wa-fondu-bas{bottom:0; height:calc(92 * var(--wa-pt)); background:linear-gradient(0deg, rgba(var(--wa-voile),.94) 0%, rgba(var(--wa-voile),.78) 42%, rgba(var(--wa-voile),0) 100%)}

/* le verre : un blanc à moitié transparent qui prend la teinte du fond, un liseré clair en haut, presque pas d'ombre */
.wa-verre-bouton{
  background:rgba(255,255,255,.45);
  box-shadow:
    inset 0 calc(1 * var(--wa-pt)) 0 rgba(255,255,255,.9),
    inset 0 calc(-0.5 * var(--wa-pt)) 0 rgba(255,255,255,.35),
    0 0 0 calc(0.5 * var(--wa-pt)) rgba(0,0,0,.035),
    0 calc(2 * var(--wa-pt)) calc(8 * var(--wa-pt)) rgba(60,45,25,.05);
  border-radius:calc(100 * var(--wa-pt));
}

/* ---------- barre du haut de la discussion ---------- */
.wa-entete{position:absolute; left:0; right:0; top:calc(54 * var(--wa-pt)); height:calc(52 * var(--wa-pt)); z-index:25; display:flex; align-items:center; padding:0 calc(14 * var(--wa-pt)) 0 calc(14 * var(--wa-pt)); gap:0}
.wa-retour{display:flex; align-items:center; gap:calc(3 * var(--wa-pt)); height:calc(44 * var(--wa-pt)); padding:0 calc(12 * var(--wa-pt)) 0 calc(11 * var(--wa-pt)); color:var(--wa-icone)}
.wa-retour svg{width:calc(11.5 * var(--wa-pt)); height:calc(19 * var(--wa-pt))}
.wa-retour__nb{font-size:calc(17 * var(--wa-pt)); font-weight:500; letter-spacing:calc(-0.3 * var(--wa-pt)); line-height:1; padding-top:calc(0.5 * var(--wa-pt))}
.wa-contact{display:flex; align-items:center; gap:calc(9 * var(--wa-pt)); margin-left:calc(10 * var(--wa-pt)); min-width:0; flex:1}
.wa-avatar{position:relative; flex:none; width:calc(36 * var(--wa-pt)); height:calc(36 * var(--wa-pt)); border-radius:50%; overflow:hidden; background:#c9d3c4; box-shadow:0 0 0 calc(0.5 * var(--wa-pt)) rgba(0,0,0,.08)}
.wa-avatar img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:54% 38%; transform:scale(2.05); transform-origin:54% 41%}
.wa-contact__texte{display:flex; flex-direction:column; min-width:0; gap:calc(1.5 * var(--wa-pt))}
.wa-nom{font-size:calc(16.5 * var(--wa-pt)); font-weight:600; letter-spacing:calc(-0.35 * var(--wa-pt)); line-height:1.1; color:#000; white-space:nowrap}
.wa-statut{font-size:calc(12.5 * var(--wa-pt)); line-height:1.1; color:var(--wa-meta); white-space:nowrap}
.wa-statut__en-ligne,.wa-statut__ecrit{display:none}
.wa-statut[data-etat="en-ligne"] .wa-statut__en-ligne{display:inline}
.wa-statut[data-etat="ecrit"] .wa-statut__ecrit{display:inline}
.wa-appels{display:flex; align-items:center; height:calc(44 * var(--wa-pt)); padding:0 calc(5 * var(--wa-pt)); flex:none}
.wa-appels span{display:flex; align-items:center; justify-content:center; width:calc(41 * var(--wa-pt)); height:calc(44 * var(--wa-pt)); color:var(--wa-icone)}
.wa-appels .wa-i-video{width:calc(25 * var(--wa-pt)); height:calc(19 * var(--wa-pt))}
.wa-appels .wa-i-tel{width:calc(20.5 * var(--wa-pt)); height:calc(20.5 * var(--wa-pt))}

/* ---------- le fil ----------
   Tant qu'il tient dans l'écran, le fil part du haut, sous la barre : sa hauteur suit son contenu.
   Une fois plein, sa hauteur plafonne à l'écran et il reste ancré en bas : le message suivant pousse les autres sous la barre. */
.wa-fil{
  position:absolute; left:0; right:0; top:0; z-index:10;
  max-height:100%;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:calc(116 * var(--wa-pt)) 0 calc(88 * var(--wa-pt)) 0;
  overflow:hidden;
}
.wa-fil > *{flex-shrink:0}
.wa-puce{
  align-self:center; margin:0 0 calc(10 * var(--wa-pt));
  padding:calc(4.5 * var(--wa-pt)) calc(11 * var(--wa-pt)) calc(4.5 * var(--wa-pt)); border-radius:calc(100 * var(--wa-pt));
  background:rgba(255,255,255,.93);
  box-shadow:0 calc(0.75 * var(--wa-pt)) calc(0.5 * var(--wa-pt)) rgba(11,20,26,.10);
  font-size:calc(12.5 * var(--wa-pt)); font-weight:500; line-height:1.2; color:#54656F; letter-spacing:calc(-0.1 * var(--wa-pt));
}
.wa-systeme{
  align-self:center; margin:0 calc(26 * var(--wa-pt)) calc(12 * var(--wa-pt)); padding:calc(7 * var(--wa-pt)) calc(12 * var(--wa-pt)) calc(7.5 * var(--wa-pt)); border-radius:calc(12 * var(--wa-pt));
  background:#FDF3C9;
  box-shadow:0 calc(0.75 * var(--wa-pt)) calc(0.5 * var(--wa-pt)) rgba(11,20,26,.10);
  font-size:calc(12.5 * var(--wa-pt)); line-height:calc(16.5 * var(--wa-pt)); color:#54656F; text-align:center; letter-spacing:calc(-0.1 * var(--wa-pt));
}
.wa-systeme svg{display:inline-block; width:calc(8.5 * var(--wa-pt)); height:calc(10.5 * var(--wa-pt)); margin:0 calc(3 * var(--wa-pt)) calc(-0.8 * var(--wa-pt)) 0; vertical-align:baseline}

/* La largeur d'une bulle de texte est posée par le script « ajustement des bulles » : sa plus longue ligne, plus les marges. */
.wa-bulle{
  position:relative; z-index:0;
  max-width:calc(316 * var(--wa-pt));
  margin-top:calc(2 * var(--wa-pt));
  padding:calc(6.5 * var(--wa-pt)) calc(12 * var(--wa-pt)) calc(7 * var(--wa-pt));
  border-radius:calc(18 * var(--wa-pt));
  font-size:calc(17 * var(--wa-pt)); line-height:calc(22 * var(--wa-pt)); letter-spacing:calc(-0.35 * var(--wa-pt));
  color:var(--wa-texte);
  box-shadow:0 calc(0.75 * var(--wa-pt)) calc(0.5 * var(--wa-pt)) rgba(11,20,26,.13);
  overflow-wrap:break-word;
}
.wa-bulle--debut{margin-top:calc(9 * var(--wa-pt))}
.wa-bulle--sortant{align-self:flex-end; margin-right:calc(14 * var(--wa-pt)); margin-left:calc(60 * var(--wa-pt)); background:var(--wa-sortant)}
.wa-bulle--entrant{align-self:flex-start; margin-left:calc(14 * var(--wa-pt)); margin-right:calc(60 * var(--wa-pt)); background:var(--wa-entrant)}
/* la queue : seulement sur la dernière bulle d'un groupe (classe wa-queue) */
.wa-queue::before{
  content:""; position:absolute; z-index:-1; bottom:0; width:calc(24 * var(--wa-pt)); height:calc(20 * var(--wa-pt));
  background:inherit;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0H18V3C18 8.5 20.2 14 22.9 18.2C23.6 19.3 23.2 20.05 21.9 20.05C20 20 18.3 19.3 16.6 18C14.8 19.4 12 20 9 20H0Z' fill='%23000'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0H18V3C18 8.5 20.2 14 22.9 18.2C23.6 19.3 23.2 20.05 21.9 20.05C20 20 18.3 19.3 16.6 18C14.8 19.4 12 20 9 20H0Z' fill='%23000'/%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
}
.wa-bulle.wa-queue{box-shadow:none; filter:drop-shadow(0 calc(0.75 * var(--wa-pt)) calc(0.5 * var(--wa-pt)) rgba(11,20,26,.13))}
.wa-bulle--sortant.wa-queue::before{right:calc(-6 * var(--wa-pt))}
.wa-bulle--entrant.wa-queue::before{left:calc(-6 * var(--wa-pt)); transform:scaleX(-1)}

.wa-texte{display:inline}
.wa-cale{display:inline-block; width:calc(40 * var(--wa-pt)); height:1px}
.wa-bulle--sortant .wa-cale{width:calc(60 * var(--wa-pt))}
.wa-meta{
  position:absolute; right:calc(11 * var(--wa-pt)); bottom:calc(5.5 * var(--wa-pt));
  display:flex; align-items:center; gap:calc(3 * var(--wa-pt));
  font-size:calc(11 * var(--wa-pt)); line-height:1; letter-spacing:0; color:var(--wa-meta); white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.wa-bulle--sortant .wa-meta{color:rgba(17,27,33,.5)}
.wa-coches{width:calc(16.5 * var(--wa-pt)); height:calc(11 * var(--wa-pt)); color:var(--wa-coche); transition:color .35s ease}
.wa-lu .wa-coches{color:var(--wa-coche-lue)}

/* photo sortante : pas de cadre vert depuis juillet 2026, l'heure et les coches posées sur l'image */
.wa-photo{
  position:relative; align-self:flex-end;
  margin:calc(2 * var(--wa-pt)) calc(14 * var(--wa-pt)) 0 0;
  width:calc(198 * var(--wa-pt)); aspect-ratio:2 / 3;
  border-radius:calc(18 * var(--wa-pt)); overflow:hidden;
  background:#d8d2c8;
  box-shadow:0 calc(0.75 * var(--wa-pt)) calc(0.5 * var(--wa-pt)) rgba(11,20,26,.13);
}
.wa-photo img{display:block; width:100%; height:100%; object-fit:cover}
.wa-photo::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:30%;
  background:linear-gradient(0deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.16) 45%, rgba(0,0,0,0) 100%);
  pointer-events:none;
}
.wa-photo .wa-meta{z-index:1; right:calc(10 * var(--wa-pt)); bottom:calc(7 * var(--wa-pt)); color:#fff; text-shadow:0 0 calc(2 * var(--wa-pt)) rgba(0,0,0,.35)}
.wa-photo .wa-coches{color:#fff}
.wa-lu .wa-photo .wa-coches{color:var(--wa-coche-lue)}

/* bulle « en train d'écrire » : cachée, elle s'allume quand la barre du haut dit « écrit… » (ou avec la classe wa-ecrit sur le fil) */
.wa-frappe{display:none; align-items:center; gap:calc(4 * var(--wa-pt)); padding:calc(13 * var(--wa-pt)) calc(14 * var(--wa-pt)) calc(13 * var(--wa-pt)); margin-top:calc(9 * var(--wa-pt))}
.wa-iphone:has(.wa-statut[data-etat="ecrit"]) .wa-frappe,.wa-fil.wa-ecrit .wa-frappe{display:flex}
.wa-frappe i{display:block; width:calc(7.5 * var(--wa-pt)); height:calc(7.5 * var(--wa-pt)); border-radius:50%; background:#9AA6AE; animation:wa-point 1.2s ease-in-out infinite}
.wa-frappe i:nth-child(2){animation-delay:.18s}
.wa-frappe i:nth-child(3){animation-delay:.36s}
@keyframes wa-point{0%,60%,100%{opacity:.35; transform:translateY(0)} 30%{opacity:1; transform:translateY(calc(-2 * var(--wa-pt)))}}

/* ---------- barre de saisie flottante ---------- */
.wa-saisie{position:absolute; left:0; right:0; bottom:calc(30 * var(--wa-pt)); height:calc(46 * var(--wa-pt)); z-index:25; display:flex; align-items:center; gap:calc(8 * var(--wa-pt)); padding:0 calc(12 * var(--wa-pt))}
.wa-plus{flex:none; width:calc(46 * var(--wa-pt)); height:calc(46 * var(--wa-pt)); display:flex; align-items:center; justify-content:center; color:var(--wa-icone)}
.wa-plus svg{width:calc(22 * var(--wa-pt)); height:calc(22 * var(--wa-pt))}
.wa-champ{flex:1; min-width:0; height:calc(46 * var(--wa-pt)); display:flex; align-items:center; justify-content:flex-end; padding:0 calc(11 * var(--wa-pt)); color:var(--wa-icone)}
.wa-champ svg{width:calc(24 * var(--wa-pt)); height:calc(24 * var(--wa-pt))}
.wa-outils{flex:none; display:flex; align-items:center; height:calc(46 * var(--wa-pt)); padding:0 calc(4 * var(--wa-pt)); color:var(--wa-icone)}
.wa-outils span{display:flex; align-items:center; justify-content:center; width:calc(42 * var(--wa-pt)); height:calc(46 * var(--wa-pt))}
.wa-outils .wa-i-photo{width:calc(25 * var(--wa-pt)); height:calc(23 * var(--wa-pt))}
.wa-outils .wa-i-micro{width:calc(21 * var(--wa-pt)); height:calc(25 * var(--wa-pt))}

/* ---------- indicateur d'accueil ---------- */
.wa-accueil{position:absolute; z-index:32; left:50%; bottom:calc(8 * var(--wa-pt)); width:calc(136 * var(--wa-pt)); height:calc(5 * var(--wa-pt)); margin-left:calc(-68 * var(--wa-pt)); border-radius:calc(100 * var(--wa-pt)); background:#000}

@media (prefers-reduced-motion:reduce){
  .wa-frappe i{animation:none; opacity:.7}
  .wa-coches{transition:none}
}

/* ================================================================
   LES AUTRES PAGES — composants dérivés de ceux de l'accueil, mêmes jetons, mêmes gestes.
   Héros de page (le champ de l'appel final), texte long, sommaire, formulaires, grille d'avis, encart du concepteur.
   ================================================================ */
/* le héros de page : l'appel final retourné, le champ monte du bas */
.page-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;text-align:center;min-height:min(80svh,780px);padding:clamp(150px,20vh,210px) 0 clamp(96px,13vh,140px)}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(44% 54% at 50% 104%,rgba(var(--or-rvb),.17),transparent 70%),radial-gradient(34% 40% at 10% 14%,rgba(var(--aura-rvb),.16),transparent 70%),radial-gradient(30% 36% at 92% 30%,rgba(var(--sauge-rvb),.08),transparent 70%),var(--nuit)}
.page-hero__coeur{position:relative;display:flex;flex-direction:column;align-items:center;max-width:1000px;margin-inline:auto}
.page-hero h1{font-size:clamp(46px,6.2vw,96px);margin:0 auto 28px;text-shadow:0 2px 40px rgba(14,10,22,.8)}
.page-hero .lead{max-width:700px;margin:0 auto;text-shadow:0 1px 20px rgba(14,10,22,.9)}
.page-hero__ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:42px}
.page-hero__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:34px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fumee)}
.page-hero__meta span+span::before{content:"◇";margin-right:28px;color:var(--or)}
.ariane{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin:0 0 30px;padding:0;list-style:none;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fumee)}
.ariane li+li::before{content:"/";margin-right:12px;color:var(--or-profond)}
.ariane a{color:var(--brume);transition:color .3s}
.ariane a:hover{color:var(--or-clair)}
html.anime .page-hero .page-hero__coeur>*:not(h1){animation:entree 1.3s var(--ease) .35s backwards}
/* une section sombre, halo d'or venu du haut, comme les témoignages de l'accueil */
.section--halo{background:radial-gradient(45% 45% at 50% 0%,rgba(var(--or-rvb),.12),transparent 70%),var(--nuit)}
.section--aura{background:radial-gradient(50% 40% at 85% 12%,rgba(var(--or-rvb),.09),transparent 70%),radial-gradient(40% 40% at 5% 60%,rgba(var(--aura-rvb),.12),transparent 70%),var(--nuit)}
.section--serree{padding:clamp(72px,8vw,120px) 0}
.tete .lead{max-width:680px}
.tete--c h2,.tete--c .lead{margin-inline:auto}

/* le texte long : articles du journal, textes légaux, principes ; sur l'ivoire, comme les sections de lecture de l'accueil */
.prose{max-width:760px;margin-inline:auto;font-size:18px;line-height:1.8;color:var(--encre-2)}
.prose>*+*{margin-top:1.15em}
.prose h2{font-size:clamp(34px,3.6vw,50px);line-height:1.08;color:var(--encre);margin-top:2.1em;scroll-margin-top:110px}
.prose h3{font-size:clamp(25px,2.2vw,31px);font-weight:500;line-height:1.15;color:var(--encre);margin-top:1.8em;scroll-margin-top:110px}
.prose h2+*,.prose h3+*{margin-top:.8em}
.prose>h2:first-child,.prose>h3:first-child{margin-top:0}
.prose p,.prose li{color:var(--encre-2)}
.prose strong,.prose b{font-weight:500;color:var(--encre)}
.prose em{font-style:italic}
.prose a:not(.btn){color:var(--or-profond);border-bottom:1px solid rgba(var(--or-profond-rvb),.35);transition:color .3s,border-color .3s}
.prose a:not(.btn):hover{color:var(--encre);border-color:var(--or-profond)}
.prose ul,.prose ol{padding:0;list-style:none;display:grid;gap:10px}
.prose ul li{position:relative;padding-left:24px}
.prose ul li::before{content:"";position:absolute;left:2px;top:.66em;width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--or-profond)}
.prose ol{counter-reset:p}
.prose ol li{position:relative;padding-left:44px;counter-increment:p}
.prose ol li::before{content:counter(p,decimal-leading-zero);position:absolute;left:0;top:-.1em;font-family:var(--serif);font-style:italic;font-size:1.35em;background:var(--or-grad-encre);-webkit-background-clip:text;background-clip:text;color:transparent}
.prose blockquote{margin:1.6em 0;padding:6px 0 6px 30px;border-left:1px solid rgba(var(--or-profond-rvb),.45);font-family:var(--serif);font-style:italic;font-size:clamp(23px,2vw,28px);line-height:1.35;color:var(--encre)}
.prose .chapeau{font-family:var(--serif);font-size:clamp(23px,2vw,28px);line-height:1.45;color:var(--encre)}
.prose .encadre{padding:24px 26px;border-radius:20px;background:var(--ivoire-0);border:1px solid rgba(29,22,39,.08)}
.prose .encadre>*+*{margin-top:.8em}
.prose .avertissement{padding:16px 20px;border-left:2px solid var(--or-profond);background:rgba(var(--or-profond-rvb),.07);border-radius:0 12px 12px 0;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.5;color:var(--encre)}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px}
.prose th,.prose td{padding:12px 10px;border-bottom:1px solid var(--filet-encre);text-align:left;vertical-align:top}
.prose th{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or-profond)}
.prose hr{border:0;height:1px;background:var(--filet-encre);margin:2.4em 0}
/* le texte long sur la nuit */
.section:not(.light):not(.light-2) .prose,.section:not(.light):not(.light-2) .prose p,.section:not(.light):not(.light-2) .prose li{color:var(--brume)}
.section:not(.light):not(.light-2) .prose h2,.section:not(.light):not(.light-2) .prose h3,.section:not(.light):not(.light-2) .prose strong{color:var(--lune)}

/* un document avec son sommaire : la colonne de gauche reste collée, comme celle de la FAQ */
.doc__grille{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:start}
.doc__grille .prose{margin-inline:0}
.sommaire{position:sticky;top:120px}
.sommaire .eyebrow{margin-bottom:20px}
.sommaire ol{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--filet-encre)}
.sommaire li{border-bottom:1px solid var(--filet-encre)}
.sommaire a{display:flex;gap:14px;align-items:baseline;padding:13px 0;font-size:14.5px;line-height:1.4;color:var(--encre-2);transition:color .3s}
.sommaire a:hover,.sommaire a[aria-current=true]{color:var(--or-profond)}
.sommaire a span{flex:none;min-width:24px;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--or-profond)}
.version-fait-foi{margin:0 0 34px;padding:14px 18px;border-radius:14px;border:1px solid rgba(var(--or-profond-rvb),.3);background:rgba(var(--or-profond-rvb),.06);font-size:14.5px;color:var(--encre)}

/* les formulaires : sur l'ivoire, champs soulignés, étiquettes en capitales d'or */
.formulaire{display:grid;gap:28px}
.formulaire__deux{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.champ-f{display:grid;gap:10px}
.champ-f>label,.champ-f>legend,.champ-f .etiquette-f{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--or-profond)}
.champ-f .aide{font-size:13.5px;color:var(--encre-3)}
fieldset.champ-f{border:0;margin:0;padding:0;min-width:0}
fieldset.champ-f>legend{padding:0;margin-bottom:12px}
.champ-f input:not([type=radio]):not([type=checkbox]),.champ-f select,.champ-f textarea{width:100%;font:inherit;font-size:17px;color:var(--encre);background:transparent;border:0;border-bottom:1px solid rgba(29,22,39,.24);border-radius:0;padding:10px 0 12px;transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;appearance:none}
.champ-f select{background-image:linear-gradient(45deg,transparent 50%,var(--or-profond) 50%),linear-gradient(135deg,var(--or-profond) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
.champ-f textarea{min-height:150px;resize:vertical;border:1px solid rgba(29,22,39,.2);border-radius:18px;padding:16px 18px;line-height:1.6}
.champ-f input:focus,.champ-f select:focus,.champ-f textarea:focus{outline:none;border-color:var(--or-profond);box-shadow:0 1px 0 var(--or-profond)}
.champ-f textarea:focus{box-shadow:0 0 0 1px var(--or-profond)}
.champ-f ::placeholder{color:var(--encre-3);opacity:.8}
.choix{display:flex;flex-wrap:wrap;gap:10px}
.choix label{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid rgba(29,22,39,.2);font-size:13px;letter-spacing:.06em;color:var(--encre-2);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.choix input{position:absolute;opacity:0;width:1px;height:1px}
.choix label:has(input:checked){background:var(--encre);border-color:var(--encre);color:var(--ivoire)}
.choix label:has(input:focus-visible){outline:2px solid var(--or-profond);outline-offset:3px}
.note-choix{display:inline-flex;flex-direction:row-reverse;gap:4px}
.note-choix input{position:absolute;opacity:0;width:1px;height:1px}
.note-choix label{font-size:34px;line-height:1;color:rgba(29,22,39,.18);cursor:pointer;transition:color .2s,transform .3s var(--ease)}
.note-choix label:hover,.note-choix label:hover~label,.note-choix input:checked~label{color:var(--or)}
.note-choix label:hover{transform:scale(1.12)}
.note-choix input:focus-visible+label{outline:2px solid var(--or-profond);outline-offset:3px;border-radius:4px}
.case{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;line-height:1.55;color:var(--encre-2);cursor:pointer}
.case input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--or-profond)}
.formulaire__envoi{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px}
.formulaire__envoi small{font-size:13px;color:var(--encre-3)}
.etat-f{padding:18px 22px;border-radius:16px;font-size:15.5px;line-height:1.55}
.etat-f--ok{background:rgba(var(--sauge-rvb),.16);border:1px solid rgba(var(--sauge-rvb),.5);color:var(--encre)}
.etat-f--erreur{background:rgba(184,80,63,.08);border:1px solid rgba(184,80,63,.35);color:var(--encre)}
.cache-bot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
/* le formulaire posé dans une carte d'ivoire, sur la nuit */
.feuille{max-width:820px;margin-inline:auto;padding:clamp(28px,5vw,60px);border-radius:32px;background:var(--ivoire);color:var(--encre);box-shadow:0 50px 100px -50px rgba(0,0,0,.7)}
.feuille .eyebrow{color:var(--or-profond)}
.feuille h2 em{background:var(--or-grad-encre);-webkit-background-clip:text;background-clip:text}
.feuille .lead,.feuille p{color:var(--encre-2)}

/* les témoignages en grille : la carte d'avis de l'accueil, posée en colonnes */
.avis-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:22px;align-items:start}
.avis-grille .avis{width:auto}
.avis__reponse{margin-top:4px;padding:14px 16px;border-radius:16px;background:rgba(var(--or-rvb),.07);border:1px solid rgba(var(--or-rvb),.16);font-size:14px;line-height:1.55;color:var(--brume)}
.avis__reponse b{display:block;margin-bottom:4px;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.avis-attente{padding:40px 0;text-align:center;color:var(--brume)}

/* l'encart du concepteur (page Partenaires) : la carte « Séance Complète » de l'accueil, sur l'ivoire */
.conception{background:var(--ivoire-2)}
.conception .offre{box-shadow:0 60px 110px -60px rgba(29,22,39,.85)}
.conception .offre h2{font-size:clamp(38px,3.6vw,56px);margin-bottom:20px;color:var(--lune)}
.conception .offre p{color:var(--brume)}
.conception .pied{justify-content:flex-start}
.conception .pied .btn{flex:none}
.conception__adresse{margin-top:18px!important;font-size:13.5px!important;letter-spacing:.04em;color:var(--fumee)!important}
.conception__adresse a{color:var(--or-clair);border-bottom:1px solid var(--filet-fort)}
.conception .arche{min-height:520px}
.conception__langues{margin-top:6px!important;font-size:12.5px!important;color:var(--fumee)!important}

@media (max-width:980px){
  .doc__grille{grid-template-columns:1fr}
  .sommaire{position:static}
  .formulaire__deux{grid-template-columns:1fr}
  .conception .arche{min-height:0}
}
@media (max-width:640px){
  .page-hero{min-height:0;padding:128px 0 84px}
  .page-hero h1{font-size:clamp(40px,11.4vw,58px)}
  .page-hero__ctas{flex-direction:column;align-items:stretch;width:100%}
  .page-hero__meta span+span::before{margin-right:14px}
  .page-hero__meta{gap:8px 14px}
  .prose{font-size:17px}
  .conception .pied .btn{flex:1 1 100%}
}
/* les partenaires : la carte des soins de l'accueil, son numéro devenu logo */
.partenaires-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),520px));justify-content:center;gap:28px}
.carte h3{font-size:36px;margin-bottom:8px}
/* le visuel du partenaire garde son format paysage : l'arche s'abaisse, le logo se pose juste dessous, sans couvrir le texte du visuel */
.carte--partenaire .arche{aspect-ratio:900/507;border-radius:40% 40% 18px 18px/26% 26% 18px 18px}
.carte__logo{position:relative;z-index:2;align-self:center;display:grid;place-items:center;width:76px;height:76px;margin:-8px 0 18px;border-radius:50%;background:rgba(246,240,229,.96);border:1px solid rgba(246,232,199,.7);box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.carte__logo img{width:56px;height:56px;object-fit:contain}
.carte__lieu{margin-top:16px!important;display:flex;gap:10px;align-items:baseline;font-size:13px!important;letter-spacing:.06em;color:var(--or-pale)!important}
.carte__lieu::before{content:"◇";color:var(--or)}
.carte--partenaire .pied{border-top:1px solid var(--filet)}
.carte--partenaire .lien{white-space:normal;line-height:1.5}
.echange__criteres{max-width:760px;margin:0 auto;grid-template-columns:1fr;font-size:16px;gap:14px}
.echange__actions{display:flex;justify-content:center;margin-top:44px}
@media (max-width:640px){.echange__actions .btn{width:100%;white-space:normal;height:auto;min-height:56px;padding:14px 24px;text-align:center}}


/* Ciro AM — ajouts de l'agent B (Témoignages, Partager mon expérience, Merci), à intégrer à ciro.css.
   Aucune couleur hors des jetons : tout dérive des composants de l'accueil et de « LES AUTRES PAGES ». */

/* ---------- Témoignages : la grille ---------- */
/* un héros de page suivi d'une section de nuit : le bas du héros (sa lueur et son champ) se fond dans la nuit,
   et le halo d'or de la section naît plus bas, sans couture entre les deux */
.page-hero:has(+.section--halo)::after{content:"";position:absolute;inset:auto 0 0;height:150px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(var(--nuit-rvb),0),var(--nuit))}
.page-hero+.section--halo{background:linear-gradient(var(--nuit),rgba(var(--nuit-rvb),0) 220px),radial-gradient(50% 520px at 50% 270px,rgba(var(--or-rvb),.1),transparent 70%),var(--nuit)}
/* un composant qui fixe son display perd l'attribut hidden : on le lui rend */
.note-globale[hidden],.filtres-avis[hidden]{display:none}
/* les filtres : les boutons fantômes de l'accueil, celui qui est choisi passe à l'or */
.filtres-avis{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 clamp(40px,4.5vw,64px)}
.avis-grille .avis-attente{grid-column:1/-1}
/* les avis par lots de 12 : le bouton « Afficher plus » sous la grille */
.avis-plus{display:flex;justify-content:center;margin-top:clamp(40px,4.5vw,64px)}
.avis-plus[hidden]{display:none}
@media (max-width:640px){.avis-plus .btn{width:100%;white-space:normal;height:auto;min-height:56px;padding:14px 24px;text-align:center;line-height:1.4}}
.avis-grille .avis:focus{outline:none}
.avis-grille .avis:focus-visible{outline:2px solid var(--or-clair);outline-offset:4px}
.avis-vide h3{font-size:clamp(30px,3vw,42px);margin-bottom:18px;color:var(--lune)}
.avis-vide p{max-width:480px;margin-inline:auto;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.6;color:var(--brume)}
/* la carte d'avis : le texte replié sur cinq lignes, déplié avec ses paragraphes */
.avis .etoiles .eteinte{opacity:.25;margin:0}
.avis:not(.est-ouvert) .avis__texte{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}
.avis.est-ouvert .avis__texte{white-space:pre-line}
.avis__suite{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.avis__suite .lien{padding-top:0;cursor:pointer}
.avis__repondu{font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.avis.est-ouvert .avis__repondu{display:none}
.avis__reponse{white-space:pre-line}
/* dès deux colonnes, les cartes repliées ont toutes la même hauteur (cinq lignes, deux lignes de lieu) : les rangées s'alignent
   comme celles de l'accueil, et une carte dépliée grandit seule, sans étirer ses voisines */
@media (min-width:720px){
  .avis:not(.est-ouvert) .avis__texte{min-height:7em}
  .avis-grille .avis figcaption small{min-height:3em}
}
html.anime .avis-grille .avis{animation:monte 1s var(--ease) backwards;animation-delay:calc(var(--i,0) * 45ms)}

/* ---------- Témoignages : l'appel à témoigner, sur l'ivoire ---------- */
.tete--fin{margin-bottom:0}
.light .assurances{color:var(--encre-2)}
.light .assurances li::before{color:var(--or-profond)}
.tete .assurances{margin-top:6px}

/* ---------- Partager mon expérience : le formulaire sur sa feuille ---------- */
.feuille .formulaire{gap:34px}
.champ-f .requis{color:var(--or-profond)}
.note-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.note-ligne__texte{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--encre-2)}
.choix--soins label{text-align:left;line-height:1.4}
.cases{display:grid;gap:14px}
.feuille__note{padding-top:24px;border-top:1px solid var(--filet-encre);font-size:14px!important;line-height:1.6;color:var(--encre-3)!important}
.feuille__note strong{font-weight:500;color:var(--encre)}
.etat-f a{color:var(--or-profond);border-bottom:1px solid rgba(var(--or-profond-rvb),.35)}
/* l'état « merci », qui remplace le formulaire une fois l'envoi fait */
.merci-f{display:grid;justify-items:center;gap:20px;text-align:center;padding:clamp(8px,2vw,24px) 0}
.merci-f[hidden],.formulaire[hidden]{display:none}
.merci-f h2{font-size:clamp(40px,4.6vw,64px);color:var(--encre)}
.merci-f .lead{max-width:560px}
.merci-f__accroche{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,27px);color:var(--encre)!important}

/* ---------- Merci : la page tient dans son seul héros, qui occupe tout l'écran ---------- */
.page-hero--seul{min-height:100svh}

/* ---------- le sceau : l'emblème posé au-dessus d'un merci ---------- */
.sceau{width:92px;height:92px;margin:0 auto 30px;filter:drop-shadow(0 12px 30px rgba(var(--or-rvb),.35))}
.merci-f .sceau{width:76px;height:76px;margin-bottom:4px}

@media (max-width:640px){
  .page-hero--seul{min-height:100svh;padding-top:112px}
  .sceau{width:76px;height:76px;margin-bottom:24px}
  .filtres-avis{justify-content:flex-start}
  .feuille{border-radius:24px}
  .formulaire__envoi .btn{width:100%}
}


/* Ciro AM — ajouts de l'agent C (Eden Concept Entreprise, Mentions légales, 404), à intégrer au CSS partagé.
   Uniquement des règles dérivées des jetons et des composants de l'accueil : aucune couleur hors des jetons, aucune police nouvelle. */

/* ---------- EDEN : le concept, sur l'image de la section Eden de l'accueil ---------- */
.eden--concept .eden__grille{align-items:center}
.eden__texte>p:not(.eyebrow):not(.lead){max-width:560px;margin-top:18px;font-size:16px;line-height:1.75;color:var(--brume)}
.eden__texte>p strong{font-weight:500;color:var(--lune)}
.eden__texte .lead{margin-top:0}
.eden--concept .temps{margin:40px 0 0}
.eden--concept .verre dl{margin-top:0}

/* le déroulé : la grille de la FAQ de l'accueil, la colonne de gauche reste collée ; les étapes du bilan à droite */
.deroule__grille{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,100px);align-items:start}
.deroule__gauche{position:sticky;top:120px}
.deroule__gauche h2{margin-bottom:40px}
.deroule .etapes{margin:0}

/* le devis : la feuille d'ivoire sur la nuit */
.devis .feuille .tete{margin-bottom:clamp(40px,5vw,60px)}
.devis .feuille h2{color:var(--encre)}
.champ-f .req{color:var(--or-profond);margin-left:2px}
.formulaire__envoi .formulaire__legal{flex:1 1 280px;line-height:1.6}
.formulaire__legal a{color:var(--or-profond);border-bottom:1px solid rgba(var(--or-profond-rvb),.35)}
.etat-f a{color:var(--or-profond);border-bottom:1px solid rgba(var(--or-profond-rvb),.35)}

@media (max-width:980px){
  .deroule__grille{grid-template-columns:1fr}
  .deroule__gauche{position:static}
}
@media (max-width:640px){
  .formulaire__envoi .btn{width:100%}
}

/* ---------- MENTIONS LÉGALES : le document, sommaire à gauche, texte à droite ---------- */
.doc .prose h2{font-size:clamp(32px,3vw,44px)}
.doc .prose h3{font-size:clamp(23px,1.9vw,27px)}
/* la fiche d'identité (éditeur, hébergeur) : la liste de définitions du verre d'Eden, posée sur l'ivoire */
.prose .fiche{margin-top:1.2em;padding:6px 26px;border-radius:20px;background:var(--ivoire-0);border:1px solid var(--filet-encre)}
.fiche>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:4px 24px;padding:16px 0;border-top:1px solid var(--filet-encre)}
.fiche>div:first-child{border-top:0}
.fiche dt{font-size:11px;font-weight:500;letter-spacing:.2em;line-height:1.6;text-transform:uppercase;color:var(--or-profond);padding-top:4px}
.fiche dd{margin:0;font-size:16.5px;line-height:1.6;color:var(--encre)}
/* un champ encore à remplir par Axel : signalé, jamais caché */
.a-completer{display:inline-block;padding:2px 10px;border-radius:8px;border:1px dashed rgba(var(--or-profond-rvb),.6);background:rgba(var(--or-profond-rvb),.08);font-size:14px;line-height:1.5;color:var(--or-profond)}
.prose code{padding:1px 7px;border-radius:6px;background:rgba(var(--encre-rvb),.06);font-family:var(--sans);font-size:.88em;letter-spacing:.02em;color:var(--encre)}
.prose li>ul{margin-top:10px}
.prose .avertissement strong{font-weight:500}
.doc__maj{margin-top:3.4em!important;padding-top:28px;border-top:1px solid var(--filet-encre);text-align:center;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--encre-3)}
@media (max-width:980px){
  .doc .sommaire ol{grid-template-columns:1fr 1fr;column-gap:28px}
}
@media (max-width:640px){
  .doc .sommaire ol{grid-template-columns:1fr}
  .prose .fiche{padding:4px 18px}
  .fiche>div{grid-template-columns:1fr}
}

/* ---------- 404 : quatre repères, la rangée des engagements de l'accueil dont chaque colonne est un lien ---------- */
.pistes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(var(--encre-rvb),.14);border-bottom:1px solid rgba(var(--encre-rvb),.14)}
.pistes li+li{border-left:1px solid rgba(var(--encre-rvb),.14)}
.piste{display:flex;flex-direction:column;height:100%;padding:34px 28px 30px;transition:background .5s var(--ease)}
.piste svg{width:40px;height:40px;color:var(--or-profond);margin-bottom:22px}
.piste h3{font-size:26px;font-weight:500;margin-bottom:10px;color:var(--encre)}
.piste p{font-size:15px;line-height:1.6;color:var(--encre-2)}
.piste__fleche{margin-top:auto;padding-top:22px;font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--or-profond);transition:color .3s}
.piste:hover{background:rgba(var(--or-profond-rvb),.06)}
.piste:hover .piste__fleche{color:var(--encre)}
@media (max-width:1180px){
  .pistes{grid-template-columns:repeat(2,1fr)}
  .pistes li:nth-child(3){border-left:0}
  .pistes li:nth-child(n+3){border-top:1px solid rgba(var(--encre-rvb),.14)}
}
@media (max-width:640px){
  .pistes{grid-template-columns:1fr}
  .pistes li+li{border-left:0;border-top:1px solid rgba(var(--encre-rvb),.14)}
  .piste{padding:28px 0 24px}
}
/* sur téléphone, un bouton du héros dont le libellé est long passe sur deux lignes au lieu de sortir de la colonne */
@media (max-width:640px){
  .page-hero__ctas .btn{white-space:normal;height:auto;min-height:56px;padding:14px 24px;text-align:center;line-height:1.4}
}


/* ================================================================
   AJOUTS D — le journal : son sommaire (/blog) et ses pages d'article (/blog/…).
   Règles dérivées des jetons et composants de ciro.css, à intégrer à sa partie « LES AUTRES PAGES ».
   ================================================================ */

/* le sommaire : les cartes du journal de l'accueil, trois de front au lieu de quatre */
.articles--trois{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px;margin-inline:auto}
@media (max-width:900px){.articles--trois{grid-template-columns:minmax(0,1fr);max-width:540px}}

/* le héros d'un article : son titre est une phrase entière, il descend d'un cran */
.page-hero--article h1{font-size:clamp(40px,4.7vw,74px);line-height:1.04;max-width:980px}
.page-hero--article .lead{max-width:760px}
.page-hero .ariane{margin-bottom:30px}

/* le corps de l'article, sur l'ivoire : l'encadré porte son sur-titre, la FAQ reprend celle de l'accueil à la taille du texte */
.prose .encadre .eyebrow{margin:0 0 4px;font-size:10.5px}
.prose .encadre p:not(.eyebrow){font-size:16.5px;line-height:1.7}
.prose .questions{margin-top:1.3em}
.prose .temoin{margin:1.6em 0}
.prose .temoin blockquote{margin:0}
.prose .temoin figcaption{margin-top:.7em;padding-left:31px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--or-profond)}
.prose .questions summary{font-size:clamp(21px,1.7vw,25px);padding:22px 0}
.prose .questions details p{font-size:16.5px;padding-right:56px}
.prose .lettrine::first-letter{font-size:84px}

/* les titres longs se répartissent en lignes égales : aucun mot seul en fin de titre (l'italien, plus long, en a besoin) */
.page-hero--article h1,.prose h2,.final h2{text-wrap:balance}

/* l'appel de fin d'article : la consigne du bilan (celle de l'accueil) posée sur la nuit */
.final .consigne{max-width:560px;margin:34px auto 0;color:var(--brume)}
.final .consigne em{background:var(--or-grad);-webkit-background-clip:text;background-clip:text}

@media (max-width:640px){
  .page-hero--article h1{font-size:clamp(34px,9.4vw,46px)}
  .prose .questions details p{padding-right:0}
}
