/* Pages under /progetti/ and the latest-projects block of the home page (ADR 0030).
   Same fonts, colours and card design as the rest of the site (dark theme). */
.pj-main{padding:72px 0 24px;min-height:60vh}
.pj-latest{padding:96px 0}
.pj-wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.pj-main .pj-wrap{padding-top:24px;padding-bottom:48px}
.pj-job{max-width:860px}
.pj-label{font-family:var(--fd);font-size:.9rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;margin-bottom:14px;text-align:center}
.pj-wrap h1,.pj-wrap h2{font-family:var(--fd);font-weight:900;color:#fff;line-height:1.1;text-transform:uppercase;letter-spacing:1px}
.pj-wrap h1{font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:14px}
.pj-wrap h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:12px}
.pj-latest h2,.pj-list-head{text-align:center}
.pj-intro{font-size:1.1rem;color:rgba(255,255,255,.6);max-width:640px;line-height:1.7;margin-bottom:44px}
.pj-latest .pj-intro,.pj-list-head .pj-intro{margin-left:auto;margin-right:auto;text-align:center}
.pj-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:40px}
.pj-card{position:relative;display:flex;flex-direction:column;flex:0 1 360px;max-width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:var(--rl);overflow:hidden;transition:var(--tr)}
.pj-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.pj-card-img{position:relative;height:230px;overflow:hidden}
.pj-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pj-card:hover .pj-card-img img{transform:scale(1.05)}
.pj-card-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.pj-card h3{font-family:var(--fd);font-size:1.4rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.pj-card-link{color:#fff}
.pj-card-link::after{content:"";position:absolute;inset:0;z-index:1}
.pj-card .pj-meta{font-size:.85rem;color:rgba(255,255,255,.45);margin-bottom:10px;line-height:1.4}
.pj-card p{font-size:.95rem;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:16px}
.pj-more{margin-top:auto;font-family:var(--fd);font-size:1rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--blue-l)}
.pj-badge{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;background:rgba(16,122,84,.92);color:#fff;font-family:var(--fb);font-size:.75rem;font-weight:700;letter-spacing:.03em;line-height:1;padding:7px 12px;border-radius:50px;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.pj-badge:hover{background:#0d7a52;text-decoration:underline}
.pj-badge-inline{position:static;margin-left:10px;vertical-align:middle;box-shadow:none}
.pj-all{text-align:center}
.pj-all-link{display:inline-flex;align-items:center;gap:8px;color:#fff;padding:16px 34px;border-radius:50px;font-family:var(--fd);font-weight:600;font-size:1.1rem;letter-spacing:1px;text-transform:uppercase;border:2px solid rgba(255,255,255,.3);transition:var(--tr)}
.pj-all-link:hover{border-color:var(--blue-l);background:var(--blue-glow)}
.pj-back{margin-bottom:18px}
.pj-back a{color:var(--blue-l);font-size:.95rem}
.pj-back a:hover{text-decoration:underline}
.pj-meta{font-size:.95rem;color:rgba(255,255,255,.5);margin-bottom:22px}
.pj-lead{font-size:1.25rem;line-height:1.65;color:#fff;margin-bottom:22px}
.pj-job p{line-height:1.8;margin-bottom:18px;color:rgba(255,255,255,.78)}
.pj-job .pj-lead{color:#fff}
.pj-job h2{margin-top:44px}
.pj-faq details{border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:14px 18px;margin-bottom:10px;background:rgba(255,255,255,.03)}
.pj-faq summary{cursor:pointer;font-weight:700;color:#fff;line-height:1.5}
.pj-faq details p{margin:12px 0 4px}
.pj-note{font-size:.95rem;color:rgba(255,255,255,.55)}
.pj-photos figure{margin:28px 0}
.pj-photos img{width:100%;height:auto;border-radius:var(--rl);display:block}
.pj-photos figcaption{font-size:.95rem;color:rgba(255,255,255,.6);margin-top:10px}
.pj-job .pj-actions{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 0}
.pj-actions a{display:inline-flex;font-size:.85rem;font-weight:600;color:#fff;padding:8px 16px;border-radius:50px;border:1px solid rgba(255,255,255,.25)}
.pj-actions a:first-child{border-color:rgba(16,185,129,.6);color:#6ee7b7}
.pj-actions a:hover{background:var(--blue-glow);border-color:var(--blue-l)}
@media(max-width:768px){.pj-latest{padding:64px 0}.pj-card{flex-basis:100%}.pj-badge-inline{display:flex;width:fit-content;margin:10px 0 0}}
/* The site styles every <section>; the parts of a job page are not page sections. */
.pj-job section{padding:0;margin-top:40px}
.pj-job section h2{margin-top:0}
