/* ============ Oro metallico 3D (primitive riusabili) ============ */
.gold-text{background:var(--gold-text);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}
.gold-surface{position:relative;background:var(--gold-metal);color:var(--gold-ink);border:1px solid #7a5e16;box-shadow:var(--gold-bevel);text-shadow:0 1px 0 rgba(255,255,255,.35);overflow:hidden}
.gold-bar{background:linear-gradient(180deg,#F7E7A8,#B8902C);box-shadow:0 0 6px rgba(212,175,55,.35)}

/* sheen che attraversa l'oro al hover */
.gold-surface::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);opacity:0}
@media (prefers-reduced-motion:no-preference){
  .gold-surface:hover::after{animation:glint .8s ease}
  @keyframes glint{0%{left:-60%;opacity:.9}100%{left:120%;opacity:0}}
}

/* ============ Bottoni ============ */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-type);font-size:14px;letter-spacing:.5px;padding:13px 24px;border-radius:var(--r-sm);cursor:pointer;transition:transform .15s,box-shadow .15s;text-transform:uppercase}
.btn-gold{background:var(--gold-metal);color:var(--gold-ink);border:1px solid #7a5e16;box-shadow:var(--gold-bevel);text-shadow:0 1px 0 rgba(255,255,255,.35);position:relative;overflow:hidden}
.btn-gold:hover{transform:translateY(-1px);color:var(--gold-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 5px rgba(0,0,0,.4),0 7px 22px rgba(0,0,0,.55)}
.btn-gold:active{transform:translateY(0)}
.btn-gold::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-18deg);opacity:0}
@media (prefers-reduced-motion:no-preference){.btn-gold:hover::after{animation:glint .8s ease}}
.btn-ghost{background:transparent;color:var(--gold-hi);border:1px solid var(--gold-deep)}
.btn-ghost:hover{color:var(--gold-hi);border-color:var(--gold);background:rgba(212,175,55,.06)}

/* ============ Header / Nav ============ */
.site-header{position:sticky;top:0;z-index:100;background:rgba(11,12,16,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:38px;width:auto}
.brand .wordmark{font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:1px;color:var(--c-text)}
.nav{display:flex;gap:24px}
.nav a{font-family:var(--f-type);font-size:13px;letter-spacing:.5px;color:var(--c-text-2);text-transform:uppercase}
.nav a:hover,.nav a[aria-current=page]{color:var(--gold-hi)}
.nav-toggle{display:none;background:none;border:0;color:var(--gold);font-size:26px;cursor:pointer}
.nav-mobile{display:none}
@media (max-width:860px){
  .nav{display:none}
  .nav-toggle{display:block}
  .nav-mobile{position:fixed;inset:68px 0 auto 0;background:var(--c-bg-3);border-bottom:1px solid var(--c-line);flex-direction:column;padding:var(--sp-4);gap:var(--sp-3);display:none}
  .nav-mobile.open{display:flex}
  .nav-mobile a{font-family:var(--f-type);color:var(--c-text);text-transform:uppercase;font-size:15px}
}

/* ============ Hero / spotlight ============ */
.spotlight{position:relative;background:radial-gradient(120% 90% at 78% 6%,#2a2412 0%,var(--c-bg) 56%)}
.spotlight[data-spotlight]{background:radial-gradient(60% 60% at var(--mx,78%) var(--my,6%),#2a2412 0%,var(--c-bg) 60%)}
.hero{padding:var(--sp-7) 0}
.hero-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:var(--sp-5);align-items:center}
.hero h1{margin-bottom:var(--sp-3)}
.hero .lead{margin-bottom:var(--sp-4)}
.hero-cta{display:flex;gap:var(--sp-2);flex-wrap:wrap}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}

/* ============ Dossier card + timbro ============ */
.dossier{background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--sp-4);position:relative}
.dossier:has(.stamp){padding-bottom:52px}
.file-no{font-family:var(--f-type);color:var(--c-text-3);font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:var(--sp-2)}
.stamp{position:absolute;bottom:16px;right:-6px;transform:rotate(-8deg);border:2px solid var(--danger);color:var(--danger);font-family:var(--f-type);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:4px;opacity:.92;pointer-events:none}
.dossier-stat{padding:var(--sp-2) 0;border-top:1px solid var(--c-line-2)}
.dossier-stat:first-of-type{border-top:0}
.dossier-stat .num{font-family:var(--f-display);font-weight:700;font-size:26px}
.dossier-stat .lbl{color:var(--c-text-3);font-size:12.5px}

/* ============ Service file ============ */
.service-file{position:relative;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--sp-3) var(--sp-3) var(--sp-3) calc(var(--sp-3) + 4px);transition:transform .2s,border-color .2s}
.service-file::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px;background:linear-gradient(180deg,#F7E7A8,#B8902C);box-shadow:0 0 6px rgba(212,175,55,.35)}
.service-file:hover{transform:translateY(-2px);border-color:var(--gold-deep)}
.service-file .ico{font-size:22px}
.service-file h3{margin:var(--sp-1) 0 4px;font-size:16px}
.service-file p{font-size:13px;color:var(--c-text-3)}

/* ============ Generic cards / grids ============ */
.card{background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--sp-4)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}
@media (max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* divisore dorato */
.gold-divider{height:2px;background:var(--gold-metal);border:0;margin:var(--sp-5) 0;opacity:.8}

/* ============ Footer ============ */
.site-footer{background:var(--c-bg-3);border-top:1px solid var(--c-line);padding:var(--sp-6) 0 var(--sp-4)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-5)}
.site-footer h4{font-family:var(--f-type);text-transform:uppercase;font-size:12px;letter-spacing:1px;color:var(--c-text);margin-bottom:var(--sp-2)}
.site-footer a{display:block;color:var(--c-text-2);font-size:14px;padding:3px 0}
.site-footer .legal{color:var(--c-text-3);font-size:12.5px;line-height:1.6}
.footer-bottom{border-top:1px solid var(--c-line);margin-top:var(--sp-5);padding-top:var(--sp-3);color:var(--c-text-3);font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr;gap:var(--sp-4)}}

/* ============ Reveal allo scroll ============ */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ============ Form ============ */
.field{margin-bottom:var(--sp-3)}
.field label{display:block;font-family:var(--f-type);font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--c-text-2);margin-bottom:6px}
.field input,.field textarea{width:100%;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--r-sm);color:var(--c-text);font-family:var(--f-body);font-size:15px;padding:11px 13px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(212,175,55,.18)}
.hp{position:absolute;left:-9999px}
.form-note{font-size:12.5px;color:var(--c-text-3)}
.form-status{margin-top:var(--sp-2);font-size:14px}
.form-status.ok{color:#5DCAA5}
.form-status.err{color:var(--danger)}
