
/* Think Green snc */
:root {
  --page: #FFFFFF;
  --a-bg: #FFFFFF;
  --a-fg: #17231E;
  --a-soft: #4A5A51;
  --a-accent: #2F6B2A;
  --a-rule: #DCE3D9;
  --b-bg: #F2F5EF;
  --b-fg: #17231E;
  --b-soft: #46574E;
  --b-accent: #2F6B2A;
  --b-rule: #D3DBD0;
  --d-bg: #163328;
  --d-fg: #F1F6EF;
  --d-soft: #C3D3C7;
  --d-accent: #A9D47F;
  --d-rule: #2F4D41;
  --card: #FFFFFF;
  --ph-bg: #DDE5DA;
  --ph-line: #9FB3A2;
  --cta-bg: #1F4A2E;
  --cta-fg: #FFFFFF;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --page: #121C1A;
    --a-bg: #1A2A27;
    --a-fg: #E8EFE7;
    --a-soft: #A9BBAF;
    --a-accent: #B5D58A;
    --a-rule: #34493F;
    --b-bg: #121C1A;
    --b-fg: #DCE5DC;
    --b-soft: #9FB1A5;
    --b-accent: #9CC66E;
    --b-rule: #2B3B34;
    --card: #192522;
  --d-bg: #0E1F19;
  --d-fg: #E8EFE7;
  --d-soft: #A9BBAF;
  --d-accent: #B5D58A;
  --d-rule: #2B4238;
    --d-bg: #0E1F19;
    --d-fg: #E8EFE7;
    --d-soft: #A9BBAF;
    --d-accent: #B5D58A;
    --d-rule: #2B4238;
    --ph-bg: #1B2A26;
    --ph-line: #4A6357;
    --cta-bg: #B5D58A;
    --cta-fg: #14221E;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --page: #121C1A;
  --a-bg: #1A2A27;
  --a-fg: #E8EFE7;
  --a-soft: #A9BBAF;
  --a-accent: #B5D58A;
  --a-rule: #34493F;
  --b-bg: #121C1A;
  --b-fg: #DCE5DC;
  --b-soft: #9FB1A5;
  --b-accent: #9CC66E;
  --b-rule: #2B3B34;
  --card: #192522;
  --ph-bg: #1B2A26;
  --ph-line: #4A6357;
  --cta-bg: #B5D58A;
  --cta-fg: #14221E;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  background: var(--page);
  color: var(--b-fg);
  font-family: var(--font-body);
  font-size: 1.125rem;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
}
body::before {
  content: "";
  position: fixed;
  inset: 0 0 auto;
  height: env(safe-area-inset-top, 0px);
  background: var(--a-bg);
  z-index: 30;
}
h1, h2, h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.15; margin: 0; text-wrap: balance; }
h1 { font-size: clamp(2.1rem, 6.2vw, 3.5rem); }
h2 { font-size: clamp(1.8rem, 4.6vw, 2.6rem); }
h3 { font-size: 1.3rem; }
p { margin: 0; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--accent, var(--b-accent)); outline-offset: 3px; }
[id] { scroll-margin-top: 88px; }

.skip { position: absolute; left: 16px; top: -60px; background: var(--cta-bg); color: var(--cta-fg); padding: 10px 16px; z-index: 50; border-radius: 4px; }
.skip:focus { top: 12px; }

.wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}

/* intestazione */
.site {
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 40;
  background: var(--a-bg);
  color: var(--a-fg);
  border-bottom: 1px solid var(--a-rule);
}
.bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-block: 10px; }
.brand { order: 1; font-family: var(--font-display); font-weight: 700; font-size: 1.35rem; text-decoration: none; margin-right: auto; }
.cta {
  order: 2;
  background: var(--cta-bg);
  color: var(--cta-fg);
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  padding: 9px 16px;
  border-radius: 4px;
}
.menu-btn {
  order: 3;
  display: none;
  font: inherit;
  font-weight: 700;
  font-size: 1rem;
  color: var(--b-fg);
  background: transparent;
  border: 2px solid var(--b-fg);
  border-radius: 4px;
  padding: 7px 14px;
  cursor: pointer;
}
.js .menu-btn { display: inline-block; }
.menu { order: 4; flex-basis: 100%; }
.menu ul { list-style: none; margin: 0; padding: 0; display: grid; }
.menu a { display: block; padding: 12px 2px; text-decoration: none; font-weight: 700; border-top: 1px solid var(--b-rule); }
.menu a:hover { color: var(--b-accent); }
.tendina summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; padding: 12px 2px; font-weight: 700; border-top: 1px solid var(--b-rule); }
.tendina summary::-webkit-details-marker { display: none; }
.tendina summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
.tendina details[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.tendina details ul { list-style: none; margin: 0; padding: 0 0 6px 16px; display: grid; }
.tendina details ul a { font-weight: 400; }
.js .menu { display: none; }
.js .menu.open { display: block; }
@media (min-width: 1060px) {
  .menu-btn, .js .menu-btn { display: none; }
  .brand { margin-right: 0; }
  .menu, .js .menu { display: block; order: 2; flex: 1; flex-basis: auto; }
  .cta { order: 3; }
  .menu > ul { display: flex; justify-content: flex-end; align-items: center; gap: 6px 26px; }
  .menu > ul > li > a, .tendina summary { border-top: 0; padding: 6px 0; font-weight: 400; border-bottom: 2px solid transparent; }
  .menu > ul > li > a:hover, .tendina summary:hover { border-bottom-color: var(--b-accent); color: inherit; }
  .tendina { position: relative; }
  .tendina details ul { position: absolute; right: 0; top: calc(100% + 10px); min-width: 280px; white-space: nowrap; background: var(--b-bg); border: 1px solid var(--b-rule); border-radius: 4px; padding: 6px 16px; box-shadow: 0 10px 28px rgba(0,0,0,.14); }
  .tendina details ul a { border-top: 0; border-bottom: 1px solid var(--b-rule); padding: 11px 0; font-weight: 400; }
  .tendina details li:last-child a { border-bottom: 0; }
}

/* fasce */
.fascia { padding-block: clamp(44px, 8vw, 96px); }
.a { background: var(--a-bg); color: var(--a-fg); --accent: var(--a-accent); --soft: var(--a-soft); --rule: var(--a-rule); }
.d { background: var(--d-bg); color: var(--d-fg); --accent: var(--d-accent); --soft: var(--d-soft); --rule: var(--d-rule); }
.b { background: var(--b-bg); color: var(--b-fg); --accent: var(--b-accent); --soft: var(--b-soft); --rule: var(--b-rule); }

.blocco { display: grid; gap: clamp(24px, 4vw, 40px); align-items: center; }
@media (min-width: 860px) {
  .blocco { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 72px); }
  .blocco.inverso .foto { order: 2; }
}
.testo { display: grid; gap: 18px; min-width: 0; }
.testo p { max-width: 58ch; }
.eyebrow { font-size: 0.9375rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); }

