/* TIA COSTRUZIONI — desktop proporzionale definitivo, riferimento 1440 CSS px.
 * Tutti i valori dimensionali crescono con la stessa scala (viewport / 1440).
 * Nessun limite indipendente di crescita, zoom CSS o scala globale.
 * Fino a 1440 px restano attivi esclusivamente i fogli originali.
 * Qui sono presenti solo gli override dimensionali necessari: palette, font,
 * struttura e interazioni continuano a provenire dai CSS di base.
 * Coordinate interne degli SVG conservate: scalano già con il viewBox.
 * Manutenzione e verifiche: _desktop-final-integration/REPORT.md.
 * Il limite noto dello zoom del browser non è risolto da questa migrazione.
 */
@media (min-width: 1441px) {
  html { font-size: 1.111111111vw; }
  :where(.site-chrome) svg:where([width="24"]) { width: 1.666666667vw; }
  :where(.site-chrome) svg:where([height="24"]) { height: 1.666666667vw; }

/* 01 — Misure condivise e controlli di base */
:where(.site-chrome) * {
  margin: 0px;
  padding: 0px;
}
:where(.site-chrome) h1,
:where(.site-chrome) h2 {
  line-height: 1.12;
  letter-spacing: -0.03em;
}
:where(.site-chrome) img {
  max-width: 100%;
}
:where(.site-chrome) .fallback-note {
  padding: 1.388888889vw;
  line-height: 1.6;
}
:where(.site-chrome) [id] {
  scroll-margin-top: 6.666666667vw;
}
:where(.site-chrome) .icon-inline,
:where(.site-chrome) .icon-amber {
  width: 1.111111111vw;
  height: 1.111111111vw;
}
:where(.site-chrome) .btn-primary {
  font-size: 0.902777778vw;
  padding: 0.694444444vw 1.25vw;
  border-radius: 0.277777778vw;
  gap: 0.555555556vw;
  border-width: medium;
  box-shadow: 0 0.138888889vw 0.694444444vw var(--c-amber-glow);
}
:where(.site-chrome) .btn-primary:hover {
  transform: translateY(-0.069444444vw);
  box-shadow: rgba(114, 81, 62, 0.35) 0px 0.277777778vw 0.972222222vw;
}
:where(.site-chrome) .tag-accent-bar {
  width: 1.527777778vw;
  height: 0.208333333vw;
}
:where(.site-chrome) .btn-hero-main {
  font-size: 0.9375vw;
  padding: 0.833333333vw 1.527777778vw;
  border-radius: 0.277777778vw;
  gap: 0.555555556vw;
  box-shadow: 0 0.277777778vw 0.972222222vw var(--c-amber-glow);
}
:where(.site-chrome) .btn-hero-main:hover {
  transform: translateY(-0.069444444vw);
}
:where(.site-chrome) .btn-hero-wa {
  border: 0.069444444vw solid var(--c-border-dark);
  font-size: 0.902777778vw;
  padding: 0.833333333vw 1.25vw;
  border-radius: 0.277777778vw;
  gap: 0.555555556vw;
}
:where(.site-chrome) .stats-container {
  max-width: 88.888888889vw;
  margin: 0px auto;
}
:where(.site-chrome) .service-bento-card.card-light:nth-child(2n+1) {
  border-right: 0.069444444vw solid var(--c-border);
}
:where(.site-chrome) .service-bento-card.card-dark:nth-child(2n+1) {
  border-right: 0.069444444vw solid var(--c-border);
}
:where(.site-chrome) .service-bento-card:nth-child(1),
:where(.site-chrome) .service-bento-card:nth-child(2),
:where(.site-chrome) .service-bento-card:nth-child(3),
:where(.site-chrome) .service-bento-card:nth-child(4) {
  border-bottom: 0.069444444vw solid var(--c-border);
}
:where(.site-chrome) .section-tag-light {
  font-size: 0.763888889vw;
  letter-spacing: 0.08em;
}
:where(.site-chrome) .btn-fast-call {
  border: 0.069444444vw solid var(--c-border-dark);
  padding: 0.694444444vw 1.111111111vw;
  border-radius: 0.277777778vw;
  font-size: 0.902777778vw;
  gap: 0.416666667vw;
}
:where(.site-chrome) .quote-card {
  padding: 1.944444444vw;
  border: 0.069444444vw solid var(--c-border);
  border-radius: 0.972222222vw;
}
:where(.site-chrome) .card-badge {
  font-size: 0.763888889vw;
  margin-bottom: 0.694444444vw;
}
:where(.site-chrome) .card-title {
  font-size: 1.666666667vw;
  line-height: 1.25;
}
:where(.site-chrome) .card-subtitle {
  font-size: 0.972222222vw;
  line-height: 1.6;
  margin: 0.694444444vw 0px 1.527777778vw;
}
:where(.site-chrome) .quote-form-grid {
  gap: 1.111111111vw;
}
:where(.site-chrome) .form-group {
  gap: 0.416666667vw;
  min-width: 0px;
}
:where(.site-chrome) .form-label {
  font-size: 0.833333333vw;
}
:where(.site-chrome) .form-input {
  width: 100%;
  padding: 0.763888889vw;
}
:where(.site-chrome) .checkbox-gdpr {
  margin-top: 0.208333333vw;
}
:where(.site-chrome) .label-gdpr,
:where(.site-chrome) .form-footer-note {
  font-size: 0.833333333vw;
  line-height: 1.5;
}
:where(.site-chrome) .btn-submit {
  gap: 0.555555556vw;
  width: 100%;
  padding: 0.902777778vw;
  border-radius: 0.277777778vw;
}
:where(.site-chrome) .icon-btn,
:where(.site-chrome) .icon-lock {
  width: 1.111111111vw;
  height: 1.111111111vw;
}
:where(.site-chrome) .form-footer-note {
  gap: 0.416666667vw;
}
:where(.site-chrome) .pre-footer-funnel {
  padding: 3.472222222vw 1.388888889vw;
}
:where(.site-chrome) .funnel-container {
  max-width: 59.027777778vw;
  margin: auto;
}
:where(.site-chrome) .funnel-title {
  font-size: 1.944444444vw;
  line-height: 1.3;
  margin: 0.694444444vw 0px;
}
:where(.site-chrome) .funnel-desc {
  line-height: 1.6;
}
:where(.site-chrome) .funnel-buttons {
  gap: 1.25vw;
  margin-top: 1.666666667vw;
}
:where(.site-chrome) .btn-funnel-call,
:where(.site-chrome) .btn-outline-footer {
  gap: 0.416666667vw;
  font-size: 0.902777778vw;
}
:where(.site-chrome) .btn-outline-footer {
  padding: 0.694444444vw 1.111111111vw;
  border: 0.069444444vw solid var(--c-border-dark);
  border-radius: 0.277777778vw;
}
:where(.site-chrome) .reveal.reveal-pending {
  transform: translateY(1.388888889vw);
}
:where(.site-chrome) .btn-primary,
:where(.site-chrome) .btn-hero-main,
:where(.site-chrome) .btn-hero-wa,
:where(.site-chrome) .btn-fast-call {
  min-height: 3.055555556vw;
}
:where(.site-chrome) .form-input:focus-visible {
  box-shadow: 0 0 0 0.347222222vw var(--c-crane-ice);
}
:where(.site-chrome) .checkbox-gdpr {
  width: 1.25vw;
  height: 1.25vw;
}
:where(.site-chrome) h1,
:where(.site-chrome) h2,
:where(.site-chrome) h3 {
  letter-spacing: -0.035em;
}
:where(.site-chrome) :focus-visible {
  outline: 0.208333333vw solid var(--ink);
  outline-offset: 0.277777778vw;
}
:where(.site-chrome) .btn-hero-wa,
:where(.site-chrome) .btn-funnel-call,
:where(.site-chrome) .filter-btn,
:where(.site-chrome) .service-tag-badge {
  border-radius: 0px;
}
:where(.site-chrome) .btn-hero-wa,
:where(.site-chrome) .btn-funnel-call {
  min-height: 3.333333333vw;
}
:where(.site-chrome) .form-input {
  min-width: 0px;
  min-height: 3.472222222vw;
  border: 0.069444444vw solid var(--line-strong);
  border-radius: 0px;
}
:where(.site-chrome) .form-input:focus-visible {
  outline: 0.138888889vw solid var(--detail-walnut);
  outline-offset: 0.208333333vw;
}
:where(.site-chrome) .full-width-group {
  gap: 0.833333333vw;
}
:where(.site-chrome) .label-gdpr {
  line-height: 1.7;
}
:where(.site-chrome) .btn-submit {
  min-height: 3.611111111vw;
}
:where(.site-chrome) .story-grid {
  gap: clamp(1.944444444vw, 4vw, 3.888888889vw);
}
:where(.site-chrome) .story-text h2 {
  font-size: clamp(1.805555556vw, 2.8vw, 2.5vw);
}
:where(.site-chrome) .cred-item {
  line-height: 1.6;
}
:where(.site-chrome) .filter-btn.active {
  box-shadow: inset 0 -0.138888889vw var(--detail-walnut);
}
:where(.site-chrome) .filter-btn:focus-visible {
  outline-offset: -0.277777778vw;
}
:where(.site-chrome) .project-card {
  border-radius: 0px;
}
.project-body-compact {
  border-top: 0.208333333vw solid var(--surface-beige);
}
:where(.site-chrome) .project-name {
  font-size: 1.25vw;
}
:where(.site-chrome) .portfolio-cta-box {
  max-width: 88.888888889vw;
  border-left: 0.208333333vw solid var(--surface-walnut);
}
:where(.site-chrome) .pre-footer-funnel {
  padding-block: 4.444444444vw;
}
:where(.site-chrome) :is(.btn-primary, .btn-hero-main, .btn-submit, .btn-submit-wa, .btn-fast-wa, .btn-fast-call, .btn-b2b) {
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0px;
  min-height: 3.333333333vw;
  line-height: 1.45;
}
:where(.site-chrome) .b2b-container,
:where(.site-chrome) .filter-container,
:where(.site-chrome) .portfolio-grid-container {
  max-width: 88.888888889vw;
}
:where(.site-chrome) .b2b-text {
  min-width: 0px;
}

/* 02 — Header, navigazione, footer e accesso da tastiera comuni */
.site-chrome {
  --home-header-height: 6.25vw;
}
.site-chrome .main-header,
.site-chrome .main-header.scrolled {
  top: 0px;
  width: 100%;
  height: var(--home-header-height);
  min-height: var(--home-header-height);
  margin: 0px;
  padding: 0px;
  box-shadow: rgba(6, 19, 33, 0.08) 0px 0.138888889vw 0.694444444vw;
}
.site-chrome .main-header::after {
  inset: auto 0px 0px;
  height: 0.138888889vw;
}
.site-chrome .header-concept {
  top: 0px;
  left: 50%;
  width: calc(var(--home-header-height) * 4.6153846);
  height: var(--home-header-height);
  max-width: none;
}
.site-chrome .nav-container {
  width: 100%;
  max-width: 94.444444444vw;
  height: var(--home-header-height);
  min-height: var(--home-header-height);
  margin: 0px auto;
  padding: 0px 2.222222222vw;
  gap: 1.111111111vw;
}
.site-chrome .nav-menu {
  gap: clamp(1.527777778vw, 0.277777778vw + 1.65vw, 2.083333333vw);
  padding: 0px;
}
.site-chrome .nav-link {
  min-height: 3.055555556vw;
  padding: 0.694444444vw 0px;
  border-radius: 0px;
  font-size: clamp(0.972222222vw, 0.555555556vw + 0.5vw, 1.111111111vw);
  line-height: 1.2;
}
.site-chrome .nav-link[aria-current="page"]::after,
.site-chrome .nav-link.active::after {
  left: 50%;
  bottom: 0.208333333vw;
  width: 1.944444444vw;
  height: 0.138888889vw;
}
.site-chrome .nav-brand {
  width: 100%;
  height: var(--home-header-height);
}
.site-chrome .nav-logo {
  width: 100%;
  height: 100%;
  padding: 0px;
  margin: 0px;
}
.site-chrome .logo-img {
  width: calc(var(--home-header-height) * 1.08);
  height: calc(var(--home-header-height) * 1.08);
  max-width: none;
  margin: 0px;
  padding: 0px;
}
.site-chrome .nav-actions {
  gap: 1.111111111vw;
}
.site-chrome .language-select {
  width: 4.166666667vw;
  min-width: 4.166666667vw;
  height: 2.777777778vw;
  min-height: 2.777777778vw;
  padding: 0.416666667vw 0.555555556vw;
  line-height: inherit;
  font-size: 0.902777778vw;
  border: 0.069444444vw solid rgba(255, 255, 255, 0.25);
  border-radius: 0.347222222vw;
}
.site-chrome .nav-actions .btn-primary {
  gap: 0.972222222vw;
  height: 3.055555556vw;
  min-height: 3.055555556vw;
  padding: 0px 1.666666667vw;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.347222222vw;
  font-size: clamp(0.972222222vw, 0.555555556vw + 0.45vw, 1.041666667vw);
  line-height: 1.4;
}
.site-chrome .nav-actions .btn-primary svg {
  width: 1.388888889vw;
  height: 1.388888889vw;
}
.site-chrome .nav-actions .btn-primary:hover {
  transform: translateY(-0.069444444vw);
}
.site-chrome .nav-toggle {
  gap: 0.486111111vw;
  min-width: 3.055555556vw;
  min-height: 3.055555556vw;
  padding: 0.416666667vw;
  border-radius: 0px;
  font-size: 1.666666667vw;
}
.site-chrome .nav-toggle-symbol {
  width: 1.666666667vw;
  line-height: 1;
}
.site-chrome .nav-toggle-text {
  font-size: 0.833333333vw;
}
.site-chrome .main-header :focus-visible {
  outline: 0.138888889vw solid var(--line-strong);
  outline-offset: 0.347222222vw;
}
.site-chrome .logo-fallback-text {
  font-size: 1.319444444vw;
  letter-spacing: 0.04em;
}
.site-chrome .logo-fallback-text span {
  font-size: 0.972222222vw;
}
html[lang="ar-EG"] :is(h1, h2, h3, h4, p, label, summary, .nav-link) {
  letter-spacing: normal;
}
.site-chrome .tia-footer-final {
  --footer-gutter: clamp(2.5vw, 3.4vw, 4.583333333vw);
}
.site-chrome .tia-footer-final::after {
  inset: 0px 0px auto auto;
  width: 16.666666667vw;
  height: 16.666666667vw;
}
.site-chrome .tia-footer-final__main {
  max-width: 133.333333333vw;
  min-height: clamp(38.888888889vw, 34.75vw, 47.222222222vw);
  margin-inline: auto;
}
.site-chrome .tia-footer-final__main > * {
  min-width: 0px;
}
.site-chrome .tia-footer-final__shape {
  border-radius: 1.25vw;
}
.site-chrome .tia-footer-final__shape--back {
  width: 78%;
  left: 3%;
  top: -27%;
  border: 0.138888889vw solid var(--footer-blue);
}
.site-chrome .tia-footer-final__shape--middle {
  width: 76%;
  left: 6%;
  bottom: -13%;
  border: 0.069444444vw solid var(--footer-blue);
}
.site-chrome .tia-footer-final__white-panel {
  height: 100%;
  padding: clamp(5.694444444vw, 6.5vw, 8.75vw) 0 2.916666667vw var(--footer-gutter);
}
.site-chrome .tia-footer-final__white-panel::before {
  inset: 0px;
}
.site-chrome .tia-footer-final__logo-box {
  left: calc(45.4% - var(--footer-gutter) * .546);
  width: clamp(10.277777778vw, 12vw, 15.972222222vw);
  margin: 0px 0px 1.25vw;
}
.site-chrome .tia-footer-final__logo {
  width: 100%;
  height: 100%;
}
.site-chrome .tia-footer-final__brand-accent {
  width: 2.916666667vw;
  height: 0.208333333vw;
  margin: 0px 0px 1.111111111vw;
}
.site-chrome .tia-footer-final__mission {
  width: min(37.5vw, 88%);
  margin: 0px 0px 1.25vw;
  font-size: clamp(1.666666667vw, 1.85vw, 2.5vw);
  line-height: 1.2;
  letter-spacing: -0.025em;
}
.site-chrome .tia-footer-final__description {
  width: min(30.555555556vw, 82%);
  margin: 0px 0px 1.527777778vw;
  font-size: clamp(1.041666667vw, 1.15vw, 1.527777778vw);
  line-height: 1.5;
}
.site-chrome .tia-footer-final__area {
  gap: 0.694444444vw;
  width: min(29.166666667vw, 76%);
  margin: 0px;
  font-size: clamp(0.972222222vw, 1.1vw, 1.458333333vw);
  line-height: 1.5;
}
.site-chrome .tia-footer-final__area svg {
  width: 1.527777778vw;
  height: 1.736111111vw;
  flex: 0 0 1.527777778vw;
}
.site-chrome .tia-footer-final__links,
.site-chrome .tia-footer-final__info,
.site-chrome .tia-footer-final__info-block--hours {
  margin-block: clamp(3.611111111vw, 4.2vw, 5.694444444vw) 2.361111111vw;
  padding-inline: clamp(1.527777778vw, 1.8vw, 2.361111111vw);
}
.site-chrome .tia-footer-final__links,
.site-chrome .tia-footer-final__info {
  border-right: 0.069444444vw solid var(--footer-line);
}
.site-chrome .tia-footer-final h3 {
  margin: 0px;
  font-size: clamp(1.041666667vw, 1.15vw, 1.527777778vw);
  line-height: 1.3;
  letter-spacing: 0.025em;
}
.site-chrome .tia-footer-final__heading-line {
  width: 2.638888889vw;
  height: 0.208333333vw;
  margin: 0.833333333vw 0px 1.805555556vw;
}
.site-chrome .tia-footer-final__links a {
  gap: 0.972222222vw;
  min-height: 3.333333333vw;
  margin-bottom: 0.555555556vw;
  font-size: clamp(1.111111111vw, 1.25vw, 1.666666667vw);
  line-height: 1.5;
}
.site-chrome .tia-footer-final__links a svg {
  width: 1.25vw;
  height: 1.25vw;
}
.site-chrome .tia-footer-final a:focus-visible {
  outline: 0.138888889vw solid var(--footer-blue);
  outline-offset: 0.347222222vw;
}
.site-chrome .tia-footer-final__info-block {
  min-width: 0px;
}
.site-chrome .tia-footer-final__info > .tia-footer-final__info-block + .tia-footer-final__info-block {
  margin-top: 2.361111111vw;
}
.site-chrome .tia-footer-final__info-block > a,
.site-chrome .tia-footer-final__info-row {
  gap: 1.111111111vw;
  min-height: 3.055555556vw;
  min-width: 0px;
  font-size: clamp(1.041666667vw, 1.22vw, 1.597222222vw);
  line-height: 1.5;
}
.site-chrome .tia-footer-final__info-block > a {
  margin-bottom: 1.111111111vw;
}
.site-chrome .tia-footer-final__info-block > a span {
  min-width: 0px;
}
.site-chrome .tia-footer-final__info-block svg {
  width: 1.944444444vw;
  height: 1.944444444vw;
  flex: 0 0 1.944444444vw;
}
.site-chrome .tia-footer-final__info-block > .tia-footer-final__contact {
  grid-template-columns: 1.666666667vw minmax(0px, 1fr);
  gap: 0.833333333vw;
  margin-bottom: 1.527777778vw;
  font-size: clamp(0.972222222vw, 1.02vw, 1.25vw);
  line-height: 1.5;
}
.site-chrome .tia-footer-final__contact > svg {
  width: 1.666666667vw;
  height: 1.666666667vw;
  margin-top: 0.069444444vw;
}
.site-chrome .tia-footer-final__contact-body {
  gap: 0.277777778vw;
}
.site-chrome .tia-footer-final__contact-label {
  font-size: 0.902777778vw;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.site-chrome .tia-footer-final__contact:last-child {
  margin-bottom: 0px;
}
.site-chrome .tia-footer-final__info-block--hours .tia-footer-final__info-row + .tia-footer-final__info-row {
  border-top: 0.069444444vw solid var(--footer-line);
  margin-top: 1.666666667vw;
  padding-top: 1.666666667vw;
}
.site-chrome .tia-footer-final__values {
  min-height: 6.944444444vw;
  padding: 1.527777778vw 1.666666667vw 1.527777778vw 7%;
  margin-left: -8%;
}
.site-chrome .tia-footer-final__values::before,
.site-chrome .tia-footer-final__values::after {
  inset: 0px;
}
.site-chrome .tia-footer-final__values::after {
  inset: 0.069444444vw;
}
.site-chrome .tia-footer-final__value {
  gap: 1.25vw;
  min-width: 0px;
  height: 100%;
  padding-inline: 1.805555556vw;
  border-right: 0.069444444vw solid var(--footer-line);
}
.site-chrome .tia-footer-final__value-icon {
  flex: 0 0 3.055555556vw;
  width: 3.055555556vw;
  height: 3.055555556vw;
}
.site-chrome .tia-footer-final__value-icon svg {
  width: 2.5vw;
  height: 2.5vw;
}
.site-chrome .tia-footer-final__value > span {
  min-width: 0px;
}
.site-chrome .tia-footer-final__value small,
.site-chrome .tia-footer-final__value strong {
  font-size: clamp(0.972222222vw, 1.05vw, 1.388888889vw);
  line-height: 1.4;
}
.site-chrome .tia-footer-final__value small {
  margin-bottom: 0.347222222vw;
}
.site-chrome .tia-footer-final__bottom {
  border-top: 0.069444444vw solid var(--footer-line);
}
.site-chrome .tia-footer-final__bottom-inner {
  gap: 1.666666667vw;
  max-width: 133.333333333vw;
  min-height: 6.111111111vw;
  margin-inline: auto;
  padding: 1.25vw var(--footer-gutter);
}
.site-chrome .tia-footer-final__legal-company {
  gap: 1.805555556vw;
}
.site-chrome .tia-footer-final__bottom-line {
  flex: 0 0 2.638888889vw;
  height: 0.208333333vw;
}
.site-chrome .tia-footer-final__bottom p {
  margin: 0px;
  font-size: 0.972222222vw;
  line-height: 1.6;
}
.site-chrome .tia-footer-final__legal-location {
  margin-left: 1.25vw;
  padding-left: 1.25vw;
  border-left: 0.069444444vw solid var(--footer-line);
}
.site-chrome .tia-footer-final__policies {
  gap: 1.527777778vw;
}
.site-chrome .tia-footer-final__policies a {
  min-height: 3.055555556vw;
  font-size: 0.972222222vw;
}
.site-chrome .tia-footer-final__legal-company {
  min-width: 0px;
}
.site-chrome .tia-footer-final__legal-details {
  min-width: 0px;
}
.site-chrome .tia-footer-final__company-data {
  gap: 0.138888889vw 1.388888889vw;
}
.site-chrome .tia-footer-final__policies a:focus-visible {
  outline: 0.138888889vw solid var(--footer-blue);
  outline-offset: 0.277777778vw;
}
.site-chrome .tia-social {
  gap: 0.555555556vw;
}
.site-chrome .tia-footer-final__info-block--hours > .tia-social {
  padding-inline-start: 2.361111111vw;
}
.site-chrome .tia-footer-final__info-block--hours > .tia-social {
  margin-top: calc(5.208333333vw + (1.3 * clamp(1.041666667vw, 1.15vw, 1.527777778vw)) - (0.5 * (3.055555556vw - (1.5 * clamp(1.041666667vw, 1.22vw, 1.597222222vw)))));
}
.site-chrome .contacts-social {
  margin-top: 1.111111111vw;
}
.site-chrome .tia-social .tia-social__link {
  flex: 0 0 3.055555556vw;
  width: 3.055555556vw;
  height: 3.055555556vw;
  min-width: 3.055555556vw;
  min-height: 3.055555556vw;
  margin: 0px;
  padding: 0px;
  border-radius: 0.277777778vw;
  line-height: 1;
}
.site-chrome .tia-social .tia-social__link > svg {
  flex: 0 0 1.666666667vw;
  width: 1.666666667vw;
  height: 1.666666667vw;
}
.site-chrome .tia-social .tia-social__link:focus-visible {
  outline: 0.208333333vw solid var(--accent-copper);
  outline-offset: 0.208333333vw;
}
.site-chrome .skip-link {
  top: 0.555555556vw;
  left: 0.833333333vw;
  max-width: calc(100% - 1.666666667vw);
  padding: 0.833333333vw 1.25vw;
  border: 0.138888889vw solid rgb(255, 255, 255);
  border-radius: 0.277777778vw;
  transform: translateY(calc(-100% - 1.111111111vw));
}
.site-chrome .skip-link:focus {
  outline: rgb(188, 128, 87) solid 0.208333333vw;
  outline-offset: 0.138888889vw;
}

/* 03 — Home: Hero, sezioni, pulsanti e dettagli approvati */
:where(.site-chrome) .hero-split-section {
  padding: 4.861111111vw 1.388888889vw 5.902777778vw;
  border-bottom: 0.069444444vw solid var(--c-border-dark);
}
:where(.site-chrome) .hero-backdrop-layer {
  inset: 0px;
  background-image: linear-gradient(rgba(255, 255, 255, 0.03) 0.069444444vw, transparent 0.069444444vw), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 0.069444444vw, transparent 0.069444444vw);
  background-size: 3.333333333vw 3.333333333vw;
}
:where(.site-chrome) .hero-split-container {
  max-width: 88.888888889vw;
  margin: 0px auto;
  gap: 3.333333333vw;
}
:where(.site-chrome) .hero-badge-tag {
  gap: 0.555555556vw;
  font-size: 0.763888889vw;
  letter-spacing: 0.08em;
  margin-bottom: 0.972222222vw;
}
:where(.site-chrome) .hero-main-title {
  font-size: 2.916666667vw;
  line-height: 1.12;
}
:where(.site-chrome) .hero-subtitle {
  font-size: 1.076388889vw;
  line-height: 1.6;
  max-width: 40.277777778vw;
  margin-bottom: 1.944444444vw;
}
:where(.site-chrome) .hero-cta-actions {
  gap: 0.833333333vw;
}
:where(.site-chrome) .hero-visual-frame {
  border-radius: 0.416666667vw;
  border: 0.069444444vw solid var(--c-border-dark);
  box-shadow: rgba(0, 0, 0, 0.5) 0px 1.388888889vw 2.777777778vw;
}
:where(.site-chrome) .hero-visual-frame img {
  width: 100%;
  height: 100%;
}
:where(.site-chrome) .stats-strip {
  border-bottom: 0.069444444vw solid var(--c-border);
  padding: 1.805555556vw 1.388888889vw;
}
:where(.site-chrome) .section-editorial-about {
  padding: 5.555555556vw 1.388888889vw;
  border-bottom: 0.069444444vw solid var(--c-border);
}
:where(.site-chrome) .editorial-container {
  max-width: 88.888888889vw;
  margin: 0px auto;
}
:where(.site-chrome) .editorial-layout {
  gap: 3.472222222vw;
}
:where(.site-chrome) .editorial-image-wrap {
  border-radius: 0.416666667vw;
  border: 0.069444444vw solid var(--c-border-strong);
  box-shadow: rgba(45, 39, 35, 0.06) 0px 0.694444444vw 2.083333333vw;
}
:where(.site-chrome) .editorial-image-wrap img {
  width: 100%;
  height: 100%;
}
:where(.site-chrome) .editorial-tag,
:where(.site-chrome) .section-tag {
  font-size: 0.763888889vw;
  letter-spacing: 0.08em;
  margin-bottom: 0.416666667vw;
}
:where(.site-chrome) .editorial-title,
:where(.site-chrome) .section-title {
  font-size: 2.222222222vw;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
:where(.site-chrome) .editorial-handwritten-lead {
  font-size: 1.076388889vw;
  line-height: 1.65;
  margin-top: 0.833333333vw;
  border-left: 0.208333333vw solid var(--c-crane-base);
  padding-left: 0.972222222vw;
}
:where(.site-chrome) .hero-split-container > *,
:where(.site-chrome) .editorial-layout > *,
:where(.site-chrome) .contact-layout-container > *,
:where(.site-chrome) .story-grid > *,
:where(.site-chrome) .service-deep-card > *,
:where(.site-chrome) .team-box > * {
  min-width: 0px;
}
:where(.site-chrome) .hero-main-title {
  letter-spacing: -0.025em;
}
.home-page .hero-visual-frame,
.home-page .editorial-image-wrap,
:where(.site-chrome) .quote-card {
  border-radius: 0.277777778vw;
}
:where(.site-chrome) .section-title,
:where(.site-chrome) .editorial-title {
  font-size: clamp(2.083333333vw, 3.8vw, 3.611111111vw);
  line-height: 1.12;
}
.home-page {
  margin: 0px;
  padding-top: 0px;
}
.home-page :is(.services-rows-section, .proof-section, #dove-trovarci, #faq, #recensioni, .dual-callout-strip, #contatti) {
  padding-block: 5.555555556vw;
}
.home-page :is(.section-header-center, .reviews-header-center, .section-header-split) {
  margin-bottom: 2.777777778vw;
}
.home-page .hero-visual-frame {
  width: 100%;
  height: 100%;
  border-radius: 0px;
}
.home-page .hero-visual-frame > img {
  inset: 0px;
  width: 100%;
  height: 100%;
  object-position: center 52%;
}
.home-page #dove-trovarci iframe {
  width: 100%;
  min-height: 25.694444444vw;
}
.home-page .portfolio-architecture::before {
  inset: 0px;
  background-image: linear-gradient( rgba(var(--accent-copper-rgb), 0.05) 0.069444444vw, transparent 0.069444444vw ), linear-gradient( 90deg, rgba(var(--accent-copper-rgb), 0.04) 0.069444444vw, transparent 0.069444444vw );
  background-size: 5.138888889vw 5.138888889vw;
}
.home-page .portfolio-architecture::after {
  width: 55.555555556vw;
  height: 55.555555556vw;
  top: -29.166666667vw;
  right: -9.722222222vw;
  border-radius: 50%;
}
.home-page #contatti.project-cta .project-cta__trust-item {
  min-width: 0px;
  grid-template-columns: 2.777777778vw minmax(0px, 1fr);
  gap: 0.833333333vw;
  padding: 0.277777778vw 1.527777778vw;
  border-right: 0.069444444vw solid rgba(7, 26, 54, 0.18);
}
.home-page #contatti.project-cta .project-cta__trust-item:first-child {
  padding-left: 0px;
}
.home-page #contatti.project-cta .project-cta__trust-item:last-child {
  padding-right: 0px;
}
.home-page #contatti.project-cta .project-cta__trust-item > div:last-child {
  gap: 0.208333333vw;
  min-width: 0px;
}
.home-page #contatti.project-cta .project-cta__trust-item strong {
  font-size: 0.868055556vw;
  line-height: 1.25;
}
.home-page #contatti.project-cta .project-cta__trust-item span {
  font-size: 0.694444444vw;
  line-height: 1.35;
}
.home-page .intro-logo {
  inset: 0px;
}
.home-page .intro-logo img {
  width: min(29.166666667vw, 70vw, 65svh);
  height: auto;
}
.home-page .hero-split-section {
  min-height: clamp(38.888888889vw, 68svh, 44.444444444vw);
  padding: 0px 1.666666667vw;
}
.home-page .hero-split-container {
  width: 100%;
  max-width: 88.888888889vw;
  min-height: inherit;
  margin: 0px auto;
  gap: 0px;
}
:where(.site-chrome) .hero-split-container > * {
  min-width: 0px;
}
.home-page .hero-split-text {
  width: 100%;
  max-width: 62.5vw;
  padding: 4.444444444vw 0px;
}
.home-page .hero-split-visual {
  inset: 0px;
}
.home-page .hero-backdrop-layer {
  inset: 0px;
}
.home-page .hero-main-title {
  max-width: 48.611111111vw;
  margin: 0px 0px 1.527777778vw;
  font-size: clamp(3.333333333vw, 4.5vw, 5vw);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.home-page .hero-badge-tag {
  gap: 0.694444444vw;
  margin: 0px 0px 1.25vw;
  font-size: 0.694444444vw;
  letter-spacing: 0.1em;
}
.home-page .hero-subtitle {
  max-width: 43.055555556vw;
  margin: 0px 0px 1.944444444vw;
  font-size: clamp(1.180555556vw, 1.25vw, 1.319444444vw);
  line-height: 1.62;
}
.home-page .hero-cta-actions {
  max-width: none;
  gap: 0.833333333vw;
}
.home-page .btn-hero-main,
.home-page .btn-hero-wa {
  min-height: 3.75vw;
  padding: 0.972222222vw 1.527777778vw;
  border-radius: 0.416666667vw;
  font-size: 0.972222222vw;
}
.home-page .btn-hero-main {
  border: 0.069444444vw solid var(--button-primary);
}
.home-page .btn-hero-wa {
  border: 0.069444444vw solid var(--accent-copper-light);
}
.home-page .btn-hero-wa svg {
  width: 1.25vw;
  height: 1.25vw;
}
.home-page .hero-split-section {
  margin-top: 0px;
}
.home-page .stats-strip {
  padding: 0px 1.388888889vw;
}
.home-page .stats-container {
  max-width: 88.888888889vw;
  margin: 0px auto;
}
.home-page .trust-item {
  grid-template-columns: 1.666666667vw minmax(0px, 1fr);
  gap: 0.972222222vw;
  min-width: 0px;
  padding: 1.666666667vw 1.388888889vw;
}
.home-page .trust-item + .trust-item {
  border-left: 0.069444444vw solid rgba(255, 255, 255, 0.12);
}
.home-page .trust-item > svg {
  width: 1.597222222vw;
  height: 1.597222222vw;
}
.home-page .trust-item h2 {
  margin: 0px 0px 0.277777778vw;
  font-size: 1.041666667vw;
  line-height: 1.2;
  letter-spacing: -0.015em;
}
.home-page .trust-item p {
  margin: 0px;
  font-size: 0.902777778vw;
  line-height: 1.4;
}
.home-page .editorial-title {
  font-size: clamp(2.222222222vw, 4.8vw, 4.444444444vw);
  letter-spacing: -0.04em;
}
.home-page :is(.section-tag, .section-tag-light, .editorial-tag) {
  gap: 0.833333333vw;
  line-height: 1.5;
  letter-spacing: 0.12em;
  margin-bottom: 0.972222222vw;
  font-size: 0.694444444vw;
}
.home-page :is(.section-tag, .section-tag-light, .editorial-tag)::before {
  width: 1.944444444vw;
  height: 0.138888889vw;
}
.home-page :is(.editorial-container, .values-container, .map-notebook-container, .faq-container, .reviews-container) {
  max-width: 88.888888889vw;
}
.home-page #storia {
  padding: clamp(5vw, 7vw, 6.666666667vw) 1.666666667vw;
}
.home-page #storia .editorial-container {
  max-width: 88.888888889vw;
}
.home-page #storia .editorial-layout {
  gap: clamp(3.611111111vw, 6vw, 5.555555556vw);
  min-height: 0px;
}
.home-page #storia .editorial-image-col {
  min-width: 0px;
}
.home-page #storia .editorial-image-wrap {
  height: clamp(33.333333333vw, 39vw, 37.5vw);
  border: 0.138888889vw solid var(--accent-copper);
  border-radius: 0.277777778vw;
}
.home-page #storia .editorial-image-wrap img {
  inset: 0px;
  width: 100%;
  height: 100%;
  object-position: center center;
}
.home-page #storia .editorial-text-col {
  max-width: 37.5vw;
  min-width: 0px;
}
.home-page #storia .editorial-tag {
  margin: 0px 0px 0.972222222vw;
  font-size: 0.763888889vw;
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.home-page #storia .editorial-tag::before {
  width: 1.805555556vw;
  height: 0.138888889vw;
  margin: 0px 0.694444444vw 0.208333333vw 0px;
}
.home-page #storia .editorial-title {
  max-width: 38.888888889vw;
  margin: 0px 0px 1.25vw;
  font-size: clamp(2.361111111vw, 3.7vw, 3.472222222vw);
  line-height: 1.08;
  letter-spacing: -0.035em;
}
.home-page #storia .editorial-handwritten-lead,
.home-page #storia .editorial-supporting-copy {
  max-width: 38.888888889vw;
  margin: 0px 0px 0.694444444vw;
  padding: 0px;
  font-size: 1.111111111vw;
  line-height: 1.7;
}
.home-page #storia .editorial-supporting-copy {
  margin-bottom: 1.527777778vw;
}
.home-page #storia .editorial-discover-link {
  gap: 0.694444444vw;
  min-height: 3.055555556vw;
  font-size: 0.972222222vw;
  border-bottom: 0.069444444vw solid var(--detail-walnut);
}
.home-page #storia .editorial-discover-link svg {
  width: 1.180555556vw;
  height: 1.180555556vw;
}
.home-page #storia .editorial-discover-link:hover svg {
  transform: translateX(0.208333333vw);
}
.home-page #storia .editorial-discover-link:focus-visible {
  outline: 0.208333333vw solid var(--detail-walnut);
  outline-offset: 0.277777778vw;
}
.home-page .editorial-image-wrap,
:where(.site-chrome) .b2b-box,
:where(.site-chrome) .portfolio-cta-box,
:where(.site-chrome) .b2b-icon-wrap {
  border-radius: 0px;
}
.home-page .work-manifesto {
  padding: 6.666666667vw 1.666666667vw;
}
.home-page .work-manifesto__container {
  width: 100%;
  max-width: 81.944444444vw;
  margin: 0px auto;
}
.home-page .work-manifesto__header {
  max-width: 62.5vw;
  margin: 0px auto 5vw;
}
.home-page .work-manifesto__eyebrow {
  gap: 0.833333333vw;
  margin-bottom: 1.527777778vw;
  font-size: 0.833333333vw;
  letter-spacing: 0.16em;
  line-height: 1.4;
}
.home-page .work-manifesto__eyebrow::before,
.home-page .work-manifesto__eyebrow::after {
  width: 1.944444444vw;
  height: 0.069444444vw;
}
.home-page .work-manifesto__title {
  max-width: 62.5vw;
  margin: 0px auto 1.666666667vw;
  font-size: clamp(2.916666667vw, 4.5vw, 4.583333333vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page .work-manifesto__intro {
  max-width: 45.138888889vw;
  margin: 0px auto;
  font-size: 1.180555556vw;
  line-height: 1.65;
}
.home-page .work-manifesto__timeline {
  max-width: 72.222222222vw;
  margin: 0px auto;
}
.home-page .work-manifesto__line {
  top: 1.666666667vw;
  bottom: 1.666666667vw;
  left: 50%;
  width: 0.069444444vw;
}
.home-page .work-value {
  grid-template-columns: 1fr 4.861111111vw 1fr;
  min-height: 12.5vw;
}
.home-page .work-value--left .work-value__content {
  padding-right: 4.027777778vw;
}
.home-page .work-value--right .work-value__content {
  padding-left: 4.027777778vw;
}
.home-page .work-value__number {
  font-size: 7.638888889vw;
  line-height: 0.8;
  letter-spacing: -0.08em;
}
.home-page .work-value--left .work-value__number {
  top: 50%;
  right: 7.291666667vw;
}
.home-page .work-value--right .work-value__number {
  top: 50%;
  left: 7.291666667vw;
}
.home-page .work-value__label {
  margin-bottom: 0.555555556vw;
  font-size: clamp(0.972222222vw, 1.1vw, 1.111111111vw);
  line-height: 1.3;
  letter-spacing: 0.12em;
}
.home-page .work-value__content h3 {
  max-width: 27.083333333vw;
  margin-top: 0px;
  margin-bottom: 0.833333333vw;
  font-size: clamp(1.527777778vw, 2vw, 2.013888889vw);
  line-height: 1.12;
  letter-spacing: -0.03em;
}
.home-page .work-value--left .work-value__content h3 {
  margin-left: auto;
}
.home-page .work-value__content p {
  max-width: 25vw;
  margin-top: 0px;
  margin-bottom: 0px;
  font-size: 1.041666667vw;
  line-height: 1.6;
}
.home-page .work-value--left .work-value__content p {
  margin-left: auto;
}
.home-page .work-value__marker {
  width: 3.75vw;
  height: 3.75vw;
  border: 0.069444444vw solid rgba(var(--accent-copper-rgb), 0.30);
  border-radius: 50%;
}
.home-page .work-value__marker::before {
  inset: 0.416666667vw;
  border: 0.069444444vw solid rgba(var(--accent-copper-rgb), 0.12);
  border-radius: 50%;
}
.home-page .work-value__marker svg {
  width: 1.527777778vw;
  height: 1.527777778vw;
}
.home-page .portfolio-showcase {
  padding: 1.388888889vw 1.666666667vw 1.527777778vw;
}
.home-page .portfolio-showcase__container {
  width: 100%;
  max-width: 88.888888889vw;
  margin: 0px auto;
}
.home-page .architecture-building,
.home-page .architecture-outline {
  transform-origin: center center;
}
.home-page .architecture-building {
  border: 0.069444444vw solid rgba(var(--accent-copper-rgb), 0.12);
  box-shadow: rgba(255, 255, 255, 0.02) 0px 0px 0px 0.069444444vw inset, rgba(0, 0, 0, 0.15) 0px 2.083333333vw 4.861111111vw;
}
.home-page .architecture-building--1 {
  width: 13.194444444vw;
  height: 26.388888889vw;
  top: 7.638888889vw;
  left: 48%;
}
.home-page .architecture-building--2 {
  width: 10.416666667vw;
  height: 18.75vw;
  top: 16.666666667vw;
  left: 62%;
}
.home-page .architecture-building--3 {
  width: 12.5vw;
  height: 29.861111111vw;
  top: 2.777777778vw;
  right: 9%;
}
.home-page .architecture-building--4 {
  width: 9.027777778vw;
  height: 16.319444444vw;
  bottom: 6.944444444vw;
  left: 57%;
}
.home-page .architecture-outline {
  border: 0.069444444vw solid rgba(var(--accent-copper-rgb), 0.18);
}
.home-page .architecture-outline--1 {
  width: 16.319444444vw;
  height: 29.861111111vw;
  top: 4.861111111vw;
  left: 54%;
}
.home-page .architecture-outline--2 {
  width: 12.5vw;
  height: 22.916666667vw;
  top: 13.194444444vw;
  right: 18%;
}
.home-page .architecture-outline--3 {
  width: 7.638888889vw;
  height: 18.055555556vw;
  top: 6.944444444vw;
  right: 3%;
}
.home-page .architecture-line {
  height: 0.069444444vw;
}
.home-page .architecture-line--1 {
  width: 36.111111111vw;
  top: 22.916666667vw;
  right: 4%;
}
.home-page .architecture-line--2 {
  width: 30.555555556vw;
  bottom: 10.416666667vw;
  left: 4%;
}
.home-page .portfolio-showcase__header {
  gap: 2.222222222vw;
  margin-bottom: 0.972222222vw;
}
.home-page .portfolio-showcase__heading {
  max-width: 59.027777778vw;
}
.home-page .portfolio-showcase__eyebrow {
  gap: 0.972222222vw;
  margin-bottom: 0.833333333vw;
  font-size: 0.833333333vw;
  line-height: 1.4;
  letter-spacing: 0.17em;
}
.home-page .portfolio-showcase__eyebrow::before {
  width: 4.027777778vw;
  height: 0.208333333vw;
}
.home-page .portfolio-showcase__title {
  max-width: 62.5vw;
  margin: 0px 0px 0.972222222vw;
  font-size: clamp(2.777777778vw, 4.4vw, 4.444444444vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page .portfolio-showcase__intro {
  max-width: 47.222222222vw;
  margin: 0px;
  font-size: clamp(1.041666667vw, 1.2vw, 1.180555556vw);
  line-height: 1.45;
}
.home-page .portfolio-showcase__all {
  gap: 0.833333333vw;
  margin-top: 0.416666667vw;
  padding: 0px 0px 0.625vw;
  border-bottom: 0.138888889vw solid rgba(var(--accent-copper-rgb),0.45);
  font-size: 1.180555556vw;
}
.home-page .portfolio-showcase__all svg {
  width: 1.388888889vw;
  height: 1.388888889vw;
}
.home-page .portfolio-showcase__all:hover {
  gap: 1.111111111vw;
}
.home-page .portfolio-showcase__layout {
  grid-template-columns: minmax(0px, 1fr) 15.277777778vw;
  gap: 1.666666667vw;
}
.home-page .portfolio-showcase__projects {
  width: 92%;
  min-height: 29.166666667vw;
}
.home-page .portfolio-project {
  border: 0.069444444vw solid rgba(255, 255, 255, 0.12);
  box-shadow: rgba(0, 0, 0, 0.32) 0px 1.736111111vw 4.166666667vw;
}
.home-page .portfolio-project:hover {
  transform: translateY(-0.416666667vw) scale(1.008);
  box-shadow: rgba(0, 0, 0, 0.38) 0px 2.361111111vw 5.208333333vw;
}
.home-page .portfolio-project img {
  inset: 0px;
  width: 100%;
  height: 100%;
  object-position: center center;
}
.home-page .portfolio-project__shade {
  inset: 0px;
}
.home-page .portfolio-project__content {
  left: 1.805555556vw;
  right: 6.25vw;
  bottom: 1.736111111vw;
}
.home-page .portfolio-project__number {
  gap: 0.833333333vw;
  margin-bottom: 0px;
  font-size: 1.041666667vw;
}
.home-page .portfolio-project__number::after {
  width: 2.222222222vw;
  height: 0.138888889vw;
}
.home-page .portfolio-project h3 {
  margin: 0px;
  font-size: clamp(1.527777778vw, 2vw, 1.944444444vw);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.home-page .portfolio-project__button {
  right: 1.666666667vw;
  bottom: 1.666666667vw;
  width: 4.027777778vw;
  height: 4.027777778vw;
  border: 0.069444444vw solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;
  backdrop-filter: blur(0.347222222vw);
}
.home-page .portfolio-project__button svg {
  width: 1.458333333vw;
  height: 1.458333333vw;
}
.home-page .portfolio-project--1 {
  left: 0px;
  bottom: 0.833333333vw;
  width: 41%;
  height: 19.861111111vw;
}
.home-page .portfolio-project--2 {
  left: 35%;
  top: 0px;
  width: 45%;
  height: 12.5vw;
}
.home-page .portfolio-project--3 {
  left: 42%;
  bottom: 0px;
  width: 57%;
  height: 15.555555556vw;
}
.home-page .portfolio-index {
  padding: 0.555555556vw 0px 0.555555556vw 1.666666667vw;
  border-left: 0.069444444vw solid rgba(var(--accent-copper-rgb),0.32);
}
.home-page .portfolio-index__item {
  grid-template-columns: 2.083333333vw 0.833333333vw minmax(0px, 1fr);
  gap: 0.555555556vw;
  padding: 0.625vw 0px;
  border-bottom: 0.069444444vw solid rgba(255, 255, 255, 0.075);
}
.home-page .portfolio-index__item:hover {
  padding-left: 0.555555556vw;
}
.home-page .portfolio-index__number {
  font-size: 1.944444444vw;
  line-height: 0.86;
  letter-spacing: -0.07em;
}
.home-page .portfolio-index__divider {
  width: 0.833333333vw;
  height: 0.138888889vw;
  margin-top: 0px;
}
.home-page .portfolio-index__name {
  margin-top: 0px;
  font-size: 0.902777778vw;
  line-height: 1.35;
  letter-spacing: 0.01em;
}
.home-page .portfolio-index__cta {
  gap: 1.111111111vw;
  margin-top: 0.694444444vw;
  font-size: 0.972222222vw;
}
.home-page .portfolio-index__cta-icon {
  width: 3.055555556vw;
  height: 3.055555556vw;
  border-radius: 50%;
  box-shadow: rgba(73, 103, 126, 0.18) 0px 0.833333333vw 2.222222222vw;
}
.home-page .portfolio-index__cta:hover .portfolio-index__cta-icon {
  transform: translateX(0.347222222vw);
}
.home-page .territory-hero {
  min-height: 29.166666667vw;
  padding: 1.805555556vw 1.666666667vw 1.666666667vw;
}
.home-page .territory-hero__bg {
  inset: 0px;
  background-size: cover;
  background-position: center center;
}
.home-page .territory-hero__overlay {
  inset: 0px;
}
.home-page .territory-hero__gridlines {
  inset: 0px;
  background: linear-gradient(90deg, rgba(14, 41, 73, 0.05) 0.069444444vw, transparent 0.069444444vw) 0% 0% / 17.361111111vw 17.361111111vw, linear-gradient(rgba(14, 41, 73, 0.04) 0.069444444vw, transparent 0.069444444vw);
  background-size: 17.361111111vw 17.361111111vw;
  background-repeat: initial, initial;
  background-origin: initial, initial;
  background-clip: initial, initial;
  background-attachment: initial, initial;
}
.home-page .territory-hero__container {
  width: 100%;
  max-width: 88.888888889vw;
  margin: 0px auto;
  grid-template-columns: minmax(0px, 0.92fr) minmax(27.083333333vw, 1.08fr);
  gap: 1.944444444vw;
}
.home-page .territory-hero__content {
  min-height: 25vw;
  max-width: 40.972222222vw;
}
.home-page .territory-hero__eyebrow {
  gap: 0.694444444vw;
  margin-bottom: 0.763888889vw;
  font-size: 0.625vw;
  line-height: 1.3;
  letter-spacing: 0.16em;
}
.home-page .territory-hero__eyebrow::before {
  width: 1.666666667vw;
  height: 0.138888889vw;
}
.home-page .territory-hero__ghost {
  top: 0px;
  right: 2.222222222vw;
  font-size: clamp(9.027777778vw, 15vw, 14.236111111vw);
  line-height: 0.82;
  letter-spacing: -0.04em;
}
.home-page .territory-hero__title {
  max-width: 39.583333333vw;
  margin: 0px 0px 0.833333333vw;
  font-size: clamp(2.708333333vw, 4vw, 4.027777778vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page .territory-hero__text {
  max-width: 38.888888889vw;
  margin: 0px 0px 1.111111111vw;
  font-size: 0.972222222vw;
  line-height: 1.45;
}
.home-page .territory-hero__areas {
  gap: 0px;
  width: 100%;
  max-width: 45.138888889vw;
  margin-bottom: 1.111111111vw;
}
.home-page .territory-area-item {
  gap: 0.555555556vw;
  min-width: 0px;
  padding-right: 1.111111111vw;
}
.home-page .territory-area-item:not(:last-child) {
  margin-right: 1.111111111vw;
  border-right: 0.069444444vw solid rgba(11, 29, 50, 0.13);
}
.home-page .territory-area-item__icon {
  width: 2.708333333vw;
  height: 2.708333333vw;
  border: 0.104166667vw solid rgba(var(--accent-copper-rgb), 0.80);
  border-radius: 50%;
}
.home-page .territory-area-item__icon svg {
  width: 1.180555556vw;
  height: 1.180555556vw;
}
.home-page .territory-area-item__body {
  gap: 0.138888889vw;
}
.home-page .territory-area-item__body strong {
  font-size: 0.902777778vw;
  line-height: 1.15;
}
.home-page .territory-area-item__body span {
  font-size: 0.763888889vw;
  line-height: 1.3;
}
.home-page .territory-hero__outside-area {
  gap: 0.555555556vw;
  max-width: 38.888888889vw;
  margin: 0px 0px 1.111111111vw;
  font-size: 0.833333333vw;
  line-height: 1.5;
}
.home-page .territory-hero__outside-area svg {
  flex: 0 0 1.111111111vw;
  width: 1.111111111vw;
  height: 1.111111111vw;
  margin-top: 0.069444444vw;
}
.home-page .territory-hero__button {
  gap: 0.833333333vw;
  width: fit-content;
  min-width: 12.847222222vw;
  min-height: 3.055555556vw;
  padding: 0px 1.25vw;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.347222222vw;
  font-size: 0.833333333vw;
}
.home-page .territory-hero__button svg {
  width: 1.041666667vw;
  height: 1.041666667vw;
}
.home-page .territory-hero__button:hover {
  transform: translateY(-0.138888889vw);
}
.home-page .territory-hero__visual {
  min-width: 0px;
  min-height: 25vw;
}
.home-page .territory-hero__coords {
  top: 0px;
  right: 0px;
  gap: 0.138888889vw;
  font-size: 0.625vw;
  line-height: 1.25;
  letter-spacing: 0.05em;
}
.home-page .territory-hero__legend {
  right: 0px;
  bottom: 0.277777778vw;
  gap: 0.208333333vw;
  padding-left: 0.972222222vw;
}
.home-page .territory-hero__legend::before {
  top: 0px;
  bottom: 0px;
  left: 0px;
  width: 0.069444444vw;
}
.home-page .territory-hero__legend span {
  font-size: 0.555555556vw;
  line-height: 1.2;
  letter-spacing: 0.06em;
}
@media (hover: hover) {
.home-page .territory-area-item:hover .territory-area-item__icon {
  transform: translateY(-0.138888889vw);
}
}
.home-page #dove-trovarci {
  padding-block: 2.222222222vw;
}
.home-page .quick-response-strip {
  width: 100%;
  padding: 0px 1.666666667vw;
  border-top: 0.138888889vw solid var(--home-cta-blue);
  border-bottom: 0.069444444vw solid rgba(255, 255, 255, 0.08);
}
.home-page .quick-response-strip::before {
  top: -5.555555556vw;
  right: 14%;
  width: 16.666666667vw;
  height: 16.666666667vw;
  border: 0.069444444vw solid rgba(var(--accent-copper-rgb), 0.18);
}
.home-page .quick-response-strip__container {
  width: 100%;
  max-width: 88.888888889vw;
  min-height: 9.166666667vw;
  margin: 0px auto;
  grid-template-columns: 5vw 0.069444444vw minmax(22.222222222vw, 1fr) auto;
  gap: clamp(1.388888889vw, 2.4vw, 2.361111111vw);
}
.home-page .quick-response-strip__icon {
  width: 4.305555556vw;
  height: 4.305555556vw;
}
.home-page .quick-response-strip__icon svg {
  width: 3.333333333vw;
  height: 3.333333333vw;
}
.home-page .quick-response-strip__divider {
  width: 0.069444444vw;
  height: 4.444444444vw;
}
.home-page .quick-response-strip__copy {
  min-width: 0px;
}
.home-page .quick-response-strip__eyebrow {
  margin-bottom: 0.416666667vw;
  font-size: 0.625vw;
  line-height: 1;
  letter-spacing: 0.15em;
}
.home-page .quick-response-strip__copy h2 {
  margin: 0px 0px 0.416666667vw;
  font-size: clamp(1.527777778vw, 2vw, 2.083333333vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page .quick-response-strip__copy p {
  max-width: 40.277777778vw;
  margin: 0px;
  font-size: 0.833333333vw;
  line-height: 1.5;
}
.home-page .quick-response-strip__actions {
  gap: 0.972222222vw;
  min-width: 0px;
}
.home-page .quick-response-strip__call,
.home-page .quick-response-strip__whatsapp {
  gap: 0.694444444vw;
  min-height: 5vw;
  max-width: 100%;
  padding: 0.833333333vw 1.25vw;
  border: 0.069444444vw solid transparent;
  border-radius: 0.625vw;
  line-height: 1.3;
}
.home-page .quick-response-strip__whatsapp {
  font-size: 0.972222222vw;
}
.home-page .quick-response-strip__actions svg {
  width: 1.527777778vw;
  height: 1.527777778vw;
  flex: 0 0 1.527777778vw;
}
.home-page .quick-response-strip__whatsapp svg:last-child {
  width: 1.111111111vw;
  height: 1.111111111vw;
  flex-basis: 1.111111111vw;
}
.home-page .quick-response-strip__actions a:hover {
  transform: translateY(-0.069444444vw);
}
.home-page .quick-response-strip__actions a:focus-visible {
  outline: rgb(255, 255, 255) solid 0.138888889vw;
  outline-offset: 0.277777778vw;
}
.home-page .quick-response-strip__call span {
  gap: 0.208333333vw;
}
.home-page .quick-response-strip__call strong {
  font-size: 1.458333333vw;
}
.home-page .quick-response-strip__call small {
  font-size: 0.763888889vw;
}
.home-page .reviews-showcase {
  width: 100%;
  min-height: clamp(38.888888889vw, 68vh, 45.833333333vw);
  padding: clamp(3.194444444vw, 5vh, 4.305555556vw) clamp(1.666666667vw, 5vw, 5vw) clamp(2.916666667vw, 5vh, 4.027777778vw);
}
.home-page #recensioni {
  padding-block: 4.444444444vw;
}
.home-page .reviews-showcase__background {
  inset: 0px;
  background-size: cover;
  background-position: center center;
}
.home-page .reviews-showcase::after {
  inset: 0px;
}
.home-page .reviews-showcase__container {
  width: 100%;
  max-width: 91.666666667vw;
  margin: 0px auto;
}
.home-page .reviews-showcase__header {
  max-width: 59.722222222vw;
  margin: 0px auto clamp(2.222222222vw, 4vh, 3.055555556vw);
}
.home-page .reviews-showcase__eyebrow {
  gap: 0.972222222vw;
  margin-bottom: 1.458333333vw;
  font-size: 0.694444444vw;
  letter-spacing: 0.17em;
}
.home-page .reviews-showcase__eyebrow i {
  width: 2.361111111vw;
  height: 0.069444444vw;
}
.home-page .reviews-showcase__title {
  margin: 0px;
  font-size: clamp(3.055555556vw, 4.4vw, 4.444444444vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page .reviews-showcase__intro {
  max-width: 52.083333333vw;
  margin: 1.319444444vw auto 0px;
  font-size: 1.041666667vw;
  line-height: 1.55;
}
.home-page .reviews-showcase__slider {
  width: 100%;
}
.home-page .reviews-showcase__viewport {
  width: 100%;
}
.home-page .reviews-showcase__track {
  gap: 0.972222222vw;
}
.home-page .reviews-showcase__card {
  min-height: 16.319444444vw;
  padding: 1.736111111vw 1.875vw 1.597222222vw;
  border: 0.069444444vw solid rgba(255, 255, 255, 0.56);
  border-radius: 0.555555556vw;
  box-shadow: rgba(4, 16, 28, 0.11) 0px 0.833333333vw 2.083333333vw;
  backdrop-filter: blur(0.833333333vw);
}
.home-page .reviews-showcase__card--featured {
  box-shadow: rgba(4, 16, 28, 0.2) 0px 1.180555556vw 2.638888889vw;
}
.home-page .reviews-showcase__stars {
  margin-bottom: 1.111111111vw;
  font-size: 1.111111111vw;
  letter-spacing: 0.138888889vw;
}
.home-page .reviews-showcase__quote {
  top: 0.347222222vw;
  right: 1.388888889vw;
  font-size: 5.277777778vw;
  line-height: 1;
}
.home-page .reviews-showcase__card blockquote {
  margin: 0px;
  font-size: clamp(0.972222222vw, 1.1vw, 1.111111111vw);
  line-height: 1.5;
}
.home-page .reviews-showcase__card footer {
  gap: 0.208333333vw;
  margin-top: auto;
  padding-top: 1.527777778vw;
}
.home-page .reviews-showcase__card footer strong {
  font-size: 0.833333333vw;
}
.home-page .reviews-showcase__card footer span {
  font-size: 0.694444444vw;
  line-height: 1.35;
}
.home-page .reviews-showcase__arrow {
  top: 50%;
  width: 2.916666667vw;
  height: 2.916666667vw;
  padding: 0px;
  border: 0.069444444vw solid rgba(11, 29, 50, 0.22);
  border-radius: 50%;
  backdrop-filter: blur(0.555555556vw);
}
.home-page .reviews-showcase__arrow svg {
  width: 1.25vw;
  height: 1.25vw;
}
.home-page .reviews-showcase__arrow--prev {
  left: -1.041666667vw;
}
.home-page .reviews-showcase__arrow--next {
  right: -1.041666667vw;
}
.home-page .reviews-showcase__google {
  width: fit-content;
  gap: 0.902777778vw;
  margin: 1.875vw auto 0px;
  padding: 0.763888889vw 1.180555556vw;
  border: 0.069444444vw solid rgba(255, 255, 255, 0.52);
  border-radius: 0.486111111vw;
  backdrop-filter: blur(0.555555556vw);
}
.home-page .reviews-showcase__google-mark {
  width: 2.361111111vw;
  height: 2.361111111vw;
  border-radius: 50%;
  font-size: 1.736111111vw;
}
.home-page .reviews-showcase__google-stars {
  font-size: 1.041666667vw;
  letter-spacing: 0.138888889vw;
}
.home-page .reviews-showcase__google-copy {
  gap: 0.208333333vw;
}
.home-page .reviews-showcase__google-copy strong {
  font-size: 0.763888889vw;
}
.home-page .reviews-showcase__google-link {
  gap: 0.347222222vw;
  width: fit-content;
  font-size: 0.694444444vw;
}
.home-page .reviews-showcase__google-link svg {
  width: 0.833333333vw;
  height: 0.833333333vw;
}
@media (hover: hover) {
.home-page .reviews-showcase__card:hover {
  transform: translateY(-0.277777778vw);
  box-shadow: rgba(4, 16, 28, 0.16) 0px 1.180555556vw 2.638888889vw;
}
}
.home-page .reviews-showcase__track--auto {
  padding-right: 0px;
}
.home-page .reviews-showcase__track--auto .reviews-showcase__card {
  flex: 0 0 calc(33.3333% - 0.648147917vw);
}
.home-page .reviews-showcase__pause {
  margin: 1.388888889vw auto 0px;
  padding: 0.555555556vw 0.972222222vw;
  border: 0.069444444vw solid var(--accent-copper);
  border-radius: 0.277777778vw;
  font-size: 0.833333333vw;
}
.home-page .faq-cinematic {
  width: 100%;
  min-height: clamp(36.111111111vw, 66vh, 44.444444444vw);
  padding: clamp(2.916666667vw, 5vh, 4.027777778vw) clamp(1.944444444vw, 5vw, 5.555555556vw);
}
.home-page .faq-cinematic__background {
  inset: 0px;
  background-size: cover;
  background-position: center center;
}
.home-page .faq-cinematic__overlay {
  inset: 0px;
}
.home-page .faq-cinematic::after {
  inset: 0px;
}
.home-page .faq-cinematic__container {
  width: 100%;
  max-width: 100vw;
  margin: 0px auto;
  grid-template-columns: minmax(23.611111111vw, 0.82fr) minmax(40.972222222vw, 1.18fr);
  gap: clamp(4.166666667vw, 7vw, 7.638888889vw);
}
.home-page .faq-cinematic__intro {
  max-width: 36.111111111vw;
}
.home-page .faq-cinematic__topline {
  gap: 1.041666667vw;
  margin-bottom: clamp(4.305555556vw, 8vh, 6.25vw);
  font-size: 0.694444444vw;
  line-height: 1;
  letter-spacing: 0.16em;
}
.home-page .faq-cinematic__topline-line {
  width: 2.361111111vw;
  height: 0.069444444vw;
}
.home-page .faq-cinematic__eyebrow {
  gap: 0.972222222vw;
  margin-bottom: 1.319444444vw;
  font-size: 0.763888889vw;
  letter-spacing: 0.16em;
}
.home-page .faq-cinematic__eyebrow span {
  width: 2.361111111vw;
  height: 0.069444444vw;
}
.home-page .faq-cinematic__title {
  margin: 0px 0px 1.666666667vw;
  font-size: clamp(3.194444444vw, 4.7vw, 4.861111111vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page .faq-cinematic__lead {
  max-width: 28.472222222vw;
  margin: 0px 0px 2.222222222vw;
  font-size: 1.111111111vw;
  line-height: 1.55;
}
.home-page .faq-cinematic__cta {
  width: fit-content;
  min-width: 14.583333333vw;
  min-height: 3.611111111vw;
  gap: 1.944444444vw;
  padding: 0px 1.388888889vw;
  border: 0.069444444vw solid rgba(255, 255, 255, 0.62);
  border-radius: 0.138888889vw;
  font-size: 0.763888889vw;
  letter-spacing: 0.14em;
}
.home-page .faq-cinematic__cta svg {
  width: 1.25vw;
  height: 1.25vw;
}
.home-page .faq-cinematic__cta:hover {
  transform: translateY(-0.138888889vw);
}
.home-page .faq-cinematic__list {
  width: 100%;
  max-width: 54.166666667vw;
  gap: 0.763888889vw;
}
.home-page .faq-cinematic__item {
  border: 0.069444444vw solid rgba(255, 255, 255, 0.3);
  border-radius: 0.486111111vw;
  box-shadow: rgba(3, 10, 18, 0.11) 0px 0.694444444vw 1.944444444vw;
  backdrop-filter: blur(0.694444444vw);
}
.home-page .faq-cinematic__item:hover {
  transform: translateX(-0.208333333vw);
  box-shadow: rgba(3, 10, 18, 0.16) 0px 0.972222222vw 2.222222222vw;
}
.home-page .faq-cinematic__question {
  min-height: 5.833333333vw;
  grid-template-columns: 4.027777778vw 0.069444444vw minmax(0px, 1fr) 3.055555556vw;
  gap: 1.388888889vw;
  padding: 0.972222222vw 1.527777778vw;
}
.home-page .faq-cinematic__number {
  font-size: 1.736111111vw;
  line-height: 1;
  letter-spacing: -0.04em;
}
.home-page .faq-cinematic__divider {
  width: 0.069444444vw;
  height: 2.638888889vw;
}
.home-page .faq-cinematic__question-text {
  font-size: 1.180555556vw;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
.home-page .faq-cinematic__plus {
  width: 2.777777778vw;
  height: 2.777777778vw;
  border: 0.069444444vw solid rgba(7, 23, 39, 0.72);
  border-radius: 50%;
}
.home-page .faq-cinematic__plus::before,
.home-page .faq-cinematic__plus::after {
  top: 50%;
  left: 50%;
  width: 1.041666667vw;
  height: 0.069444444vw;
}
.home-page .faq-cinematic__answer {
  padding: 0px 5.833333333vw 1.666666667vw 7.013888889vw;
}
.home-page .faq-cinematic__answer::before {
  width: 100%;
  height: 0.069444444vw;
  margin-bottom: 1.180555556vw;
}
.home-page .faq-cinematic__answer p {
  max-width: 40.972222222vw;
  margin: 0px;
  font-size: 0.972222222vw;
  line-height: 1.6;
}
.home-page #contatti.project-cta {
  width: 100%;
  margin: 0px;
  padding: 0px;
}
.home-page #contatti.project-cta .project-cta__separator {
  width: 0px;
  height: 0px;
  margin: 0px;
  padding: 0px;
}
.home-page #contatti.project-cta .project-cta__stage {
  width: 100%;
  min-height: clamp(36.111111111vw, 64vh, 43.055555556vw);
  margin: 0px;
  padding: 0px;
  background-size: 100% 100%;
  background-position: center center;
}
.home-page #contatti.project-cta .project-cta__stage::before {
  inset: 0px;
}
.home-page #contatti.project-cta .project-cta__container {
  width: 100%;
  max-width: 88.888888889vw;
  margin: 0px auto;
  padding: 4.444444444vw 2.222222222vw 4.027777778vw;
}
.home-page #contatti.project-cta .project-cta__content {
  width: min(58%, 48.611111111vw);
}
.home-page #contatti.project-cta .project-cta__eyebrow {
  gap: 1.111111111vw;
  margin: 0px 0px 1.666666667vw;
}
.home-page #contatti.project-cta .project-cta__eyebrow > span {
  width: 2.361111111vw;
  height: 0.069444444vw;
}
.home-page #contatti.project-cta .project-cta__eyebrow p {
  margin: 0px;
  font-size: 0.763888889vw;
  line-height: 1;
  letter-spacing: 0.17em;
}
.home-page #contatti.project-cta .project-cta__title {
  max-width: 45.138888889vw;
  margin: 0px 0px 1.597222222vw;
  font-size: clamp(3.333333333vw, 5vw, 5vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page #contatti.project-cta .project-cta__lead {
  max-width: 42.361111111vw;
  margin: 0px 0px 2.152777778vw;
  font-size: clamp(1.111111111vw, 1.25vw, 1.319444444vw);
  line-height: 1.55;
}
.home-page #contatti.project-cta .project-cta__actions {
  gap: 0.972222222vw;
  margin: 0px 0px 3.125vw;
}
.home-page #contatti.project-cta .project-cta__button {
  min-height: 3.888888889vw;
  gap: 0.694444444vw;
  padding: 0.902777778vw 1.527777778vw;
  border-radius: 0.347222222vw;
  font-size: 0.902777778vw;
  line-height: 1;
}
.home-page #contatti.project-cta .project-cta__button svg {
  width: 1.25vw;
  height: 1.25vw;
}
.home-page #contatti.project-cta .project-cta__button--primary {
  min-width: 16.666666667vw;
  border: 0.069444444vw solid var(--button-primary);
}
.home-page #contatti.project-cta .project-cta__button--primary:hover {
  transform: translateY(-0.138888889vw);
}
.home-page #contatti.project-cta .project-cta__button--whatsapp {
  min-width: 15.625vw;
  border: 0.069444444vw solid var(--accent-copper);
  backdrop-filter: blur(0.347222222vw);
}
.home-page #contatti.project-cta .project-cta__button--whatsapp:hover {
  transform: translateY(-0.138888889vw);
}
.home-page #contatti.project-cta .project-cta__trust {
  width: 100%;
  max-width: 52.777777778vw;
}
.home-page #contatti.project-cta .project-cta__trust-icon {
  width: 2.777777778vw;
  height: 2.777777778vw;
}
.home-page #contatti.project-cta .project-cta__trust-icon svg {
  width: 2.013888889vw;
  height: 2.013888889vw;
}
.home-page .reviews-showcase--external {
  min-height: 0px;
  padding-block: clamp(3.055555556vw, 5vw, 4.861111111vw);
}
.home-page .reviews-showcase--external .reviews-showcase__header {
  margin-bottom: 1.666666667vw;
}
.home-page .reviews-showcase--external .reviews-showcase__google {
  width: fit-content;
  max-width: 100%;
  margin-top: 0px;
  gap: 0.833333333vw;
}
.home-page .reviews-showcase--external .reviews-showcase__google-copy {
  margin-top: 0px;
}
.home-page .reviews-showcase--external .reviews-showcase__google-copy strong {
  font-size: 0.902777778vw;
}
.home-page .reviews-showcase--external .reviews-showcase__google-link {
  min-height: 3.055555556vw;
  font-size: 0.972222222vw;
}

