:root{
 --deep:#025a61;--deep-dk:#013c41;--gold:#f0a028;--gold-dk:#c9821c;
 --cream:#f7f1e6;--cream-2:#fdfaf4;--paper:#fffefb;--sand:#efe3cd;
 --ink:#12312f;--muted:#6f8b8c;--line:#e2d8c6;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Open Sans',system-ui,sans-serif;line-height:1.65}
h1,h2,h3{font-weight:700;letter-spacing:-.015em;text-wrap:balance}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding:0 5vw}
.topbar{background:var(--deep);color:var(--cream);text-align:center;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;padding:.5rem 1rem}
.topbar b{color:var(--gold);font-weight:600}
header{background:var(--paper);padding:.9rem 5vw;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.brand{display:block;line-height:0}
.brand img{height:58px;width:auto;display:block}
nav a{text-decoration:none;margin-left:1.7rem;font-size:.9rem;color:var(--deep);font-weight:600;padding-bottom:2px;border-bottom:2px solid transparent}
nav a:hover,nav a.on{border-bottom-color:var(--gold)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hero-wrap{background:var(--paper);border-bottom:1px solid var(--line)}
.hero-split{display:grid;grid-template-columns:1.02fr .98fr;gap:3.5rem;align-items:center;max-width:1240px;margin:0 auto;padding:0 5vw}
.hero{padding:4.5rem 0 4rem;max-width:620px}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);margin:0 0 1.2rem;line-height:1.1;color:var(--deep)}
.hero h1 em{font-style:normal;color:var(--gold-dk);display:block}
.hero p{font-size:1.08rem;max-width:33em;color:var(--muted)}
.hero-img{position:relative;padding:3rem 1.4rem 3rem 0}
.hero-img::before{content:"";position:absolute;left:1.6rem;top:1.4rem;right:0;bottom:1.4rem;background:var(--deep)}
.hero-img::after{content:"";position:absolute;right:0;top:.4rem;width:88px;height:88px;background:var(--gold)}
.hero-img img{position:relative;z-index:1;width:100%;max-height:70vh;object-fit:cover;display:block}
.hero-caption{position:absolute;z-index:2;bottom:3.9rem;left:0;background:var(--gold);color:var(--deep-dk);padding:.35rem 1rem;font-size:.78rem;font-weight:700}
.kicker{text-transform:uppercase;letter-spacing:.25em;font-size:.73rem;color:var(--gold-dk);margin-bottom:.5rem;font-weight:600}
.facts{background:var(--deep);color:var(--cream)}
.facts .row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.facts .f{padding:1.7rem 5vw;border-left:1px solid rgba(240,160,40,.25)}
.facts .f:first-child{border-left:0}
.facts .n{font-size:1.85rem;font-weight:700;color:var(--gold);line-height:1}
.facts .l{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,241,230,.8);margin-top:.35rem}
section{padding:4rem 5vw}
.section-head{max-width:1240px;margin:0 auto 2.2rem;border-top:3px solid var(--gold);padding-top:1.2rem}
h2{font-size:clamp(1.5rem,2.7vw,2.15rem);margin:.1rem 0 .5rem;color:var(--deep)}
.meta{color:var(--muted);font-size:.9rem}
#collection{padding-left:0;padding-right:0}
#collection .section-head{padding-left:5vw;padding-right:5vw}
.board{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.tile{position:relative;text-decoration:none;display:block;aspect-ratio:3/4;overflow:hidden;border-right:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}
.tile.t-deep{background:var(--deep)}
.tile.t-gold{background:var(--gold)}
.tile.t-sand{background:var(--sand)}
.tile.t-dk{background:var(--deep-dk)}
.tile.t-photo{background:#0d2422}
.tile .cut{position:absolute;inset:7% 9% 14%;object-fit:contain;width:82%;height:79%;filter:drop-shadow(0 14px 26px rgba(0,0,0,.22));transition:transform .35s,opacity .3s}
.tile .full{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s}
.tile:hover .cut{transform:scale(1.05) translateY(-4px)}
.tile:hover .full{transform:scale(1.05)}
.tile .swap{opacity:0}
.tile:hover .swap{opacity:1}
.tile:hover .base{opacity:0}
.tile .lab{position:absolute;left:0;right:0;bottom:0;padding:.85rem .95rem;z-index:3;background:linear-gradient(to top,rgba(1,60,65,.94),rgba(1,60,65,.72) 62%,transparent);color:#fff}
.tile.t-sand .lab{background:linear-gradient(to top,rgba(239,227,205,.97),rgba(239,227,205,.78) 62%,transparent);color:var(--deep)}
.tile.t-gold .lab{background:linear-gradient(to top,rgba(240,160,40,.97),rgba(240,160,40,.75) 62%,transparent);color:var(--deep-dk)}
.tile .lab>span{display:block}
.tile .t{font-weight:700;font-size:1rem;line-height:1.2}
.tile .m{font-size:.8rem;opacity:.85;margin-top:.15rem}
.tile .p{font-weight:700;font-size:.95rem;margin-top:.3rem}
.tile .num{position:absolute;top:.7rem;right:.85rem;z-index:3;font-size:.7rem;letter-spacing:.1em;font-weight:600;color:rgba(255,255,255,.8)}
.tile.t-sand .num{color:var(--deep)}
.tile.t-gold .num{color:var(--deep-dk)}
.tile .flip{position:absolute;top:.7rem;left:.85rem;z-index:3;width:20px;height:20px;border-radius:50%;background:var(--gold);color:var(--deep-dk);font-size:.62rem;font-weight:700;display:grid;place-items:center}
.tile .sold-badge{position:absolute;top:.7rem;left:.85rem;z-index:3;background:var(--deep-dk);color:var(--gold);padding:.2rem .65rem;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.tile.is-sold .cut,.tile.is-sold .full{filter:grayscale(.6) opacity(.72)}
.story{background:var(--deep);color:var(--cream)}
.story .kicker{color:var(--gold)}
.story h2{color:#fff}
.story p{color:rgba(247,241,230,.88)}
.story .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem;max-width:1240px;margin:2.2rem auto 0;counter-reset:step}
.story .cols>div{position:relative;padding-top:2.6rem}
.story .cols>div::before{content:counter(step,decimal-leading-zero);counter-increment:step;position:absolute;top:0;left:0;font-size:1.5rem;font-weight:700;color:var(--gold)}
.story h3{margin:.1rem 0 .6rem;color:var(--gold);font-size:1.12rem}
.cta{display:inline-block;background:var(--gold);color:var(--deep-dk);padding:.95rem 2.1rem;text-decoration:none;letter-spacing:.05em;margin-top:1rem;font-weight:700;border:2px solid var(--gold);transition:background .18s,color .18s;cursor:pointer}
.cta:hover{background:var(--deep);border-color:var(--deep);color:var(--cream)}
.cta.ghost{background:transparent;color:var(--deep);border-color:var(--deep)}
.cta.ghost:hover{background:var(--deep);color:var(--cream)}
footer{background:var(--deep-dk);color:rgba(247,241,230,.82);padding:3rem 5vw;font-size:.88rem;border-top:4px solid var(--gold)}
footer strong{color:var(--gold)}
footer a{color:var(--gold)}
@media(max-width:1000px){.board{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.hero-split{grid-template-columns:1fr;gap:0}.hero{padding:3rem 0 1rem}.hero-img{padding:1rem 1.2rem 2.5rem 0}}
@media(max-width:760px){.brand img{height:46px}nav a{margin:0 1.1rem 0 0;font-size:.85rem}.facts .f{border-left:0;border-top:1px solid rgba(240,160,40,.25);padding:1.2rem 5vw}}
.fiche{display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(300px,.95fr);gap:3.5rem;padding:3rem 5vw 1rem;max-width:1240px;margin:0 auto;align-items:start}
.shots{display:grid;gap:1rem}
.shots>img{width:100%;height:auto;border:1px solid var(--line);background:var(--paper);display:block}
.shots .frame{background:var(--deep);display:grid;place-items:center;padding:1.5rem;aspect-ratio:3/4}
.shots .frame img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(0,0,0,.28))}
.back{display:inline-block;font-size:.84rem;color:var(--muted);text-decoration:none;margin-bottom:.9rem}
.back:hover{color:var(--gold-dk)}
.fiche h1{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:.1rem 0 .1rem;color:var(--deep);line-height:1.08}
.hook{font-size:1.22rem;line-height:1.5;color:var(--ink);margin:1rem 0 1.4rem;padding-left:1.1rem;border-left:4px solid var(--gold);font-weight:600}
.priceline{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0 0 .3rem}
.priceline .p{font-size:1.9rem;font-weight:700;color:var(--ink)}
.priceline .s{font-size:.92rem;color:var(--muted)}
.tellings{margin-top:1.8rem;display:grid;gap:1.1rem}
.telling h3{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk);margin:0 0 .3rem}
.telling p{margin:0;font-size:.97rem;color:var(--ink);line-height:1.6}
.craft{margin-top:1.6rem;font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem}
.craft b{color:var(--deep)}
.smbox{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold);padding:1.1rem 1.3rem;margin-top:1.5rem;font-size:.93rem}
.smbox a{color:var(--gold-dk);font-weight:600}
.more{background:var(--paper);border-top:1px solid var(--line);padding:3rem 5vw}
.more .grid4{max-width:1240px;margin:1.4rem auto 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.2rem}
.more a{text-decoration:none;display:block}
.more .im{aspect-ratio:3/4;background:var(--sand);overflow:hidden;position:relative}
.more .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.more .im img.cut{inset:7% 9%;width:82%;height:86%;object-fit:contain}
.more .nm{font-weight:700;font-size:.92rem;color:var(--deep);margin-top:.5rem}
.more .mt{font-size:.8rem;color:var(--muted)}
@media(max-width:860px){.fiche{grid-template-columns:1fr;gap:1.8rem;padding-top:1.5rem}}
.sm-hero{background:var(--deep);color:var(--cream);padding:0;border-bottom:4px solid var(--gold)}
.sm-hero .in{max-width:1240px;margin:0 auto;padding:4rem 5vw;display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.sm-hero .in{grid-template-columns:1.1fr .9fr}}
.sm-hero h1{font-size:clamp(2.1rem,4.6vw,3.3rem);color:#fff;margin:0 0 1rem;line-height:1.08}
.sm-hero h1 em{font-style:normal;color:var(--gold);display:block}
.sm-hero p{color:rgba(247,241,230,.9);font-size:1.08rem;max-width:38em}
.sm-hero .kicker{color:var(--gold)}
.sm-hero .im{position:relative}
.sm-hero .im img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid rgba(240,160,40,.3)}
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.2rem;max-width:1240px;margin:2rem auto 0}
.pcard{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--gold);padding:1.3rem 1.4rem}
.pcard .c{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:700}
.pcard .v{font-size:1.9rem;font-weight:700;color:var(--deep);line-height:1.1;margin:.25rem 0 .1rem}
.pcard .d{font-size:.88rem;color:var(--muted)}
.steps4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem;max-width:1240px;margin:2rem auto 0;counter-reset:s}
.steps4>div{position:relative;padding-top:2.4rem;border-top:2px solid var(--sand)}
.steps4>div::before{content:counter(s,decimal-leading-zero);counter-increment:s;position:absolute;top:.7rem;left:0;font-weight:700;color:var(--gold);font-size:1.2rem}
.steps4 h3{font-size:1rem;margin:0 0 .3rem;color:var(--deep)}
.steps4 p{font-size:.92rem;color:var(--muted);margin:0}
form.q{max-width:900px;margin:2rem auto 0}
fieldset{border:0;border-top:2px solid var(--gold);padding:1.4rem 0 1.8rem;margin:0 0 .6rem}
legend{font-family:inherit;font-weight:700;color:var(--deep);font-size:1.12rem;padding:0 .8rem 0 0}
legend small{display:block;font-weight:400;font-size:.85rem;color:var(--muted);margin-top:.2rem}
.row{display:grid;gap:1rem;margin-top:1rem}
@media(min-width:640px){.row.two{grid-template-columns:1fr 1fr}.row.three{grid-template-columns:repeat(3,1fr)}}
label.f{display:block;font-size:.85rem;font-weight:600;color:var(--deep);margin-bottom:.32rem}
label.f span{font-weight:400;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
 width:100%;padding:.68rem .8rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);
 font-family:inherit;font-size:.95rem;border-radius:0}
