/* Cantieri Animati · foglio di stile
   C4Web · 2026-11-02
   1. Font  2. Base  3. Animazioni  4. Galleria e lightbox  5. Componenti, in ordine di pagina */

/* 1. Font (self hosted, licenza SIL OFL) */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/newsreader-latin-opsz-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 800;font-display:swap;src:url('../fonts/newsreader-latin-opsz-italic.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/manrope-latin-wght-normal.woff2') format('woff2')}
@font-face{font-family:'Fragment Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/fragment-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Fragment Mono';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/fragment-mono-latin-400-italic.woff2') format('woff2')}

/* 2. Variabili e base */
:root{
  --carta:#F3F0E8;
  --inchiostro:#17221F;
  --foresta:#173F35;
  --foresta-cornice:#2B5A4D;
  --lime:#D6EF45;
  --lime-cornice:#C2DA3A;
  --corallo:#EF654D;
  --corallo-testo:#DC5D47; /* corallo per i testi su carta: contrasto 3,2:1 */
  --corallo-cornice:#DD5540;
  --blu:#3274D0;
  --blu-cornice:#285FB0;
  --azzurro:#8FB4EC;
  --bianco:#FFFFFF;
  --carta-scura:#E4DFD3;
  --font-titoli:'Newsreader',serif;
  --font-testo:'Manrope',sans-serif;
  --font-mono:'Fragment Mono',monospace;
}


html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--carta);color:var(--inchiostro);font-family:var(--font-testo)}
img{height:auto}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible{outline:3px solid var(--blu);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;background:var(--inchiostro);color:var(--carta);font-family:var(--font-mono);font-size:13px;text-transform:uppercase}
.skip:focus{top:12px;color:var(--carta)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.js-lb-img{max-width:100%;max-height:100%}
body.lb-open{overflow:hidden}

/* Header fisso */
html{scroll-padding-top:110px}
.site-header.site-header{position:sticky;top:0;z-index:60;background:var(--carta);transition:padding .25s ease,box-shadow .25s ease}
.site-header img{transition:width .25s ease,height .25s ease}
.site-header.is-scrolled{padding-top:8px;padding-bottom:8px;box-shadow:0 6px 18px rgba(23,34,31,0.08)}
.site-header.is-scrolled img{width:48px;height:48px}
.menu-btn{display:none;min-height:44px;padding:0 16px;border:1.5px solid var(--inchiostro);background:transparent;color:var(--inchiostro);font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
@media (max-width:760px){
html{scroll-padding-top:84px}
.site-header.site-header{flex-wrap:wrap}
.site-header img{width:52px;height:52px}
.menu-btn{display:inline-flex;align-items:center}
.site-nav.site-nav{display:none;flex:1 1 100%;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0 14px;font-size:15px}
.site-nav a{min-height:44px;display:inline-flex;align-items:center}
.site-header.menu-open .site-nav{display:flex}
}

/* Banner cookie */
.cb{box-sizing:border-box;position:fixed;right:clamp(12px,3vw,32px);bottom:clamp(12px,3vw,32px);z-index:90;width:min(460px,calc(100% - 24px));padding:28px 26px 24px;background:var(--inchiostro);color:var(--carta);box-shadow:8px 10px 0 rgba(23,34,31,0.18)}
.cb a{color:var(--lime)}
.cb-label{margin:0 0 10px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--lime)}
.cb-text{margin:0 28px 20px 0;font-size:15px;line-height:1.55}
.cb-actions{display:flex;gap:10px;flex-wrap:wrap}
.cb-btn{flex:1 1 140px;min-height:46px;padding:0 18px;font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:1.5px solid var(--carta)}
.cb-yes{background:var(--lime);border-color:var(--lime);color:var(--inchiostro)}
.cb-no{background:transparent;color:var(--carta)}
.cb-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;background:transparent;color:var(--carta);font-size:18px;cursor:pointer}

/* 3. Animazioni */
:where(a){color:var(--inchiostro)}
:where(a:hover){color:var(--foresta)}
a{transition:opacity .2s ease}
a:hover{opacity:.75}

