﻿/* Supplemental page styles ported from design handoff inline blocks */

/* === Home (Accueil) === */
:root{
  --paper:#f1efeb; --paper-2:#e9e7e2;
  --ink:#1b1c1a; --ink-soft:#6b6d68;
  --green:#06392f; --line:#d8d6cf; --accent:#c16945; --accent-d:#a9542f;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.mono{font-family:'Space Mono',monospace;}
.display{font-family:'Archivo',sans-serif;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* ---- top utility bar ---- */
.etop{background:var(--green);color:#fff;font-family:'Space Mono';}
.etop .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding-top:6px;padding-bottom:6px;}
.etop .left{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.etop a,.etop span.item{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.88);transition:color .15s;}
.etop .left a:hover{color:#fff;}
.etop i,.etop .left svg{width:14px;height:14px;color:var(--accent);flex:none;}
.etop .social{display:flex;align-items:center;gap:4px;}
.etop .social a{width:30px;height:30px;justify-content:center;gap:0;border:1px solid rgba(255,255,255,.28);color:#fff;transition:.16s;}
.etop .social a:hover{background:var(--accent);border-color:var(--accent);}
.etop .social a i,.etop .social a svg{width:14px;height:14px;color:#fff;}
.etop .social .brand-ic{width:14px;height:14px;}
@media(max-width:760px){
  .etop .wrap{min-height:34px;}
  .etop .addr{display:none;}
  .etop a,.etop span.item{font-size:.62rem;letter-spacing:.04em;}
}

/* ---- header ---- */
.eh{position:sticky;top:0;z-index:50;background:rgba(241,239,235,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.eh .wrap{display:flex;align-items:center;height:70px;gap:20px;}
.elogo{display:flex;align-items:center;gap:10px;}
.elogo .m{width:34px;height:34px;border:2px solid var(--ink);display:grid;place-items:center;}
.elogo .m i{width:18px;height:18px;}
.elogo b{font-family:'Archivo';font-weight:800;letter-spacing:.06em;font-size:1.05rem;text-transform:uppercase;}
.emenu{margin-left:auto;display:flex;gap:24px;}
.emenu a{font-family:'Space Mono';font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);transition:.15s;}
.emenu a:hover,.emenu a.active{color:var(--ink);}
.emenu .has-drop{position:relative;display:flex;align-items:center;}
.emenu .has-drop > a{display:inline-flex;align-items:center;gap:5px;}
.emenu .has-drop > a i{width:12px;height:12px;transition:transform .22s ease;}
.emenu .has-drop:hover > a i{transform:rotate(180deg);}
.emenu .has-drop::after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:16px;}
.drop{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);min-width:248px;background:#fff;border:1.5px solid var(--ink);box-shadow:0 20px 44px rgba(27,28,26,.16);padding:5px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .22s cubic-bezier(.2,.7,.3,1);z-index:60;}
.emenu .has-drop:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.drop::before{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-bottom-color:var(--ink);}
.drop::after{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(1.5px);border:6px solid transparent;border-bottom-color:#fff;}
.drop a{display:flex;align-items:center;gap:10px;padding:11px 13px;font-family:'Space Mono';font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;border-bottom:1px solid var(--line);transition:.16s;}
.drop a:last-child{border-bottom:none;}
.drop a .no{color:var(--accent);font-size:.62rem;}
.drop a:hover{background:var(--paper-2);color:var(--ink);padding-left:18px;}
.ebtn{font-family:'Space Mono';font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;background:var(--green);color:#fff;padding:.7rem 1.2rem;display:inline-flex;align-items:center;gap:.5rem;transition:.18s;}
.ebtn:hover{background:#0c5341;}
.ebtn i{width:14px;height:14px;}
.eburger{display:none;margin-left:auto;width:44px;height:44px;border:1.5px solid var(--ink);background:transparent;cursor:pointer;padding:0;flex-direction:column;gap:5px;align-items:center;justify-content:center;}
.eburger span{display:block;width:20px;height:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease;}
.eburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.eburger.open span:nth-child(2){opacity:0;}
.eburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mnav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:120;background:var(--paper);transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.7,.3,1);overflow-y:auto;}
.mnav.open{transform:translateX(0);}
.mnav .mhead{display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 24px;border-bottom:1px solid var(--line);}
.mnav .mclose{width:44px;height:44px;border:1.5px solid var(--ink);background:transparent;display:grid;place-items:center;cursor:pointer;}
.mnav .mclose i{width:20px;height:20px;}
.mnav .mlist{display:flex;flex-direction:column;padding:14px 24px 30px;}
.mnav .mlist > a,.mnav .msub-t{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.5rem;letter-spacing:.01em;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);display:flex;align-items:center;justify-content:space-between;}
.mnav .mlist > a .ix{font-family:'Space Mono';font-size:.7rem;color:var(--accent);font-weight:400;}
.mnav .msub{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding-bottom:10px;}
.mnav .msub-t{border-bottom:none;padding-bottom:8px;}
.mnav .msub a{font-family:'Space Mono';font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);padding:11px 0 11px 14px;display:flex;align-items:center;gap:10px;}
.mnav .msub a .no{color:var(--accent);font-size:.72rem;}
.mnav .mcta{margin-top:24px;display:flex;flex-direction:column;gap:12px;}
.mnav .mcta .ebtn{justify-content:center;}
.mnav .mcta .mphone{display:flex;align-items:center;justify-content:center;gap:9px;font-family:'Space Mono';font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);padding:12px;border:1.5px solid var(--line);}
.mnav .mcta .mphone i{width:16px;height:16px;color:var(--accent);}

/* ---- bracket label ---- */
.brk{position:relative;padding:14px 0 0 16px;}
.brk::before{content:"";position:absolute;left:0;top:0;width:14px;height:14px;border-left:2px solid var(--ink);border-top:2px solid var(--ink);}
.brk .k{font-family:'Archivo';font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.05;font-size:1.05rem;}
.brk .s{font-family:'Space Mono';font-size:.72rem;letter-spacing:.1em;color:var(--ink-soft);text-transform:uppercase;margin-top:3px;}

/* ---- hero ---- */
.hero{position:relative;padding:30px 0 50px;}
.thread{position:absolute;top:0;left:calc(50% + 20px);width:1px;height:165px;background:linear-gradient(var(--ink-soft),transparent);z-index:1;}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2;}
.hero-top .right{text-align:right;}
.hero-top .right .brk{padding:14px 16px 0 0;}
.hero-top .right .brk::before{left:auto;right:0;border-left:none;border-right:2px solid var(--ink);}
.hero-stage{position:relative;display:grid;place-items:center;margin-top:-46px;}
.halo{display:none;}
.heart-zone{position:relative;z-index:2;width:580px;max-width:90vw;margin:-30px -40px -90px 0;cursor:pointer;}
.heart-img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;transition:opacity .6s ease;}
.heart-color{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .6s ease;pointer-events:none;}
.heart-zone:hover .heart-base{opacity:0;}
.heart-zone:hover .heart-color{opacity:1;}
/* BPM badges */
.bpm{position:absolute;z-index:6;display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem .5rem .55rem;background:#fff;border:1.5px solid var(--ink);box-shadow:0 14px 30px rgba(27,28,26,.16);opacity:0;pointer-events:none;transition:opacity .5s ease, transform .6s cubic-bezier(.2,.8,.25,1);}
.bpm .ic{width:30px;height:30px;flex:none;display:grid;place-items:center;background:var(--green);color:#fff;}
.bpm .ic i{width:16px;height:16px;}
.bpm .tx{display:flex;flex-direction:column;line-height:1;}
.bpm .tx .lab{font-family:'Space Mono';font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);}
.bpm .tx .val{font-family:'Archivo';font-weight:900;font-size:1rem;text-transform:uppercase;margin-top:3px;color:var(--ink);transform-origin:left center;}
.bpm .tx .val em{font-style:normal;font-size:.6rem;color:var(--green);margin-left:2px;}
.bpm .ecg{width:44px;height:22px;flex:none;}
.bpm .ecg polyline{fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.bpm.a{top:20%;left:22%;transform:translate(30px,14px) scale(.85);}
.bpm.b{bottom:18%;right:17%;transform:translate(-30px,-14px) scale(.85);}
.heart-zone:hover .bpm{opacity:1;}
.heart-zone:hover .bpm.a{transform:translate(0,0) scale(1);transition-delay:.05s;}
.heart-zone:hover .bpm.b{transform:translate(0,0) scale(1);transition-delay:.14s;}
.heart-zone:hover .bpm .val{animation:beat .82s ease-in-out infinite;}
.heart-zone:hover .bpm .ecg polyline{stroke-dasharray:120;animation:trace 1.1s linear infinite;}
@keyframes beat{0%,100%{transform:scale(1);}14%{transform:scale(1.16);}28%{transform:scale(1);}42%{transform:scale(1.08);}}
@keyframes trace{from{stroke-dashoffset:120;}to{stroke-dashoffset:0;}}

/* ---- hero service callouts (replace BPM on hover) ---- */
.heart-zone .bpm{display:none;}
.svc-layer{position:absolute;inset:0;z-index:7;pointer-events:none;}
.svc-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;transition:opacity .4s ease;}
.svc-lines polyline{fill:none;stroke:var(--ink);stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;}
.svc-lines circle{fill:var(--accent);}
.heart-zone:hover .svc-lines{opacity:1;transition-delay:.1s;}
.svc{position:absolute;pointer-events:auto;text-decoration:none;opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.25,1);}
.heart-zone:hover .svc{opacity:1;transform:translateY(0);}
.svc .card{background:#fff;border:1.5px solid var(--ink);box-shadow:0 14px 30px rgba(27,28,26,.16);padding:.5rem .62rem;display:flex;flex-direction:column;line-height:1.04;transition:.18s;}
.svc.left .card{align-items:flex-end;text-align:right;}
.svc:hover .card{border-color:var(--green);transform:translateY(-2px);}
.svc .nm{font-family:'Space Mono';font-size:.55rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;}
.svc .ct{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:1rem;color:var(--ink);margin-top:3px;white-space:nowrap;}
.svc .ct b{color:var(--green);}
.svc .ct em{font-style:normal;font-size:.55rem;color:var(--ink-soft);margin-left:3px;letter-spacing:.03em;}
.svc.s1{top:13%;left:3%;}
.svc.s3{top:42%;left:1%;}
.svc.s6{top:67%;left:3%;}
.svc.s2{top:11%;right:3%;}
.svc.s5{top:47%;right:1%;}
.svc.s4{top:64%;right:3%;}
.heart-zone:hover .svc.s1{transition-delay:.04s;}
.heart-zone:hover .svc.s2{transition-delay:.08s;}
.heart-zone:hover .svc.s3{transition-delay:.12s;}
.heart-zone:hover .svc.s4{transition-delay:.16s;}
.heart-zone:hover .svc.s5{transition-delay:.2s;}
.heart-zone:hover .svc.s6{transition-delay:.24s;}
/* hide the claim while exploring services */
.claim{transition:opacity .4s ease, transform .45s ease;}
.heart-zone:hover ~ .claim{opacity:0;transform:translateX(-12px);pointer-events:none;}
/* on heart hover: collapse "Mon expertise" and slide "Prendre RDV" into its place */
.hero-bottom .actions .ghost{transition:opacity .3s ease, transform .4s ease, max-width .5s cubic-bezier(.2,.8,.25,1), padding .5s ease, margin .5s ease, border-width .3s ease;max-width:240px;overflow:hidden;white-space:nowrap;}
.hero-bottom .actions .ebtn{transition:transform .5s cubic-bezier(.2,.8,.25,1);}
.hero-stage:has(.heart-zone:hover) ~ .hero-bottom .actions .ghost{opacity:0;max-width:0;padding-left:0;padding-right:0;margin-left:-12px;border-width:0;transform:translateX(-8px);pointer-events:none;}


.heart-ph{position:relative;z-index:2;width:430px;max-width:74vw;aspect-ratio:4/5;border:1.5px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--ink-soft);background:rgba(255,255,255,.5);padding:24px;}
.heart-ph i{width:54px;height:54px;color:var(--green);}
.heart-ph .t{font-family:'Space Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;}
.claim{position:absolute;left:0;top:42%;transform:translateY(-50%);z-index:3;}
.claim .ln{display:block;background:var(--green);color:#fff;font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,3.1vw,2.5rem);line-height:1.04;letter-spacing:.01em;padding:.12em .34em;width:fit-content;margin-bottom:5px;}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:-40px;position:relative;z-index:3;flex-wrap:wrap;}
.hero-bottom .actions{display:flex;gap:12px;align-items:center;}
.ghost{font-family:'Space Mono';font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--ink);padding:.7rem 1.2rem;display:inline-flex;align-items:center;gap:.5rem;transition:.15s;}
.ghost:hover{background:var(--ink);color:var(--paper);}
.ghost i{width:14px;height:14px;}
.contactline{font-family:'Space Mono';font-size:.74rem;letter-spacing:.06em;color:var(--ink-soft);line-height:1.7;text-align:right;}
.contactline b{color:var(--ink);}

/* ---- marquee strip ---- */
.strip{border-top:none;border-bottom:1px solid var(--accent-d);background:var(--accent);color:#fff;overflow:hidden;margin-top:52px;}
.strip .track{display:flex;gap:50px;padding:16px 0;white-space:nowrap;animation:slide 28s linear infinite;}
.strip span{font-family:'Archivo';font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;display:inline-flex;align-items:center;gap:50px;}
.strip span::after{content:"âœ¦";color:var(--green);background:var(--paper);width:1.4em;height:1.4em;border-radius:50%;display:inline-grid;place-items:center;font-size:.7em;}
@keyframes slide{to{transform:translateX(-50%);}}

/* ---- expertise list ---- */
.sec{padding:90px 0;}
.sec + .sec{padding-top:0;}
.hlw{background:var(--green);color:#fff;padding:.04em .26em;margin:0 .02em;white-space:nowrap;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:0;}
.sec-h h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.01em;margin:0;line-height:1;}
.sec-h .mono{font-size:.74rem;letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase;}
.exrow{display:flex;align-items:center;gap:24px;padding:26px 4px;border-bottom:1px solid var(--line);transition:.2s;cursor:pointer;}
.exrow:hover{padding-left:18px;background:linear-gradient(90deg,rgba(6,57,47,.05),transparent);}
.exrow .no{font-family:'Space Mono';font-size:.8rem;color:var(--ink-soft);width:42px;flex:none;}
.exrow .nm{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:clamp(1.1rem,2vw,1.6rem);letter-spacing:.01em;flex:1;}
.exrow .ds{color:var(--ink-soft);font-size:.92rem;max-width:340px;flex:none;}
.exrow .ar{width:40px;height:40px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;flex:none;transition:.2s;}
.exrow:hover .ar{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(-45deg);}
.exrow .ar i{width:17px;height:17px;}

/* ---- domaines card grid (Mes domaines d'intervention) ---- */
.dmn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:rgba(255,255,255,.25);}
.dcard{position:relative;display:flex;flex-direction:column;padding:34px 30px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s,transform .2s;cursor:pointer;}
.dcard:nth-child(3n){border-right:none;}
.dcard:nth-child(n+4){border-bottom:none;}
.dcard .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;}
.dcard .ic{width:48px;height:48px;border:1.5px solid var(--ink);display:grid;place-items:center;transition:.2s;color:var(--accent);}
.dcard .ic i{width:22px;height:22px;}
.dcard .no{font-family:'Space Mono';font-size:.82rem;letter-spacing:.04em;color:var(--accent);}
.dcard h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.16rem;line-height:1.08;letter-spacing:.01em;margin:0 0 12px;}
.dcard p{color:var(--ink-soft);font-size:.92rem;line-height:1.62;margin:0 0 24px;flex:1;}
.dcard .more{font-family:'Space Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;align-items:center;gap:8px;transition:.2s;}
.dcard .more i{width:14px;height:14px;transition:transform .2s;}
.dcard:hover{background:#fff;}
.dcard:hover .ic{background:var(--green);border-color:var(--green);color:#fff;}
.dcard:hover .more{color:var(--green);}
/* filled variants â€” colored by default, reverse on hover */
.dcard.fill-green{background:var(--green);}
.dcard.fill-ink{background:var(--ink);}
.dcard.fill-coral{background:var(--accent);}
.dcard.fill-green h3,.dcard.fill-ink h3,.dcard.fill-coral h3{color:#fff;}
.dcard.fill-green p,.dcard.fill-ink p,.dcard.fill-coral p{color:rgba(255,255,255,.82);}
.dcard.fill-green .ic,.dcard.fill-ink .ic,.dcard.fill-coral .ic{background:#fff;border-color:#fff;color:var(--accent);}
.dcard.fill-green .more,.dcard.fill-ink .more,.dcard.fill-coral .more{color:rgba(255,255,255,.85);}
.dcard.fill-coral .no{color:#fff;}
.dcard.fill-green .no,.dcard.fill-ink .no{color:#fff;}
.dcard.fill-green:hover,.dcard.fill-ink:hover,.dcard.fill-coral:hover{background:#fff;}
.dcard.fill-green:hover h3,.dcard.fill-ink:hover h3,.dcard.fill-coral:hover h3{color:var(--ink);}
.dcard.fill-green:hover p,.dcard.fill-ink:hover p,.dcard.fill-coral:hover p{color:var(--ink-soft);}
.dcard.fill-green:hover .no,.dcard.fill-ink:hover .no,.dcard.fill-coral:hover .no{color:var(--accent);}
.dcard.fill-green:hover .ic{background:var(--green);border-color:var(--green);color:#fff;}
.dcard.fill-ink:hover .ic{background:var(--ink);border-color:var(--ink);color:#fff;}
.dcard.fill-coral:hover .ic{background:var(--accent);border-color:var(--accent);color:#fff;}
.dcard.fill-green:hover .more{color:var(--green);}
.dcard.fill-ink:hover .more{color:var(--ink);}
.dcard.fill-coral:hover .more{color:var(--accent);}
.dcard:hover .more i{transform:translateX(5px);}

/* ---- split about ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split .ph{position:relative;}
.split .docscene{position:relative;aspect-ratio:7/8;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;isolation:isolate;}
.split .docscene .backword{position:absolute;top:17%;left:0;right:0;text-align:center;z-index:1;font-family:'Archivo';font-weight:900;font-size:clamp(2.6rem,6.8vw,4.8rem);line-height:.8;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px rgba(27,28,26,.34);white-space:nowrap;pointer-events:none;will-change:transform;}
.split .docscene .vlabel{position:absolute;top:8%;right:1%;z-index:1;writing-mode:vertical-rl;font-family:'Space Mono';font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);}
.split .docscene .docimg{position:relative;z-index:2;width:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:bottom center;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 60%,rgba(0,0,0,.4) 82%,transparent 98%),linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 60%,rgba(0,0,0,.4) 82%,transparent 98%),linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;will-change:transform;}
.split .docscene .docvid{position:absolute;inset:0;width:100%;height:100%;z-index:3;object-fit:contain;object-position:bottom center;opacity:0;transition:opacity .35s ease;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 60%,rgba(0,0,0,.4) 82%,transparent 98%),linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 60%,rgba(0,0,0,.4) 82%,transparent 98%),linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none;}
.split .docscene .dochover{position:absolute;z-index:3;left:50%;bottom:0;transform:translateX(-50%);width:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:bottom center;opacity:0;transition:opacity .4s ease;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 60%,rgba(0,0,0,.4) 82%,transparent 98%),linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 60%,rgba(0,0,0,.4) 82%,transparent 98%),linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none;}
.split .ph .tag{position:absolute;left:14px;bottom:10px;z-index:3;background:transparent;border:none;padding:0;}
.split .ph .tag b{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:.92rem;display:block;}
.split .ph .tag small{font-family:'Space Mono';font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.split h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.02;margin:0 0 18px;}
.split p{color:var(--ink-soft);font-size:1.02rem;line-height:1.7;margin:0 0 14px;max-width:34ch;}
.split .quote{border-left:3px solid var(--green);padding-left:16px;font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.05rem;line-height:1.25;margin:22px 0;}
.meta{display:flex;gap:36px;margin-top:26px;}
.meta .n{font-family:'Archivo';font-weight:900;font-size:2.2rem;line-height:1;color:var(--green);}
.meta .l{font-family:'Space Mono';font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;}

/* ---- pourquoi (image cards) ---- */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:0;}
.why-cell{border-right:1px solid var(--line);padding:0;position:relative;background:rgba(255,255,255,.4);}
.why-cell:last-child{border-right:none;}
.why-cell .img{aspect-ratio:1/1;border-bottom:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;}
.why-cell .img img{width:100%;height:100%;object-fit:cover;filter:none;}
.why-cell .img .ph2{font-family:'Space Mono';font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:18px;line-height:1.6;}
.why-cell .cap{padding:20px 18px 22px;}
.why-cell .cap .no{font-family:'Space Mono';font-size:.72rem;color:var(--green);}
.why-cell .cap h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.02rem;margin:8px 0 0;line-height:1.1;}

/* ---- pourquoi â€” la diffÃ©rence (3 col Â· hover scroll + grow) ---- */
.diff-grid{display:grid;grid-template-columns:1fr 1.06fr 1fr;grid-template-rows:220px 300px;gap:16px;}
.diff-grid .cell{position:relative;overflow:hidden;border:1px solid var(--line);}
/* text / stat cards */
.dtext{display:flex;flex-direction:column;padding:26px 24px;background:var(--paper-2);transition:background .25s;}
.dtext:hover{background:#fff;}
.dtext .desc{font-size:.86rem;line-height:1.62;color:var(--ink-soft);max-width:30ch;margin:0;}
.dtext .stat{display:flex;flex-direction:column;}
.dtext .num{font-family:'Archivo';font-weight:900;font-size:clamp(2rem,3vw,2.6rem);line-height:.92;color:var(--green);transition:transform .45s cubic-bezier(.2,.7,.2,1);width:fit-content;}
.dtext .num em{font-style:normal;color:var(--accent);}
.dtext .lab{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1rem;letter-spacing:.01em;margin-top:8px;}
.dtext.b{justify-content:space-between;}
.dtext.b .num{transform-origin:left bottom;}
.dtext.b:hover .num{transform:scale(1.16);}
.dtext.t{justify-content:space-between;}
.dtext.t .num{transform-origin:left top;}
.dtext.t:hover .num{transform:scale(1.16);}
/* image cards â€” parallax scroll on hover */
.dimg img{position:absolute;left:0;top:0;width:100%;height:132%;object-fit:cover;filter:contrast(1.02);transition:transform 1s cubic-bezier(.2,.7,.2,1);}
.dimg.up img{transform:translateY(0);}
.dimg.up:hover img{transform:translateY(-24%);}
.dimg.down img{transform:translateY(-24%);}
.dimg.down:hover img{transform:translateY(0);}
.dimg .tagx{position:absolute;left:0;bottom:0;z-index:2;font-family:'Space Mono';font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--ink);padding:.42rem .64rem;}
/* middle â€” testimonial video placeholder */
.diff-mid{position:relative;overflow:hidden;grid-column:2;grid-row:1 / span 2;border:1px solid var(--ink);background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:28px 26px;cursor:pointer;}
.diff-mid::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 11px,transparent 11px 22px);pointer-events:none;}
.diff-mid .top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;}
.diff-mid .klabel{font-family:'Space Mono';font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#8fb3a4;display:inline-flex;align-items:center;gap:8px;}
.diff-mid .klabel::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);}
.diff-mid .play{position:relative;z-index:2;align-self:center;width:84px;height:84px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);display:grid;place-items:center;transition:.3s;}
.diff-mid .play::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(255,255,255,.18);}
.diff-mid .play i{width:30px;height:30px;color:#fff;margin-left:5px;}
.diff-mid:hover .play{background:var(--green);border-color:var(--green);transform:scale(1.07);}
.diff-mid .botinfo{position:relative;z-index:2;}
.diff-mid .botinfo h3{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.34rem;line-height:1.04;margin:0 0 9px;}
.diff-mid .botinfo p{font-family:'Space Mono';font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:#9a9b95;margin:0;}
.diff-mid .tvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.diff-mid .tover{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:28px 26px;transition:opacity .35s ease;background:linear-gradient(to bottom,rgba(20,30,26,.55),rgba(20,30,26,.15) 40%,rgba(20,30,26,.75));}
.diff-mid.playing .tover{opacity:0;pointer-events:none;}
.diff-mid .play{appearance:none;background:rgba(0,0,0,.25);backdrop-filter:blur(3px);cursor:pointer;}
.diff-mid.playing{cursor:default;}

/* ---- services / consultation ---- */
.srv{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--ink);}
.srv .panel{padding:40px;border-right:1px solid var(--ink);display:flex;flex-direction:column;justify-content:center;}
.srv .panel.green{background:var(--green);color:#fff;border-right:none;}
.srv .panel.green h3,.srv .panel.green .num{color:#fff;}
.srv .panel .lbl{font-family:'Space Mono';font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;}
.srv .panel h3{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.5rem;line-height:1.05;margin:14px 0 10px;}
.srv .panel p{font-size:.95rem;line-height:1.6;color:var(--ink-soft);margin:0;}
.srv .panel.green p{color:rgba(255,255,255,.82);}
.srv .panel .num{font-family:'Archivo';font-weight:900;font-size:3.2rem;line-height:1;}
.srv .col{display:flex;flex-direction:column;}
.srv .col .panel{flex:1;border-bottom:1px solid var(--ink);}
.srv .col .panel:last-child{border-bottom:none;}
.srv .img-cell{overflow:hidden;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--ink);}
.srv .img-cell img{width:100%;height:100%;object-fit:cover;filter:none;}
.srv .img-cell .ph2{font-family:'Space Mono';font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:18px;line-height:1.6;}

/* ---- stats poster band ---- */
.numbers{background:var(--ink);color:var(--paper);border-top:3px solid var(--accent);}
.numbers .grid4{display:grid;grid-template-columns:repeat(4,1fr);}
.numbers .cell{padding:46px 28px;border-right:1px solid #34352f;text-align:center;}
.numbers .cell:last-child{border-right:none;}
.numbers .n{font-family:'Archivo';font-weight:900;font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;}
.numbers .n em{color:#8fb3a4;font-style:normal;}
.numbers .l{font-family:'Space Mono';font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#9a9b95;margin-top:12px;}

/* ---- rappel accent #c16945 + designed cells ---- */
.exrow .no{color:var(--accent);}
.strip span::after{color:var(--accent);background:var(--paper);}
.numbers .n em{color:var(--accent);}
.sec-h .mono{color:var(--accent);}
.bcard .meta{color:var(--accent);}
.brk .s{color:var(--accent);}
.exrow:hover .ar{background:var(--accent);border-color:var(--accent);}
.heart-zone:hover .bpm .ecg polyline{stroke:var(--accent);}
.quote-sec .big em{color:var(--accent);}
.cta .b1{color:var(--accent);}
.why-cell .img,.srv .img-cell,.bcard .img{position:relative;}
.gfx{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px;overflow:hidden;}
.gfx .topi{width:36px;height:36px;}
.gfx .big{position:absolute;right:-18px;bottom:-24px;width:135px;height:135px;opacity:.15;}
.gfx .cat{font-family:'Space Mono';font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;opacity:.92;}
.gfx .ti{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.05rem;line-height:1.06;margin-top:6px;}
.gfx-primary{background:var(--green);color:#fff;}
.gfx-accent{background:var(--accent);color:#fff;}
.gfx-ink{background:var(--ink);color:var(--paper);}
.gfx-line{background:var(--paper-2);color:var(--ink);}
.gfx-line .big{opacity:.1;}


/* ---- testimonial ---- */
.quote-sec{text-align:center;}
.quote-sec .big{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.12;max-width:18ch;margin:0 auto;letter-spacing:-.01em;}
.quote-sec .big em{font-style:normal;color:var(--green);}
.quote-sec .stars{color:var(--green);letter-spacing:3px;font-size:1.1rem;margin-bottom:24px;}
.quote-sec .by{font-family:'Space Mono';font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:26px;}
.quote-sec .gscore{display:inline-flex;align-items:center;gap:10px;margin-top:18px;border:1.5px solid var(--ink);padding:.5rem 1rem;}
.quote-sec .gscore b{font-family:'Archivo';font-weight:900;font-size:1.2rem;}
.quote-sec .gscore span{font-family:'Space Mono';font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}

/* ---- blog ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.bcard{display:flex;flex-direction:column;cursor:pointer;}
.bcard .img{aspect-ratio:3/2;border:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;transition:.2s;}
.bcard .img img{width:100%;height:100%;object-fit:cover;filter:none;transition:.3s;}
.bcard:hover .img{border-color:var(--green);}
.bcard:hover .img img{filter:none;transform:scale(1.03);}
.bcard .img .ph2{font-family:'Space Mono';font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:18px;line-height:1.6;}
.bcard .meta{display:flex;align-items:center;gap:10px;font-family:'Space Mono';font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin:18px 0 10px;}
.bcard .meta .d{color:var(--ink-soft);}
.bcard h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.12rem;line-height:1.12;margin:0;}
.bcard .rd{font-family:'Space Mono';font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:14px;display:inline-flex;align-items:center;gap:6px;}
.bcard:hover .rd{color:var(--green);}
.bcard .rd i{width:13px;height:13px;}

/* ---- cta ---- */
.cta{background:var(--green);color:#fff;text-align:center;padding:80px 0;}
.cta h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:clamp(2rem,4vw,3.4rem);line-height:1;margin:0 0 14px;}
.cta p{font-family:'Space Mono';font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin:0 0 30px;}
.cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta .b1{background:#fff;color:var(--green);font-family:'Space Mono';font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 1.5rem;display:inline-flex;gap:.5rem;align-items:center;}
.cta .b2{border:1.5px solid rgba(255,255,255,.5);color:#fff;font-family:'Space Mono';font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 1.5rem;display:inline-flex;gap:.5rem;align-items:center;transition:.15s;}
.cta .b2:hover{background:rgba(255,255,255,.12);}
.cta .b1 i,.cta .b2 i{width:15px;height:15px;}

/* ---- footer ---- */
.ef{background:var(--ink);color:#b9bab5;padding:60px 0 30px;border-top:3px solid var(--accent);}
.ef .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid #34352f;}
.ef .elogo b{color:#fff;}
.ef .elogo .m{border-color:#5a5b54;color:#fff;}
.ef p{font-size:.9rem;line-height:1.7;margin:16px 0 0;max-width:32ch;}
.ef h4{font-family:'Space Mono';font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 16px;}
.ef ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.ef ul a{font-size:.9rem;transition:.15s;}
.ef ul a:hover{color:#fff;}
.ef .bot{padding-top:24px;display:flex;justify-content:space-between;font-family:'Space Mono';font-size:.72rem;letter-spacing:.06em;color:#7a7b75;flex-wrap:wrap;gap:10px;}

.fab{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;background:#1fae54;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px rgba(31,174,84,.4);z-index:60;}
.fab i{width:26px;height:26px;}

.reveal{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1;transform:none;}

@media(max-width:900px){
  .emenu{display:none;}
  .eburger{display:flex;}
  .mnav{display:block;}
  .eh .ebtn{display:none;}
  .svc-layer{display:none;}
  .heart-zone .bpm{display:none;}
  .split{grid-template-columns:1fr;gap:32px;}
  .claim{position:static;transform:none;margin-top:20px;}
  .heart-zone,.heart-ph{margin:0 auto;}
  .exrow .ds{display:none;}
  .contactline{text-align:left;}
}
@media(max-width:900px){
  .why-grid{grid-template-columns:1fr 1fr;}
  .why-cell:nth-child(2){border-right:none;}
  .why-cell{border-bottom:1px solid var(--line);}
  .diff-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .diff-grid .cell{min-height:240px;}
  .diff-mid{grid-column:1 / span 2;grid-row:auto;min-height:380px;}
  .srv{grid-template-columns:1fr;}
  .srv .panel,.srv .img-cell{border-right:none;}
  .dmn-grid{grid-template-columns:1fr 1fr;}
  .dcard{border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
  .dcard:nth-child(3n){border-right:1px solid var(--line);}
  .dcard:nth-child(n+4){border-bottom:1px solid var(--line);}
  .dcard:nth-child(2n){border-right:none;}
  .dcard:nth-child(n+5){border-bottom:none;}
  .srv .img-cell{min-height:240px;border-bottom:1px solid var(--ink);}
  .numbers .grid4{grid-template-columns:1fr 1fr;}
  .numbers .cell:nth-child(2){border-right:none;}
  .numbers .cell{border-bottom:1px solid #34352f;}
  .blog-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .wrap{padding:0 20px;}
  .hero-top .brk .k{font-size:.92rem;}
  .meta{gap:24px;}
  .why-grid{grid-template-columns:1fr;}
  .why-cell{border-right:none;}
  .numbers .grid4{grid-template-columns:1fr;}
  .numbers .cell{border-right:none;}
  .diff-grid{grid-template-columns:1fr;}
  .diff-mid{grid-column:1;}
  .dmn-grid{grid-template-columns:1fr;}
  .dcard{border-right:none;}
  .dcard:nth-child(2n){border-right:none;}
  .dcard{border-bottom:1px solid var(--line);}
  .dcard:nth-child(n+5){border-bottom:1px solid var(--line);}
  .dcard:last-child{border-bottom:none;}
}

/* === Service pages === */
/* ===== service page (systÃ¨me Ã©ditorial) ===== */
.shero{padding:34px 0 62px;position:relative;}
.crumbs{font-family:'Space Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:8px;margin-bottom:30px;flex-wrap:wrap;}
.crumbs a:hover{color:var(--ink);}
.crumbs i{width:13px;height:13px;color:var(--line);}
.crumbs .cur{color:var(--accent);}
.shero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:50px;align-items:center;}
.shero .klabel{font-family:'Space Mono';font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);display:inline-flex;align-items:center;gap:9px;}
.shero .klabel::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);}
.shero h1{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:clamp(1.85rem,4vw,3.3rem);line-height:1;letter-spacing:-.015em;margin:16px 0 0;}
.shero .lead{color:var(--ink-soft);font-size:1.06rem;line-height:1.72;margin:22px 0 0;max-width:42ch;}
.shero .acts{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap;}

/* beating heart (gif-style) */
.shero-heart{position:relative;width:100%;max-width:500px;margin:0 auto;}
.shero-heart video{width:100%;display:block;aspect-ratio:1/1;object-fit:cover;object-position:50% 47%;transform:scale(1.14);-webkit-mask:radial-gradient(circle at 50% 48%,#000 56%,transparent 71%);mask:radial-gradient(circle at 50% 48%,#000 56%,transparent 71%);}
.shero-heart .ring{position:absolute;inset:2% 2%;border:1.5px dashed var(--line);border-radius:50%;z-index:0;pointer-events:none;}
.shero-heart .thread{position:absolute;top:-34px;left:50%;width:1px;height:60px;background:linear-gradient(var(--ink-soft),transparent);z-index:1;}
.shero-heart .bpm{position:absolute;z-index:6;opacity:1;transform:none;display:flex;align-items:center;gap:.55rem;padding:.5rem .7rem .5rem .55rem;background:#fff;border:1.5px solid var(--ink);box-shadow:0 14px 30px rgba(27,28,26,.16);}
.shero-heart .bpm.a{top:13%;left:-6%;}
.shero-heart .bpm.b{bottom:15%;right:-6%;}
.shero-heart .bpm .val{animation:beat .9s ease-in-out infinite;}
.shero-heart .bpm.b .val{animation-delay:.18s;}
.shero-heart .bpm .ecg polyline{stroke-dasharray:120;animation:trace 1.2s linear infinite;}

/* facts band */
.facts-band{background:var(--accent);color:#fff;}
.facts-band .row{display:grid;grid-template-columns:repeat(3,1fr);}
.facts-band .f{padding:32px 30px;border-right:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:16px;}
.facts-band .f:last-child{border-right:none;}
.facts-band .f .ic{width:46px;height:46px;border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;flex:none;}
.facts-band .f .ic i{width:20px;height:20px;color:#fff;}
.facts-band .f .lab{font-family:'Space Mono';font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.82);}
.facts-band .f .val{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.22rem;margin-top:5px;line-height:1;}

/* detail layout */
.dgrid{display:grid;grid-template-columns:1.6fr .9fr;gap:50px;align-items:start;}
.prose h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:clamp(1.9rem,3vw,2.35rem);line-height:1.04;margin:0 0 18px;}
.prose > p{color:var(--ink-soft);font-size:1.04rem;line-height:1.78;margin:0;max-width:62ch;}
.prose h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.1rem;letter-spacing:.01em;margin:38px 0 16px;display:flex;align-items:center;gap:12px;}
.prose h3::before{content:"";width:22px;height:2px;background:var(--accent);}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.check{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:rgba(255,255,255,.45);padding:14px 16px;font-size:.93rem;transition:.18s;}
.check:hover{border-color:var(--green);background:#fff;}
.check .ic{width:24px;height:24px;background:var(--green);color:#fff;display:grid;place-items:center;flex:none;}
.check .ic i{width:14px;height:14px;}

/* aside */
.aside{border:1px solid var(--ink);position:sticky;top:88px;}
.aside .hd{background:var(--green);color:#fff;padding:26px 24px;}
.aside .hd h3{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.22rem;margin:0 0 8px;line-height:1.05;}
.aside .hd p{font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.86);margin:0 0 18px;}
.aside .hd .b1{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;color:var(--green);font-family:'Space Mono';font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1rem;}
.aside .hd .b2{display:flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid rgba(255,255,255,.55);color:#fff;font-family:'Space Mono';font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;padding:.85rem 1rem;margin-top:.6rem;transition:.15s;}
.aside .hd .b2:hover{background:rgba(255,255,255,.12);}
.aside .hd .b1 i,.aside .hd .b2 i{width:15px;height:15px;}
.aside .bd .lblrow{font-family:'Space Mono';font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);padding:18px 24px 10px;}
.aside .bd a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-top:1px solid var(--line);font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:.84rem;transition:.18s;}
.aside .bd a:hover{background:var(--paper-2);padding-left:30px;}
.aside .bd a i{width:15px;height:15px;color:var(--accent);flex:none;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:rgba(255,255,255,.25);}
.step{padding:30px 26px 32px;border-right:1px solid var(--line);}
.step:last-child{border-right:none;}
.step .ic{width:48px;height:48px;border:1.5px solid var(--ink);display:grid;place-items:center;margin-bottom:18px;}
.step .ic i{width:22px;height:22px;}
.step .n{font-family:'Space Mono';font-size:.74rem;letter-spacing:.06em;color:var(--accent);}
.step h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.04rem;margin:6px 0 9px;line-height:1.08;}
.step p{color:var(--ink-soft);font-size:.88rem;line-height:1.58;margin:0;}

/* faq */
.faq{border-top:2px solid var(--ink);max-width:880px;}
.qa{border-bottom:1px solid var(--line);}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.04rem;line-height:1.2;}
.qa summary::-webkit-details-marker{display:none;}
.qa .ic{width:32px;height:32px;border:1.5px solid var(--ink);display:grid;place-items:center;flex:none;transition:.22s;}
.qa .ic i{width:16px;height:16px;}
.qa[open] .ic{background:var(--green);border-color:var(--green);color:#fff;transform:rotate(45deg);}
.qa .a{color:var(--ink-soft);font-size:.98rem;line-height:1.72;padding:0 4px 26px;max-width:72ch;}

@media(max-width:900px){
  .shero-grid{grid-template-columns:1fr;gap:34px;}
  .shero-heart{order:-1;max-width:380px;}
  .facts-band .row{grid-template-columns:1fr;}
  .facts-band .f{border-right:none;border-bottom:1px solid #34352f;}
  .facts-band .f:last-child{border-bottom:none;}
  .dgrid{grid-template-columns:1fr;gap:36px;}
  .aside{position:static;}
  .steps{grid-template-columns:1fr 1fr;}
  .step:nth-child(2){border-right:none;}
  .step:nth-child(1),.step:nth-child(2){border-bottom:1px solid var(--line);}
}
@media(max-width:560px){
  .checks{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .step{border-right:none;border-bottom:1px solid var(--line);}
  .step:last-child{border-bottom:none;}
}
/* --- cÅ“ur ouvert : mÃªme traitement que le cÅ“ur (fond fondu) + ombre portÃ©e douce --- */
.shero-heart.cutaway video{filter:drop-shadow(0 20px 26px rgba(27,28,26,.26));}

/* === About page === */
/* ===== about hero (editorial statement + portrait) ===== */
.ahero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:center;min-height:68vh;}
.ahero-text .statement{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:clamp(1.7rem,3.3vw,2.5rem);line-height:1.04;letter-spacing:-.015em;margin:14px 0 0;}
.ahero-links{display:flex;align-items:center;gap:13px;margin-top:30px;font-family:'Space Mono';font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;}
.ahero-links a{display:inline-flex;align-items:center;gap:6px;color:var(--ink-soft);transition:.15s;}
.ahero-links a:hover{color:var(--green);}
.ahero-links a i{width:13px;height:13px;}
.ahero-links .sep{color:var(--line);}
.ahero-about{font-family:'Plus Jakarta Sans';font-weight:400;font-size:1.02rem;line-height:1.75;color:var(--ink-soft);margin:28px 0 0;max-width:46ch;}
.ahero-photo{position:relative;align-self:stretch;min-height:640px;overflow:hidden;}
.ahero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:none;transition:filter .55s ease;-webkit-mask:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.35) 82%,transparent 98%);mask:linear-gradient(to bottom,#000 58%,rgba(0,0,0,.35) 82%,transparent 98%);}
.ahero-photo:hover img{filter:none;}
/* credentials row */
.accolades{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink);margin-top:56px;}
.acc{padding:28px 26px 8px;border-right:1px solid var(--line);}
.acc:last-child{border-right:none;}
.acc .ic{width:34px;height:34px;display:grid;place-items:flex-start;color:var(--ink);margin-bottom:16px;}
.acc .ic i{width:28px;height:28px;}
.acc h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1rem;line-height:1.08;margin:0 0 9px;display:flex;align-items:center;gap:9px;}
.acc h3::before{content:"";width:16px;height:2px;background:var(--accent);flex:none;}
.acc p{color:var(--ink-soft);font-size:.84rem;line-height:1.58;margin:0;}
@media(max-width:900px){.ahero-grid{grid-template-columns:1fr;gap:30px;min-height:0;}.ahero-photo{min-height:420px;order:-1;}.accolades{grid-template-columns:1fr 1fr;}.acc{border-bottom:1px solid var(--line);}.acc:nth-child(2){border-right:none;}}
@media(max-width:560px){.accolades{grid-template-columns:1fr;}.acc{border-right:none;}}

/* testimonial / review section (about â€” editorial feature card) */
.testi-sec{background:var(--paper-2);}
.testi-card{display:grid;grid-template-columns:1.15fr .85fr;background:var(--ink);color:#fff;overflow:hidden;position:relative;min-height:440px;}
.testi-body{padding:54px 50px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;}
.testi-body::before{content:"\201C";position:absolute;top:-90px;right:-10px;font-family:'Archivo';font-weight:900;font-size:20rem;line-height:.7;color:rgba(255,255,255,.05);pointer-events:none;z-index:0;}
.testi-body > *{position:relative;z-index:1;}
.testi-body .klabel{font-family:'Space Mono';font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;display:inline-flex;align-items:center;gap:9px;opacity:.85;margin-bottom:24px;}
.testi-body .klabel::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);}
.testi-body blockquote{font-family:'Archivo';font-weight:800;font-size:clamp(1.5rem,2.3vw,2.05rem);line-height:1.22;letter-spacing:-.01em;margin:0 0 30px;color:#fff;}
.testi-body blockquote em{font-style:normal;color:var(--accent);}
.testi-author{display:flex;align-items:center;gap:14px;margin-bottom:32px;}
.testi-author .av{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.35);display:grid;place-items:center;flex:none;}
.testi-author .av i{width:21px;height:21px;color:#fff;}
.testi-author b{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:.92rem;display:block;letter-spacing:.02em;}
.testi-author span{font-family:'Space Mono';font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.testi-body .tlink{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-family:'Space Mono';font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent);padding:.85rem 1.3rem;transition:.18s;}
.testi-body .tlink:hover{gap:14px;background:#a8542f;}
.testi-body .tlink i{width:16px;height:16px;}
.testi-media{position:relative;background:#000;overflow:hidden;cursor:pointer;min-height:440px;}
.testi-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.testi-media .tover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(110deg,var(--ink) 0%,rgba(27,28,26,.2) 22%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.45));transition:opacity .35s ease;}
.testi-media.playing .tover{opacity:0;pointer-events:none;}
.testi-media .play{appearance:none;border:1.5px solid #fff;background:rgba(0,0,0,.3);backdrop-filter:blur(4px);width:78px;height:78px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:.25s;}
.testi-media:hover .play{background:var(--accent);border-color:var(--accent);transform:scale(1.06);}
.testi-media .play i{width:30px;height:30px;color:#fff;margin-left:4px;}
.testi-media .ptag{position:absolute;left:16px;bottom:16px;z-index:2;font-family:'Space Mono';font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);padding:.42rem .66rem;}
.testi-media.playing .ptag{opacity:0;}
@media(max-width:820px){.testi-card{grid-template-columns:1fr;}.testi-media{min-height:0;aspect-ratio:4/5;order:-1;}.testi-body{padding:40px 28px;}}

/* numbers band â€” coral (match service facts band) */
.numbers{background:var(--accent);color:#fff;border-top:none;}
.numbers .cell{border-right:1px solid rgba(255,255,255,.2);}
.numbers .n em{color:#fff;opacity:.78;}
.numbers .l{color:rgba(255,255,255,.85);}
@media(max-width:760px){.numbers .cell{border-bottom:1px solid rgba(255,255,255,.2);}}
