/* ---- Reset essenziale ---- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: var(--header-h); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  font-family: var(--font);
  font-size: var(--fs-body);
  font-weight: var(--w-book);
  line-height: var(--lh-body);
  color: var(--text);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  overflow-x: clip;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
address { font-style: normal; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
::selection { background: var(--navy); color: #fff; }

/* ---- Tipografia di base ---- */
h1, h2, h3, h4 { color: var(--ink); font-weight: var(--w-book); line-height: var(--lh-snug); text-wrap: balance; }
.display { font-size: var(--fs-display); font-weight: var(--w-light); line-height: var(--lh-tight); letter-spacing: var(--tr-display); }
.h1 { font-size: var(--fs-h1); font-weight: var(--w-light); line-height: 1.06; letter-spacing: var(--tr-display); }
.h2 { font-size: var(--fs-h2); font-weight: var(--w-book); line-height: 1.12; letter-spacing: -0.01em; }
.h3 { font-size: var(--fs-h3); font-weight: var(--w-medium); line-height: 1.25; }
.lead { font-size: var(--fs-lead); line-height: 1.55; font-weight: var(--w-book); color: var(--text); max-width: 56ch; }
.body { max-width: var(--measure); }
.body > * + * { margin-top: 1em; }
.small { font-size: var(--fs-small); }
.label { font-size: var(--fs-label); font-weight: var(--w-demi); letter-spacing: .02em; color: var(--ink); }
strong, b { font-weight: var(--w-demi); color: var(--ink); }
p { text-wrap: pretty; }

/* Piede corrente spaziato: "DAAS & CHEMICALS · CHEP PROGRAM 2026" */
.runner { font-size: var(--fs-eyebrow); font-weight: var(--w-book); letter-spacing: var(--tr-runner); text-transform: uppercase; color: var(--slate-dark); }

/* ---- Layout ---- */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--section); }
.section--tint { background: var(--paper-2); }
.section--dark { background: var(--navy); color: var(--on-dark); }
.section--dark :is(h1, h2, h3, h4, strong) { color: #fff; }

/* griglia a 12 colonne, collassa a 1 sotto i 768px */
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); row-gap: var(--s-7); }
.grid > * { grid-column: 1 / -1; }
@media (min-width: 768px) {
  .span-4 { grid-column: auto / span 4; } .span-5 { grid-column: auto / span 5; } .span-6 { grid-column: auto / span 6; }
  .span-7 { grid-column: auto / span 7; } .span-8 { grid-column: auto / span 8; }
  .span-3 { grid-column: auto / span 3; } .span-9 { grid-column: auto / span 9; }
  .start-2 { grid-column-start: 2; } .start-6 { grid-column-start: 6; } .start-7 { grid-column-start: 7; } .start-8 { grid-column-start: 8; } .start-9 { grid-column-start: 9; }
}

.skip-link { position: absolute; left: var(--s-4); top: -4rem; z-index: 100; background: var(--navy); color: #fff; padding: var(--s-3) var(--s-4); }
.skip-link:focus { top: var(--s-4); }

.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---- Comparsa allo scroll (livello 3–4): solo transform + opacity ---- */
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity var(--t-slow) var(--ease-out), transform var(--t-slow) var(--ease-out); transition-delay: calc(var(--i, 0) * 80ms); }
  .js [data-reveal].is-in { opacity: 1; transform: none; }
}
