/* Home "Precisione nella pratica" — fedele al mock approvato (RECON/mock-approvato-hilaris.webp).
   Sezioni a tutta larghezza, nessun arrotondamento, toni grigio-caldi; foto prodotto Heltschl. */

:root{--warm:#F1EFEA;--warm-2:#E8E5DF;--stone:#D6D2CB;--night:#0E0C0B}

/* etichetta tracciata e link con cerchio-freccia, i due gesti del mock */
.m-label{font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:rgba(41,41,35,.74);margin:0 0 18px}
.m-label--light{color:rgba(243,241,234,.62)}
.m-go{display:inline-flex;align-items:center;gap:18px;font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:inherit}
.m-go i{width:46px;height:46px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;opacity:.8;transition:background .25s var(--ease),color .25s var(--ease)}
.m-go i svg{width:15px;height:15px}
.m-go:hover i{background:var(--ink);color:var(--bg);border-color:var(--ink);opacity:1}
.m-go--light:hover i{background:#F3F1EA;color:var(--night);border-color:#F3F1EA}
.m-h{font-weight:300;letter-spacing:-.03em;line-height:1.04;margin:0}
.m-p{font-size:15px;line-height:1.6;color:rgba(41,41,35,.72);max-width:44ch;margin:18px 0 0}

/* HERO a tutta larghezza, header sopra */
.m-hero{position:relative;min-height:min(760px,92svh);background:var(--warm);overflow:hidden;display:flex;align-items:center}
.m-hero__img{position:absolute;inset:0}
.m-hero__img img{width:100%;height:100%;object-fit:cover;object-position:70% 60%}
.m-hero__in{position:relative;z-index:2;padding-top:90px;width:100%}
.m-hero__txt{max-width:560px;margin-left:clamp(0px,4vw,60px)}
.m-hero h1{font-size:clamp(46px,6.2vw,92px)}
.m-hero h1 span{display:block}
.m-hero .m-p{font-size:16px;color:rgba(41,41,35,.78);max-width:40ch}
.m-hero .m-go{margin-top:34px}
.m-rail{position:absolute;left:clamp(16px,2.4vw,36px);top:50%;transform:translateY(-50%);z-index:3;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:30px}
.m-rail a{font-size:11px;font-weight:500;letter-spacing:.12em;color:rgba(41,41,35,.42);font-variant-numeric:tabular-nums;display:block;position:relative}
.m-rail a[aria-current="true"]{color:var(--ink)}
.m-rail a[aria-current="true"]::after{content:"";position:absolute;left:5px;top:24px;width:1px;height:34px;background:var(--ink)}
.m-down{position:absolute;left:50%;bottom:22px;z-index:3;transform:translateX(-50%);color:rgba(41,41,35,.6)}
.m-down svg{width:14px;height:22px}
@media (max-width:980px){
  .m-hero{flex-direction:column;align-items:stretch;min-height:0}
  .m-hero__img{position:relative;order:2;aspect-ratio:1}
  .m-hero__in{padding:110px 0 28px}
  .m-hero__txt{margin-left:0}
  .m-rail,.m-down{display:none}
}

/* SISTEMA: testo a sinistra, due card di prodotto a destra */
.m-sys{background:var(--warm);display:grid;grid-template-columns:5fr 7fr;align-items:stretch}
.m-sys__txt{padding:clamp(56px,6vw,96px) clamp(20px,5vw,80px);align-self:center}
.m-sys h2{font-size:clamp(34px,3.6vw,52px)}
.m-sys .m-go{margin-top:40px}
.m-sys__cards{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--bg)}
.m-card{position:relative;background:var(--warm-2);display:flex;flex-direction:column;min-height:520px;overflow:hidden;color:var(--ink)}
.m-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.m-card:hover img{transform:scale(1.025)}
.m-card__top{position:relative;z-index:2;padding:28px 28px 0;display:flex;justify-content:space-between;gap:16px}
.m-card__top b{font-size:11px;font-weight:600;letter-spacing:.34em;text-transform:uppercase}
.m-card__top b span{font-weight:400}
.m-card__top p{font-size:14px;line-height:1.5;color:rgba(41,41,35,.72);margin:14px 0 0;max-width:26ch}
.m-card .m-go i{width:38px;height:38px;flex:none}
@media (max-width:980px){.m-sys{grid-template-columns:1fr}.m-sys__cards{grid-template-columns:1fr}.m-card{min-height:440px}}

/* BIOLOGIA: fascia scura a tutta larghezza, elenco dei componenti a destra */
.m-bio{position:relative;background:var(--night);color:#F3F1EA;min-height:520px;display:flex;align-items:center;overflow:hidden}
.m-bio__img{position:absolute;inset:0 0 0 30%}
.m-bio__img img{width:100%;height:100%;object-fit:cover}
.m-bio::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 30%,rgba(14,12,11,.55) 52%,rgba(14,12,11,0) 72%,rgba(14,12,11,.55) 100%)}
.m-bio__in{position:relative;z-index:2;width:100%;display:flex;justify-content:space-between;align-items:center;gap:40px;padding:72px 0}
.m-bio h2{font-size:clamp(34px,3.6vw,52px)}
.m-bio .m-p{color:rgba(243,241,234,.78)}
.m-bio .m-go{margin-top:36px}
.m-bio__list{list-style:none;margin:0;padding:6px 0 6px 28px;border-left:1px solid rgba(243,241,234,.5);display:flex;flex-direction:column;gap:22px}
.m-bio__list a{font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:rgba(243,241,234,.86);display:block}
.m-bio__list a small{display:block;letter-spacing:.04em;text-transform:none;font-size:12px;color:rgba(243,241,234,.55);margin-top:4px;max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.m-bio__list a:hover,.m-bio__list a:focus-visible{color:#fff}
.m-bio__list a:hover small,.m-bio__list a:focus-visible small{max-height:40px}
@media (max-width:980px){.m-bio__in{flex-direction:column;align-items:flex-start}.m-bio__img{inset:0}.m-bio::after{background:linear-gradient(0deg,var(--night) 35%,rgba(14,12,11,.6) 100%)}}

/* EVIDENZE: testo · pila di documenti · colonna numeri */
.m-ev{background:var(--warm-2);display:grid;grid-template-columns:4fr 5fr 3fr;align-items:center;gap:24px;padding:clamp(56px,6vw,88px) clamp(20px,5vw,80px)}
.m-ev h2{font-size:clamp(34px,3.6vw,52px)}
.m-ev .m-go{margin-top:34px}
.m-stack{position:relative;height:340px;perspective:1200px}
.m-doc{position:absolute;top:30px;width:200px;height:270px;background:#F7F5F1;border:1px solid #DCD8D0;box-shadow:0 18px 30px -18px rgba(41,41,35,.35);transform-origin:bottom center}
.m-doc:nth-child(1){left:6%;transform:rotateY(32deg) translateZ(-60px)}
.m-doc:nth-child(2){left:16%;transform:rotateY(26deg) translateZ(-30px)}
.m-doc:nth-child(3){left:27%;transform:rotateY(18deg)}
.m-doc:nth-child(5){left:62%;transform:rotateY(-26deg) translateZ(-30px)}
.m-doc:nth-child(6){left:72%;transform:rotateY(-32deg) translateZ(-60px)}
.m-doc i{display:block;height:3px;background:#E3DFD7;margin:12px 16px 0}
.m-doc i:first-child{margin-top:26px;width:50%}
.m-doc--front{left:38%;top:0;width:230px;height:310px;z-index:3;background:#F4F1EB;padding:40px 30px;display:flex;flex-direction:column}
.m-doc--front b{font-size:12px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;line-height:1.7;color:rgba(41,41,35,.72)}
.m-doc--front span{margin-top:auto;font-size:11px;letter-spacing:.3em;color:rgba(41,41,35,.6);text-align:center}
.m-doc--front em{display:block;width:16px;height:1px;background:rgba(41,41,35,.5);margin:28px 0 0}
.m-stats{list-style:none;margin:0;padding:0 0 0 28px;border-left:1px solid rgba(41,41,35,.18);display:flex;flex-direction:column;gap:20px}
.m-stats b{display:block;font-size:30px;font-weight:300;letter-spacing:-.02em;line-height:1}
.m-stats span{font-size:12px;color:rgba(41,41,35,.66)}
@media (max-width:1100px){.m-ev{grid-template-columns:1fr 1fr}.m-stack{display:none}}
@media (max-width:700px){.m-ev{grid-template-columns:1fr}.m-stats{flex-direction:row;flex-wrap:wrap;border-left:0;padding:0;gap:20px 32px}}

/* TRE CARD SCURE */
.m-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--bg)}
.m-tile{position:relative;min-height:330px;color:#F3F1EA;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:30px}
.m-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.m-tile:hover img{transform:scale(1.03)}
.m-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,12,11,.88) 0%,rgba(14,12,11,.35) 70%,rgba(14,12,11,.25) 100%)}
.m-tile > *:not(img){position:relative;z-index:2}
.m-tile h3{font-size:clamp(24px,2.1vw,30px);font-weight:300;letter-spacing:-.02em;line-height:1.1;margin:0 0 12px}
.m-tile p{font-size:13.5px;line-height:1.5;color:rgba(243,241,234,.74);margin:0 0 22px;max-width:32ch}
.m-tile .m-go i{width:36px;height:36px}
@media (max-width:900px){.m-trio{grid-template-columns:1fr}}

/* footer sottile chiaro (tutte le pagine) */
.fm{background:var(--warm);margin-top:0}
.fm__top{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:34px 0;flex-wrap:wrap}
.fm__claim{font-size:15px;color:rgba(41,41,35,.8);flex:1;min-width:240px}
.fm__links{display:flex;gap:26px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.fm__links a{font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}
.fm__links a:hover{color:var(--wl)}
.fm__bottom{border-top:1px solid rgba(41,41,35,.12);padding:18px 0 26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;line-height:1.55;color:rgba(41,41,35,.74)}
.fm__bottom p{margin:0;max-width:90ch}
.fm__bottom a{text-decoration:underline;text-underline-offset:3px}

/* correzioni dalla prima cattura */
.m-rail a[aria-current="true"]::after{top:20px;height:18px}
.m-card img{object-position:center bottom}
.m-bio__in{padding-left:var(--pad);padding-right:var(--pad)}
.m-hero__in{padding-left:var(--pad);padding-right:var(--pad)}
.m-stack{overflow:visible}
.m-doc{width:150px;height:215px}
.m-doc:nth-child(1){left:0}.m-doc:nth-child(2){left:9%}.m-doc:nth-child(3){left:18%}
.m-doc:nth-child(5){left:56%}.m-doc:nth-child(6){left:64%}
.m-doc--front{left:28%;width:190px;height:265px;padding:32px 24px}
.m-ev{grid-template-columns:4fr 5fr 2.6fr}
.m-hero__in,.m-bio__in{box-sizing:border-box}
@media (max-width:980px){.m-card{min-height:0;aspect-ratio:1000/1050}}
.m-card{min-height:0;aspect-ratio:1000/1280}
@media (max-width:980px){.m-card{aspect-ratio:1000/1280}}