.ca-hl{background-image:linear-gradient(var(--lime),var(--lime));background-repeat:no-repeat;background-size:100% 100%}
@keyframes ca-hl{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes ca-up{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes ca-rise{from{opacity:0;transform:translateY(55%)}to{opacity:1;transform:none}}
@keyframes ca-sway{0%,100%{transform:rotate(-0.8deg)}50%{transform:rotate(0.8deg)}}
@keyframes ca-bob{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-7px) rotate(var(--r,0deg))}}
@keyframes ca-show{to{opacity:1;transform:none}}
@keyframes ca-marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:no-preference){
.ca-sway{transform-origin:50% 92%;animation:ca-sway 7s ease-in-out infinite}
.ca-bob{animation:ca-bob 4.5s ease-in-out infinite}
.ca-bob2{animation:ca-bob 5.5s ease-in-out -2s infinite}
.ca-track{animation:ca-marquee 45s linear infinite}
@media (scripting: enabled){
.ca-hl{background-size:0% 100%;transition:background-size 1s cubic-bezier(.65,0,.25,1) .25s}
.ca-hl.in{background-size:100% 100%}
.ca-up{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease}
.ca-up.in{opacity:1;transform:none}
.ca-rise{opacity:0;transform:translateY(55%);transition:transform 1.3s cubic-bezier(.2,.7,.2,1),opacity .7s ease}
.ca-rise.in{opacity:1;transform:none}
html:not(.ca-js) .ca-up,html:not(.ca-js) .ca-rise{animation:ca-show 0s 3s forwards}
}
}

/* 4. Galleria a righe pari */
.ca-gd,.ca-gm{display:flex;flex-direction:column;gap:clamp(6px,0.8vw,10px)}
.ca-gm{display:none}
.ca-grow{display:flex;gap:clamp(6px,0.8vw,10px)}
@media (max-width:640px){.ca-gd{display:none}.ca-gm{display:flex}}

/* 5. Componenti, in ordine di pagina */

/* ---------- Contenitore della pagina ---------- */
.pagina__blocco {
  font-family: var(--font-testo);
  color: var(--inchiostro);
  background: var(--carta);
  font-size: 17px;
  line-height: 1.6;
  overflow-x: clip;
}

