/* Foglio di stile unico del sito. Generato il 2026-09-15. */


/* Stili storici non collegati nelle pagine originali: mantenuti a bassa priorità. */
@layer archived {
:root{--bg:#f4f7fb;--text:#0e1726;--muted:#667085;--brand:#0b5fff;--brand2:#00b8d9;--dark:#07111f;--card:#ffffff;--line:#e6ecf4;--radius:24px;--shadow:0 24px 70px rgba(15,23,42,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(1160px,92vw);margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(244,247,251,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(230,236,244,.8)}.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;font-weight:900}.brand small{display:block;color:var(--muted);font-size:12px}.nav-links{display:flex;gap:28px;align-items:center;font-weight:700}.nav-toggle{display:none;border:0;background:white;border-radius:12px;padding:9px 12px;font-size:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),#083fbd);color:white;padding:14px 22px;font-weight:800;box-shadow:0 16px 34px rgba(11,95,255,.26);cursor:pointer}.btn-small{padding:10px 16px}.btn-ghost{background:white;color:var(--text);box-shadow:none;border:1px solid var(--line)}.hero{padding:90px 0 70px;background:radial-gradient(circle at top right,rgba(0,184,217,.25),transparent 34%),linear-gradient(180deg,#fff,transparent)}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}.eyebrow{margin:0 0 12px;color:var(--brand);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.hero h1{font-size:clamp(44px,6vw,78px);line-height:.95;margin:0 0 24px;letter-spacing:-.06em}.lead{font-size:21px;color:#334155;max-width:680px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.trust-row{display:flex;gap:12px;flex-wrap:wrap}.trust-row span{background:white;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-weight:800;color:#344054}.hero-card{min-height:560px;border-radius:34px;background:linear-gradient(140deg,rgba(7,17,31,.85),rgba(11,95,255,.55)),url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=1200&q=80') center/cover;box-shadow:var(--shadow);position:relative;overflow:hidden}.blueprint-card{position:absolute;inset:auto 28px 28px;min-height:210px;border:1px solid rgba(255,255,255,.25);border-radius:24px;background:rgba(255,255,255,.14);backdrop-filter:blur(20px);padding:24px;color:white}.line{display:block;height:2px;background:rgba(255,255,255,.6);margin:18px 0}.l1{width:86%}.l2{width:62%}.l3{width:74%}.metric{display:inline-flex;flex-direction:column;margin-right:28px}.metric strong{font-size:34px}.metric span{opacity:.8}.section{padding:82px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.split h2,.section-title h2{font-size:clamp(32px,4vw,52px);line-height:1.02;letter-spacing:-.04em;margin:0}.split p,.section-title p+p{color:var(--muted);font-size:18px}.section-title{max-width:760px;margin-bottom:36px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.card h3{font-size:22px;margin:14px 0 8px}.card p{color:var(--muted);margin:0}.icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#edf4ff;color:var(--brand);font-weight:900}.dark{background:var(--dark);color:white}.dark .eyebrow{color:#65d7ff}.muted{color:#b9c3d0!important}.align-start{align-items:start}.feature-list{display:grid;gap:14px}.feature-list div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:22px}.feature-list span{display:block;color:#b9c3d0;margin-top:5px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-grid article{min-height:210px;border-radius:24px;padding:24px;background:linear-gradient(180deg,rgba(11,95,255,.08),rgba(0,184,217,.08));border:1px solid var(--line)}.project-grid span{color:var(--brand);font-weight:900}.project-grid h3{margin-top:42px;font-size:22px}.certificate{background:white}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats div{border-radius:22px;background:var(--bg);padding:26px}.stats strong{display:block;font-size:28px}.stats span{color:var(--muted)}.cta-card{display:grid;grid-template-columns:1fr .9fr;gap:42px;background:linear-gradient(135deg,#07111f,#0b5fff);color:white;border-radius:34px;padding:48px;box-shadow:var(--shadow)}.cta-card .eyebrow{color:#78e5ff}.contact-lines{display:flex;flex-direction:column;gap:8px;font-weight:900;margin-top:24px}.contact-form{background:white;color:var(--text);border-radius:26px;padding:24px;display:grid;gap:14px}.contact-form label{font-weight:800;font-size:14px}.contact-form input,.contact-form textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit}.privacy{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-weight:600!important}.privacy input{width:auto}.footer{background:#050a13;color:#ccd6e0;padding:36px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.footer a{color:white}@media(max-width:900px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;left:4vw;right:4vw;top:76px;background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero-grid,.split,.cta-card{grid-template-columns:1fr}.hero{padding-top:54px}.hero-card{min-height:410px}.cards,.project-grid,.stats,.footer-grid{grid-template-columns:1fr}.nav-links .btn{width:100%}}

.privacy-banner[hidden] {
  display: none !important;
}

.privacy-banner {
  position: fixed;
  z-index: 2147483000;
  inset: auto 0 0;
  padding: 1rem;
  color: #152018;
  background: rgb(14 24 17 / 72%);
  backdrop-filter: blur(6px);
}

.privacy-banner__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem 2rem;
  width: min(1120px, 100%);
  margin: 0 auto;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid rgb(21 32 24 / 18%);
  border-radius: 0.85rem;
  background: #fff;
  box-shadow: 0 1.25rem 3.5rem rgb(0 0 0 / 24%);
}

.privacy-banner__copy {
  max-width: 72ch;
}

.privacy-banner__eyebrow {
  margin: 0 0 0.25rem;
  color: #4b6650;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.privacy-banner h2 {
  margin: 0 2rem 0.4rem 0;
  color: inherit;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
}

.privacy-banner p {
  margin: 0 0 0.55rem;
  line-height: 1.55;
}

.privacy-banner a {
  color: #244f31;
  font-weight: 700;
  text-underline-offset: 0.18em;
}

.privacy-banner__status {
  padding: 0.5rem 0.65rem;
  border-left: 3px solid #5b7d63;
  background: #f1f6f2;
}

.privacy-banner__actions {
  display: flex;
  align-items: end;
  justify-content: end;
  gap: 0.7rem;
}

.privacy-choice,
.privacy-banner__close,
.privacy-review {
  appearance: none;
  border: 0;
  font: inherit;
  cursor: pointer;
}

.privacy-choice {
  min-height: 2.75rem;
  padding: 0.7rem 1rem;
  border: 2px solid #294f34;
  border-radius: 0.5rem;
  font-weight: 750;
}

.privacy-choice--primary {
  color: #fff;
  background: #294f34;
}

.privacy-choice--secondary {
  color: #294f34;
  background: #fff;
}

.privacy-choice:hover,
.privacy-choice:focus-visible,
.privacy-banner__close:hover,
.privacy-banner__close:focus-visible,
.privacy-review:hover,
.privacy-review:focus-visible {
  outline: 3px solid #c4d9c8;
  outline-offset: 2px;
}

.privacy-banner__close {
  position: absolute;
  top: 0.7rem;
  right: 0.7rem;
  width: 2.6rem;
  height: 2.6rem;
  border: 2px solid #294f34;
  border-radius: 50%;
  color: #294f34;
  background: #fff;
  font-size: 1.65rem;
  line-height: 1;
}

.privacy-review {
  display: inline-flex;
  margin-top: 0.8rem;
  padding: 0;
  color: inherit;
  background: transparent;
  font-size: 0.92rem;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.gflag {
  display: inline-grid;
  place-items: center;
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: 0.15rem 0.35rem;
  border-radius: 0.35rem;
  font-size: 1.35rem;
  line-height: 1;
  text-decoration: none;
}

.gflag.is-current-language,
.gflag[aria-current="true"],
.gflag[aria-current="page"],
.gflag[aria-pressed="true"] {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 760px) {
  .privacy-banner {
    padding: 0.5rem;
  }

  .privacy-banner__panel {
    grid-template-columns: 1fr;
    gap: 0.85rem;
    max-height: calc(100vh - 1rem);
    overflow: auto;
  }

  .privacy-banner__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .privacy-choice {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .privacy-banner {
    backdrop-filter: none;
  }
}
}


/* Stili condivisi delle pagine principali. */
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) {
  --ink: #17242a;
  --ink-soft: #33454d;
  --paper: #ffffff;
  --mist: #eef3f4;
  --line: #d8e1e3;
  --cyan: #63c3d1;
  --cyan-dark: #2f8da0;
  --yellow: #f2df16;
  --wine: #571f26;
  --shadow: 0 18px 50px rgb(17 37 45 / 12%);
  --radius: 18px;
  --shell: min(1160px, calc(100% - 40px));
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) * {
  box-sizing: border-box;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) {
  scroll-behavior: smooth;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 4% 6%, rgb(99 195 209 / 8%), transparent 28rem),
    #f8fafb;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) body.menu-open {
  overflow: hidden;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) img {
  display: block;
  max-width: 100%;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) a {
  color: inherit;
  text-underline-offset: 0.18em;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) button,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) input,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) textarea {
  font: inherit;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) button,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) a {
  -webkit-tap-highlight-color: transparent;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) :focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 3px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .shell {
  width: var(--shell);
  margin-inline: auto;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  transform: translateY(-150%);
  color: #fff;
  background: var(--ink);
  border-radius: 8px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .skip-link:focus {
  transform: none;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .topbar {
  color: #dbe7ea;
  background: var(--ink);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .topbar .shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  gap: 24px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .topbar .shell > div {
  display: flex;
  gap: 22px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .topbar a {
  color: #fff;
  text-decoration: none;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  background: rgb(255 255 255 / 95%);
  border-bottom: 1px solid rgb(23 36 42 / 8%);
  backdrop-filter: blur(14px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .header-main {
  display: flex;
  align-items: center;
  min-height: 96px;
  gap: 28px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 12px;
  text-decoration: none;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand img {
  width: 64px;
  height: 69px;
  object-fit: cover;
  object-position: top;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgb(23 36 42 / 13%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand span {
  display: grid;
  line-height: 1.1;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand strong {
  color: var(--wine);
  font-size: 1.06rem;
  letter-spacing: 0.09em;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand small {
  margin-top: 7px;
  color: var(--cyan-dark);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  gap: clamp(11px, 1.4vw, 23px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a {
  position: relative;
  color: var(--ink-soft);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a:not(.reserved-link):not(.gflag)::after {
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  height: 2px;
  content: "";
  background: var(--cyan-dark);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a:hover::after,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a[aria-current="page"] {
  color: var(--ink);
}

/* Spazio interno tra il testo dei link e il contorno di evidenziazione. */
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a:not(.reserved-link):not(.gflag) {
  padding: 4px 6px;
}
/* Evidenziazione leggera della pagina corrente nel site-header.
   La regola esclude esplicitamente Area riservata e il selettore lingua. */
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a[aria-current="page"]:not(.reserved-link):not(.gflag),
html[data-page="home"] .main-nav a[href="/"]:not(.reserved-link):not(.gflag),
html[data-page="home"] .main-nav a[href$="/index.html"]:not(.reserved-link):not(.gflag),
html[data-page="servizi"] .main-nav a[href$="/cosa-facciamo/"]:not(.reserved-link):not(.gflag),
html[data-page="certificazioni"] .main-nav a[href$="/certificazioni/"]:not(.reserved-link):not(.gflag),
html[data-page="galleria"] .main-nav a[href$="/galleria/"]:not(.reserved-link):not(.gflag),
html[data-page="configuratore"] .main-nav a[href$="/configuratore/"]:not(.reserved-link):not(.gflag),
html[data-page="contatti"] .main-nav a[href$="/contatti/"]:not(.reserved-link):not(.gflag),
html[data-page="privacy"] .main-nav a[href$="/privacy/"]:not(.reserved-link):not(.gflag) {
  color: var(--ink);
  background: transparent;
  border-radius: 2px;
  box-shadow: 0 0 0 1px #2f8da0;
}

/* Stessa evidenziazione rettangolare anche al passaggio del mouse. */
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a:hover:not(.reserved-link):not(.gflag),
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a:focus-visible:not(.reserved-link):not(.gflag) {
  color: var(--ink);
  background: rgb(47 141 160 / 8%);
  border-radius: 2px;
  box-shadow: 0 0 0 2px #2f8da0;
}

html[data-page="home"] .main-nav a[href="/"]::after,
html[data-page="home"] .main-nav a[href$="/index.html"]::after,
html[data-page="servizi"] .main-nav a[href$="/cosa-facciamo/"]::after,
html[data-page="certificazioni"] .main-nav a[href$="/certificazioni/"]::after,
html[data-page="galleria"] .main-nav a[href$="/galleria/"]::after,
html[data-page="configuratore"] .main-nav a[href$="/configuratore/"]::after,
html[data-page="contatti"] .main-nav a[href$="/contatti/"]::after,
html[data-page="privacy"] .main-nav a[href$="/privacy/"]::after {
  transform: scaleX(1);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .reserved-link {
  padding: 8px 11px;
  color: var(--wine) !important;
  border: 1px solid rgb(87 31 38 / 28%);
  border-radius: 4px;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

/* Area riservata: al passaggio del mouse il pulsante si riempie con lo stesso colore vinaccia del testo/bordo. */
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .reserved-link:hover,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .reserved-link:focus-visible {
  color: #fff !important;
  background: var(--wine);
  border-color: var(--wine);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .menu-toggle {
  display: none;
  width: 46px;
  height: 42px;
  padding: 10px;
  margin-left: auto;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 10px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .menu-toggle > span:not(.sr-only) {
  display: block;
  width: 100%;
  height: 2px;
  margin: 4px 0;
  background: var(--ink);
  transition: transform 180ms ease, opacity 180ms ease;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero {
  position: relative;
  min-height: clamp(380px, 54vw, 580px);
  isolation: isolate;
  display: grid;
  overflow: clip;
  color: #fff;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero > img,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-overlay {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero > img {
  object-fit: cover;
  object-position: center;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-overlay {
  z-index: -1;
  background:
    linear-gradient(90deg, rgb(13 29 36 / 90%) 0%, rgb(13 29 36 / 67%) 48%, rgb(13 29 36 / 14%) 100%),
    linear-gradient(0deg, rgb(13 29 36 / 36%), transparent 45%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-content {
  align-self: center;
  padding-block: 76px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-content > * {
  max-width: 760px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--cyan);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero h1 {
  max-width: 900px;
  margin: 0;
  font-size: clamp(2.6rem, 6vw, 5.7rem);
  line-height: 0.97;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero p {
  max-width: 670px;
  margin: 25px 0 0;
  color: #e7f0f2;
  font-size: clamp(1rem, 1.8vw, 1.28rem);
  line-height: 1.55;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-home {
  min-height: clamp(540px, 68vw, 730px);
  box-shadow: 0 -22px 55px rgb(242 223 22 / 38%), 0 24px 58px rgb(13 152 186 / 34%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-home h1 {
  max-width: 820px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-actions {
  display: flex;
  gap: 12px;
  margin-top: 36px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 21px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .button:hover {
  transform: translateY(-2px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .button-primary {
  color: var(--ink);
  background: var(--yellow);
  box-shadow: 0 12px 30px rgb(242 223 22 / 22%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .button-primary:hover {
  background: #fff200;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .button-ghost {
  color: #fff;
  background: rgb(255 255 255 / 6%);
  border-color: rgb(255 255 255 / 45%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .button-outline {
  color: var(--ink);
  background: transparent;
  border-color: var(--ink);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .button-light {
  color: var(--ink);
  background: #fff;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .section {
  width: var(--shell);
  margin-inline: auto;
  padding-block: clamp(72px, 9vw, 118px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .section-tint {
  position: relative;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .section-tint::before {
  position: absolute;
  z-index: -1;
  inset: 26px -6vw;
  content: "";
  background: var(--mist);
  border-radius: 28px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .section-heading {
  max-width: 770px;
  margin-bottom: 44px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .section-heading h2,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .intro-copy h2,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-card h2,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .performance-band h2,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .download-panel h2,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(2rem, 4vw, 3.45rem);
  line-height: 1.06;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .home-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.72fr);
  gap: clamp(42px, 8vw, 105px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .intro-copy {
  font-size: 1.08rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .quote {
  max-width: 800px;
  margin: 0 0 22px;
  color: var(--cyan-dark);
  font-weight: 700;
  font-style: italic;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 30px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .trust-row span {
  padding: 8px 12px;
  color: var(--ink-soft);
  background: var(--mist);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-card,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card {
  align-self: start;
  padding: 34px;
  color: #dbe9ec;
  background: var(--ink);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-card h2,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card h2 {
  color: #fff;
  font-size: 2rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-card p {
  margin: 20px 0;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-link,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card a {
  display: block;
  color: #fff;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-card .button {
  margin-top: 28px;
  color: var(--ink);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-card {
  min-height: 285px;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 12px 35px rgb(17 37 45 / 5%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-number,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .certificate-year {
  color: var(--cyan-dark);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.14em;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-card h3 {
  margin: 74px 0 12px;
  font-size: 1.45rem;
  line-height: 1.15;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-card p {
  margin: 0;
  color: var(--ink-soft);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .text-link {
  display: inline-flex;
  gap: 9px;
  margin-top: 30px;
  color: var(--wine);
  font-weight: 800;
  text-decoration: none;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .split-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  max-width: none;
  gap: 28px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .split-heading .text-link {
  margin: 0;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .project-strip {
  display: grid;
  grid-auto-columns: minmax(300px, 38%);
  grid-auto-flow: column;
  gap: 18px;
  overflow-x: auto;
  padding: 0 0 20px;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--cyan-dark) var(--line);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .project-card {
  scroll-snap-align: start;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .project-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .project-card h3 {
  min-height: 94px;
  padding: 20px 22px;
  margin: 0;
  color: var(--wine);
  font-size: 1.02rem;
  line-height: 1.35;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .feature-list {
  border-top: 1px solid var(--line);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .feature {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 28px;
  padding: 42px 0;
  border-bottom: 1px solid var(--line);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .feature > span {
  color: var(--cyan-dark);
  font-size: 0.8rem;
  font-weight: 900;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .feature h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3vw, 2.5rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .feature p {
  max-width: 820px;
  margin: 0;
  color: var(--ink-soft);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .performance-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(35px, 6vw, 80px);
  padding-inline: clamp(28px, 5vw, 64px);
  color: #dbe9ec;
  background: var(--ink);
  border-radius: 24px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .performance-band h2 {
  color: #fff;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .performance-band img {
  width: 100%;
  border-radius: 14px;
  box-shadow: var(--shadow);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .certificate-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .certificate {
  min-height: 265px;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .certificate h2 {
  margin: 60px 0 10px;
  font-size: 1.55rem;
  line-height: 1.2;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .certificate p {
  color: var(--ink-soft);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .featured-certificate {
  display: grid;
  grid-column: span 2;
  grid-template-columns: minmax(170px, 0.8fr) 1fr;
  gap: 28px;
  color: #fff;
  background: var(--ink);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .featured-certificate img {
  width: 100%;
  height: 100%;
  max-height: 310px;
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .featured-certificate h2 {
  margin: 10px 0 14px;
  color: #fff;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .featured-certificate p {
  color: #dbe9ec;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .download-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 38px;
  margin-top: 36px;
  background: var(--mist);
  border-radius: var(--radius);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .download-panel h2 {
  font-size: 2rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .download-panel p {
  margin: 8px 0 0;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 34px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .filter-button {
  padding: 9px 14px;
  color: var(--ink-soft);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 800;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .filter-button.is-active {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-item {
  position: relative;
  display: grid;
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: var(--ink);
  border: 0;
  border-radius: 14px;
  cursor: zoom-in;
  text-align: left;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-item[hidden] {
  display: none;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-item img,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-item span {
  grid-area: 1 / 1;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  opacity: 0.88;
  transition: transform 260ms ease, opacity 260ms ease;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-item:hover img {
  opacity: 0.65;
  transform: scale(1.025);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-item span {
  align-self: end;
  z-index: 1;
  padding: 50px 20px 18px;
  background: linear-gradient(transparent, rgb(13 29 36 / 88%));
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.35;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .lightbox {
  width: min(1000px, calc(100% - 30px));
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: var(--ink);
  border: 0;
  border-radius: 16px;
  box-shadow: 0 30px 100px rgb(0 0 0 / 45%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .lightbox::backdrop {
  background: rgb(9 20 25 / 82%);
  backdrop-filter: blur(5px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .lightbox img {
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
  background: #081116;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .lightbox p {
  margin: 0;
  padding: 15px 20px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .lightbox-close {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  width: 42px;
  height: 42px;
  color: #fff;
  background: rgb(9 20 25 / 78%);
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.0rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.65fr);
  gap: clamp(28px, 5vw, 70px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-form {
  padding: clamp(25px, 5vw, 50px);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .form-grid label {
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 800;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .form-full {
  grid-column: 1 / -1;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) input,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) textarea {
  width: 100%;
  padding: 12px 13px;
  margin-top: 7px;
  color: var(--ink);
  background: #f9fbfb;
  border: 1px solid #c7d3d6;
  border-radius: 9px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) textarea {
  resize: vertical;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) input:focus,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) textarea:focus {
  outline: 2px solid var(--cyan);
  outline-offset: 1px;
  border-color: var(--cyan-dark);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 24px 0;
  color: var(--ink-soft);
  font-size: 0.84rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .consent input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 4px 0 0;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .form-status {
  min-height: 1.5em;
  color: var(--wine);
  font-size: 0.86rem;
  font-weight: 700;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card address {
  margin: 20px 0;
  font-style: normal;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card dl {
  margin: 25px 0;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card dl div {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 15px;
  padding: 10px 0;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card dt {
  color: var(--cyan);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card dd {
  margin: 0;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card .button {
  color: #fff;
  border-color: rgb(255 255 255 / 40%);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .legal-copy {
  max-width: 840px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .legal-copy h2 {
  margin: 52px 0 12px;
  font-size: 1.65rem;
  line-height: 1.2;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .legal-copy p {
  color: var(--ink-soft);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .legal-update {
  display: inline-block;
  padding: 7px 11px;
  background: var(--mist);
  border-radius: 999px;
  font-size: 0.8rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .legal-note {
  padding: 22px;
  margin-top: 38px;
  background: #fffbea;
  border-left: 4px solid var(--yellow);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(40px, 7vw, 90px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .timeline {
  border-top: 1px solid var(--line);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .timeline article {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 25px;
  padding: 34px 0;
  border-bottom: 1px solid var(--line);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .timeline article > span {
  color: var(--cyan-dark);
  font-weight: 900;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .timeline h2 {
  margin: 0 0 8px;
  font-size: 1.45rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .timeline p {
  margin: 0;
  color: var(--ink-soft);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-aside {
  align-self: start;
  position: sticky;
  top: 128px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-aside img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-aside h2,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-aside ul {
  margin-inline: 27px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-aside h2 {
  margin-top: 25px;
  font-size: 1.45rem;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-aside ul {
  padding-left: 20px;
  margin-bottom: 28px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .cta-band {
  color: #fff;
  background: var(--wine);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .cta-band .shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-block: clamp(48px, 7vw, 80px);
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .cta-band h2 {
  max-width: 800px;
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .site-footer {
  padding-top: 68px;
  color: #c8d7da;
  background: #101a1f;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.75fr 0.55fr;
  gap: 45px;
  padding-bottom: 58px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 0.79rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid a {
  display: block;
  color: #dfe9eb;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid address {
  margin-bottom: 10px;
  font-style: normal;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-brand {
  margin-bottom: 15px;
  color: #fff !important;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-decoration: none;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid p {
  max-width: 320px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .social-links {
  display: flex;
  gap: 8px;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .social-links a {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  color: #fff;
  border: 1px solid rgb(255 255 255 / 25%);
  border-radius: 50%;
  font-weight: 900;
  text-decoration: none;
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-block: 20px;
  color: #8ca0a6;
  border-top: 1px solid rgb(255 255 255 / 10%);
  font-size: 0.76rem;
}

@media (max-width: 1040px) {
  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .menu-toggle {
    display: block;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav {
    position: fixed;
    top: 135px;
    right: 0;
    left: 0;
    display: grid;
    align-content: start;
    justify-content: stretch;
    max-height: calc(100vh - 135px);
    padding: 22px;
    overflow-y: auto;
    background: #fff;
    border-top: 1px solid var(--line);
    box-shadow: var(--shadow);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity 160ms ease, transform 160ms ease;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a {
    padding: 11px 10px;
    font-size: 0.95rem;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav a:not(.reserved-link)::after {
    display: none;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .reserved-link {
    margin-top: 8px;
    text-align: center;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .menu-open .menu-toggle > span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .menu-open .menu-toggle > span:nth-child(2) {
    opacity: 0;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .menu-open .menu-toggle > span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .home-intro,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-layout,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-layout {
    grid-template-columns: 1fr;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .contact-card,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .company-card {
    width: 100%;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .history-aside {
    position: static;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid {
    grid-template-columns: 1.3fr 1fr 1fr;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid > :last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) {
    --shell: min(100% - 28px, 1160px);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) body {
    font-size: 15px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .topbar .shell > span {
    display: none;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .topbar .shell,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .topbar .shell > div {
    justify-content: center;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .header-main {
    min-height: 84px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand img {
    width: 50px;
    height: 54px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand strong {
    font-size: 0.89rem;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .brand small {
    font-size: 0.55rem;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav {
    top: 122px;
    max-height: calc(100vh - 122px);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-home {
    min-height: 560px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero > img {
    object-position: 62% center;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-overlay {
    background: linear-gradient(90deg, rgb(13 29 36 / 91%), rgb(13 29 36 / 45%));
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero h1 {
    font-size: clamp(2.55rem, 13vw, 4.2rem);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-actions,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .cta-band .shell,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .download-panel {
    align-items: stretch;
    flex-direction: column;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .hero-actions .button {
    width: 100%;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-grid,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .certificate-grid,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gallery-grid {
    grid-template-columns: 1fr;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .section-tint::before {
    inset-inline: 0;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .featured-certificate {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-card {
    min-height: 230px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .service-card h3 {
    margin-top: 42px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .project-strip {
    grid-auto-columns: 85%;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .split-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .performance-band {
    grid-template-columns: 1fr;
    padding-inline: 24px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .form-grid {
    grid-template-columns: 1fr;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .form-full {
    grid-column: auto;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .feature {
    grid-template-columns: 54px 1fr;
    gap: 14px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid {
    grid-template-columns: 1fr;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-grid > :last-child {
    grid-column: auto;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .footer-bottom {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) {
    scroll-behavior: auto;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) *,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) *::before,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* Controllo musica condiviso da tutte le pagine. */
#gielle-music-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  background: rgba(64,23,23,.92);
  color: #fff;
  font: 600 14px/1.2 Arial, sans-serif;
  box-shadow: 0 8px 24px rgba(0,0,0,.24);
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
}
#gielle-music-toggle:hover { transform: translateY(-2px); background: rgba(79,29,29,.98); }
#gielle-music-toggle:focus-visible { outline: 3px solid #ffd85a; outline-offset: 3px; }
#gielle-music-toggle .music-icon { font-size: 18px; line-height: 1; }
#gielle-music-toggle[aria-pressed="true"] { background: rgba(46,92,62,.94); }
@media (max-width: 640px) {
  #gielle-music-toggle { right: 12px; bottom: 12px; padding: 10px 12px; }
  #gielle-music-toggle .music-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  #gielle-music-toggle { transition: none; }
}


/* Stili estratti dalle pagine: configuratore. */
html[data-page="configuratore"] {
      --quote-ink: #17242a;
      --quote-muted: #5d6970;
      --quote-line: #d8e0e3;
      --quote-soft: #f3f7f8;
      --quote-yellow: #f5cf24;
      --quote-blue: #0d98ba;
      --quote-orange: #f58220;
      --quote-white: #fff;
      --quote-radius: 18px;
    }

    html[data-page="configuratore"] .skiptranslate,
html[data-page="configuratore"] #goog-gt-tt { display: none !important; }
    html[data-page="configuratore"] body { top: 0 !important; }
    html[data-page="configuratore"] .language-switcher { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 6px; }
    html[data-page="configuratore"] .reserved-link-mobile { display: none !important; }
    html[data-page="configuratore"] a.gflag { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 2px; font-size: 30px; line-height: 1; text-decoration: none; }

    html[data-page="configuratore"] .quote-page { background: #fff; color: var(--quote-ink); }
    html[data-page="configuratore"] .quote-page *,
html[data-page="configuratore"] .quote-page *::before,
html[data-page="configuratore"] .quote-page *::after { box-sizing: border-box; }
    html[data-page="configuratore"] .quote-page .shell { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }

    html[data-page="configuratore"] .quote-hero {
      position: relative;
      isolation: isolate;
      min-height: 430px;
      display: grid;
      align-items: center;
      overflow: hidden;
      color: #fff;
      background: #17242a;
      box-shadow: 0 -22px 55px rgba(245, 207, 36, .42), 0 24px 58px rgba(13, 152, 186, .38);
    }
    html[data-page="configuratore"] .quote-hero > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
    html[data-page="configuratore"] .quote-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16,31,38,.93), rgba(16,31,38,.69) 58%, rgba(16,31,38,.28)); }
    html[data-page="configuratore"] .quote-hero__copy { max-width: 760px; padding-block: 78px; }
    html[data-page="configuratore"] .quote-hero h1 { max-width: 720px; margin: 12px 0 18px; color: #fff; font-size: clamp(2.35rem, 6vw, 4.7rem); line-height: .98; letter-spacing: -.045em; }
    html[data-page="configuratore"] .quote-hero p { max-width: 690px; margin: 0; font-size: clamp(1.05rem, 2vw, 1.28rem); line-height: 1.6; }
    html[data-page="configuratore"] .quote-eyebrow { display: inline-flex; align-items: center; gap: 9px; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 800; color: var(--quote-yellow); }
    html[data-page="configuratore"] .quote-eyebrow::before { content: ""; width: 30px; height: 3px; background: currentColor; border-radius: 999px; }

    html[data-page="configuratore"] .quote-intro { padding: 76px 0 26px; }
    html[data-page="configuratore"] .quote-intro__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr); gap: 42px; align-items: end; }
    html[data-page="configuratore"] .quote-intro h2 { margin: 10px 0 12px; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.05; }
    html[data-page="configuratore"] .quote-intro p { margin: 0; color: var(--quote-muted); line-height: 1.7; }
    html[data-page="configuratore"] .source-chip { border: 1px solid var(--quote-line); border-left: 6px solid var(--quote-blue); padding: 18px 20px; border-radius: 14px; background: var(--quote-soft); }
    html[data-page="configuratore"] .source-chip strong,
html[data-page="configuratore"] .source-chip span { display: block; }
    html[data-page="configuratore"] .source-chip span { margin-top: 5px; color: var(--quote-muted); font-size: .92rem; }

    html[data-page="configuratore"] .quote-builder { padding: 34px 0 90px; }
    html[data-page="configuratore"] .quote-layout { display: grid; grid-template-columns: minmax(0, 1.48fr) minmax(320px, .72fr); gap: 28px; align-items: start; }
    html[data-page="configuratore"] .quote-panel { background: #fff; border: 1px solid var(--quote-line); border-radius: var(--quote-radius); box-shadow: 0 18px 50px rgba(23,36,42,.09); overflow: hidden; }
    html[data-page="configuratore"] .quote-panel__head { padding: 26px 28px; background: var(--quote-ink); color: #fff; }
    html[data-page="configuratore"] .quote-panel__head h2 { margin: 5px 0 0; color: #fff; font-size: 1.65rem; }
    html[data-page="configuratore"] .quote-panel__body { padding: 28px; }

    html[data-page="configuratore"] .quote-step + .quote-step { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--quote-line); }
    html[data-page="configuratore"] .quote-step__title { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; font-size: 1.16rem; }
    html[data-page="configuratore"] .quote-step__number { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--quote-yellow); color: #17242a; font-weight: 900; }
    html[data-page="configuratore"] .filter-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.75fr); gap: 16px; margin-bottom: 16px; align-items: start; }
    html[data-page="configuratore"] .field-grid { display: grid; grid-template-columns: 1fr 160px; gap: 16px; align-items: start; }
    html[data-page="configuratore"] .filter-grid > .quote-field,
html[data-page="configuratore"] .field-grid > .quote-field {
      min-width: 0;
      align-self: start !important;
    }
    html[data-page="configuratore"] .client-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
    html[data-page="configuratore"] .client-grid .required {
      margin-left: 2px;
      color: #c62828;
      font: inherit;
      font-weight: 700;
      vertical-align: baseline;
    }
    html[data-page="configuratore"] .field-full { grid-column: 1 / -1; }
    html[data-page="configuratore"] .quote-field label,
html[data-page="configuratore"] .quote-field legend { display: block; margin-bottom: 7px; color: var(--quote-ink); font-weight: 750; }
    html[data-page="configuratore"] .quote-field input,
html[data-page="configuratore"] .quote-field select,
html[data-page="configuratore"] .quote-field textarea {
      width: 100%; min-height: 48px; border: 1px solid #bfcbd0; border-radius: 10px; padding: 11px 13px; background: #fff; color: var(--quote-ink); font: inherit;
    }
    html[data-page="configuratore"] .filter-grid .quote-field label,
html[data-page="configuratore"] .field-grid .quote-field label {
      height: 24px;
      min-height: 24px;
      margin: 0 0 7px !important;
      line-height: 24px;
    }
    html[data-page="configuratore"] #work-search,
html[data-page="configuratore"] #work-category,
html[data-page="configuratore"] #work-item,
html[data-page="configuratore"] #work-quantity {
      display: block !important;
      width: 100% !important;
      height: 48px !important;
      min-height: 48px !important;
      max-height: 48px !important;
      margin: 0 !important;
      padding: 0 13px !important;
      box-sizing: border-box !important;
      line-height: 46px !important;
      vertical-align: top !important;
    }
    html[data-page="configuratore"] .quote-field textarea { min-height: 105px; resize: vertical; }
    html[data-page="configuratore"] .quote-field input:focus,
html[data-page="configuratore"] .quote-field select:focus,
html[data-page="configuratore"] .quote-field textarea:focus { outline: 3px solid rgba(13,152,186,.18); border-color: var(--quote-blue); }
    html[data-page="configuratore"] .quote-help { display: block; margin-top: 6px; color: var(--quote-muted); font-size: .84rem; line-height: 1.45; }

    html[data-page="configuratore"] .selected-item { margin-top: 16px; padding: 16px; border-radius: 12px; background: var(--quote-soft); border-left: 4px solid var(--quote-blue); }
    html[data-page="configuratore"] .selected-item strong,
html[data-page="configuratore"] .selected-item span,
html[data-page="configuratore"] .selected-item small { display: block; }
    html[data-page="configuratore"] .selected-item span { margin-top: 4px; color: var(--quote-muted); }
    html[data-page="configuratore"] .selected-item small { margin-top: 8px; color: #40525a; line-height: 1.45; }

    html[data-page="configuratore"] .quote-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; border: 0; border-radius: 10px; padding: 11px 18px; cursor: pointer; font: inherit; font-weight: 800; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
    html[data-page="configuratore"] .quote-button:hover { transform: translateY(-1px); }
    html[data-page="configuratore"] .quote-button--primary { color: #17242a; background: var(--quote-yellow); box-shadow: 0 9px 22px rgba(245,207,36,.25); }
    html[data-page="configuratore"] .quote-button--dark { color: #fff; background: var(--quote-ink); }
    html[data-page="configuratore"] .quote-button--blue { color: #fff; background: var(--quote-blue); }
    html[data-page="configuratore"] .quote-button--outline { color: var(--quote-ink); background: #fff; border: 1px solid #afbdc2; }
    html[data-page="configuratore"] .quote-button--pdf {
      position: relative;
      gap: 11px;
      overflow: hidden;
      color: #fff;
      background: linear-gradient(135deg, #17242a 0%, #0d718a 100%);
      box-shadow: 0 10px 24px rgba(13,113,138,.24);
    }
    html[data-page="configuratore"] .quote-button--pdf::after {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 3px;
      background: var(--quote-yellow);
    }
    html[data-page="configuratore"] .quote-button--pdf:hover { box-shadow: 0 13px 28px rgba(13,113,138,.32); }
    html[data-page="configuratore"] .quote-button--pdf:focus-visible { outline: 3px solid rgba(245,207,36,.55); outline-offset: 3px; }
    html[data-page="configuratore"] .quote-button--pdf:disabled { cursor: wait; opacity: .76; transform: none; }
    html[data-page="configuratore"] .save-pdf-icon {
      display: inline-grid;
      place-items: center;
      width: 34px;
      height: 27px;
      flex: 0 0 34px;
      border-radius: 5px;
      color: #17242a;
      background: var(--quote-yellow);
      font-size: .66rem;
      font-weight: 950;
      letter-spacing: .04em;
      line-height: 1;
    }
    html[data-page="configuratore"] .quote-button--pdf.is-saving .save-pdf-icon { animation: gielle-pdf-pulse .85s ease-in-out infinite alternate; }
    @keyframes gielle-pdf-pulse { to { opacity: .52; transform: scale(.92); } }
    html[data-page="configuratore"] .add-row { display: flex; justify-content: flex-end; margin-top: 16px; }

    html[data-page="configuratore"] .extras { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0; border: 0; }
    html[data-page="configuratore"] .extra-check { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--quote-line); border-radius: 10px; cursor: pointer; }
    html[data-page="configuratore"] .extra-check input { margin-top: 3px; accent-color: var(--quote-blue); }
    html[data-page="configuratore"] .extras .extra-check { display: grid; grid-template-columns: 18px minmax(0, 1fr); min-height: 42px; column-gap: 14px; row-gap: 0; align-items: center; padding: 8px 10px; }
    html[data-page="configuratore"] .extras .extra-check input {
      width: 18px;
      height: 18px;
      min-height: 18px;
      flex: 0 0 18px;
      margin: 0;
      padding: 0;
      border: 0;
      border-radius: 3px;
      background: transparent;
    }
    html[data-page="configuratore"] .client-grid > .extra-check.field-full {
      align-items: center;
      flex-wrap: nowrap;
    }
    html[data-page="configuratore"] #privacy-consent {
      width: 18px;
      height: 18px;
      min-height: 18px;
      max-width: 18px;
      flex: 0 0 18px;
      align-self: center;
      margin: 0;
      padding: 0;
      border: 0;
      border-radius: 3px;
      background: transparent;
      accent-color: var(--quote-blue);
    }
    html[data-page="configuratore"] .client-grid > .extra-check.field-full span {
      flex: 1 1 auto;
      min-width: 0;
    }
    html[data-page="configuratore"] .extra-check span { line-height: 1.3; }
    html[data-page="configuratore"] .extras-note { margin: 13px 0 0; color: var(--quote-muted); font-size: .88rem; }

    html[data-page="configuratore"] .quote-summary { position: sticky; top: 24px; }
    html[data-page="configuratore"] .summary-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-rows: auto auto;
      grid-template-areas:
        "label logo"
        "code logo";
      align-items: center;
      column-gap: .75rem;
      row-gap: 0;
      padding: 24px;
      background: linear-gradient(135deg, #17242a, #27414c);
      color: #fff;
    }
    html[data-page="configuratore"] .summary-head span { color: #c8d4d8; font-size: .88rem; }
    html[data-page="configuratore"] .summary-head strong { display: block; margin-top: 4px; color: var(--quote-yellow); font-size: 1.25rem; letter-spacing: .03em; }
    html[data-page="configuratore"] .summary-head > span {
      grid-area: label;
      align-self: end;
      white-space: nowrap;
    }
    html[data-page="configuratore"] #quote-number {
      grid-area: code;
      align-self: start;
      min-width: 0;
      overflow-wrap: anywhere;
      font-size: clamp(.75rem, 2.3vw, .95rem);
    }
    html[data-page="configuratore"] .summary-head__logo {
      grid-area: logo;
      display: block;
      width: clamp(3.75rem, 6.5vw, 5rem);
      height: auto;
      max-height: 3.5rem;
      object-fit: contain;
      justify-self: end;
      align-self: center;
    }
    html[data-page="configuratore"] .summary-body { padding: 22px; }
    html[data-page="configuratore"] .summary-empty { margin: 0; padding: 22px 12px; text-align: center; color: var(--quote-muted); }
    html[data-page="configuratore"] .summary-list { list-style: none; margin: 0; padding: 0; }
    html[data-page="configuratore"] .summary-line { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--quote-line); }
    html[data-page="configuratore"] .summary-line strong,
html[data-page="configuratore"] .summary-line span,
html[data-page="configuratore"] .summary-line small { display: block; }
    html[data-page="configuratore"] .summary-line span,
html[data-page="configuratore"] .summary-line small { margin-top: 3px; color: var(--quote-muted); font-size: .83rem; }
    html[data-page="configuratore"] .summary-price { text-align: right; white-space: nowrap; }
    html[data-page="configuratore"] .remove-line { margin-top: 5px; padding: 2px 0; border: 0; background: none; color: #a03826; cursor: pointer; font: inherit; font-size: .78rem; text-decoration: underline; }
    html[data-page="configuratore"] .summary-total { display: flex; justify-content: space-between; gap: 16px; align-items: end; padding: 20px 0 8px; }
    html[data-page="configuratore"] .summary-total span { color: var(--quote-muted); }
    html[data-page="configuratore"] .summary-total strong { font-size: 2rem; line-height: 1; }
    html[data-page="configuratore"] .summary-vat { margin: 0 0 18px; color: var(--quote-muted); font-size: .82rem; }
    html[data-page="configuratore"] .summary-client { margin: 15px 0; padding: 14px; border-radius: 10px; background: var(--quote-soft); font-size: .86rem; line-height: 1.55; }
    html[data-page="configuratore"] .summary-client:empty { display: none; }
    html[data-page="configuratore"] .summary-actions { display: grid; gap: 9px; }
    html[data-page="configuratore"] .summary-actions .quote-button:disabled { cursor: wait; opacity: .72; transform: none; }
    html[data-page="configuratore"] .summary-status { min-height: 20px; margin: 11px 0 0; color: #2d6255; font-size: .85rem; }

    html[data-page="configuratore"] .quote-legal { margin-top: 28px; padding: 22px; border: 1px solid var(--quote-line); border-radius: 14px; background: #fffdf3; }
    html[data-page="configuratore"] .quote-legal h2 { margin: 0 0 8px; font-size: 1.05rem; }
    html[data-page="configuratore"] .quote-legal p,
html[data-page="configuratore"] .quote-legal li { color: #566168; font-size: .87rem; line-height: 1.55; }
    html[data-page="configuratore"] .quote-legal ul { margin: 8px 0 0; padding-left: 20px; }
    html[data-page="configuratore"] .quote-legal a { color: #126b80; }

    html[data-page="configuratore"] .other-work { margin-top: 20px; padding: 18px; border-radius: 12px; background: #eef8fa; border: 1px solid #cde6ec; }
    html[data-page="configuratore"] .other-work strong { display: block; }
    html[data-page="configuratore"] .other-work p { margin: 5px 0 0; color: var(--quote-muted); font-size: .88rem; }

    @media (max-width: 920px) {
      html[data-page="configuratore"] .quote-layout,
html[data-page="configuratore"] .quote-intro__grid { grid-template-columns: 1fr; }
      html[data-page="configuratore"] .quote-summary { position: static; }
      html[data-page="configuratore"] .quote-hero { min-height: 390px; }
    }
    @media (max-width: 1040px) {
      html[data-page="configuratore"] .main-nav { overflow-y: auto; overscroll-behavior: contain; }
      html[data-page="configuratore"] .main-nav .language-switcher { display: flex !important; grid-column: 1 / -1; order: -1; width: 100%; flex-flow: row nowrap; justify-content: center; padding: 10px; }
      html[data-page="configuratore"] .main-nav .reserved-link-desktop { display: none !important; }
      html[data-page="configuratore"] .main-nav .language-switcher .reserved-link-mobile { display: inline-flex !important; flex: 1 1 120px; align-items: center; justify-content: center; max-width: 200px; min-height: 44px; padding: 10px; }
    }
    @media (max-width: 620px) {
      html[data-page="configuratore"] .quote-page .shell { width: min(100% - 22px, 1180px); }
      html[data-page="configuratore"] .quote-hero__copy { padding-block: 58px; }
      html[data-page="configuratore"] .quote-panel__head,
html[data-page="configuratore"] .quote-panel__body { padding: 21px 18px; }
      html[data-page="configuratore"] .filter-grid,
html[data-page="configuratore"] .field-grid,
html[data-page="configuratore"] .client-grid,
html[data-page="configuratore"] .extras { grid-template-columns: 1fr; }
      html[data-page="configuratore"] .quote-button { width: 100%; }
    }
    @media (max-width: 420px) {
      html[data-page="configuratore"] .summary-head { column-gap: .5rem; }
      html[data-page="configuratore"] .summary-head__logo {
        width: 3.25rem;
        max-height: 2.75rem;
      }
    }
    @media print {
      @page { size: A4; margin: 14mm; }
      html[data-page="configuratore"] #gielle-music-toggle,
html[data-page="configuratore"] #gielle-cookie-settings,
html[data-page="configuratore"] #gielle-cookie-banner { display: none !important; }
      html[data-page="configuratore"] .topbar,
html[data-page="configuratore"] .site-header,
html[data-page="configuratore"] .quote-hero,
html[data-page="configuratore"] .quote-intro,
html[data-page="configuratore"] .quote-panel:not(.quote-summary),
html[data-page="configuratore"] .quote-legal,
html[data-page="configuratore"] .site-footer,
html[data-page="configuratore"] .summary-actions,
html[data-page="configuratore"] .summary-status,
html[data-page="configuratore"] .remove-line { display: none !important; }
      html[data-page="configuratore"] .quote-builder { padding: 0; }
      html[data-page="configuratore"] .quote-layout { display: block; }
      html[data-page="configuratore"] .quote-summary { position: static; border: 0; box-shadow: none; }
      html[data-page="configuratore"] .summary-head { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
      html[data-page="configuratore"] .summary-head__logo { width: 16mm; max-height: 12mm; }
      html[data-page="configuratore"] .summary-body { padding: 22px 0; }
      html[data-page="configuratore"] .summary-empty { display: none; }
      html[data-page="configuratore"] .summary-vat::after { content: " — Stima indicativa e non vincolante. Sopralluogo e offerta definitiva necessari."; }
    }


/* Stili estratti dalle pagine: contatti. */
html[data-page="contatti"] .required {
  color: var(--color-accent, #c62828);
  font: inherit;
  font-weight: 700;
  margin-left: 2px;
  vertical-align: baseline;
}

html[data-page="contatti"] .required-note {
  margin: 8px 0 18px;
  font: inherit;
  font-size: .92rem;
  color: inherit;
}

html[data-page="contatti"] .required-note .required {
  margin-left: 0;
  margin-right: 4px;
}

html[data-page="contatti"] a.gflag {
  vertical-align: middle;
  font-size: 32px;
  padding: 1px 0;
  background-repeat: no-repeat;
}


/* Stili estratti dalle pagine: certificazioni, configuratore, contatti, galleria, home, privacy, servizi. */
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .zoom-container {
  width: 65px;
  height: 70px;
  overflow: visible; /* Non tagliare la parte che esce fuori */
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .zoom-container img {
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease; /* Velocità dell'animazione */
}

:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .zoom-container img:hover {
  transform: scale(1.3); /* Ingrandisce del 30% */
}


/* Stili estratti dalle pagine: certificazioni, contatti, galleria, home, privacy, servizi. */
:is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .skiptranslate {
    display:none !important
    }
  :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) body {
    top: 0px !important;
  }
  :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) #goog-gt-tt {
    display: none !important;
  }
  :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .goog-tooltip {
    display: none !important;
  }
  :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .goog-text-highlight {
    background-color: transparent !important;
    box-shadow: none !important;
  }
  :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .language-switcher {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 6px;
  }
  :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .reserved-link-mobile {
    display: none !important;
  }
  :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) a.gflag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 2px;
    font-size: 30px;
    line-height: 1;
    vertical-align: middle;
    background-repeat: no-repeat;
  }
  @media (max-width: 1040px) {
    :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav {
      overflow-y: auto;
      overscroll-behavior: contain;
    }
    :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav .language-switcher {
      display: flex !important;
      grid-column: 1 / -1;
      order: -1;
      width: 100%;
      box-sizing: border-box;
      flex: 0 0 auto;
      flex-flow: row nowrap;
      justify-content: center;
      gap: 6px;
      padding: 10px;
    }
    :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav .language-switcher .gflag {
      display: inline-flex !important;
      flex: 0 0 40px;
      width: 40px;
      min-width: 40px;
      height: 44px;
      min-height: 44px;
      margin: 0;
      padding: 0;
    }
    :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav .reserved-link-desktop {
      display: none !important;
    }
    :is(html[data-page="certificazioni"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .main-nav .language-switcher .reserved-link-mobile {
      display: inline-flex !important;
      flex: 1 1 120px;
      align-items: center;
      justify-content: center;
      width: auto;
      min-width: 110px;
      max-width: 200px;
      min-height: 44px;
      margin: 0 0 0 4px;
      padding: 10px;
      box-sizing: border-box;
      text-align: center;
      font-size: clamp(0.75rem, 2.8vw, 0.9rem);
      line-height: 1.2;
      white-space: nowrap;
    }
  }


/* Stili estratti dalle pagine: contatti. */
html[data-page="contatti"] .gielle-map {
    width: 100%;
    margin: 30px 0;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15);
}

html[data-page="contatti"] .gielle-map iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: 0;
}

@media (max-width: 768px) {
    html[data-page="contatti"] .gielle-map iframe {
        height: 350px;
    }
}

@media (max-width: 480px) {
    html[data-page="contatti"] .gielle-map iframe {
        height: 300px;
    }
}


/* Stili estratti dalle pagine: home. */
html[data-page="home"] .btn-chiamaci {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  color: #000;
  background: #0D98BA;
  border: 1px solid #000;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
}


/* Stili estratti dalle pagine: home. */
html[data-page="home"] .btn-scrivici {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 28px;
  color: #000;
  background: #0D98BA;
  border: 1px solid #000;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
}


/* Stili estratti dalle pagine: certificazioni, configuratore, contatti, galleria, home, privacy, servizi. */
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) {
    --gielle-cookie-bg: #ffffff;
    --gielle-cookie-text: #1f2933;
    --gielle-cookie-muted: #59616d;
    --gielle-cookie-border: #d9dde3;
    --gielle-cookie-primary: #f58220;
    --gielle-cookie-primary-hover: #dc7017;
    --gielle-cookie-shadow: 0 18px 45px rgba(17, 24, 39, 0.22);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-banner,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-settings {
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-banner *,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-settings * {
    box-sizing: border-box;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-banner {
    position: fixed;
    z-index: 999999;
    right: 18px;
    bottom: 18px;
    width: min(560px, calc(100vw - 36px));
    padding: 18px;
    color: var(--gielle-cookie-text);
    background: var(--gielle-cookie-bg);
    border: 1px solid var(--gielle-cookie-border);
    border-radius: 8px;
    box-shadow: var(--gielle-cookie-shadow);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-banner[hidden],
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-settings[hidden] {
    display: none !important;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-title {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--gielle-cookie-muted);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-text a {
    color: var(--gielle-cookie-text);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 16px;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-button {
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid var(--gielle-cookie-border);
    border-radius: 6px;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    background: #ffffff;
    color: var(--gielle-cookie-text);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-button:hover,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-button:focus-visible {
    border-color: var(--gielle-cookie-primary);
    outline: none;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-button-primary {
    border-color: var(--gielle-cookie-primary);
    background: var(--gielle-cookie-primary);
    color: #ffffff;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-button-primary:hover,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-button-primary:focus-visible {
    border-color: var(--gielle-cookie-primary-hover);
    background: var(--gielle-cookie-primary-hover);
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-settings {
    position: fixed;
    z-index: 999998;
    left: 16px;
    bottom: 16px;
    min-height: 38px;
    padding: 9px 13px;
    border: 1px solid var(--gielle-cookie-border);
    border-radius: 999px;
    color: var(--gielle-cookie-text);
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.12);
    font: 700 13px/1 Arial, Helvetica, sans-serif;
    cursor: pointer;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-settings:hover,
:is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-settings:focus-visible {
    border-color: var(--gielle-cookie-primary);
    outline: none;
  }

  @media (max-width: 560px) {
    :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-banner {
      right: 12px;
      bottom: 12px;
      width: calc(100vw - 24px);
      padding: 16px;
    }

    :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-actions {
      display: grid;
      grid-template-columns: 1fr;
    }

    :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .gielle-cookie-button {
      width: 100%;
    }
  }


/* Stili estratti dalle pagine: storia. */
html[data-page="storia"] {
    --gielle-navy: #17272e;
    --gielle-cyan: #61c4d1;
    --gielle-cyan-dark: #2f8fa0;
    --gielle-yellow: #f2df17;
    --gielle-paper: #ffffff;
    --gielle-bg: #f3f7f8;
    --gielle-text: #23343b;
    --gielle-line: #d9e4e7;
    --gielle-radius: 14px;
    --gielle-shadow: 0 18px 44px rgba(23, 39, 46, 0.11);
  }

  html[data-page="storia"] *,
html[data-page="storia"] *::before,
html[data-page="storia"] *::after {
    box-sizing: border-box;
  }

  html[data-page="storia"] {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
    background: var(--gielle-bg);
  }

  html[data-page="storia"] body {
    margin: 0 !important;
    min-width: 0;
    top: 0 !important;
    overflow-x: hidden;
    color: var(--gielle-text);
    background:
      linear-gradient(180deg, rgba(97, 196, 209, 0.13), rgba(97, 196, 209, 0) 280px),
      var(--gielle-bg);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.72;
  }

  html[data-page="storia"] img,
html[data-page="storia"] svg {
    max-width: 100%;
    height: auto;
  }

  html[data-page="storia"] video,
html[data-page="storia"] audio,
html[data-page="storia"] iframe {
    display: block;
    max-width: 100%;
  }

  html[data-page="storia"] .skiptranslate {
    display: none !important;
  }

  html[data-page="storia"] #goog-gt-tt,
html[data-page="storia"] .goog-tooltip {
    display: none !important;
  }

  html[data-page="storia"] .goog-text-highlight {
    background-color: transparent !important;
    box-shadow: none !important;
  }

  html[data-page="storia"] body::before {
    content: "";
    position: fixed;
    z-index: 9998;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--gielle-yellow) 0 17%, var(--gielle-cyan) 17% 70%, var(--gielle-navy) 70% 100%);
    pointer-events: none;
  }

  html[data-page="storia"] a {
    color: var(--gielle-cyan-dark);
    text-decoration-color: rgba(47, 143, 160, 0.4);
    text-underline-offset: 3px;
  }

  html[data-page="storia"] a:hover,
html[data-page="storia"] a:focus-visible {
    color: var(--gielle-navy);
  }

  html[data-page="storia"] a:focus-visible,
html[data-page="storia"] button:focus-visible,
html[data-page="storia"] video:focus-visible,
html[data-page="storia"] audio:focus-visible,
html[data-page="storia"] iframe:focus-visible {
    outline: 3px solid var(--gielle-yellow);
    outline-offset: 3px;
  }

  html[data-page="storia"] .container {
    display: grid !important;
    grid-template-columns: minmax(310px, 340px) minmax(0, 1fr);
    column-gap: 30px;
    row-gap: 0;
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px;
    margin: 0 auto !important;
    padding: 28px 0 42px;
  }

  html[data-page="storia"] .container > .col,
html[data-page="storia"] .container > header,
html[data-page="storia"] .container > section,
html[data-page="storia"] .container > aside,
html[data-page="storia"] .container > footer,
html[data-page="storia"] #heading,
html[data-page="storia"] #content,
html[data-page="storia"] #sidebar,
html[data-page="storia"] #footer {
    position: relative !important;
    float: none !important;
    min-width: 0;
    box-sizing: border-box;
  }

  html[data-page="storia"] .container > .col.grid6 {
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 0 !important;
  }

  html[data-page="storia"] #menu {
    z-index: 50;
    width: 100%;
    margin: 0 !important;
    padding: 0;
    overflow: visible;
    border: 1px solid var(--gielle-line);
    border-top: 4px solid var(--gielle-cyan);
    border-radius: var(--gielle-radius);
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 10px 30px rgba(23, 39, 46, 0.08);
  }

  html[data-page="storia"] #menu ul {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    margin: 0 !important;
    padding: 11px 13px !important;
    list-style: none;
  }

  html[data-page="storia"] #menu li {
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-page="storia"] #menu li > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 12px !important;
    border: 1px solid transparent;
    border-radius: 2px;
    color: var(--gielle-navy);
    background: transparent;
    box-shadow: none;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.035em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }

  html[data-page="storia"] #menu li.current-menu-item > a,
html[data-page="storia"] #menu li.current_page_item > a,
html[data-page="storia"] #menu li > a:hover,
html[data-page="storia"] #menu li > a:focus-visible {
    color: var(--gielle-navy);
    background: transparent;
    border-color: #247789;
    box-shadow: 0 0 0 1px rgba(36, 119, 137, 0.16);
  }

  html[data-page="storia"] #menu-item-488 > a {
    color: #ffffff !important;
    background: var(--gielle-navy) !important;
    box-shadow: 0 7px 16px rgba(23, 39, 46, 0.16);
  }

  html[data-page="storia"] #menu-item-488 > a:hover,
html[data-page="storia"] #menu-item-488 > a:focus-visible {
    color: var(--gielle-navy) !important;
    background: var(--gielle-yellow) !important;
    transform: translateY(-1px);
  }

  html[data-page="storia"] #menu a.gflag {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0 !important;
    padding: 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
    font-size: 30px;
    line-height: 1;
    text-decoration: none;
    transition: background-color 160ms ease;
    vertical-align: middle;
    background-repeat: no-repeat;
  }

  html[data-page="storia"] #menu a.gflag:hover,
html[data-page="storia"] #menu a.gflag:focus-visible {
    border-radius: 6px !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none;
  }

  html[data-page="storia"] #menu a.gflag.is-current-language,
html[data-page="storia"] #menu a.gflag[aria-current="true"],
html[data-page="storia"] #menu a.gflag[aria-pressed="true"] {
    border-radius: 6px !important;
  }

  html[data-page="storia"] #menu a.gflag[data-gielle-lang="it"] {
    margin-left: 4px !important;
  }

  html[data-page="storia"] #google_translate_element2 {
    width: 0;
    height: 0;
    overflow: visible;
  }

  html[data-page="storia"] .logo-menu-hint {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border: 1px solid transparent;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
  }

  html[data-page="storia"] #logo {
    display: flex;
    align-self: stretch;
    grid-column: 1;
    width: 100% !important;
    margin: 28px 0 0 !important;
    text-align: center;
  }

  html[data-page="storia"] #logo h1 {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    gap: 12px;
    margin: 0 !important;
    padding: 24px 20px;
    border: 1px solid var(--gielle-line);
    border-top: 5px solid var(--gielle-yellow);
    border-radius: var(--gielle-radius);
    background: var(--gielle-paper);
    box-shadow: var(--gielle-shadow);
  }

  html[data-page="storia"] #logo h1 a {
    display: inline-flex;
    align-items: center;
    color: var(--gielle-navy);
    text-decoration: none;
  }

  html[data-page="storia"] #logo h1 img {
    display: block;
    width: min(210px, 100%);
    max-height: none;
    margin: 0 auto;
    border-radius: 14px;
  }

  html[data-page="storia"] #heading {
    position: relative;
    grid-column: 2;
    align-self: start;
    width: 100% !important;
    height: auto;
    min-height: 0;
    margin: 28px 0 0 !important;
    padding: 0 0 64px;
    overflow: hidden;
    border: 1px solid var(--gielle-line);
    border-radius: var(--gielle-radius);
    background: var(--gielle-paper);
    box-shadow: var(--gielle-shadow);
    line-height: 0;
    isolation: isolate;
    perspective: 1400px;
    perspective-origin: 50% 50%;
  }

  html[data-page="storia"] #heading .gielle-archive-slider {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: var(--gielle-slide-aspect, 16 / 9);
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: calc(var(--gielle-radius) - 1px);
    background: #ffffff;
    list-style: none;
    transform-style: preserve-3d;
    transition: aspect-ratio 320ms ease;
  }

  html[data-page="storia"] #heading .gielle-archive-slider > li {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    backface-visibility: hidden;
    transform: translate3d(0, 0, -1px) rotateY(0deg);
    transform-style: preserve-3d;
    transition: transform 760ms cubic-bezier(0.645, 0.045, 0.355, 1), opacity 620ms ease;
    will-change: transform, opacity;
  }

  html[data-page="storia"] #heading .gielle-archive-slider:not([data-gielle-ready="true"]) > li:first-child,
html[data-page="storia"] #heading .gielle-archive-slider > li.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) rotateY(0deg);
  }

  html[data-page="storia"] #heading .gielle-archive-slider > li.is-cube-enter-right {
    visibility: visible;
    opacity: 0.35;
    transform: translate3d(50%, 0, -280px) rotateY(-90deg);
    transform-origin: left center;
    transition: none;
  }

  html[data-page="storia"] #heading .gielle-archive-slider > li.is-cube-enter-left {
    visibility: visible;
    opacity: 0.35;
    transform: translate3d(-50%, 0, -280px) rotateY(90deg);
    transform-origin: right center;
    transition: none;
  }

  html[data-page="storia"] #heading .gielle-archive-slider > li.is-cube-exit-left {
    visibility: visible;
    opacity: 0.25;
    pointer-events: none;
    transform: translate3d(-50%, 0, -280px) rotateY(90deg);
    transform-origin: right center;
  }

  html[data-page="storia"] #heading .gielle-archive-slider > li.is-cube-exit-right {
    visibility: visible;
    opacity: 0.25;
    pointer-events: none;
    transform: translate3d(50%, 0, -280px) rotateY(-90deg);
    transform-origin: left center;
  }

  html[data-page="storia"] #heading .gielle-archive-slider > li > img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    border-radius: calc(var(--gielle-radius) - 1px);
    background: #ffffff;
    object-fit: contain;
    object-position: center;
  }

  html[data-page="storia"] #heading .gielle-gallery-button {
    position: static;
    z-index: 12;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0 !important;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(23, 39, 46, 0.84);
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none;
    opacity: 0;
    visibility: hidden;
    font: 700 24px/1 Arial, Helvetica, sans-serif;
    vertical-align: middle;
    cursor: pointer;
    pointer-events: none;
    transform: none;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease, opacity 180ms ease, visibility 180ms ease;
  }

  html[data-page="storia"] #heading .gielle-gallery-button:hover,
html[data-page="storia"] #heading .gielle-gallery-button:focus-visible {
    color: var(--gielle-navy);
    background: var(--gielle-yellow);
    transform: scale(1.04);
  }

  html[data-page="storia"] #heading .gielle-gallery-prev {
    left: auto;
  }

  html[data-page="storia"] #heading .gielle-gallery-next {
    right: auto;
  }

  html[data-page="storia"] #heading .gielle-gallery-status {
    position: absolute;
    z-index: 12;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 64px;
    box-sizing: border-box;
    padding: 12px 14px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  html[data-page="storia"] #heading .gielle-gallery-status > * {
    align-self: center;
  }

  html[data-page="storia"] #heading:hover .gielle-gallery-button,
html[data-page="storia"] #heading:hover .gielle-gallery-status,
html[data-page="storia"] #heading:focus-within .gielle-gallery-button,
html[data-page="storia"] #heading:focus-within .gielle-gallery-status {
    opacity: 1;
    visibility: visible;
  }

  html[data-page="storia"] #heading:hover .gielle-gallery-button,
html[data-page="storia"] #heading:focus-within .gielle-gallery-button {
    pointer-events: auto;
  }

  html[data-page="storia"] #heading .gielle-gallery-counter,
html[data-page="storia"] #heading .gielle-gallery-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 40px;
    min-height: 40px;
    margin: 0 !important;
    flex: 0 0 88px;
    width: 88px;
    min-width: 88px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(23, 39, 46, 0.86);
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none;
    font: 700 13px/1 Arial, Helvetica, sans-serif;
    vertical-align: middle;
    white-space: nowrap;
  }

  html[data-page="storia"] #heading .gielle-gallery-counter {
    text-align: center;
  }

  html[data-page="storia"] #heading .gielle-gallery-toggle {
    pointer-events: auto;
    cursor: pointer;
  }

  html[data-page="storia"] #heading .gielle-gallery-toggle:hover,
html[data-page="storia"] #heading .gielle-gallery-toggle:focus-visible {
    color: var(--gielle-navy);
    border-color: var(--gielle-yellow);
    background: var(--gielle-yellow);
    box-shadow: none !important;
    filter: none !important;
  }

  html[data-page="storia"] #heading .gielle-gallery-button:hover,
html[data-page="storia"] #heading .gielle-gallery-button:focus-visible,
html[data-page="storia"] #heading .gielle-gallery-button::before,
html[data-page="storia"] #heading .gielle-gallery-button::after,
html[data-page="storia"] #heading .gielle-gallery-toggle::before,
html[data-page="storia"] #heading .gielle-gallery-toggle::after {
    box-shadow: none !important;
    filter: none !important;
  }

  html[data-page="storia"] #heading .gielle-gallery-progress {
    position: absolute;
    z-index: 13;
    right: 0;
    bottom: 64px;
    left: 0;
    height: 4px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.2);
    pointer-events: none;
  }

  html[data-page="storia"] #heading .gielle-gallery-progress > span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--gielle-cyan), var(--gielle-yellow));
  }

  html[data-page="storia"] #sidebar .rs-arrows {
    position: absolute !important;
    right: auto !important;
    bottom: 4px !important;
    left: 50% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto !important;
    height: 40px;
    margin: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-50%);
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  html[data-page="storia"] #sidebar .rs-arrows a {
    position: static !important;
    display: inline-flex !important;
    float: none !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px !important;
    min-width: 40px;
    height: 40px !important;
    min-height: 40px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 999px;
    color: #ffffff !important;
    background-color: rgba(23, 39, 46, 0.84) !important;
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
    font-size: 16px;
    line-height: 40px !important;
    pointer-events: auto !important;
    transform: none;
    transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
  }

  html[data-page="storia"] #sidebar .rs-arrows a:hover,
html[data-page="storia"] #sidebar .rs-arrows a:focus-visible {
    color: var(--gielle-navy) !important;
    border-color: var(--gielle-yellow) !important;
    background-color: var(--gielle-yellow) !important;
    box-shadow: none !important;
    filter: none !important;
    transform: scale(1.04);
  }

  html[data-page="storia"] #sidebar .rs-arrows a em {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
    font-style: normal;
    line-height: 1;
  }

  html[data-page="storia"] #sidebar .rs-arrows a em::before {
    position: static !important;
    display: block;
    left: auto !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 1 !important;
    transform: none !important;
  }

  html[data-page="storia"] #sidebar .rs-arrows .rs-prev em::before {
    content: "\276E" !important;
  }

  html[data-page="storia"] #sidebar .rs-arrows .rs-next em::before {
    content: "\276F" !important;
  }

  html[data-page="storia"] #sidebar .video-home > .rs-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 48px !important;
    overflow: hidden;
    border-radius: 10px;
    background: #ffffff;
  }

  html[data-page="storia"] #sidebar .video-home:hover .rs-arrows,
html[data-page="storia"] #sidebar .video-home:focus-within .rs-arrows {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html[data-page="storia"] #content {
    grid-column: 2;
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 36px 40px !important;
    border: 1px solid var(--gielle-line);
    border-radius: var(--gielle-radius);
    background: var(--gielle-paper);
    box-shadow: var(--gielle-shadow);
    color: var(--gielle-text);
    font-size: 16px;
    line-height: 1.78;
    overflow-wrap: break-word;
  }

  html[data-page="storia"] #content a {
    overflow-wrap: anywhere;
  }

  html[data-page="storia"] #content h2 {
    margin: 0 0 24px !important;
    padding: 0 0 17px;
    border-bottom: 1px solid var(--gielle-line);
    color: var(--gielle-navy) !important;
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.025em;
  }

  html[data-page="storia"] #content h2::after {
    content: "";
    display: block;
    width: 74px;
    height: 5px;
    margin-top: 16px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--gielle-yellow), var(--gielle-cyan));
  }

  html[data-page="storia"] #content p {
    margin: 0 0 1.15em !important;
  }

  html[data-page="storia"] #content img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
  }

  html[data-page="storia"] #content a:has(img) {
    display: inline-block;
    max-width: 100%;
    border-radius: 8px;
    transition: transform 160ms ease, filter 160ms ease;
  }

  html[data-page="storia"] #content a:has(img):hover,
html[data-page="storia"] #content a:has(img):focus-visible {
    filter: saturate(1.08);
    transform: translateY(-1px);
  }

  html[data-page="storia"] #sidebar {
    grid-column: 1;
    width: 100% !important;
    margin: 30px 0 0 !important;
  }

  html[data-page="storia"] #sidebar .widget_cececepml-widget-text {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 18px;
    overflow: hidden;
    border: 1px solid var(--gielle-line);
    border-radius: var(--gielle-radius);
    background: var(--gielle-paper);
    box-shadow: 0 12px 30px rgba(23, 39, 46, 0.09);
  }

  html[data-page="storia"] #sidebar h2 {
    margin: 0 0 14px !important;
    padding: 0 0 0 12px;
    border-left: 5px solid var(--gielle-cyan);
    color: var(--gielle-navy);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.25;
  }

  html[data-page="storia"] #sidebar .gielle-video-preview {
    position: relative;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    min-height: 0;
    overflow: hidden;
    border-radius: 10px;
    background: var(--gielle-navy);
  }

  html[data-page="storia"] #sidebar .gielle-video-preview > video,
html[data-page="storia"] #sidebar .gielle-video-preview > iframe {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 100%;
    margin: 0 !important;
    border: 0;
    border-radius: 10px;
    background: var(--gielle-navy);
    object-fit: contain;
    pointer-events: auto !important;
  }

  html[data-page="storia"] #sidebar .gielle-video-preview::before,
html[data-page="storia"] #sidebar .gielle-video-preview::after {
    pointer-events: none !important;
  }

  html[data-page="storia"] #sidebar .rs-slider,
html[data-page="storia"] #sidebar .rs-slider > li,
html[data-page="storia"] #sidebar .thumb,
html[data-page="storia"] #sidebar .thumb img {
    width: 100% !important;
    max-width: 100% !important;
  }

  html[data-page="storia"] #sidebar .video-home,
html[data-page="storia"] #sidebar .thumb,
html[data-page="storia"] #sidebar audio,
html[data-page="storia"] #sidebar video,
html[data-page="storia"] #sidebar iframe {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  html[data-page="storia"] #sidebar audio,
html[data-page="storia"] #sidebar video,
html[data-page="storia"] #sidebar iframe,
html[data-page="storia"] #sidebar .thumb img {
    border-radius: 10px;
  }

  html[data-page="storia"] #sidebar .thumb {
    cursor: zoom-in;
  }

  html[data-page="storia"] #sidebar .lightbox,
html[data-page="storia"] #sidebar video,
html[data-page="storia"] #sidebar audio,
html[data-page="storia"] #sidebar iframe {
    pointer-events: auto;
  }

  html[data-page="storia"] #footer {
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 38px 0 0 !important;
    color: #ffffff;
  }

  html[data-page="storia"] #footer .sep {
    height: 1px;
    margin: 0 0 18px;
    background: var(--gielle-line);
  }

  html[data-page="storia"] #footer .footer-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 20px 24px;
    border-top: 5px solid var(--gielle-cyan);
    border-radius: var(--gielle-radius);
    background: var(--gielle-navy);
    box-shadow: 0 16px 38px rgba(23, 39, 46, 0.2);
  }

  html[data-page="storia"] #footer .footer-container > .col {
    float: none !important;
    flex: 0 1 auto;
    width: auto !important;
    max-width: 100%;
    margin: 0 !important;
    text-align: center;
  }

  html[data-page="storia"] #footer .footer-container p {
    margin: 0 !important;
    color: #ffffff;
    font-size: clamp(0.72rem, 1.3vw, 0.9rem);
    line-height: 1.4;
    text-align: center;
    white-space: nowrap;
  }

  html[data-page="storia"] #footer .social-links {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  html[data-page="storia"] #footer .social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 2px;
    border-radius: 999px;
    background: #ffffff;
    transition: transform 160ms ease, box-shadow 160ms ease;
  }

  html[data-page="storia"] #footer .social-links a:hover,
html[data-page="storia"] #footer .social-links a:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
  }

  html[data-page="storia"] #footer .social-links img {
    display: block;
    width: 32px;
    height: 32px;
  }

  html[data-page="storia"] body .gielle-cookie-banner {
    border-color: var(--gielle-line) !important;
    border-top: 5px solid var(--gielle-cyan) !important;
    border-radius: var(--gielle-radius) !important;
    box-shadow: var(--gielle-shadow) !important;
  }

  html[data-page="storia"] body .gielle-cookie-title {
    color: var(--gielle-navy) !important;
  }

  html[data-page="storia"] body .gielle-cookie-button {
    border-radius: 999px !important;
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
  }

  html[data-page="storia"] body .gielle-cookie-settings {
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
  }

  html[data-page="storia"] #gielle-music-button,
html[data-page="storia"] #gielle-music-toggle,
html[data-page="storia"] .gielle-music-button,
html[data-page="storia"] .gielle-music-toggle,
html[data-page="storia"] .gielle-music-control,
html[data-page="storia"] [data-gielle-music-button],
html[data-page="storia"] [data-gielle-music-control],
html[data-page="storia"] button[id*="music" i],
html[data-page="storia"] button[class*="music" i],
html[data-page="storia"] button[id*="musica" i],
html[data-page="storia"] button[class*="musica" i] {
    box-shadow: none !important;
    filter: none !important;
    text-shadow: none !important;
  }

  html[data-page="storia"] body .gielle-cookie-button-primary {
    border-color: var(--gielle-navy) !important;
    background: var(--gielle-navy) !important;
  }

  html[data-page="storia"] body .gielle-cookie-button-primary:hover,
html[data-page="storia"] body .gielle-cookie-button-primary:focus-visible {
    border-color: var(--gielle-cyan-dark) !important;
    background: var(--gielle-cyan-dark) !important;
  }

  @media (min-width: 1025px) {
    html[data-page="storia"] .container > .col.grid6 {
      grid-row: 1;
    }

    html[data-page="storia"] #logo,
html[data-page="storia"] #heading {
      grid-row: 2;
    }

    html[data-page="storia"] .container > .clear {
      display: none !important;
    }

    html[data-page="storia"] #sidebar,
html[data-page="storia"] #content {
      grid-row: 3;
      align-self: start;
    }

    html[data-page="storia"] #sidebar {
      grid-column: 1;
      text-align: left;
    }

    html[data-page="storia"] #sidebar h2 {
      font-size: 0.86rem;
      letter-spacing: -0.01em;
      white-space: nowrap;
    }

    html[data-page="storia"] #content {
      grid-column: 2;
    }

    html[data-page="storia"] #footer {
      grid-row: 4;
    }
  }

  @media (max-width: 1024px) {
    html[data-page="storia"] .container {
      display: flex !important;
      flex-direction: column;
      width: auto !important;
      max-width: 760px;
      margin: 0 auto !important;
      padding: 20px max(18px, env(safe-area-inset-right)) 34px max(18px, env(safe-area-inset-left));
    }

    html[data-page="storia"] .container > .col,
html[data-page="storia"] .container > header,
html[data-page="storia"] .container > section,
html[data-page="storia"] .container > aside,
html[data-page="storia"] .container > footer {
      width: 100% !important;
      max-width: none !important;
    }

    html[data-page="storia"] .container > header#logo {
      display: block;
      order: 1;
      min-height: 0;
      margin-top: 12px !important;
    }

    html[data-page="storia"] .container > .col.grid6 {
      order: 2;
      margin-top: 16px !important;
    }

    html[data-page="storia"] .container > #heading { order: 3; }
    html[data-page="storia"] .container > .clear { order: 4; }
    html[data-page="storia"] .container > #content { order: 5; }
    html[data-page="storia"] .container > #sidebar { order: 6; }
    html[data-page="storia"] .container > #footer { order: 7; }

    html[data-page="storia"] #logo h1 {
      height: auto;
      padding: 18px 16px;
    }

    html[data-page="storia"] #logo h1 img {
      width: auto;
      max-height: 188px;
    }

    html[data-page="storia"] .logo-menu-hint {
      display: inline-flex;
      min-height: 42px;
      border-color: var(--gielle-navy) !important;
      border-radius: 999px;
      background: var(--gielle-navy) !important;
      color: #ffffff !important;
      box-shadow: none !important;
      filter: none !important;
      text-shadow: none !important;
    }

    html[data-page="storia"].gielle-menu-open .logo-menu-hint {
      border-color: var(--gielle-cyan-dark) !important;
      background: #ffffff !important;
      color: var(--gielle-navy) !important;
    }

    html[data-page="storia"] #menu {
      display: none !important;
      margin: 0 0 18px !important;
    }

    html[data-page="storia"].gielle-menu-open #menu,
html[data-page="storia"] #menu:target {
      display: block !important;
    }

    html[data-page="storia"] #menu ul {
      gap: 8px;
      padding: 12px !important;
    }

    html[data-page="storia"] #menu li {
      flex: 0 0 100%;
      width: 100% !important;
    }

    html[data-page="storia"] #menu li > a {
      width: 100%;
      min-height: 46px;
    }

    html[data-page="storia"] #menu a.gflag {
      flex: 0 0 auto;
      width: auto;
      min-width: 40px;
      height: 40px;
      min-height: 40px;
      margin: 4px 0 0 !important;
    }

    html[data-page="storia"] #heading,
html[data-page="storia"] #content,
html[data-page="storia"] #sidebar,
html[data-page="storia"] #footer {
      margin-top: 22px !important;
    }

    html[data-page="storia"] #content {
      padding: 30px 28px !important;
    }

    html[data-page="storia"] #sidebar .widget_cececepml-widget-text {
      padding: 20px;
    }

    html[data-page="storia"] #sidebar h2 {
      font-size: 0.9rem;
      white-space: normal;
    }

    html[data-page="storia"] #sidebar .rs-arrows {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }

    html[data-page="storia"] #footer .social-links {
      width: 100%;
      justify-content: center;
      margin-right: auto;
      margin-left: auto;
    }

    html[data-page="storia"] #footer .footer-container {
      justify-content: center;
      text-align: center;
    }

    html[data-page="storia"] #footer .footer-container > .col {
      flex-basis: 100%;
      width: 100% !important;
    }

    html[data-page="storia"] #footer .footer-container p {
      font-size: clamp(0.48rem, 2.3vw, 0.86rem);
      white-space: normal;
    }

    html[data-page="storia"] #footer .footer-company-line,
html[data-page="storia"] #footer .footer-rights {
      display: block;
      white-space: nowrap;
    }

    html[data-page="storia"] #footer .footer-rights-separator {
      display: none;
    }
  }

  @media (max-width: 600px) {
    html[data-page="storia"] .container {
      max-width: none;
      padding-right: max(14px, env(safe-area-inset-right));
      padding-left: max(14px, env(safe-area-inset-left));
    }

    html[data-page="storia"] #menu,
html[data-page="storia"] #logo h1,
html[data-page="storia"] #heading,
html[data-page="storia"] #content,
html[data-page="storia"] #sidebar .widget_cececepml-widget-text,
html[data-page="storia"] #footer .footer-container,
html[data-page="storia"] body .gielle-cookie-banner {
      border-radius: 10px !important;
    }

    html[data-page="storia"] #content {
      padding: 24px 20px !important;
      font-size: 1rem;
    }

    html[data-page="storia"] #heading {
      padding-bottom: 56px;
    }

    html[data-page="storia"] #heading .gielle-gallery-button {
      flex-basis: 36px;
      width: 36px;
      min-width: 36px;
      height: 36px;
      min-height: 36px;
      font-size: 22px;
    }

    html[data-page="storia"] #heading .gielle-gallery-prev {
      left: auto;
    }

    html[data-page="storia"] #heading .gielle-gallery-next {
      right: auto;
    }

    html[data-page="storia"] #heading .gielle-gallery-status {
      right: 0;
      bottom: 0;
      left: 0;
      gap: 6px;
      height: 56px;
      padding: 10px;
    }

    html[data-page="storia"] #heading .gielle-gallery-counter,
html[data-page="storia"] #heading .gielle-gallery-toggle {
      flex-basis: 82px;
      width: 82px;
      min-width: 82px;
      height: 36px;
      min-height: 36px;
      padding: 8px 12px;
      font-size: 12px;
    }

    html[data-page="storia"] #heading .gielle-gallery-progress {
      bottom: 56px;
    }

    html[data-page="storia"] #sidebar .rs-arrows {
      bottom: 6px !important;
      gap: 6px;
      height: 36px;
    }

    html[data-page="storia"] #sidebar .rs-arrows a {
      flex-basis: 36px;
      width: 36px !important;
      min-width: 36px;
      height: 36px !important;
      min-height: 36px;
      font-size: 14.6667px;
      line-height: 36px !important;
    }

    html[data-page="storia"] #sidebar .rs-arrows a em::before {
      font-size: 22px !important;
    }

    html[data-page="storia"] #content h2 {
      font-size: clamp(1.55rem, 8vw, 2rem);
    }

    html[data-page="storia"] #content img[style*="float"] {
      display: block;
      float: none !important;
      max-width: 100% !important;
      margin: 18px auto !important;
    }

    html[data-page="storia"] #sidebar .widget_cececepml-widget-text {
      padding: 16px;
    }

    html[data-page="storia"] #footer .footer-container {
      flex-direction: column;
      padding: 20px 16px;
    }
  }

  @media (hover: none), (pointer: coarse) {
    html[data-page="storia"] #heading .gielle-gallery-button,
html[data-page="storia"] #heading .gielle-gallery-status {
      opacity: 1;
      visibility: visible;
    }

    html[data-page="storia"] #heading .gielle-gallery-button {
      pointer-events: auto;
    }

    html[data-page="storia"] #sidebar .rs-arrows {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    html[data-page="storia"] { scroll-behavior: auto; }
    html[data-page="storia"] *,
html[data-page="storia"] *::before,
html[data-page="storia"] *::after {
      scroll-behavior: auto !important;
      transition-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
    }
  }


/* Stili estratti dalle pagine: storia. */
html[data-page="storia"] {
    --gielle-cookie-bg: #ffffff;
    --gielle-cookie-text: #1f2933;
    --gielle-cookie-muted: #59616d;
    --gielle-cookie-border: #d9dde3;
    --gielle-cookie-primary: #f58220;
    --gielle-cookie-primary-hover: #dc7017;
    --gielle-cookie-shadow: 0 18px 45px rgba(17, 24, 39, 0.22);
  }

  html[data-page="storia"] .gielle-cookie-banner {
    position: fixed;
    z-index: 999999;
    right: 18px;
    bottom: 18px;
    width: min(560px, calc(100vw - 36px));
    padding: 18px;
    color: var(--gielle-cookie-text);
    background: var(--gielle-cookie-bg);
    border: 1px solid var(--gielle-cookie-border);
    border-radius: 8px;
    box-shadow: var(--gielle-cookie-shadow);
  }

  html[data-page="storia"] .gielle-cookie-banner[hidden],
html[data-page="storia"] .gielle-cookie-settings[hidden] {
    display: none !important;
  }

  html[data-page="storia"] .gielle-cookie-title {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
  }

  html[data-page="storia"] .gielle-cookie-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--gielle-cookie-muted);
  }

  html[data-page="storia"] .gielle-cookie-text a {
    color: var(--gielle-cookie-text);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  html[data-page="storia"] .gielle-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 16px;
  }

  html[data-page="storia"] .gielle-cookie-button {
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid var(--gielle-cookie-border);
    border-radius: 6px;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    background: #ffffff;
    color: var(--gielle-cookie-text);
  }

  html[data-page="storia"] .gielle-cookie-button:hover,
html[data-page="storia"] .gielle-cookie-button:focus-visible {
    border-color: var(--gielle-cookie-primary);
    outline: none;
  }

  html[data-page="storia"] .gielle-cookie-button-primary {
    border-color: var(--gielle-cookie-primary);
    background: var(--gielle-cookie-primary);
    color: #ffffff;
  }

  html[data-page="storia"] .gielle-cookie-button-primary:hover,
html[data-page="storia"] .gielle-cookie-button-primary:focus-visible {
    border-color: var(--gielle-cookie-primary-hover);
    background: var(--gielle-cookie-primary-hover);
  }

  html[data-page="storia"] .gielle-cookie-settings {
    position: fixed;
    z-index: 999998;
    left: 16px;
    bottom: 16px;
    min-height: 38px;
    padding: 9px 13px;
    border: 1px solid var(--gielle-cookie-border);
    border-radius: 999px;
    color: var(--gielle-cookie-text);
    background: #ffffff;
    box-shadow: none;
    font: 700 13px/1 Arial, Helvetica, sans-serif;
    cursor: pointer;
  }

  html[data-page="storia"] .gielle-cookie-settings:hover,
html[data-page="storia"] .gielle-cookie-settings:focus-visible {
    border-color: var(--gielle-cookie-primary);
    outline: none;
  }

  @media (max-width: 560px) {
    html[data-page="storia"] .gielle-cookie-banner {
      right: 12px;
      bottom: 12px;
      width: calc(100vw - 24px);
      padding: 16px;
    }

    html[data-page="storia"] .gielle-cookie-actions {
      display: grid;
      grid-template-columns: 1fr;
    }

    html[data-page="storia"] .gielle-cookie-button {
      width: 100%;
    }
  }


/* Stili precedentemente presenti negli attributi style. */
html[data-page="configuratore"] .css-inline-c4bfaf0f33:not(#_css-inline-a#_css-inline-b#_css-inline-c) { margin:0 0 8px;font-size:1.35rem }
html[data-page="contatti"] .css-inline-91d6973c43:not(#_css-inline-a#_css-inline-b#_css-inline-c) { border:0; }
html[data-page="storia"] .css-inline-43409e6cb6:not(#_css-inline-a#_css-inline-b#_css-inline-c) { float: left; margin-right: 2%; max-width: 350px; margin-bottom: 3%; margin-top: 20px; }
html[data-page="storia"] .css-inline-a90aa48f10:not(#_css-inline-a#_css-inline-b#_css-inline-c) { background-position:-0px -0px; }
html[data-page="storia"] .css-inline-be3e77e998:not(#_css-inline-a#_css-inline-b#_css-inline-c) { background-position:-600px -100px; }

/* Spaziatura e immagine della sezione Dry System House. */
html[data-page="servizi"] .performance-band {
  margin-bottom: clamp(32px, 5vw, 72px);
}

html[data-page="servizi"] .performance-band img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 760px) {
  html[data-page="servizi"] .performance-band img {
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
  }
}

@media (max-width: 640px) {
  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"], html[data-page="storia"]) .gielle-cookie-settings {
    left: auto;
    right: 60px;
    bottom: 15px;
  }
}

/* Hero Cosa facciamo: altezza compatta e contenuti centrati verticalmente. */
html[data-page="servizi"] .hero {
  height: 650px;
  min-height: 0;
  padding-block: 0;
  overflow: hidden;
}

html[data-page="servizi"] .hero > img {
  object-position: center top;
}

/* Desktop Cosa facciamo: leggero zoom ancorato a sinistra per escludere i loghi a destra. */
@media (min-width: 1041px) {
  html[data-page="servizi"] .hero > img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.14);
    transform-origin: left center;
  }
}

html[data-page="servizi"] .hero-content {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding-block: clamp(24px, 3vw, 40px);
}

@media (max-width: 1040px) {
  html[data-page="servizi"] .hero-content {
    align-items: flex-start;
    text-align: left;
  }

  html[data-page="servizi"] .hero-content > * {
    margin-right: auto;
    margin-left: 0;
  }

  html[data-page="servizi"] .hero-partner-logos {
    --hero-logo-offset: 0px !important;
    align-self: flex-start;
    justify-content: flex-start;
    margin-right: auto;
    margin-left: 0 !important;
  }
}

@media (max-width: 760px) {
  html[data-page="servizi"] .hero {
    height: 650px;
    min-height: 0;
    padding-block: 0;
  }

  html[data-page="servizi"] .hero > img {
    object-position: 30% top;
  }

  html[data-page="servizi"] .hero-content {
    min-height: 100%;
    padding-block: clamp(20px, 6vw, 28px);
  }
}

@media (max-width: 1040px) and (orientation: landscape) {
  html[data-page="servizi"] .hero > img {
    object-position: left top;
  }
}

/* Hero Certificazioni: altezza fissa senza modificare larghezza o proporzioni dell'immagine. */
html[data-page="certificazioni"] .hero {
  height: 650px;
  min-height: 0;
}

@media (max-width: 760px) {
  html[data-page="certificazioni"] .hero {
    height: 650px;
    min-height: 0;
  }
}

/* Logo del site-header: ingrandimento al passaggio del mouse.
   L'ancoraggio in alto a destra lo fa espandere verso sinistra e in basso,
   senza coprire le scritte poste sopra o a destra. */
.site-header,
.site-header .header-main,
.site-header .brand {
  overflow: visible;
}

.site-header .brand {
  position: relative;
}

.site-header .brand img[src*="logo.webp" i] {
  position: relative;
  z-index: 1;
  transform: scale(1);
  transform-origin: right top;
  transition: transform 320ms cubic-bezier(.2, .75, .25, 1);
  will-change: transform;
}

.site-header .brand > :not(img) {
  position: relative;
  z-index: 2;
}

@media (hover: hover) and (pointer: fine) {
  .site-header .brand img[src*="logo.webp" i]:hover {
    transform: scale(2);
  }
}

/* Doppia freccia bianca in basso al centro delle hero: solo desktop. */
@media (min-width: 1041px) {
  .hero,
  .quote-hero {
    position: relative;
  }

  .hero::before,
  .hero::after,
  .quote-hero__copy::before,
  .quote-hero__copy::after {
    position: absolute;
    z-index: 4;
    left: 50%;
    width: 22px;
    height: 12px;
    content: "";
    opacity: 0;
    pointer-events: none;
    background: center / 22px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='12' viewBox='0 0 22 12'%3E%3Cpath d='M3 2.5l8 7 8-7' fill='none' stroke='%23fff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    filter: drop-shadow(0 2px 4px rgb(0 0 0 / 38%));
    animation: gielle-hero-arrow-scroll 1.2s cubic-bezier(.22, .61, .36, 1) infinite;
  }

  .hero::before,
  .quote-hero__copy::before {
    bottom: 34px;
  }

  .hero::after,
  .quote-hero__copy::after {
    bottom: 20px;
    animation-delay: .6s;
  }
}

@keyframes gielle-hero-arrow-scroll {
  0% {
    opacity: .95;
    transform: translate(-50%, -3px);
  }

  55% {
    opacity: .12;
    transform: translate(-50%, 7px);
  }

  56%,
  100% {
    opacity: 0;
    transform: translate(-50%, -3px);
  }
}

/* Pagina preventivo: lampeggio del messaggio di stato quando viene mostrato. */
html[data-page="configuratore"] .summary-status:not(:empty) {
  animation: gielle-quote-status-blink 1.05s steps(1, end) infinite;
}

@keyframes gielle-quote-status-blink {
  0%,
  48%,
  100% {
    opacity: 1;
  }

  49%,
  99% {
    opacity: .12;
  }
}

/* Hero delle pagine interne: altezza uniforme, testo centrato e ritaglio mirato delle immagini. */
:is(
  html[data-page="certificazioni"],
  html[data-page="galleria"],
  html[data-page="contatti"],
  html[data-page="privacy"]
) .hero,
html[data-page="configuratore"] .quote-hero {
  height: 650px;
  min-height: 650px;
  max-height: 650px;
  padding-block: 0;
  overflow: hidden;
}

:is(
  html[data-page="certificazioni"],
  html[data-page="galleria"],
  html[data-page="contatti"],
  html[data-page="privacy"]
) .hero > img,
html[data-page="configuratore"] .quote-hero > img {
  width: 100%;
  max-width: none;
  object-fit: cover;
  object-position: left center;
  transform: scale(1.28);
  transform-origin: left center;
}

:is(
  html[data-page="certificazioni"],
  html[data-page="galleria"],
  html[data-page="contatti"],
  html[data-page="privacy"]
) .hero-content,
html[data-page="configuratore"] .quote-hero__copy {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding-block: clamp(42px, 7vw, 84px);
}

/* Il pulsante viene aggiunto da site.js e rende cliccabile la doppia freccia. */
.hero,
.quote-hero {
  position: relative;
}

@media (min-width: 1041px) {
  .hero::before,
  .hero::after,
  .quote-hero__copy::before,
  .quote-hero__copy::after {
    content: none;
    animation: none;
  }
}

.gielle-hero-scroll-trigger {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 8px;
  width: 52px;
  height: 58px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: transparent;
  cursor: pointer;
  transform: translateX(-50%);
  -webkit-tap-highlight-color: transparent;
}

.gielle-hero-scroll-trigger::before,
.gielle-hero-scroll-trigger::after {
  position: absolute;
  left: 50%;
  width: 20px;
  height: 11px;
  content: "";
  opacity: 0;
  pointer-events: none;
  background: center / 20px 11px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='11' viewBox='0 0 20 11'%3E%3Cpath d='M2.5 2l7.5 6.5L17.5 2' fill='none' stroke='%23fff' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  filter: drop-shadow(0 2px 4px rgb(0 0 0 / 42%));
  animation: gielle-hero-arrow-scroll 1.2s cubic-bezier(.22, .61, .36, 1) infinite;
}

.gielle-hero-scroll-trigger::before {
  top: 13px;
}

.gielle-hero-scroll-trigger::after {
  top: 27px;
  animation-delay: .6s;
}

.gielle-hero-scroll-trigger:hover {
  background: rgb(255 255 255 / 10%);
}

.gielle-hero-scroll-trigger:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

@media (max-width: 1040px) {
  .gielle-hero-scroll-trigger {
    display: none;
  }

  :is(
    html[data-page="certificazioni"],
    html[data-page="galleria"],
    html[data-page="contatti"],
    html[data-page="privacy"]
  ) .hero,
  html[data-page="configuratore"] .quote-hero {
    height: 650px;
    min-height: 650px;
    max-height: 650px;
  }

  :is(
    html[data-page="certificazioni"],
    html[data-page="galleria"],
    html[data-page="contatti"],
    html[data-page="privacy"]
  ) .hero > img,
  html[data-page="configuratore"] .quote-hero > img {
    object-position: left center;
    transform: scale(1.22);
  }

  :is(
    html[data-page="certificazioni"],
    html[data-page="galleria"],
    html[data-page="contatti"],
    html[data-page="privacy"]
  ) .hero-content,
  html[data-page="configuratore"] .quote-hero__copy {
    min-height: 100%;
    padding-block: clamp(52px, 8vw, 76px);
  }
}

@media (max-width: 1040px) and (orientation: landscape) {
  :is(
    html[data-page="certificazioni"],
    html[data-page="galleria"],
    html[data-page="contatti"],
    html[data-page="privacy"]
  ) .hero > img,
  html[data-page="configuratore"] .quote-hero > img {
    object-position: left center;
    transform: scale(1.32);
  }

  /* Galleria: conserva il lato destro e ritaglia quello sinistro con i loghi. */
  html[data-page="galleria"] .hero > img {
    object-position: right center;
    transform-origin: right center;
  }

  :is(
    html[data-page="certificazioni"],
    html[data-page="galleria"],
    html[data-page="contatti"],
    html[data-page="privacy"]
  ) .hero-content,
  html[data-page="configuratore"] .quote-hero__copy {
    padding-block: 44px;
  }
}

@media (max-width: 620px) and (orientation: portrait) {
  :is(
    html[data-page="certificazioni"],
    html[data-page="galleria"],
    html[data-page="contatti"],
    html[data-page="privacy"]
  ) .hero > img,
  html[data-page="configuratore"] .quote-hero > img {
    object-position: 18% center;
    transform: none;
  }

  .gielle-hero-scroll-trigger {
    bottom: 6px;
    width: 46px;
    height: 54px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gielle-hero-scroll-trigger::before,
  .gielle-hero-scroll-trigger::after {
    opacity: .9;
    animation: none;
  }
}

/* Bandierine lingua: immagini SVG locali con angoli arrotondati su tutte le pagine. */
.language-switcher img[src$=".svg"],
.gflag .language-flag {
  display: block !important;
  width: 30px !important;
  height: 20px !important;
  max-width: none !important;
  object-fit: fill;
  border: 1px solid rgb(23 36 42 / 18%);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgb(23 36 42 / 14%);
}

@media (min-width: 1041px) {
  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .site-header .language-switcher,
  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .site-header .gflag {
    visibility: visible !important;
    opacity: 1 !important;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .site-header .language-switcher {
    display: inline-flex !important;
  }

  :is(html[data-page="certificazioni"], html[data-page="configuratore"], html[data-page="contatti"], html[data-page="galleria"], html[data-page="home"], html[data-page="privacy"], html[data-page="servizi"]) .site-header .gflag {
    display: inline-flex !important;
  }
}

/* Desktop Preventivo: copertura completa della hero con il minimo ritaglio. */
@media (min-width: 1041px) {
  html[data-page="configuratore"] .quote-hero > img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    transform: none;
  }
}

/* Dissolvenza casuale e continua delle immagini di sfondo delle hero. */
.hero > img,
.quote-hero > img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center !important;
  transform: scale(1.46) !important;
  transform-origin: center center !important;
}

.hero > img.gielle-hero-fade-image,
.quote-hero > img.gielle-hero-fade-image {
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.4s ease-in-out;
  will-change: opacity;
}

.hero > img.gielle-hero-fade-image.is-active,
.quote-hero > img.gielle-hero-fade-image.is-active {
  opacity: 1;
}

/* Comparsa progressiva a blocchi dei contenuti testuali delle hero. */
.hero-content > *,
.quote-hero__copy > * {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translate3d(-48px, 0, 0);
  will-change: opacity, transform, clip-path;
}

:is(.hero, .quote-hero).gielle-hero-text-reveal-start .hero-content > *,
:is(.hero, .quote-hero).gielle-hero-text-reveal-start .quote-hero__copy > * {
  animation: gielle-hero-text-reveal .82s cubic-bezier(.22, .61, .36, 1) both;
  animation-delay: var(--gielle-hero-line-delay, 0s);
}

/* Cosa facciamo: contenitore statico, animazione solo sul nuovo logo Gielle. */
html[data-page="servizi"] .hero-content > .hero-partner-logos {
  opacity: 1 !important;
  clip-path: none !important;
  transform: none !important;
  animation: none !important;
  will-change: auto;
}

/* Dimensione effettiva +70% rispetto ai 239 px originali. */
html[data-page="servizi"] .hero-partner-logos .hero-logo-gielle {
  display: block;
  width: 406.3px !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  flex: 0 0 auto;
}

html[data-page="servizi"] .hero-partner-logos .gielle-original-logo-reveal {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translate3d(-48px, 0, 0);
  will-change: opacity, transform, clip-path;
}

html[data-page="servizi"] .hero.gielle-hero-text-reveal-start .hero-partner-logos .gielle-original-logo-reveal {
  animation: gielle-hero-text-reveal .82s cubic-bezier(.22, .61, .36, 1) both;
  animation-delay: var(--gielle-hero-line-delay, 0s);
}

@keyframes gielle-hero-text-reveal {
  from {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transform: translate3d(-48px, 0, 0);
  }

  to {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: none;
  }
}

/* Il titolo Contatti conserva il reveal orizzontale senza ritagliare i discendenti. */
@keyframes gielle-hero-text-reveal-contact-title {
  from {
    opacity: 0;
    clip-path: inset(-0.18em 100% -0.3em -0.1em);
    transform: translate3d(-48px, 0, 0);
  }

  99% {
    opacity: 1;
    clip-path: inset(-0.18em -0.1em -0.3em -0.1em);
    transform: none;
  }

  to {
    opacity: 1;
    clip-path: none;
    transform: none;
  }
}

/* Spaziature tipografiche mirate per rendere visibili i discendenti. */
html[data-page="contatti"] .hero h1 {
  line-height: 1.08;
  padding-bottom: 0.16em;
  overflow: visible;
}

html[data-page="contatti"] .hero.gielle-hero-text-reveal-start .hero-content > h1 {
  animation-name: gielle-hero-text-reveal-contact-title;
}

html[data-page="contatti"] .hero h1 + p {
  margin-top: 32px;
}

html[data-page="privacy"] .hero h1 {
  line-height: 1.04;
}

@media (max-width: 1040px) and (orientation: landscape) {
  .hero > img,
  .quote-hero > img {
    transform: scale(1.52) !important;
  }
}

@media (max-width: 620px) and (orientation: portrait) {
  .hero > img,
  .quote-hero > img {
    transform: scale(1.28) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero > img.gielle-hero-fade-image,
  .quote-hero > img.gielle-hero-fade-image {
    transition: none;
  }

  .hero-content > *,
  .quote-hero__copy > *,
  html[data-page="servizi"] .hero-partner-logos .gielle-original-logo-reveal {
    opacity: 1 !important;
    clip-path: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* Pagina di manutenzione: pulsante cookie coerente con tutte le altre pagine. */
html[data-page="underconstruction"] {
  --gielle-cookie-bg: #ffffff;
  --gielle-cookie-text: #1f2933;
  --gielle-cookie-muted: #59616d;
  --gielle-cookie-border: #d9dde3;
  --gielle-cookie-primary: #f58220;
  --gielle-cookie-primary-hover: #dc7017;
  --gielle-cookie-shadow: 0 18px 45px rgba(17, 24, 39, 0.22);
}

html[data-page="underconstruction"] .gielle-cookie-banner,
html[data-page="underconstruction"] .gielle-cookie-settings {
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

html[data-page="underconstruction"] .gielle-cookie-banner *,
html[data-page="underconstruction"] .gielle-cookie-settings * {
  box-sizing: border-box;
}

html[data-page="underconstruction"] .gielle-cookie-banner {
  position: fixed;
  z-index: 999999;
  right: 18px;
  bottom: 18px;
  width: min(560px, calc(100vw - 36px));
  padding: 18px;
  color: var(--gielle-cookie-text);
  background: var(--gielle-cookie-bg);
  border: 1px solid var(--gielle-cookie-border);
  border-radius: 8px;
  box-shadow: var(--gielle-cookie-shadow);
  text-align: left;
}

html[data-page="underconstruction"] .gielle-cookie-banner[hidden],
html[data-page="underconstruction"] .gielle-cookie-settings[hidden] {
  display: none !important;
}

html[data-page="underconstruction"] .gielle-cookie-title {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
}

html[data-page="underconstruction"] .gielle-cookie-text {
  margin: 0;
  color: var(--gielle-cookie-muted);
  font-size: 14px;
  line-height: 1.5;
}

html[data-page="underconstruction"] .gielle-cookie-text a {
  color: var(--gielle-cookie-text);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

html[data-page="underconstruction"] .gielle-cookie-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px;
}

html[data-page="underconstruction"] .gielle-cookie-button {
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid var(--gielle-cookie-border);
  border-radius: 6px;
  color: var(--gielle-cookie-text);
  background: #ffffff;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
}

html[data-page="underconstruction"] .gielle-cookie-button:hover,
html[data-page="underconstruction"] .gielle-cookie-button:focus-visible {
  border-color: var(--gielle-cookie-primary);
  outline: none;
}

html[data-page="underconstruction"] .gielle-cookie-button-primary {
  border-color: var(--gielle-cookie-primary);
  color: #ffffff;
  background: var(--gielle-cookie-primary);
}

html[data-page="underconstruction"] .gielle-cookie-button-primary:hover,
html[data-page="underconstruction"] .gielle-cookie-button-primary:focus-visible {
  border-color: var(--gielle-cookie-primary-hover);
  background: var(--gielle-cookie-primary-hover);
}

html[data-page="underconstruction"] .gielle-cookie-settings {
  position: fixed;
  z-index: 999998;
  left: 16px;
  bottom: 16px;
  min-height: 38px;
  padding: 9px 13px;
  border: 1px solid var(--gielle-cookie-border);
  border-radius: 999px;
  color: var(--gielle-cookie-text);
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.12);
  font: 700 13px/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

html[data-page="underconstruction"] .gielle-cookie-settings[hidden] {
  display: none !important;
}

html[data-page="underconstruction"] .gielle-cookie-settings:hover,
html[data-page="underconstruction"] .gielle-cookie-settings:focus-visible {
  border-color: var(--gielle-cookie-primary);
  outline: none;
}

@media (max-width: 640px) {
  html[data-page="underconstruction"] .gielle-cookie-settings {
    left: auto;
    right: 60px;
    bottom: 15px;
  }
}

@media (max-width: 560px) {
  html[data-page="underconstruction"] .gielle-cookie-banner {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
    padding: 16px;
  }

  html[data-page="underconstruction"] .gielle-cookie-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  html[data-page="underconstruction"] .gielle-cookie-button {
    width: 100%;
  }
}

/* Pagina di manutenzione: logo centrale, doppio rispetto al logo della home. */
html[data-page="underconstruction"] body {
  min-height: 100svh;
  margin: 0;
  padding: clamp(92px, 10vw, 112px) 20px clamp(36px, 7vw, 72px);
  overflow-x: hidden;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgb(127 54 0 / 12%), transparent 36rem),
    #fff;
}

html[data-page="underconstruction"] .maintenance-content {
  width: min(920px, 100%);
  margin-inline: auto;
}

html[data-page="underconstruction"] .maintenance-language-switcher {
  position: fixed;
  z-index: 100;
  top: 18px;
  right: 20px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid rgb(23 36 42 / 10%);
  border-radius: 14px;
  background: rgb(255 255 255 / 92%);
  box-shadow: 0 10px 28px rgb(23 36 42 / 12%);
  backdrop-filter: blur(12px);
}

html[data-page="underconstruction"] .maintenance-language-switcher .gflag {
  display: inline-grid !important;
  place-items: center;
  width: 40px;
  min-width: 40px;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 4px;
  appearance: none;
  border: 1px solid transparent;
  border-radius: 8px;
  color: transparent;
  background: transparent;
  box-shadow: none;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease;
}

html[data-page="underconstruction"] .maintenance-language-switcher .gflag:hover,
html[data-page="underconstruction"] .maintenance-language-switcher .gflag:focus-visible {
  border-color: rgb(127 54 0 / 34%);
  background: rgb(127 54 0 / 8%);
  outline: none;
}

html[data-page="underconstruction"] .maintenance-language-switcher .gflag.is-current-language,
html[data-page="underconstruction"] .maintenance-language-switcher .gflag[aria-pressed="true"] {
  border-color: #7f3600;
  background: rgb(127 54 0 / 12%);
}

html[data-page="underconstruction"] .maintenance-language-switcher .language-flag {
  width: 30px !important;
  height: 20px !important;
  border-radius: 4px;
}

html[data-page="underconstruction"] .maintenance-logo {
  position: relative;
  z-index: 5;
  display: block;
  width: 128px;
  height: 138px;
  margin: 0 auto 34px;
  border-radius: 16px;
  outline: none;
}

html[data-page="underconstruction"] .maintenance-logo img {
  display: block;
  width: 128px;
  height: 138px;
  max-width: none;
  object-fit: cover;
  object-position: top;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgb(23 36 42 / 18%);
  transform: scale(1);
  transform-origin: center top;
  transition: transform 320ms cubic-bezier(.2, .75, .25, 1);
  will-change: transform;
}

html[data-page="underconstruction"] .maintenance-logo:focus-visible {
  outline: 3px solid #7f3600;
  outline-offset: 5px;
}

html[data-page="underconstruction"] .maintenance-content > img {
  max-width: 100%;
  height: auto;
}

@media (hover: hover) and (pointer: fine) {
  html[data-page="underconstruction"] .maintenance-logo:hover img {
    transform: scale(2);
  }
}

@media (max-width: 620px) {
  html[data-page="underconstruction"] .maintenance-language-switcher {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-page="underconstruction"] .maintenance-logo img {
    transition: none;
  }
}

/* ================================================================
   CONFIGURATORE - SIMULATORI ACUSTICO ED ENERGETICO (2026-09-21)
   ================================================================ */
html[data-page="configuratore"] .gielle-simulators {
  margin-top: 38px;
  padding-top: 8px;
}
html[data-page="configuratore"] .simulators-heading {
  max-width: 820px;
  margin: 0 0 24px;
}
html[data-page="configuratore"] .simulators-heading h2 {
  margin: 10px 0 12px;
  color: var(--quote-ink);
  font-size: clamp(1.8rem, 3.8vw, 2.75rem);
  line-height: 1.05;
  letter-spacing: -.025em;
}
html[data-page="configuratore"] .simulators-heading p {
  margin: 0;
  color: var(--quote-muted);
  line-height: 1.7;
}
html[data-page="configuratore"] .simulators-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}
html[data-page="configuratore"] .simulator-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--quote-line);
  border-radius: var(--quote-radius);
  background: #fff;
  box-shadow: 0 18px 50px rgba(23,36,42,.09);
}
html[data-page="configuratore"] .simulator-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--quote-yellow), var(--quote-blue));
}
html[data-page="configuratore"] .simulator-card--energy::before {
  background: linear-gradient(90deg, var(--quote-blue), #4db88b);
}
html[data-page="configuratore"] .simulator-card__head {
  padding: 27px 26px 10px;
}
html[data-page="configuratore"] .simulator-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eef8fa;
  color: #126b80;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
html[data-page="configuratore"] .simulator-card--noise .simulator-kicker {
  background: #fff8cf;
  color: #655000;
}
html[data-page="configuratore"] .simulator-card__head h3 {
  margin: 13px 0 9px;
  color: var(--quote-ink);
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  line-height: 1.1;
}
html[data-page="configuratore"] .simulator-card__head p {
  margin: 0;
  color: var(--quote-muted);
  font-size: .94rem;
  line-height: 1.6;
}
html[data-page="configuratore"] .simulator-field {
  min-width: 0;
  padding: 0 26px;
}
html[data-page="configuratore"] .simulator-field label {
  display: block;
  margin: 0 0 7px;
  color: var(--quote-ink);
  font-size: .88rem;
  font-weight: 800;
}
html[data-page="configuratore"] .simulator-field input,
html[data-page="configuratore"] .simulator-field select {
  display: block;
  width: 100%;
  min-height: 46px;
  margin: 0;
  border: 1px solid #bfcbd0;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: var(--quote-ink);
  font: inherit;
}
html[data-page="configuratore"] .simulator-field input:focus,
html[data-page="configuratore"] .simulator-field select:focus {
  outline: 3px solid rgba(13,152,186,.18);
  border-color: var(--quote-blue);
}
html[data-page="configuratore"] .noise-reference {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 17px 26px 0;
}
html[data-page="configuratore"] .noise-reference > div {
  padding: 13px 14px;
  border: 1px solid var(--quote-line);
  border-radius: 12px;
  background: var(--quote-soft);
}
html[data-page="configuratore"] .noise-reference span,
html[data-page="configuratore"] .noise-reference strong {
  display: block;
}
html[data-page="configuratore"] .noise-reference span {
  color: var(--quote-muted);
  font-size: .76rem;
  line-height: 1.3;
}
html[data-page="configuratore"] .noise-reference strong {
  margin-top: 3px;
  color: var(--quote-ink);
  font-size: 1.25rem;
}
html[data-page="configuratore"] .noise-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 26px 0;
}
html[data-page="configuratore"] .noise-button {
  position: relative;
  display: flex;
  min-height: 112px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  overflow: hidden;
  border: 1px solid #aebdc2;
  border-radius: 15px;
  padding: 18px;
  cursor: pointer;
  color: #fff;
  text-align: left;
  font: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
html[data-page="configuratore"] .noise-button::after {
  content: "";
  position: absolute;
  inset: 13px 13px auto auto;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
html[data-page="configuratore"] .noise-button::before {
  content: "";
  position: absolute;
  top: 25px;
  right: 25px;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #fff;
}
html[data-page="configuratore"] .noise-button--before {
  background: linear-gradient(145deg, #7c351e, #b84c27);
}
html[data-page="configuratore"] .noise-button--after {
  background: linear-gradient(145deg, #0e6f84, #172f39);
}
html[data-page="configuratore"] .noise-button:hover,
html[data-page="configuratore"] .noise-button.is-playing {
  transform: translateY(-2px);
  border-color: var(--quote-yellow);
  box-shadow: 0 13px 28px rgba(23,36,42,.18);
}
html[data-page="configuratore"] .noise-button.is-playing::after {
  background: var(--quote-yellow);
}
html[data-page="configuratore"] .noise-button.is-playing::before {
  top: 31px;
  right: 31px;
  width: 14px;
  height: 14px;
  border: 0;
  background: linear-gradient(90deg, #17242a 0 4px, transparent 4px 10px, #17242a 10px 14px);
  box-shadow: none;
  transform: translate(50%, -50%);
}
html[data-page="configuratore"] .noise-button__label {
  position: relative;
  z-index: 2;
  font-size: 1.3rem;
  font-weight: 950;
  letter-spacing: .04em;
}
html[data-page="configuratore"] .noise-button__hint {
  position: relative;
  z-index: 2;
  margin-top: 3px;
  color: rgba(255,255,255,.82);
  font-size: .78rem;
}
html[data-page="configuratore"] .noise-meter {
  padding: 19px 26px 0;
  color: var(--quote-muted);
  font-size: .78rem;
}
html[data-page="configuratore"] .noise-meter__track {
  height: 11px;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6ecee;
}
html[data-page="configuratore"] .noise-meter__track i {
  display: block;
  width: 86%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #51ae86, var(--quote-yellow), #dd6639);
  transition: width .38s ease;
}
html[data-page="configuratore"] #noise-meter-fill[data-mode="after"] {
  width: var(--noise-after, 38%);
}
html[data-page="configuratore"] .noise-meter__ends {
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
}
html[data-page="configuratore"] .noise-controls {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 18px 26px 0;
}
html[data-page="configuratore"] .simulator-secondary-button {
  min-height: 38px;
  border: 1px solid #b9c5ca;
  border-radius: 9px;
  padding: 8px 13px;
  background: #fff;
  color: var(--quote-ink);
  cursor: pointer;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
}
html[data-page="configuratore"] #noise-status {
  margin: 0;
  color: var(--quote-muted);
  font-size: .78rem;
  line-height: 1.45;
}
html[data-page="configuratore"] .simulator-disclaimer {
  margin: 20px 26px 25px;
  padding-top: 15px;
  border-top: 1px solid var(--quote-line);
  color: #657077;
  font-size: .76rem;
  line-height: 1.5;
}
html[data-page="configuratore"] .simulator-disclaimer a {
  color: #126b80;
  text-decoration: underline;
  text-underline-offset: 2px;
}
html[data-page="configuratore"] .energy-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 2px 26px 0;
}
html[data-page="configuratore"] .energy-form .simulator-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-self: start;
  padding-inline: 0;
}
html[data-page="configuratore"] .energy-form .simulator-field--wide,
html[data-page="configuratore"] .energy-form .energy-dry-fields {
  grid-column: 1 / -1;
  padding-inline: 0;
}
/* Uniforma altezza e allineamento verticale di tutti i campi del simulatore energetico. */
html[data-page="configuratore"] .energy-form .simulator-field > label {
  display: flex;
  min-height: 3.4em;
  align-items: flex-end;
  margin-bottom: 7px;
  line-height: 1.35;
}
html[data-page="configuratore"] .energy-form .simulator-field > input,
html[data-page="configuratore"] .energy-form .simulator-field > select {
  width: 100%;
  height: 46px;
  min-height: 46px;
  max-height: 46px;
  box-sizing: border-box;
}
html[data-page="configuratore"] .energy-conditional[hidden],
html[data-page="configuratore"] .energy-dry-fields[hidden] {
  display: none !important;
}
html[data-page="configuratore"] .energy-stratigraphy {
  margin: 0 0 12px;
  padding: 13px 14px;
  border-left: 4px solid var(--quote-blue);
  border-radius: 10px;
  background: #eef8fa;
  color: #40525a;
  font-size: .82rem;
  line-height: 1.5;
}
html[data-page="configuratore"] .energy-dry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
html[data-page="configuratore"] .energy-dry-grid .simulator-field {
  padding: 0 !important;
}
html[data-page="configuratore"] .energy-result {
  margin: 18px 26px 0;
  overflow: hidden;
  border: 1px solid #cde6ec;
  border-radius: 14px;
  background: #f6fbfc;
}
html[data-page="configuratore"] .energy-result__hero {
  padding: 18px 18px 15px;
  background: linear-gradient(135deg, #17242a, #245764);
  color: #fff;
}
html[data-page="configuratore"] .energy-result__hero > span {
  display: block;
  color: #c9d7da;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}
html[data-page="configuratore"] .energy-result__hero > strong {
  display: block;
  margin-top: 3px;
  color: var(--quote-yellow);
  font-size: clamp(1.75rem, 4vw, 2.45rem);
  line-height: 1.05;
}
html[data-page="configuratore"] .energy-result__bar {
  height: 7px;
  margin-top: 13px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
}
html[data-page="configuratore"] .energy-result__bar i {
  display: block;
  width: var(--energy-progress, 2%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--quote-blue), var(--quote-yellow));
  transition: width .35s ease;
}
html[data-page="configuratore"] .energy-result__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
html[data-page="configuratore"] .energy-result__grid > div {
  padding: 14px 16px;
  border-top: 1px solid #dbecef;
}
html[data-page="configuratore"] .energy-result__grid > div:nth-child(odd) {
  border-right: 1px solid #dbecef;
}
html[data-page="configuratore"] .energy-result__grid span,
html[data-page="configuratore"] .energy-result__grid strong {
  display: block;
}
html[data-page="configuratore"] .energy-result__grid span {
  color: var(--quote-muted);
  font-size: .72rem;
}
html[data-page="configuratore"] .energy-result__grid strong {
  margin-top: 3px;
  color: var(--quote-ink);
  font-size: 1rem;
}
html[data-page="configuratore"] .energy-result__note {
  margin: 0;
  padding: 0 16px 16px;
  color: #566168;
  font-size: .75rem;
  line-height: 1.5;
}
@media (max-width: 920px) {
  html[data-page="configuratore"] .simulators-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  html[data-page="configuratore"] .gielle-simulators {
    margin-top: 30px;
  }
  html[data-page="configuratore"] .simulator-card__head,
  html[data-page="configuratore"] .simulator-field {
    padding-inline: 18px;
  }
  html[data-page="configuratore"] .energy-form {
    padding-inline: 18px;
  }
  html[data-page="configuratore"] .energy-form .simulator-field,
  html[data-page="configuratore"] .energy-form .simulator-field--wide,
  html[data-page="configuratore"] .energy-form .energy-dry-fields {
    padding-inline: 0;
  }
  html[data-page="configuratore"] .energy-form .simulator-field > label {
    min-height: 0;
  }
  html[data-page="configuratore"] .noise-reference,
  html[data-page="configuratore"] .noise-compare,
  html[data-page="configuratore"] .noise-meter,
  html[data-page="configuratore"] .noise-controls,
  html[data-page="configuratore"] .energy-result {
    margin-left: 18px;
    margin-right: 18px;
  }
  html[data-page="configuratore"] .noise-compare,
  html[data-page="configuratore"] .noise-reference,
  html[data-page="configuratore"] .energy-form,
  html[data-page="configuratore"] .energy-result__grid,
  html[data-page="configuratore"] .energy-dry-grid {
    grid-template-columns: 1fr;
  }
  html[data-page="configuratore"] .noise-controls {
    grid-template-columns: 1fr;
  }
  html[data-page="configuratore"] .energy-result__grid > div:nth-child(odd) {
    border-right: 0;
  }
  html[data-page="configuratore"] .simulator-disclaimer {
    margin-inline: 18px;
  }
}
@media print {
  html[data-page="configuratore"] .gielle-simulators {
    display: none !important;
  }
}