textarea{min-height:92px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;margin:0;cursor:pointer}
.chip span{display:block;padding:.5rem .95rem;border:1px solid var(--line);background:var(--paper);font-size:.9rem;cursor:pointer;transition:.15s}
.chip input:checked+span{background:var(--deep);color:var(--cream);border-color:var(--deep);font-weight:600}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.hint{font-size:.85rem;color:var(--muted);margin:.45rem 0 0}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;align-items:center}
.summary{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--deep);padding:1.2rem 1.3rem;margin-top:1.6rem;white-space:pre-wrap;font-size:.9rem;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.total{background:var(--sand);padding:1.1rem 1.3rem;margin-top:1.2rem;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.6rem}
.total .tl{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.total .tv{font-size:1.7rem;font-weight:700;color:var(--deep)}
.ok{color:var(--deep);font-weight:600;font-size:.9rem}
.hook{font-size:1.2rem}
.fiche .lead{margin:1.6rem 0 0;font-size:1rem;line-height:1.65;color:var(--ink)}
.fiche .uniq{margin:1.1rem 0 0;font-size:.95rem;color:var(--ink);background:var(--paper);border-left:4px solid var(--deep);padding:.9rem 1.1rem}
.fiche .uniq b{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--deep);margin-bottom:.25rem}
.fiche details{border-top:1px solid var(--line);padding:.75rem 0}
.fiche details:last-of-type{border-bottom:1px solid var(--line)}
.fiche summary{cursor:pointer;font-weight:700;color:var(--deep);font-size:.92rem;list-style:none;display:flex;justify-content:space-between}
.fiche summary::after{content:"+";color:var(--gold-dk);font-size:1.1rem;line-height:1}
.fiche details[open] summary::after{content:"–"}
.fiche details ul{margin:.6rem 0 0;padding-left:1.1rem;font-size:.92rem;color:var(--ink)}
.fiche details p{margin:.6rem 0 0;font-size:.92rem;color:var(--muted)}
.infos{margin-top:1.4rem}
body{font-family:'Open Sans',system-ui,-apple-system,'Hiragino Sans','PingFang SC','Apple SD Gothic Neo','Noto Sans CJK JP','Noto Sans CJK SC','Noto Sans CJK KR',sans-serif}
:lang(ja) body,:lang(zh-Hans) body,:lang(ko) body{line-height:1.8}
/* ---- sélecteur de langue ---- */
.hdr-right{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.langs{position:relative}
.langs summary{list-style:none;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--deep);border:1px solid var(--line);padding:.35rem .7rem;background:var(--paper);display:flex;gap:.4rem;align-items:center}
.langs summary::-webkit-details-marker{display:none}
.langs summary::before{content:"🌐"}
.langs[open] summary{border-color:var(--gold)}
.langs ul{position:absolute;right:0;top:calc(100% + 4px);z-index:50;margin:0;padding:.4rem 0;list-style:none;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.12);min-width:180px;max-height:70vh;overflow:auto}
.langs li a{display:block;padding:.45rem 1rem;text-decoration:none;font-size:.9rem;color:var(--ink)}
.langs li a:hover,.langs li a[aria-current]{background:var(--sand);color:var(--deep);font-weight:600}
nav a{margin-left:1.3rem}
/* ---- filtres collection ---- */
.filters{max-width:1240px;margin:0 auto 1.6rem;padding:0 5vw}
.fmodes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}
.fmodes button,.fchips button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--deep);padding:.5rem 1rem;font-size:.9rem;font-weight:600}
.fmodes button[aria-pressed="true"]{background:var(--deep);color:var(--cream);border-color:var(--deep)}
.fchips{display:flex;flex-wrap:wrap;gap:.45rem}
.fchips[hidden]{display:none}
.fchips button{font-weight:400;padding:.4rem .85rem;font-size:.86rem}
.fchips button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--deep-dk);font-weight:700}
.fchips button span{opacity:.6;margin-left:.3rem;font-size:.8em}
.tile[hidden]{display:none}
.board.filtered .tile .flip{display:none}
/* ---- coupes (sur mesure) ---- */
.cuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.4rem;max-width:1240px;margin:2rem auto 0}
.cutcard{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}
.cutcard .ph{aspect-ratio:3/4;overflow:hidden;background:var(--deep);position:relative}
.cutcard .ph img{width:100%;height:100%;object-fit:cover;display:block}
.cutcard .ph.g{background:var(--gold)}.cutcard .ph.g img{object-fit:contain;padding:8%;filter:drop-shadow(0 14px 24px rgba(0,0,0,.25))}
.cutcard .tx{padding:1rem 1.1rem 1.2rem}
.cutcard h3{margin:0 0 .3rem;color:var(--deep);font-size:1.08rem}
.cutcard p{margin:0;font-size:.9rem;color:var(--muted)}
.cutcard .pr{margin-top:.7rem;font-weight:700;color:var(--ink);font-size:.95rem}
.bigprice{font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;color:var(--gold-dk);line-height:1;margin:.2rem 0 .6rem}
/* ---- mariage ---- */
.wed-hero .in{max-width:1240px;margin:0 auto;padding:4rem 5vw;display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.wed-hero .in{grid-template-columns:1.1fr .9fr}}
.twocol{max-width:1240px;margin:0 auto;display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.twocol{grid-template-columns:1fr 1fr}}
.twocol img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.prose p{font-size:1.05rem;line-height:1.75;max-width:40em}
.makes{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}
.makes li{background:var(--paper);border-left:3px solid var(--gold);padding:.7rem .9rem;font-weight:600;color:var(--deep);font-size:.95rem}
.sape{background:var(--deep-dk);color:var(--cream)}
.sape h2{color:#fff}.sape .kicker{color:var(--gold)}.sape p{color:rgba(247,241,230,.9)}
.faq{max-width:900px;margin:1.6rem auto 0}
.faq details{border-top:1px solid var(--line);padding:1rem 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:700;color:var(--deep);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::after{content:"+";color:var(--gold-dk);font-size:1.2rem}
.faq details[open] summary::after{content:"–"}
.faq p{margin:.7rem 0 0;color:var(--ink);line-height:1.7}
textarea.big{min-height:170px}
input[type=date]{width:100%;padding:.68rem .8rem;border:1px solid var(--line);background:var(--paper);font:inherit}
.devis{background:var(--sand);padding:1.1rem 1.3rem;margin-top:1.2rem;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.6rem}
.devis .tv{font-size:1.5rem;font-weight:700;color:var(--deep)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--paper);padding:.5rem 1rem}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}
/* ---- carrousel des en-têtes ---- */
.carousel{position:relative;aspect-ratio:4/5;max-height:74vh;width:100%;overflow:hidden;background:var(--deep-dk)}
.hero-img .carousel{z-index:1}
.carousel img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover;opacity:0;
 animation:carrousel 20s infinite;border:0!important;aspect-ratio:auto!important}
