/* ==========================================================================
   Pagine di contenuto (Progetti, Servizi, About, Blog) — stesso sistema
   ========================================================================== */
.page{position:relative;z-index:1;padding-top:calc(90px + 6vh)}
.hud-top .logo .logo-full{width:100%;height:auto;display:block}
.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}
.hero-p{padding-bottom:8vh;display:grid;grid-template-columns:7fr 5fr;gap:var(--gutter);align-items:end}
.hero-p .label{margin-bottom:18px;color:var(--muted)}
.hero-p h1{font-family:var(--display);font-weight:700;font-size:clamp(2.8rem,6.4vw,6.8rem);letter-spacing:-.045em;line-height:.92}
.hero-p p{font-family:var(--display);font-weight:500;font-size:1.05rem;line-height:1.4;max-width:420px;color:var(--muted)}
.hero-p p b{color:var(--cream);font-weight:500}
.tools{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:40px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{height:34px;padding:0 14px;border-radius:var(--pill);border:1px solid var(--glass-line);background:var(--glass);font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:all .3s var(--e-ui)}
.chips button:hover{color:var(--cream);border-color:rgba(255,255,255,.3)}
.chips button.on{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.search{position:relative}
.search input{height:38px;width:min(60vw,280px);border-radius:var(--pill);border:1px solid var(--glass-line);background:var(--glass);color:var(--cream);font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:0 16px;outline:0}
.search input::placeholder{color:var(--muted-2)}
.search input:focus{border-color:var(--lime)}

/* Griglia lavori */
.grid-w{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:14vh}
.wc{position:relative;display:block;border-radius:14px;overflow:hidden;background:var(--night-2);aspect-ratio:4/5;opacity:0;transform:translateY(24px);transition:opacity .7s var(--e-out),transform .8s var(--e-out)}
.wc.in{opacity:1;transform:none}
.wc.hide{display:none}
.wc img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e-out)}
.wc:hover img{transform:scale(1.05)}
.wc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,4,15,.1) 0%,transparent 30%,transparent 55%,rgba(5,4,15,.82) 100%)}
.wc .cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.wc .cap .n{font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;line-height:1.05}
.wc .cap .label-s{color:rgba(243,242,250,.8);text-align:right;flex:0 0 auto}
.wc .tag{position:absolute;left:14px;top:14px;z-index:2}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--pill);background:rgba(5,4,15,.55);border:1px solid var(--glass-line);backdrop-filter:blur(10px);font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream)}
.tag.lime{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.tag.blue{background:var(--blue);border-color:var(--blue)}
.empty{grid-column:1/-1;padding:40px 0;color:var(--muted)}

/* Dettaglio progetto / servizio / articolo */
.d-hero{display:grid;grid-template-columns:5fr 7fr;gap:var(--gutter);align-items:end;padding-bottom:6vh}
.d-hero .meta{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.d-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,5vw,5.4rem);letter-spacing:-.045em;line-height:.95}
.d-hero .sub{font-family:var(--display);font-weight:500;font-size:1.1rem;line-height:1.4;color:var(--muted);max-width:480px;margin-top:18px}
.d-cover{border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:var(--night-2);margin-bottom:8vh}
.d-cover img,.d-cover video{width:100%;height:100%;object-fit:cover}
.d-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:10vh}
.d-specs .sp{padding:22px;border-radius:var(--r-card);background:var(--glass);border:1px solid var(--glass-line)}
.d-specs .sp .k{display:block;color:var(--muted-2);margin-bottom:10px}
.d-specs .sp .v{font-family:var(--display);font-weight:700;font-size:1.05rem;line-height:1.3}
.blk{display:grid;grid-template-columns:5fr 7fr;gap:var(--gutter);padding:6vh 0;border-top:1px solid var(--line)}
.blk .lab{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.03em;line-height:1.05}
.blk .lab .label{display:block;margin-bottom:12px;color:var(--lime)}
.blk .txt{font-family:var(--display);font-weight:500;font-size:1.1rem;line-height:1.5;color:var(--muted);max-width:640px}
.blk .txt b{color:var(--cream);font-weight:500}
.media{display:grid;gap:14px;padding-bottom:6vh}
.media.two{grid-template-columns:1fr 1fr}
.media img,.media video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;background:var(--night-2)}
.media.phones{grid-template-columns:1fr 1fr;padding:0 18%}
.media.phones img{aspect-ratio:9/16;border-radius:32px;border:6px solid #14122e}
.media.phones img:last-child{margin-top:60px}
.pills{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 8vh}
.sect-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:10vh 0 30px}
.sect-head h2{font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,3.4vw,3.4rem);letter-spacing:-.04em;line-height:.95}
.sect-head .label{color:var(--muted);margin-bottom:12px}
.related .grid-w{padding-bottom:10vh}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:12vh}
.pn a{padding:26px;border-radius:var(--r-card);background:var(--glass);border:1px solid var(--glass-line);transition:border-color .3s}
.pn a:hover{border-color:rgba(202,255,0,.5)}
.pn a .label-s{display:block;color:var(--muted-2);margin-bottom:10px}
.pn a .t{font-family:var(--display);font-weight:700;font-size:1.4rem;letter-spacing:-.03em}
.pn a.r{text-align:right}

