
.gestes .row .k img{width:44px;height:44px;object-fit:contain}
html{overflow-x:clip}
.pleine{width:100vw;margin-left:calc(50% - 50vw);
  --gut:max(clamp(20px,4.5vw,64px),calc((100vw - var(--page-large,1560px))/2))}

.gestes{padding:calc(clamp(70px,11vh,140px) * var(--eh,1)) var(--gut) calc(clamp(50px,8vh,100px) * var(--eb,1))}
.gestes .top{display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  padding-bottom:26px;border-bottom:1.5px solid var(--ink);flex-wrap:wrap}
.gestes .top h2{font-family:var(--f-titres),ui-serif,Georgia,serif;font-weight:var(--w-titres-demi,600);
  font-size:clamp(30px,5vw,68px);letter-spacing:-.04em;line-height:.9;margin:0}
.gestes .top a{font-size:var(--t-xxs,11px);font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mute);text-decoration:none}
.gestes .top a:hover{color:var(--ink)}
.gestes .rows{display:grid;grid-template-columns:repeat(3,1fr);gap:0}

.gestes .row{padding:36px 24px 30px;border-right:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
.gestes .row:last-child{border-right:0}

.gestes .k{width:clamp(46px,5.4vw,70px);color:var(--ink)}
.gestes .k svg{display:block;width:100%;height:auto}
.gestes .k svg *{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;
  stroke-linejoin:round;vector-effect:non-scaling-stroke}
.gestes .t{font-family:var(--f-titres),ui-serif,Georgia,serif;font-weight:var(--w-titres-demi,600);
  font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em}
.gestes .d{font-size:var(--t-md,15px);color:var(--mute);line-height:1.5;max-width:32ch;margin:0 auto}

@media(max-width:760px){
  .gestes{padding-left:0;padding-right:0}
  .gestes .top{margin:0 var(--gut)}
  .gestes .rows{display:flex;gap:0;overflow-x:auto;padding:0 var(--gut);
    scroll-snap-type:x proximity;scroll-padding-inline:var(--gut);
    scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
  .gestes .rows::-webkit-scrollbar{display:none}
  .gestes .row{flex:0 0 min(76vw,320px);scroll-snap-align:start;
    padding:26px 18px 22px;border-right:1px solid var(--line)}
  .gestes .row:last-child{border-right:0}
  .gestes .d{max-width:none}}

.gcartes .top{border-bottom:0;padding-bottom:0;align-items:center}
.gcartes .top h2{line-height:1}
.gcartes .top h2 em{font-style:italic}
.gcartes.gc-acc-charte1 .top h2 em{color:var(--ch1)}
.gcartes.gc-acc-charte2 .top h2 em{color:var(--ch2)}
.gcartes.gc-acc-charte3 .top h2 em{color:var(--ch3)}
.gcartes.gc-acc-charte4 .top h2 em{color:var(--ch4)}
.gcartes .top a.gc-btn{border:1.5px solid var(--ink);border-radius:var(--btn-r,30px);padding:15px 28px;
  color:var(--ink);font-size:var(--t-sm,13px);letter-spacing:.16em;transition:background .18s,color .18s}
.gcartes .top a.gc-btn:hover{background:var(--ink);color:var(--fond,#FCF7EE)}
.gc-rail{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:clamp(14px,1.8vw,26px);
  margin-top:clamp(26px,4vh,44px)}
.gc{background:#fff;border-radius:calc(var(--arrondi,16px) * 1.25);padding:clamp(10px,1vw,16px);
  padding-bottom:clamp(22px,2vw,32px);display:flex;flex-direction:column;min-width:0;
  box-shadow:0 18px 40px -30px rgba(27,27,47,.4)}
.gc-ph{aspect-ratio:4/3;border-radius:var(--arrondi,16px);overflow:hidden;background:#F1EADC}
.gc-ph img{display:block;width:100%;height:100%;object-fit:cover}
.gc-n{margin:18px 8px 0;font-size:var(--t-sm,13px);color:var(--mute)}
.gc-n::after{content:"";display:block;width:24px;height:2px;background:var(--ink);margin-top:18px}
.gc-l{margin:14px 8px 0;font-size:clamp(17px,1.45vw,21px);line-height:1.3;color:var(--ink)}
.gc-l em{font-style:normal;font-weight:700}
.gc-d{margin:8px 8px 0;font-size:var(--t-md,15px);color:var(--mute);line-height:1.5}
@media(max-width:760px){
  
  .gc-rail{display:flex;gap:12px;overflow-x:auto;margin-top:22px;
    padding:4px var(--gut,clamp(20px,4.5vw,64px)) 22px;
    scroll-snap-type:x mandatory;scroll-padding-left:var(--gut,clamp(20px,4.5vw,64px));
    scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
  .gc-rail::-webkit-scrollbar{display:none}
  .gc{flex:0 0 min(78vw,330px);scroll-snap-align:start}
  .gcartes .top a.gc-btn{padding:12px 20px}
  
  .gcartes{display:flex;flex-direction:column}
  .gcartes .top{display:contents}
  .gcartes .top h2{order:1;margin:0 var(--gut,clamp(20px,4.5vw,64px))}
  .gcartes .gc-rail{order:2}
  .gcartes .top a.gc-btn{order:3;align-self:flex-end;margin:0 var(--gut,clamp(20px,4.5vw,64px)) 0 0}
}
