@font-face{font-family:"Libre Bodoni";src:url("../fonts/LibreBodoni-VariableFont_wght.ttf") format("truetype");font-weight:400 700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("../fonts/SourceSans3-VariableFont_wght.ttf") format("truetype");font-weight:200 900;font-display:swap}
:root{--blue:#3E86D7;--brown:#996647;--black:#111;--white:#fff;--header-height:86px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-snap-type:y proximity}
body{margin:0;background:#fff;color:var(--black);font-family:"Source Sans 3",Arial,sans-serif;overflow-x:hidden}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:fixed;z-index:30;inset:0 0 auto;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:18px 4.5%;pointer-events:none;transition:background .25s}
.site-header>*{pointer-events:auto}
.header-logo{display:block;width:290px;max-width:34vw}
.header-logo img{display:block;width:100%;height:auto}
.header-actions{display:flex;align-items:center;gap:22px;margin-left:auto}
body.home-active .header-logo{display:none}
body.home-active .icon-button img,body.home-active .language-switch img{filter:brightness(0) invert(1)}
body:not(.home-active) .icon-button img{filter:brightness(0) saturate(100%) invert(39%) sepia(18%) saturate(1000%) hue-rotate(338deg) brightness(91%) contrast(88%)}
.icon-button,.language-switch{display:grid;place-items:center;width:49px;height:49px;border:0;background:transparent;padding:0}
.icon-button img,.language-switch img{max-width:100%;max-height:100%;transition:transform .3s}
.icon-button:hover img,.language-switch:hover img{transform:rotate(-30deg)}
.menu-toggle{width:64px;height:40px}
.menu-toggle img{width:100%;height:100%;object-fit:contain}
.search-panel{position:absolute;right:calc(4.5% + 145px);top:18px;display:flex;align-items:center;gap:8px;width:min(420px,70vw);padding:8px;background:#fff;box-shadow:0 4px 22px #0002;opacity:0;visibility:hidden;transform:translateX(12px);transition:.25s}
.search-panel.is-open{opacity:1;visibility:visible;transform:none}
.search-panel input{min-width:0;flex:1;border:0;border-bottom:1px solid #999;padding:8px;color:#111;outline:none}
.search-panel button{border:0;background:var(--brown);color:#fff;padding:8px 12px}
.search-feedback{position:absolute;top:100%;left:0;margin:0;background:#fff;padding:6px 10px;font-size:14px}
.menu-panel{position:fixed;z-index:40;top:0;right:0;width:min(405px,100vw);height:min(382px,100vh);background:#fff;box-shadow:0 8px 30px #0002;transform:translateX(105%);transition:transform .35s ease;display:flex;align-items:center;justify-content:center;padding:55px 25px 25px}
.menu-panel.is-open{transform:translateX(0)}
.menu-close{position:absolute;right:24px;top:18px;border:0;background:none;width:55px;height:36px;padding:0}
.menu-close img{width:100%;height:100%;object-fit:contain}
.menu-links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;max-height:100%;overflow:auto}
.menu-links a{text-align:center;text-decoration:none;font:400 16px "Libre Bodoni",serif;padding:3px 0}
.menu-links a:hover{text-decoration:underline;text-underline-offset:5px}
.screen{position:relative;width:100%;height:100svh;min-height:680px;overflow:hidden;scroll-snap-align:start;background:#fff}
.screen h1{position:relative;z-index:2;margin:0;font:400 clamp(36px,3.55vw,68px)/1.06 "Libre Bodoni",Georgia,serif;color:#111}
.title-rule{width:59px;height:5px;background:var(--blue);margin-top:14px;margin-bottom:26px}
.body-copy{font-size:clamp(16px,1.25vw,24px);line-height:1.42;text-align:justify}
.body-copy p{margin:0 0 1.05em}
.body-copy strong{font-weight:700}
.full-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.slow-zoom{animation:slowZoom 28s ease-out both}
@keyframes slowZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.home-brand{position:absolute;left:50%;top:50%;width:min(84vw,1618px);transform:translate(-50%,-50%);margin-top:-54px}
.home-brand img{display:block;width:100%;height:auto}
.speech-bubble{position:absolute;right:10.5%;bottom:17%;width:min(266px,28vw);aspect-ratio:266/97;border:0;background:transparent;padding:0;animation:float 4s ease-in-out infinite}
.speech-bubble>img{position:absolute;inset:0;width:100%;height:100%}
.speech-bubble span{position:absolute;inset:20% 9%;display:grid;place-items:center;text-align:center;font-size:clamp(13px,1.15vw,19px);line-height:1.2}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.speech-bubble-large{width:min(1146px,82vw);height:auto;aspect-ratio:1146/550;right:5%;bottom:17%;animation:none}
.speech-bubble-large[hidden]{display:none}
.bubble-copy{position:absolute;inset:10% 8% 8% 8%;overflow:auto;font-size:clamp(14px,1.1vw,19px);line-height:1.35;text-align:center}
.bubble-copy p{margin:.45em 0}
.next-screen{position:absolute;z-index:5;bottom:1.4%;left:50%;transform:translateX(-50%);width:79px;height:79px;padding:0;border:0;background:transparent}
.next-screen img{width:100%;height:100%;object-fit:contain}
.next-screen:hover{transform:translateX(-50%) translateY(5px)}
.home-next{animation:bounceIn 1.2s ease-out 1}
@keyframes bounceIn{0%{transform:translate(-50%,-130px) scaleY(1.1)}35%{transform:translate(-50%,0) scaleY(.82)}55%{transform:translate(-50%,-24px) scaleY(1.08)}72%{transform:translate(-50%,0) scaleY(.94)}86%{transform:translate(-50%,-8px)}100%{transform:translate(-50%,0)}}
.light-arrow{filter:brightness(0) invert(1)}
.split-screen{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:calc(var(--header-height) + 35px) 4.5% 55px 0}
.image-frame{height:min(62vh,614px);overflow:hidden}
.image-frame img{width:100%;height:100%;object-fit:cover;display:block}
.image-left{grid-column:1;grid-row:1;align-self:center}
.image-right{position:absolute;right:0;top:50%;transform:translateY(-50%);width:56.4%;height:100%;max-height:100%;z-index:0}
.image-right img{object-fit:cover}
.copy-right{grid-column:2;grid-row:1;margin-left:43px;max-width:660px}
.copy-left{grid-column:1;grid-row:1;z-index:2;max-width:700px;margin-left:4.5%;align-self:center}
.section-copy{position:relative}
.section-copy .body-copy{margin-top:46px}
.footnote{font-size:clamp(12px,.98vw,17px);line-height:1.3;text-align:justify;margin-top:30px}
.animal-communication{grid-template-columns:1fr 1fr;padding-left:4.5%;padding-right:0}
.animal-communication .copy-left{margin-left:0}
.zoom-frame img{animation:slowZoom 28s ease-out both}
.lost-screen{padding:0 4.5%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;align-items:center;gap:43px}
.lost-image{position:absolute;left:4.5%;top:18%;width:58.7%;height:53%;overflow:hidden}
.lost-image img{width:100%;height:100%;object-fit:cover}
.lost-heading{position:absolute;top:13%;right:8%;width:31%;text-align:center}
.lost-heading h1{font-size:clamp(36px,3.3vw,62px)}
.lost-heading .title-rule{margin:14px auto 0}
.lost-copy{position:absolute;right:4.5%;bottom:10%;width:31%;font-size:clamp(15px,1.18vw,22px)}
.full-photo-screen .full-background{object-fit:cover}
.overlay-copy{position:absolute;left:4.5%;top:30%;width:min(430px,34vw);color:#fff;text-shadow:0 1px 10px #0006}
.overlay-copy h1{color:#fff}
.overlay-copy .body-copy{font-size:clamp(16px,1.18vw,22px)}
.overlay-copy .title-rule{margin-bottom:38px}
.about-screen{background:#222}
.about-screen>.full-background{object-fit:cover}
.about-card{position:absolute;right:6.7%;top:13.3%;bottom:5%;width:min(552px,43vw);background:var(--brown);color:#fff;padding:8% 3.4% 70px;display:flex;flex-direction:column}
.about-card h1{color:#fff;font-size:clamp(34px,3vw,56px)}
.about-card .title-rule{margin-bottom:22px}
.about-slides{position:relative;flex:1;min-height:0;overflow:hidden}
.about-slide{position:absolute;inset:0;overflow:auto;opacity:0;visibility:hidden;transform:translateX(20px);transition:opacity .45s,transform .45s,visibility .45s;padding-right:4px}
.about-slide.is-active{opacity:1;visibility:visible;transform:none}
.about-slide h2{font:600 clamp(18px,1.35vw,24px)/1.2 "Source Sans 3",sans-serif;margin:0 0 18px}
.about-slide p{font-size:clamp(14px,1.08vw,19px);line-height:1.35;margin:0 0 .8em}
.slide-dots{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:20px}
.dot{width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:transparent;padding:0}
.dot.is-active{background:#fff}
.pricing-screen{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:calc(var(--header-height) + 15px) 4.5% 40px;gap:43px}
.pricing-image{position:absolute;right:0;bottom:0;width:30.2%;height:87%;overflow:hidden}
.pricing-image img{width:100%;height:100%;object-fit:cover}
.pricing-copy{position:relative;z-index:1;width:65%;max-height:calc(100% - 40px);overflow:auto}
.pricing-copy h1{margin-bottom:0}
.pricing-copy .title-rule{margin-bottom:24px}
.price-list{list-style:none;padding:0;margin:0}
.price-list li{position:relative;padding-left:20px;margin:0 0 15px;font-size:clamp(14px,1.05vw,19px);line-height:1.28}
.price-list li:before{content:"";position:absolute;left:2px;top:.55em;width:5px;height:5px;border:1px solid var(--brown);border-radius:50%}
.price-list strong{font-weight:700}
.price-list p{margin:4px 0 0}
.contact-screen{color:#fff}
.contact-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0005,#0002 55%,transparent);pointer-events:none}
.contact-content{position:absolute;z-index:2;inset:12% 4.5% 5%;max-width:950px}
.contact-content h1{color:#fff;font-size:clamp(32px,3vw,56px)}
.contact-content .title-rule{margin-bottom:24px}
.contact-intro{max-width:900px;font-size:clamp(15px,1.18vw,22px)}
.contact-invitation{position:absolute;left:0;bottom:22%;max-width:900px;font-size:clamp(15px,1.15vw,21px);line-height:1.35}
.contact-details{position:absolute;bottom:8%;left:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:clamp(16px,1.3vw,23px);text-align:center}
.contact-details a{text-decoration:none}
.contact-details a:hover{text-decoration:underline}
.telegram-link{display:flex;align-items:center;gap:10px}
.telegram-link img{width:30px;height:27px}
.legal-links{position:absolute;right:0;bottom:0;display:flex;gap:28px;font-size:12px}
.legal-links a{text-decoration:none}
.legal-links a:hover{text-decoration:underline}
body[data-current-lang="es"] .header-logo img{content:url("../graphics/Logo_Es.svg")}
body[data-current-lang="es"] .language-switch img{content:url("../graphics/Bouton_Fr.svg")}
body[data-current-lang="es"] .language-switch{order:0}
@media(max-width:900px){
  :root{--header-height:70px}
  .screen{min-height:600px}
  .site-header{padding:12px 5%}
  .header-logo{width:210px}
  .header-actions{gap:13px}
  .menu-panel{width:100vw;height:100svh;max-height:none}
  .menu-links{gap:18px}
  .menu-links a{font-size:21px}
  .split-screen{padding-right:5%;grid-template-columns:48% 52%}
  .image-frame{height:54vh}
  .copy-right{margin-left:25px}
  .section-copy .body-copy{margin-top:28px}
  .image-right{width:51%}
  .lost-image{width:56%;height:45%;top:19%}
  .lost-heading{top:16%;right:5%;width:35%}
  .lost-copy{width:39%;bottom:9%}
  .about-card{right:4%;width:49vw;top:12%;bottom:6%;padding:8% 4% 64px}
  .pricing-copy{width:67%}
  .pricing-image{width:28%}
  .contact-content{inset:12% 5% 5%}
}
@media(max-width:650px){
  html{scroll-snap-type:none}
  body{overflow:hidden}
  .site-header{height:62px;padding:8px 4%;background:transparent}
  .header-logo{display:block;width:160px;max-width:43vw}
  body.home-active .header-logo{display:none}
  .header-actions{gap:8px}
  .icon-button,.language-switch{width:34px;height:34px}
  .menu-toggle{width:43px;height:30px}
  .search-panel{top:62px;right:4%;width:92vw}
  .menu-panel{padding:75px 20px 30px}
  .menu-links{gap:15px}
  .menu-links a{font-size:20px}
  main{height:100svh;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth}
  .screen{flex:0 0 100vw;width:100vw;height:100svh;min-height:0;max-height:none;overflow:hidden;scroll-snap-align:start}
  .screen h1{font-size:clamp(30px,8vw,42px)}
  .body-copy{font-size:16px;line-height:1.4}
  .title-rule{width:45px;height:4px;margin:10px 0 18px}
  .home-background{object-position:60% center}
  .home-brand{width:92vw;top:34%;margin-top:0}
  .speech-bubble{right:7%;bottom:18%;width:46vw;max-width:220px}
  .speech-bubble-large{width:90vw;right:5%;bottom:13%;aspect-ratio:1.05}
  .bubble-copy{inset:12% 10%;font-size:13px}
  .next-screen{width:52px;height:52px;bottom:2%;left:auto;right:4%;transform:none}
  .next-screen:hover{transform:translateY(4px)}
  .home-next{transform:rotate(-90deg);animation:none}
  .split-screen,.animal-communication{display:flex;flex-direction:column;align-items:stretch;padding:82px 7% 65px;gap:18px}
  .image-frame{height:31vh;min-height:180px;width:100%;flex:none}
  .image-left,.image-right{position:relative;inset:auto;transform:none;width:100%;max-height:none}
  .copy-right,.copy-left{margin:0;max-width:none}
  .section-copy .body-copy{margin-top:12px}
  .section-copy .footnote{font-size:12px;margin-top:10px}
  .animal-communication .image-right{order:0;height:30vh}
  .animal-communication .copy-left{order:1}
  .animal-communication h1 br{display:none}
  .lost-screen{display:flex;flex-direction:column;align-items:stretch;padding:78px 7% 62px;gap:12px}
  .lost-image{position:relative;inset:auto;width:100%;height:27vh;flex:none}
  .lost-heading{position:relative;inset:auto;width:100%;text-align:left}
  .lost-heading h1 br{display:none}
  .lost-heading .title-rule{margin-left:0}
  .lost-copy{position:relative;inset:auto;width:100%;overflow:auto;min-height:0;font-size:15px}
  .full-photo-screen .full-background{object-position:center}
  .overlay-copy{left:7%;top:25%;width:76%;max-width:430px}
  .overlay-copy .body-copy{font-size:16px}
  .about-card{inset:78px 5% 65px;width:90%;padding:7% 6% 55px}
  .about-card h1{font-size:34px}
  .about-slide h2{font-size:18px}
  .about-slide p{font-size:14px}
  .slide-dots{bottom:18px;gap:16px}
  .dot{width:13px;height:13px}
  .pricing-screen{display:flex;flex-direction:column;align-items:stretch;padding:78px 7% 65px;gap:12px}
  .pricing-image{position:absolute;inset:auto 0 0 auto;width:26%;height:36%;opacity:.28}
  .pricing-copy{width:100%;max-height:100%;overflow:auto;padding-right:2px}
  .pricing-copy h1{font-size:34px}
  .pricing-copy .title-rule{margin-bottom:12px}
  .price-list li{font-size:14px;margin-bottom:12px;padding-left:15px}
  .contact-content{inset:78px 7% 55px;overflow:auto;padding-bottom:40px}
  .contact-content h1{font-size:32px}
  .contact-intro{font-size:15px}
  .contact-invitation{position:relative;inset:auto;margin:18px 0;font-size:15px}
  .contact-details{position:relative;inset:auto;margin:20px 0;font-size:16px}
  .legal-links{position:relative;inset:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;font-size:11px}
  .contact-screen:after{background:#0005}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Corrections de la version 2 : navigation, ordre bilingue et ajustements de maquette */
html{scroll-behavior:smooth;scroll-snap-type:y mandatory;scroll-padding-top:0}
body{overflow-y:auto}
.screen{scroll-snap-align:start;scroll-snap-stop:always;min-height:100svh}
.screen[hidden]{display:none!important}
.header-logo{display:block}
body.home-active .header-logo{display:none}
.home-brand{top:calc(50% - 108px);margin-top:0;z-index:3}
.speech-bubble{left:58%;right:auto;bottom:18%;width:min(266px,14vw);z-index:4}
.speech-bubble span{inset:18% 17% 18% 8%;padding-right:10%;}
.speech-bubble-large{left:3%;right:auto;bottom:18%;width:min(1146px,59.7vw);height:auto;aspect-ratio:1146/550}
.bubble-copy{inset:13% 10% 10% 10%;display:flex;flex-direction:column;justify-content:center;text-align:center;}
.bubble-copy p{margin:.35em 0}
.menu-toggle img{transition:transform .3s}
.menu-toggle:hover img{transform:rotate(-30deg)}
.next-screen{transition:filter .2s}
body.header-brown .header-logo img{filter:brightness(0) saturate(100%) invert(39%) sepia(18%) saturate(1000%) hue-rotate(338deg) brightness(91%) contrast(88%)}
body.header-brown .icon-button img,body.header-brown .language-switch img{filter:brightness(0) saturate(100%) invert(39%) sepia(18%) saturate(1000%) hue-rotate(338deg) brightness(91%) contrast(88%)}
body.header-white .header-logo img,body.header-white .icon-button img,body.header-white .language-switch img{filter:brightness(0) invert(1)}
body.header-brown .next-screen img{filter:brightness(0) saturate(100%) invert(39%) sepia(18%) saturate(1000%) hue-rotate(338deg) brightness(91%) contrast(88%)}
body.header-white .next-screen img{filter:brightness(0) invert(1)}
body.header-brown .menu-toggle img{filter:brightness(0) saturate(100%) invert(39%) sepia(18%) saturate(1000%) hue-rotate(338deg) brightness(91%) contrast(88%)}
body.header-white .menu-toggle img{filter:brightness(0) invert(1)}
#passage-d-ames .overlay-copy,#transito-de-almas .overlay-copy{color:#111;text-shadow:none}
#passage-d-ames .overlay-copy h1,#transito-de-almas .overlay-copy h1{color:#111}
#qui-suis-je .about-card h1,#quien-soy .about-card h1{position:absolute;right:calc(100% + 32px);top:0;width:max-content;color:#111;white-space:nowrap}
#qui-suis-je .about-card,#quien-soy .about-card{top:17%;bottom:5%;padding:9% 3.4% 70px}
#qui-suis-je .about-slides,#quien-soy .about-slides{min-height:0;overflow-y:auto;scrollbar-color:var(--brown) rgba(255,255,255,.25);scrollbar-width:thin}
#qui-suis-je .about-slides::-webkit-scrollbar,#quien-soy .about-slides::-webkit-scrollbar{width:9px}
#qui-suis-je .about-slides::-webkit-scrollbar-thumb,#quien-soy .about-slides::-webkit-scrollbar-thumb{background:var(--brown);border-radius:9px}
#qui-suis-je .about-slides::-webkit-scrollbar-track,#quien-soy .about-slides::-webkit-scrollbar-track{background:rgba(255,255,255,.25)}
#tarifs .pricing-copy,#precios .pricing-copy{width:calc(100% - 43px - 43%);max-width:none}
#tarifs .price-list,#precios .price-list{padding-left:1.6em}
#tarifs .price-list li::marker,#precios .price-list li::marker{font-size:1.45em}
#contact .contact-content h1,#contact .contact-intro p:first-child,#contacto .contact-content h1,#contacto .contact-intro p:first-child{color:#111}
#contact .legal-links,#contacto .legal-links{left:auto;right:4.5%;}
#contact .contact-invitation,#contacto .contact-invitation{max-width:65%;margin-top:2.5em}
#communication-animale .copy-left,#comunicacion-animal .copy-left{max-width:calc(43% - 50px)}
#recherche-animal-perdu .lost-image img,#animal-perdido .lost-image img{object-fit:contain}
#soins-energetiques .image-frame img,#terapias-energeticas .image-frame img{object-fit:contain}

@media (max-width:1100px){
 .screen{min-height:100svh}
 .header-logo{width:220px}
 .split-screen{padding-left:3%;padding-right:3%;grid-template-columns:1fr 1fr}
 .copy-right{margin-left:24px}
 .animal-communication .copy-left{max-width:44%}
 .lost-copy{width:38%;right:3%}
 .about-card{width:48vw;right:4%}
 #tarifs .pricing-copy,#precios .pricing-copy{width:55%}
}
@media (max-width:700px){
 html{scroll-snap-type:x mandatory;scroll-padding:0}
 body{overflow-x:auto;overflow-y:hidden}
 #site-main{display:flex;width:max-content;height:100svh}
 .screen{width:100vw;height:100svh;min-height:0;flex:0 0 100vw;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
 .site-header{height:64px;padding:10px 4%;}
 .header-logo{width:150px;max-width:45vw}
 .header-actions{gap:8px}
 .icon-button,.language-switch{width:34px;height:34px}
 .menu-toggle{width:44px;height:30px}
 .home-background{object-position:68% center}
 .home-brand{width:88vw;top:30%;}
 .speech-bubble{left:5%;bottom:18%;width:42vw}
 .speech-bubble-large{left:3%;bottom:18%;width:82vw;height:45vh;aspect-ratio:auto}
 .bubble-copy{font-size:13px;inset:12% 10%;overflow:auto}
 .next-screen{width:52px;height:52px;bottom:2%;left:auto;right:3%;transform:none}
 .next-screen:hover{transform:translateY(4px)}
 .home-next{transform:rotate(-90deg);animation:none}
 .split-screen{display:block;padding:76px 6% 65px}
 .image-frame{position:absolute;left:0;top:13%;width:100%;height:38%;max-height:none}
 .image-frame img{object-fit:contain}
 .section-copy{position:absolute;left:6%;right:6%;top:54%;max-width:none;margin:0}
 .section-copy h1{font-size:32px}
 .section-copy .body-copy{margin-top:16px;font-size:15px;line-height:1.3}
 .footnote{font-size:11px;margin-top:10px}
 .image-right{top:10%;height:40%;width:100%;transform:none}
 .animal-communication .copy-left{top:53%;max-width:none;margin:0}
 .lost-image{left:4%;top:12%;width:92%;height:40%}
 .lost-image img{object-fit:contain}
 .lost-heading{top:5%;right:5%;width:90%;text-align:left}
 .lost-heading h1{font-size:30px}
 .lost-copy{left:6%;right:6%;bottom:10%;width:auto;font-size:14px}
 .overlay-copy{left:6%;top:20%;width:86%;}
 .overlay-copy h1{font-size:38px}
 .overlay-copy .body-copy{font-size:15px}
 .about-card{left:8%;right:8%;top:17%;bottom:6%;width:84%;padding:12% 6% 55px}
 #qui-suis-je .about-card h1,#quien-soy .about-card h1{left:0;right:auto;top:-45px;font-size:30px}
 .about-slide{font-size:14px}
 #tarifs .pricing-image,#precios .pricing-image{position:absolute;inset:0;width:100%;height:100%;opacity:.25}
 #tarifs .pricing-copy,#precios .pricing-copy{position:absolute;inset:10% 6% 8%;width:auto;overflow-y:auto;padding:0}
 .price-list{font-size:13px}
 .contact-content{left:6%;right:6%;top:12%;bottom:5%;overflow-y:auto}
 .contact-content h1{font-size:28px}
 #contact .contact-invitation,#contacto .contact-invitation{max-width:none}
 #contact .legal-links,#contacto .legal-links{position:static;margin-top:18px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Entrées animées et lisibilité des bulles */
.reveal-left img{animation:enterFromLeft 1.35s cubic-bezier(.18,.72,.22,1) both,slowZoom 28s ease-out both}
@keyframes enterFromLeft{from{transform:translateX(-9vw);opacity:0}to{transform:translateX(0);opacity:1}}
.image-frame.zoom-frame img,.lost-image img,.pricing-image img{animation:slowZoom 28s ease-out both}
.speech-bubble-large{cursor:pointer}
@media(max-width:700px){.reveal-left img{animation:enterFromLeft 1.1s ease-out both,slowZoom 28s ease-out both}}
@media(min-width:701px){
 .pricing-screen{display:block;padding:0}
 .pricing-copy{position:absolute;left:4.5%;top:calc(var(--header-height) + 15px);bottom:40px;width:calc(65.3% - 43px);max-height:none}
 .price-list li:before{width:9px;height:9px;top:.42em;border-width:1.5px}
 #contact .contact-intro p:nth-child(2),#contact .contact-intro p:nth-child(3),#contacto .contact-intro p:nth-child(2),#contacto .contact-intro p:nth-child(3){transform:translateY(16px)}
 #contact .legal-links,#contacto .legal-links{right:0;left:auto;justify-content:flex-end;gap:22px}
}


/* VERSION 4 — corrections vérifiées */
/* Le logo d'en-tête reste noir sur toutes les sections où il est visible. */
.header-logo img{filter:brightness(0)!important}
body.home-active .header-logo{display:none!important}

/* Les drapeaux conservent leurs couleurs ; le contour est dessiné séparément. */
.language-switch{position:relative;isolation:isolate}
.language-switch img{filter:none!important;position:relative;z-index:1}
.language-switch::after{content:"";position:absolute;inset:5px;border:3px solid var(--header-icon-color,var(--brown));border-radius:50%;pointer-events:none;z-index:2}
body.header-brown{--header-icon-color:var(--brown)}
body.header-white{--header-icon-color:#fff}
body.home-active{--header-icon-color:#fff}
/* On neutralise les filtres globaux précédemment appliqués à l'image composite du drapeau. */
body.header-brown .language-switch img,body.header-white .language-switch img,body.home-active .language-switch img{filter:none!important}

/* Icône de menu : les deux traits tournent et se rejoignent en croix. */
.menu-toggle{position:relative;width:64px;height:40px;display:block}
.menu-toggle .menu-line{position:absolute;left:12%;width:76%;height:3px;border-radius:3px;background:var(--header-icon-color,var(--brown));transform-origin:center;transition:top .32s ease,transform .32s ease,background-color .25s ease}
.menu-toggle .menu-line-top{top:13px}
.menu-toggle .menu-line-bottom{top:25px}
.menu-toggle[aria-expanded="true"] .menu-line-top{top:19px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-line-bottom{top:19px;transform:rotate(-45deg)}
.menu-toggle:hover .menu-line{opacity:.78}

/* Accueil : logo principal plus haut ; les deux bulles partagent la même ligne de base. */
.home-brand{top:calc(50% - 105px)!important;margin-top:0!important}
.speech-bubble{bottom:17%!important}
.speech-bubble-large{left:3%!important;right:auto!important;bottom:17%!important;width:min(1146px,59.7vw)!important;height:auto!important;aspect-ratio:1146/550!important;animation:float 4s ease-in-out infinite!important}
.speech-bubble-large[hidden]{display:none!important}
.speech-bubble-large>img{object-fit:fill}

/* Communication animale : texte contenu dans sa colonne, sans passer sous la photo. */
#communication-animale .copy-left,#comunicacion-animal .copy-left{width:calc(43% - 22px)!important;max-width:calc(43% - 22px)!important;margin-left:0!important;padding-right:0!important}
#communication-animale .image-right,#comunicacion-animal .image-right{width:54%!important}

/* Recherche d'animal perdu : photo agrandie, entière et alignée sur la marge du logo. */
#recherche-animal-perdu .lost-image,#animal-perdido .lost-image{left:4.5%!important;top:18%!important;width:min(58.7%,1127px)!important;height:min(57.1vh,571px)!important}
#recherche-animal-perdu .lost-image img,#animal-perdido .lost-image img{object-fit:contain!important;object-position:left center!important}

/* Qui suis-je : titre à gauche, trait bleu à droite du titre ; carte plus haute et texte animé. */
#qui-suis-je .about-card h1,#quien-soy .about-card h1{position:absolute!important;left:auto!important;right:calc(100% + 32px)!important;top:0!important;width:max-content!important;white-space:nowrap!important}
#qui-suis-je .about-card>.title-rule,#quien-soy .about-card>.title-rule{position:absolute;left:auto;right:calc(100% + 32px);top:calc(17% + 70px);width:59px;margin:0}
#qui-suis-je .about-card,#quien-soy .about-card{top:16%!important;bottom:3%!important;padding:7.5% 3.4% 70px!important}
#qui-suis-je .about-slides,#quien-soy .about-slides{flex:1;min-height:0;overflow:hidden!important;position:relative}
#qui-suis-je .about-slide,#quien-soy .about-slide{inset:0;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(35px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),visibility .7s}
#qui-suis-je .about-slide.is-active,#quien-soy .about-slide.is-active{opacity:1;visibility:visible;transform:translateY(0)}

/* Contact : titre et premier paragraphe noirs ; les deux suivants restent blancs. */
#contact .contact-content h1,#contacto .contact-content h1{color:#111!important}
#contact .contact-intro p:first-child,#contacto .contact-intro p:first-child{color:#111!important}
#contact .contact-intro p:nth-child(2),#contact .contact-intro p:nth-child(3),#contacto .contact-intro p:nth-child(2),#contacto .contact-intro p:nth-child(3){color:#fff!important;transform:translateY(20px)}
#contact .contact-invitation,#contacto .contact-invitation{color:#fff!important;bottom:17%!important;max-width:68%!important}
#contact .legal-links,#contacto .legal-links{right:0!important;left:auto!important;bottom:0!important;justify-content:flex-end!important}

/* Images : mouvement d'entrée doux et zoom progressif, rejoués à l'arrivée sur chaque écran. */
.screen .image-frame img,.screen .lost-image img,.screen .pricing-image img,.screen>.full-background,.screen .home-background{transform-origin:center;will-change:transform,opacity}
.screen.is-visible .reveal-left img{animation:enterFromLeftV4 1.7s cubic-bezier(.16,.72,.18,1) both}
.screen.is-visible .zoom-frame img,.screen.is-visible .pricing-image img{animation:zoomInV4 2.4s cubic-bezier(.2,.72,.22,1) both}
.screen.is-visible>.full-background,.screen.is-visible>.home-background{animation:zoomInV4 2.4s cubic-bezier(.2,.72,.22,1) both}
@keyframes enterFromLeftV4{0%{transform:translateX(-11vw);opacity:0}65%{transform:translateX(1.2vw);opacity:1}82%{transform:translateX(-.35vw)}100%{transform:translateX(0);opacity:1}}
@keyframes zoomInV4{from{transform:scale(1.15)}to{transform:scale(1)}}
@keyframes slowZoomV4{from{transform:scale(1.035)}to{transform:scale(1)}}

@media(max-width:700px){
 .home-brand{top:calc(30% - 48px)!important;width:88vw}
 .speech-bubble{bottom:18%!important}
 .speech-bubble-large{left:3%!important;bottom:18%!important;width:82vw!important;height:45vh!important;aspect-ratio:auto!important}
 #communication-animale .copy-left,#comunicacion-animal .copy-left{width:auto!important;max-width:none!important}
 #recherche-animal-perdu .lost-image,#animal-perdido .lost-image{left:4%!important;top:12%!important;width:92%!important;height:40%!important}
 #qui-suis-je .about-card,#quien-soy .about-card{top:17%!important;bottom:6%!important;padding:12% 6% 55px!important}
 #qui-suis-je .about-card h1,#quien-soy .about-card h1{left:0!important;right:auto!important;top:-45px!important}
 #qui-suis-je .about-card>.title-rule,#quien-soy .about-card>.title-rule{left:0;right:auto;top:-8px}
 #contact .contact-invitation,#contacto .contact-invitation{bottom:auto!important;position:relative!important;left:auto!important;max-width:none!important;margin-top:2.5em!important}
 #contact .legal-links,#contacto .legal-links{position:static!important;margin-top:18px}
 .menu-toggle{width:44px;height:30px}
 .menu-toggle .menu-line-top{top:9px}
 .menu-toggle .menu-line-bottom{top:19px}
 .menu-toggle[aria-expanded="true"] .menu-line-top,.menu-toggle[aria-expanded="true"] .menu-line-bottom{top:14px}
}
@media(prefers-reduced-motion:reduce){.screen.is-visible .reveal-left img,.screen.is-visible .zoom-frame img,.screen.is-visible .pricing-image img,.screen.is-visible>.full-background,.screen.is-visible>.home-background{animation:none!important}}

/* Le titre et le trait bleu forment un seul bloc, aligné à gauche, hors de la carte. */
#qui-suis-je .about-heading,#quien-soy .about-heading{position:absolute;right:calc(100% + 32px);top:0;width:max-content;display:flex;flex-direction:column;align-items:flex-start;gap:14px;white-space:nowrap}
#qui-suis-je .about-heading h1,#quien-soy .about-heading h1{position:static!important;right:auto!important;left:auto!important;top:auto!important;width:auto!important;margin:0!important}
#qui-suis-je .about-heading .title-rule,#quien-soy .about-heading .title-rule{position:static!important;right:auto!important;left:auto!important;top:auto!important;margin:0!important}
@media(max-width:700px){
 #qui-suis-je .about-heading,#quien-soy .about-heading{left:0;right:auto;top:-45px;width:max-content;gap:8px}
 #qui-suis-je .about-heading h1,#quien-soy .about-heading h1{font-size:30px}
}

/* Correctifs ciblés après retours sur la V4 */
:root{--motion-long:52s;--motion-soft:cubic-bezier(.16,1,.3,1)}

/* Le logo d'en-tête conserve toujours sa couleur noire. */
.site-header{z-index:50}
.header-logo img,
body.header-brown .header-logo img,
body.header-white .header-logo img{filter:none!important}

/* Menu : icône normale, variante au survol, puis transformation des deux barres en croix. */
.menu-toggle{position:relative;z-index:55;overflow:visible}
.menu-toggle .menu-icon{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .22s ease,transform .22s ease}
.menu-toggle .menu-icon-default{opacity:1}
.menu-toggle .menu-icon-hover{opacity:0}
.menu-toggle:hover .menu-icon-default{opacity:0}
.menu-toggle:hover .menu-icon-hover{opacity:1}
.menu-toggle .menu-line{position:absolute;left:18%;width:64%;height:2px;border-radius:2px;background:currentColor;opacity:0;transform-origin:center;transition:transform .85s var(--motion-soft),opacity .2s ease,background .25s ease}
.menu-toggle .menu-line-top{top:25%}
.menu-toggle .menu-line-bottom{bottom:25%}
.menu-toggle:hover .menu-line{opacity:0}
.menu-toggle.is-open .menu-icon{opacity:0!important;transform:scale(.92)}
.menu-toggle.is-open .menu-line{opacity:1}
.menu-toggle.is-open .menu-line-top{transform:translateY(10px) rotate(45deg)}
.menu-toggle.is-open .menu-line-bottom{transform:translateY(-10px) rotate(-45deg)}
body.menu-open .menu-toggle .menu-line{background:#111}
.menu-panel{z-index:40}
.menu-close{display:none!important}
body.home-active .menu-toggle .menu-icon,
body.home-active .menu-toggle .menu-line{color:#fff}
body.header-brown .menu-toggle .menu-icon{filter:brightness(0) saturate(100%) invert(39%) sepia(18%) saturate(1000%) hue-rotate(338deg) brightness(91%) contrast(88%)}
body.header-white .menu-toggle .menu-icon{filter:brightness(0) invert(1)}

/* Accueil : logo nettement remonté ; bulles alignées sur la même base et le même bord droit. */
.home-brand{top:calc(50% - 216px)!important;margin-top:0!important}
.speech-bubble{left:auto!important;right:28.18%!important;bottom:18%!important;width:min(266px,13.85vw)!important}
.speech-bubble-large{left:auto!important;right:28.18%!important;bottom:18%!important;width:min(1146px,59.7vw)!important;height:auto!important;aspect-ratio:1146/550!important}

/* Animations lentes et amorties ; le cadre reste fixe, seul son contenu bouge. */
@keyframes zoomDoux{0%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes zoomTresDoux{0%{transform:scale(1.035)}100%{transform:scale(1)}}
@keyframes arriveeDepuisGauche{0%{opacity:0;transform:translateX(-90px)}65%{opacity:1;transform:translateX(8px)}82%{transform:translateX(-3px)}100%{opacity:1;transform:translateX(0)}}
.screen.is-visible .home-background,
.screen.is-visible .full-photo-screen>.full-background,
.screen.is-visible .about-screen>.full-background,
.screen.is-visible .contact-screen>.full-background{animation:zoomTresDoux var(--motion-long) var(--motion-soft) both}
.screen.is-visible .image-frame.zoom-frame img,
.screen.is-visible .pricing-image img{animation:zoomTresDoux var(--motion-long) var(--motion-soft) both}
.screen.is-visible .animal-communication .image-right img{animation:zoomTresDoux var(--motion-long) var(--motion-soft) both}
.screen.is-visible .lost-image img{animation:zoomDoux 42s var(--motion-soft) both;object-fit:cover!important}
.screen.is-visible .reveal-left{animation:arriveeDepuisGauche 2.8s var(--motion-soft) both}
/* Pas de rebond sur les soins énergétiques : uniquement une arrivée amortie depuis la gauche. */
#soins-energetiques.is-visible .reveal-left,
#terapias-energeticas.is-visible .reveal-left{animation:arriveeDepuisGauche 3.2s var(--motion-soft) both}

/* Communication animale : largeur intermédiaire, conforme au cadre de 697 px de la fiche. */
#communication-animale .copy-left,
#comunicacion-animal .copy-left{width:min(697px,100%);max-width:697px!important}

/* Recherche d'animal perdu : dimensions de la fiche à 1920 x 1080, alignement sur le logo. */
.lost-image{left:4.5%!important;top:18.24%!important;width:min(58.7vw,1127px)!important;height:min(52.87vh,571px)!important}

/* Qui suis-je : titre et trait bleu à gauche, cadre descriptif remonté et agrandi. */
#qui-suis-je .about-card .about-heading,
#quien-soy .about-card .about-heading{position:absolute;right:calc(100% + 32px);top:0;width:max-content;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
#qui-suis-je .about-card .about-heading h1,
#quien-soy .about-card .about-heading h1{position:static;right:auto;top:auto;width:auto;white-space:nowrap;color:#111}
#qui-suis-je .about-card .about-heading .title-rule,
#quien-soy .about-card .about-heading .title-rule{margin:0 0 0 0;align-self:flex-start}
#qui-suis-je .about-card,
#quien-soy .about-card{padding-top:3.2%!important}
#qui-suis-je .about-slides,
#quien-soy .about-slides{margin-top:0;flex:1;min-height:0}
#qui-suis-je .about-slide,
#quien-soy .about-slide{transition:opacity 1.1s var(--motion-soft),transform 1.1s var(--motion-soft),visibility 1.1s}

/* Contact : positions et couleurs séparées selon les trois descriptions de la fiche. */
.contact-content{inset:13.15% 4.5% 0!important;max-width:none!important}
.contact-content h1{color:#111!important}
.contact-content>.title-rule{margin-top:14px;margin-bottom:0}
.contact-intro{position:absolute;left:0;top:130px;width:min(904px,47.1vw);height:241px;max-width:none!important;overflow:auto;color:#111!important}
.contact-intro p{color:#111!important}
.contact-invitation{position:absolute!important;left:0!important;top:617px!important;bottom:auto!important;width:min(904px,47.1vw);max-width:none!important;height:78px;color:#fff!important;overflow:auto}
.contact-details{position:absolute!important;left:0!important;top:773px!important;bottom:auto!important;width:440px!important;height:111px;align-items:center!important;justify-content:center;gap:2px;font-size:20px!important;color:#fff!important}
.contact-details a,.contact-details span{color:#fff!important}
.legal-links{position:absolute!important;left:auto!important;right:0!important;bottom:0!important;justify-content:flex-end}

@media(max-width:900px){
  .home-brand{top:calc(50% - 150px)!important}
  .speech-bubble{right:7%!important;bottom:18%!important;width:min(266px,28vw)!important}
  .speech-bubble-large{right:7%!important;bottom:18%!important;width:min(90vw,700px)!important}
  .lost-image{left:5%!important;top:19%!important;width:56%!important;height:45%!important}
  #communication-animale .copy-left,#comunicacion-animal .copy-left{width:100%;max-width:100%!important}
  #qui-suis-je .about-card .about-heading,#quien-soy .about-card .about-heading{right:calc(100% + 20px)}
  .contact-content{inset:12% 5% 0!important}
  .contact-intro{top:105px;width:58vw;height:220px}
  .contact-invitation{top:auto!important;bottom:22%!important;width:58vw;height:auto;}
  .contact-details{top:auto!important;bottom:8%!important;width:58vw!important}
  .legal-links{bottom:0!important;right:0!important}
}
@media(max-width:650px){
  .home-brand{top:27%!important}
  .speech-bubble{right:7%!important;bottom:18%!important;width:46vw!important}
  .speech-bubble-large{right:7%!important;bottom:18%!important;width:90vw!important}
  .lost-image{left:auto!important;top:auto!important;width:100%!important;height:27vh!important}
  #qui-suis-je .about-card .about-heading,#quien-soy .about-card .about-heading{position:relative;right:auto;top:auto;width:auto;gap:8px;margin-bottom:14px}
  #qui-suis-je .about-card .about-heading h1,#quien-soy .about-card .about-heading h1{white-space:normal}
  .contact-content{inset:78px 7% 55px!important;overflow:auto;padding-bottom:40px}
  .contact-intro{position:relative;inset:auto;width:100%;height:auto;max-height:none;overflow:visible;margin-top:22px}
  .contact-invitation{position:relative!important;inset:auto!important;width:100%;height:auto;margin:24px 0!important}
  .contact-details{position:relative!important;inset:auto!important;width:100%!important;height:auto;margin:20px 0!important}
  .legal-links{position:relative!important;inset:auto!important;justify-content:center;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  .screen.is-visible .home-background,.screen.is-visible .full-photo-screen>.full-background,.screen.is-visible .about-screen>.full-background,.screen.is-visible .contact-screen>.full-background,.screen.is-visible .image-frame.zoom-frame img,.screen.is-visible .pricing-image img,.screen.is-visible .animal-communication .image-right img,.screen.is-visible .lost-image img,.screen.is-visible .reveal-left{animation:none!important}
}
/* Les drapeaux restent en couleurs d'origine : aucun filtre sur les images de langue. */
.language-switch img{filter:none!important}
/* Défilement vertical doux entre les quatre textes de présentation. */
#about-fr .about-slide,#about-es .about-slide{transform:translateY(calc(var(--slide-order,1) * 100%));transition:transform 1.25s cubic-bezier(.22,.75,.2,1),opacity 1.1s ease,visibility 1.1s}
#about-fr .about-slide.is-active,#about-es .about-slide.is-active{transform:translateY(0)}
@media(min-width:901px){
  #contact .contact-details,#contacto .contact-details{left:232px!important}
  #contact .legal-links,#contacto .legal-links{left:69.1%!important;right:auto!important;bottom:3.4%!important}
}
.screen.is-visible .pricing-image img{animation:zoomDoux 42s var(--motion-soft) both}


/* ===== Corrections V6 : géométrie et animations revues selon la fiche ===== */
/* Accueil : le logo est placé à Y=-108 px, sans translation verticale. */
#accueil .home-brand, #inicio .home-brand{
  top:-108px !important;
  margin-top:0 !important;
  transform:translateX(-50%) !important;
}
/* Les deux bulles partagent exactement la ligne de base Y=886 px (à 1080 px de haut).
   La grande bulle ne flotte pas : seule la petite bulle attire l'attention. */
#accueil .speech-bubble, #inicio .speech-bubble{
  right:28.18% !important;
  left:auto !important;
  bottom:18% !important;
  width:min(266px,13.85vw) !important;
}
#accueil .speech-bubble-large, #inicio .speech-bubble-large{
  right:28.18% !important;
  left:auto !important;
  bottom:18% !important;
  width:min(1146px,59.7vw) !important;
  height:auto !important;
  aspect-ratio:1146 / 550 !important;
  animation:none !important;
  transform:none !important;
}

/* Menu : les deux traits partent d'un même centre exact pour former une croix régulière. */
.menu-toggle{position:relative !important; z-index:56 !important;}
.menu-toggle .menu-icon-default{opacity:1 !important;}
.menu-toggle .menu-icon-hover{opacity:0 !important;}
.menu-toggle:hover .menu-icon-default{opacity:0 !important;}
.menu-toggle:hover .menu-icon-hover{opacity:1 !important;}
.menu-toggle .menu-line{
  position:absolute !important;
  top:50% !important;
  bottom:auto !important;
  left:18% !important;
  width:64% !important;
  height:2px !important;
  opacity:0 !important;
  transform-origin:50% 50% !important;
  transition:transform .72s cubic-bezier(.65,0,.25,1),opacity .18s ease !important;
}
.menu-toggle .menu-line-top{transform:translateY(-7px) rotate(0deg) !important;}
.menu-toggle .menu-line-bottom{transform:translateY(7px) rotate(0deg) !important;}
.menu-toggle.is-open .menu-icon,
.menu-toggle.is-open:hover .menu-icon{opacity:0 !important;}
.menu-toggle.is-open .menu-line{opacity:1 !important;}
.menu-toggle.is-open .menu-line-top{transform:translateY(0) rotate(45deg) !important;}
.menu-toggle.is-open .menu-line-bottom{transform:translateY(0) rotate(-45deg) !important;}
body.menu-open .language-switch{visibility:hidden !important;opacity:0 !important;pointer-events:none !important;}
.menu-panel{z-index:40 !important;}

/* Soins énergétiques : déplacement lent, amorti, sans dépassement ni rebond.
   L'image reste immobile dans son cadre. */
@keyframes soinArriveeSansRebond{
  from{transform:translateX(-72px);opacity:.35;}
  to{transform:translateX(0);opacity:1;}
}
#soins-energetiques.is-visible .reveal-left,
#terapias-energeticas.is-visible .reveal-left{
  animation:soinArriveeSansRebond 5.8s cubic-bezier(.18,.68,.22,1) both !important;
}
#soins-energetiques .reveal-left img,
#terapias-energeticas .reveal-left img{animation:none !important;transform:none !important;}

/* Communication animale : cadre de texte intermédiaire, sans passer sous la photo.
   Largeur plafonnée à 740 px ; espace conservé avant l'image à droite. */
#communication-animale .copy-left,
#comunicacion-animal .copy-left{
  width:min(740px,39.1vw) !important;
  max-width:min(740px,39.1vw) !important;
}
#communication-animale .copy-left .body-copy,
#comunicacion-animal .copy-left .body-copy{
  width:100% !important;
  min-height:237px;
}

/* Recherche d'animal perdu : dimensions de référence 1127 x 571 px,
   coordonnées X alignée sur le logo et Y=197 px. */
#recherche-animal-perdu .lost-image,
#animal-perdido .lost-image{
  left:4.5% !important;
  top:197px !important;
  width:1127px !important;
  height:571px !important;
  max-width:80vw !important;
  max-height:65vh !important;
  overflow:hidden !important;
}
#recherche-animal-perdu .lost-image img,
#animal-perdido .lost-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Zooms lents et discrets sur passage d'âmes, présentation et contact. */
@keyframes zoomUltraDoux{from{transform:scale(1.035)}to{transform:scale(1)}}
#passage-d-ames.is-visible > .full-background,
#transito-de-almas.is-visible > .full-background,
#qui-suis-je.is-visible > .full-background,
#quien-soy.is-visible > .full-background,
#contact.is-visible > .full-background,
#contacto.is-visible > .full-background{
  animation:zoomUltraDoux 100s linear both !important;
}

/* Contact : trois blocs distincts, sans barre de défilement interne.
   Bloc 1 noir ; blocs 2 et 3 blancs. Coordonnées de la fiche (base 1920x1080). */
#contact .contact-content, #contacto .contact-content{
  inset:13.15% 4.5% 0 !important;
  max-width:none !important;
  overflow:visible !important;
}
#contact .contact-content h1, #contacto .contact-content h1{color:#111 !important;}
#contact .contact-content > .title-rule, #contacto .contact-content > .title-rule{
  margin-top:14px !important;
  margin-bottom:0 !important;
}
#contact .contact-intro, #contacto .contact-intro{
  position:absolute !important;
  left:0 !important;
  top:130px !important;
  width:min(904px,47.1vw) !important;
  height:241px !important;
  max-width:none !important;
  overflow:visible !important;
  color:#111 !important;
  font-size:clamp(15px,1.08vw,20px) !important;
  line-height:1.3 !important;
}
#contact .contact-intro p, #contacto .contact-intro p{
  color:#111 !important;
  margin:0 0 .65em !important;
}
#contact .contact-invitation, #contacto .contact-invitation{
  position:absolute !important;
  left:0 !important;
  top:617px !important;
  bottom:auto !important;
  width:min(904px,47.1vw) !important;
  max-width:none !important;
  height:78px !important;
  overflow:visible !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.3 !important;
}
#contact .contact-details, #contacto .contact-details{
  position:absolute !important;
  left:232px !important;
  top:773px !important;
  right:auto !important;
  bottom:auto !important;
  width:440px !important;
  height:111px !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.25 !important;
  text-align:center !important;
}
#contact .contact-details a, #contact .contact-details span,
#contacto .contact-details a, #contacto .contact-details span{color:#fff !important;}
#contact .legal-links, #contacto .legal-links{
  position:absolute !important;
  left:auto !important;
  right:0 !important;
  bottom:3.4% !important;
  justify-content:flex-end !important;
}
@media(max-width:1250px){
  #recherche-animal-perdu .lost-image,#animal-perdido .lost-image{
    width:min(1127px,80vw) !important;
    height:min(571px,65vh) !important;
  }
}
@media(max-width:900px){
  #communication-animale .copy-left,#comunicacion-animal .copy-left{
    width:min(740px,50vw) !important;max-width:min(740px,50vw) !important;
  }
  #contact .contact-content,#contacto .contact-content{inset:12% 5% 0 !important;}
  #contact .contact-intro,#contacto .contact-intro{top:105px !important;width:58vw !important;height:241px !important;}
  #contact .contact-invitation,#contacto .contact-invitation{top:390px !important;width:58vw !important;height:auto !important;}
  #contact .contact-details,#contacto .contact-details{left:0 !important;top:540px !important;width:58vw !important;}
}
@media(max-width:650px){
  #accueil .home-brand,#inicio .home-brand{top:-55px !important;width:88vw !important;}
  #accueil .speech-bubble-large,#inicio .speech-bubble-large{left:3% !important;right:auto !important;bottom:18% !important;width:90vw !important;height:45vh !important;}
  #communication-animale .copy-left,#comunicacion-animal .copy-left{width:100% !important;max-width:100% !important;}
  #recherche-animal-perdu .lost-image,#animal-perdido .lost-image{left:4% !important;top:12% !important;width:92% !important;height:40% !important;max-width:none !important;max-height:none !important;}
  #contact .contact-content,#contacto .contact-content{inset:78px 7% 55px !important;overflow:auto !important;padding-bottom:40px !important;}
  #contact .contact-intro,#contacto .contact-intro{position:relative !important;inset:auto !important;width:100% !important;height:auto !important;overflow:visible !important;margin-top:22px !important;}
  #contact .contact-invitation,#contacto .contact-invitation{position:relative !important;inset:auto !important;width:100% !important;height:auto !important;margin:24px 0 !important;}
  #contact .contact-details,#contacto .contact-details{position:relative !important;inset:auto !important;width:100% !important;height:auto !important;margin:20px 0 !important;}
  #contact .legal-links,#contacto .legal-links{position:relative !important;inset:auto !important;justify-content:center !important;flex-wrap:wrap !important;}
}


/* ===== Corrections V7 ===== */
/* Les images demandées reprennent exactement la durée et l'amplitude du zoom d'accueil. */
#communication-animale.is-visible .image-right img,
#comunicacion-animal.is-visible .image-right img,
#passage-d-ames.is-visible > .full-background,
#transito-de-almas.is-visible > .full-background,
#qui-suis-je.is-visible > .full-background,
#quien-soy.is-visible > .full-background,
#contact.is-visible > .full-background,
#contacto.is-visible > .full-background{
  animation:slowZoom 28s ease-out both !important;
}
/* Recherche : le cadre ne bouge jamais ; seul le contenu photographique zoome. */
#recherche-animal-perdu .lost-image,
#animal-perdido .lost-image{
  overflow:hidden !important;
  transform:none !important;
  animation:none !important;
}
#recherche-animal-perdu .lost-image img,
#animal-perdido .lost-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform-origin:center center !important;
  animation:slowZoom 28s ease-out both !important;
}
/* Contact : coordonnées Y exprimées depuis le haut de l'écran (référence 1080 px). */
#contact .contact-intro,#contacto .contact-intro{
  top:calc(272px - 13.15vh) !important;
  overflow:visible !important;
  color:#000 !important;
}
#contact .contact-intro *,#contacto .contact-intro *{color:#000 !important;}
#contact .contact-invitation,#contacto .contact-invitation{
  top:calc(759px - 13.15vh) !important;
  overflow:visible !important;
}
#contact .contact-details,#contacto .contact-details{
  top:calc(915px - 13.15vh) !important;
  overflow:visible !important;
}
/* La grande bulle reste ancrée à l'écran d'accueil, sans animation de révélation au scroll. */
#accueil .speech-bubble-large,#inicio .speech-bubble-large{
  position:absolute !important;
  right:28.18% !important;
  left:auto !important;
  bottom:18% !important;
  margin:0 !important;
  animation:none !important;
  transition:none !important;
}
@media(max-width:650px){
  #contact .contact-intro,#contacto .contact-intro{top:auto !important;}
  #contact .contact-invitation,#contacto .contact-invitation{top:auto !important;}
  #contact .contact-details,#contacto .contact-details{top:auto !important;}
}
