/* Pagine dei singoli progetti (Octanivo, Glitto), sopra style.css */
.wrap.p { max-width: 960px; }
.back { color: var(--muted); text-decoration: none; font-weight: 700; }
.p-hero { display: grid; grid-template-columns: 170px 1fr; gap: 28px; align-items: center; margin: 28px 0 10px; }
.p-hero img { width: 170px; height: 170px; border-radius: 40px; animation: float 4.5s ease-in-out infinite;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 24px 80px rgba(57,214,255,.45), 0 0 120px rgba(255,61,165,.3); }
.p-hero h1 { margin: 0; font-size: clamp(40px, 8vw, 72px); line-height: 1; font-weight: 900; letter-spacing: -1px;
  background: linear-gradient(100deg, #fff, var(--gold), var(--pink), var(--aqua), #fff); background-size: 250% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: sheen 6s linear infinite; }
.p-hero .claim { font-size: clamp(20px, 3.8vw, 26px); font-weight: 800; margin: 10px 0 6px; }
.p-hero .sub { color: var(--muted); margin: 0 0 16px; font-size: 17px; }
.shots { display: flex; gap: 14px; overflow-x: auto; padding: 20px 2px 26px; scroll-snap-type: x mandatory; }
.shots img { height: 460px; width: auto; border-radius: 24px; scroll-snap-align: start; flex: none;
  box-shadow: 0 18px 50px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.12); transition: transform .25s; }
.shots img:hover { transform: translateY(-6px) rotate(-1deg); }
.feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 10px 0 24px; }
.feat { padding: 20px; border-radius: 22px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px); animation: rise .6s both; }
.feat b { display: block; font-size: 19px; margin: 6px 0 4px; }
.feat span { color: var(--muted); }
.feat .e { font-size: 30px; filter: drop-shadow(0 0 14px rgba(255,214,107,.6)); }
.band { margin: 26px 0; padding: 26px; border-radius: 26px; text-align: center;
  background: linear-gradient(135deg, rgba(255,61,165,.22), rgba(57,214,255,.18)); border: 1px solid rgba(255,255,255,.16); }
.band h2 { margin: 0 0 8px; }
.band p { color: var(--muted); margin: 0 0 14px; }
.band .links { justify-content: center; }
.wide { width: 100%; border-radius: 26px; box-shadow: 0 24px 70px rgba(0,0,0,.45); }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes float { 50% { transform: translateY(-10px) rotate(2deg); } }
@media (max-width: 640px) {
  .p-hero { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .p-hero .links { justify-content: center; }
  .shots img { height: 380px; }
}