/* Servizi */
.model{padding:10vh 0;border-top:1px solid var(--line)}
.model .mh{display:grid;grid-template-columns:5fr 7fr;gap:var(--gutter);align-items:end;margin-bottom:40px}
.model .mh h2{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,5vw,5.4rem);letter-spacing:-.045em;line-height:.92}
.model .mh h2 .label{display:block;color:var(--lime);margin-bottom:14px;letter-spacing:.12em}
.model .mh p{font-family:var(--display);font-weight:500;font-size:1.05rem;line-height:1.45;color:var(--muted);max-width:480px}
.model .sg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.model .sv{position:relative;display:flex;flex-direction:column;min-height:240px;padding:22px;border-radius:var(--r-card);background:var(--glass);border:1px solid var(--glass-line);transition:transform .4s var(--e-out),border-color .3s,background .3s}
.model .sv:hover{transform:translateY(-4px);border-color:rgba(202,255,0,.5);background:rgba(255,255,255,.09)}
.model .sv .label-s{color:var(--muted-2)}
.model .sv h3{font-family:var(--display);font-weight:700;font-size:1.3rem;letter-spacing:-.03em;margin:14px 0 10px}
.model .sv p{font-family:var(--display);font-weight:500;font-size:.9rem;line-height:1.35;color:var(--muted)}
.model .sv p em{font-style:normal;color:var(--lime)}
.model .sv .go{margin-top:auto;padding-top:20px;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}