/* ---------- Header ---------- */
.header {
  max-width: 1440px;
  margin: 0 auto;
  padding: 18px clamp(20px, 4vw, 40px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(23,34,31,0.2);
}
.header__img {
  width: 68px;
  height: 68px;
  display: block;
}
.header__link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.header__testo {
  font-size: 20px;
  line-height: 0.85;
  font-weight: 600;
  letter-spacing: -0.05em;
}

/* ---------- Menu principale ---------- */
.menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 32px;
  font-family: var(--font-mono);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.menu__bottone {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  background: var(--inchiostro);
  color: var(--carta);
  text-decoration: none;
}
.menu__link {
  text-decoration: none;
}

/* ---------- Briciole di pane ---------- */
.briciole {
  max-width: 1440px;
  margin: 0 auto;
  padding: 20px clamp(20px, 4vw, 40px) 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ---------- Home · apertura ---------- */
.hero {
  max-width: 1440px;
  margin: 0 auto;
  padding: 72px clamp(20px, 4vw, 40px) 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 48px;
}
.hero__blocco {
  flex: 1 1 600px;
  min-width: 0;
}
.hero__decoro {
  position: absolute;
  inset: -1% 2% 9% 6%;
  background: var(--lime);
  border-radius: 50% 46% 48% 52% / 44% 54% 46% 56%;
}
.hero__enfasi {
  color: var(--corallo-testo);
}
.hero__etichetta {
  position: absolute;
  left: 0;
  bottom: 16%;
  margin: 0;
  padding: 18px 13px;
  background: var(--corallo);
  color: var(--inchiostro);
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.3;
  text-transform: uppercase;
  --r: -6deg;
  transform: rotate(-6deg);
  box-shadow: 4px 6px 0 rgba(23,34,31,0.15);
}
.hero__etichetta--blu {
  position: absolute;
  right: 0;
  top: 18%;
  margin: 0;
  padding: 14px 13px;
  background: var(--blu);
  color: var(--bianco);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  --r: 8deg;
  transform: rotate(8deg);
}
.hero__figura {
  flex: 1 1 440px;
  min-width: 0;
  max-width: 600px;
  margin: 0;
  position: relative;
  aspect-ratio: 600 / 590;
  top: clamp(0px, calc(100vw - 900px), 56px);
}
.hero__gruppo {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 24px;
  margin-top: 32px;
  padding: 16px 0;
  border-top: 1px solid rgba(23,34,31,0.2);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.hero__img {
  position: relative;
  display: block;
  width: 80%;
  margin: -18% auto -6%;
  height: auto;
}
.hero__link {
  font-family: var(--font-mono);
  font-size: 13px;
  text-transform: uppercase;
  border-bottom: 1px solid var(--inchiostro);
  padding-bottom: 5px;
  text-decoration: none;
}
.hero__testo {
  margin: 28px 0 34px;
  max-width: 600px;
  font-size: clamp(17px, 1.4vw, 21px);
}
.hero__titolo {
  margin: 24px 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(48px, 6vw, 90px);
  line-height: 0.93;
  letter-spacing: -0.045em;
  max-width: 680px;
}

/* ---------- Home · chi siamo ---------- */
.chi-siamo {
  margin-top: 96px;
  background: var(--blu);
  color: var(--bianco);
  position: relative;
  overflow: hidden;
}
.chi-siamo__blocco {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 100px clamp(20px, 4vw, 40px) 90px;
  box-sizing: border-box;
}
.chi-siamo__decoro {
  position: absolute;
  right: -110px;
  bottom: -120px;
  width: 300px;
  height: 300px;
  border: 3px solid var(--lime);
  border-radius: 50% 45% 55% 40%;
  opacity: 0.75;
}
.chi-siamo__decoro--corallo {
  position: absolute;
  left: 3%;
  bottom: 70px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--corallo);
}
.chi-siamo__etichetta {
  margin: 0 0 48px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.45);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.chi-siamo__figura {
  margin: clamp(-33px, calc(867px - 100vw), 32px) 0 -90px;
}
.chi-siamo__gruppo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 40px 6vw;
}
.chi-siamo__img {
  display: block;
  width: 100%;
  max-width: 1240px;
  height: auto;
  margin: 0 auto;
  object-fit: cover;
  object-position: 50% 100%;
}
.chi-siamo__testo {
  margin: 0;
  flex: 1 1 360px;
  max-width: 500px;
  padding-top: 14px;
  font-size: 19px;
}
.chi-siamo__titolo {
  margin: 0;
  flex: 1 1 600px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(50px, 6.4vw, 104px);
  line-height: 0.92;
  letter-spacing: -0.045em;
}

/* ---------- Home · i nostri cantieri ---------- */
.cantieri {
  max-width: 1440px;
  margin: 0 auto;
  padding: 120px clamp(20px, 4vw, 40px) 0;
}
.cantieri__etichetta {
  margin: 0 0 56px;
  padding-top: 12px;
  border-top: 1px solid rgba(23,34,31,0.2);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  letter-spacing: 0.12em;
}
.cantieri__gruppo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 48px;
  margin-bottom: 56px;
}
.cantieri__gruppo-2 {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.cantieri__titolo {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(46px, 5.4vw, 86px);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

/* ---------- Home · card dei cantieri ---------- */
.cantieri-card {
  display: flex;
  flex-wrap: wrap;
  background: var(--foresta);
  color: var(--carta);
}
.cantieri-card--blu {
  display: flex;
  flex-wrap: wrap;
  background: var(--blu);
  color: var(--bianco);
}
.cantieri-card--corallo {
  display: flex;
  flex-wrap: wrap-reverse;
  background: var(--corallo);
  color: var(--inchiostro);
}
.cantieri-card--lime {
  display: flex;
  flex-wrap: wrap-reverse;
  background: var(--lime);
  color: var(--inchiostro);
}
.cantieri-card__blocco {
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,0.45);
}
.cantieri-card__blocco--blu-cornice {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(280px, 50vw, 480px);
  border: clamp(14px, 3vw, 32px) solid var(--blu-cornice);
  box-sizing: border-box;
  background: var(--blu-cornice);
  position: relative;
  overflow: hidden;
}
.cantieri-card__blocco--corallo-cornice {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(280px, 50vw, 480px);
  border: clamp(14px, 3vw, 32px) solid var(--corallo-cornice);
  box-sizing: border-box;
  background: var(--corallo-cornice);
  position: relative;
  overflow: hidden;
}
.cantieri-card__blocco--foresta-cornice {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(280px, 50vw, 480px);
  border: clamp(14px, 3vw, 32px) solid var(--foresta-cornice);
  box-sizing: border-box;
  background: var(--foresta-cornice);
  position: relative;
  overflow: hidden;
}
.cantieri-card__blocco--lime-cornice {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(280px, 50vw, 480px);
  border: clamp(14px, 3vw, 32px) solid var(--lime-cornice);
  box-sizing: border-box;
  background: var(--lime-cornice);
  position: relative;
  overflow: hidden;
}
.cantieri-card__blocco-2 {
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid rgba(23,34,31,0.4);
}
.cantieri-card__etichetta {
  margin: 0 0 10px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.85;
}
.cantieri-card__etichetta-2 {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--inchiostro);
}
.cantieri-card__etichetta-3 {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--lime);
}
.cantieri-card__etichetta-4 {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--bianco);
}
.cantieri-card__gruppo {
  flex: 1 1 460px;
  min-width: 0;
  padding: clamp(24px, 5vw, 48px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: clamp(0px, calc((100vw - 900px) * 9), 480px);
}
.cantieri-card__link {
  color: var(--inchiostro);
  border-bottom: 1px solid var(--inchiostro);
  padding-bottom: 4px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  text-decoration: none;
}
.cantieri-card__link-2 {
  color: var(--carta);
  border-bottom: 1px solid var(--carta);
  padding-bottom: 4px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  text-decoration: none;
}
.cantieri-card__link-3 {
  color: var(--bianco);
  border-bottom: 1px solid var(--bianco);
  padding-bottom: 4px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 13px;
  text-decoration: none;
}
.cantieri-card__sottotitolo {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(40px, 4vw, 66px);
  line-height: 0.95;
  letter-spacing: -0.04em;
}
.cantieri-card__testo {
  margin: 0;
  font-size: 19px;
  max-width: 480px;
}
.cantieri-card__titoletto {
  margin: 0 0 16px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(26px, 2.2vw, 34px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

/* ---------- Home · metodo ---------- */
.metodo {
  max-width: 1440px;
  margin: 0 auto;
  padding: 130px clamp(20px, 4vw, 40px) 110px;
}
.metodo__etichetta {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.metodo__griglia {
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  border-top: 1px solid rgba(23,34,31,0.2);
  border-left: 1px solid rgba(23,34,31,0.2);
}
.metodo__gruppo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 32px 8vw;
}
.metodo__gruppo-2 {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px 24px;
}
.metodo__gruppo-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.metodo__testo {
  padding: 6px 14px;
  border: 1px solid var(--inchiostro);
  border-radius: 999px;
  font-size: 14px;
}
.metodo__testo-2 {
  margin: 0;
  flex: 1 1 320px;
  max-width: 440px;
  font-size: 20px;
}
.metodo__titolo {
  margin: 0;
  flex: 1 1 640px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(46px, 5.6vw, 90px);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

/* ---------- Home · fasi del metodo ---------- */
.metodo-card {
  padding: 24px;
  border-right: 1px solid rgba(23,34,31,0.2);
  border-bottom: 1px solid rgba(23,34,31,0.2);
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-align: center;
  align-items: center;
}
.metodo-card__blocco {
  position: relative;
  width: 170px;
  height: 130px;
}
.metodo-card__decoro {
  position: absolute;
  left: 50px;
  top: 30px;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: var(--lime);
}
.metodo-card__decoro--azzurro {
  position: absolute;
  left: 22px;
  top: 6px;
  width: 104px;
  height: 100px;
  background: var(--azzurro);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.metodo-card__decoro--corallo {
  position: absolute;
  left: 22px;
  top: 8px;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: var(--corallo);
}
.metodo-card__decoro--lime {
  position: absolute;
  left: 22px;
  top: 18px;
  width: 86px;
  height: 92px;
  background: var(--lime);
}
.metodo-card__gruppo {
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.metodo-card__img {
  position: absolute;
  left: 8px;
  top: 6px;
  width: 150px;
}
.metodo-card__img-2 {
  position: absolute;
  left: 18px;
  top: 26px;
  width: 150px;
}
.metodo-card__img-3 {
  position: absolute;
  left: 74px;
  top: 8px;
  height: 118px;
  width: auto;
}
.metodo-card__sottotitolo {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.05;
}
.metodo-card__svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 170px;
  height: 130px;
}

/* ---------- Home · citazione ---------- */
.citazione {
  background: var(--foresta);
  color: var(--carta);
}
.citazione__blocco {
  flex: 1 1 480px;
  min-width: 0;
}
.citazione__blockquote {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(34px, 3.8vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.citazione__decoro {
  background: var(--lime);
  color: var(--inchiostro);
  padding: 18px 0;
  display: flex;
  gap: 32px;
  white-space: nowrap;
  overflow: hidden;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  transform: rotate(-1.2deg) scale(1.02);
}
.citazione__etichetta {
  margin: 0 0 24px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--lime);
}
.citazione__figura {
  flex: 1 1 560px;
  min-width: 0;
  margin: 0;
}
.citazione__gruppo {
  display: flex;
  gap: 32px;
  padding-right: 32px;
  flex: none;
}
.citazione__gruppo-2 {
  display: flex;
  flex: none;
}
.citazione__gruppo-3 {
  max-width: 1440px;
  margin: 0 auto;
  padding: 110px clamp(20px, 4vw, 40px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 48px 72px;
}
.citazione__img {
  width: 100%;
  display: block;
}

/* ---------- Home · attrezzi del mestiere ---------- */
.attrezzi__figcaption {
  padding-top: 16px;
  border-top: 1px solid var(--inchiostro);
  margin-top: 16px;
}
.attrezzi__griglia {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(max(140px, 22%), 1fr));
  gap: 40px 20px;
}
.attrezzi__img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}
.attrezzi__sottotitolo {
  margin: 0 0 4px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: 32px;
  line-height: 1;
}
.attrezzi__testo {
  white-space: nowrap;
}
.attrezzi__titolo {
  margin: 0 0 56px;
  max-width: 1000px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(46px, 5.4vw, 86px);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

/* ---------- Home · esperienze e collaborazioni ---------- */
.esperienze {
  margin-top: 130px;
  background: var(--lime);
}
.esperienze__blocco {
  border-top: 1.5px solid var(--inchiostro);
  padding-top: 18px;
}
.esperienze__blocco-2 {
  max-width: 1440px;
  margin: 0 auto;
  padding: 110px clamp(20px, 4vw, 40px);
}
.esperienze__etichetta {
  margin: 0 0 32px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.esperienze__griglia {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 40px 32px;
}
.esperienze__sottotitolo {
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.esperienze__testo {
  margin: 0;
  font-family: var(--font-titoli);
  font-size: 22px;
  line-height: 1.3;
}
.esperienze__titolo {
  margin: 0 0 64px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(46px, 5.4vw, 86px);
  line-height: 0.95;
  letter-spacing: -0.045em;
}

/* ---------- Home · persone ---------- */
.persone {
  max-width: 1440px;
  margin: 0 auto;
  padding: 120px clamp(20px, 4vw, 40px) 120px;
}
.persone__blocco {
  text-align: center;
}
.persone__blocco--azzurro {
  width: min(100%, 260px);
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--azzurro);
}
.persone__blocco--corallo {
  width: min(100%, 260px);
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--corallo);
}
.persone__blocco--lime {
  width: min(100%, 260px);
  margin: 0 auto;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--lime);
}
.persone__griglia {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(max(150px, 30%), 1fr));
  gap: 56px 32px;
}
.persone__gruppo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 32px 8vw;
  margin-bottom: 72px;
}
.persone__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.persone__sottotitolo {
  margin: 22px 0 6px;
  font-family: var(--font-titoli);
  font-weight: 500;
  font-size: 28px;
  line-height: 1.05;
}
.persone__testo {
  margin: 0;
  flex: 1 1 360px;
  max-width: 520px;
  font-size: 18px;
}
.persone__titolo {
  margin: 0;
  flex: 1 1 560px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(42px, 4.8vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.04em;
}

/* ---------- Pagine cantiere · apertura ---------- */
.ambito-hero {
  max-width: 1440px;
  margin: 24px auto 0;
  padding: 0 clamp(20px, 4vw, 40px);
}
.ambito-hero__blocco {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(300px, 46vw, 560px);
  border: clamp(14px, 3vw, 32px) solid var(--lime-cornice);
  box-sizing: border-box;
  background: var(--lime-cornice);
  position: relative;
  overflow: hidden;
}
.ambito-hero__blocco--blu-cornice {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(300px, 46vw, 560px);
  border: clamp(14px, 3vw, 32px) solid var(--blu-cornice);
  box-sizing: border-box;
  background: var(--blu-cornice);
  position: relative;
  overflow: hidden;
}
.ambito-hero__blocco--corallo-cornice {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(300px, 46vw, 560px);
  border: clamp(14px, 3vw, 32px) solid var(--corallo-cornice);
  box-sizing: border-box;
  background: var(--corallo-cornice);
  position: relative;
  overflow: hidden;
}
.ambito-hero__blocco--foresta-cornice {
  flex: 1 1 560px;
  min-width: 0;
  min-height: clamp(300px, 46vw, 560px);
  border: clamp(14px, 3vw, 32px) solid var(--foresta-cornice);
  box-sizing: border-box;
  background: var(--foresta-cornice);
  position: relative;
  overflow: hidden;
}
.ambito-hero__enfasi {
  color: var(--foresta);
}
.ambito-hero__etichetta {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--inchiostro);
}
.ambito-hero__etichetta-2 {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lime);
}
.ambito-hero__etichetta-3 {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--bianco);
}
.ambito-hero__gruppo {
  flex: 1 1 460px;
  min-width: 0;
  padding: clamp(28px, 5vw, 56px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 22px;
  justify-content: center;
}
.ambito-hero__gruppo--corallo {
  display: flex;
  flex-wrap: wrap;
  background: var(--corallo);
  color: var(--inchiostro);
}
.ambito-hero__gruppo--lime {
  display: flex;
  flex-wrap: wrap;
  background: var(--lime);
  color: var(--inchiostro);
}
.ambito-hero__testo {
  margin: 0;
  font-size: clamp(18px, 1.6vw, 22px);
  max-width: 460px;
}
.ambito-hero__titolo {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(46px, 6vw, 96px);
  line-height: 0.92;
  letter-spacing: -0.045em;
}

/* ---------- Pagine cantiere · il progetto ---------- */
.cantiere {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(72px, 9vw, 110px) clamp(20px, 4vw, 40px) 0;
}
.cantiere__etichetta {
  margin: 0 0 48px;
  padding-top: 12px;
  border-top: 1px solid rgba(23,34,31,0.2);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.cantiere__gruppo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 32px 8vw;
}
.cantiere__gruppo-2 {
  flex: 1 1 380px;
  min-width: 0;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  font-size: 18px;
}
.cantiere__testo {
  margin: 0;
}
.cantiere__titolo {
  margin: 0;
  flex: 1 1 520px;
  min-width: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(40px, 4.8vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.04em;
}
.cantiere__titolo-2 {
  margin: 0;
  flex: 1 1 520px;
  min-width: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(34px, 3.6vw, 58px);
  line-height: 0.98;
  letter-spacing: -0.04em;
}

/* ---------- Pagine cantiere · galleria ---------- */
.galleria__etichetta {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.galleria__etichetta-2 {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  opacity: 0.7;
}
.galleria__foto {
  flex: var(--peso) 1 0px;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  margin: 0;
  background: var(--carta-scura);
  cursor: zoom-in;
  overflow: hidden;
}
.galleria__gruppo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 24px;
  margin: 0 0 28px;
}
.galleria__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.galleria__riga {
  display: flex;
  gap: clamp(6px, 0.8vw, 10px);
  aspect-ratio: var(--rapporto) / 1;
}

/* ---------- Pagine cantiere · gli altri cantieri ---------- */
.altri-cantieri {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(90px, 10vw, 130px) clamp(20px, 4vw, 40px);
}
.altri-cantieri__bottone {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 260px;
  padding: 32px;
  box-sizing: border-box;
  background: var(--foresta);
  color: var(--carta);
  text-decoration: none;
}
.altri-cantieri__bottone--blu {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 260px;
  padding: 32px;
  box-sizing: border-box;
  background: var(--blu);
  color: var(--bianco);
  text-decoration: none;
}
.altri-cantieri__bottone--corallo {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 260px;
  padding: 32px;
  box-sizing: border-box;
  background: var(--corallo);
  color: var(--inchiostro);
  text-decoration: none;
}
.altri-cantieri__bottone--lime {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 260px;
  padding: 32px;
  box-sizing: border-box;
  background: var(--lime);
  color: var(--inchiostro);
  text-decoration: none;
}
.altri-cantieri__etichetta {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.altri-cantieri__etichetta-2 {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
  border-bottom: 1px solid var(--inchiostro);
  align-self: flex-start;
  padding-bottom: 3px;
}
.altri-cantieri__etichetta-3 {
  margin: 0 0 40px;
  padding-top: 12px;
  border-top: 1px solid rgba(23,34,31,0.2);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 400;
}
.altri-cantieri__etichetta-4 {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
  border-bottom: 1px solid var(--carta);
  align-self: flex-start;
  padding-bottom: 3px;
}
.altri-cantieri__etichetta-5 {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
  border-bottom: 1px solid var(--bianco);
  align-self: flex-start;
  padding-bottom: 3px;
}
.altri-cantieri__griglia {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}
.altri-cantieri__testo {
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -0.03em;
}
.altri-cantieri__testo-2 {
  margin-top: auto;
  font-size: 15px;
}

/* ---------- Contatti · apertura ---------- */
.contatti-hero {
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px clamp(20px, 4vw, 40px) 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 48px;
}
.contatti-hero__blocco {
  flex: 1 1 560px;
  min-width: 0;
}
.contatti-hero__decoro {
  position: absolute;
  inset: 14% 4% 12% 4%;
  background: var(--lime);
  border-radius: 50% 46% 48% 52% / 44% 54% 46% 56%;
}
.contatti-hero__etichetta {
  margin: 0 0 24px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.contatti-hero__figura {
  flex: 1 1 400px;
  min-width: 0;
  max-width: 560px;
  margin: 0;
  position: relative;
}
.contatti-hero__img {
  position: relative;
  display: block;
  width: 88%;
  height: auto;
  margin: -6% auto -4%;
}
.contatti-hero__testo {
  margin: 32px 0 0;
  max-width: 560px;
  font-size: clamp(17px, 1.4vw, 21px);
}
.contatti-hero__titolo {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(50px, 6.6vw, 104px);
  line-height: 0.92;
  letter-spacing: -0.045em;
}

/* ---------- Contatti · schede ---------- */
.contatti-schede {
  max-width: 1440px;
  margin: 0 auto;
  padding: 100px clamp(20px, 4vw, 40px) 0;
}
.contatti-schede__etichetta {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.contatti-schede__gruppo {
  padding: 32px;
  background: var(--foresta);
  color: var(--carta);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 220px;
  box-sizing: border-box;
}
.contatti-schede__gruppo--blu {
  padding: 32px;
  background: var(--blu);
  color: var(--bianco);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 220px;
  box-sizing: border-box;
}
.contatti-schede__gruppo--lime {
  padding: 32px;
  background: var(--lime);
  color: var(--inchiostro);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 220px;
  box-sizing: border-box;
}
.contatti-schede__link {
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(20px, 1.7vw, 25px);
  line-height: 1.15;
  color: var(--carta);
  text-decoration: none;
  overflow-wrap: anywhere;
}
.contatti-schede__link-2 {
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.1;
  color: var(--inchiostro);
  text-decoration: none;
  overflow-wrap: anywhere;
}
.contatti-schede__testo {
  margin: auto 0 0;
  font-size: 15px;
}
.contatti-schede__testo-2 {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.1;
}

/* ---------- Contatti · dati societari ---------- */
.dati-societari {
  max-width: 1440px;
  margin: 0 auto;
  padding: 110px clamp(20px, 4vw, 40px) 130px;
}
.dati-societari__dati {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 28px 32px;
}
.dati-societari__dato-nome {
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
.dati-societari__dato-valore {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.25;
}
.dati-societari__dato-valore-2 {
  margin: 0;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

/* ---------- Privacy, cookie e mappa del sito ---------- */
.documento {
  max-width: 1440px;
  margin: 0 auto;
  padding: 56px clamp(20px, 4vw, 40px) 130px;
}
.documento__blocco {
  max-width: 820px;
  font-size: 17px;
  line-height: 1.7;
}
.documento__etichetta {
  margin: 0 0 20px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.documento__etichetta-2 {
  margin: 40px 0 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.documento__lista {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 19px;
}
.documento__lista-2 {
  margin: 0 0 16px;
  padding-left: 22px;
}
.documento__sottotitolo {
  margin: 32px 0 10px;
  font-size: 18px;
  font-weight: 600;
}
.documento__tabella {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  margin: 8px 0 24px;
}
.documento__tabella-cella {
  padding: 12px 12px 12px 0;
  border-bottom: 1px solid rgba(23,34,31,0.2);
  vertical-align: top;
}
.documento__tabella-intestazione {
  text-align: left;
  padding: 10px 12px 10px 0;
  border-bottom: 1.5px solid var(--inchiostro);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 11px;
}
.documento__testo {
  margin: 0 0 16px;
}
.documento__testo-2 {
  margin: 0;
  font-size: clamp(18px, 1.5vw, 21px);
}
.documento__titolo {
  margin: 56px 0 16px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(28px, 2.6vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.documento__titolo-2 {
  margin: 0 0 28px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(46px, 6vw, 88px);
  line-height: 0.95;
  letter-spacing: -0.045em;
}
.documento__voce {
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid rgba(23,34,31,0.2);
}

/* ---------- Fascia contatti ---------- */
.cta-contatti {
  background: var(--blu);
  color: var(--bianco);
  position: relative;
  overflow: hidden;
}
.cta-contatti__blocco {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 140px clamp(20px, 4vw, 40px) 40px;
  text-align: center;
}
.cta-contatti__decoro {
  position: absolute;
  right: -60px;
  top: 12%;
  width: 240px;
  height: 240px;
  border: 3px solid var(--lime);
  border-radius: 50% 45% 55% 40%;
  opacity: 0.8;
}
.cta-contatti__decoro--corallo {
  position: absolute;
  right: 26%;
  bottom: 30%;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--corallo);
}
.cta-contatti__decoro--lime {
  position: absolute;
  left: 10%;
  top: 14%;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--lime);
}
.cta-contatti__etichetta {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.cta-contatti__gruppo {
  margin-top: 120px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.5);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 24px;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cta-contatti__link {
  color: var(--bianco);
}
.cta-contatti__link-2 {
  display: inline-block;
  color: var(--bianco);
  border-bottom: 2px solid var(--bianco);
  padding-bottom: 6px;
  font-family: var(--font-mono);
  font-size: clamp(14px, 1.5vw, 22px);
  text-decoration: none;
}
.cta-contatti__titolo {
  margin: 24px auto 40px;
  max-width: 1100px;
  font-family: var(--font-titoli);
  font-weight: 400;
  font-size: clamp(56px, 7vw, 112px);
  line-height: 0.92;
  letter-spacing: -0.045em;
}

/* ---------- Footer ---------- */
.footer {
  background: var(--inchiostro);
  color: var(--carta);
}
.footer__blocco {
  max-width: 1440px;
  margin: 0 auto;
  padding: 28px clamp(20px, 4vw, 40px);
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.7;
  text-transform: uppercase;
}
.footer__link {
  color: var(--carta);
}
.footer__testo {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(243,240,232,0.22);
}
.footer__testo-2 {
  margin: 0;
  padding-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
}

/* ---------- Lightbox della galleria ---------- */
.lightbox__chiudi {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--lime);
  color: var(--inchiostro);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.lightbox__contatore {
  position: absolute;
  bottom: 22px;
  left: 0;
  right: 0;
  margin: 0;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.lightbox__gruppo {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: rgba(23,34,31,0.95);
  color: var(--carta);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px clamp(12px, 6vw, 96px) 72px;
  box-sizing: border-box;
}
.lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.lightbox__precedente {
  position: absolute;
  left: clamp(6px, 2vw, 24px);
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border: 1.5px solid var(--carta);
  border-radius: 50%;
  background: rgba(23,34,31,0.6);
  color: var(--carta);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.lightbox__successiva {
  position: absolute;
  right: clamp(6px, 2vw, 24px);
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border: 1.5px solid var(--carta);
  border-radius: 50%;
  background: rgba(23,34,31,0.6);
  color: var(--carta);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

/* ---------- Elementi comuni a più sezioni ---------- */
.enfasi {
  color: var(--lime);
}
.etichetta {
  margin: 0 0 56px;
  padding-top: 12px;
  border-top: 1px solid rgba(23,34,31,0.2);
  font-family: var(--font-mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.testo {
  color: var(--corallo-testo);
}
.testo-2 {
  margin: 0;
  font-size: 15px;
}
