:root{
  --inchiostro:#1B1E1F;
  --grafite:#2E3335;
  --oro:#B8944D;
  --oro-chiaro:#D8BC7E;
  --crema:#F2EDE3;
  --crema-ombra:#DED6C6;

  --display:'Playfair Display',Georgia,serif;
  --testo:'Archivo',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;

  --gutter:clamp(20px,5vw,64px);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--crema);color:var(--inchiostro);
  font-family:var(--testo);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}

/* ---------- etichette bilingui ---------- */
.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--oro);display:flex;align-items:center;gap:12px;margin:0 0 20px;
}
.eyebrow::after{content:"";flex:1;height:1px;background:currentColor;opacity:.35}
.eyebrow .en{color:inherit;opacity:.55}

h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0}

.r{color:var(--oro)}

/* ---------- testata ---------- */
header{
  position:sticky;top:0;z-index:50;background:rgba(27,30,31,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid rgba(184,148,77,.28);
}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.marchio{display:flex;align-items:center;gap:13px;text-decoration:none}
.marchio img{height:38px;width:38px;display:block}
.marchio .nome{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:.3em;color:var(--crema);line-height:1}
@media(max-width:520px){.marchio img{height:32px;width:32px}.marchio .nome{font-size:16px;letter-spacing:.24em}}
nav{display:flex;gap:26px}
nav a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--crema-ombra);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;
}
nav a:hover,nav a:focus-visible{color:var(--oro-chiaro);border-bottom-color:var(--oro)}
@media(max-width:720px){nav{display:none}}

/* ---------- apertura ---------- */
.apertura{background:var(--inchiostro);color:var(--crema);padding:clamp(72px,13vw,150px) 0 clamp(56px,9vw,104px);position:relative;overflow:hidden}
.apertura::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(242,237,227,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(242,237,227,.045) 1px,transparent 1px);
  background-size:56px 56px;
}
.apertura .wrap{position:relative}
.apertura h1{
  font-size:clamp(38px,7.2vw,80px);color:var(--crema);max-width:16ch;
}
.apertura h1 em{font-style:normal;color:var(--oro-chiaro)}
.sommario{max-width:52ch;margin-top:28px;color:var(--crema-ombra);font-size:clamp(17px,2.1vw,20px)}
.riga-oro{width:84px;height:2px;background:var(--oro);margin:36px 0 0}

/* ---------- fascia dati ---------- */
.fascia{border-top:1px solid rgba(242,237,227,.14);margin-top:56px;padding-top:26px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fascia dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);margin-bottom:8px}
.fascia dd{margin:0;font-size:15.5px;color:var(--crema-ombra);line-height:1.5}
@media(max-width:720px){.fascia{grid-template-columns:1fr;gap:20px}}

/* ---------- sezioni ---------- */
section{padding:clamp(60px,9vw,110px) 0}
.titolo-sezione{font-size:clamp(27px,4.2vw,42px);max-width:20ch}
.introduzione{max-width:60ch;margin-top:22px;font-size:18px}

