:root{
  /* PALETTE PRINCIPALE */
  --bg:#031223;
  --text:#f5f5f5;
  --muted:#f5f5f5;
  --brand:#0c6ec2;
  --accent:#c3a875;

  --brand-50:#0c6ec280; 
  --brand-20:#0c6ec233;
  --accent-20:#c3a87533;
  
  /* DERIVATI / SUPERFICI */
  --panel:#c3a875;
  --surface:#031223;
  --line:#0b0b0d;
  
  /* EFFETTI & RAGGI */
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.28);
}

body{
  margin:0;
  color:var(--text);
  background: #0b0b0d;
  font-family: "Share Tech", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Custom scrollbar */
::-webkit-scrollbar{
  width: 12px;
}

::-webkit-scrollbar-track{
  background: #0b0b0d;
}

::-webkit-scrollbar-thumb{
  background: #1a1a1c;
  border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover{
  background: #2a2a2c;
}

/* Firefox scrollbar */
*{
  scrollbar-width: thin;
  scrollbar-color: #1a1a1c #0b0b0d;
}

/* Sticky footer layout: body as column flex container */
html, body{ height: 100%; }
body{ min-height: 100vh; display: flex; flex-direction: column; }
main{ flex: 1 0 auto; display: block; }

/* Sections inherit page background; avoid solid black overlays */
section{
  background: transparent;
}

img{max-width:100%; height:auto; display:block}

a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}

.container{width:90%; margin-inline:auto; background: transparent !important;}

.sr-only{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0;
  overflow:hidden; clip:rect(0 0 0 0)
}

/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:1px solid transparent; border-radius:999px; padding:.75rem 1.1rem;
  font-weight:600; cursor:pointer; background:#031223; color:var(--text);
  transition:box-shadow .2s ease, filter .2s ease, transform .02s ease-in;
  text-decoration:none;
  border-color:var(--line);
}
.btn:hover{filter:brightness(1.08); text-decoration:none}
.btn:active{transform:translateY(1px)}

.btn-primary{
  background: var(--brand); color: #f5f5f5;
  border-color:rgba(12, 110, 194, 0.3);
}
.btn-primary:hover{filter:brightness(1.15)}

.btn-outline{
  background: var(--panel);
  color: var(--text);
  border-color: rgba(195, 168, 117, 0.45);
}

.btn-outline:hover{
  color: var(--text);
}

.btn-ghost{
  background:transparent; border-color:var(--line); color:var(--text)
}
.btn-large{padding:1rem 1.4rem; font-size:1.1rem}

.lead{color:var(--muted); font-size:1.1rem}

.grid-3{display:grid; gap:1.5rem; grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){ .grid-3{grid-template-columns:1fr} }

/* TEXT UTILITIES (colori rapidi) */
.text-brand{color:var(--brand) !important}
.text-accent{color:var(--accent) !important}
.text-muted{color:var(--muted) !important}