/* About */
.manif{display:grid;grid-template-columns:7fr 5fr;gap:var(--gutter);align-items:center;padding:4vh 0 10vh}
.manif .vid{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:var(--night-2);cursor:pointer}
.manif .vid video{width:100%;height:100%;object-fit:cover;opacity:.9}
.manif .vid .pl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.manif .txt{font-family:var(--display);font-weight:500;font-size:1.1rem;line-height:1.5;color:var(--muted)}
.manif .txt p{margin-bottom:1.2em}
.manif .txt b{color:var(--cream);font-weight:700}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:12vh}
.team li{padding:18px 20px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-line)}
.team li .n{display:block;font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:-.02em;margin-bottom:6px}
.team li .r{color:var(--muted-2)}
.logos{overflow:hidden;padding:0 0 12vh;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.logos .tr{display:flex;gap:12px;width:max-content;animation:mq 50s linear infinite}
.logos .tr span{flex:0 0 auto;width:180px;height:90px;border-radius:14px;background:var(--glass);border:1px solid var(--glass-line);display:flex;align-items:center;justify-content:center}
.logos .tr img{max-width:64%;max-height:50%;filter:brightness(0) invert(1);opacity:.85}
@keyframes mq{to{transform:translateX(-50%)}}
.certs{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:14vh}
.certs span{padding:12px 16px;border-radius:var(--pill);border:1px solid var(--glass-line);font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* Blog / articolo */
.art{max-width:760px;margin:0 auto;padding-bottom:12vh;font-family:var(--display);font-weight:500;font-size:1.15rem;line-height:1.55;color:var(--muted)}
.art p{margin-bottom:1.3em}
.art h2{font-weight:700;font-size:1.8rem;letter-spacing:-.03em;line-height:1.05;color:var(--cream);margin:2em 0 .7em}
.art blockquote{margin:2em 0;padding:22px 26px;border-radius:var(--r-card);background:var(--glass);border:1px solid var(--glass-line);color:var(--cream);font-weight:700;font-size:1.4rem;letter-spacing:-.02em}

/* Footer pagine */
.foot-p{position:relative;padding:14vh var(--gutter) 40px;border-top:1px solid var(--line);margin-top:6vh}
.foot-p .cta{display:grid;grid-template-columns:100px 1fr;gap:var(--gutter);align-items:start;margin-bottom:10vh}
.foot-p .cta .mark{width:70px;color:var(--lime)}
.foot-p .cta h2{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,2.8vw,2.8rem);letter-spacing:-.035em;line-height:1;text-transform:uppercase;max-width:820px}
.foot-p .cta .pill{margin-top:28px}
.foot-p .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}
.foot-p .cols .k{display:block;color:var(--muted-2);margin-bottom:10px}
.foot-p .cols a{display:block;padding:3px 0;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;transition:color .3s}
.foot-p .cols a:hover{color:var(--lime)}
.foot-p .legal{display:flex;justify-content:space-between;gap:20px;margin-top:10vh;color:var(--muted-2);flex-wrap:wrap}

@media (max-width:1000px){
  .page{padding-top:calc(70px + 4vh)}
  .hero-p,.d-hero,.blk,.model .mh,.manif,.pn,.foot-p .cta{grid-template-columns:1fr}
  .grid-w{grid-template-columns:1fr 1fr;gap:10px}
  .d-specs{grid-template-columns:1fr}
  .media.two,.media.phones{grid-template-columns:1fr;padding:0}
  .media.phones img:last-child{margin-top:0}
  .model .sg{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:1fr 1fr}
  .foot-p .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){.grid-w,.model .sg,.team{grid-template-columns:1fr}}

/* Prossimo progetto (auto-avanzamento) */
.next-proj{position:relative;display:grid;grid-template-columns:7fr 5fr;gap:var(--gutter);align-items:center;min-height:100vh;min-height:100svh;padding:12vh var(--gutter) 10vh;color:var(--cream);border-top:1px solid var(--line);overflow:hidden}
.next-proj .np-cover{border-radius:20px;overflow:hidden;aspect-ratio:16/10;background:var(--night-2);transform:scale(.96);transition:transform 1.2s var(--e-out)}
.next-proj .np-cover img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--e-out)}
.next-proj:hover .np-cover,.next-proj.go .np-cover{transform:scale(1)}
.next-proj:hover .np-cover img{transform:scale(1.04)}
.next-proj .np-txt .label{display:block;margin-bottom:18px}
.next-proj .np-txt h2{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,5vw,5.4rem);letter-spacing:-.045em;line-height:.95;margin-bottom:16px}
.next-proj .np-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.08)}
.next-proj .np-bar i{position:absolute;inset:0;background:var(--lime);transform:scaleX(0);transform-origin:left}
.next-proj.go{pointer-events:none}
body.leaving .page{opacity:0;transition:opacity .5s var(--e-ui)}
@media (max-width:1000px){.next-proj{grid-template-columns:1fr;min-height:0;padding:10vh var(--gutter)}}
/* segnaposto delle pagine in arrivo nei prossimi batch */
.todo-note{padding:40px 0 80px;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.todo-note .label-s{color:var(--muted)}
