/* ===== SEDE (Zincheria) — single template ===== */
.valb-hero{min-height:650px;}

/* ===== INTRO + VIDEO ===== */
.valb-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.valb-intro h2.block{font-size:42px;line-height:1.08;margin-bottom:38px;}
.valb-intro .col-text p{color:var(--body);margin-bottom:20px;max-width:560px;}
.valb-video{position:relative;display:block;overflow:hidden;border-radius:2px;align-self:stretch;min-height:360px;}
.valb-video img{width:100%;height:100%;object-fit:cover;}
.valb-video .play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:84px;height:84px;border-radius:50%;background:rgba(20,20,20,.78);
  display:flex;align-items:center;justify-content:center;transition:transform .25s ease,background .25s ease;
}
.valb-video .play svg{width:30px;height:30px;margin-left:4px;}
.valb-video:hover .play{transform:translate(-50%,-50%) scale(1.08);background:var(--red);}

/* ===== FULL-BLEED B&W ===== */
.valb-fullbleed{width:100%;line-height:0;}
.valb-fullbleed img{width:100%;height:auto;object-fit:cover;filter:grayscale(1);}

/* ===== STRUCTURE + VASCA ===== */
.valb-struct{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.valb-struct .col-text p{color:var(--body);margin-bottom:20px;max-width:560px;}
.vasca-list{list-style:none;display:flex;flex-direction:column;gap:20px;margin-top:38px;}
.vasca-list li{display:grid;grid-template-columns:14px 1fr;gap:22px;align-items:start;
  color:var(--body);font-size:15px;letter-spacing:.08em;text-transform:uppercase;}
.vasca-list li::before{content:"";width:14px;height:14px;background:var(--red);margin-top:3px;}
.valb-struct .struct-media img{width:100%;height:100%;object-fit:cover;border-radius:2px;filter:grayscale(1);}
.valb-struct .struct-media{align-self:stretch;min-height:420px;}

/* ===== TRIPTYCH ===== */
.valb-triptych{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;background:#000;}
.valb-triptych img{width:100%;height:100%;object-fit:cover;display:block;}

/* ===== TEAM ===== */
.team-title{text-align:center;font-size:46px;font-weight:800;color:#fff;letter-spacing:-.01em;margin-bottom:0;}
/* same scroller as the Management block: four visible, the rest scroll.
   287 = (1196 − 3×16) / 4, the width of the original four columns */
.valb-teamgrid{
  display:flex;gap:16px;background:#000;
  width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.valb-teamgrid::-webkit-scrollbar{display:none;}
.valb-teamgrid:focus-visible{outline:2px solid var(--red);outline-offset:6px;}
.valb-teamgrid .team-card{flex:0 0 287px;}
.valb-teamgrid img{width:100%;height:auto;object-fit:cover;display:block;background:#000;}
.lavora{display:flex;justify-content:center;margin-top:54px;}

/* ===== CERTIFICAZIONI ===== */
.cert-title{text-align:center;font-size:46px;font-weight:800;color:#fff;letter-spacing:-.01em;margin-bottom:70px;}
.cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 96px;}
.cert-logo{height:150px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
.cert-logo img{max-width:62%;max-height:64%;width:auto;height:auto;object-fit:contain;}
.cert-links{display:flex;flex-direction:column;}
.cert-link{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.cert-link:last-child{border-bottom:none;}
.cert-link .pdf{flex:none;width:26px;height:32px;position:relative;}
.cert-link .pdf svg{width:100%;height:100%;}
.cert-link a{color:var(--body);font-size:15px;text-decoration:underline;text-underline-offset:3px;line-height:1.4;transition:color .25s ease;}
.cert-link a:hover{color:#fff;}

/* ===== COMPANY INFO + POLICY ===== */
.valb-company{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;align-items:start;}
.valb-company h2{font-size:34px;font-weight:800;color:#fff;margin-bottom:30px;letter-spacing:-.01em;}
.valb-company .ci p{color:var(--body);margin-bottom:14px;line-height:1.6;}
.valb-company .ci a{color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.valb-company .ci .meta{margin-top:24px;}
.policy-links{display:flex;flex-direction:column;gap:18px;padding-top:8px;}
.policy-links a{color:var(--red);font-size:16px;text-decoration:underline;text-underline-offset:3px;transition:color .25s ease;}
.policy-links a:hover{color:#ff4a51;}

@media (max-width:860px){
  .valb-hero{min-height:420px;}
  .valb-intro,.valb-struct,.cert-grid,.valb-company{grid-template-columns:1fr;gap:40px;}
  .valb-video{min-height:240px;}
  .valb-struct .struct-media{min-height:300px;}
  .team-title,.cert-title{font-size:34px;}
  .valb-teamgrid .team-card{flex:0 0 clamp(200px,62vw,300px);}
}

@media (max-width:1100px){
  /* pinned at 42px above with a specificity that beats the global
     mobile rule: restate it here or the title never shrinks */
  .valb-intro h2.block{font-size:34px;}
}