/* 04 — Home: schede dei servizi */
.home-page #servizi.services-blueprint {
  padding: 4.166666667vw 1.666666667vw 3.333333333vw;
}
.home-page #servizi .services-blueprint__background {
  top: 0px;
  left: 0px;
  width: 100%;
  height: 78%;
}
.home-page #servizi .services-blueprint__background::after {
  inset: 0px;
}
.home-page #servizi .services-blueprint__container {
  width: 100%;
  max-width: 88.888888889vw;
  margin: 0px auto;
}
.home-page #servizi .services-blueprint__header {
  gap: 4.166666667vw;
  margin-bottom: 2.5vw;
}
.home-page #servizi .services-blueprint__copy {
  max-width: 46.527777778vw;
}
.home-page #servizi .services-blueprint__eyebrow {
  gap: 0.833333333vw;
  margin-bottom: 1.041666667vw;
  font-size: 0.694444444vw;
  letter-spacing: 0.16em;
}
.home-page #servizi .services-blueprint__eyebrow::before {
  width: 2.083333333vw;
  height: 0.138888889vw;
}
.home-page #servizi .services-blueprint__title {
  max-width: 50vw;
  margin: 0px 0px 1.25vw;
  font-size: clamp(2.916666667vw, 4.5vw, 4.583333333vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.home-page #servizi .services-blueprint__title span::after {
  width: 0.625vw;
  height: 0.625vw;
  margin-left: 0.347222222vw;
}
.home-page #servizi .services-blueprint__intro {
  max-width: 39.583333333vw;
  margin: 0px;
  font-size: 1.041666667vw;
  line-height: 1.65;
}
.home-page #servizi .services-blueprint__aside {
  gap: 1.944444444vw;
  padding-top: 0.277777778vw;
}
.home-page #servizi .services-blueprint__note {
  font-size: 0.694444444vw;
  line-height: 1.7;
  letter-spacing: 0.18em;
}
.home-page #servizi .services-blueprint__all {
  gap: 0.694444444vw;
  min-height: 3.055555556vw;
  padding: 0.694444444vw 1.180555556vw;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.347222222vw;
  font-size: 0.902777778vw;
}
.home-page #servizi .services-blueprint__all svg {
  width: 1.111111111vw;
  height: 1.111111111vw;
}
.home-page #servizi .services-blueprint__all:hover {
  transform: translateY(-0.138888889vw);
}
.home-page #servizi .services-blueprint__grid {
  gap: 0.555555556vw;
}
.home-page #servizi .blueprint-service-card {
  min-width: 0px;
  min-height: 20.833333333vw;
  border: 0.069444444vw solid rgb(217, 223, 229);
  border-radius: 0.347222222vw;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0.208333333vw 0.833333333vw;
}
.home-page #servizi .blueprint-service-card:hover {
  transform: translateY(-0.138888889vw);
  box-shadow: rgba(0, 0, 0, 0.14) 0px 0.347222222vw 1.111111111vw;
}
.home-page #servizi .blueprint-service-card__content {
  min-width: 0px;
  padding: 1.111111111vw;
}
.home-page #servizi .blueprint-service-card h3 {
  min-height: 2.4em;
  margin: 0px 0px 0.555555556vw;
  font-size: 1.180555556vw;
  line-height: 1.2;
  letter-spacing: -0.025em;
}
.home-page #servizi .blueprint-service-card__image {
  width: 100%;
  height: 13.541666667vw;
  margin: 0px;
  border-top: 0.069444444vw solid rgba(255, 255, 255, 0.08);
  border-bottom: 0.069444444vw solid rgba(255, 255, 255, 0.08);
}
.home-page #servizi .blueprint-service-card__image::after {
  inset: 0px;
}
.home-page #servizi .blueprint-service-card__image img {
  width: 100%;
  height: 100%;
}
.home-page #servizi .blueprint-service-card__content > a {
  gap: 0.555555556vw;
  width: 100%;
  min-height: 3.055555556vw;
  margin-top: auto;
  font-size: 0.798611111vw;
  border-radius: 0.277777778vw;
}
.home-page #servizi .blueprint-service-card__link-icon {
  flex: 0 0 3.055555556vw;
  width: 3.055555556vw;
  height: 3.055555556vw;
  border: 0.069444444vw solid rgb(183, 194, 204);
  border-radius: 50%;
}
.home-page #servizi .blueprint-service-card__link-icon svg {
  width: 1.111111111vw;
  height: 1.111111111vw;
}
.home-page #servizi .blueprint-service-card__content > a:focus-visible {
  outline: 0.138888889vw solid var(--accent-copper);
  outline-offset: 0.277777778vw;
}
.home-page #servizi .services-blueprint__arrow {
  width: 3.055555556vw;
  height: 3.055555556vw;
  padding: 0px;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.347222222vw;
  font-size: 1.666666667vw;
}
.home-page #servizi .services-blueprint__arrow:focus-visible {
  outline: 0.138888889vw solid var(--accent-copper);
  outline-offset: 0.208333333vw;
}