.foto { margin: 0; min-width: 0; }
.ph {
  aspect-ratio: 4 / 3;
  max-width: 100%;
  background: var(--ph-bg);
  border: 2px dashed var(--ph-line);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 18px;
  text-align: center;
  color: var(--soft);
}
.ph span { font-weight: 700; font-size: 1.05rem; }
.ph small { font-size: 0.9375rem; max-width: 30ch; }
.a .ph { background: rgba(255,255,255,0.06); border-color: var(--a-rule); }
.foto img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; }
.foto figcaption { margin-top: 10px; font-size: 0.9375rem; color: var(--soft); }
.foto.ampia img { aspect-ratio: 16 / 9; }
.galleria { padding-top: clamp(40px, 7vw, 72px); display: grid; gap: 20px; }
.mosaico { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mosaico img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 2px; }
@media (min-width: 860px) { .mosaico { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }
.mosaico.verticale img { aspect-ratio: 3 / 4; object-position: 50% 40%; }
@media (min-width: 860px) { .mosaico.cinque-v { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 859px) { .mosaico.cinque-v img:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; } }
@media (min-width: 640px) { .mosaico.erbe { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .mosaico.erbe { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; } }
.lavori { display: grid; gap: clamp(56px, 9vw, 96px); }
.lavoro { display: grid; gap: clamp(24px, 4vw, 36px); min-width: 0; }
.lavoro .intro { margin-bottom: 0; }
.mosaico.larghe { grid-template-columns: minmax(0, 1fr); }
.mosaico.larghe img { aspect-ratio: 16 / 9; }
@media (min-width: 640px) { .mosaico.larghe { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 860px) { .mosaico.larghe.tre { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mosaico.larghe.quattroterzi img { aspect-ratio: 4 / 3; }
.mosaico.verticale.tre, .js .mosaico.verticale.tre { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lavoro .foto.ampia + .mosaico, .lavoro .mosaico + .mosaico { margin-top: calc(12px - clamp(24px, 4vw, 36px)); }
@media (min-width: 860px) { .lavoro .mosaico + .mosaico { margin-top: calc(16px - clamp(24px, 4vw, 36px)); } }
@media (min-width: 640px) and (max-width: 859px) { .mosaico.larghe.quattroterzi img:last-child { grid-column: 1 / -1; } }
@media (min-width: 640px) and (max-width: 859px) { .mosaico.larghe.cinque img:last-child { grid-column: 1 / -1; } }
@media (min-width: 860px) {
  .mosaico.larghe.cinque { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .mosaico.larghe.cinque img { grid-column: span 2; }
  .mosaico.larghe.cinque img:nth-child(n+4) { grid-column: span 3; }
}

.benefici { margin: 4px 0 0; padding-left: 1.3em; display: grid; gap: 8px; }
.benefici li::marker { color: var(--accent); }
.benefici-titolo { font-weight: 700; margin-top: 4px; }

/* hero */
.hero h1 { max-width: 17ch; }
.aree { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.chip {
  display: inline-block;
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  padding: 9px 16px;
  border: 2px solid var(--a-accent);
  border-radius: 999px;
  color: var(--a-fg);
}
.chip:hover { background: var(--a-accent); color: var(--a-bg); }


/* apertura a tutto schermo */
.hero-full { position: relative; min-height: min(88svh, 820px); display: flex; align-items: flex-end; color: #fff; overflow: hidden; background: var(--d-bg); }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.hero-full::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,25,18,0.10) 0%, rgba(10,25,18,0.35) 45%, rgba(10,25,18,0.82) 100%); }
.hero-testo { position: relative; z-index: 1; width: 100%; padding-block: clamp(48px, 9vw, 96px); display: grid; gap: 18px; }
.hero-testo .eyebrow { color: #CFE8B3; }
.hero-full h1 { font-size: clamp(2.3rem, 7vw, 4.4rem); max-width: 16ch; text-shadow: 0 2px 18px rgba(0,0,0,0.25); }
.hero-sotto { font-size: clamp(1.1rem, 2.2vw, 1.35rem); max-width: 46ch; color: #EEF3EC; }
.hero-azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.bottone { display: inline-block; text-decoration: none; font-weight: 700; font-size: 1rem; padding: 13px 22px; border-radius: 999px; }
.bottone.pieno { background: #A9D47F; color: #10261C; }
.bottone.pieno:hover { background: #BFE296; }
.bottone.vuoto { border: 2px solid rgba(255,255,255,0.85); color: #fff; }
.bottone.vuoto:hover { background: rgba(255,255,255,0.12); }

/* numeri */
.numeri { background: var(--d-bg); color: var(--d-fg); padding-block: clamp(28px, 5vw, 44px); }
.numeri-griglia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
@media (min-width: 860px) { .numeri-griglia { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.numeri-griglia div { display: grid; gap: 4px; border-left: 3px solid var(--d-accent); padding-left: 14px; min-width: 0; }
.numeri-griglia strong { font-family: var(--font-display); font-size: clamp(1.5rem, 4vw, 2.3rem); line-height: 1.1; color: var(--d-accent); }
.numeri-griglia span { font-size: 0.95rem; color: var(--d-soft); }

/* schede aree */
.aree-griglia { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.area { display: grid; grid-template-rows: auto 1fr; text-decoration: none; background: var(--card); color: var(--b-fg); border: 1px solid var(--b-rule); border-radius: 6px; overflow: hidden; transition: transform .2s, box-shadow .2s; min-width: 0; }
.area:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(20,40,30,0.12); }
.area img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.area-testo { display: grid; gap: 8px; padding: 18px 20px 20px; align-content: start; }
.area-testo strong { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.2; }
.area-testo span { color: var(--b-soft); font-size: 1.02rem; }
.area-testo .area-link { color: var(--b-accent); font-weight: 700; margin-top: 4px; }
.area-testo .area-link::after { content: " →"; }
@media (prefers-reduced-motion: reduce) { .area { transition: none; } .area:hover { transform: none; } }
.fascia h2 { font-size: clamp(1.9rem, 4.8vw, 2.9rem); }
.d .nota, .d .ph { color: var(--b-fg); }


/* scorrevoli */
.intro-riga { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.intro-riga > div:first-child { display: grid; gap: 14px; }
.frecce { display: flex; gap: 10px; }
.frecce-sotto { justify-content: flex-end; margin: -12px 0 14px; }
.freccia { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--accent); background: transparent; color: var(--accent); font-size: 1.25rem; font-weight: 700; cursor: pointer; display: grid; place-items: center; transition: background .2s, color .2s; }
.freccia:hover { background: var(--accent); color: var(--card); }
.freccia:disabled { opacity: .35; cursor: default; background: transparent; color: var(--accent); }
.binario { display: grid !important; grid-auto-flow: column; grid-template-columns: none !important; grid-auto-columns: min(84%, 380px); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; padding-bottom: 14px; scrollbar-width: thin; scrollbar-color: var(--rule) transparent; }
.binario > * { scroll-snap-align: start; }
.binario:focus-visible { outline-offset: 6px; }
@media (min-width: 1000px) { #binario-lavori { grid-auto-columns: calc((100% - 36px) / 3); } }
.lav-card { display: grid; gap: 6px; align-content: start; text-decoration: none; color: var(--a-fg); min-width: 0; }
.lav-card img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; transition: transform .35s; }
.lav-card:hover img { transform: scale(1.02); }
.lav-card strong { font-family: var(--font-display); font-size: 1.45rem; line-height: 1.2; margin-top: 10px; color: var(--accent); }
.lav-card span { color: var(--soft); }
.lav-card .lav-link { color: var(--accent); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .9rem; margin-top: 4px; }
.binario .nota { border-radius: 22px; }
#binario-novita { align-items: start; }
.area { border-radius: 22px; }
.hero-full { border-radius: 0 0 36px 36px; }
.numeri { margin-top: -36px; padding-top: calc(clamp(28px, 5vw, 44px) + 36px); }
#contatti { border-radius: 36px 36px 0 0; }

/* comparsa allo scorrimento */
.anima .rivela { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.anima .rivela.visto { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .anima .rivela { opacity: 1; transform: none; transition: none; } .binario { scroll-behavior: auto; } }

/* novità */
.intro { display: grid; gap: 14px; margin-bottom: clamp(26px, 4vw, 40px); }
.intro p { color: var(--soft); max-width: 58ch; }
.note { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); }
.nota img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; }
.nota-foto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nota-foto.verticali img { aspect-ratio: 3 / 4; }
.nota-foto img:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.nota { min-width: 0; color: var(--b-fg); background: var(--card); border: 1px solid var(--b-rule); border-radius: 4px; padding: 22px; display: grid; gap: 10px; align-content: start; }
.nota .meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: 0.9375rem; color: var(--b-soft); }
.tag { font-weight: 700; color: var(--b-accent); text-transform: uppercase; letter-spacing: 0.07em; font-size: 0.8125rem; }
.nota p { color: var(--b-soft); font-size: 1.0625rem; }

/* contatti */
.contatti { display: grid; gap: clamp(28px, 5vw, 56px); }
@media (min-width: 860px) { .contatti { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.dati { margin: 0; display: grid; border-top: 1px solid var(--rule); }
.dati div { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--rule); }
.dati dt { font-size: 0.9375rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); padding-top: 2px; }
.dati dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.manca { font-style: italic; color: var(--soft); }

footer { padding-block: 26px 36px; }
footer p { font-size: 0.9375rem; color: var(--soft); }
footer.d { border-top: 1px solid var(--d-rule); }

body { margin: 0; }
/* ---- sito a più pagine ---- */
.pagina-testa { padding-block: clamp(48px, 8vw, 88px) clamp(36px, 6vw, 64px); }
.pagina-testa h1 { font-size: clamp(2.2rem, 6vw, 3.6rem); max-width: 20ch; }
.pagina-testa .intro { margin-bottom: 0; }
.pagina-testa .intro p { font-size: 1.2rem; }
.briciole { font-size: .95rem; color: var(--soft); margin-bottom: 18px; }
.briciole a { color: var(--accent); }
.servizi { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.servizi a { text-decoration: none; font-weight: 700; font-size: .95rem; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--accent); color: var(--accent); }
.servizi a:hover { background: var(--accent); color: var(--card); }
.aree-griglia.quattro { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .aree-griglia.quattro { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .aree-griglia.quattro { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.area-testo ul { margin: 2px 0 0; padding-left: 1.1em; color: var(--b-soft); font-size: .98rem; display: grid; gap: 2px; }
.area-testo ul li::marker { color: var(--b-accent); }
.galleria-foto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 760px) { .galleria-foto { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } }
.galleria-foto .g-foto:first-child { grid-column: 1 / -1; }
.galleria-foto .g-foto:first-child img { aspect-ratio: 16 / 9; }
.g-foto { padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 14px; overflow: hidden; display: block; min-width: 0; }
.g-foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .35s; }
.g-foto:hover img { transform: scale(1.03); }
.g-foto.nascosta { display: none; }
.g-didascalia { margin-top: 10px; font-size: .95rem; color: var(--soft); }
.bottone.contorno { margin-top: 18px; border: 2px solid var(--accent); color: var(--accent); background: transparent; cursor: pointer; font: inherit; font-weight: 700; }
.bottone.contorno:hover { background: var(--accent); color: var(--card); }
.galleria-blocco { margin-top: clamp(28px, 5vw, 48px); }
.correlati { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.correlati .lav-card strong { font-size: 1.25rem; }
.lavoro-pagina .galleria-foto { margin-top: 8px; }

/* schede aree con voci cliccabili */
.area-menu:hover { transform: none; box-shadow: none; }
.area-foto { display: block; overflow: hidden; }
.area-foto img { transition: transform .35s; }
.area-foto:hover img { transform: scale(1.04); }
.area-menu h3 { font-size: 1.35rem; }
.area-menu h3 a { text-decoration: none; color: var(--b-fg); }
.area-menu h3 a::after { content: " →"; color: var(--b-accent); }
.area-menu h3 a:hover { color: var(--b-accent); }
.area-testo ul.area-voci { list-style: none; padding: 0; margin: 4px 0 0; display: grid; gap: 0; }
.area-voci a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-top: 1px solid var(--b-rule); text-decoration: none; color: var(--b-soft); font-size: 1rem; }
.area-voci a::after { content: "›"; color: var(--b-accent); font-weight: 700; }
.area-voci a:hover { color: var(--b-accent); }
.lav-vuota { display: grid; place-items: center; aspect-ratio: 4 / 3; border-radius: 22px; background: radial-gradient(circle at 30% 25%, #3E7A45, #163328 75%); color: #DDEFCF; font-family: var(--font-display); font-size: 1.6rem; text-align: center; padding: 16px; }
.lav-card .lav-vuota span { color: #DDEFCF; }
.torna { padding-block: 8px; }
.torna .bottone.contorno { margin-top: 0; }
.frecce .tutti { margin: 0 6px 0 0; padding: 10px 18px; align-self: center; }
.cronologia { max-width: 900px; }
.tl-gruppo + .tl-gruppo { margin-top: clamp(32px, 5vw, 56px); }
.tl-titolo { font-size: clamp(1.6rem, 4vw, 2.2rem); margin-bottom: 18px; color: var(--accent); }
.tl { list-style: none; margin: 0; padding: 0 0 0 22px; border-left: 3px solid var(--rule); display: grid; gap: 18px; }
.tl-voce { position: relative; }
.tl-voce::before { content: ""; position: absolute; left: -32px; top: 28px; width: 15px; height: 15px; border-radius: 50%; background: var(--accent); border: 3px solid var(--a-bg); }
.tl-voce a { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 18px; align-items: center; text-decoration: none; color: inherit; padding: 12px; border-radius: 18px; transition: background .2s; }
.tl-voce a:hover { background: var(--b-bg); }
.tl-voce img, .tl-vuota { width: 140px; height: 105px; object-fit: cover; border-radius: 14px; display: block; aspect-ratio: auto; }
.tl-testo { display: grid; gap: 4px; min-width: 0; }
.tl-testo strong { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.2; color: var(--a-fg); }
.tl-testo span { color: var(--soft); font-size: 1rem; }
.tl-testo .tl-area { color: var(--accent); font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.tl-anno { font-weight: 700; color: var(--accent); }
@media (max-width: 559px) { .tl-voce a { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 8px; } .tl-voce img, .tl-vuota { width: 96px; height: 72px; } .tl-testo strong { font-size: 1.1rem; } }
/* foto a schermo intero */
dialog.lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
dialog.lightbox::backdrop { background: rgba(8, 18, 13, .92); }
.lb-dentro { position: relative; width: 100%; height: 100%; display: grid; place-items: center; padding: 56px 12px 72px; }
.lb-dentro img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 6px; }
.lb-testo { position: absolute; left: 16px; right: 16px; bottom: 18px; color: #E8EFE7; text-align: center; font-size: .95rem; }
.lb-btn { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 1.4rem; cursor: pointer; display: grid; place-items: center; }
.lb-btn:hover { background: rgba(255,255,255,.28); }
.lb-chiudi { top: 12px; right: 12px; }
.lb-prec { left: 12px; top: 50%; transform: translateY(-50%); }
.lb-succ { right: 12px; top: 50%; transform: translateY(-50%); }
/* pulsante chiama sul telefono */
.chiama { position: fixed; z-index: 45; right: max(16px, env(safe-area-inset-right, 0px)); bottom: max(16px, env(safe-area-inset-bottom, 0px));
  display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 700; background: #A9D47F; color: #10261C;
  padding: 13px 20px; border-radius: 999px; box-shadow: 0 8px 24px rgba(10,25,18,.28); }
.chiama svg { width: 22px; height: 22px; }
footer { padding-bottom: 96px; }
.chiama { background: #25D366; color: #0B2B17; }

/* menu verde (proposta A) */
.site { background: #2F6B3A; color: #fff; border-bottom: 0; }
body::before { background: #2F6B3A; }
.site .brand { color: #fff; letter-spacing: .02em; }
.site .cta { background: #A9D47F; color: #10261C; border-radius: 999px; }
.site .cta:hover { background: #BFE296; }
.site .menu-btn, .js .site .menu-btn { color: #fff; border-color: rgba(255,255,255,.85); }
.site .menu a, .site .tendina summary { color: #fff; border-top-color: rgba(255,255,255,.18); }
.site .menu a:hover, .site .tendina summary:hover { color: #CFE8B3; }
.hero-bg { object-position: 50% 60%; }
@media (min-width: 1060px) {
  .site .menu > ul > li > a:hover, .site .tendina summary:hover { border-bottom-color: #A9D47F; color: #fff; }
  .site .tendina details ul a { color: var(--b-fg); border-bottom-color: var(--b-rule); }
  .site .tendina details ul a:hover { color: var(--b-accent); }
}

.privacy { max-width: 760px; }
.privacy h2 { font-size: 1.4rem; margin-top: 18px; }
footer a { color: inherit; }

.scheda-lavoro { max-width: 760px; }
.dati-lavoro { margin: 18px 0 0; display: grid; gap: 0; border-top: 1px solid var(--rule); }
.dati-lavoro div { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.dati-lavoro dt { font-weight: 700; color: var(--accent); font-size: .9rem; text-transform: uppercase; letter-spacing: .06em; }
.dati-lavoro dd { margin: 0; }

/* titolo d'apertura */
@font-face{font-family:"Inter Display";src:url(fonts/interdisplay-800.woff) format("woff");font-weight:800;font-display:swap}
@font-face{font-family:"Inter Display";src:url(fonts/interdisplay-300i.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}
.hero-full h1.titolo-hero{font-family:"Inter Display",system-ui,sans-serif;font-weight:800;letter-spacing:-.035em;line-height:.98;font-size:clamp(2.6rem,7.2vw,5.2rem);max-width:14ch}
.hero-full h1.titolo-hero em{font-weight:300;font-style:italic;color:#BFE296;letter-spacing:-.02em}

/* barra in alto */
@font-face{font-family:"Inter Display";src:url(fonts/interdisplay-500.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Inter Display";src:url(fonts/interdisplay-700.woff) format("woff");font-weight:700;font-display:swap}
.site { background: rgba(31,74,46,.96); backdrop-filter: saturate(140%) blur(10px); -webkit-backdrop-filter: saturate(140%) blur(10px); box-shadow: 0 6px 24px rgba(10,30,20,.18); }
body::before { background: #1F4A2E; }
.site .bar { padding-block: 12px; }
.site .brand { display: inline-flex; align-items: center; gap: 10px; font-family: "Inter Display", system-ui, sans-serif; font-weight: 800; font-size: 1.4rem; letter-spacing: -.03em; color: #fff; }
.site .brand b { font-weight: 300; font-style: italic; color: #BFE296; letter-spacing: -.01em; }
.brand-segno { width: 34px; height: 34px; flex: none; }
.brand-segno circle { fill: #A9D47F; }
.brand-segno path { fill: none; stroke: #1F4A2E; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.site .menu a, .site .tendina summary { font-family: "Inter Display", system-ui, sans-serif; font-weight: 500; letter-spacing: .005em; }
.site .cta { font-family: "Inter Display", system-ui, sans-serif; font-weight: 700; padding: 10px 20px; box-shadow: 0 4px 14px rgba(169,212,127,.35); }
.site .menu-btn, .js .site .menu-btn { font-family: "Inter Display", system-ui, sans-serif; font-weight: 700; border-radius: 999px; border-width: 1.5px; padding: 8px 16px; }
@media (min-width: 1060px) {
  .site .menu > ul { gap: 4px; }
  .site .menu > ul > li > a, .site .tendina summary { padding: 8px 14px; border-radius: 999px; border-bottom: 0; color: rgba(255,255,255,.9); transition: background .2s, color .2s; }
  .site .menu > ul > li > a:hover, .site .tendina summary:hover, .site .tendina details[open] summary { background: rgba(255,255,255,.12); color: #fff; }
  .site .tendina details ul { border-radius: 16px; padding: 8px; border: 0; box-shadow: 0 18px 40px rgba(10,30,20,.25); }
  .site .tendina details ul a { padding: 10px 12px; border-radius: 10px; border-bottom: 0; font-weight: 500; }
  .site .tendina details ul a:hover { background: #EEF5E6; }
}
@media (max-width: 1059px) {
  .site .bar { gap: 8px; flex-wrap: nowrap; }
  .site .brand { font-size: 1.2rem; gap: 8px; min-width: 0; }
  .brand-segno { width: 28px; height: 28px; }
  .site .cta { padding: 8px 14px; font-size: .92rem; box-shadow: none; }
  .site .menu-btn, .js .site .menu-btn { padding: 7px 13px; font-size: .92rem; }
  .site .bar { flex-wrap: wrap; }
  .site .brand { margin-right: auto; }
}
@media (max-width: 380px) { .site .brand span { font-size: 1.05rem; } .site .cta { display: none; } }

/* Logo: scritta sopra la foglia d'olmo a tratto */
.site .brand { flex-direction: column; align-items: center; gap: 1px; line-height: 1; }
.site .brand .brand-testo { display: block; }
.brand-foglia { display: block; width: 62px; height: 27px; flex: none; }
.brand-foglia path { fill: none; stroke: #BFE296; stroke-linecap: round; stroke-linejoin: round; }
.brand-foglia .f-lamina, .brand-foglia .f-nerv { stroke-width: 2.4; }
.brand-foglia .f-vene { stroke-width: 1.6; }
@media (max-width: 1059px) {
  .site .brand { align-items: center; gap: 0; }
  .brand-foglia { width: 48px; height: 21px; }
}
@media (max-width: 380px) { .site .brand .brand-testo { font-size: 1.05rem; } }

/* === Revisione novembre 2026: tipografia unica, mobile, segnaposto === */
@font-face{font-family:"Inter";src:url(fonts/inter-400.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-400i.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-600.woff) format("woff");font-weight:600;font-display:swap}
:root {
  --font-display: "Inter Display", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
h1, h2, h3 { font-weight: 700; letter-spacing: -.022em; }
h1 { letter-spacing: -.03em; }
.area-testo strong, .lav-card strong, .tl-testo strong, .numeri-griglia strong { font-weight: 700; letter-spacing: -.015em; }
.novita figcaption, .novita p, [id="binario-novita"] figcaption, [id="binario-novita"] p { font-family: var(--font-display); font-weight: 500; letter-spacing: -.005em; }
/* segnaposto per i lavori senza foto: la foglia del logo */
.lav-vuota { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20124%2054%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23BFE296%22%20stroke-opacity%3D%22.55%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.6%22%3E%3Cpath%20class%3D%22f-lamina%22%20d%3D%22M13.0%2027.0%20L13.3%2026.2%20L13.7%2025.6%20L14.0%2025.1%20L14.3%2024.6%20L14.7%2024.1%20L15.0%2023.5%20L15.2%2023.0%20L15.5%2022.5%20L15.7%2022.0%20L15.9%2021.5%20L16.1%2020.9%20L16.3%2020.3%20L16.5%2019.8%20L17.3%2019.8%20L17.6%2019.4%20L17.9%2019.0%20L18.2%2018.5%20L18.5%2018.1%20L18.7%2017.6%20L19.0%2017.2%20L19.3%2016.8%20L19.6%2016.3%20L19.8%2015.9%20L20.1%2015.5%20L20.4%2015.1%20L20.6%2014.6%20L20.9%2014.2%20L22.8%2015.7%20L23.1%2015.4%20L23.4%2015.0%20L23.8%2014.7%20L24.1%2014.4%20L24.4%2014.0%20L24.6%2013.7%20L24.9%2013.3%20L25.2%2012.9%20L25.5%2012.5%20L25.7%2012.1%20L26.0%2011.7%20L26.2%2011.3%20L26.9%2011.6%20L27.2%2011.3%20L27.5%2010.9%20L27.8%2010.6%20L28.1%2010.3%20L28.4%2010.0%20L28.7%209.7%20L29.0%209.3%20L29.3%209.0%20L29.6%208.7%20L29.9%208.4%20L30.2%208.0%20L30.5%207.7%20L30.8%207.4%20L32.2%209.2%20L32.6%209.0%20L32.9%208.8%20L33.2%208.6%20L33.6%208.3%20L33.9%208.1%20L34.2%207.8%20L34.5%207.6%20L34.8%207.3%20L35.1%207.0%20L35.4%206.7%20L35.7%206.4%20L36.0%206.0%20L36.2%205.7%20L36.9%206.2%20L37.2%206.0%20L37.5%205.7%20L37.8%205.5%20L38.1%205.3%20L38.5%205.0%20L38.8%204.8%20L39.1%204.6%20L39.4%204.3%20L39.8%204.1%20L40.1%203.9%20L40.4%203.6%20L40.7%203.4%20L41.7%205.5%20L42.0%205.4%20L42.4%205.2%20L42.7%205.1%20L43.1%205.0%20L43.4%204.8%20L43.7%204.6%20L44.1%204.4%20L44.4%204.2%20L44.7%204.0%20L45.0%203.8%20L45.4%203.6%20L45.7%203.3%20L46.0%203.1%20L46.5%203.7%20L46.8%203.5%20L47.2%203.4%20L47.5%203.2%20L47.9%203.1%20L48.2%202.9%20L48.6%202.8%20L48.9%202.6%20L49.3%202.5%20L49.6%202.3%20L50.0%202.1%20L50.3%202.0%20L50.7%201.8%20L51.1%201.7%20L51.5%204.0%20L51.8%204.0%20L52.2%203.9%20L52.5%203.8%20L52.9%203.8%20L53.3%203.7%20L53.6%203.6%20L54.0%203.4%20L54.3%203.3%20L54.7%203.2%20L55.0%203.0%20L55.4%202.9%20L55.8%202.7%20L56.1%203.3%20L56.5%203.3%20L56.8%203.2%20L57.2%203.1%20L57.6%203.0%20L57.9%202.9%20L58.3%202.9%20L58.7%202.8%20L59.0%202.7%20L59.4%202.6%20L59.8%202.5%20L60.2%202.4%20L60.6%202.3%20L60.9%202.2%20L61.0%204.6%20L61.3%204.6%20L61.7%204.6%20L62.0%204.6%20L62.4%204.6%20L62.8%204.6%20L63.1%204.6%20L63.5%204.5%20L63.9%204.5%20L64.3%204.4%20L64.6%204.3%20L65.0%204.2%20L65.4%204.1%20L65.7%204.8%20L66.0%204.7%20L66.4%204.7%20L66.8%204.7%20L67.2%204.7%20L67.6%204.7%20L67.9%204.7%20L68.3%204.6%20L68.7%204.6%20L69.1%204.6%20L69.5%204.5%20L69.9%204.5%20L70.3%204.5%20L70.7%204.4%20L70.4%206.8%20L70.8%206.8%20L71.1%206.9%20L71.5%207.0%20L71.9%207.0%20L72.2%207.0%20L72.6%207.1%20L73.0%207.1%20L73.4%207.1%20L73.8%207.0%20L74.2%207.0%20L74.6%207.0%20L75.0%206.9%20L75.4%206.8%20L75.6%207.6%20L76.0%207.6%20L76.3%207.7%20L76.7%207.7%20L77.1%207.7%20L77.5%207.7%20L77.9%207.8%20L78.3%207.8%20L78.7%207.8%20L79.1%207.8%20L79.5%207.8%20L79.9%207.8%20L80.3%207.8%20L79.9%2010.1%20L80.2%2010.2%20L80.6%2010.3%20L80.9%2010.4%20L81.3%2010.5%20L81.7%2010.6%20L82.1%2010.6%20L82.5%2010.7%20L82.9%2010.7%20L83.3%2010.7%20L83.7%2010.7%20L84.1%2010.7%20L84.5%2010.7%20L85.0%2010.7%20L85.1%2011.4%20L85.5%2011.5%20L85.8%2011.5%20L86.2%2011.6%20L86.6%2011.7%20L87.0%2011.7%20L87.4%2011.8%20L87.8%2011.8%20L88.2%2011.9%20L88.6%2011.9%20L89.1%2011.9%20L89.5%2012.0%20L89.9%2012.0%20L90.3%2012.0%20L89.7%2014.3%20L90.0%2014.5%20L90.4%2014.6%20L90.8%2014.7%20L91.1%2014.8%20L91.5%2014.9%20L91.9%2014.9%20L92.3%2015.0%20L92.7%2015.0%20L93.2%2015.1%20L93.6%2015.1%20L94.0%2015.1%20L94.4%2015.1%20L94.5%2015.8%20L94.9%2015.9%20L95.3%2016.0%20L95.7%2016.0%20L96.1%2016.1%20L96.5%2016.2%20L96.9%2016.2%20L97.3%2016.3%20L97.7%2016.3%20L98.1%2016.4%20L98.5%2016.4%20L98.9%2016.5%20L99.3%2016.5%20L99.8%2016.6%20L99.1%2018.8%20L99.5%2019.0%20L99.8%2019.1%20L100.2%2019.2%20L100.6%2019.3%20L101.0%2019.4%20L101.4%2019.5%20L101.8%2019.5%20L102.2%2019.6%20L102.6%2019.6%20L103.0%2019.7%20L103.4%2019.7%20L103.9%2019.7%20L104.3%2019.6%20L104.3%2020.5%20L104.7%2020.6%20L105.1%2020.7%20L105.5%2020.8%20L105.9%2020.9%20L106.2%2021.0%20L106.6%2021.1%20L107.0%2021.2%20L107.3%2021.3%20L107.7%2021.4%20L108.1%2021.5%20L108.4%2021.7%20L108.8%2021.8%20L108.6%2023.3%20L108.9%2023.4%20L109.3%2023.6%20L109.6%2023.7%20L110.0%2023.8%20L110.4%2023.9%20L110.7%2024.1%20L111.1%2024.2%20L111.4%2024.3%20L111.8%2024.4%20L112.2%2024.5%20L112.5%2024.6%20L112.9%2024.7%20L113.3%2024.9%20L113.5%2025.2%20L113.9%2025.3%20L114.2%2025.5%20L114.6%2025.6%20L114.9%2025.8%20L115.3%2025.9%20L115.6%2026.0%20L116.0%2026.2%20L116.3%2026.3%20L116.6%2026.5%20L117.0%2026.6%20L117.3%2026.8%20L117.7%2026.9%20L118.0%2027.0%20L118.0%2027.0%20L117.7%2027.1%20L117.3%2027.2%20L117.0%2027.4%20L116.6%2027.5%20L116.3%2027.6%20L116.0%2027.8%20L115.6%2027.9%20L115.3%2028.0%20L114.9%2028.2%20L114.6%2028.3%20L114.2%2028.4%20L113.9%2028.6%20L113.5%2028.7%20L113.2%2029.0%20L112.9%2029.1%20L112.5%2029.2%20L112.2%2029.4%20L111.8%2029.5%20L111.4%2029.6%20L111.1%2029.7%20L110.7%2029.8%20L110.3%2029.9%20L110.0%2030.0%20L109.6%2030.1%20L109.3%2030.2%20L108.9%2030.4%20L108.6%2030.5%20L108.8%2031.9%20L108.4%2032.1%20L108.0%2032.2%20L107.7%2032.3%20L107.3%2032.4%20L106.9%2032.5%20L106.6%2032.6%20L106.2%2032.7%20L105.8%2032.8%20L105.4%2032.9%20L105.1%2033.0%20L104.7%2033.1%20L104.3%2033.2%20L104.2%2034.0%20L103.8%2034.0%20L103.4%2034.0%20L103.0%2034.0%20L102.6%2034.0%20L102.2%2034.0%20L101.8%2034.1%20L101.4%2034.1%20L101.0%2034.2%20L100.6%2034.2%20L100.2%2034.3%20L99.8%2034.4%20L99.5%2034.6%20L99.1%2034.7%20L99.7%2037.0%20L99.3%2037.0%20L98.9%2037.0%20L98.5%2037.1%20L98.1%2037.1%20L97.7%2037.1%20L97.3%2037.2%20L96.9%2037.2%20L96.5%2037.3%20L96.1%2037.3%20L95.7%2037.4%20L95.3%2037.4%20L94.9%2037.5%20L94.5%2037.6%20L94.4%2038.3%20L94.0%2038.3%20L93.6%2038.3%20L93.1%2038.3%20L92.7%2038.3%20L92.3%2038.3%20L91.9%2038.3%20L91.5%2038.4%20L91.1%2038.5%20L90.8%2038.5%20L90.4%2038.6%20L90.0%2038.7%20L89.7%2038.9%20L90.2%2041.2%20L89.8%2041.2%20L89.4%2041.2%20L89.0%2041.2%20L88.6%2041.3%20L88.2%2041.3%20L87.8%2041.3%20L87.4%2041.3%20L87.0%2041.4%20L86.6%2041.4%20L86.2%2041.4%20L85.8%2041.5%20L85.4%2041.5%20L85.0%2041.6%20L84.9%2042.3%20L84.5%2042.3%20L84.1%2042.2%20L83.7%2042.2%20L83.3%2042.2%20L82.9%2042.2%20L82.5%2042.2%20L82.1%2042.2%20L81.7%2042.3%20L81.3%2042.3%20L80.9%2042.4%20L80.6%2042.5%20L80.2%2042.6%20L79.9%2042.7%20L80.2%2044.9%20L79.8%2044.9%20L79.4%2044.9%20L79.0%2044.9%20L78.6%2044.9%20L78.2%2044.9%20L77.8%2044.9%20L77.5%2044.9%20L77.1%2044.9%20L76.7%2044.9%20L76.3%2044.9%20L75.9%2044.9%20L75.5%2044.9%20L75.4%2045.7%20L75.0%2045.6%20L74.5%2045.5%20L74.1%2045.4%20L73.8%2045.4%20L73.4%2045.3%20L73.0%2045.3%20L72.6%2045.3%20L72.2%2045.3%20L71.8%2045.3%20L71.5%2045.3%20L71.1%2045.3%20L70.8%2045.4%20L70.4%2045.4%20L70.6%2047.8%20L70.2%2047.7%20L69.8%2047.7%20L69.4%2047.6%20L69.0%2047.5%20L68.6%2047.5%20L68.2%2047.4%20L67.9%2047.4%20L67.5%2047.3%20L67.1%2047.3%20L66.7%2047.2%20L66.4%2047.2%20L66.0%2047.2%20L65.6%2047.1%20L65.3%2047.8%20L65.0%2047.6%20L64.6%2047.5%20L64.2%2047.4%20L63.8%2047.3%20L63.5%2047.2%20L63.1%2047.1%20L62.7%2047.0%20L62.4%2047.0%20L62.0%2046.9%20L61.7%2046.9%20L61.3%2046.9%20L61.0%2046.9%20L60.7%2049.3%20L60.4%2049.1%20L60.0%2049.0%20L59.6%2048.9%20L59.3%2048.8%20L58.9%2048.6%20L58.5%2048.5%20L58.2%2048.4%20L57.8%2048.3%20L57.4%2048.2%20L57.1%2048.1%20L56.7%2048.0%20L56.4%2047.8%20L56.0%2047.7%20L55.6%2048.3%20L55.3%2048.1%20L54.9%2047.9%20L54.6%2047.8%20L54.2%2047.6%20L53.9%2047.4%20L53.6%2047.3%20L53.2%2047.1%20L52.9%2047.0%20L52.5%2046.9%20L52.2%2046.8%20L51.8%2046.7%20L51.5%2046.6%20L50.8%2048.9%20L50.5%2048.7%20L50.1%2048.5%20L49.8%2048.3%20L49.4%2048.1%20L49.1%2047.9%20L48.7%2047.7%20L48.4%2047.5%20L48.1%2047.3%20L47.7%2047.1%20L47.4%2046.9%20L47.1%2046.7%20L46.7%2046.6%20L46.4%2046.4%20L45.9%2046.9%20L45.6%2046.6%20L45.3%2046.3%20L44.9%2046.1%20L44.6%2045.8%20L44.3%2045.6%20L44.0%2045.3%20L43.7%2045.1%20L43.4%2044.9%20L43.0%2044.7%20L42.7%2044.5%20L42.4%2044.3%20L42.0%2044.2%20L41.7%2044.0%20L40.5%2046.0%20L40.2%2045.7%20L39.9%2045.4%20L39.6%2045.1%20L39.2%2044.8%20L38.9%2044.6%20L38.6%2044.3%20L38.3%2044.0%20L38.0%2043.7%20L37.7%2043.4%20L37.4%2043.2%20L37.1%2042.9%20L36.8%2042.6%20L36.1%2043.0%20L35.8%2042.6%20L35.6%2042.3%20L35.3%2041.9%20L35.0%2041.6%20L34.7%2041.3%20L34.4%2040.9%20L34.1%2040.6%20L33.8%2040.3%20L33.5%2040.0%20L33.2%2039.7%20L32.9%2039.4%20L32.6%2039.2%20L32.2%2038.9%20L30.6%2040.6%20L30.3%2040.2%20L30.0%2039.8%20L29.7%2039.4%20L29.4%2039.0%20L29.2%2038.7%20L28.9%2038.3%20L28.6%2037.9%20L28.3%2037.5%20L28.0%2037.1%20L27.7%2036.8%20L27.4%2036.4%20L27.1%2036.0%20L26.9%2035.6%20L26.1%2035.8%20L25.9%2035.3%20L25.6%2034.8%20L25.4%2034.4%20L25.1%2033.9%20L24.9%2033.5%20L24.6%2033.0%20L24.3%2032.6%20L24.1%2032.2%20L23.8%2031.7%20L23.5%2031.3%20L23.1%2030.9%20L22.8%2030.5%20L21.5%2030.9%20L21.3%2030.3%20L21.1%2029.7%20L20.9%2029.1%20L20.7%2028.5%20L20.5%2027.8%20L20.4%2027.0%20L20.0%2027.0%20L19.6%2027.0%20L19.3%2027.0%20L18.9%2027.0%20L18.6%2027.0%20L18.2%2027.0%20L17.9%2027.0%20L17.6%2027.0%20L17.2%2027.0%20L16.9%2027.0%20L16.5%2027.0%20L16.1%2027.0%20L15.8%2027.0%20L15.4%2027.0%20L15.1%2027.0%20L14.8%2027.0%20L14.4%2027.0%20L14.1%2027.0%20L13.7%2027.0%20L13.3%2027.0%20L13.0%2027.0%20Z%22/%3E%3Cpath%20class%3D%22f-nerv%22%20d%3D%22M2%2029.5%20Q8%2027.8%2013.0%2027.0%20L116.0%2027.0%22/%3E%3Cpath%20class%3D%22f-vene%22%20d%3D%22M23.2%2027.0%20Q26.9%2017.3%2032.7%2010.8%20M32.5%2027.0%20Q36.2%2015.3%2042.0%207.6%20M41.8%2027.0%20Q45.5%2014.6%2051.3%206.3%20M51.1%2027.0%20Q54.8%2014.9%2060.5%206.8%20M60.4%2027.0%20Q64.1%2016.0%2069.8%208.6%20M69.7%2027.0%20Q73.4%2017.7%2079.1%2011.5%20M79.0%2027.0%20Q82.7%2019.9%2088.4%2015.1%20M88.3%2027.0%20Q92.0%2022.2%2097.7%2019.1%20M97.6%2027.0%20Q101.3%2024.6%20107.0%2023.0%20M106.8%2027.0%20Q109.8%2026.4%20114.8%2026.1%20M32.5%2027.0%20Q36.2%2036.2%2042.0%2042.4%20M41.8%2027.0%20Q45.5%2037.6%2051.3%2044.6%20M51.1%2027.0%20Q54.8%2037.8%2060.5%2044.9%20M60.4%2027.0%20Q64.1%2037.0%2069.8%2043.7%20M69.7%2027.0%20Q73.4%2035.6%2079.1%2041.3%20M79.0%2027.0%20Q82.7%2033.7%2088.4%2038.1%20M88.3%2027.0%20Q92.0%2031.5%2097.7%2034.5%20M97.6%2027.0%20Q101.3%2029.3%20107.0%2030.8%20M106.8%2027.0%20Q109.8%2027.5%20114.8%2027.9%22/%3E%3C/g%3E%3C/svg%3E"), radial-gradient(circle at 30% 25%, #3E7A45, #163328 75%); background-repeat: no-repeat; background-position: center, center; background-size: 62% auto, cover; }
/* blocchi testo+foto: la foto resta in alto e accompagna lo scorrimento */
@media (min-width: 900px) {
  .blocco { align-items: start; }
  .blocco .foto { position: sticky; top: 104px; }
}
/* cronologia lavori su telefono */
@media (max-width: 559px) {
  .tl-voce a { align-items: start; }
  .tl-voce::before { top: 34px; }
  .tl-testo span { font-size: .95rem; line-height: 1.5; }
}
/* contatti su telefono: etichetta sopra il valore, niente parole spezzate */
@media (max-width: 559px) {
  .dati div { grid-template-columns: 1fr; gap: 2px; padding: 12px 0; }
  .dati dt { font-size: .8rem; }
  .dati dd { overflow-wrap: normal; word-break: normal; }
  .dati-lavoro div { grid-template-columns: 1fr; gap: 2px; }
}
/* schede aree su telefono: foto meno alte, pagina più corta */
@media (max-width: 699px) {
  .area img { aspect-ratio: 16 / 9; }
}
.nota h3 { font-weight: 600; font-size: 1.12rem; line-height: 1.35; letter-spacing: -.01em; }
/* leggibilità del testo sulla foto d'apertura */
.hero-full::after { background: linear-gradient(90deg, rgba(10,25,18,.55) 0%, rgba(10,25,18,.25) 55%, rgba(10,25,18,0) 80%), linear-gradient(180deg, rgba(10,25,18,0.10) 0%, rgba(10,25,18,0.35) 45%, rgba(10,25,18,0.82) 100%); }
.hero-full .eyebrow { color: #D6EDBE; text-shadow: 0 1px 10px rgba(0,0,0,.55); }
.hero-full p { text-shadow: 0 1px 12px rgba(0,0,0,.45); }