/* ---------- schede divisioni (cartiglio) ---------- */
.divisioni{display:grid;gap:34px;margin-top:52px}
.scheda{
  background:#fff;border:1px solid var(--crema-ombra);
  box-shadow:0 1px 0 rgba(27,30,31,.04);
  display:grid;grid-template-columns:200px 1fr;
}
@media(max-width:820px){.scheda{grid-template-columns:1fr}}
.cartiglio{
  background:var(--inchiostro);color:var(--crema);padding:26px 22px;
  display:flex;flex-direction:column;justify-content:space-between;gap:22px;
}
.sigla{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--oro)}
.cartiglio h3{font-size:24px;color:var(--crema);margin-top:10px}
.cartiglio .en{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--crema-ombra);opacity:.7;margin-top:8px;display:block}
.referente{border-top:1px solid rgba(184,148,77,.4);padding-top:14px}
.referente span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);margin-bottom:6px}
.referente strong{font-family:var(--display);font-weight:600;font-size:16px;color:var(--crema)}
.referente em{display:block;font-style:normal;font-size:13.5px;color:var(--crema-ombra);margin-top:2px}
.corpo{padding:30px 30px 32px}
.corpo>p{margin:0 0 22px;max-width:56ch}
.voci{list-style:none;margin:0;padding:0;display:grid;gap:0}
.voci li{display:flex;gap:16px;padding:13px 0;border-top:1px solid var(--crema-ombra)}
.voci li:last-child{border-bottom:1px solid var(--crema-ombra)}
.voci .cod{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--oro);padding-top:4px;flex:0 0 42px}
.voci .desc{font-size:16px;line-height:1.5}
.voci .desc b{font-family:var(--display);font-weight:600;display:block;font-size:16.5px;margin-bottom:2px}
.voci .desc span{color:#5A5F60;font-size:15px}

/* ---------- soci fondatori ---------- */
.soci{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:48px}
@media(max-width:760px){.soci{grid-template-columns:1fr}}
.socio{background:#fff;border:1px solid var(--crema-ombra)}
.ritratto{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--crema-ombra)}
.ritratto img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%) contrast(1.04);transition:filter .5s ease}
.socio:hover .ritratto img{filter:grayscale(0)}
.ritratto .sigla-foto{
  position:absolute;left:0;bottom:0;background:var(--inchiostro);color:var(--oro);
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;padding:7px 12px;
}
.socio .dati{padding:24px 26px 28px}
.socio h3{font-size:23px;margin-bottom:6px}
.socio .ruolo{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);margin:0 0 16px}
.socio p.bio{margin:0;font-size:16px;color:#43484A;max-width:44ch}
@media(prefers-reduced-motion:reduce){.ritratto img{transition:none}}

.metodo{background:var(--inchiostro);color:var(--crema)}
.metodo .titolo-sezione{color:var(--crema)}
.passi{counter-reset:p;margin-top:48px;display:grid;gap:0}
.passo{
  counter-increment:p;display:grid;grid-template-columns:64px 1fr;gap:22px;
  padding:26px 0;border-top:1px solid rgba(242,237,227,.16);
}
.passo:last-child{border-bottom:1px solid rgba(242,237,227,.16)}
.passo::before{
  content:counter(p,decimal-leading-zero);
  font-family:var(--mono);font-size:13px;color:var(--oro);padding-top:5px;letter-spacing:.1em;
}
.passo h3{font-size:20px;color:var(--crema);margin-bottom:6px}
.passo p{margin:0;color:var(--crema-ombra);max-width:58ch;font-size:16px}

/* ---------- contatti ---------- */
.contatti{background:var(--crema)}
.blocco-contatti{
  margin-top:44px;border:1px solid var(--inchiostro);
  display:grid;grid-template-columns:1fr 1fr;
}
@media(max-width:720px){.blocco-contatti{grid-template-columns:1fr}}
.campo{padding:26px 28px;border-bottom:1px solid var(--crema-ombra)}
.campo:nth-child(odd){border-right:1px solid var(--crema-ombra)}
@media(max-width:720px){.campo:nth-child(odd){border-right:none}}
.campo span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);margin-bottom:9px}
.campo a,.campo p{font-family:var(--display);font-weight:500;font-size:17px;color:var(--inchiostro);text-decoration:none;margin:0;word-break:break-word}
.campo a:hover,.campo a:focus-visible{color:var(--oro);text-decoration:underline;text-underline-offset:3px}

footer{background:var(--inchiostro);color:var(--crema-ombra);padding:34px 0;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em}
.piede{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- comparsa ---------- */
.rivela{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.rivela.visibile{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rivela{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
a:focus-visible,button:focus-visible{outline:2px solid var(--oro);outline-offset:3px}

/* ---------- collaboratori ---------- */
.collaboratori{display:grid;grid-template-columns:minmax(260px,1fr) 1.5fr;gap:34px;margin-top:48px;align-items:start}
@media(max-width:760px){.collaboratori{grid-template-columns:1fr}}
.ritratto--sigla{display:flex;align-items:center;justify-content:center;background:var(--inchiostro)}
.ritratto--sigla .iniziali{font-family:var(--display);font-weight:600;font-size:clamp(40px,7vw,58px);letter-spacing:.1em;color:var(--oro)}
.nota-collaboratori{background:#fff;border:1px solid var(--crema-ombra);padding:28px 30px 30px}
.nota-collaboratori p{margin:0 0 16px;font-size:16.5px;color:#43484A;max-width:58ch}
.voci--chiare{margin-top:24px}
.voci--chiare li{border-bottom:1px solid var(--crema-ombra)}
.voci--chiare .cod{color:var(--oro)}
.voci--chiare .desc b{color:var(--inchiostro)}
.voci--chiare .desc span{color:#43484A}