/* 05 — Azienda / About us */
:where(.site-chrome) .about-page {
  --about-gutter: clamp(1.666666667vw, 5.8vw, 6.111111111vw);
}
:where(.site-chrome) .about-page .about-wide {
  max-width: 111.111111111vw;
  margin-inline: auto;
}
:where(.site-chrome) .about-page .about-shell {
  max-width: 111.111111111vw;
  margin-inline: auto;
  padding-inline: var(--about-gutter);
}
:where(.site-chrome) .about-page h1 {
  font-size: clamp(2.5vw, 3.6vw, 3.888888889vw);
  line-height: 1.09;
  letter-spacing: -0.04em;
}
:where(.site-chrome) .about-page h2 {
  font-size: clamp(2.083333333vw, 3.05vw, 3.194444444vw);
  line-height: 1.1;
  letter-spacing: -0.04em;
}
:where(.site-chrome) .about-page h3 {
  font-size: 1.111111111vw;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
:where(.site-chrome) .about-page p {
  font-size: 1.041666667vw;
  line-height: 1.55;
}
:where(.site-chrome) .about-page .about-eyebrow {
  margin-bottom: 0.902777778vw;
  font-size: 0.694444444vw;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
:where(.site-chrome) .about-page .about-icon {
  width: 3.055555556vw;
  height: 3.055555556vw;
}
:where(.site-chrome) .about-page .about-photo {
  width: 100%;
  height: 100%;
}
:where(.site-chrome) .about-page .about-button {
  gap: 0.833333333vw;
  max-width: 100%;
  min-height: 3.055555556vw;
  padding: 0.833333333vw 1.388888889vw;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.208333333vw;
  font-size: 0.694444444vw;
  line-height: 1.5;
  letter-spacing: 0.055em;
}
:where(.site-chrome) .about-page .about-button .about-icon {
  width: 1.111111111vw;
  height: 1.111111111vw;
}
:where(.site-chrome) .about-page a:focus-visible {
  outline: 0.208333333vw solid var(--accent-copper);
  outline-offset: 0.347222222vw;
}
:where(.site-chrome) .about-page .about-light::before {
  inset: 0px;
  background-image: repeating-linear-gradient(30deg, transparent 0 5.277777778vw, rgba(var(--accent-copper-rgb),.065) 5.347222222vw, transparent 5.416666667vw), repeating-linear-gradient(150deg, transparent 0 8.75vw, rgba(var(--accent-copper-rgb),.05) 8.819444444vw, transparent 8.888888889vw);
}
:where(.site-chrome) .about-page .about-hero__inner {
  min-height: 26.388888889vw;
}
:where(.site-chrome) .about-page .about-hero__copy {
  padding: 2.5vw 2.083333333vw 2.638888889vw var(--about-gutter);
}
:where(.site-chrome) .about-page .about-lead {
  max-width: 33.333333333vw;
  margin: 1.388888889vw 0px 1.666666667vw;
  font-size: 1.111111111vw;
}
:where(.site-chrome) .about-page .about-hero__photo {
  margin-left: -6.25vw;
}
:where(.site-chrome) .about-page .about-plan-scene {
  inset: 0px;
  transform-origin: 58% 48%;
}
:where(.site-chrome) .about-page .about-hero__photo .about-photo {
  inset: 0px;
  object-position: 54% 46%;
}
:where(.site-chrome) .about-page .about-plan-animation {
  inset: 0px;
  width: 100%;
  height: 100%;
}
:where(.site-chrome) .about-page .about-story__inner {
  gap: 2.916666667vw;
  padding-block: 2.638888889vw;
}
:where(.site-chrome) .about-page .about-story__copy {
  min-width: 0px;
}
:where(.site-chrome) .about-page .about-story h2 {
  margin-bottom: 1.527777778vw;
}
:where(.site-chrome) .about-page .about-story__text {
  gap: 1.041666667vw;
}
:where(.site-chrome) .about-page .about-story__text p {
  font-size: 1.041666667vw;
  line-height: 1.55;
}
:where(.site-chrome) .about-page .about-principles {
  border-inline-start: 0.069444444vw solid var(--about-line);
  padding-inline-start: 1.805555556vw;
}
:where(.site-chrome) .about-page .about-principle {
  grid-template-columns: 3.055555556vw minmax(0px, 1fr) 40%;
  gap: 1.25vw;
  min-height: 7.361111111vw;
  padding-block: 0.625vw;
  border-bottom: 0.069444444vw solid var(--about-line);
}
:where(.site-chrome) .about-page .about-principle__text {
  min-width: 0px;
  padding-block: 0.625vw;
}
:where(.site-chrome) .about-page .about-principle h3 {
  margin-bottom: 0.486111111vw;
}
:where(.site-chrome) .about-page .about-principle p {
  font-size: 0.902777778vw;
  line-height: 1.5;
}
:where(.site-chrome) .about-page .about-principle__photo {
  width: calc(100% + 0.972222222vw);
  height: 8.333333333vw;
  margin-left: -0.972222222vw;
}
:where(.site-chrome) .about-page .about-principle__photo .about-photo {
  inset: 0px;
}
:where(.site-chrome) .about-page .about-principle__photo::after {
  inset: 0px;
}
:where(.site-chrome) .about-page .about-principle:first-child .about-photo {
  object-position: 80% center;
}
:where(.site-chrome) .about-page .about-principle:last-child .about-photo {
  object-position: center 55%;
}
:where(.site-chrome) .about-page .about-principle:last-child .about-principle__photo {
  max-width: 13.333333333vw;
  margin-left: 0px;
}
@media (min-resolution: 3dppx) {
:where(.site-chrome) .about-page .about-principle:last-child .about-principle__photo {
  max-width: 8.888888889vw;
}
}
:where(.site-chrome) .about-page .about-experience__inner {
  min-height: 24.305555556vw;
}
:where(.site-chrome) .about-page .about-experience__copy {
  padding: 2.222222222vw 2.5vw 2.222222222vw var(--about-gutter);
}
:where(.site-chrome) .about-page .about-experience__copy > p:not(.about-eyebrow) {
  max-width: 34.027777778vw;
  margin: 1.25vw 0px 1.388888889vw;
  font-size: 0.972222222vw;
}
:where(.site-chrome) .about-page .about-experience__visual {
  min-width: 0px;
  gap: 1.666666667vw;
  padding: 2.222222222vw var(--about-gutter) 2.222222222vw 2.222222222vw;
}
:where(.site-chrome) .about-page .about-experience__plan {
  width: 100%;
}
:where(.site-chrome) .about-page .about-experience__plan .about-photo {
  inset: 0px;
  object-position: center center;
}
:where(.site-chrome) .about-page .about-highlights {
  gap: 1.388888889vw;
  margin: 0px;
  padding: 0px;
}
:where(.site-chrome) .about-page .about-highlights > div {
  min-width: 0px;
  padding-inline-start: 1.388888889vw;
  border-inline-start: 0.069444444vw solid var(--about-blue);
}
:where(.site-chrome) .about-page .about-highlights > div:first-child {
  padding-inline-start: 0px;
}
:where(.site-chrome) .about-page .about-highlights dt {
  margin-bottom: 0.486111111vw;
  font-size: clamp(1.527777778vw, 2.3vw, 2.361111111vw);
  line-height: 1.15;
  letter-spacing: -0.03em;
}
:where(.site-chrome) .about-page .about-highlights dd {
  font-size: 0.972222222vw;
  line-height: 1.5;
}
:where(.site-chrome) .about-page .about-method__inner {
  gap: 2.777777778vw;
  padding-block: 2.361111111vw;
}
:where(.site-chrome) .about-page .about-method h2 {
  font-size: clamp(1.944444444vw, 2.55vw, 2.638888889vw);
}
:where(.site-chrome) .about-page .about-method__intro > p:not(.about-eyebrow) {
  margin: 1.041666667vw 0px 1.111111111vw;
  font-size: 0.902777778vw;
  line-height: 1.5;
}
:where(.site-chrome) .about-page .about-step {
  min-width: 0px;
  padding: 2.569444444vw 1.597222222vw 0px;
  border-inline-start: 0.069444444vw solid var(--about-line);
}
:where(.site-chrome) .about-page .about-step__number {
  top: 0px;
  inset-inline-start: 0px;
  font-size: 1.180555556vw;
  transform: translateX(-0.208333333vw);
}
:where(.site-chrome) .about-page .about-step > .about-icon {
  width: 2.708333333vw;
  height: 2.708333333vw;
  margin-bottom: 1.041666667vw;
}
:where(.site-chrome) .about-page .about-step h3 {
  margin-bottom: 0.972222222vw;
  font-size: 0.972222222vw;
}
:where(.site-chrome) .about-page .about-step p {
  font-size: 0.902777778vw;
  line-height: 1.5;
}
:where(.site-chrome) .about-page .about-step > .about-step__arrow {
  top: 2.638888889vw;
  right: -0.833333333vw;
  width: 1.736111111vw;
  height: 1.736111111vw;
}
:where(.site-chrome) .about-page .about-values__inner {
  min-height: 25.694444444vw;
}
:where(.site-chrome) .about-page .about-collage {
  margin: 2.222222222vw 0 2.222222222vw var(--about-gutter);
  transform: perspective(83.333333333vw) rotateY(-9deg) rotateX(3deg);
}
:where(.site-chrome) .about-page .about-collage::before {
  inset: 0px;
  transform: translate3d(0.555555556vw, 0.555555556vw, -0.555555556vw);
  box-shadow: rgba(0, 0, 0, 0.4) 0px 1.805555556vw 3.333333333vw;
}
:where(.site-chrome) .about-page .about-collage::after {
  inset: 0px;
  box-shadow: rgba(255, 255, 255, 0.22) 0px 0px 0px 0.069444444vw inset;
  transform: translateZ(0.138888889vw);
}
:where(.site-chrome) .about-page .about-collage__photo {
  inset: 0px;
  width: 100%;
  height: 100%;
  object-position: center center;
  transform: translateZ(0.069444444vw);
}
:where(.site-chrome) .about-page .about-collage__photo--back {
  transform: rotateY(180deg) translateZ(0.625vw);
}
:where(.site-chrome) .about-page .about-values__copy {
  padding: 2.083333333vw var(--about-gutter) 2.083333333vw 2.777777778vw;
  min-width: 0px;
}
:where(.site-chrome) .about-page .about-values h2 {
  font-size: clamp(2.013888889vw, 2.7vw, 2.916666667vw);
}
:where(.site-chrome) .about-page .about-values__lead {
  margin: 1.180555556vw 0px 1.736111111vw;
  font-size: 0.972222222vw;
}
:where(.site-chrome) .about-page .about-values__list li {
  min-width: 0px;
  padding-inline: 1.180555556vw;
  border-inline-start: 0.069444444vw solid var(--about-line);
}
:where(.site-chrome) .about-page .about-values__list li:first-child {
  padding-inline-start: 0px;
}
:where(.site-chrome) .about-page .about-values__list li:last-child {
  padding-inline-end: 0px;
}
:where(.site-chrome) .about-page .about-values__list .about-icon {
  width: 2.569444444vw;
  height: 2.569444444vw;
  margin-bottom: 0.694444444vw;
}
:where(.site-chrome) .about-page .about-values__list h3 {
  margin-bottom: 0.486111111vw;
  font-size: 0.972222222vw;
}
:where(.site-chrome) .about-page .about-values__list p {
  font-size: 0.833333333vw;
  line-height: 1.5;
}
:where(.site-chrome) .about-page .about-contact {
  border-top: 0.069444444vw solid var(--about-blue);
}
:where(.site-chrome) .about-page .about-contact__inner {
  gap: 3.194444444vw;
  padding-block: 2.291666667vw;
  min-height: 10.833333333vw;
}
:where(.site-chrome) .about-page .about-contact .about-eyebrow {
  margin-bottom: 0.625vw;
}
:where(.site-chrome) .about-page .about-contact h2 {
  font-size: clamp(1.944444444vw, 2.8vw, 2.916666667vw);
}
:where(.site-chrome) .about-page .about-contact__inner > p {
  font-size: 0.972222222vw;
}
html[dir="rtl"] .about-page .about-step > .about-step__arrow {
  right: auto;
  left: -0.833333333vw;
}

/* 06 — Servizi / Services */
:where(.site-chrome) .services-page {
  --services-gutter: clamp(1.944444444vw, 5.6vw, 6.25vw);
}
:where(.site-chrome) .services-page .services-eyebrow {
  margin: 0px 0px 1.111111111vw;
  font-size: 0.763888889vw;
  line-height: 1.5;
  letter-spacing: 0.17em;
}
:where(.site-chrome) .services-page .services-hero__inner {
  max-width: 111.111111111vw;
  margin-inline: auto;
}
:where(.site-chrome) .services-page .services-hero h1 {
  margin: 0px 0px 1.666666667vw;
  font-size: clamp(2.361111111vw, 3.45vw, 3.75vw);
  line-height: 1.12;
  letter-spacing: -0.04em;
}
:where(.site-chrome) .services-page .services-hero__description {
  max-width: 30.902777778vw;
  margin: 0px 0px 1.666666667vw;
  font-size: 1.041666667vw;
  line-height: 1.6;
}
:where(.site-chrome) .services-page .services-hero__photo {
  margin-left: -6.25vw;
}
:where(.site-chrome) .services-page .services-hero__photo img,
:where(.site-chrome) .services-page .services-band__photo img {
  inset: 0px;
  width: 100%;
  height: 100%;
  border-radius: 0px;
}
:where(.site-chrome) .services-page .services-button {
  gap: 0.833333333vw;
  min-height: 3.055555556vw;
  max-width: 100%;
  padding: 0.833333333vw 1.388888889vw;
  border: 0.069444444vw solid transparent;
  border-radius: 0.208333333vw;
  font-size: 0.694444444vw;
  line-height: 1.5;
  letter-spacing: 0.045em;
}
:where(.site-chrome) .services-page .services-button svg {
  width: 1.111111111vw;
  height: 1.111111111vw;
}
:where(.site-chrome) .services-page a:focus-visible {
  outline: 0.208333333vw solid var(--services-blue-bright);
  outline-offset: 0.347222222vw;
}
:where(.site-chrome) .services-page .services-band {
  border-top: 0.277777778vw solid var(--services-white);
  scroll-margin-top: calc(var(--home-header-height, 6.25vw) + 0.833333333vw);
}
:where(.site-chrome) .services-page .services-band__inner {
  max-width: 111.111111111vw;
  min-height: 21.944444444vw;
  margin-inline: auto;
}
:where(.site-chrome) .services-page .services-band__copy {
  min-width: 0px;
  padding: 1.597222222vw 1.666666667vw 0.694444444vw var(--services-gutter);
}
:where(.site-chrome) .services-page .services-band__index {
  gap: 0.833333333vw;
  margin-bottom: 0.555555556vw;
  font-size: 1.041666667vw;
  line-height: 1.4;
}
:where(.site-chrome) .services-page .services-band__rule {
  width: 5.972222222vw;
  height: 0.069444444vw;
}
:where(.site-chrome) .services-page .services-band__watermark {
  top: 0.277777778vw;
  right: 0.555555556vw;
  font-size: 8.888888889vw;
  line-height: 1;
  letter-spacing: -0.04em;
}
:where(.site-chrome) .services-page .services-band h2 {
  margin: 0px 0px 0.555555556vw;
  font-size: clamp(1.805555556vw, 2.5vw, 2.777777778vw);
  line-height: 1.1;
  letter-spacing: -0.04em;
}
:where(.site-chrome) .services-page .services-band__question {
  max-width: 26.736111111vw;
  margin: 0px 0px 0.833333333vw;
  font-size: clamp(1.111111111vw, 1.27vw, 1.319444444vw);
  line-height: 1.35;
  letter-spacing: -0.02em;
}
:where(.site-chrome) .services-page .services-band__description {
  max-width: 27.083333333vw;
  font-size: 0.902777778vw;
  line-height: 1.6;
}
:where(.site-chrome) .services-page .services-band__photo {
  min-width: 0px;
  margin-left: -2.083333333vw;
}
:where(.site-chrome) .services-page .services-band__photo::after {
  inset: 0px;
}
:where(.site-chrome) .services-page .services-band__examples {
  min-width: 0px;
  padding: 1.805555556vw clamp(1.666666667vw, 3vw, 3.333333333vw) 1.805555556vw 2.222222222vw;
}
:where(.site-chrome) .services-page .services-band__icon {
  width: 2.986111111vw;
  height: 2.986111111vw;
  margin-bottom: 0.972222222vw;
}
:where(.site-chrome) .services-page .services-band__examples h3 {
  margin: 0px 0px 1.180555556vw;
  font-size: 0.694444444vw;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
:where(.site-chrome) .services-page .services-band__examples ul {
  gap: 0.694444444vw;
}
:where(.site-chrome) .services-page .services-band__examples li {
  gap: 0.694444444vw;
  font-size: 0.833333333vw;
  line-height: 1.55;
}
:where(.site-chrome) .services-page .services-band__examples li svg {
  width: 1.041666667vw;
  height: 1.041666667vw;
  margin-top: 0.138888889vw;
}
:where(.site-chrome) .services-page .services-band__action {
  padding: 0 1.666666667vw 1.666666667vw var(--services-gutter);
}
:where(.site-chrome) .services-page .services-band--dark .services-band__copy {
  padding-left: 1.805555556vw;
}
:where(.site-chrome) .services-page .services-band--dark .services-band__action {
  padding-left: 1.805555556vw;
}
:where(.site-chrome) .services-page .services-band--dark .services-band__photo {
  margin: 0px;
}
:where(.site-chrome) .services-page .services-contact {
  border-top: 0.277777778vw solid var(--services-white);
}
:where(.site-chrome) .services-page .services-contact__inner {
  gap: 2.916666667vw;
  max-width: 111.111111111vw;
  min-height: 13.888888889vw;
  margin-inline: auto;
  padding: 2.5vw var(--services-gutter);
}
:where(.site-chrome) .services-page .services-contact .services-eyebrow {
  margin-bottom: 0.694444444vw;
}
:where(.site-chrome) .services-page .services-contact h2 {
  font-size: clamp(1.944444444vw, 2.8vw, 2.916666667vw);
  line-height: 1.15;
  letter-spacing: -0.04em;
}
:where(.site-chrome) .services-page .services-contact__description {
  font-size: 0.902777778vw;
  line-height: 1.7;
}
html[dir="rtl"] .services-page .services-hero__copy {
  padding-inline: var(--services-gutter) 1.041666667vw;
}
html[dir="rtl"] .services-page .services-hero__photo {
  margin-left: 0px;
  margin-right: -6.25vw;
}
html[dir="rtl"] .services-page .services-band__copy {
  padding-inline: var(--services-gutter) 1.666666667vw;
}
html[dir="rtl"] .services-page .services-band__action {
  padding-inline: var(--services-gutter) 1.666666667vw;
}
html[dir="rtl"] .services-page .services-band__watermark {
  right: auto;
  left: 0.555555556vw;
}
html[dir="rtl"] .services-page .services-band__photo {
  margin-left: 0px;
  margin-right: -2.083333333vw;
}
html[dir="rtl"] .services-page .services-band__examples {
  padding-inline: 2.222222222vw clamp(1.666666667vw, 3vw, 3.333333333vw);
}
html[dir="rtl"] .services-page .services-band--dark .services-band__copy,
html[dir="rtl"] .services-page .services-band--dark .services-band__action {
  padding-inline: 1.805555556vw 1.666666667vw;
}
html[dir="rtl"] .services-page .services-band--dark .services-band__photo {
  margin: 0px;
}
:where(.site-chrome) .services-page .services-hero__inner {
  grid-template-columns: minmax(0px, 1fr) 17.361111111vw;
  gap: 5vw;
  min-height: clamp(38.888888889vw, 43vw, 48.611111111vw);
  padding: 3.333333333vw var(--services-gutter);
}
:where(.site-chrome) .services-page .services-hero__photo {
  inset: 0px;
  margin: 0px;
}
:where(.site-chrome) .services-page .services-hero__photo img {
  object-position: center center;
}
:where(.site-chrome) .services-page .services-hero::after {
  inset: 0px;
}
:where(.site-chrome) .services-page .services-hero__copy {
  padding: 0px;
  max-width: 52.777777778vw;
}
:where(.site-chrome) .services-page .services-hero .services-eyebrow {
  gap: 0.833333333vw;
}
:where(.site-chrome) .services-page .services-hero .services-eyebrow::before {
  width: 1.944444444vw;
  height: 0.138888889vw;
}
:where(.site-chrome) .services-page .services-hero__categories {
  padding: 0px 1.388888889vw;
}
:where(.site-chrome) .services-page .services-hero__categories a {
  gap: 1.388888889vw;
  min-height: 6.388888889vw;
  padding: 1.388888889vw 0px;
  font-size: 1.041666667vw;
  line-height: 1.4;
}
:where(.site-chrome) .services-page .services-hero__categories a + a {
  border-top: 0.069444444vw solid var(--services-line);
}
:where(.site-chrome) .services-page .services-hero__categories svg {
  width: 3.055555556vw;
  height: 3.055555556vw;
}
html[dir="rtl"] .services-page .services-hero__copy {
  padding: 0px;
}
html[dir="rtl"] .services-page .services-hero__photo {
  margin: 0px;
}

/* 07 — Realizzazioni, paginazione e lightbox */
.realizzazioni-page .portfolio-container {
  width: min(88.888888889vw, 100% - 4.444444444vw);
  margin-inline: auto;
}
.realizzazioni-page .realizzazioni-hero {
  padding-block: 3.333333333vw;
}
.realizzazioni-page .portfolio-opening {
  gap: 3.333333333vw;
}
.realizzazioni-page .portfolio-eyebrow {
  gap: 0.833333333vw;
  font-size: 0.763888889vw;
  letter-spacing: 0.13em;
  margin-bottom: 1.111111111vw;
}
.realizzazioni-page .portfolio-eyebrow::before {
  width: 1.944444444vw;
  height: 0.138888889vw;
}
.realizzazioni-page .portfolio-intro {
  margin: 0px;
}
.realizzazioni-page h1 {
  max-width: 47.222222222vw;
  font-size: clamp(2.361111111vw, 3.6vw, 3.888888889vw);
  line-height: 1.09;
  letter-spacing: -0.04em;
}
.realizzazioni-page .portfolio-intro > p:not(.portfolio-eyebrow) {
  max-width: 31.944444444vw;
  margin-top: 1.666666667vw;
  font-size: 1.041666667vw;
  line-height: 1.65;
}
.realizzazioni-page .gallery-jump {
  gap: 1.666666667vw;
  min-height: 3.333333333vw;
  margin-top: 1.944444444vw;
  padding: 0.902777778vw 1.388888889vw;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.208333333vw;
  font-size: 0.763888889vw;
  letter-spacing: 0.055em;
}
.realizzazioni-page .portfolio-gallery {
  border-bottom: 0.069444444vw solid var(--line);
}
.realizzazioni-page .gallery-heading {
  gap: 2.083333333vw;
  margin-bottom: 1.944444444vw;
}
.realizzazioni-page h2 {
  font-size: clamp(2.083333333vw, 3.05vw, 3.194444444vw);
  line-height: 1.1;
  letter-spacing: -0.04em;
}
.realizzazioni-page .gallery-heading > p {
  max-width: 20.138888889vw;
  font-size: 0.972222222vw;
  line-height: 1.7;
}
.realizzazioni-page .filter-container {
  gap: 0.694444444vw;
}
.realizzazioni-page .filter-btn {
  border: 0.069444444vw solid var(--line-strong);
  border-radius: 0.208333333vw;
  padding: 0.833333333vw 1.388888889vw;
  min-height: 3.333333333vw;
  font-size: 0.902777778vw;
}
.realizzazioni-page .gallery-status {
  min-height: 1.388888889vw;
  font-size: 0.833333333vw;
  margin-block: 1.388888889vw;
}
.realizzazioni-page .gallery-fallback {
  margin-block: 1.388888889vw;
  line-height: 1.6;
}
.realizzazioni-page .portfolio-grid-container {
  gap: 1.944444444vw 1.666666667vw;
}
.realizzazioni-page .project-card {
  min-width: 0px;
  border: 0.069444444vw solid rgb(219, 227, 237);
  border-radius: 0.208333333vw;
}
.realizzazioni-page .project-card:has(.project-open:hover),
.realizzazioni-page .project-card:focus-within {
  box-shadow: rgba(6, 19, 33, 0.05) 0px 0.555555556vw 1.666666667vw;
}
.realizzazioni-page .project-open {
  height: 100%;
}
.realizzazioni-page .project-image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.realizzazioni-page .project-caption {
  gap: 0.833333333vw;
  padding: 1.319444444vw 1.388888889vw;
}
.realizzazioni-page .project-caption h3 {
  font-size: 1.041666667vw;
  line-height: 1.45;
  letter-spacing: -0.02em;
}
.realizzazioni-page .project-caption > span {
  font-size: 1.388888889vw;
}
.realizzazioni-page .portfolio-button {
  gap: 1.666666667vw;
  min-height: 3.333333333vw;
  padding: 0.902777778vw 1.666666667vw;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.208333333vw;
  font-size: 0.763888889vw;
  letter-spacing: 0.055em;
}
.realizzazioni-page .b2b-contractor-callout {
  padding: 3.333333333vw 0px;
}
.realizzazioni-page .b2b-container {
  width: min(88.888888889vw, 100% - 4.444444444vw);
  margin-inline: auto;
}
.realizzazioni-page .b2b-box {
  gap: 1.666666667vw;
  border: 0.069444444vw solid var(--line);
  border-inline-start: 0.208333333vw solid var(--portfolio-blue);
}
.realizzazioni-page .b2b-icon {
  width: 1.527777778vw;
  height: 1.527777778vw;
}
.realizzazioni-page .b2b-text {
  flex: 1 1 16.666666667vw;
  min-width: 0px;
}
.realizzazioni-page .b2b-tag {
  font-size: 0.763888889vw;
  letter-spacing: 0.06em;
  margin-bottom: 0.694444444vw;
}
.realizzazioni-page .b2b-text h3 {
  font-size: 1.25vw;
  line-height: 1.4;
  margin-bottom: 0.555555556vw;
}
.realizzazioni-page .b2b-text p {
  font-size: 0.902777778vw;
  line-height: 1.7;
}
.realizzazioni-page .btn-b2b {
  min-height: 3.333333333vw;
  padding: 0.833333333vw 1.388888889vw;
  border: 0.069444444vw solid var(--button-primary);
  font-size: 0.763888889vw;
  letter-spacing: 0.055em;
}
.realizzazioni-page .portfolio-cta-section {
  padding-block: 1.666666667vw 4.444444444vw;
}
.realizzazioni-page .portfolio-cta-box {
  gap: 1.944444444vw;
  padding: 2.777777778vw;
  border: 0.069444444vw solid var(--portfolio-navy);
  border-radius: 0.208333333vw;
}
.realizzazioni-page .portfolio-dialog {
  padding: 0px;
  margin: auto;
  border: 0.069444444vw solid var(--line);
  max-width: calc(-2.222222222vw + 100vw);
  max-height: calc(100dvh - 2.222222222vw);
}
.realizzazioni-page .dialog-close {
  width: 3.333333333vw;
  height: 3.333333333vw;
  border: 0.069444444vw solid var(--line);
  font-size: 2.083333333vw;
  line-height: 1;
}
.realizzazioni-page .gallery-dialog {
  width: 76.388888889vw;
}
.realizzazioni-page .gallery-dialog-top {
  gap: 1.111111111vw;
  padding: 0.833333333vw 1.388888889vw;
  border-bottom: 0.069444444vw solid var(--line);
  font-size: 0.833333333vw;
}
.realizzazioni-page .gallery-dialog-image {
  min-height: 12.5vw;
  padding: 1.388888889vw;
}
.realizzazioni-page .gallery-dialog-image img {
  width: auto;
  height: auto;
  max-width: 100%;
}
.realizzazioni-page .gallery-dialog-caption {
  padding: 1.388888889vw 1.944444444vw 1.805555556vw;
}
.realizzazioni-page .gallery-dialog-caption h2 {
  font-size: 1.527777778vw;
}
.realizzazioni-page .gallery-dialog-caption p {
  margin-top: 0.694444444vw;
  font-size: 0.833333333vw;
  line-height: 1.6;
}
.realizzazioni-page :is(.project-open, .filter-btn, .portfolio-button, .btn-b2b, .dialog-close):focus-visible {
  outline: 0.208333333vw solid var(--button-primary);
  outline-offset: 0.277777778vw;
}
.realizzazioni-page .portfolio-pagination {
  gap: 0.555555556vw;
  margin-top: 2.222222222vw;
}
.realizzazioni-page .pagination-button {
  min-width: 3.055555556vw;
  min-height: 3.333333333vw;
  padding: 0.694444444vw 0.972222222vw;
  border: 0.069444444vw solid var(--line-strong);
  font-size: 0.902777778vw;
}
.realizzazioni-page .gallery-viewer-controls {
  gap: 0.833333333vw;
  padding: 0.833333333vw 1.388888889vw;
  border-top: 0.069444444vw solid var(--line);
  font-size: 0.833333333vw;
}
.realizzazioni-page .gallery-viewer-controls button {
  min-width: 3.333333333vw;
  min-height: 3.333333333vw;
  border: 0.069444444vw solid var(--line-strong);
  font-size: 1.666666667vw;
}
.realizzazioni-page .gallery-dialog-image img {
  max-height: max(8.333333333vw, 100dvh - 24.305555556vw);
}
.realizzazioni-page :is(.pagination-button, .gallery-viewer-controls button):focus-visible {
  outline: 0.208333333vw solid var(--button-primary);
  outline-offset: 0.208333333vw;
}
.realizzazioni-page .gallery-jump:focus-visible {
  outline: rgb(255, 255, 255) solid 0.208333333vw;
  outline-offset: 0.277777778vw;
}
.realizzazioni-page .portfolio-process {
  width: 100%;
  padding: 0px;
  margin: 1.944444444vw 0px 0px;
  gap: 0.833333333vw;
}
.realizzazioni-page .portfolio-process li {
  gap: 0.763888889vw;
}
.realizzazioni-page .portfolio-process li + li::before {
  left: -0.416666667vw;
  bottom: 0.138888889vw;
  height: 0.972222222vw;
  width: 0.069444444vw;
}
.realizzazioni-page .portfolio-process svg {
  width: 2.222222222vw;
  height: 2.222222222vw;
}
.realizzazioni-page .portfolio-process span {
  font-size: 0.694444444vw;
  letter-spacing: 0.02em;
}
.realizzazioni-page .room-photo-detail {
  inset: 0px;
}
.realizzazioni-page .room-photo-detail img {
  top: 0px;
  right: 0px;
  width: 27%;
  height: 100%;
  object-position: 89% center;
  transform-origin: right center;
}
.realizzazioni-page .portfolio-process span {
  width: 100%;
  line-height: 1.5;
}
.realizzazioni-page .realizzazioni-hero--villa {
  min-height: var(--page-opening-height, 31.944444444vw);
  height: auto;
  padding: 1.944444444vw 0px;
}
.realizzazioni-page .realizzazioni-hero--villa .villa-background,
.realizzazioni-page .realizzazioni-hero--villa .villa-background::after {
  inset: 0px;
}
.realizzazioni-page .realizzazioni-hero--villa .villa-background img {
  width: 100%;
  height: 100%;
  object-position: center center;
}
.realizzazioni-page .realizzazioni-hero--villa .villa-content {
  width: min(88.888888889vw, 100% - 4.444444444vw);
  margin-inline: auto;
}
.realizzazioni-page .realizzazioni-hero--villa .portfolio-eyebrow {
  margin-bottom: 1.111111111vw;
  letter-spacing: 0.18em;
  font-size: 0.833333333vw;
}
.realizzazioni-page .realizzazioni-hero--villa h1 {
  max-width: 45.833333333vw;
  margin: 0px;
  font-size: clamp(2.777777778vw, 4vw, 3.888888889vw);
  line-height: 1.04;
  letter-spacing: -0.045em;
}
.realizzazioni-page .realizzazioni-hero--villa .villa-description {
  max-width: 40.277777778vw;
  margin-top: 1.25vw;
  font-size: 1.111111111vw;
  line-height: 1.7;
}
.realizzazioni-page .realizzazioni-hero--villa .gallery-jump {
  min-height: 3.611111111vw;
  margin-top: 1.527777778vw;
  padding: 1.041666667vw 1.666666667vw;
  gap: 2.361111111vw;
  font-size: 0.833333333vw;
}
.realizzazioni-page .realizzazioni-hero--villa .gallery-jump > span {
  font-size: 1.805555556vw;
  line-height: 1;
}
.realizzazioni-page .realizzazioni-hero--villa .portfolio-process {
  width: min(37.5vw, 100%);
  margin-top: 1.666666667vw;
  padding-top: 1.25vw;
  border-top: 0.069444444vw solid rgba(255, 255, 255, 0.22);
  gap: 1.388888889vw;
}
.realizzazioni-page .realizzazioni-hero--villa .portfolio-process li {
  gap: 0.694444444vw;
}
.realizzazioni-page .realizzazioni-hero--villa .portfolio-process svg {
  width: 1.805555556vw;
  height: 1.805555556vw;
}
.realizzazioni-page .realizzazioni-hero--villa .portfolio-process span {
  font-size: 0.694444444vw;
  letter-spacing: 0.05em;
}
.realizzazioni-page .realizzazioni-hero--villa[data-motion="pending"] :is(h1, .villa-description, .gallery-jump) {
  transform: translateY(1.111111111vw);
}
.realizzazioni-page .portfolio-gallery {
  padding-block: 4.444444444vw;
}
.realizzazioni-page .portfolio-gallery .gallery-heading {
  gap: 2.222222222vw;
  margin-bottom: 2.222222222vw;
}
.realizzazioni-page .portfolio-gallery .gallery-heading .portfolio-eyebrow {
  font-size: 0.763888889vw;
  letter-spacing: 0.16em;
}
.realizzazioni-page .portfolio-gallery .gallery-heading h2 {
  font-size: clamp(2.222222222vw, 3.5vw, 3.333333333vw);
  line-height: 1.12;
  letter-spacing: -0.045em;
}
.realizzazioni-page .portfolio-gallery .gallery-heading > p {
  max-width: 18.75vw;
  font-size: 0.972222222vw;
  line-height: 1.8;
}
.realizzazioni-page .portfolio-gallery .gallery-toolbar {
  gap: 1.111111111vw 1.666666667vw;
  padding-bottom: 1.666666667vw;
  margin-bottom: 1.944444444vw;
  border-bottom: 0.069444444vw solid var(--line);
}
.realizzazioni-page .portfolio-gallery .filter-container {
  gap: 0.277777778vw;
  padding: 0.347222222vw;
  border: 0.069444444vw solid var(--line);
  border-radius: 0.833333333vw;
  box-shadow: rgba(8, 28, 48, 0.03) 0px 0.208333333vw 0.694444444vw;
}
.realizzazioni-page .portfolio-gallery .filter-btn {
  min-height: 3.055555556vw;
  padding: 0.694444444vw 1.180555556vw;
  border: 0.069444444vw solid transparent;
  border-radius: 0.555555556vw;
  font-size: 0.833333333vw;
  line-height: 1.5;
}
.realizzazioni-page .portfolio-gallery .filter-btn.active {
  box-shadow: 0 0.208333333vw 0.555555556vw rgba(var(--accent-copper-rgb), .18);
}
.realizzazioni-page .portfolio-gallery .gallery-status {
  min-height: 0px;
  margin: 0px;
  font-size: 0.833333333vw;
  line-height: 1.6;
}
.realizzazioni-page .portfolio-gallery .portfolio-grid-container {
  gap: 1.944444444vw;
}
.realizzazioni-page .portfolio-gallery .project-card {
  border: 0.069444444vw solid rgb(225, 230, 237);
  border-radius: 0.833333333vw;
  box-shadow: rgba(8, 28, 48, 0.04) 0px 0.277777778vw 1.111111111vw;
}
.realizzazioni-page .portfolio-gallery .project-image {
  margin: 0.833333333vw 0.833333333vw 0px;
  border-radius: 0.486111111vw;
  border: 0.069444444vw solid rgb(225, 230, 237);
}
.realizzazioni-page .portfolio-gallery .project-image img {
  width: 100%;
  height: 100%;
}
.realizzazioni-page .portfolio-gallery .project-caption {
  gap: 1.111111111vw;
  padding: 1.388888889vw;
  min-height: 7.361111111vw;
}
.realizzazioni-page .portfolio-gallery .project-caption h3 {
  font-size: 1.041666667vw;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.realizzazioni-page .portfolio-gallery .project-caption > span {
  flex: 0 0 2.5vw;
  height: 2.5vw;
  border: 0.069444444vw solid rgba(var(--accent-copper-rgb), .25);
  border-radius: 50%;
  font-size: 1.527777778vw;
}
.realizzazioni-page .portfolio-gallery .project-card:focus-within {
  outline: 0.138888889vw solid var(--accent-copper);
  outline-offset: 0.277777778vw;
}
.realizzazioni-page .portfolio-gallery .project-card:has(.project-open:hover) {
  box-shadow: rgba(8, 28, 48, 0.1) 0px 0.833333333vw 1.944444444vw;
}
.realizzazioni-page .portfolio-gallery .portfolio-pagination {
  gap: 0.555555556vw;
  margin-top: 2.777777778vw;
}
.realizzazioni-page .portfolio-gallery .pagination-button {
  min-height: 3.055555556vw;
  border-radius: 0.555555556vw;
}
.realizzazioni-page .b2b-contractor-callout {
  padding-block: 3.333333333vw 1.666666667vw;
}
.realizzazioni-page .b2b-box {
  padding: 2.222222222vw;
  border-radius: 0.833333333vw;
}
.realizzazioni-page .b2b-icon-wrap {
  width: 3.888888889vw;
  height: 3.888888889vw;
  border-radius: 50%;
}
.realizzazioni-page .btn-b2b {
  border-radius: 0.486111111vw;
}
.realizzazioni-page .portfolio-cta-section .portfolio-cta-box {
  border-radius: 0.972222222vw;
  padding: 3.055555556vw;
}
.realizzazioni-page .portfolio-cta-section .portfolio-button {
  border-radius: 0.486111111vw;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
.realizzazioni-page .portfolio-gallery .project-card:has(.project-open:hover) {
  transform: translateY(-0.277777778vw);
}
}
.realizzazioni-page #portfolio-grid .project-card {
  border: 0.069444444vw solid rgba(200, 140, 101, 0.7);
  border-radius: 1.388888889vw;
  box-shadow: rgba(38, 54, 71, 0.19) 0px 0.625vw 1.388888889vw -0.555555556vw;
}
.realizzazioni-page #portfolio-grid .project-open {
  border-radius: inherit;
}
.realizzazioni-page #portfolio-grid .project-image {
  margin: 0px;
  padding: 0px;
  border-radius: 1.319444444vw 1.319444444vw 0px 0px;
}
.realizzazioni-page #portfolio-grid .project-image img {
  inset: 0px;
  width: 100%;
  height: 100%;
  max-height: none;
  object-position: center center;
}
.realizzazioni-page #portfolio-grid .project-caption {
  min-height: 10.694444444vw;
  gap: 1.111111111vw;
  padding: 1.527777778vw 1.666666667vw 1.736111111vw;
}
.realizzazioni-page #portfolio-grid .project-caption::before {
  inset: -2.361111111vw 0px 0px auto;
  width: 43%;
}
.realizzazioni-page #portfolio-grid .project-caption h3 {
  min-width: 0px;
  max-width: 72%;
  padding-bottom: 1.388888889vw;
  font-size: clamp(1.527777778vw, 1.95vw, 1.944444444vw);
  line-height: 1.16;
  letter-spacing: -0.04em;
}
.realizzazioni-page #portfolio-grid .project-caption h3::after {
  bottom: 0px;
  left: 0px;
  width: 4.027777778vw;
  height: 0.138888889vw;
}
.realizzazioni-page #portfolio-grid .project-caption > span {
  flex: 0 0 3.75vw;
  height: 3.75vw;
  margin-bottom: 0.625vw;
  border: 0.069444444vw solid rgba(248, 233, 223, 0.74);
  font-size: 0px;
}
.realizzazioni-page #portfolio-grid .project-caption > span::after {
  font-size: 2.222222222vw;
}
.realizzazioni-page #portfolio-grid .project-fold {
  top: 0px;
  left: 0px;
  width: 7.361111111vw;
  height: 5.972222222vw;
}
.realizzazioni-page #portfolio-grid .project-fold-shape {
  width: 100%;
  height: 100%;
}
.realizzazioni-page #portfolio-grid .project-fold-icon {
  top: 1.111111111vw;
  left: 1.111111111vw;
  width: 2.361111111vw;
  height: 2.361111111vw;
}
.realizzazioni-page #portfolio-grid .project-card:has(.project-open:hover),
.realizzazioni-page #portfolio-grid .project-card:focus-within {
  box-shadow: rgba(38, 54, 71, 0.27) 0px 0.763888889vw 1.666666667vw -0.625vw;
}

