/* Palette: riusa quella già in uso (scura). Se vuoi, cambia solo i due accenti */
:root{
  --hms-bg:#0a0f16; --hms-surface:#111823; --hms-card:#141d2b;
  --hms-text:#fff; --hms-muted:#b0bac9;
  --hms-accent:#ffb84d; --hms-accent-2:#00c8ff;
}

/* Background “mesh” statico + grain (leggero) */
body.landing::before{
  content:""; position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(1200px 600px at 15% 10%, color-mix(in oklab, var(--hms-accent) 18%, transparent), transparent 40%),
    radial-gradient(900px 500px at 85% 20%, color-mix(in oklab, var(--hms-accent-2) 20%, transparent), transparent 40%);
  background-attachment:fixed; background-size:cover;
}
body.landing::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:url('/images/grain.png'); background-size:200px 200px;
  opacity:.25; mix-blend-mode:soft-light;
}

/* Tipografia/containers */
body.landing{ background:var(--hms-bg); color:var(--hms-text); }
.landing main, .landing .container, .landing .wrap{ min-width: 99vw; margin-inline:auto; }
.landing p{ color:var(--hms-muted); }

/* Header glass + shrink */
.landing, .site-header, .landing nav[role="navigation"]{
  position:sticky; top:0; z-index:999;
  background: color-mix(in oklab, var(--hms-surface) 80%, transparent);
  backdrop-filter: blur(14px) saturate(160%);
  border-bottom:0px solid color-mix(in oklab, var(--hms-accent) 20%, transparent);
}

/* Card/box */
.landing section article, .landing .card, .landing .box, .landing .panel, .landing [class*="tile"]{
  background: color-mix(in oklab, var(--hms-card) 82%, transparent);
  backdrop-filter: blur(10px) saturate(130%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  transition:transform .3s ease, box-shadow .3s ease; will-change:transform;
}
.landing .card:hover, .landing .box:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.45); }

/* CTA */
.landing, .landing a.button, {
  border-radius:999px; border:0;
  background:linear-gradient(135deg, var(--hms-accent), var(--hms-accent-2));
  color:#fff!important; font-weight:700; padding:.85rem 1.2rem;
  box-shadow:0 10px 20px color-mix(in oklab, var(--hms-accent) 35%, transparent);
}

/* Sezioni ariose + reveal */
.landing section{ padding-block:clamp(40px,6vw,96px); position:relative; overflow:clip; }
.landing .reveal{ opacity:0; transform:translateY(24px); }
.landing .reveal.is-inview{ opacity:1; transform:none; transition:opacity .5s ease, transform .5s ease; }

/* Immagini */
.landing img{ display:block; max-width:100%; border-radius:12px; }
.horizontal-slider {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  cursor: grab;
}

.horizontal-slider.dragging {
  cursor: grabbing;
  user-select: none;
}
.modal-body p { color:#333;}