@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/barlow-condensed-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-condensed-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-condensed-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/barlow-condensed-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/barlow-condensed-latin-900-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:800;font-display:swap;src:url("../fonts/barlow-condensed-latin-800-italic.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:900;font-display:swap;src:url("../fonts/barlow-condensed-latin-900-italic.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/barlow-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/barlow-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/barlow-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Barlow";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/barlow-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Kaushan Script";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/kaushan-script-latin-400-normal.woff2") format("woff2")}
/* Layout: the LE TRÈFLE print catalogue on screen. Textured paper pages, black header panels, green rule, photo strips, black count badges, green stickers. Single committed light look. */
:root{
  --paper:#f3f3f1; --white:#ffffff; --ink:#0d0d0d; --ink-2:#1c1c1b; --mute:#5c5c58; --line:#dcdcd7;
  --green:#00a600; --green-d:#007a00; --green-l:#3fd13f; --kraft:#c9946b; --wa:#25d366; --wa-ink:#062a12;
  --disp:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --script:"Kaushan Script","Brush Script MT",cursive;
  --max:1220px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--paper) var(--grain);color:var(--ink);font:500 17px/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--ink)}
img,video{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3{overflow-wrap:break-word;margin:0;font-family:var(--disp);text-transform:uppercase;line-height:.92;letter-spacing:-.005em;text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* stickers & badges, straight from the catalogue */
.sticker{display:inline-block;background:var(--green);color:var(--white);font:900 italic clamp(22px,3vw,34px)/1 var(--disp);text-transform:uppercase;padding:.18em .38em .14em;transform:rotate(-4deg);box-shadow:5px 5px 0 var(--ink);-webkit-text-stroke:.6px var(--ink);letter-spacing:.01em}
.badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:var(--white);border-radius:10px;padding:6px 10px 5px;min-width:76px;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.badge b{font:900 26px/.9 var(--disp);color:var(--green-l)}
.badge span{font:800 11.5px/1.05 var(--disp);text-transform:uppercase;letter-spacing:.02em;text-align:center}
.dim{display:inline-block;background:var(--kraft);color:var(--ink);font:600 16px/1 var(--disp);padding:5px 8px 4px;letter-spacing:.02em}
.script{font-family:var(--script);color:var(--green);text-transform:none;font-weight:400;letter-spacing:0}
.kicker{font:800 15px/1 var(--disp);text-transform:uppercase;letter-spacing:.12em;color:var(--green-d);display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:28px;height:4px;background:var(--green)}
.dark .kicker{color:var(--green-l)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:800 18px/1 var(--disp);text-transform:uppercase;letter-spacing:.04em;padding:16px 24px;border-radius:10px;text-decoration:none;border:2.5px solid var(--ink);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.btn svg{width:20px;height:20px;flex:none}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-green{background:var(--green);color:var(--white)}
.btn-paper{background:var(--white);color:var(--ink)}
.btn-wa{background:var(--wa);color:var(--wa-ink)}
.dark .btn-paper{border-color:var(--white)}
.dark .btn:hover{box-shadow:4px 4px 0 var(--green)}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--ink);color:var(--white);border-bottom:4px solid var(--green)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;height:70px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand .lt{height:38px;width:auto}
.brand .by{display:flex;align-items:center;gap:8px;font:600 12px var(--body);color:#bdbdb8;border-left:1px solid #3a3a38;padding-left:14px}
.brand .by img{height:26px;width:auto}
.links{display:flex;gap:24px;font:800 16px var(--disp);text-transform:uppercase;letter-spacing:.06em}
.links a{text-decoration:none;color:#d8d8d4}
.links a:hover{color:var(--green-l)}
.nav .btn{padding:11px 16px;font-size:15px;border-color:var(--green)}

/* hero: catalogue page 3 layout, photo strip + content */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);border-bottom:4px solid var(--ink)}
.hero .strip{position:relative;background:var(--ink);border-right:5px solid var(--green);min-height:560px;overflow:hidden}
.hero .strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hero .strip .tag{position:absolute;left:24px;bottom:28px}
.hero .content{padding:64px max(16px,env(safe-area-inset-right,0px)) 72px 56px;display:flex;flex-direction:column;justify-content:center;gap:26px;max-width:760px}
.hero h1{font-size:clamp(56px,8.4vw,124px);font-weight:900}
.hero h1 .s{display:block;font-size:.62em;margin-top:.12em}
.hero .lede{font-size:19px;color:#2f2f2d;max-width:54ch}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.facts{display:flex;flex-wrap:wrap;gap:10px}
.facts .badge{min-width:0;padding:8px 14px 7px}
.facts .badge b{font-size:22px}

/* sections */
section.band{padding-block:96px}
.dark{background:var(--ink) var(--grain);color:var(--white)}
.head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:52px}
.h2{font-size:clamp(46px,6.4vw,92px);font-weight:900;margin-top:16px}
.head p{color:var(--mute);font-size:17.5px;max-width:52ch}
.dark .head p{color:#b7b7b2}

/* power */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pillar{border:2px solid #333331;border-top:6px solid var(--green);padding:26px 22px 28px;background:var(--ink-2)}
.pillar{min-width:0}
.pillar h3{font-size:clamp(24px,2.5vw,32px);font-weight:900;margin:0 0 12px;overflow-wrap:anywhere}
.pillar p{color:#b7b7b2;font-size:15.5px}
.norms{margin-top:56px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:44px;align-items:start}
.norms h3{font-size:clamp(36px,4vw,54px);font-weight:900}
.norms h3 .script{font-size:1.05em}
.norm-list{list-style:none;margin:0;padding:0;border-top:2px solid #333331}
.norm-list li{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:2px solid #333331;align-items:baseline}
.norm-list strong{font:800 20px/1.1 var(--disp);text-transform:uppercase;color:var(--green-l);letter-spacing:.02em}
.norm-list span{color:#c9c9c4;font-size:15.5px}

/* clients */
.clients{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.client.resto{background:var(--ink);color:var(--white);box-shadow:8px 8px 0 var(--green)}
.client.resto p{color:#c9c9c4}
.client.resto .btn{margin-top:auto;align-self:flex-start;border-color:var(--green)}
.client.resto h3{font-size:clamp(26px,2.6vw,32px)}
.sticker.fr{background:var(--white);color:var(--ink);-webkit-text-stroke:0;display:inline-flex;align-items:center;gap:.28em;font-size:1em;padding:.16em .4em .14em .26em;border:3px solid var(--ink)}
.sticker.fr .flag{width:1.35em;height:.9em;flex:none;filter:drop-shadow(1px 2px 0 rgba(0,0,0,.35));transform-origin:left center;animation:flap 3.2s ease-in-out infinite}
@keyframes flap{0%,100%{transform:skewY(0)}50%{transform:skewY(-3deg) scaleX(.97)}}
.client{background:var(--white);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:26px 24px 28px;display:flex;flex-direction:column;gap:12px}
.client .num{align-self:flex-start;font-size:clamp(19px,1.8vw,25px);max-width:100%}
.client h3{font-size:clamp(28px,3vw,38px);font-weight:900}
.client p{color:var(--mute);font-size:16px}
.client ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.client li{font:700 14px/1 var(--disp);text-transform:uppercase;letter-spacing:.04em;background:var(--paper);border:1.5px solid var(--ink);padding:6px 8px 5px}

/* catalogue */
.catalogue{border-top:4px solid var(--ink)}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:30px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:800 16px/1 var(--disp);text-transform:uppercase;letter-spacing:.04em;padding:10px 14px 9px;border:2.5px solid var(--ink);background:var(--white);color:var(--ink);border-radius:8px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--green);color:var(--white);box-shadow:3px 3px 0 var(--ink)}
.chip .c{opacity:.65;margin-left:4px}
.search{display:flex;align-items:center;gap:8px;border:2.5px solid var(--ink);background:var(--white);padding:0 14px;border-radius:8px;flex:0 1 300px;min-width:0}
.search svg{width:18px;height:18px;flex:none}
.search input{border:0;outline:0;font:600 16px var(--body);padding:11px 0;width:100%;min-width:0;background:transparent;color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}
.prod{display:flex;flex-direction:column;background:var(--white);border:2px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.prod:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.prod .ph{position:relative;aspect-ratio:1/1;max-width:100%;background:#f3f3f1}
.prod .ph img{width:100%;height:100%;object-fit:contain}
.prod .badges{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:5px;align-items:flex-end}
.prod .badge{min-width:68px;padding:5px 8px 4px;border-radius:8px}
.prod .badge b{font-size:22px}
.prod .badge span{font-size:10.5px}
.prod .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1;text-align:center;border-top:2px solid var(--line)}
.prod h3{font-size:23px;font-weight:800;line-height:1}
.prod .sub{font:500 18px/1.1 var(--disp);text-transform:uppercase;color:#2f2f2d}
.prod .dim{align-self:center}
.prod .ask{margin-top:auto;padding-top:10px;font:800 15px var(--disp);text-transform:uppercase;letter-spacing:.06em;color:var(--green-d);text-decoration:none}
.prod .ask:hover{text-decoration:underline;text-underline-offset:3px}
.empty{grid-column:1/-1;border:2.5px dashed var(--ink);padding:40px;text-align:center;font:700 20px var(--disp);text-transform:uppercase}
.cat-note{margin-top:24px;font:600 14px var(--body);color:var(--mute)}

/* personnalisation: catalogue page 5 */
.perso-hero{position:relative}
.perso-title{text-align:center;margin-bottom:34px}
.perso-title h2{font-size:clamp(40px,8vw,118px);font-weight:900;color:var(--white)}
.perso-title .script{display:block;font-size:.9em;margin-top:-.08em;transform:rotate(-3deg)}
.perso-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:36px;align-items:start}
.collage{border:3px solid #2c2c2a;overflow:hidden}
.collage img{width:100%;height:auto}
.items{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}
.items span{font:900 20px/1 var(--disp);text-transform:uppercase;background:var(--white);color:var(--ink);padding:8px 11px 7px;box-shadow:3px 3px 0 var(--green)}
.perso-side p{color:#c9c9c4}
.phone{border-radius:28px;padding:8px;background:#222220;border:1px solid #3d3d3a;position:relative;margin:30px auto 0;max-width:300px}
.phone video{width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:21px;background:#000}
.sound{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);white-space:nowrap;display:flex;gap:8px;align-items:center;font:700 14px var(--disp);text-transform:uppercase;letter-spacing:.05em;color:#fff;background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:9px 15px;cursor:pointer}
.sound svg{width:16px;height:16px}
.steps{margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.step{border-top:6px solid var(--green);padding-top:16px}
.step .n{font:900 46px/1 var(--disp);color:var(--green-l)}
.step h3{font-size:clamp(22px,2.4vw,28px);overflow-wrap:anywhere;font-weight:900;margin:6px 0 8px}
.step p{color:#b7b7b2;font-size:15.5px}
.torn{height:34px;background:var(--green);clip-path:polygon(0 40%,4% 70%,8% 35%,13% 60%,18% 30%,23% 65%,28% 38%,33% 58%,38% 28%,44% 62%,50% 36%,55% 66%,61% 32%,66% 58%,72% 34%,77% 64%,83% 30%,88% 60%,94% 36%,100% 62%,100% 100%,0 100%)}


/* studio graphisme */
.graph{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.graph ul{list-style:none;margin:26px 0 30px;padding:0;display:grid;gap:14px}
.graph li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start}
.graph li b{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:var(--green-l);font:900 20px/1 var(--disp);border-radius:8px}
.graph li strong{display:block;font:800 22px/1.05 var(--disp);text-transform:uppercase}
.graph li span{color:var(--mute);font-size:16px}
.bat{position:relative;background:var(--white);border:3px solid var(--ink);box-shadow:12px 12px 0 var(--green);padding:26px 26px 18px;max-width:520px;justify-self:center;width:100%}
.bat .bat-top{display:flex;justify-content:space-between;align-items:center;font:800 14px/1 var(--disp);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:10px}
.bat .stamp{background:var(--green);color:var(--white);padding:5px 9px 4px;transform:rotate(-3deg);display:inline-block;box-shadow:2px 2px 0 var(--ink)}
.bat .art{position:relative;margin:22px auto 16px;width:78%;aspect-ratio:3/4;max-width:100%;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#f6f6f4 0 12px,#efefec 12px 24px)}
.bat .art .demo-bag{width:86%;height:auto;max-height:96%}
.bat .mark{position:absolute;width:22px;height:22px;border-color:var(--ink);border-style:solid}
.bat .tl{top:-10px;left:-10px;border-width:2px 0 0 2px}.bat .tr{top:-10px;right:-10px;border-width:2px 2px 0 0}
.bat .bl{bottom:-10px;left:-10px;border-width:0 0 2px 2px}.bat .br{bottom:-10px;right:-10px;border-width:0 2px 2px 0}
.bat .note{position:absolute;font:700 13px/1.1 var(--disp);text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--white);padding:5px 8px 4px;white-space:nowrap}
.bat .n1{top:16%;right:-14%}.bat .n2{bottom:20%;left:-16%}
.bat .n1::before,.bat .n2::after{content:"";position:absolute;top:50%;width:26px;height:2px;background:var(--ink)}
.bat .n1::before{right:100%}.bat .n2::after{left:100%}
.bat dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;border-top:2px solid var(--ink);padding-top:12px}
.bat dt{font:700 11px/1 var(--disp);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.bat dd{margin:3px 0 0;font:800 17px/1 var(--disp);text-transform:uppercase}
.center{justify-content:center}
.contact-lede{margin-top:26px;color:var(--mute);max-width:50ch}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
.tel{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:24px 0 22px}
.tel strong{font:900 clamp(48px,6.6vw,84px)/1 var(--disp);letter-spacing:.01em;user-select:all}
.copy{font:800 15px var(--disp);text-transform:uppercase;letter-spacing:.06em;border:2.5px solid var(--ink);background:var(--white);color:var(--ink);border-radius:8px;padding:9px 13px;cursor:pointer}
form{background:var(--white);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--green);padding:28px;display:grid;gap:16px}
form h3{font-size:38px;font-weight:900}
.field{display:grid;gap:6px}
.field label{font:800 14px var(--disp);text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.field input,.field select,.field textarea{font:500 16px var(--body);color:var(--ink);background:var(--white);border:2px solid var(--line);border-radius:6px;padding:12px 13px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:0}
.field textarea{min-height:96px;resize:vertical}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.form-note{font-size:14px;color:var(--mute)}

footer{background:var(--ink);color:#b7b7b2;border-top:5px solid var(--green);padding-block:34px;font-size:15px}
.foot{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.foot .brand .lt{height:32px}
.foot a{color:var(--white)}

@media (max-width:1020px){
  .links{display:none}
  .hero{grid-template-columns:1fr}
  .hero .strip{min-height:0;aspect-ratio:16/10;border-right:0;border-bottom:5px solid var(--green)}
  .hero .strip img{object-position:50% 2%}
  .hero .content{padding:44px max(16px,env(safe-area-inset-right,0px)) 56px max(16px,env(safe-area-inset-left,0px))}
  .head,.norms,.perso-grid,.contact{grid-template-columns:1fr}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clients{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .graph{grid-template-columns:1fr;gap:48px}
}
@media (max-width:640px){
  section.band{padding-block:68px}
  .brand .by span{display:none}
  .nav .btn span{display:none}
  .nav .btn{padding:10px 12px}
  .pillars{grid-template-columns:1fr}
  .norm-list li{grid-template-columns:1fr;gap:4px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
  .prod h3{font-size:18px}
  .prod .sub{font-size:15px}
  .prod .body{padding:10px 10px 12px}
  .prod .badge{min-width:54px;padding:4px 6px 3px}
  .prod .badge b{font-size:17px}
  .prod .badge span{font-size:9px}
  .prod .badges{right:6px;top:6px;gap:4px}
  .prod .dim{font-size:13px}
  .clients{grid-template-columns:1fr}
  .client{box-shadow:6px 6px 0 var(--ink)}
  .client.resto{box-shadow:6px 6px 0 var(--green)}
  .two{grid-template-columns:1fr}
  .ctas .btn{flex:1 1 100%}
  form{padding:20px;box-shadow:6px 6px 0 var(--green)}
  .phone{max-width:260px}
  .bat .n1{right:-4%}.bat .n2{left:-4%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ===== v5 additions ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.h1-kw{display:block;font:800 clamp(15px,1.4vw,18px)/1.2 var(--disp);letter-spacing:.1em;color:var(--green-d);margin-bottom:.7em;text-transform:uppercase}
.hero .content{position:relative;isolation:isolate}
/* reveal on scroll: element is visible at rest, the class only plays the entrance */
.rv.in{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{transform:translateY(26px);opacity:.55}to{transform:none;opacity:1}}
.badge{transition:transform .2s ease}
.facts .badge:hover{transform:translateY(-3px) rotate(-2deg)}
.chip{transition:transform .15s ease}
.chip:hover{transform:translateY(-2px)}
.sticker.fr:hover .flag{animation-duration:1.2s}
/* SEO content */
.seo{border-top:4px solid var(--ink);background:var(--white) var(--grain)}
.seo-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.seo-cols article{border-top:6px solid var(--green);padding-top:18px}
.seo-cols h3{font-size:clamp(24px,2.2vw,30px);font-weight:900;margin-bottom:12px}
.seo-cols p{color:#3a3a37;font-size:16px}
.seo-cols strong{color:var(--ink)}
.seo-cols a{color:var(--green-d);font-weight:700}
/* slider */
.vitrine{margin-top:72px}
.vitrine-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:26px}
.vitrine-head h3{font-size:clamp(36px,4.4vw,56px);font-weight:900}
.vitrine-head p{color:#b7b7b2;max-width:46ch}
.slider{position:relative}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border:1px solid #2e2e2b;outline-offset:4px}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;min-height:clamp(300px,27vw,380px);background:radial-gradient(ellipse 60% 70% at 36% 46%,#3b3b38 0%,#1e1e1d 55%,#111110 100%);position:relative;overflow:hidden}
.slide::after{content:"";position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.035));border-top:1px solid rgba(255,255,255,.05);pointer-events:none}
.stage{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:4%;height:clamp(300px,28vw,390px);padding:26px 20px 34px}
.stage .obj{margin:0;position:relative;display:flex;justify-content:center;align-items:flex-end;height:100%}
.stage.one .obj{height:100%}
.stage .obj img{max-height:100%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 24px 22px rgba(0,0,0,.6)) drop-shadow(0 4px 6px rgba(0,0,0,.4));transform-origin:50% 100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.stage .obj::after{content:"";position:absolute;bottom:-14px;left:12%;right:12%;height:20px;background:radial-gradient(ellipse at center,rgba(0,0,0,.8),rgba(0,0,0,0) 70%);filter:blur(2px);z-index:-1}
.stage.two .obj{flex:1 1 0;min-width:0}
.stage.two .obj:first-child img{transform:rotate(-4deg)}
.stage.two .obj:last-child img{transform:rotate(4deg)}
.stage .obj.flat{height:auto;align-items:center}
.stage .obj.flat img{max-height:190px}
.slide:hover .stage .obj img{transform:translateY(-8px) rotate(0deg)}
.slide.cur .stage .obj img{animation:pop .8s cubic-bezier(.2,.7,.2,1) both}
.slide.cur .stage .obj:nth-child(2) img{animation-delay:.12s}
@keyframes pop{from{transform:translateY(30px) scale(.94);opacity:.4}}
.slide-txt{position:relative;z-index:1;padding:28px 40px 28px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.slide-txt .type{font:900 26px/1 var(--disp);text-transform:uppercase;background:var(--green);color:var(--white);padding:7px 11px 6px;box-shadow:3px 3px 0 #000}
.slide-txt h4{margin:6px 0 0;font:900 clamp(30px,3.4vw,46px)/.95 var(--disp);text-transform:uppercase;color:var(--white)}
.slide-txt p{color:#c3c3be;font-size:16.5px;max-width:40ch}
.slider-ui{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:18px}
.sl-btn{width:48px;height:48px;border-radius:50%;border:2px solid var(--white);background:transparent;color:var(--white);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.sl-btn:hover{background:var(--green);border-color:var(--green)}
.sl-btn svg{width:22px;height:22px}
.dots{display:flex;gap:10px}
.dots button{width:12px;height:12px;border-radius:999px;border:0;background:#555551;cursor:pointer;padding:0;transition:width .25s,background .25s}
.dots button[aria-current="true"]{width:34px;background:var(--green-l)}
/* faq */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.faq{border-top:3px solid var(--ink)}
.faq details{border-bottom:2px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font:800 22px/1.15 var(--disp);text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:var(--green-l);border-radius:8px;font-size:24px;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 18px;color:#3a3a37;max-width:62ch}
.contact-band{border-top:4px solid var(--ink)}
.mail{font-weight:700;color:var(--ink);user-select:all}
.bat-note{margin-top:10px;font-size:12.5px;color:var(--mute)}
/* footer */
.foot{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px 48px;align-items:start}
.foot-brand p{margin-top:14px;max-width:46ch}
.foot-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}
.foot-links a{color:#d6d6d2;text-decoration:none;font:700 16px var(--disp);text-transform:uppercase;letter-spacing:.05em}
.foot-links a:hover{color:var(--green-l)}
.copy-line{grid-column:1/-1;border-top:1px solid #2c2c2a;padding-top:16px;font-size:13.5px}
@media (max-width:1020px){
  .seo-cols{grid-template-columns:1fr}
  .faq-wrap{grid-template-columns:1fr;gap:28px}
  .slide{grid-template-columns:1fr;min-height:0}
  .stage{height:300px;padding:24px 16px 30px}
  .slide-txt{padding:4px 22px 34px}
  .foot{grid-template-columns:1fr}
}
@media (max-width:640px){
  .stage{height:240px}
  .stage .obj.flat img{max-height:120px}
  .stage.two{gap:2%}
  .foot-links{grid-template-columns:1fr}
  .faq summary{font-size:19px}
}
@media (prefers-reduced-motion:reduce){.cutlery,.rv.in,.slide.cur .stage .obj img{animation:none!important}}

/* couverts qui se baladent sur toute la page (CSS pur, GPU, aucun téléchargement) */
.cutlery{position:fixed;inset:0;z-index:15;pointer-events:none;overflow:hidden}
.cu{position:absolute;width:24px;height:64px;fill:var(--green);opacity:.2;will-change:transform}
.c1{left:-3%;top:18%;animation:w1 46s linear infinite}
.c2{left:88%;top:8%;width:20px;height:54px;fill:var(--kraft);opacity:.28;animation:w2 52s linear infinite}
.c3{left:40%;top:96%;animation:w3 58s linear infinite}
.c4{left:70%;top:62%;width:18px;height:48px;fill:var(--kraft);opacity:.26;animation:w4 40s linear infinite}
.c5{left:12%;top:72%;width:28px;height:74px;opacity:.16;animation:w2 64s linear infinite reverse}
.c6{left:94%;top:44%;width:20px;height:54px;fill:var(--kraft);opacity:.24;animation:w1 50s linear infinite reverse}
.c7{left:28%;top:-6%;width:18px;height:48px;opacity:.18;animation:w4 44s linear infinite}
.c8{left:56%;top:30%;width:22px;height:58px;fill:var(--kraft);opacity:.22;animation:w3 70s linear infinite reverse}
@keyframes w1{0%{transform:translate(0,0) rotate(-20deg)}25%{transform:translate(32vw,22vh) rotate(70deg)}50%{transform:translate(74vw,4vh) rotate(170deg)}75%{transform:translate(46vw,58vh) rotate(260deg)}100%{transform:translate(0,0) rotate(340deg)}}
@keyframes w2{0%{transform:translate(0,0) rotate(30deg)}25%{transform:translate(-30vw,34vh) rotate(-60deg)}50%{transform:translate(-70vw,12vh) rotate(-150deg)}75%{transform:translate(-36vw,70vh) rotate(-240deg)}100%{transform:translate(0,0) rotate(-330deg)}}
@keyframes w3{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(24vw,-40vh) rotate(90deg)}50%{transform:translate(-20vw,-80vh) rotate(200deg)}75%{transform:translate(-34vw,-30vh) rotate(290deg)}100%{transform:translate(0,0) rotate(360deg)}}
@keyframes w4{0%{transform:translate(0,0) rotate(15deg)}33%{transform:translate(-40vw,30vh) rotate(130deg)}66%{transform:translate(-10vw,70vh) rotate(250deg)}100%{transform:translate(0,0) rotate(375deg)}}
@media (max-width:640px){.cu{opacity:.14}.c5,.c8{display:none}}
