
:root{--ink:#000;--paper:#fafafa;--red:#ee4848;--red-button:#c52a30;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--width:1080px}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font:1rem/1.75 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,audio:focus-visible{outline:3px solid var(--red);outline-offset:5px}::selection{color:#fff;background:#b8232a}.skip{position:absolute;top:-100px;left:20px;z-index:5;padding:12px;background:#fff;color:#000}.skip:focus{top:20px}h1,h2,h3,p{margin-top:0}
.site-header{display:grid;justify-items:center;padding:28px 20px 0;text-align:center}.wordmark{display:inline-block;font-size:1.95rem;font-weight:650;letter-spacing:-.07em;line-height:1.1}.wordmark span{color:var(--red);font-weight:450}.social-inline{display:flex;justify-content:center;align-items:center;gap:12px;width:max-content;margin:14px auto 0}.social-inline a,.social-disabled{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;transition:background .2s,transform .2s}.social-inline a:hover{background:#222;transform:translateY(-2px)}.social-inline img{display:block;width:21px;height:21px;filter:invert(1)}.social-disabled{opacity:.6}
.hero,.horizon,.exchange,.testimonials{max-width:var(--width);width:calc(100% - 64px);margin-left:auto;margin-right:auto}.hero{padding:14px 0 28px;text-align:center}.hero-copy{max-width:760px;margin:auto}h1{font-size:clamp(2.5rem,4.5vw,3.5rem);line-height:1.15;font-weight:600;letter-spacing:-.045em;margin-bottom:20px}h1 span{color:var(--red)}h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3;font-weight:550;letter-spacing:-.035em}.hero-intro{max-width:590px;margin:0 auto;color:#c6c6c6;font-size:1rem;line-height:1.85}.eyebrow{font-size:.875rem;letter-spacing:.09em;text-transform:uppercase;font-weight:550;margin:0 0 7px;color:#aaa}.hero-topics{display:inline-block;font-size:.75rem;letter-spacing:.11em;margin-bottom:18px;padding:6px 13px;border:1px solid var(--red);border-radius:4px;color:#fff;line-height:1.5}
.horizon{margin-top:0;margin-bottom:30px;position:relative;isolation:isolate;overflow:hidden;border-radius:3px;background:#222;perspective:900px}.horizon img{display:block;width:100%;height:245px;object-fit:cover;object-position:50% 50%;transform:scale(1.045)}.horizon-scene{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .7s cubic-bezier(.2,.65,.3,1)}.horizon::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0007,#0004 55%,#0002);box-shadow:inset 0 0 70px #0003}.horizon-caption{position:absolute;inset:0;z-index:1;display:grid;place-content:center;padding:20px;text-align:center;pointer-events:none;transform:translate3d(var(--text-x,0px),var(--text-y,0px),24px);transition:transform .8s cubic-bezier(.2,.65,.3,1)}.horizon-caption span{font:italic clamp(1.5rem,3vw,2.25rem)/1.3 Georgia,"Times New Roman",serif;letter-spacing:-.025em;color:#fff;text-shadow:0 2px 22px #0009}.horizon-caption::after{content:"";width:28px;height:2px;margin:12px auto 0;background:var(--red)}
.about{background:var(--paper);color:var(--ink);padding:42px 32px}.about-main{max-width:940px;margin:auto;display:grid;grid-template-columns:240px minmax(0,1fr);gap:62px;align-items:start}.about-heading{border-left:2px solid var(--red);padding-left:20px}.about-heading .eyebrow{color:#666;font-size:.75rem;letter-spacing:.1em;margin-bottom:14px}.about h2{text-align:left;font-size:clamp(1.8rem,2.6vw,2.15rem);margin-bottom:0}.about-text p{color:#464646;font-size:1rem;line-height:1.8;margin-bottom:14px}.about-text p:last-child{margin-bottom:0}
.exchange{padding:38px 0}.exchange-heading{max-width:630px;margin:0 auto 26px;text-align:center}.exchange-heading .eyebrow{font-size:.75rem}.exchange h2{margin-bottom:14px}.exchange-heading>p:not(.eyebrow){color:#bbb;margin:0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.steps article{border-top:1px solid #484848;padding-top:14px}.step-number{color:var(--red);font-size:.8rem}.steps h3{font-size:1.1rem;line-height:1.4;font-weight:550;margin:9px 0 10px}.steps p{font-size:.95rem;line-height:1.75;color:#bbb;margin:0}.commitment p{margin:0 0 10px}.commitment p:last-child{margin-bottom:0}.commitment{margin:24px 0 0;padding:0 0 0 14px;border-left:2px solid var(--red);color:#aaa;font-size:.9rem;line-height:1.7;max-width:740px}
.contact{padding:34px 24px 40px;background:var(--paper);color:var(--ink);text-align:center}.contact h2{margin-bottom:10px;font-size:clamp(1.8rem,3vw,2.6rem)}.contact>p{color:#555;margin-bottom:20px;font-size:1rem}.button{min-height:50px;padding:13px 21px;border:1px solid transparent;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:550;line-height:1.4;transition:background .18s,transform .18s,box-shadow .18s}.button-red{background:var(--red-button);color:#fff}@media(hover:hover) and (pointer:fine){.button-red:hover{background:#ac2028;transform:translateY(-2px);box-shadow:0 5px 18px #0002}}
.testimonials{padding:30px 0 0}.testimonials-heading{text-align:center;margin-bottom:14px}.testimonials-heading h2{font-size:1.35rem;margin-bottom:0}.testimonials-heading .eyebrow{font-size:.875rem;letter-spacing:.06em;color:#999}.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.testimonial-card{min-width:0;background:#191919;border:1px solid #333;border-radius:7px;padding:15px;text-align:left}.testimonial-card blockquote{margin:0 0 12px;color:#ddd;font-size:.95rem;line-height:1.6}.testimonial-person{font-size:.875rem;color:#aaa;margin:10px 0 0}.testimonial-card audio{display:block;width:100%;height:36px;margin-top:10px;accent-color:var(--red)}.testimonial-capture{display:block;width:100%;padding:0;border:0;background:#222;overflow:hidden;border-radius:4px}.testimonial-capture img{display:block;width:100%;height:140px;object-fit:cover;object-position:top}.testimonial-capture:focus-visible{outline-offset:3px}.testimonial-title{font-size:.95rem;font-weight:500;margin:0 0 10px;line-height:1.5}.testimonials-more{margin-top:12px}.testimonials-more summary{cursor:pointer;color:#bbb;font-size:.875rem;text-align:center;padding:6px}.testimonials-more .testimonials-grid{margin-top:12px}.message-viewer{border:1px solid #333;background:#171717;color:#eee;border-radius:8px;padding:48px 20px 20px;width:min(620px,calc(100vw - 28px));max-height:90dvh;overflow:auto}.message-viewer::backdrop{background:#000c}.message-viewer img{display:block;max-width:100%;height:auto;margin:auto}.message-viewer p{font-size:.875rem;text-align:center;margin:12px 0 0}.viewer-close{position:absolute;right:10px;top:8px;display:grid;place-content:center;width:40px;height:40px;font-size:1.8rem;background:transparent;color:#fff;border:0;border-radius:4px}.viewer-close:hover{background:#333}

.hero-copy{animation:hero-entry .65s cubic-bezier(.2,.65,.3,1) both}.motion-ready [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.65,.3,1)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}.motion-ready .horizon.is-visible .horizon-caption span{animation:horizon-phrase 1.2s cubic-bezier(.2,.65,.3,1) both}@keyframes hero-entry{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes horizon-phrase{from{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(max-width:700px){.hero,.horizon,.exchange,.testimonials{width:calc(100% - 40px)}.site-header{padding-top:24px}.hero{padding-top:14px}.hero-topics{font-size:.7rem;letter-spacing:.055em}.horizon img{height:190px}.about{padding:30px 20px}.about-main{grid-template-columns:1fr;gap:20px}.about-heading h2{font-size:1.8rem}.about-heading h2 br{display:none}.about-heading .eyebrow{margin-bottom:8px}.steps{gap:18px}.exchange{padding:30px 0}.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{padding:30px 20px 34px}}
@media(max-width:500px){h1{font-size:clamp(2rem,8.4vw,2.5rem)}.hero-intro{line-height:1.8}.steps{grid-template-columns:1fr;gap:20px}.steps article{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px}.steps .step-number{grid-row:1 / 3;padding-top:2px}.steps h3{margin:0 0 8px}.steps p{grid-column:2}.testimonials-grid{grid-template-columns:1fr}.testimonial-card{padding:13px}.testimonial-capture img{height:110px}.testimonials-heading{margin-bottom:10px}.testimonials{padding-top:24px;padding-bottom:0}.horizon img{height:180px}.contact>p{max-width:280px;margin-left:auto;margin-right:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.motion-ready .horizon.is-visible .horizon-caption span{animation:none}.button,.social-inline a,.motion-ready [data-reveal],.horizon-scene,.horizon-caption{transition:none}.button:hover,.social-inline a:hover,.horizon img,.motion-ready [data-reveal],.horizon-scene,.horizon-caption{transform:none}.motion-ready [data-reveal]{opacity:1}}

.openness-note{margin:22px 0;padding:18px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.openness-note .openness-title{font-size:1.07rem;font-weight:600;line-height:1.5;color:var(--ink);margin-bottom:10px}.openness-note p:last-child{margin-bottom:0}

.exchange-heading .exchange-openness{margin:16px 0 0;font-size:.9rem;line-height:1.75;color:#aaa}
.testimonials-teaser{max-width:540px;margin:14px auto 0;padding:13px 18px;text-align:center;border:1px solid #292929;border-radius:3px;background:#000;color:#f5f5f5;font-size:.82rem;line-height:1.6}.testimonials-teaser[hidden]{display:none}.testimonials-teaser>span:last-child{color:#aaa;font-size:.78rem}.teaser-dot{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;margin:0 9px 2px 0;box-shadow:0 0 12px #ee484833}

/* Pure black on dark sections; consistent, restrained section typography. */
body{background:#000}
.testimonial-card{background:#000;border-color:#292929}
.testimonials-heading h2,.exchange-heading h2,.about h2,.contact h2{font-size:clamp(1.45rem,2.1vw,1.75rem);line-height:1.32;font-weight:600;letter-spacing:-.035em}
.testimonials-heading .eyebrow,.exchange-heading .eyebrow,.about-heading .eyebrow{font-size:.72rem;letter-spacing:.1em}
.exchange-heading>p:not(.eyebrow),.steps p,.commitment,.hero-intro{color:#d0d0d0}
.testimonials-teaser{background:#000;color:#fff}
.testimonials::before,.exchange::before,.exchange::after{display:none}

/* Balanced reading and a broader desktop composition. */
h1,h2,h3,.eyebrow{text-wrap:balance}
p,blockquote{text-wrap:pretty}
.hero-intro,.exchange-heading>p,.contact>p,.testimonials-teaser{text-wrap:balance}
.hero-intro{max-width:680px}
.exchange-heading{max-width:700px}
.contact>p{max-width:560px;margin-left:auto;margin-right:auto}
.hero{position:relative;isolation:isolate}
@media(min-width:1000px){
 :root{--width:1240px}
 .site-header{padding-top:22px}
 .hero{padding-top:12px;padding-bottom:26px}
 .hero-copy{max-width:860px}
 .about-main{max-width:1100px;grid-template-columns:270px minmax(0,1fr);gap:70px}
 .about-text{max-width:760px}
 .steps{gap:34px}
 .horizon img{height:275px}
}
@media(prefers-reduced-motion:no-preference){
 .horizon img{animation:horizon-breath 4.6s ease-out both}
}
@keyframes horizon-breath{from{transform:scale(1.075)}to{transform:scale(1.045)}}

/* Keep the invitation and openness note visually distinct. */
.exchange-heading{max-width:580px;margin-bottom:32px}
.exchange-heading h2{margin-bottom:18px}
.exchange-heading>p:not(.eyebrow){max-width:540px;margin-left:auto;margin-right:auto;font-size:1rem;line-height:1.7}
.exchange-heading>p.exchange-openness{max-width:430px;margin:22px auto 0;padding-top:18px;border-top:1px solid #333;color:#999;font-size:.875rem;line-height:1.65;text-wrap:balance}
@media(max-width:500px){.exchange-heading>p.exchange-openness{max-width:32ch;margin-top:20px;padding-top:16px}}

/* Red corners frame the landscape without covering the photograph. */
h1 span{color:var(--red)}
.horizon{overflow:visible;background:transparent;margin-top:8px;margin-bottom:42px}
.horizon-scene{overflow:hidden;border-radius:3px}
.horizon::after{border-radius:3px}
.horizon-corner{position:absolute;z-index:3;width:clamp(38px,6vw,76px);height:clamp(24px,3vw,38px);pointer-events:none;border-color:var(--red);border-style:solid;border-width:0}
.horizon-corner-start{top:-8px;left:-8px;border-top-width:1px;border-left-width:1px}
.horizon-corner-end{bottom:-8px;right:-8px;border-bottom-width:1px;border-right-width:1px}
.testimonials,.exchange{position:relative}
.testimonials::before{content:"";display:block;width:36px;height:1px;background:var(--red);margin:0 auto 20px;opacity:.6}
.exchange::before,.exchange::after{content:"";position:absolute;width:1px;height:72px;top:40px;background:linear-gradient(transparent,#ee484844,transparent);pointer-events:none}
.exchange::before{left:0}.exchange::after{right:0}
@media(max-width:700px){.horizon{margin-bottom:36px}.horizon-corner-start{top:-6px;left:-6px}.horizon-corner-end{bottom:-6px;right:-6px}.exchange::before,.exchange::after{height:40px;opacity:.55}}
@media(prefers-reduced-motion:no-preference){.motion-ready .horizon.is-visible .horizon-corner{animation:corner-entry .9s ease-out both}.motion-ready .horizon.is-visible .horizon-corner-end{animation-delay:.15s}}
@keyframes corner-entry{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}

/* Fine, fading accents echo the red title. */
.horizon-corner{border:0;width:clamp(32px,4vw,52px);height:clamp(18px,2vw,26px);background-repeat:no-repeat}
.horizon-corner-start{background-image:linear-gradient(to right,#ee48485c,transparent),linear-gradient(to bottom,#ee48485c,transparent);background-size:100% 1px,1px 100%;background-position:left top}
.horizon-corner-end{background-image:linear-gradient(to left,#ee48485c,transparent),linear-gradient(to top,#ee48485c,transparent);background-size:100% 1px,1px 100%;background-position:right bottom}

.inner-work{margin:24px 0;padding:20px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.inner-work h3{font-size:1.15rem;line-height:1.45;font-weight:600;letter-spacing:-.02em;margin-bottom:14px}.inner-work p:last-child{margin-bottom:0}

.wordmark .site-signature{display:block;width:165px;height:auto;margin:0 auto}.wordmark{line-height:0}

.conversation-note{max-width:740px;margin:0 auto 28px;padding:18px 22px;border:1px solid #292929;border-radius:4px;background:#000;text-align:left}
.conversation-note h3{margin:0 0 9px;font-size:.95rem;line-height:1.4;font-weight:550;letter-spacing:-.015em;color:#fff}
.conversation-note p{margin:0;font-size:.9rem;line-height:1.7;color:#d0d0d0}
.conversation-note p.conversation-note-detail{margin-top:10px;font-size:.83rem;line-height:1.65;color:#aaa}
.testimonials::before,.exchange::before,.exchange::after{display:none}
@media(max-width:500px){.conversation-note{padding:16px 18px;margin-bottom:24px}}

/* Présentation compacte, alternance noir/blanc et portraits. */
.story-section{padding:40px 32px;background:#fff}
.story-section .about-heading{border:0;padding-left:0}
.story-section .about-text p{color:#333}
.story-portrait{margin:22px 0 0}
.story-portrait img{display:block;width:92px;height:92px;object-fit:cover;border-radius:50%;border:1px solid var(--red);transition:transform .4s ease}
.story-portrait figcaption{font-size:.875rem;line-height:1.5;color:#666;margin-top:8px}
.inner-story{background:#000;color:#fff;padding-top:38px;padding-bottom:18px}
.inner-story .about-heading .eyebrow{color:#aaa}
.inner-story .about-text p{color:#d0d0d0}
.contact{background:#fff}
.contact-portrait{display:block;width:108px;height:108px;object-fit:cover;border-radius:50%;margin:0 auto 20px;transition:transform .4s ease}
.conversation-note p{font-size:1rem}
.conversation-note p.conversation-note-detail{font-size:.9rem}
.testimonials-teaser{font-size:.9rem}.testimonials-teaser>span:last-child{font-size:.875rem}
.commitment{border-left:0;padding-left:0;margin:24px auto 0;text-align:center;font-size:.95rem}
@media(max-width:700px){.story-section{padding:28px 20px}.inner-story{padding-top:30px;padding-bottom:8px}.story-section .about-main{gap:18px}.story-section .about-heading{display:grid;grid-template-columns:1fr auto;column-gap:18px}.story-section .about-heading>.eyebrow{grid-column:1}.story-section .about-heading>h2{grid-column:1}.story-portrait{grid-column:2;grid-row:1/3;margin:0}.story-portrait img{width:70px;height:70px}.story-portrait figcaption{display:none}}
@media(prefers-reduced-motion:no-preference){
 .hero h1 span{display:inline-block;animation:title-arrival .8s .1s both cubic-bezier(.2,.65,.3,1)}
 .motion-ready .about-main.is-visible .story-portrait img{animation:portrait-arrival .8s .12s both cubic-bezier(.2,.65,.3,1)}
 .motion-ready .contact.is-visible .contact-portrait{animation:portrait-float 7s 1s ease-in-out infinite}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.story-portrait img:hover{transform:scale(1.04) rotate(-2deg)}}
@keyframes title-arrival{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes portrait-arrival{from{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:none}}
@keyframes portrait-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* Une même entrée visuelle pour chaque section. */
.story-section .about-main{display:block;max-width:var(--width)}
.story-section .about-heading{display:block;max-width:760px;margin:0 auto 22px;text-align:left}
.story-section .about-heading h2{text-align:left;margin:0}
.story-section .about-heading .eyebrow{margin-bottom:7px}
.story-section .about-text{max-width:760px;margin:0 auto}
.story-intro{display:grid;grid-template-columns:76px minmax(0,1fr);gap:20px;align-items:start;margin-bottom:14px}
.story-intro>p{grid-column:2;grid-row:1;margin:0}
.story-intro .story-portrait{grid-column:1;grid-row:1;margin:3px 0 0}
.story-intro .story-portrait img{width:76px;height:76px}
.story-intro .story-portrait figcaption{display:none}
.exchange-heading,.testimonials-heading{max-width:760px;margin:0 auto 22px;text-align:left}
.exchange-heading h2,.testimonials-heading h2{margin:0 0 14px;text-align:left}
.testimonials-heading .eyebrow,.exchange-heading .eyebrow{margin-bottom:7px}
.conversation-note{max-width:none;width:100%;padding:20px 26px}
.conversation-note p{max-width:980px}
.testimonials{padding:34px 0 36px}
.testimonials-teaser{margin-top:0}
.contact{padding-top:34px}
.contact-portrait{margin:16px auto 18px}
@media(max-width:700px){.story-section .about-heading{display:block;margin-bottom:20px}.story-intro{grid-template-columns:64px minmax(0,1fr);gap:16px}.story-intro .story-portrait img{width:64px;height:64px}.conversation-note{padding:18px}.testimonials{padding:28px 0 30px}}

/* Un repère discret sous chaque titre de section. */
.story-section h2::after,.exchange h2::after,.testimonials h2::after,.contact h2::after{content:"";display:block;width:30px;height:2px;background:var(--red);margin-top:12px}
.exchange-heading>p:not(.eyebrow){max-width:none;text-align:left;margin-left:0;margin-right:0;text-wrap:pretty}
.contact h2{max-width:760px;margin:0 auto 18px;text-align:left}
@media(max-width:700px){.contact{padding-left:20px;padding-right:20px}}

/* Le message et l’horizon restent visibles sur les petits écrans. */
.hero-intro-context{margin-top:12px}
@media(max-width:700px){
 .site-header{padding-top:16px}
 .wordmark .site-signature{width:140px}
 .social-inline{margin-top:6px;gap:8px}
 .hero{padding:10px 0 18px}
 .hero-topics{margin-bottom:14px;padding:4px 10px;font-size:.65rem}
 .hero h1{font-size:clamp(1.65rem,7.2vw,2rem);line-height:1.18;margin-bottom:16px;letter-spacing:-.045em}
 .hero-intro{font-size:.95rem;line-height:1.65;text-wrap:pretty}
 .hero-intro-context{margin-top:10px;font-size:.875rem;line-height:1.6;color:#bdbdbd}
 .horizon{margin-top:4px;margin-bottom:28px}
 .horizon img{height:165px}
}

/* Fin de page compacte sur téléphone. */
@media(max-width:700px){.contact{padding-bottom:0}.contact .button{display:flex;width:max-content;margin:0 auto}}

/* Testimonials: matched to the validated story, with a subtle 3D deck. */
.testimonials-deck{display:block;position:relative;perspective:1000px;min-height:400px;margin:12px auto 0;max-width:900px;padding:24px 0;overflow:visible}
.testimonials-deck>.testimonial-card{position:absolute;left:50%;top:24px;width:350px;max-width:calc(100% - 32px);transform:translateX(calc(-50% + 14px + var(--offset,0)*225px)) translateZ(var(--depth,0px)) rotateY(var(--turn,-5deg));transition:transform .65s ease,opacity .5s;opacity:.45;z-index:1}
.testimonials-deck>.deck-active{opacity:1;z-index:3;animation:site-card-float 5s ease-in-out infinite}.testimonials-deck>.deck-distant{opacity:0;visibility:hidden}
@keyframes site-card-float{0%,100%{transform:translateX(calc(-50% + 14px)) translateY(2px) rotateY(-5deg)}50%{transform:translateX(calc(-50% + 14px)) translateY(-2px) rotateY(-5deg)}}
.audio-testimonial{border:1px solid #ffffff16;border-radius:18px;background:linear-gradient(145deg,#101010,#050505);box-shadow:0 0 45px 5px #ee48480d;padding:25px;text-align:left}
.audio-testimonial::before,.audio-testimonial::after{display:none}.audio-person{display:flex;align-items:center;gap:16px}.audio-photo{width:72px;height:72px;object-fit:cover;object-position:50% 38%;border:1px solid #fff2;border-radius:50%;flex-shrink:0}.audio-name{font-size:20px;letter-spacing:-.02em;margin:0 0 5px}.audio-role{font-size:12px;line-height:1.5;color:#bbb;margin:0}.audio-instagram{display:inline-block;font-size:12px;color:#ddd;margin-top:7px;text-decoration:none}.audio-instagram:hover{color:#ee4848}
.audio-testimonial .audio-quote{font-size:14px;line-height:1.65;letter-spacing:-.01em;margin:22px 0 0;padding:0;border:0;color:#eee}.audio-quote::before,.audio-quote::after{content:none}.quote-mark{color:#ee4848;font-size:20px;line-height:1;vertical-align:-1px}
.audio-player{display:flex;align-items:center;gap:14px;margin-top:23px}.audio-play{width:42px;height:42px;flex-shrink:0;border-radius:50%;border:0;background:#ee4848;color:#000;display:grid;place-items:center;cursor:pointer;padding:0}.audio-play svg{width:16px;height:16px}.audio-track{flex:1;min-width:0}.audio-label{font-size:11px;color:#eee;margin:0 0 7px}.audio-wave{position:relative;height:33px}.audio-wave .bars{display:flex;height:33px;align-items:center;gap:2px;justify-content:space-between}.audio-wave i{display:block;min-width:1px;max-width:3px;flex:1;border-radius:3px;background:#555;transform:scaleY(.75)}.audio-wave i.heard{background:#ee4848}.audio-seek{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.audio-wave:focus-within{outline:1px solid #ee4848;outline-offset:3px}.audio-times{display:flex;justify-content:space-between;font-size:10px;font-variant-numeric:tabular-nums;color:#aaa;margin-top:5px}.audio-testimonial audio{display:none}
.deck-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin:0 0 12px}.deck-controls button{width:36px;height:36px;border:1px solid #333;border-radius:50%;background:#000;color:#fff;cursor:pointer}.deck-counter{font-size:12px;color:#999}
@media(max-width:700px){.testimonials-deck{min-height:390px}.testimonials-deck>.testimonial-card{width:320px;max-width:calc(100% - 20px)}.audio-testimonial{padding:22px}.audio-name{font-size:19px}.audio-photo{width:64px;height:64px}.audio-role{font-size:11px}.audio-testimonial .audio-quote{font-size:13px}.testimonials{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.testimonials-deck>.deck-active{animation:none}.testimonials-deck>.testimonial-card{transition:none}}

/* Final personal accent: distinct from section headings. */
.audio-testimonial .audio-name::after{content:"";display:block;width:18px;height:1px;background:#ee4848;margin:7px 0 9px;opacity:.9}
.audio-testimonial{box-shadow:0 0 44px 9px #ee484817,0 14px 35px #0008}

/* Compact identity and discreet Instagram link highlight. */
.audio-testimonial .audio-name{margin-bottom:0}
.audio-testimonial .audio-name::after{margin:5px 0 5px}
.audio-testimonial .audio-role{line-height:1.35;margin:0}
.audio-testimonial .audio-instagram{margin-top:5px;padding:3px 7px;border-radius:5px;background:#ee484812;border:1px solid #ee484824;color:#f3f3f3;line-height:1.35;transition:background .2s,border-color .2s}
.audio-testimonial .audio-instagram:hover,.audio-testimonial .audio-instagram:focus-visible{background:#ee484825;border-color:#ee484855;color:#fff;outline-offset:3px}

.audio-photo[src*="laura"]{object-position:50% 55%}

/* Lueur renforcée, flottement validé conservé */
.audio-testimonial{box-shadow:0 0 65px 14px #ee484830,0 14px 35px #0008}

.audio-photo{border:1px solid #ee4848aa;box-shadow:0 0 0 3px #ee484810,0 0 14px #ee484820}

/* Contour argenté validé : lumière fixe aux deux coins, lueur rouge conservée */
.audio-testimonial{border-color:#b9bec54d;box-shadow:0 0 65px 14px #ee484830,0 14px 35px #0008,inset 0 0 0 1px #ffffff06}.audio-testimonial::after{display:block;content:"";position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffffc4 0%,#cbd0d55c 13%,transparent 28%,transparent 72%,#cbd0d55c 87%,#ffffffc4 100%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:none;transform:none}

/* Bordure uniforme et cartes de même hauteur ; seuls les panneaux flottent. */
.audio-testimonial{height:350px;display:flex;flex-direction:column;border:1px solid #b9bec550}.audio-testimonial::before,.audio-testimonial::after{display:none!important;animation:none!important}.audio-player{margin-top:auto;padding-top:18px}.audio-person{min-height:90px}.testimonials-deck{min-height:422px;margin-top:0}.testimonials-deck>.testimonial-card{top:36px}@media(max-width:700px){.testimonials-deck{min-height:422px}}

/* Navigation douce : translate porte le flottement, transform porte le glissement. */
.testimonials-deck>.testimonial-card,.testimonials-deck>.deck-active{animation:site-card-float-smooth 5s ease-in-out infinite;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .7s ease;will-change:transform,opacity}
@keyframes site-card-float-smooth{0%,100%{translate:0 2px}50%{translate:0 -2px}}
@media(prefers-reduced-motion:reduce){.testimonials-deck>.testimonial-card,.testimonials-deck>.deck-active{animation:none;transition:none;translate:none;will-change:auto}}

/* Cliquer la carte voisine, flèches latérales et balayage tactile. */
.testimonials-deck{--card-step:225px;touch-action:pan-y pinch-zoom;min-height:430px}
.testimonials-deck>.testimonial-card{transform:translateX(calc(-50% + 14px + var(--offset,0)*var(--card-step))) translateZ(var(--depth,0px)) rotateY(var(--turn,-5deg))}
.testimonials-deck>.testimonial-card:not(.deck-active){cursor:pointer}
.testimonials-deck>.testimonial-card:not(.deck-active)>*{pointer-events:none}
.testimonials-deck>.testimonial-card:focus-visible{outline:2px solid #ee4848;outline-offset:4px}
.testimonials-deck>.deck-controls{position:absolute;inset:0;display:block;margin:0;pointer-events:none;z-index:5}
.deck-controls button{position:absolute;top:211px;transform:translateY(-50%);pointer-events:auto;background:#070707d9}
.deck-controls button:first-child{left:calc(50% - 225px)}.deck-controls button:last-child{right:calc(50% - 250px)}
.deck-counter{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);white-space:nowrap}
@media(max-width:700px){.testimonials-deck{--card-step:160px;min-height:430px}.testimonials-deck>.testimonial-card{width:270px;max-width:calc(100% - 72px);height:350px}.audio-testimonial{padding:20px}.audio-photo{width:58px;height:58px}.audio-person{gap:12px}.audio-name{font-size:18px}.audio-testimonial .audio-quote{font-size:13px;line-height:1.6}.deck-controls button{display:none}.deck-counter{bottom:10px}}

.testimonials-deck{user-select:none;-webkit-user-select:none}

/* Témoignages plus compacts ; cadre du portrait final assorti au premier. */
.testimonials-deck>.audio-testimonial{height:320px}.audio-person{min-height:76px}.audio-testimonial .audio-quote{margin-top:18px}.testimonials-deck{min-height:400px}.deck-controls button{top:196px}
.contact-portrait{border:1px solid var(--red);padding:3px;background:#fff}
@media(max-width:700px){.testimonials-deck{min-height:400px}.testimonials-deck>.audio-testimonial{height:320px}}

/* Signature alignée sur la largeur visible des trois icônes. */
.site-header{--social-gap:12px;--tap-size:44px;--network-icon:21px;justify-items:center}
.social-inline{gap:var(--social-gap)}.social-inline a{width:var(--tap-size);height:var(--tap-size)}.social-inline img{width:var(--network-icon);height:var(--network-icon)}
.wordmark .site-signature{width:calc(var(--tap-size) + var(--tap-size) + var(--social-gap) + var(--social-gap) + var(--network-icon));height:auto;margin-inline:auto}
.hero h1{margin-top:20px}
@media(max-width:700px){.site-header{--social-gap:8px}.hero h1{margin-top:16px}}

/* Espacement équilibré de la signature, des réseaux et du titre. */
.social-inline{margin-top:12px}
.hero{padding-top:12px}
.hero h1{margin-top:0}
@media(max-width:700px){.social-inline{margin-top:12px}.hero{padding-top:12px}.hero h1{margin-top:0}}

/* Introduction courte : lecture centrée et lignes équilibrées. */
.hero{padding-bottom:32px}
.hero-introduction{display:grid;gap:clamp(1rem,2vw,1.375rem);max-width:54ch;margin:0 auto;text-align:center}
.hero .hero-intro{max-width:none;margin:0;color:#d0d0d0;font-size:1rem;line-height:1.8;text-wrap:balance;overflow-wrap:break-word}
@media(max-width:700px){.hero{padding-bottom:24px}.hero-introduction{max-width:36ch;gap:1rem}.hero .hero-intro{line-height:1.75}}

/* Invitation à écouter : halo doux, sans clignotement. */
.audio-play{border:1px solid #ffffff40;box-shadow:0 0 0 4px #ee484818}
.deck-active:not(.audio-playing) .audio-play{animation:play-invitation 2.8s ease-in-out infinite}
@keyframes play-invitation{0%,100%{box-shadow:0 0 0 4px #ee484818}50%{box-shadow:0 0 0 7px #ee48482b,0 0 16px #ee484830}}
@media(prefers-reduced-motion:reduce){.deck-active:not(.audio-playing) .audio-play{animation:none}}

.written-testimonial .audio-identity{display:flex;flex-direction:column;align-items:flex-start}.written-testimonial .audio-instagram{margin-top:4px}.testimonial-read{width:100%;border:1px solid #ee484880;border-radius:8px;background:#ee48481a;color:#fafafa;padding:10px 12px;font-size:12px}.testimonial-read:hover{background:#ee484830}.written-viewer{width:min(480px,calc(100vw - 28px))}.written-viewer .written-capture{width:100%;max-width:420px}.written-viewer h3{display:inline-block;max-width:100%;font-size:18px;line-height:1.4;margin:0 0 16px;padding:7px 12px;border-radius:5px;background:#ee484812;border:1px solid #ee484824;color:#f3f3f3}.written-viewer .written-message{text-align:left;font-size:15px;line-height:1.8;white-space:pre-line;margin:0 0 18px}.written-testimonial .audio-photo{object-position:50% 24%}


/* Vision du 9 octobre : lecture, progression et premier contact. */
.hero{padding-top:18px;padding-bottom:40px}
.hero-copy{max-width:760px}
.hero h1{margin-bottom:24px;text-wrap:balance}
.hero-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:28px}
.approach-link{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;line-height:1.6;color:#eee;margin-top:4px;padding:8px 4px;text-decoration:none}
.approach-link:hover{color:var(--red)}
.horizon{margin-bottom:0}
.story-section{padding-top:56px;padding-bottom:56px}
.story-section .about-heading,.story-section .about-text{max-width:760px}
.story-section .about-heading{margin-bottom:28px}
.story-section .about-text p{line-height:1.85;margin-bottom:20px;text-wrap:pretty;overflow-wrap:break-word}
.story-section .about-text p:last-child{margin-bottom:0}
.approach-next{border-top:1px solid #ddd;margin-top:28px;padding-top:24px}
.approach-next h3{font-size:1.15rem;line-height:1.45;letter-spacing:-.015em;margin:0 0 14px;font-weight:600;text-wrap:balance}
.testimonials{padding-top:50px;padding-bottom:40px}
.testimonials-heading{margin-bottom:12px}
.story-section .about-heading.parcours-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.parcours-heading .story-portrait{flex:0 0 auto;margin:0;text-align:center}
.parcours-heading .story-portrait img{width:76px;height:76px}
.parcours-heading .story-portrait figcaption{display:block;font-size:.8rem;margin-top:6px}
.exchange{padding:56px 0;max-width:760px}
.exchange-heading>p:not(.eyebrow){color:#d0d0d0;max-width:65ch;line-height:1.8}
.exchange-steps{list-style:none;counter-reset:exchange;margin:32px 0 0;padding:0;display:grid;gap:24px}
.exchange-steps>li{counter-increment:exchange;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:16px;align-items:baseline}
.exchange-steps>li::before{content:"0" counter(exchange);grid-column:1;grid-row:1 / 3;color:var(--red);font-size:.85rem;font-variant-numeric:tabular-nums}
.exchange-steps h3{grid-column:2;font-size:1.1rem;line-height:1.45;font-weight:550;margin:0 0 8px;letter-spacing:-.015em}
.exchange-steps p{grid-column:2;color:#d0d0d0;line-height:1.8;margin:0;text-wrap:pretty;overflow-wrap:break-word}
.contact{padding:48px 24px 52px}
.contact h2{text-align:center;text-wrap:balance}
.contact h2::after{margin-left:auto;margin-right:auto}
.contact>p{color:#333}
#demarche,#parcours,#temoignages,#echange{scroll-margin-top:24px}
@media(max-width:700px){
 .hero{padding-top:16px;padding-bottom:30px}
 .hero h1{font-size:clamp(2rem,8vw,2.5rem);margin-bottom:22px;line-height:1.15}
 .hero-actions{margin-top:24px;gap:10px}
 .hero-actions .button{min-width:150px}
 .horizon{margin-top:0;margin-bottom:0}
 .story-section{padding:36px 20px}
 .story-section .about-heading{margin-bottom:24px}
 .story-section .about-text p{line-height:1.8;margin-bottom:18px}
 .approach-next{margin-top:24px;padding-top:22px}
 .testimonials{padding-top:36px;padding-bottom:28px}
 .story-section .about-heading.parcours-heading{gap:20px}
 .parcours-heading .story-portrait img{width:64px;height:64px}
 .parcours-heading .story-portrait figcaption{display:block;font-size:.75rem}
 .exchange{padding:36px 0}
 .exchange-steps{gap:24px;margin-top:28px}
 .exchange-steps>li{grid-template-columns:24px minmax(0,1fr);column-gap:12px}
 .contact{padding:36px 20px 40px}
 .contact .button{display:inline-flex}
}

/* Entrée courte validée le 10 octobre. */
.contact .social-inline{--social-gap:12px;--tap-size:44px;--network-icon:21px;margin:24px auto 0}
.contact .social-inline img{filter:none}
.contact .social-inline a:hover{background:#eee}


/* Lien discret et image de respiration, sans répétition. */
.hero .approach-link span{display:inline-block;animation:approach-cue 2.8s ease-in-out infinite}
@keyframes approach-cue{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(4px);opacity:1}}
@media(prefers-reduced-motion:reduce){.hero .approach-link span{animation:none}}



/* Paysage panoramique : largeur de page et espace pour les deux angles. */
.horizon{max-width:var(--width);margin-inline:auto;margin-bottom:28px}
.horizon .horizon-scene{transform:none}
.horizon .horizon-scene img{height:clamp(220px,20vw,290px);object-fit:cover;object-position:50% 60%;transform:none;animation:none}
@media(max-width:700px){.horizon{margin-bottom:24px}.horizon .horizon-scene img{height:165px}}