.carousel img:nth-child(1){animation-delay:0s}
.carousel img:nth-child(2){animation-delay:5s}
.carousel img:nth-child(3){animation-delay:10s}
.carousel img:nth-child(4){animation-delay:15s}
@keyframes carrousel{0%{opacity:0;transform:scale(1.04)}4%{opacity:1}25%{opacity:1}29%{opacity:0;transform:scale(1)}100%{opacity:0}}
.carousel .dots{position:absolute;bottom:.8rem;left:0;right:0;display:flex;justify-content:center;gap:.4rem;z-index:3}
.carousel .dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);animation:point 20s infinite}
.carousel .dots i:nth-child(2){animation-delay:5s}.carousel .dots i:nth-child(3){animation-delay:10s}.carousel .dots i:nth-child(4){animation-delay:15s}
@keyframes point{0%,24%{background:var(--gold)}25%,100%{background:rgba(255,255,255,.45)}}
@media (prefers-reduced-motion: reduce){.carousel img{animation:none}.carousel img:first-child{opacity:1}.carousel .dots{display:none}}

.ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.ctas .cta{margin-top:0;padding:.8rem 1.1rem;font-size:.88rem;letter-spacing:.02em}.cta.alt{background:transparent;color:inherit;border-color:currentColor}.cta.alt:hover{background:var(--gold);color:var(--deep-dk);border-color:var(--gold)}
.hero .trust{list-style:none;padding:0;margin:1.1rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;font-size:.86rem}.hero .trust li::before{content:'✓';color:var(--gold);font-weight:700;margin-right:.55rem}.hero .proof{font-size:.82rem;margin-top:.9rem;opacity:.85}.hero .proof span{color:var(--gold);letter-spacing:.1em}
@media(min-width:861px){.hero-split .hero{padding-top:3rem}}
@media(max-width:760px){.topbar{font-size:.62rem;letter-spacing:.08em;padding:.4rem .8rem}header{padding:.6rem 4vw;gap:.4rem}.brand img{height:40px}.hdr-right{width:100%;display:flex;align-items:center;gap:.6rem;min-width:0}.hdr-right nav{display:flex;flex:1;min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.hdr-right nav::-webkit-scrollbar{display:none}.hdr-right nav a{margin:0 1rem 0 0;font-size:.82rem}.hero .kicker{font-size:.68rem;letter-spacing:.14em}.hero-split .hero{padding-top:1.6rem}.hero p{font-size:.95rem}}
.hero-split .hero .kicker{font-size:.6rem;letter-spacing:.14em;margin-bottom:.7rem}
@media(max-width:760px){.hero-split .hero .kicker{font-size:.56rem;letter-spacing:.1em}}

.cadre-img{position:relative;padding:1.4rem 0 0 1.4rem}
.cadre-img::before{content:"";position:absolute;left:0;top:0;right:1.4rem;bottom:1.4rem;border:2px solid var(--gold)}
.cadre-img img{position:relative;z-index:1;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.sape .twocol img.plein{aspect-ratio:4/5}
@media(max-width:899px){.sape .twocol img.plein{order:-1}}
.autre-txt{margin-top:.55rem;width:100%;max-width:26rem}
/* ---- pied de page ---- */
footer{padding:3.2rem 5vw 1.4rem}
footer .foot{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:2rem}
footer h3{color:var(--gold);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .8rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
footer p{margin:0 0 .7rem;line-height:1.6}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}
footer .fbrand img{height:50px;width:auto;margin-bottom:.8rem;filter:brightness(1.1)}
footer li span{opacity:.75;font-size:.82rem}
footer .fcopy{max-width:1240px;margin:2.4rem auto 0;padding-top:1.1rem;border-top:1px solid rgba(240,160,40,.25);font-size:.78rem;opacity:.7}
@media(max-width:1000px){footer .foot{grid-template-columns:1fr 1fr}footer .fbrand{grid-column:1/-1}}
@media(max-width:560px){footer .foot{grid-template-columns:1fr}}
/* ---- WhatsApp flottant ---- */
.wa-float{position:fixed;right:1.1rem;bottom:1.1rem;z-index:50;display:flex;align-items:center;gap:.6rem;background:#1f8f4e;color:#fff;text-decoration:none;padding:.65rem 1.05rem .65rem .8rem;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.25);transition:transform .2s}
.wa-float:hover{transform:translateY(-2px)}
.wa-float span{display:flex;flex-direction:column;line-height:1.15}.wa-float b{font-size:.9rem}.wa-float small{font-size:.7rem;opacity:.85}
@media(max-width:560px){.wa-float{padding:.8rem}.wa-float span{display:none}}
/* ---- avis Google ---- */
.avis-sec{background:var(--sand);overflow:hidden}
.avis-score{font-weight:600;color:var(--deep)}.etoiles{color:var(--gold);letter-spacing:.12em}
.avis-rail{overflow:hidden;margin:1.6rem -5vw 0;padding:.4rem 0;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.avis-piste{display:flex;gap:1.2rem;width:max-content;animation:defile 60s linear infinite}
.avis-rail:hover .avis-piste,.avis-rail:focus-within .avis-piste{animation-play-state:paused}
@keyframes defile{to{transform:translateX(-50%)}}
.avis{margin:0;width:22rem;max-width:80vw;background:var(--paper);border:1px solid var(--line);padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.7rem}
.avis blockquote{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink,#1d2b2c)}
.avis figcaption{font-size:.8rem;font-weight:600;color:var(--deep);margin-top:auto}
.avis-pied{max-width:1240px;margin:1.4rem auto 0}.avis-pied small{display:block;opacity:.65;margin-top:.3rem}
@media(prefers-reduced-motion:reduce){.avis-piste{animation:none}.avis-rail{overflow-x:auto}}
/* ---- fondateurs ---- */
.fondateurs{max-width:1240px;margin:2rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.fondateur{margin:0;display:grid;grid-template-columns:minmax(0,14rem) 1fr;gap:1.4rem;align-items:start}
.fondateur:nth-child(2) .portrait{box-shadow:12px 12px 0 var(--gold)}
.fondateur:nth-child(1) .portrait{outline:2px solid var(--gold);outline-offset:8px}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.fondateur h3{margin:.2rem 0 .1rem;color:var(--deep)}.fondateur .role{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-dk);margin:0 0 .6rem}
@media(max-width:900px){.fondateurs{grid-template-columns:1fr}}
@media(max-width:480px){.fondateur{grid-template-columns:1fr}}
/* ---- pages légales ---- */
.legal{max-width:52rem;margin:0 auto;padding:3rem 5vw 4rem;line-height:1.7}
.legal h1{color:var(--deep)}.legal h2{color:var(--deep);font-size:1.15rem;margin-top:2rem}
.legal mark.todo{background:#ffe08a;padding:0 .25rem}
.legal .formulaire{border:1px dashed var(--line);padding:1rem 1.2rem;background:var(--paper)}
/* jamais de tête coupée : les recadrages se calent sur le haut de l'image */
.carousel img,.hero-img img,.twocol img,.cadre-img img,.sm-hero .im img,.more .im img,.portrait img,.cutcard .ph img{object-position:50% 8%!important}