/* 08 — Contatti, moduli e mappa */
.contacts-page {
  --contacts-gutter: clamp(1.388888889vw, 4vw, 3.888888889vw);
}
.contacts-page .contacts-map iframe {
  width: 100%;
  height: 23.611111111vw;
}
.contacts-page .contacts-map-frame {
  height: calc(var(--page-opening-height, 30.555555556vw) - 6.944444444vw);
}
.contacts-page .contacts-map-prompt {
  gap: 0.694444444vw;
  height: 100%;
  padding: 0.833333333vw 1.111111111vw;
}
.contacts-page .contacts-map-prompt h2 {
  margin: 0px;
  font-size: 1.25vw;
  line-height: 1.2;
}
.contacts-page .contacts-map-prompt p {
  max-width: 43.055555556vw;
  margin: 0px;
  font-size: 0.833333333vw;
  line-height: 1.5;
}
.contacts-page .contacts-map-revoke {
  min-height: 3.055555556vw;
  padding: 0.833333333vw 0px;
  line-height: inherit;
  font-size: 0.833333333vw;
}
.contacts-page .contacts-map-toolbar {
  gap: 1.111111111vw;
  min-height: 6.944444444vw;
  padding-inline: var(--contacts-gutter);
}
.contacts-page .contacts-map-label {
  margin: 0px;
  padding-block: 0.972222222vw;
  font-size: 0.833333333vw;
}
.contacts-page .contacts-map-link {
  gap: 0.694444444vw;
  min-height: 3.055555556vw;
  padding: 0.833333333vw 1.25vw;
  border-radius: 0.208333333vw;
  font-size: 0.833333333vw;
}
.contacts-page .contacts-map-link svg {
  width: 1.180555556vw;
  height: 1.180555556vw;
}
.contacts-page .contacts-card {
  grid-template-columns: 10.277777778vw minmax(0px, 1fr);
  width: min(76.388888889vw, calc(100% - 2 * var(--contacts-gutter)));
  margin: -3.611111111vw auto 0px;
  border-radius: 0.277777778vw;
  box-shadow: rgba(11, 29, 50, 0.14) 0px 0.972222222vw 2.361111111vw;
  scroll-margin-top: 7.777777778vw;
}
.contacts-page .contacts-rail {
  padding: 3.472222222vw 1.388888889vw;
  border-radius: 0.277777778vw 0px 0px 0.277777778vw;
  box-shadow: inset -0.138888889vw 0 0 var(--accent-copper);
  clip-path: polygon(0px 0px, 100% 0px, 100% 100%, 3.472222222vw 100%, 0px calc(100% - 3.472222222vw));
}
.contacts-page .contacts-rail::before {
  inset: 0px;
  border-radius: inherit;
}
.contacts-page .contacts-rail::after {
  inset: 0px;
}
.contacts-page .contacts-rail-link {
  gap: 0.763888889vw;
  min-height: 9.166666667vw;
  padding: 1.25vw 0.555555556vw;
  font-size: 0.972222222vw;
}
.contacts-page .contacts-rail-link + .contacts-rail-link::before {
  top: 0px;
  left: 50%;
  width: 4.027777778vw;
  height: 0.069444444vw;
}
.contacts-page .contacts-rail-icon {
  width: 4.027777778vw;
  height: 4.027777778vw;
  border: 0.069444444vw solid var(--accent-copper);
  border-radius: 50%;
}
.contacts-page .contacts-rail-icon svg {
  width: 1.736111111vw;
  height: 1.736111111vw;
}
.contacts-page .contacts-panel {
  min-width: 0px;
  padding: 2.222222222vw 2.777777778vw;
}
.contacts-page .contacts-panel::after {
  top: 0px;
  inset-inline-end: 0px;
  width: 10.555555556vw;
  height: 9.583333333vw;
}
.contacts-page .contacts-eyebrow {
  margin: 0px 0px 1.111111111vw;
  font-size: 0.694444444vw;
  letter-spacing: 0.23em;
}
.contacts-page .contacts-title {
  margin: 0px;
  max-width: 53.472222222vw;
  font-size: clamp(2.5vw, 3.5vw, 3.333333333vw);
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.contacts-page .contacts-description {
  max-width: 47.222222222vw;
  margin: 1.111111111vw 0px 1.527777778vw;
  font-size: 1.041666667vw;
  line-height: 1.65;
}
.contacts-page .contacts-form {
  gap: 0.833333333vw 1.111111111vw;
}
.contacts-page .contacts-field {
  gap: 0.416666667vw;
  min-width: 0px;
}
.contacts-page .contacts-field label:not(.contacts-field-control--select) {
  width: 0.069444444vw;
  height: 0.069444444vw;
  padding: 0px;
  margin: -0.069444444vw;
}
.contacts-page .contacts-field-control > svg {
  inset-inline-start: 0.972222222vw;
  top: 0.972222222vw;
  width: 1.319444444vw;
  height: 1.319444444vw;
}
.contacts-page .contacts-field :is(input, select, textarea) {
  width: 100%;
  min-height: 3.472222222vw;
  padding: 0.763888889vw 0.972222222vw;
  padding-inline-start: 2.986111111vw;
  border: 0.069444444vw solid rgb(214, 226, 238);
  border-radius: 0.347222222vw;
  font-size: 0.972222222vw;
  line-height: 1.6;
}
.contacts-page .contacts-field select {
  padding-inline-end: 2.222222222vw;
}
.contacts-page .contacts-field textarea {
  min-height: 6.666666667vw;
}
.contacts-page .contacts-consent-control {
  gap: 0.833333333vw;
}
.contacts-page .contacts-consent input {
  width: 1.388888889vw;
  height: 1.388888889vw;
  flex: 0 0 1.388888889vw;
  margin-top: 0.208333333vw;
}
.contacts-page .contacts-consent label {
  font-size: 0.833333333vw;
  line-height: 1.7;
}
.contacts-page .contacts-consent label a {
  text-underline-offset: 0.208333333vw;
}
.contacts-page .contacts-sr-only {
  width: 0.069444444vw;
  height: 0.069444444vw;
  padding: 0px;
  margin: -0.069444444vw;
}
.contacts-page .contacts-error {
  margin: 0px;
  font-size: 0.833333333vw;
  line-height: 1.5;
}
.contacts-page .contacts-submit-button {
  gap: 1.666666667vw;
  min-height: 3.75vw;
  min-width: min(100%, 24.305555556vw);
  max-width: 100%;
  padding: 1.041666667vw 1.944444444vw;
  border: 0.069444444vw solid var(--button-primary);
  border-radius: 0.347222222vw;
  line-height: inherit;
  font-size: 0.972222222vw;
}
.contacts-page .contacts-submit-button svg {
  width: 1.527777778vw;
  height: 1.527777778vw;
}
.contacts-page .contacts-submit-actions {
  gap: 0.833333333vw;
}
.contacts-page .contacts-submit-actions .contacts-submit-button {
  min-width: 0px;
  gap: 0.833333333vw;
  padding-inline: 1.25vw;
}
.contacts-page .contacts-submit-note,
:where(.site-chrome) .contacts-form-status {
  margin: 0.833333333vw 0px 0px;
  font-size: 0.763888889vw;
  line-height: 1.65;
}
.contacts-page .contacts-nojs {
  font-size: 0.972222222vw;
  line-height: 1.7;
}
.contacts-page .contacts-process {
  width: min(84.722222222vw, calc(100% - 2 * var(--contacts-gutter)));
  margin: 0px auto;
  padding: 3.888888889vw 0px 4.166666667vw;
}
.contacts-page .contacts-process h2 {
  margin: 0px;
  font-size: clamp(1.805555556vw, 2.4vw, 2.361111111vw);
  line-height: 1.15;
  letter-spacing: -0.035em;
}
.contacts-page .contacts-process h2::after {
  width: 2.5vw;
  height: 0.138888889vw;
  margin: 1.527777778vw auto;
}
.contacts-page .contacts-process-description {
  font-size: 0.972222222vw;
  line-height: 1.7;
}
.contacts-page .contacts-steps {
  gap: 3.472222222vw;
  margin: 2.5vw 0px 0px;
  padding: 0px;
}
.contacts-page .contacts-step {
  grid-template-columns: 3.888888889vw minmax(0px, 1fr);
  gap: 1.388888889vw;
}
.contacts-page .contacts-step:not(:last-child)::after {
  inset-inline-end: -2.361111111vw;
  top: 1.944444444vw;
  width: 1.666666667vw;
  height: 0.069444444vw;
}
.contacts-page .contacts-step-number {
  width: 3.888888889vw;
  height: 3.888888889vw;
  margin-top: 0.555555556vw;
  border-radius: 50%;
  font-size: 1.25vw;
}
.contacts-page .contacts-step-icon {
  width: 2.222222222vw;
  height: 2.222222222vw;
  margin-bottom: 0.833333333vw;
}
.contacts-page .contacts-step h3 {
  margin: 0px 0px 0.694444444vw;
  font-size: 1.041666667vw;
  line-height: 1.4;
}
.contacts-page .contacts-step p {
  margin: 0px;
  font-size: 0.902777778vw;
  line-height: 1.7;
}
.contacts-page main :is(a, button, input, select, textarea):focus-visible {
  outline: 0.208333333vw solid var(--contacts-accent);
  outline-offset: 0.277777778vw;
}
[dir="rtl"] .contacts-page .contacts-rail {
  border-radius: 0px 0.208333333vw 0.208333333vw 0px;
}
.contacts-page .contacts-submit-note a {
  text-underline-offset: 0.138888889vw;
}
.contacts-page .contacts-email-draft {
  min-width: 0px;
  margin-top: 1.25vw;
  padding: 1.111111111vw;
  border: 0.069444444vw solid rgb(214, 226, 238);
  border-radius: 0.347222222vw;
  font-size: 0.902777778vw;
  line-height: 1.65;
}
.contacts-page .contacts-email-draft p {
  margin: 0px 0px 0.833333333vw;
}
.contacts-page .contacts-email-draft summary {
  padding-block: 0.833333333vw;
}
.contacts-page .contacts-email-draft label {
  margin-top: 0.833333333vw;
}
.contacts-page .contacts-email-draft :is(input, textarea) {
  width: 100%;
  min-width: 0px;
  max-width: 100%;
  margin-block: 0.416666667vw;
  padding: 0.694444444vw;
  border: 0.069444444vw solid rgb(214, 226, 238);
  border-radius: 0.347222222vw;
  font-size: 1.111111111vw;
  line-height: 1.5;
}
.contacts-page .contacts-email-draft button {
  min-height: 3.055555556vw;
  max-width: 100%;
  padding: 0.555555556vw 0.972222222vw;
  border: 0.069444444vw solid var(--contacts-accent);
  border-radius: 0.347222222vw;
}
.contacts-page .contacts-email-draft :is(a, summary, input, textarea, button):focus-visible {
  outline: 0.138888889vw solid var(--contacts-accent);
  outline-offset: 0.208333333vw;
}

/* 09 — Privacy e cookie: colonne di lettura proporzionate */
:where(.site-chrome) .legal-content {
  width: min(100%, 73.611111111vw);
  margin-inline: auto;
  padding: calc(var(--home-header-height, 6.944444444vw) + 3.333333333vw) 2.222222222vw 5.555555556vw;
}
:where(.site-chrome) .legal-breadcrumb {
  margin-bottom: 2.222222222vw;
  font-size: 0.972222222vw;
}
:where(.site-chrome) .legal-content a {
  text-underline-offset: 0.208333333vw;
}
:where(.site-chrome) .legal-heading {
  margin-bottom: 1.666666667vw;
}
:where(.site-chrome) .legal-heading > p,
:where(.site-chrome) .legal-heading > [data-legal-lang] > p {
  font-size: 0.902777778vw;
  letter-spacing: 0.1em;
}
:where(.site-chrome) .legal-heading h1 {
  font-size: clamp(2.222222222vw, 5vw, 3.888888889vw);
  line-height: 1.15;
  margin: 0.833333333vw 0px 1.388888889vw;
}
:where(.site-chrome) .legal-content p,
:where(.site-chrome) .legal-content li {
  font-size: 1.111111111vw;
  line-height: 1.8;
}
:where(.site-chrome) .legal-content p {
  margin: 0px 0px 1.25vw;
}
:where(.site-chrome) .legal-content .legal-lead {
  font-size: 1.25vw;
}
:where(.site-chrome) .legal-content section {
  margin-top: 2.777777778vw;
  scroll-margin-top: calc(var(--home-header-height, 6.944444444vw) + 1.666666667vw);
}
:where(.site-chrome) .legal-content h2 {
  font-size: clamp(1.527777778vw, 3vw, 1.944444444vw);
  line-height: 1.35;
  margin: 0px 0px 1.25vw;
}
:where(.site-chrome) .legal-content h3 {
  font-size: 1.25vw;
  line-height: 1.5;
  margin: 1.805555556vw 0px 0.833333333vw;
}
:where(.site-chrome) .legal-content ul {
  padding-left: 1.666666667vw;
  margin-bottom: 1.666666667vw;
}
:where(.site-chrome) .legal-content li + li {
  margin-top: 0.833333333vw;
}
:where(.site-chrome) .legal-notice {
  border-left: 0.208333333vw solid var(--accent-copper);
  padding: 1.388888889vw 1.666666667vw;
  margin: 1.944444444vw 0px;
}
:where(.site-chrome) .legal-notice strong {
  margin-bottom: 0.555555556vw;
}
:where(.site-chrome) .legal-notice p {
  margin: 0px;
  font-size: 0.972222222vw;
}
:where(.site-chrome) .legal-pending {
  padding: 1.111111111vw 1.388888889vw;
  border-left: 0.138888889vw solid var(--accent-copper);
}
:where(.site-chrome) .legal-index {
  gap: 0.833333333vw 1.666666667vw;
  border-block: 0.069444444vw solid var(--line);
  padding-block: 1.25vw;
}
:where(.site-chrome) .legal-index a {
  min-height: 3.055555556vw;
  font-size: 0.972222222vw;
}
:where(.site-chrome) .legal-table-wrap {
  max-width: 100%;
  margin-bottom: 1.666666667vw;
}
:where(.site-chrome) .legal-content table {
  width: 100%;
}
:where(.site-chrome) .legal-content caption {
  font-size: 0.972222222vw;
  line-height: 1.6;
  padding-bottom: 0.833333333vw;
}
:where(.site-chrome) .legal-content th,
:where(.site-chrome) .legal-content td {
  padding: 1.111111111vw;
  border: 0.069444444vw solid var(--line);
  font-size: 0.972222222vw;
  line-height: 1.7;
}
:where(.site-chrome) .legal-content code {
  font-size: 0.95em;
}
:where(.site-chrome) .legal-content .legal-related {
  margin-top: 3.333333333vw;
  padding-top: 1.666666667vw;
  border-top: 0.069444444vw solid var(--line);
}
:where(.site-chrome) .legal-content a:focus-visible,
:where(.site-chrome) .legal-skip:focus-visible {
  outline: 0.138888889vw solid var(--accent-copper);
  outline-offset: 0.277777778vw;
}
:where(.site-chrome) .legal-content .legal-updated {
  font-size: 0.972222222vw;
}
:where(.site-chrome) .legal-skip {
  left: 1.111111111vw;
  top: 0.833333333vw;
  padding: 0.833333333vw 1.111111111vw;
}

/* 10 — Aperture condivise delle pagine interne */
body.site-chrome {
  --page-opening-height: 31.944444444vw;
}
:where(.site-chrome) .about-page .about-hero__inner,
:where(.site-chrome) .services-page .services-hero__inner {
  height: var(--page-opening-height);
  min-height: var(--page-opening-height);
}
:where(.site-chrome) .services-page .services-hero__inner {
  padding-block: 2.222222222vw;
}
:where(.site-chrome) .services-page .services-hero__categories a {
  min-height: 4.722222222vw;
  padding-block: 0.833333333vw;
}
:where(.site-chrome) .services-page .services-hero__categories svg {
  width: 2.5vw;
  height: 2.5vw;
}
.contacts-page .contacts-map iframe {
  height: calc(var(--page-opening-height) - 6.944444444vw);
}
@keyframes about-palette-turn {
0% { transform: perspective(83.333333333vw) rotateY(-9deg) rotateX(3deg); }
100% { transform: perspective(83.333333333vw) rotateY(351deg) rotateX(3deg); }
}
@keyframes tia-realizzazioni-copy {
0% { opacity: 0; transform: translateY(1.111111111vw); }
100% { opacity: 1; transform: translateY(0px); }
}
}
