/* ============================================================
   VENTAGLIO — Meno parole. Più storie.
   ============================================================ */
.vg{ position:relative; background:var(--bg); color:var(--ink); padding:clamp(70px,11vh,130px) var(--pad) clamp(50px,8vh,90px); overflow:hidden;
  --cw:clamp(130px,20.5vw,290px); --ch:calc(var(--cw) * 1.387); }
.vg__label{ font:500 11px/1 var(--ff-mono); letter-spacing:.18em; text-transform:uppercase; color:var(--ink); margin:0 0 clamp(28px,5vh,56px); }
.vg__t{ position:relative; z-index:1; margin:0; text-align:center; white-space:nowrap; text-transform:uppercase; font-family:var(--ff-display); font-weight:800; font-variation-settings:"wght" 820;
  font-size:clamp(38px,9vw,160px); line-height:.82; letter-spacing:-.045em; }
.vg__deck{ position:relative; z-index:2; height:calc(var(--ch) * 1.16); margin:calc(var(--ch) * -0.04) auto calc(var(--ch) * -0.015); max-width:100%; touch-action:manipulation; }
.vg__card{ position:absolute; left:50%; top:48.5%; width:var(--cw); height:var(--ch); margin:calc(var(--ch) / -2) 0 0 calc(var(--cw) / -2);
  display:flex; flex-direction:column; padding:0; border:0; border-radius:3px; overflow:hidden; cursor:pointer; text-align:left; opacity:1;
  background:var(--c,#16120B); color:var(--fg,#fff); font:inherit; will-change:transform; transform-origin:50% 60%;
  box-shadow:0 1px 2px rgba(22,17,9,.14), 0 12px 26px -12px rgba(22,17,9,.38); -webkit-tap-highlight-color:transparent; }
.vg__card[aria-pressed="true"]{ box-shadow:0 2px 4px rgba(22,17,9,.14), 0 26px 50px -18px rgba(22,17,9,.5); }
.vg__card:focus-visible{ outline:3px solid var(--accent); outline-offset:4px; }
.vg__media{ position:relative; flex:1 1 auto; min-height:0; display:block; overflow:hidden; }
.vg__media{ background:var(--c); }
.vg__slot{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.vg__card:not(.has-img) image-slot:not([data-editable]){ visibility:hidden; }
.vg__vid{ opacity:0; pointer-events:none; }
.vg__card.has-video .vg__vid,.vg__card.is-vdrag .vg__vid{ opacity:1; pointer-events:auto; }
.vg__addvid{ position:absolute; right:8px; top:8px; z-index:3; font:500 10px/1 var(--ff-mono); letter-spacing:.12em; text-transform:uppercase; color:#fff; background:rgba(10,8,5,.55); border-radius:30px; padding:7px 10px; cursor:pointer; opacity:0; transition:opacity .25s; }
.vg__card:hover .vg__addvid{ opacity:1; }
.vg__card.has-video .vg__addvid{ display:none; }
.vg__line{ display:block; height:1px; margin:0 12px; background:currentColor; flex:none; }
.vg__desc{ display:block; flex:none; padding:9px 12px 12px; font:500 clamp(10.5px,.85vw,13px)/1.15 var(--ff-sans); }
.vg__foot{ position:relative; z-index:1; margin-top:clamp(28px,5vh,56px); padding-top:16px; border-top:1px solid rgba(22,17,9,.18);
  display:flex; justify-content:space-between; align-items:center; gap:10px 24px; flex-wrap:wrap; }
.vg__foot p{ margin:0; }
.vg__lead{ font:400 clamp(14px,1.1vw,17px)/1.2 var(--ff-sans); }
.vg__cta{ display:inline-flex; align-items:center; gap:10px; font:500 11px/1 var(--ff-mono); letter-spacing:.16em; text-transform:uppercase; }
.vg__cta i{ width:8px; height:8px; border-radius:50%; background:var(--accent); flex:none; }
@media (max-width:1024px){
  .vg{ --cw:clamp(130px,38vw,235px); }
  .vg__deck{ height:calc(var(--ch) * 2.05); margin:calc(var(--ch) * -0.02) auto calc(var(--ch) * -0.03); }
}
@media (max-width:760px){
  .vg__t{ font-size:11vw; }
  .vg__line{ margin:0 9px; }
  .vg__desc{ padding:7px 9px 9px; font-size:10.5px; }
}
@media (max-width:420px){ .vg__foot{ flex-direction:column; align-items:flex-start; } }

/* ============ FASCIA — Di cosa mi occupo esattamente? ============ */
.dq{ position:relative; z-index:5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; min-height:260px; padding:56px var(--pad) 64px; box-sizing:border-box;
  background:#16120B; color:#fff; text-align:center; overflow:visible; }
.dq__pre{ font:500 12px/1 var(--ff-mono); letter-spacing:.2em; color:#fff; }
.dq__t{ margin:0; font-family:var(--ff-display); font-weight:800; font-variation-settings:"wght" 820; font-size:clamp(28px,5vw,78px); line-height:.95; letter-spacing:-.035em; color:#fff; text-wrap:balance; max-width:20ch; }
.dq__t em{ font-style:normal; color:var(--accent); }
@media (min-width:900px){ .dq__t{ max-width:none; white-space:nowrap; } }
.dq__go,.dq__go:link,.dq__go:visited,.dq__go:hover,.dq__go:focus,.dq__go:active{ position:absolute; left:50%; bottom:0; width:54px; height:54px; margin-left:-27px; transform:translateY(50%);
  border-radius:50%; background:var(--accent); color:#000; display:grid; place-items:center; text-decoration:none; }
.dq__go:focus-visible{ outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px #16120B; }
.dq__arrow{ width:24px; height:27px; animation:dqArrow 1.7s ease-in-out infinite; }
@keyframes dqArrow{ 0%,100%{ transform:translateY(-3px); } 50%{ transform:translateY(3px); } }
@media (max-width:760px){ .dq{ min-height:0; padding:48px 20px 60px; gap:14px; } }
@media (prefers-reduced-motion: reduce){ .dq__arrow{ animation:none; } }
.vg__desc b{ font-weight:700; }
