:root{color-scheme:light;--bg:#fbf8f4;--soft:#f7edf1;--wash:#f1e6de;--ink:#4a2b21;--mute:#7a5f55;--brown:#4a2b21;--brown-d:#654235;--plum:#9a2a72;--plum-d:#7d1f5a;--line:#e2d5cf;--ph1:#e4ead9;--ph2:#d3ddc6;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost","Helvetica Neue",Arial,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:96px}
*,*:before,*:after{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,rgba(238,216,226,.62),rgba(248,239,233,0) 100%),linear-gradient(0deg,rgba(229,210,197,.58),rgba(247,237,239,0) 100%),linear-gradient(125deg,#f8f2e9 0%,#fbf7f3 38%,#f8f0f3 72%,#f4e9e8 100%);background-size:100% 340px,100% 300px,100% 100%;background-position:top,bottom,center;background-repeat:no-repeat;color:var(--ink);font:300 17px/1.7 var(--sans)}
img{max-width:100%}a{color:inherit}
:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.6rem,6.6vw,5rem)}h2{font-size:clamp(2rem,4.4vw,3.2rem)}h3{font-size:1.5rem}
p{margin:0 0 1em;max-width:62ch}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
.dots{border:0;border-top:3px dotted var(--plum);width:84px;margin:0 0 24px;opacity:.7}
.btn{display:inline-block;padding:14px 30px;border-radius:40px;text-decoration:none;font-size:.95rem;letter-spacing:.04em;border:1.5px solid var(--plum);cursor:pointer;font-family:var(--sans);transition:background .2s,color .2s}
.btn.fill{background:var(--brown);border-color:var(--brown);color:#fff}.btn.fill:hover{background:var(--brown-d);border-color:var(--brown-d)}
.btn.line{color:var(--plum);background:transparent}.btn.line:hover{background:var(--plum);color:#fff}
.soft{background:linear-gradient(115deg,#f4e9e3 0%,#f8edf2 48%,#f4f0e8 100%);border-block:1px solid rgba(154,42,114,.07)}
header{position:sticky;top:0;z-index:20;background:linear-gradient(105deg,rgba(248,239,229,.96),rgba(250,241,245,.95) 58%,rgba(246,237,231,.96));backdrop-filter:blur(14px);border-bottom:1px solid rgba(111,70,66,.15);box-shadow:0 5px 22px rgba(74,43,33,.075)}
.bar{display:flex;align-items:center;justify-content:space-between;height:84px;transition:height .3s}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;padding:5px 12px 5px 0;border-radius:40px;transition:background .2s}
.brand:hover{background:rgba(154,42,114,.055)}
.brand img{height:58px;background:transparent;border-radius:0;padding:0}
.brand span{font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.05;color:var(--brown)}
nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:6px;align-items:center;background:linear-gradient(115deg,rgba(239,225,216,.82),rgba(247,232,240,.82));border:1px solid rgba(111,70,66,.12);border-radius:40px}
nav a{text-decoration:none;font-size:.92rem;padding:10px 15px;border-radius:30px;transition:background .2s,color .2s,box-shadow .2s}nav a:hover{color:var(--plum);background:rgba(255,255,255,.7)}
nav a[aria-current]{color:var(--plum);background:var(--bg);box-shadow:0 2px 8px rgba(74,43,33,.09)}
nav a.btn{padding:11px 22px;margin-left:4px;border:1.5px solid var(--brown);box-shadow:none}nav a.btn:hover{color:#fff;background:var(--brown-d);border-color:var(--brown-d)}
.burger{display:none;background:var(--wash);border:1px solid rgba(74,43,33,.16);border-radius:24px;padding:9px 17px;color:var(--ink);font:400 .92rem var(--sans);cursor:pointer;transition:background .2s,color .2s}
.burger:hover{background:var(--brown);color:#fff}
/* ph = emplacement photo */
.ph{position:relative;background:var(--img,none) center/cover,repeating-linear-gradient(135deg,var(--ph1) 0 16px,var(--ph2) 16px 32px);display:grid;place-items:center;text-align:center;overflow:hidden;min-height:180px}
.ph small{background:color-mix(in srgb,var(--bg) 88%,transparent);padding:8px 14px;border-radius:30px;font-size:.78rem;max-width:84%;line-height:1.35}
.ph.has small{display:none}
.conception-hand{background-position:center 8%,center}
.r43{aspect-ratio:4/3}.r34{aspect-ratio:3/4}.r45{aspect-ratio:4/5}.r169{aspect-ratio:16/9}
.arch{border-radius:16px}.rnd{border-radius:10px}
/* accueil */
.hero{padding:70px 0 90px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.lead{font-size:1.2rem;color:var(--mute)}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.ring{position:relative;aspect-ratio:1;border-radius:50%;border:3px dotted var(--plum);padding:22px}
.ring .ph{height:100%;border-radius:50%}
.badge{position:absolute;right:-6px;bottom:8%;background:var(--plum);color:#fff;border-radius:50%;width:132px;height:132px;display:grid;place-items:center;text-align:center;font-family:var(--serif);font-size:1.05rem;line-height:1.15;padding:14px}
.badge b{display:block;font-size:2rem;font-weight:500}
.band{background:linear-gradient(105deg,#eee0d5 0%,#f3e3e9 52%,#eee5dc 100%);border-block:1px solid rgba(154,42,114,.2);padding:28px 0;color:var(--brown)}
.band ul{display:flex;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-family:var(--serif);font-size:1.25rem}
.head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:44px}
.head p{margin:0;color:var(--mute)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.split.rev{grid-template-columns:1.1fr .9fr}.split.rev>:first-child{order:2}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.facts div{border-top:2px dotted var(--plum);padding-top:12px;font-size:.92rem;color:var(--mute);line-height:1.4}
.facts b{display:block;font-family:var(--serif);font-size:2.2rem;color:var(--plum);font-weight:500;line-height:1.1}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px}
.svc a{text-decoration:none;display:block}
.svc .ph{border-radius:16px;margin-bottom:18px}
.svc p{font-size:.97rem;color:var(--mute);margin:0}
.svc a:hover h3{color:var(--plum)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{padding:12px 12px 16px;background:linear-gradient(145deg,rgba(255,251,246,.92),rgba(248,238,241,.94));border:1px solid rgba(120,75,71,.1);border-radius:16px;box-shadow:0 7px 22px rgba(74,43,33,.055);transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-4px);border-color:rgba(154,42,114,.22);box-shadow:0 14px 30px rgba(74,43,33,.11)}
.card h3{font-size:1.35rem;margin:14px 0 2px}.card p{font-size:.92rem;color:var(--mute);margin:0}.card[hidden]{display:none}
.gallery-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:var(--soft)}
.gallery-photo{cursor:zoom-in}
.gallery-photo:focus-visible{outline-offset:5px}
.photo-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:60px 76px 30px;border:0;background:rgba(18,13,16,.94);color:#fff}
.photo-lightbox[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:minmax(0,1fr);align-items:center;gap:20px}
.photo-lightbox::backdrop{background:rgba(18,13,16,.94)}
.photo-lightbox figure{grid-column:2;grid-row:1;min-width:0;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 130px);object-fit:contain}
.photo-lightbox figcaption{max-width:100%;text-align:center;font:500 1.2rem/1.35 var(--serif)}
.photo-lightbox button{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);border-radius:50%;cursor:pointer}
.photo-lightbox button:hover{background:var(--plum)}
.lightbox-close{position:absolute;top:18px;right:22px;width:44px;height:44px;font-size:2rem;line-height:1}
.lightbox-prev,.lightbox-next{grid-row:1;width:48px;height:48px;font-size:2.6rem;line-height:1}
.lightbox-prev{grid-column:1}.lightbox-next{grid-column:3}
@media(max-width:560px){.photo-lightbox{padding:64px 12px 24px}.photo-lightbox[open]{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}.lightbox-prev,.lightbox-next{width:38px;height:38px;font-size:2rem}.lightbox-image{max-height:calc(100vh - 120px)}.lightbox-close{top:12px;right:12px}}
.more{margin-top:40px;text-align:center}
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.vals div{text-align:center}
.vals i{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 14px;border-radius:50%;border:1px solid rgba(154,42,114,.24);background:linear-gradient(145deg,#f0e2da,#f6e7ef);font-style:normal;font-size:1.7rem}
.vals h3{font-size:1.25rem}.vals p{font-size:.94rem;color:var(--mute);margin:0 auto}
.final{text-align:center;background:linear-gradient(120deg,#f0e4dd,#f7eaf0 55%,#f0ebe2);border-top:1px solid rgba(154,42,114,.16)}
.final p{margin:0 auto 28px}
/* pages intérieures */
.phead{padding:70px 0 54px;border-bottom:1px dotted var(--line)}
.phead p{color:var(--mute);font-size:1.15rem}
.srv{padding:76px 0;border-bottom:1px dotted var(--line)}.srv:last-of-type{border:0}
.srv ul{padding:0;margin:0 0 1.2em;list-style:none}
.srv li{padding:7px 0 7px 26px;position:relative;border-bottom:1px dotted var(--line)}
.srv li:before{content:"";position:absolute;left:0;top:17px;width:9px;height:9px;border-radius:50%;background:var(--plum)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.conception-plans{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;border-left:2px dotted var(--plum);padding-left:20px}
.steps li:before{content:counter(s);font-family:var(--serif);font-size:2.6rem;color:var(--plum);line-height:1}
.steps h3{font-size:1.3rem;margin:.2em 0 .3em}.steps p{font-size:.95rem;color:var(--mute);margin:0}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.filters button{background:none;border:1.5px solid var(--line);color:var(--ink);padding:9px 20px;border-radius:30px;font:400 .92rem var(--sans);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--plum);border-color:var(--plum);color:#fff}
.faq{max-width:780px}
details{border-bottom:1px dotted var(--line);padding:18px 0}
summary{cursor:pointer;font-family:var(--serif);font-size:1.4rem;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--plum);font-size:1.6rem;line-height:1}
details[open] summary:after{content:"–"}details p{margin:12px 0 0;color:var(--mute)}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}
.info{list-style:none;padding:0;margin:30px 0 0}.info li{margin-bottom:16px}.info b{display:block;font-weight:500}.info a{text-decoration:none;color:var(--plum)}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:34px;border-radius:18px;border:1px solid rgba(154,42,114,.2);background:linear-gradient(140deg,rgba(248,238,241,.6),rgba(246,237,227,.7));box-shadow:0 10px 28px rgba(74,43,33,.045)}
label{display:grid;gap:6px;font-size:.88rem}.full{grid-column:1/-1}
input,select,textarea{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:8px;padding:12px 14px;width:100%}
select option{color:#222}textarea{min-height:130px;resize:vertical}form small{color:var(--mute)}
.legal h2{font-size:1.7rem;margin-top:1.6em}
footer{border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--brown),var(--plum),#c8997a) 1;background:linear-gradient(110deg,#eee3d9,#f4e7ed 52%,#eee7de);padding:38px 0;font-size:.9rem;color:var(--mute)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
footer img{height:54px;background:transparent;border-radius:0;padding:0}
.facebook-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;border-radius:50%;background:#1877f2;color:#fff;text-decoration:none;transition:transform .2s,background .2s}
.facebook-link:hover{background:#0d65d9;transform:translateY(-2px)}
.facebook-link svg{display:block;width:19px;height:19px;fill:currentColor}
.presentation-facebook{display:flex;align-items:center;gap:10px;color:var(--mute)}
.presentation-facebook .facebook-link{width:32px;height:32px}
.presentation-facebook .facebook-link svg{width:17px;height:17px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:900px){
section{padding:60px 0}.srv{padding:56px 0}
.hero .wrap,.split,.split.rev,.contact{grid-template-columns:1fr;gap:36px}.split.rev>:first-child{order:0}
.svc,.grid,.vals,.steps{grid-template-columns:1fr 1fr}
.ring{max-width:420px;margin:0 auto;width:100%}
.burger{display:block}
nav ul{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:color-mix(in srgb,var(--bg) 97%,white);flex-direction:column;align-items:stretch;padding:12px;border:1px solid rgba(74,43,33,.1);border-radius:18px;box-shadow:0 16px 38px rgba(74,43,33,.14);gap:4px}
nav ul.open{display:flex}
nav a{display:block;padding:11px 16px}
nav a[aria-current]{box-shadow:none;background:var(--soft)}
nav a.btn{margin:6px 0 0;text-align:center}}
@media(max-width:560px){
.svc,.grid,.vals,.steps,form,.pair{grid-template-columns:1fr}
.conception-plans{grid-template-columns:1fr}
.brand span{display:block;font-size:1rem}.badge{width:108px;height:108px;font-size:.9rem}.badge b{font-size:1.6rem}}
/* ---------- libellule ---------- */
.libe{width:150px;height:150px;color:var(--plum);overflow:visible;fill:none;display:block}
.libe .wf{fill:currentColor;fill-opacity:.09}
.libe .dt{stroke-dasharray:.1 5;stroke-width:2}
.libe .w{transform-origin:70px 44px;animation:flutter .5s ease-in-out infinite alternate}
.libe .w3,.libe .w4{animation-delay:.25s}
.libe.sm{display:inline-block;width:.9em;height:.9em;margin-left:.25em;vertical-align:-.05em;transform:rotate(32deg);animation:perch 4s ease-in-out infinite alternate}
.libe.mid{width:90px;height:90px;margin:0 auto 14px;transform:rotate(-12deg);animation:perch 5s ease-in-out infinite alternate}
@keyframes flutter{from{transform:scaleY(1)}to{transform:scaleY(.72)}}
@keyframes perch{from{translate:0 0;rotate:0deg}to{translate:0 -6px;rotate:5deg}}
/* ---------- hero plein écran ---------- */
.hero2{position:relative;min-height:calc(100vh - 78px);min-height:calc(100svh - 78px);display:grid;align-items:center;overflow:hidden;color:#fff;padding:0}
.hbg{position:absolute;inset:0;min-height:0;border-radius:0;background:var(--img,none) center/cover,linear-gradient(135deg,#2c4a35,#6d8a55);animation:kb 26s ease-in-out infinite alternate}
.hbg small{position:absolute;right:20px;bottom:20px;max-width:60%}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09) translate(-1%,-1%)}}
.veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,18,22,.74),rgba(35,18,22,.42) 62%,rgba(35,18,22,.22)),linear-gradient(0deg,rgba(35,18,22,.45),transparent 40%)}
.ringwrap{position:absolute;right:-9vw;top:50%;width:min(78vw,700px);aspect-ratio:1;margin-top:calc(min(78vw,700px)/-2);opacity:.55;animation:fade 2s 1s both}
.ringwrap svg{width:100%;height:100%;animation:spin 120s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fade{from{opacity:0}to{opacity:.55}}
.hcontent{position:relative;z-index:2;padding-block:80px}
.hcontent .t{position:relative;display:inline-block;max-width:880px}
.hcontent h1{font-size:clamp(2.9rem,7.4vw,6rem);margin-bottom:.35em;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hcontent h1 .l{display:block}
.hcontent .dots{border-color:#f6a6d3;opacity:.9}
.hcontent .lead{color:rgba(255,255,255,.9);max-width:54ch}
.hero2 .btn.line{color:#fff;border-color:#fff}.hero2 .btn.line:hover{background:#fff;color:var(--plum-d)}
.fly{position:absolute;right:-40px;top:-125px;animation:fly 3.6s .5s cubic-bezier(.2,.7,.25,1) both}
.fly.has-arrived{animation:none}
.libe.big{width:170px;height:170px;color:#f6a6d3;transform:rotate(34deg);filter:drop-shadow(0 4px 12px rgba(0,0,0,.25));animation:perch 4.5s 4s ease-in-out infinite alternate}
@keyframes fly{0%{transform:translate(-75vw,45vh) rotate(-25deg) scale(.45);opacity:0}12%{opacity:1}55%{transform:translate(-26vw,-6vh) rotate(8deg) scale(.85)}100%{transform:none;opacity:1}}
.hcontent .dots,.hcontent h1 .l,.hcontent .lead,.hcontent .cta{animation:up 1s both}
.hcontent .dots{animation-delay:.2s}.hcontent h1 .l:nth-child(1){animation-delay:.4s}.hcontent h1 .l:nth-child(2){animation-delay:.7s}
.hcontent .lead{animation-delay:1.05s}.hcontent .cta{animation-delay:1.3s}
@keyframes up{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}
.cue{position:absolute;left:50%;bottom:22px;height:54px;border-left:3px dotted #fff;opacity:.8;animation:cue 2.2s 2s ease-in-out infinite}
@keyframes cue{0%,100%{transform:translateY(0);opacity:.3}50%{transform:translateY(10px);opacity:.9}}
/* ---------- en-têtes de pages ---------- */
.phead .wrap>*{animation:up .9s both}.phead .wrap>:nth-child(2){animation-delay:.15s}.phead .wrap>:nth-child(3){animation-delay:.3s}
header{transition:box-shadow .3s}header.scrolled{box-shadow:0 6px 24px rgba(74,43,33,.12)}
header .bar{transition:height .3s}header.scrolled .bar{height:64px}header.scrolled .brand img{height:48px}.brand img{transition:height .3s}
/* ---------- apparition au scroll + survols ---------- */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.25,1)}
.js .rv.in{opacity:1;transform:none}
.card .ph,.svc .ph,.srv .ph{transition:transform .5s cubic-bezier(.2,.7,.25,1),box-shadow .5s}
.card:hover .ph,.svc a:hover .ph,.srv .ph:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 34px rgba(74,43,33,.2)}
.vals i{transition:transform .5s,background .3s}.vals div:hover i{transform:rotate(20deg) scale(1.08);background:var(--soft)}
.btn{transition:background .25s,color .25s,transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(154,42,114,.28)}
details{transition:background .3s}details[open]{background:var(--soft);padding-inline:16px}
@media(max-width:900px){.fly{right:-6px;top:-92px}.libe.big{width:112px;height:112px}.ringwrap{right:-35vw}}
@media(prefers-reduced-motion:reduce){
*,*:before,*:after{animation:none!important;transition:none!important}
.js .rv{opacity:1;transform:none}.fly{transform:none}.ringwrap{opacity:.55}}
/* libellule fidèle au logo */
.libe{width:170px;height:auto;aspect-ratio:300/258;stroke-width:3;fill:none}
.libe .wf{fill:currentColor;fill-opacity:.05;stroke-width:3}
.libe .dt{fill:none;stroke-width:3.4;stroke-dasharray:.1 7}
.libe .bd{fill:none;stroke-width:3}
.libe .w{transform-origin:215px 168px;animation:flap .55s ease-in-out infinite alternate}
.libe .w:nth-of-type(3),.libe .w:nth-of-type(4){animation-delay:.27s}
@keyframes flap{from{transform:rotate(-2.5deg) scale(1)}to{transform:rotate(2.5deg) scale(.965)}}
.libe.sm{width:1.25em;height:auto;margin-left:.3em;vertical-align:-.12em;transform:none;stroke-width:9}
.libe.sm .wf,.libe.sm .bd{stroke-width:9}.libe.sm .dt{stroke-width:10;stroke-dasharray:.1 16}
.libe.mid{width:120px;height:auto;margin:0 auto 14px;transform:none;stroke-width:5}
.libe.mid .wf,.libe.mid .bd{stroke-width:5}.libe.mid .dt{stroke-width:5.5;stroke-dasharray:.1 10}
.libe.big{width:210px;height:auto;transform:none;stroke-width:3.4;color:#f6a6d3}
@media(max-width:900px){.libe.big{width:130px}.fly{top:-80px}}
.libe{stroke-width:2.4}.libe .wf,.libe .bd{stroke-width:2.4}.libe .dt{stroke-width:2.6;stroke-dasharray:.1 6.5}
.libe.big{stroke-width:2.6}.libe.big .wf,.libe.big .bd{stroke-width:2.6}
.libe .wf{fill:url(#wing-glow);fill-opacity:.88;stroke-opacity:.45}
.libe .vein{fill:none;stroke:currentColor;stroke-width:.8;stroke-opacity:.42}
.libe .abdomen,.libe .thorax{fill:url(#body-glow);stroke:#4a2b21;stroke-width:2}
.libe .segments{fill:none;stroke:#4a2b21;stroke-width:1.8;stroke-opacity:.82}
.libe .legs{fill:none;stroke:#4a2b21;stroke-width:2;stroke-opacity:.9}
.libe .head{fill:url(#body-glow);stroke:#4a2b21;stroke-width:2}
.libe .eye{fill:#4a2b21;stroke:#f6c2dd;stroke-width:1}
/* diaporama du hero : change toutes les 3 s */
.slides{position:absolute;inset:0;animation:kb 30s ease-in-out infinite alternate}
.hbg{animation:none;opacity:0;transition:opacity 1.2s ease}
.hbg.on{opacity:1}
.hbg:nth-child(1){background:var(--img,none) center/cover,linear-gradient(135deg,#2c4a35,#6d8a55)}
.hbg:nth-child(2){background:var(--img,none) center/cover,linear-gradient(135deg,#4a3a2c,#9a8a5a)}
.hbg:nth-child(3){background:var(--img,none) center/cover,linear-gradient(135deg,#2c4a4a,#5a9484)}
.hbg:nth-child(4){background:var(--img,none) center/cover,linear-gradient(135deg,#4a2c42,#9a5a8a)}
.hbg:nth-child(5){background:var(--img,none) center/cover,linear-gradient(135deg,#3b4835,#85936b)}
.hbg:nth-child(6){background:var(--img,none) center/cover,linear-gradient(135deg,#493b32,#a38a68)}
.hbg:nth-child(7){background:var(--img,none) center/cover,linear-gradient(135deg,#4a4130,#a99358)}
.hbg:nth-child(8){background:var(--img,none) center/cover,linear-gradient(135deg,#4a4130,#a99358)}
.sdots{position:absolute;z-index:3;left:max(24px,calc((100vw - 1160px)/2 + 24px));bottom:26px;display:flex;gap:10px}
.sdots i{width:9px;height:9px;border-radius:50%;border:1.5px solid #fff;opacity:.7;transition:background .3s,transform .3s}
.sdots i.on{background:#f6a6d3;border-color:#f6a6d3;transform:scale(1.25);opacity:1}
@media(prefers-reduced-motion:reduce){.hbg{transition:none}}
.hcontent{padding-top:110px}.fly{top:-62px}
@media(max-width:900px){.hcontent{padding-top:130px}.fly{top:-92px;right:-4px}}
.fly.follow{position:fixed;top:88px;right:18px;z-index:19;animation:none}
.fly.follow .libe.big{width:164px;height:auto;filter:drop-shadow(0 3px 8px rgba(74,43,33,.2))}
@media(max-width:900px){.fly.follow{top:76px;right:12px}.fly.follow .libe.big{width:136px}}
.libe .wf{fill:none;fill-opacity:0;stroke:currentColor;stroke-opacity:1}
.libe .dt{fill:none;stroke:currentColor;stroke-dasharray:.1 7;stroke-width:2.6}
.libe .vein,.libe .segments,.libe .legs{display:none}
.libe .abdomen,.libe .thorax,.libe .head{fill:none;stroke:currentColor;stroke-width:2.4}
.libe .eye{fill:currentColor;stroke:none}
.libe.big{color:#f3a3c5}
