: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;}
/* hamburger (mobile only) */
.eburger{display:none;margin-left:auto;width:44px;height:44px;border:1.5px solid var(--ink);background:transparent;cursor:pointer;padding:0;place-items:center;flex-direction:column;gap:5px;}
.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);}
/* mobile slide-down panel */
.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 .msub a:active{color:var(--green);}
.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);}
.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);}
/* expertise dropdown */
.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;}
.drop a::after{display:none!important;}
.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;background:none;border:none;cursor:pointer;}

/* ---- 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;}}
.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;}
.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;}
/* consistent rhythm: collapse the doubled gap between any two stacked sections
   to a single 90px; sections that follow a full-bleed band (.numbers/.strip/.cta)
   keep their full 90px top so the band gets symmetric breathing room. */
.sec + .sec{padding-top:0;}
.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,.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{aspect-ratio:4/5;border:1.5px dashed var(--line);background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Space Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:20px;}
.split .ph img{width:100%;height:100%;object-fit:cover;}
.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:none;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s;}
.dimg:hover img{filter:none;}
.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;}

/* ---- 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;}
  .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;}
}

/* =========================================================
   PAGE-LEVEL COMPONENTS — shared across all pages
   ========================================================= */
/* breadcrumbs */
.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;flex-wrap:wrap;}
.crumbs a:hover{color:var(--ink);}
.crumbs i{width:13px;height:13px;color:var(--line);}
.crumbs .cur{color:var(--accent);}

/* interior page hero */
.phero{padding:40px 0 14px;}
.phero.center{text-align:center;}
.phero.center .crumbs{justify-content:center;}
.phero .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;margin-top:22px;}
.phero .klabel::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);}
.phero.center .klabel{justify-content:center;}
.phero h1{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1;letter-spacing:-.01em;margin:16px 0 0;}
.phero .lead{color:var(--ink-soft);font-size:1.05rem;line-height:1.72;margin:20px 0 0;max-width:62ch;}
.phero.center .lead{margin-left:auto;margin-right:auto;}

/* checks */
.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;}

/* facts / stat 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:#8fb3a4;}
.facts-band .f .lab{display:block;font-family:'Space Mono';font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:#9a9b95;}
.facts-band .f .val{display:block;font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.22rem;margin-top:5px;line-height:1;}

/* 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;}

/* prose */
.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 0 14px;max-width:62ch;}
.prose h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.1rem;letter-spacing:.01em;margin:34px 0 16px;display:flex;align-items:center;gap:12px;}
.prose h3::before{content:"";width:22px;height:2px;background:var(--accent);}

/* generic two-col */
.two{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}

/* image placeholder + cover */
.imgph{aspect-ratio:4/3;border:1.5px dashed var(--line);background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Space Mono';font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:20px;position:relative;overflow:hidden;}
.imgph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;}

/* info rows */
.info{display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:rgba(255,255,255,.45);padding:18px 20px;}
.info .ic{width:46px;height:46px;border:1.5px solid var(--ink);display:grid;place-items:center;flex:none;color:var(--green);}
.info .ic i{width:20px;height:20px;}
.info b{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:.9rem;display:block;}
.info span{color:var(--ink-soft);font-size:.92rem;}

/* hours box */
.hours-box{border:1px solid var(--ink);}
.hours-box h3{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1rem;margin:0;padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;}
.hours-box h3 i{width:18px;height:18px;color:var(--accent);}
.hrow{display:flex;justify-content:space-between;padding:13px 20px;border-bottom:1px solid var(--line);font-size:.92rem;}
.hrow:last-child{border-bottom:none;}
.hrow b{font-family:'Archivo';font-weight:700;}
.hrow b.closed{color:var(--accent);}

