:root{--red:#c8332b;--blue:#1c84c6;--brown:#4b3b33;--brown-d:#3a2d27;--tan:#c9a97b;--cream:#f5f3f0;--ink:#1d1a18;--text:#6d6560;--white:#fff;--font:'Urbanist',system-ui,sans-serif;--r:22px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--text);background:#fff;line-height:1.65;overflow-x:hidden}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}ul{list-style:none}
.container{width:min(1260px,92%);margin-inline:auto}
h1,h2,h3,h4{color:var(--ink);font-weight:600;line-height:1.15;letter-spacing:-.02em}
section{padding:90px 0}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);margin-bottom:16px}
.tag::before{content:"";width:8px;height:8px;background:var(--tan);border-radius:50%}
.h2{font-size:clamp(2rem,4vw,3.1rem)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:var(--brown);color:#fff;border-radius:999px;font-weight:600;font-size:.9rem;transition:.35s;border:0;cursor:pointer;font-family:var(--font)}
.btn:hover{background:var(--tan);color:var(--ink);transform:translateY(-3px)}
.btn.tan{background:var(--tan);color:var(--ink)}.btn.tan:hover{background:#fff}

/* reveal animations */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.l{transform:translateX(-60px)}.rv.r{transform:translateX(60px)}.rv.z{transform:scale(.88)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}

/* hero + menu fusionnés */
.hero{padding:24px 0 0}
.hero-box{position:relative;height:min(660px,82vh);min-height:480px;margin-inline:auto;width:min(1380px,96%);border-radius:26px;overflow:hidden;background:#fff}
.hs{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s;transform:scale(1.08)}
.hs.on{opacity:1;animation:kb 8s forwards}
@keyframes kb{to{transform:scale(1)}}
.hd-in{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;padding:0 22px}
.logo{margin-top:18px;font-size:1.7rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:10px;letter-spacing:-.01em;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hd-in .logo{position:absolute;top:0;left:0;margin:0;padding:12px 26px 14px 20px;background:#fff;border-radius:0 0 26px 0;text-shadow:none}
.hd-in .logo::before,.hd-in .logo::after{content:"";position:absolute;width:26px;height:26px}
.hd-in .logo::after{top:0;right:-26px;background:radial-gradient(circle at 100% 100%,transparent 25.5px,#fff 26px)}
.hd-in .logo::before{left:0;bottom:-26px;background:radial-gradient(circle at 100% 100%,transparent 25.5px,#fff 26px)}
.logo img{height:74px;width:auto;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.logo:hover img{transform:scale(1.06)}
footer .logo{margin-top:0;background:#fff;padding:14px 20px;border-radius:16px;display:inline-block}footer .logo img{height:84px}
/* encoche blanche du menu, collée au bord haut avec coins concaves */
.notch{position:absolute;top:0;left:50%;transform:translateX(-50%);background:#fff;border-radius:0 0 22px 22px;padding:22px 34px 24px}
.notch::before,.notch::after{content:"";position:absolute;top:0;width:26px;height:26px}
.notch::before{left:-26px;background:radial-gradient(circle at 0 100%,transparent 25.5px,#fff 26px)}
.notch::after{right:-26px;background:radial-gradient(circle at 100% 100%,transparent 25.5px,#fff 26px)}
.menu{display:flex;gap:30px}
.menu a{font-size:1rem;font-weight:500;color:var(--ink);transition:.3s;position:relative}
.menu a.on,.menu a:hover{color:#b8945f}
.cta-r{display:flex;align-items:center;margin-top:20px;margin-left:auto}
.cta-t{background:#fff;color:var(--ink);font-weight:600;font-size:.95rem;padding:14px 30px;border-radius:999px;margin-right:-14px;position:relative;z-index:1;transition:.3s}
.cta-c{width:46px;height:46px;border-radius:50%;background:#b8945f;color:#fff;display:grid;place-items:center;font-size:1.1rem;position:relative;z-index:2;transition:.4s}
.cta-r:hover .cta-c{transform:rotate(45deg);background:var(--brown)}
.burger{display:none;margin-left:10px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;font-size:1.3rem;cursor:pointer}
/* onglets blancs des flèches, bords concaves */
.tab{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:62px;height:98px;background:#fff}
.tab.l{left:0;border-radius:0 28px 28px 0}.tab.r{right:0;border-radius:28px 0 0 28px}
.tab::before,.tab::after{content:"";position:absolute;width:26px;height:26px}
.tab.l::before{left:0;top:-26px;background:radial-gradient(circle at 100% 0,transparent 25.5px,#fff 26px)}
.tab.l::after{left:0;bottom:-26px;background:radial-gradient(circle at 100% 100%,transparent 25.5px,#fff 26px)}
.tab.r::before{right:0;top:-26px;background:radial-gradient(circle at 0 0,transparent 25.5px,#fff 26px)}
.tab.r::after{right:0;bottom:-26px;background:radial-gradient(circle at 0 100%,transparent 25.5px,#fff 26px)}
.ar{width:100%;height:100%;background:none;border:0;font-size:2.2rem;font-weight:300;color:var(--ink);cursor:pointer;transition:.3s;display:grid;place-items:center;padding-bottom:4px}
.tab.l .ar{padding-right:10px}.tab.r .ar{padding-left:10px}
.ar:hover{color:#b8945f;transform:scale(1.25)}

/* intro */
.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start}
.intro h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:22px}
.intro p{max-width:560px}
.intro .dropcap{display:flex;gap:14px}.intro .dropcap b{flex:none;width:34px;height:34px;border-radius:50%;background:var(--brown);color:var(--tan);display:grid;place-items:center;font-size:.9rem}
.acc{background:var(--brown);border-radius:var(--r);padding:12px 28px;color:#d7cbc0}
.acc-i{border-bottom:1px solid rgba(255,255,255,.12);padding:18px 0;cursor:pointer}.acc-i:last-child{border:0}
.acc-h{display:flex;justify-content:space-between;align-items:center;color:var(--tan);font-weight:600;font-size:1.15rem}
.acc-h span{width:28px;height:28px;border-radius:50%;border:1px solid var(--tan);display:grid;place-items:center;font-size:1rem;transition:.4s}
.acc-b{max-height:0;overflow:hidden;transition:max-height .5s,margin .5s;font-size:.93rem}
.acc-i.open .acc-b{max-height:160px;margin-top:12px}.acc-i.open .acc-h span{transform:rotate(45deg);background:var(--tan);color:var(--brown)}

/* trends */
.trend{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;padding-top:0}
.trend .im{border-radius:var(--r);overflow:hidden;min-height:380px}.trend .im img{width:100%;height:100%;object-fit:cover;transition:1s}.trend .im:hover img{transform:scale(1.06)}
.stat{background:var(--cream);border-radius:var(--r);padding:44px;display:flex;flex-direction:column;justify-content:center}
.stat h4{font-size:1.4rem;margin-bottom:10px}
.stat .big{font-size:6.5rem;font-weight:700;color:var(--ink);line-height:1;margin:20px 0 12px}.stat .big em{font-style:normal;color:var(--tan)}

/* services */
.srv .head{text-align:center;margin-bottom:64px}
.srv .head .tag{color:#b8945f}.srv .head .tag::before{content:"";width:8px;height:14px;border-radius:14px 0 0 14px;background:#b8945f}
.srv h2{font-family:'Space Grotesk',var(--font);font-weight:700;color:var(--brown);font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.03em}
.srv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;align-items:start}
.sc{background:#fff;border:1px solid #ece7e1;border-radius:30px;position:relative;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;color:#8b847e}
.sc:nth-child(3n+2){margin-top:44px}
.sc:hover{transform:translateY(-14px);box-shadow:0 40px 60px -30px rgba(75,59,51,.35)}
.sc .ph{height:260px;overflow:hidden;border-radius:30px 30px 0 0}
.sc img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.sc:hover img{transform:scale(1.12) rotate(.6deg)}
/* médaillon encastré dans l'image, raccords concaves */
.ic-w{position:relative;width:92px;height:92px;margin:-46px auto 0;display:grid;place-items:center;z-index:2}
/* bosse blanche : demi-cercle + raccords concaves tangents (SVG) */
.ic-w::before{content:"";position:absolute;left:calc(50% - 63px);top:0;width:126px;height:48px;pointer-events:none;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-63 -46 126 48'%3E%3Cpath fill='%23fff' d='M-63 2V0A20 20 0 0 0-43.8-13.9A46 46 0 0 1 43.8-13.9A20 20 0 0 0 63 0V2Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.ic-w::after{display:none}
.ic{position:relative;z-index:1;width:68px;height:68px;border-radius:50%;background:var(--brown);display:grid;place-items:center;transition:background .5s,transform .7s cubic-bezier(.2,.7,.2,1)}
.ic::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #b8945f;opacity:0;transform:scale(.8)}
.ic svg{width:34px;height:34px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.sc:hover .ic{background:#b8945f;transform:translateY(-4px)}
.sc:hover .ic svg{transform:rotate(360deg) scale(1.08)}
.sc:hover .ic::after{animation:ring 1.4s infinite}
@keyframes ring{0%{opacity:.9;transform:scale(.85)}100%{opacity:0;transform:scale(1.35)}}
.sc .in{padding:30px 38px 52px;text-align:center}
.sc h3{font-family:'Space Grotesk',var(--font);color:var(--brown);font-size:1.7rem;font-weight:700;margin-bottom:14px;letter-spacing:-.02em;transition:color .4s}
.sc:hover h3{color:#b8945f}
.sc p{font-weight:300;line-height:1.8}
/* entrée en cascade : les cartes montent puis le médaillon "pop" */
.sc.rv{transform:translateY(70px) scale(.95)}.sc.rv.in{transform:none}
.sc.rv.in:hover{transform:translateY(-14px)}
.sc.rv .ic-w{transform:scale(0);transition:transform .8s .5s cubic-bezier(.3,1.6,.5,1)}.sc.rv.in .ic-w{transform:scale(1)}

/* healthy */
.heal{background:var(--cream);position:relative}
.heal-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.heal .arch{border-radius:200px 200px 24px 24px;overflow:hidden;aspect-ratio:3/4;max-width:430px}
.heal .arch img{width:100%;height:100%;object-fit:cover;animation:float 8s ease-in-out infinite}
@keyframes float{50%{transform:scale(1.07)}}
.heal h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:20px}
.heal ul{margin:22px 0 34px;display:grid;gap:12px}.heal li{padding-left:30px;position:relative;color:var(--ink);font-weight:600}
.heal li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border-radius:50%;background:var(--tan);box-shadow:0 0 0 5px rgba(201,169,123,.3)}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--brown);border-radius:var(--r);padding:30px;margin-top:50px;color:#cdbfb3}
.feat div{display:flex;gap:16px}.feat b{flex:none;width:48px;height:48px;border-radius:50%;background:var(--tan);color:var(--brown);display:grid;place-items:center}
.feat h4{color:#fff;font-size:1.05rem}.feat p{font-size:.85rem;line-height:1.5}

/* case studies */
.cs{display:grid;grid-template-columns:.7fr 2fr;gap:40px;align-items:center}
.cs h2{font-size:2.6rem;margin-bottom:20px}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:190px;gap:16px}
.mosaic a{border-radius:18px;overflow:hidden;position:relative}.mosaic a:nth-child(1){grid-row:span 2}.mosaic a:nth-child(4){grid-column:span 2}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:.9s}.mosaic a:hover img{transform:scale(1.12)}
.mosaic a::after{content:"+";position:absolute;right:14px;bottom:14px;width:42px;height:42px;border-radius:50%;background:var(--tan);color:var(--brown);display:grid;place-items:center;font-size:1.4rem;transform:scale(0);transition:.4s}
.mosaic a:hover::after{transform:scale(1)}

/* team */
.team{text-align:center}
.team h2{max-width:760px;margin:0 auto 60px}
.avs{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:900px;margin:auto}
.av{width:150px;text-align:center}.av img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:5px solid var(--cream);transition:.5s}
.av:hover img{transform:scale(1.1) rotate(-4deg);border-color:var(--tan)}
.av:nth-child(even){margin-top:34px}
.av b{display:block;margin-top:12px;color:var(--ink);font-size:.95rem}.av span{font-size:.8rem}

/* before / after */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.cmp{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:1/1.05;user-select:none;cursor:ew-resize}
.cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cmp .top{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}
.cmp .hd{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff}
.cmp .hd::after{content:"⇄";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:var(--tan);display:grid;place-items:center;color:var(--brown);font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.cmp span{position:absolute;top:16px;padding:6px 16px;background:rgba(255,255,255,.9);border-radius:99px;font-size:.78rem;font-weight:700;color:var(--ink)}
.cmp .a{left:16px}.cmp .b{right:16px}
.bars{margin-top:30px;display:grid;gap:22px}
.bar-h{display:flex;justify-content:space-between;font-weight:600;color:var(--ink);margin-bottom:8px}
.track{height:7px;border-radius:9px;background:#e8e2da;overflow:hidden}
.fill{height:100%;width:0;background:var(--brown);border-radius:9px;transition:width 2s cubic-bezier(.2,.7,.2,1)}
.in .fill{width:var(--w)}

/* testimonials */
.tm{background:var(--cream)}
.tm-g{display:grid;grid-template-columns:.8fr 1.6fr;gap:50px;align-items:center}
.tm h2{font-size:2.6rem;margin-bottom:24px}
.score{display:flex;align-items:center;gap:16px}.score b{font-size:4rem;color:var(--ink);line-height:1}.score .st{color:var(--tan);letter-spacing:3px}
.slider{overflow:hidden}
.track-t{display:flex;gap:22px;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.rev{flex:0 0 calc(50% - 11px);background:#fff;border-radius:var(--r);padding:34px}
.rev p{margin:14px 0 24px;color:var(--ink)}
.rev .u{display:flex;align-items:center;gap:12px}.rev .u img{width:48px;height:48px;border-radius:50%;object-fit:cover}.rev .u b{display:block;color:var(--ink)}.rev .u span{font-size:.82rem}
.tdots{display:flex;gap:8px;margin-top:24px}.tdots i{width:10px;height:10px;border-radius:50%;background:#d6cdc2;cursor:pointer;transition:.3s}.tdots i.on{width:30px;border-radius:9px;background:var(--brown)}

/* logos */
.logos{padding:70px 0}
.lg-g{display:grid;grid-template-columns:2.4fr 1fr;gap:30px;align-items:center}
.mq{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq div{display:flex;gap:70px;width:max-content;animation:mq 22s linear infinite}
.mq span{font-size:1.6rem;font-weight:700;color:#bdb4aa;letter-spacing:.08em;white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}
.big120{background:var(--brown);border-radius:var(--r);padding:34px;color:#cdbfb3;text-align:center}.big120 b{display:block;font-size:4.4rem;color:#fff;line-height:1}.big120 em{font-style:normal;color:var(--tan)}

/* blog */
.bl-g{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;margin-top:50px}
.bl-big{position:relative;border-radius:var(--r);overflow:hidden;min-height:480px;display:flex;align-items:flex-end;padding:34px;color:#fff}
.bl-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:1s}.bl-big:hover img{transform:scale(1.06)}
.bl-big::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.75))}
.bl-big div{position:relative;z-index:2}.bl-big h3{color:#fff;font-size:1.8rem}
.bl-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bp{background:var(--cream);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:.4s}
.bp:hover{background:var(--brown);color:#cdbfb3;transform:translateY(-6px)}.bp:hover h3{color:#fff}
.bp h3{font-size:1.15rem;margin:10px 0 18px}.bp small{color:var(--tan);font-weight:600}
.bp .go{width:40px;height:40px;border-radius:50%;background:var(--tan);display:grid;place-items:center;color:var(--brown)}

/* footer */
footer{background:var(--brown-d);color:#b9ada2;padding:70px 0 0;margin:0 14px 14px;border-radius:var(--r)}
.sub{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1)}
.sub h3{color:#fff;font-size:2rem;max-width:380px}
.sub form{display:flex;background:rgba(255,255,255,.08);border-radius:99px;padding:6px}
.sub input{background:none;border:0;color:#fff;padding:0 20px;font:inherit;outline:0;min-width:260px}
.f-g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:50px 0}
footer .logo{color:#fff}footer h4{color:#fff;margin-bottom:18px;font-size:1.1rem}footer li{margin-bottom:8px}footer a:hover{color:var(--tan)}
.soc{display:flex;gap:8px;margin-top:20px}.soc a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-size:.78rem;transition:.3s}.soc a:hover{background:var(--tan);color:var(--brown);transform:translateY(-3px)}
.copy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:22px 0;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}

@media(max-width:1000px){
 section{padding:64px 0}
 .intro,.trend,.heal-g,.cs,.ba,.tm-g,.lg-g,.bl-g{grid-template-columns:1fr}
 .srv-g{grid-template-columns:1fr 1fr}.sc:nth-child(3n+2){margin-top:0}.rev{flex-basis:100%}
 .f-g{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
 .notch{top:84px;left:16px;right:16px;transform:translateY(-14px);opacity:0;pointer-events:none;border-radius:20px;padding:12px 22px;transition:.35s;box-shadow:0 20px 40px rgba(0,0,0,.2)}
 .notch::before,.notch::after{display:none}
 .menu{flex-direction:column;gap:0}.menu a{padding:12px 0;border-bottom:1px solid #eee}
 body.open .notch{transform:none;opacity:1;pointer-events:auto}
 .burger{display:block}.cta-t{display:none}.cta-c{margin-right:0}
 .tab{width:44px;height:76px}.hd-in .logo img{height:54px}.hd-in .logo{padding:10px 18px 12px 14px}.ar{font-size:1.7rem}
 .srv-g,.bl-list,.feat,.f-g{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr 1fr}.mosaic a:nth-child(4){grid-column:span 2}
 .stat .big{font-size:4.5rem}.av{width:120px}.av img{width:120px;height:120px}
 .sub input{min-width:0;width:150px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.fill{width:var(--w)}}

/* ===== Nuances du logo (rouge & bleu) — le brun bois reste dominant ===== */
.tag::before{background:var(--red)}
.srv .head .tag::before{background:var(--red)}
.btn:hover{background:var(--blue);color:#fff}
.btn.tan:hover{background:var(--blue);color:#fff}
.cta-r:hover .cta-c{background:var(--red)}
.ar:hover{color:var(--red)}
.menu a:hover{color:var(--blue)}
.stat .big em,.big120 em{color:var(--red)}
.big120 b{position:relative}
.big120{border-bottom:5px solid var(--blue)}
.acc-i.open .acc-h span{background:var(--red);border-color:var(--red);color:#fff}
.sc:hover .ic{background:var(--blue)}
.sc:hover .ic::after{border-color:var(--red)}
.sc:hover h3{color:var(--red)}
.sc{border-top:3px solid transparent}
.sc:nth-child(1):hover{border-top-color:var(--red)}.sc:nth-child(2):hover{border-top-color:var(--blue)}.sc:nth-child(3):hover{border-top-color:var(--red)}
.feat b{background:var(--tan)}.feat div:nth-child(2) b{background:var(--blue);color:#fff}
.heal li::before{background:var(--red);box-shadow:0 0 0 5px rgba(200,51,43,.18)}
.mosaic a::after{background:var(--blue);color:#fff}
.av:nth-child(3n+1):hover img{border-color:var(--red)}.av:nth-child(3n+2):hover img{border-color:var(--blue)}
.cmp .hd::after{background:var(--blue);color:#fff}
.fill{background:var(--brown)}
.bars>div:nth-child(2) .fill{background:var(--blue)}.bars>div:nth-child(3) .fill{background:var(--red)}
.tdots i.on{background:var(--brown)}
.score .st{color:var(--red)}
.bp .go{background:var(--blue);color:#fff}.bp:nth-child(even) .go{background:var(--red)}
.mq span:hover{color:var(--blue)}
footer{position:relative;overflow:hidden}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--red) 0 50%,var(--blue) 50% 100%)}
.soc a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
footer a:hover{color:#8fc9ee}
.sub .btn.tan{background:var(--red);color:#fff}.sub .btn.tan:hover{background:var(--blue)}
.dropcap b{background:var(--brown);color:var(--tan)}

.sc:nth-child(odd):hover{border-top-color:var(--red)}.sc:nth-child(even):hover{border-top-color:var(--blue)}
.srv-g{row-gap:50px}
.credits{padding:0 0 22px;font-size:.75rem;opacity:.6;line-height:1.5}.credits a{text-decoration:underline}

/* ===== Légendes de la bannière ===== */
.hero-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(24,14,9,.55),rgba(24,14,9,0) 65%),linear-gradient(to top,rgba(24,14,9,.82) 0%,rgba(24,14,9,.45) 38%,rgba(24,14,9,.1) 65%,rgba(24,14,9,.3) 100%)}
.caps{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 96px 34px}
.caps .cap{position:absolute;left:96px;right:96px;bottom:150px;max-width:860px;opacity:0;pointer-events:none}
.caps .cap.on{opacity:1;pointer-events:auto}
.caps .cap>*{opacity:0;transform:translateY(34px)}
.caps .cap.on>*{animation:capin .9s cubic-bezier(.2,.7,.2,1) forwards}
.caps .cap.on>:nth-child(2){animation-delay:.12s}.caps .cap.on>:nth-child(3){animation-delay:.26s}
@keyframes capin{to{opacity:1;transform:none}}
.ctag{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:8px 18px;border-radius:99px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25)}
.ctag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.cap h1{color:#fff;font-family:'Space Grotesk',var(--font);font-size:clamp(2rem,3.9vw,3.4rem);line-height:1.1;margin:18px 0 14px;letter-spacing:-.03em;text-shadow:0 4px 30px rgba(0,0,0,.35)}
.cap h1 em{font-style:normal;color:#e6c79a}
.cap p{color:rgba(255,255,255,.88);font-size:1.08rem;max-width:560px}
.cap-actions{position:absolute;left:96px;bottom:84px;display:flex;gap:12px;flex-wrap:wrap}
.btn.gh{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(8px)}
.btn.gh:hover{background:#fff;color:var(--brown)}
.chips{position:absolute;left:96px;right:96px;bottom:30px;display:flex;gap:8px;flex-wrap:wrap}
.chips a{font-size:.8rem;font-weight:600;color:#fff;padding:6px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.35);transition:.3s}
.chips a:hover{background:var(--tan);border-color:var(--tan);color:var(--brown)}

/* ===== Réalisations ===== */
.real .head{text-align:center;max-width:680px;margin:0 auto 34px}
.real h2{font-family:'Space Grotesk',var(--font);font-size:clamp(2rem,4vw,3.2rem);color:var(--brown);letter-spacing:-.03em;margin-bottom:10px}
.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:44px}
.filters button{padding:11px 24px;border-radius:99px;border:1px solid #e3dcd3;background:#fff;font:inherit;font-weight:600;font-size:.9rem;color:var(--ink);cursor:pointer;transition:.3s}
.filters button:hover{border-color:var(--blue);color:var(--blue)}
.filters button.on{background:var(--brown);border-color:var(--brown);color:#fff}
.pj-g{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pj{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3.3;display:block;cursor:pointer;transition:opacity .5s,transform .5s}
.pj.hide{display:none}
.pj img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pj:hover img{transform:scale(1.1)}
.pj::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(24,14,9,.82))}
.pj-t{position:absolute;left:24px;right:70px;bottom:22px;z-index:2;color:#fff;transform:translateY(8px);transition:.5s}
.pj:hover .pj-t{transform:none}
.pj-t small{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#e6c79a;margin-bottom:4px}
.pj-t h3{color:#fff;font-size:1.3rem;line-height:1.2}
.pj-go{position:absolute;right:20px;bottom:20px;z-index:2;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--brown);display:grid;place-items:center;font-size:1.6rem;transition:.5s}
.pj:hover .pj-go{background:var(--red);color:#fff;transform:rotate(90deg)}

/* fenêtre de détail */
.modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;visibility:hidden;opacity:0;transition:.35s}
.modal.open{visibility:visible;opacity:1}
.m-bg{position:absolute;inset:0;background:rgba(20,12,8,.78);backdrop-filter:blur(6px)}
.m-box{position:relative;width:min(1080px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;display:grid;grid-template-columns:1.15fr 1fr;transform:translateY(40px) scale(.96);transition:.5s cubic-bezier(.2,.7,.2,1)}
.modal.open .m-box{transform:none}
.m-im{min-height:420px}.m-im img{width:100%;height:100%;object-fit:cover}
.m-tx{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
.m-tx h3{font-family:'Space Grotesk',var(--font);font-size:clamp(1.6rem,3vw,2.3rem);color:var(--brown);margin:6px 0 14px;letter-spacing:-.02em}
.m-meta{margin:24px 0 28px;border-top:1px solid #eee}
.m-meta li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #eee;font-size:.95rem}
.m-meta b{color:var(--ink)}.m-meta span{text-align:right}
.m-cta{align-self:flex-start}
.m-x{position:absolute;top:14px;right:14px;z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font-size:1.8rem;line-height:1;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.2);transition:.3s}
.m-x:hover{background:var(--red);color:#fff;transform:rotate(90deg)}
.m-n{position:absolute;top:50%;z-index:4;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.7rem;cursor:pointer;transform:translateY(-50%);transition:.3s;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.m-n.l{left:14px}.m-n.r{left:calc(53.5% - 60px)}
.m-n:hover{background:var(--blue);color:#fff}
.m-im img{animation:fadeimg .6s}
@keyframes fadeimg{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}

@media(max-width:1000px){
 .pj-g{grid-template-columns:repeat(2,1fr)}
 .m-box{grid-template-columns:1fr}.m-im{min-height:260px;height:300px}.m-n.r{left:auto;right:14px}
}
@media(max-width:720px){
 .caps{padding:0 22px 22px}.caps .cap{left:22px;right:22px;bottom:150px}.cap-actions{left:22px;bottom:78px}.chips{left:22px;right:22px;bottom:22px;display:none}
 .cap p{font-size:.95rem}.cap h1{font-size:1.9rem}.pj-g{grid-template-columns:1fr}.m-tx{padding:28px 22px}
 .cap-actions .btn{padding:12px 18px;font-size:.82rem}.cap-actions{bottom:24px}.caps .cap{bottom:90px}
}

/* ===== Assistant virtuel ===== */
.ag{position:fixed;right:22px;bottom:22px;z-index:250;font-family:var(--font)}
.ag-fab{position:relative;width:64px;height:64px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,var(--brown),#6b5246);box-shadow:0 14px 34px -8px rgba(75,59,51,.7);display:grid;place-items:center;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.ag-fab:hover{transform:scale(1.1) rotate(-6deg)}
.ag-fab svg{position:absolute;width:30px;height:30px;transition:.4s}
.ag-i2{opacity:0;transform:rotate(-90deg) scale(.5)}
.ag.open .ag-i1{opacity:0;transform:rotate(90deg) scale(.5)}.ag.open .ag-i2{opacity:1;transform:none}
.ag-ping{position:absolute;inset:0;border-radius:50%;border:2px solid var(--blue);animation:agping 2.2s infinite}
.ag.open .ag-ping{display:none}
@keyframes agping{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.ag-fab::after{content:"";position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:var(--red);border:2px solid #fff}
.ag.open .ag-fab::after{display:none}
.ag-tip{position:absolute;right:76px;bottom:12px;white-space:nowrap;background:#fff;color:var(--ink);font-weight:600;font-size:.9rem;padding:12px 18px;border-radius:16px 16px 4px 16px;box-shadow:0 14px 36px -12px rgba(0,0,0,.35);opacity:0;transform:translateX(14px);pointer-events:none;transition:.5s}
.ag-tip.show{opacity:1;transform:none}
.ag-panel{position:absolute;right:0;bottom:80px;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 130px);background:#fff;border-radius:24px;box-shadow:0 30px 80px -20px rgba(30,18,10,.55);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(24px) scale(.94);transform-origin:bottom right;transition:.45s cubic-bezier(.2,.7,.2,1)}
.ag.open .ag-panel{opacity:1;visibility:visible;transform:none}
.ag-head{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,var(--brown),#6b5246);color:#fff}
.ag-head img{width:44px;height:44px;border-radius:12px;object-fit:cover;background:#fff;padding:2px}
.ag-head b{display:block;font-size:1.02rem}
.ag-head small{display:flex;align-items:center;gap:6px;opacity:.85;font-size:.76rem}
.ag-head small i{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.3)}
.ag-msgs{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;background:var(--cream)}
.ag-m{max-width:86%;padding:11px 15px;border-radius:18px;font-size:.92rem;line-height:1.5;animation:agin .4s cubic-bezier(.2,.7,.2,1)}
@keyframes agin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ag-m.bot{align-self:flex-start;background:#fff;color:#3d3530;border-bottom-left-radius:4px;box-shadow:0 4px 14px -8px rgba(0,0,0,.25)}
.ag-m.me{align-self:flex-end;background:var(--brown);color:#fff;border-bottom-right-radius:4px}
.ag-m a{color:var(--blue);font-weight:600;text-decoration:underline}
.ag-typing{display:flex;gap:5px;padding:14px 16px}
.ag-typing i{width:8px;height:8px;border-radius:50%;background:#b8a999;animation:agdot 1s infinite}
.ag-typing i:nth-child(2){animation-delay:.15s}.ag-typing i:nth-child(3){animation-delay:.3s}
@keyframes agdot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.ag-sug{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 12px;background:var(--cream)}
.ag-sug button{border:1px solid #d9cfc3;background:#fff;color:var(--brown);font:inherit;font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:99px;cursor:pointer;transition:.25s}
.ag-sug button:hover{background:var(--brown);color:#fff;border-color:var(--brown);transform:translateY(-2px)}
.ag-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #eee;background:#fff}
.ag-form input{flex:1;border:1px solid #e3dcd3;border-radius:99px;padding:12px 18px;font:inherit;font-size:.92rem;outline:0;transition:.25s}
.ag-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(28,132,198,.15)}
.ag-form button{width:46px;height:46px;border:0;border-radius:50%;background:var(--red);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.3s}
.ag-form button:hover{background:var(--blue);transform:scale(1.08)}
.ag-form button svg{width:20px;height:20px}
.ag-foot{margin:0;padding:0 14px 12px;background:#fff;border-radius:0;font-size:.74rem;color:#8b847e;text-align:center}
.ag-foot a{color:var(--blue);font-weight:600}
@media(max-width:720px){.ag{right:14px;bottom:14px}.ag-panel{position:fixed;right:10px;left:10px;bottom:90px;width:auto;max-width:none;height:min(560px,calc(100vh - 110px))}.ag-tip{display:none}}

/* ===== Présentation ===== */
.pres{background:#fff}
.pres-g{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}
.pres-im{position:relative;padding-bottom:70px}
.pres-im .m{width:86%;aspect-ratio:4/4.6;object-fit:cover;border-radius:220px 220px 26px 26px;box-shadow:0 40px 70px -35px rgba(75,59,51,.55)}
.pres-im .s{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;object-fit:cover;border-radius:26px;border:8px solid #fff;box-shadow:0 30px 60px -30px rgba(75,59,51,.6);animation:float 7s ease-in-out infinite}
.pres-badge{position:absolute;left:-14px;bottom:24px;display:flex;align-items:center;gap:14px;background:var(--brown);color:#e8dccd;padding:18px 24px;border-radius:20px;box-shadow:0 24px 50px -20px rgba(75,59,51,.7);border-bottom:4px solid var(--red)}
.pres-badge b{font-family:'Space Grotesk',var(--font);font-size:3rem;color:#fff;line-height:1}
.pres-badge span{font-size:.82rem;line-height:1.35}
.pres h2{font-family:'Space Grotesk',var(--font);font-size:clamp(2rem,3.8vw,3rem);color:var(--brown);letter-spacing:-.03em;margin:4px 0 18px}
.pres .lead{font-size:1.05rem;color:#4b4540;margin-bottom:14px}
.pres-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}
.pres-cards div{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px;border:1px solid #ece7e1;border-radius:18px;transition:.4s}
.pres-cards div:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(75,59,51,.4);border-color:var(--tan)}
.pres-cards i{grid-row:span 2;width:52px;height:52px;border-radius:50%;background:var(--brown);display:grid;place-items:center;transition:.5s}
.pres-cards div:hover i{background:var(--blue);transform:rotate(360deg)}
.pres-cards svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pres-cards b{color:var(--ink);font-size:1rem;line-height:1.2}.pres-cards span{font-size:.82rem;line-height:1.35}
.pres-act{display:flex;gap:12px;flex-wrap:wrap}
.btn.gh3{background:transparent;color:var(--brown);border:1px solid var(--brown)}.btn.gh3:hover{background:var(--brown);color:#fff}

/* ===== Boutique ===== */
.cart-btn{position:relative;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;margin-right:12px;transition:.3s;box-shadow:0 8px 24px -10px rgba(0,0,0,.35)}
.cart-btn svg{width:24px;height:24px}
.cart-btn:hover{background:var(--brown);color:#fff}
.cart-n{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--red);color:#fff;font-size:.72rem;font-weight:700;place-items:center}
.cart-btn.bump{animation:bump .6s}
@keyframes bump{30%{transform:scale(1.25) rotate(-10deg)}60%{transform:scale(.95)}100%{transform:none}}
.shop{background:var(--cream)}
.sh-head{text-align:center;max-width:720px;margin:0 auto 30px}
.shop h2{font-family:'Space Grotesk',var(--font);font-size:clamp(2rem,4vw,3.2rem);color:var(--brown);letter-spacing:-.03em;margin-bottom:10px}
.sh-perks{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin-top:18px;font-weight:600;font-size:.9rem;color:var(--ink)}
.sh-perks i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--blue);color:#fff;font-style:normal;font-size:.7rem;margin-right:4px}
.sh-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:38px}
.sh-filters button{padding:11px 22px;border-radius:99px;border:1px solid #ddd3c7;background:#fff;font:inherit;font-weight:600;font-size:.88rem;color:var(--ink);cursor:pointer;transition:.3s}
.sh-filters button:hover{border-color:var(--blue);color:var(--blue)}.sh-filters button.on{background:var(--brown);border-color:var(--brown);color:#fff}
.sh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sh-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid #ece7e1;transition:transform .5s,box-shadow .5s;animation:shin .7s both}
@keyframes shin{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.sh-card:hover{transform:translateY(-10px);box-shadow:0 36px 56px -32px rgba(75,59,51,.5)}
.sh-ph{position:relative;aspect-ratio:4/3.2;overflow:hidden}
.sh-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.sh-card:hover .sh-ph img{transform:scale(1.1)}
.sh-badge{position:absolute;top:14px;left:14px;background:var(--brown);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 13px;border-radius:99px}
.sh-badge.mes{background:var(--blue)}
.sh-in{padding:22px 24px 24px}
.sh-in h3{font-size:1.25rem;color:var(--brown);margin-bottom:4px}
.sh-in p{font-size:.88rem;min-height:2.6em}
.sh-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px dashed #e5dcd0}
.sh-price{font-weight:700;color:var(--ink);font-size:1.08rem;line-height:1.2}.sh-price small{display:block;font-size:.7rem;font-weight:500;color:var(--text)}
.sh-add{border:0;border-radius:99px;padding:12px 22px;background:var(--red);color:#fff;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;transition:.3s}
.sh-add:hover{background:var(--brown);transform:translateY(-2px)}
.sh-add.res{background:var(--blue)}.sh-add.res:hover{background:var(--brown)}
.sh-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,30px);z-index:400;background:var(--brown);color:#fff;font-weight:600;padding:13px 24px;border-radius:99px;box-shadow:0 20px 40px -12px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.4s}
.sh-toast.show{opacity:1;transform:translate(-50%,0)}

/* tiroir panier / commande */
.dr{position:fixed;inset:0;z-index:320;visibility:hidden}
.dr.open{visibility:visible}
.dr-bg{position:absolute;inset:0;background:rgba(20,12,8,.6);backdrop-filter:blur(4px);opacity:0;transition:.4s}
.dr.open .dr-bg{opacity:1}
.dr-box{position:absolute;top:0;right:0;bottom:0;width:min(470px,100%);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .5s cubic-bezier(.2,.7,.2,1);box-shadow:-30px 0 80px -30px rgba(0,0,0,.5)}
.dr.open .dr-box{transform:none}
.dr-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #eee}
.dr-head h3{font-family:'Space Grotesk',var(--font);font-size:1.4rem;color:var(--brown)}
.dr-x{width:42px;height:42px;border-radius:50%;border:0;background:var(--cream);font-size:1.7rem;line-height:1;cursor:pointer;transition:.3s}
.dr-x:hover{background:var(--red);color:#fff;transform:rotate(90deg)}
.dr-body{flex:1;overflow-y:auto;padding:20px 26px}
.dr-foot{padding:18px 26px 24px;border-top:1px solid #eee;background:#fff;display:grid;gap:12px}
.dr-empty{text-align:center;padding:60px 10px;display:grid;gap:18px;justify-items:center;color:var(--text)}
.dr-empty svg{width:70px;height:70px;color:var(--tan)}
.dr-it{display:grid;grid-template-columns:84px 1fr 30px;gap:14px;padding:14px 0;border-bottom:1px solid #f0ebe4;animation:shin .4s both}
.dr-it img{width:84px;height:84px;border-radius:14px;object-fit:cover}
.dr-info b{display:block;color:var(--ink);font-size:.98rem;line-height:1.25}
.dr-tag{display:inline-block;margin:4px 0;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brown);background:var(--cream);padding:3px 10px;border-radius:99px}
.dr-tag.mes{background:#e3f1fa;color:var(--blue)}
.dr-pr{font-weight:700;color:var(--ink);font-size:.95rem}.dr-pr small{font-weight:500;color:var(--text)}
.dr-qty{display:inline-flex;align-items:center;gap:12px;margin-top:8px;border:1px solid #e3dcd3;border-radius:99px;padding:2px}
.dr-qty button{width:30px;height:30px;border-radius:50%;border:0;background:var(--cream);cursor:pointer;font-size:1.1rem;transition:.25s}.dr-qty button:hover{background:var(--brown);color:#fff}
.dr-qty span{min-width:18px;text-align:center;font-weight:700}
.dr-rm{align-self:start;width:28px;height:28px;border:0;border-radius:50%;background:none;font-size:1.4rem;color:#b3a89b;cursor:pointer;transition:.3s}.dr-rm:hover{background:var(--red);color:#fff}
.dr-tot{display:flex;justify-content:space-between;align-items:baseline;font-size:1.05rem}.dr-tot b{font-size:1.45rem;color:var(--brown);font-family:'Space Grotesk',var(--font)}
.dr-tot small{font-weight:400;color:var(--text);font-size:.78rem}
.dr-note{font-size:.82rem;line-height:1.5;color:var(--text)}
.dr-go{justify-content:center;width:100%;text-align:center;background:var(--red)}.dr-go:hover{background:var(--brown)}
.dr-btns{display:grid;grid-template-columns:auto 1fr;gap:10px}
.gh2{background:transparent;color:var(--brown);border:1px solid #d6ccc0;justify-content:center}.gh2:hover{background:var(--cream);color:var(--brown)}
#co-form{display:grid;gap:14px}
#co-form label{display:grid;gap:6px;font-size:.78rem;font-weight:600;color:var(--ink)}
#co-form .f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#co-form input,#co-form select,#co-form textarea{font:inherit;font-size:.92rem;font-weight:400;padding:12px 14px;border:1px solid #e3dcd3;border-radius:12px;background:#fff;color:var(--ink);transition:.25s;width:100%}
#co-form input:focus,#co-form select:focus,#co-form textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(28,132,198,.14)}
.pay{border:1px solid #e3dcd3;border-radius:16px;padding:16px;display:grid;gap:10px;background:var(--cream)}
.pay>b{font-size:.78rem;color:var(--ink)}
.pay-o{display:grid!important;grid-template-columns:auto 1fr;gap:2px 12px!important;align-items:center;cursor:pointer}
.pay-o input{position:absolute;opacity:0}
.pay-o span{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:700;color:var(--ink)}
.pay-o span i{width:20px;height:20px;border-radius:50%;border:2px solid var(--blue);display:inline-block;position:relative}
.pay-o span i::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--blue)}
.pay-o em{grid-column:2;font-style:normal;font-size:.8rem;font-weight:400;color:var(--text)}
.co-err{color:var(--red);font-size:.84rem;font-weight:600;min-height:1.2em}
.dr-done{text-align:center;display:grid;gap:14px;justify-items:center}
.dr-done .ok{width:84px;height:84px}
.dr-done .ok svg{width:100%;height:100%;fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.dr-done .ok circle{stroke-dasharray:152;stroke-dashoffset:152;animation:draw .8s forwards}
.dr-done .ok path{stroke-dasharray:50;stroke-dashoffset:50;animation:draw .5s .6s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.dr-done h4{font-family:'Space Grotesk',var(--font);font-size:1.6rem;color:var(--brown)}
.dr-rec{width:100%;text-align:left;border:1px solid #ece7e1;border-radius:16px;padding:6px 16px;background:var(--cream)}
.dr-rec div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #e8e0d5;font-size:.88rem}
.dr-rec div:last-child{border:0}.dr-rec .t{font-size:1rem;color:var(--ink)}

@media(max-width:1000px){
 .pres-g{grid-template-columns:1fr;gap:50px}.pres-im{max-width:520px}
 .sh-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
 .pres-cards{grid-template-columns:1fr}.sh-grid{grid-template-columns:1fr}
 #co-form .f2{grid-template-columns:1fr}.cart-btn{margin-right:8px}
 .pres-badge{left:0}
}

/* ===== Catalogue ===== */
.sh-cat{margin-top:20px;background:var(--blue)}.sh-cat:hover{background:var(--brown)}
.cap-actions .cat-l{background:var(--blue);border-color:var(--blue)}.cap-actions .cat-l:hover{background:#fff;color:var(--brown);border-color:#fff}

/* ===== Responsive : PC, TV, tablette, smartphone ===== */
/* évite tout débordement horizontal des grilles */
.pres-g>*,.intro>*,.trend>*,.heal-g>*,.ba>*,.tm-g>*,.bl-g>*,.lg-g>*,.f-g>*,.pj-g>*,.sh-grid>*,.srv-g>*,.team-g>*,.cs>*{min-width:0}
img,svg,video{max-width:100%}
html,body{max-width:100%}
.pres-im{max-width:100%}
.pres-act .btn{white-space:normal}
h1,h2,h3,p,li,a,span{overflow-wrap:break-word}

/* grands écrans / TV : le site s'agrandit pour rester lisible à distance */
@media(min-width:1920px){body{zoom:1.2}}
@media(min-width:2560px){body{zoom:1.6}}
@media(min-width:3400px){body{zoom:2.2}}
@supports not (zoom:1){
 @media(min-width:1920px){html{font-size:120%}.container{width:min(1500px,90%)}}
 @media(min-width:2560px){html{font-size:160%}.container{width:min(1900px,88%)}}
}

/* tablette et petits portables : menu burger (le menu central ne tient plus à côté du logo et du bouton) */
@media(max-width:1100px){
 .notch{top:84px;left:16px;right:16px;transform:translateY(-14px);opacity:0;pointer-events:none;border-radius:20px;padding:12px 22px;transition:.35s;box-shadow:0 20px 40px rgba(0,0,0,.2)}
 .notch::before,.notch::after{display:none}
 .menu{flex-direction:column;gap:0}
 .menu a{padding:13px 0;border-bottom:1px solid #eee;font-size:1.05rem}
 body.open .notch{transform:none;opacity:1;pointer-events:auto}
 .burger{display:block}
 .caps{padding:0 56px 30px}.caps .cap{left:56px;right:56px}.cap-actions{left:56px}.chips{left:56px;right:56px}
 .sh-grid{grid-template-columns:repeat(2,1fr)}
 .pres-g{grid-template-columns:1fr;gap:56px}.pres-im{max-width:560px;margin-inline:auto}
}
@media(max-width:1000px){
 section{padding:72px 0}
 .hero-box{height:min(620px,76vh)}
 .m-box{grid-template-columns:1fr}
 .filters,.sh-filters{gap:8px}
}
/* smartphone */
@media(max-width:720px){
 .container{width:92%}
 section{padding:56px 0}
 .hero{padding-top:12px}
 .hero-box{width:calc(100% - 20px);height:min(640px,86vh);min-height:520px;border-radius:20px}
 .hd-in{padding:0 12px}
 .logo img{height:50px}.hd-in .logo{padding:8px 14px 10px 10px}
 .cta-r{margin-top:14px}.cart-btn{width:42px;height:42px}.burger{width:42px;height:42px}.cta-c{width:42px;height:42px}
 .tab{width:38px;height:68px}.ar{font-size:1.5rem}
 .caps{padding:0 18px 18px}.caps .cap{left:18px;right:18px;bottom:112px}.cap-actions{left:18px;right:18px;bottom:20px}
 .cap-actions .btn{flex:1 1 auto;justify-content:center;padding:12px 14px;font-size:.8rem}
 .cap h1{font-size:clamp(1.55rem,7vw,2rem)}.cap p{font-size:.92rem}.ctag{font-size:.68rem;padding:6px 12px}
 .chips{display:none}
 .notch{top:76px;left:10px;right:10px}
 .stat{padding:28px}.stat .big{font-size:4.2rem}
 .srv-g{grid-template-columns:1fr}.sc:nth-child(3n+2){margin-top:0}
 .heal .arch{max-width:320px;margin-inline:auto}
 .feat{grid-template-columns:1fr}
 .pj-g,.sh-grid,.bl-list{grid-template-columns:1fr}
 .pres-cards{grid-template-columns:1fr}
 .avs{gap:14px}.av{width:104px}.av img{width:104px;height:104px}.av:nth-child(even){margin-top:0}
 .t-wrap{min-height:360px}.rev{padding:24px}
 .count .container{grid-template-columns:1fr 1fr}
 .big120 b{font-size:3.4rem}
 .sub{flex-direction:column;align-items:flex-start}.sub form{width:100%}.sub input{min-width:0;flex:1}
 .f-g{grid-template-columns:1fr;gap:28px}.copy{flex-direction:column}
 .dr-box{width:100%}.dr-body,.dr-foot,.dr-head{padding-left:18px;padding-right:18px}
 .dr-it{grid-template-columns:72px 1fr 26px}.dr-it img{width:72px;height:72px}
 .m-tx{padding:24px 20px}.m-x{top:10px;right:10px}
 .ag{right:12px;bottom:12px}.ag-fab{width:58px;height:58px}
 .sh-toast{width:max-content;max-width:90vw;text-align:center}
}
@media(max-width:380px){
 .cap-actions .btn{font-size:.74rem;padding:11px 10px}
 .logo img{height:44px}.cart-btn{margin-right:6px}
 .pres-badge{padding:12px 16px}.pres-badge b{font-size:2.2rem}
}
/* téléphones en paysage / écrans peu hauts */
@media(max-height:520px) and (orientation:landscape){
 .hero-box{height:auto;min-height:calc(100vh - 20px)}
 .caps .cap{bottom:96px}.chips{display:none}.cap p{display:none}
 .ag-panel{height:calc(100vh - 100px)}
}
/* écrans tactiles : cibles plus grandes, pas d'effets de survol bloqués */
@media(hover:none){
 .pj:hover img,.sh-card:hover .sh-ph img,.sc:hover img{transform:none}
 .sh-card:hover,.sc:hover,.pres-cards div:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){.caps .cap>*{opacity:1;transform:none;animation:none}}

/* ===== Page boutique ===== */
.page-hero .hero-box{height:min(470px,62vh);min-height:400px}
.page-hero .caps .cap{bottom:100px}.page-hero .cap-actions{bottom:34px}
.howto{padding:46px 0 10px}
.how-g{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.how-g div{display:grid;grid-template-columns:48px 1fr;column-gap:16px;align-items:center;padding:20px;border:1px solid #ece7e1;border-radius:20px;background:#fff}
.how-g i{grid-row:span 2;width:48px;height:48px;border-radius:50%;background:var(--brown);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:700;font-family:'Space Grotesk',var(--font);font-size:1.2rem}
.how-g div:nth-child(2) i{background:var(--blue)}.how-g div:nth-child(3) i{background:var(--red)}
.how-g b{color:var(--ink)}.how-g span{font-size:.85rem;line-height:1.4}
.page-shop .shop{padding-top:56px}

/* ===== Aperçu boutique sur l'accueil ===== */
.shop-teaser{background:var(--cream)}
.st-g{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.shop-teaser h2{font-family:'Space Grotesk',var(--font);font-size:clamp(2rem,3.8vw,3rem);color:var(--brown);letter-spacing:-.03em;margin:4px 0 14px}
.st-act{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.st-imgs{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:420px}
.st-imgs img{width:100%;height:100%;object-fit:cover;border-radius:22px;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.st-imgs img:first-child{grid-row:span 2}
.st-imgs{overflow:hidden}.st-imgs:hover img{transform:scale(1.04)}
@media(max-width:1000px){.st-g{grid-template-columns:1fr;gap:36px}.st-imgs{height:340px}.how-g{grid-template-columns:1fr}}
@media(max-width:720px){.st-imgs{height:260px}.page-hero .hero-box{min-height:420px}.page-hero .caps .cap{bottom:96px}.page-hero .cap-actions{bottom:22px}}