/* forms */
.form-card{border:1px solid var(--ink);background:rgba(255,255,255,.5);padding:32px;}
.form-card h2{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:1.4rem;margin:0 0 4px;}
.field{margin-bottom:16px;display:flex;flex-direction:column;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field label{font-family:'Space Mono';font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.field input,.field textarea,.field select{font-family:'Plus Jakarta Sans';font-size:.96rem;border:1.5px solid var(--line);background:#fff;padding:.8rem .9rem;color:var(--ink);outline:none;transition:.15s;border-radius:0;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);}
.field textarea{min-height:120px;resize:vertical;}
.seg{display:flex;border:1.5px solid var(--line);}
.seg label{flex:1;text-align:center;padding:.7rem;font-family:'Space Mono';font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-right:1.5px solid var(--line);transition:.15s;}
.seg label:last-child{border-right:none;}
.seg label.on{background:var(--green);color:#fff;}
.consent{display:flex;align-items:flex-start;gap:10px;margin:6px 0 18px;font-size:.85rem;color:var(--ink-soft);}
.consent input{margin-top:3px;accent-color:var(--green);}
.btn-block{width:100%;justify-content:center;}
.submit{flex:1;justify-content:center;border:none;cursor:pointer;}

/* map */
.map{border:1px solid var(--ink);height:100%;min-height:380px;position:relative;background:linear-gradient(135deg,#e7e5e0,#dedcd6);overflow:hidden;}
.map .grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(27,28,26,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(27,28,26,.05) 1px,transparent 1px);background-size:42px 42px;}
.map .pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%) rotate(-45deg);width:46px;height:46px;border-radius:50% 50% 50% 0;background:var(--green);display:grid;place-items:center;box-shadow:0 14px 30px rgba(27,28,26,.2);}
.map .pin i{transform:rotate(45deg);color:#fff;width:22px;height:22px;}
.map .lbl{position:absolute;left:50%;top:calc(46% + 12px);transform:translateX(-50%);background:#fff;border:1px solid var(--ink);padding:.5rem .9rem;font-family:'Space Mono';font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;}

/* timeline */
.tl{max-width:760px;margin:0 auto;position:relative;}
.tl::before{content:"";position:absolute;left:16px;top:6px;bottom:6px;width:2px;background:var(--line);}
.tl-item{position:relative;padding:0 0 28px 52px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{position:absolute;left:8px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--green);border:3px solid var(--paper);box-shadow:0 0 0 1.5px var(--ink);}
.tl-item:nth-child(even) .tl-dot{background:var(--accent);}
.tl-year{font-family:'Space Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.tl-card{border:1px solid var(--line);background:rgba(255,255,255,.45);padding:16px 18px;margin-top:8px;}
.tl-card h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.02rem;margin:0;}
.tl-card span{color:var(--ink-soft);font-size:.9rem;}

/* publications */
.pub{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);background:rgba(255,255,255,.45);padding:16px 20px;margin-bottom:10px;transition:.18s;}
.pub:hover{border-color:var(--green);background:#fff;}
.pub h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1rem;margin:0;}
.pub span{color:var(--ink-soft);font-size:.86rem;}
.pub .yr{font-family:'Space Mono';font-size:.72rem;color:#fff;background:var(--green);padding:.3rem .7rem;flex:none;}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gal .g{aspect-ratio:1/1;border:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Space Mono';font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.gal .g img{width:100%;height:100%;object-fit:cover;filter:none;transition:.3s;}
.gal .g:hover img{filter:none;}

/* chips / cats */
.cats{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:26px;}
.chip{font-family:'Space Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1.5px solid var(--line);background:#fff;padding:.5rem 1rem;cursor:pointer;transition:.15s;color:var(--ink-soft);}
.chip:hover,.chip.on{border-color:var(--green);background:var(--green);color:#fff;}

/* blog featured */
.feat{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:1px solid var(--ink);overflow:hidden;}
.feat .media{min-height:340px;position:relative;overflow:hidden;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Space Mono';font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.feat .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;}
.feat .fbody{padding:36px;display:flex;flex-direction:column;justify-content:center;}
.feat .fmeta{font-family:'Space Mono';font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.feat .fbody h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.05;margin:0 0 12px;}
.feat .fbody p{color:var(--ink-soft);line-height:1.7;margin:0 0 22px;}

/* blog post cards */
.post{display:flex;flex-direction:column;border:1px solid var(--line);background:rgba(255,255,255,.4);transition:.2s;cursor:pointer;}
.post:hover{border-color:var(--green);}
.post .media{aspect-ratio:3/2;position:relative;overflow:hidden;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'Space Mono';font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.post .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;transition:.3s;}
.post:hover .media img{filter:none;}
.post .pbody{padding:22px 22px 24px;}
.post .pmeta{font-family:'Space Mono';font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.post .pmeta .d{color:var(--ink-soft);}
.post h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.1rem;line-height:1.14;margin:0 0 10px;}
.post p{color:var(--ink-soft);font-size:.9rem;line-height:1.6;margin:0 0 16px;}
.post .more{font-family:'Space Mono';font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;align-items:center;gap:7px;}
.post .more i{width:14px;height:14px;transition:.2s;}
.post:hover .more{color:var(--green);}
.post:hover .more i{transform:translateX(4px);}

/* reviews */
.review{border:1px solid var(--line);background:rgba(255,255,255,.45);padding:26px 24px;}
.review .stars{color:var(--green);letter-spacing:2px;font-size:1rem;}
.review p{font-size:.96rem;line-height:1.7;margin:14px 0 18px;}
.review .who{display:flex;align-items:center;gap:12px;}
.review .who .av{width:42px;height:42px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);flex:none;}
.review .who b{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:.86rem;display:block;}
.review .who small{color:var(--ink-soft);font-size:.78rem;}
.gscore{display:inline-flex;align-items:center;gap:14px;border:1.5px solid var(--ink);padding:.7rem 1.2rem;}
.gscore .num{font-family:'Archivo';font-weight:900;font-size:2rem;color:var(--green);line-height:1;}
.gscore .stars{color:var(--green);letter-spacing:2px;}
.gscore small{color:var(--ink-soft);font-size:.78rem;}

/* value cards */
.vcard{border:1px solid var(--line);background:rgba(255,255,255,.4);padding:32px 28px;text-align:center;transition:.2s;}
.vcard:hover{background:#fff;border-color:var(--green);}
.vcard .ic{width:54px;height:54px;border:1.5px solid var(--ink);display:grid;place-items:center;margin:0 auto 18px;}
.vcard:hover .ic{background:var(--green);border-color:var(--green);color:#fff;}
.vcard .ic i{width:24px;height:24px;}
.vcard h3{font-family:'Archivo';font-weight:700;text-transform:uppercase;font-size:1.1rem;margin:0 0 10px;}
.vcard p{color:var(--ink-soft);font-size:.92rem;line-height:1.6;margin:0;}

/* generic grids */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:32px;}

/* responsive — shared components */
@media(max-width:900px){
  .checks{grid-template-columns:1fr;}
  .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;}
  .steps{grid-template-columns:1fr 1fr;}
  .two,.feat,.g2{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .g3{grid-template-columns:1fr;}
  .gal{grid-template-columns:1fr 1fr;}
  .feat .media{min-height:240px;}
}
@media(max-width:560px){
  .steps{grid-template-columns:1fr;}
  .step{border-right:none;border-bottom:1px solid var(--line);}
  .step:last-child{border-bottom:none;}
  .gal{grid-template-columns:1fr;}
}


/* =========================================================
   MOTION LAYER — premium · minimal
   ========================================================= */
@media (prefers-reduced-motion: no-preference){

  /* header: condense + hairline shadow after scroll */
  .eh{transition:height .3s ease, background .3s ease, box-shadow .3s ease;}
  .eh .wrap{transition:height .3s cubic-bezier(.2,.7,.3,1);}
  .eh.scrolled{background:rgba(241,239,235,.94);box-shadow:0 1px 0 var(--line),0 10px 30px rgba(27,28,26,.05);}
  .eh.scrolled .wrap{height:58px;}

  /* nav links: accent underline draws on hover */
  .emenu a{position:relative;}
  .emenu a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .32s cubic-bezier(.2,.7,.3,1);}
  .emenu a:hover::after,.emenu a.active::after{transform:scaleX(1);transform-origin:left;}

  /* section headings: short accent tick draws under the title on reveal */
  .sec-h{position:relative;}
  .sec-h::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:66px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.2,.7,.3,1) .15s;}
  .sec-h.in::after,.sec-h.reveal.in::after{transform:scaleX(1);}

  /* marquee strip: pause on hover for legibility */
  .strip:hover .track{animation-play-state:paused;}

  /* staggered children inside a .stagger container */
  .stagger > *{opacity:0;transform:translateY(22px);transition:.65s cubic-bezier(.2,.7,.3,1);}
  .stagger.in{opacity:1;transform:none;}
  .stagger.in > *{opacity:1;transform:none;}
  .stagger.in > *:nth-child(2){transition-delay:.07s;}
  .stagger.in > *:nth-child(3){transition-delay:.14s;}
  .stagger.in > *:nth-child(4){transition-delay:.21s;}
  .stagger.in > *:nth-child(5){transition-delay:.28s;}
  .stagger.in > *:nth-child(6){transition-delay:.35s;}

  /* numbers band: count-up baseline tick draws across on reveal */
  .numbers .cell{position:relative;}
  .numbers .n{display:inline-flex;align-items:baseline;}

  /* CTA buttons: trailing icon nudges on hover */
  .ebtn i,.ghost i,.b1 i,.b2 i{transition:transform .2s ease;}
  .ebtn:hover i,.ghost:hover i{transform:translateX(2px);}

  /* WhatsApp FAB: soft attention pulse */
  .fab{transition:transform .25s ease, box-shadow .25s ease;}
  .fab::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1fae54;pointer-events:none;animation:fabpulse 2.6s ease-out infinite;}
  .fab:hover{transform:scale(1.06);}
  @keyframes fabpulse{0%{transform:scale(1);opacity:.5;}70%{transform:scale(1.5);opacity:0;}100%{opacity:0;}}
}

/* .stagger fallback when motion reduced / no JS: ensure visible */
.stagger.in > *{opacity:1;}


/* inline highlight — hero claim style (white on slate) for section titles */
.hlw{background:var(--green);color:#fff;padding:.04em .26em;margin:0 .02em;white-space:nowrap;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
/* animated BPM badge number */
.bpm .val{display:inline-block;transition:transform .14s ease,color .14s ease;transform-origin:left center;}
.bpm .val.beating{transform:scale(1.09);color:var(--accent);}
