:root {
  --bg: #f5f1eb;
  --surface: #ebe3d9;
  --surface-muted: #f0ebe5;
  --soft: #fbf2eb;
  --card: #fffcf8;
  --text: #1e0f05;
  --muted: #6b5e55;
  --line: #e5ddd4;
  --accent: #d18453;
  --accent-deep: #b47247;
  --dark: #1e0f05;
  --dark-2: #2a1408;
  --cream: #f5f1eb;
  --white: #fffcf8;
  --danger: #c0392b;
  --success: #2d7a4f;
  --shadow: 0 24px 60px rgba(30, 15, 5, 0.08);
  --radius: 22px;
  --header: 68px;
  --serif: "Montserrat", system-ui, sans-serif;
  --sans: "Montserrat", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: var(--text);
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
img, video { max-width: 100%; display: block; }
button, input { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; background: none; border: 0; }
h1, h2, h3, p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
::selection {
  background: #d97858;
  color: #1e0f05;
}

.wrap {
  width: calc(100% - 32px);
  margin-inline: auto;
}
.wrap-l {
  width: min(1220px, calc(100% - 40px));
  margin-inline: auto;
}

.serif { font-family: var(--serif); font-weight: 460; letter-spacing: -0.03em; }
.muted { color: var(--muted); }
.accent { color: var(--accent); }

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

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

/* Header */
.header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 40;
  height: var(--header);
  display: flex;
  align-items: center;
  background: transparent;
  color: #f7f4ef;
  border-bottom: 1px solid transparent;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.header.is-solid,
.header.is-open {
  background: #fff;
  color: #1c1917;
  border-bottom-color: rgba(28, 22, 18, 0.06);
}
.header-inner {
  position: relative;
  width: min(1360px, calc(100% - 48px));
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
.logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
}
.logo img {
  display: block;
  height: 34px;
  width: auto;
}
.logo .logo-dark { display: none; }
.header.is-solid .logo-light,
.header.is-open .logo-light { display: none; }
.header.is-solid .logo-dark,
.header.is-open .logo-dark { display: block; }
.header[data-solid-at]:not(.is-solid):not(.is-open) .logo-light {
  filter: brightness(0) invert(1);
}
.logo em {
  font-style: normal;
  color: var(--accent);
  font-weight: 650;
}
.nav {
  display: flex;
  align-items: center;
  margin-left: auto;
}
.nav-links {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 2px;
}
.nav-links > a,
.nav-drop > a,
.nav-drop > button {
  color: inherit;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.011em;
  padding: 8px 12px;
  border-radius: 8px;
  line-height: 1.2;
}
.nav-links > a[aria-current="page"],
.nav-drop > a[aria-current="page"] { color: var(--accent-deep); }
.header:not(.is-solid):not(.is-open) .nav-links > a[aria-current="page"],
.header:not(.is-solid):not(.is-open) .nav-drop > a[aria-current="page"] { color: #fff; }
.header.is-solid .nav-links > a:hover,
.header.is-solid .nav-drop > a:hover,
.header.is-solid .nav-drop > button:hover,
.header.is-open .nav-links > a:hover,
.header.is-open .nav-drop > a:hover,
.header.is-open .nav-drop > button:hover { background: rgba(28, 22, 18, 0.045); }
.nav-drop { position: relative; }
.nav-drop > a,
.nav-drop > button { display: inline-flex; align-items: center; gap: 5px; }
.chev { width: 11px; height: 11px; display: block; }
.nav-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 5;
  min-width: 230px;
  padding: 8px;
  background: var(--card);
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  display: none;
}
.nav-panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -12px;
  height: 12px;
}
.nav-drop:hover .nav-panel,
.nav-drop:focus-within .nav-panel { display: grid; }
.nav-panel a {
  color: var(--text);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.94rem;
  font-weight: 500;
}
.nav-panel a:hover { background: var(--soft); }
.header-cta {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
}
.burger {
  display: none;
  position: relative;
  z-index: 2;
  width: 42px;
  height: 42px;
  border-radius: 12px;
}
.burger span:not(.sr) {
  position: absolute;
  left: 12px;
  width: 18px;
  height: 1.5px;
  border-radius: 1px;
  background: currentColor;
  transform-origin: center;
  transition: transform 0.28s ease, opacity 0.2s ease, top 0.28s ease;
}
.burger span:nth-child(1) { top: 15px; }
.burger span:nth-child(2) { top: 20.25px; }
.burger span:nth-child(3) { top: 25.5px; }
.header.is-open .burger span:nth-child(1) {
  top: 20.25px;
  transform: rotate(45deg);
}
.header.is-open .burger span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.4);
}
.header.is-open .burger span:nth-child(3) {
  top: 20.25px;
  transform: rotate(-45deg);
}
@media (prefers-reduced-motion: reduce) {
  .burger span:not(.sr) { transition: none; }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 620;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.btn:hover { transform: translateY(-1px); }
.header .btn:hover { transform: none; }
.btn-nav-line {
  min-height: 40px;
  padding: 0 16px;
  border: 1.5px solid #1c1917;
  background: transparent;
  color: #1c1917;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.011em;
}
.header:not(.is-solid):not(.is-open) .btn-nav-line {
  border-color: rgba(247, 244, 239, 0.85);
  color: #f7f4ef;
}
.btn-nav-line:hover { background: rgba(255, 255, 255, 0.1); }
.header.is-solid .btn-nav-line:hover,
.header.is-open .btn-nav-line:hover { background: rgba(28, 22, 18, 0.04); }
.btn-nav-solid {
  min-height: 40px;
  padding: 0 18px;
  background: #fff;
  color: #161513;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.011em;
}
.btn-nav-solid:hover { background: #f4f1ec; }
.header.is-solid .btn-nav-solid,
.header.is-open .btn-nav-solid {
  background: #161513;
  color: #fff;
}
.header.is-solid .btn-nav-solid:hover,
.header.is-open .btn-nav-solid:hover { background: #000; }
.btn-accent { background: var(--accent); color: white; }
.btn-accent:hover { background: var(--accent-deep); }
.btn-dark { background: var(--dark); color: var(--cream); }
.btn-dark:hover { background: var(--dark-2); }
.btn-line {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
}

/* Hero */
.hero {
  position: relative;
  min-height: 100svh;
  color: var(--cream);
  background: #140a04;
  overflow: hidden;
}
.hero-media,
.hero-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-media video {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.hero-media video.is-ready { opacity: 1; }
.hero-media {
  background:
    radial-gradient(900px 520px at 78% 42%, rgba(209, 132, 83, 0.38), transparent 62%),
    radial-gradient(700px 480px at 18% 80%, rgba(209, 132, 83, 0.16), transparent 60%),
    linear-gradient(165deg, #3a2216 0%, #1e0f05 46%, #120904 100%);
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 56% 40% at 50% 46%, rgba(16, 8, 3, 0.4), rgba(16, 8, 3, 0.08) 70%, transparent 82%),
    linear-gradient(180deg, rgba(16, 8, 3, 0.3) 0%, rgba(16, 8, 3, 0.12) 50%, rgba(16, 8, 3, 0.34) 100%);
}
.hero-content {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--header) clamp(20px, 4vw, 56px) 14vh;
}
.hero-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 1180px);
}
.hero-eyebrow {
  margin: 0 0 1.35rem;
  color: rgba(245, 241, 235, 0.7);
  font-size: clamp(0.92rem, 0.35vw + 0.84rem, 1.05rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: center;
}
.hero-title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 0.1em;
  color: var(--cream);
  font-family: var(--sans);
  font-weight: 700;
  font-size: clamp(1.7rem, 0.85rem + 2.55vw, 4.15rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
  text-align: center;
}
.hero-static {
  max-width: 100%;
  text-wrap: balance;
}
.hero-rotator {
  --hero-shift: 14px;
  --hero-blur: 3px;
  --hero-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --hero-duration: 600ms;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  row-gap: 0.02em;
}
.hero-clause {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  max-width: 100%;
  white-space: nowrap;
  gap: 0.28em;
}
.hero-fixed {
  font-style: normal;
  font-weight: 700;
  color: var(--cream);
}
.hero-slot {
  position: relative;
  display: inline-grid;
  justify-items: start;
  align-items: center;
  overflow: hidden;
  line-height: 1.2;
  padding: 0.04em 0.1em 0.08em;
  vertical-align: baseline;
  transition: width var(--hero-duration) var(--hero-ease);
}
.hero-word {
  grid-area: 1 / 1;
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
  opacity: 0;
  transform: translate3d(0, var(--hero-shift), 0);
  transition:
    transform var(--hero-duration) var(--hero-ease),
    opacity var(--hero-duration) var(--hero-ease),
    filter var(--hero-duration) var(--hero-ease);
}
.hero-accent {
  color: var(--accent);
  font-style: italic;
  font-weight: 800;
}
.hero-punct {
  color: var(--cream);
  font-style: normal;
  font-weight: 700;
}
.hero-word.is-current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}
.hero-word.is-leaving {
  opacity: 0;
  transform: translate3d(0, calc(var(--hero-shift) * -1), 0);
  filter: blur(var(--hero-blur));
}
.hero-word.is-prep,
.hero-word.is-hold {
  transition: none;
}
.hero-word.is-prep {
  opacity: 0;
  transform: translate3d(0, var(--hero-shift), 0);
  filter: blur(var(--hero-blur));
}
.hero-word.is-hold {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}
.hero-word.is-current.is-settled {
  transition: none;
  transform: none;
  filter: none;
}
.hero-word:not(.is-current) {
  position: absolute;
  left: 0;
  top: 0;
}

@media (max-width: 800px) {
  .hero-title { font-size: clamp(1.62rem, 6.6vw, 2.4rem); }
}

.form-ok {
  display: none;
  grid-column: 1 / -1;
  font-weight: 650;
}

/* Sections */
section { padding: 96px 0; }
.eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--accent-deep);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.vantaggi {
  background: #fff;
  padding: 92px 0 28px;
  overflow: hidden;
}
.vantaggi-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px 56px;
  margin-bottom: 52px;
}
.vantaggi-head h2 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.22em 0.28em;
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.85rem, 3.15vw, 2.85rem);
  line-height: 1;
  letter-spacing: -0.035em;
  color: #223a30;
}
.vantaggi-head .semplice {
  position: relative;
  display: inline-block;
  font-family: "Montserrat", system-ui, sans-serif;
  font-style: italic;
  font-weight: 800;
  line-height: 1;
  color: var(--accent);
  letter-spacing: -0.03em;
}
.spark {
  position: absolute;
  left: calc(100% + 0.04em);
  top: -0.5em;
  width: 1.12em;
  height: 1.12em;
  overflow: visible;
}
.spark path {
  fill: none;
  stroke: currentColor;
  stroke-width: 7.4;
  stroke-linecap: round;
}
.vantaggi-head p {
  margin: 0;
  color: #24302c;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.4;
}
.vantaggi-head strong {
  font-weight: 700;
  color: #1a2420;
}
.manifesto-open,
.manifesto-prose,
.manifesto-birth,
.manifesto-pull,
.manifesto-close,
.manifesto-sign {
  width: min(680px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}
.manifesto-open { text-align: center; }
.manifesto-kicker {
  margin: 0 0 18px;
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.manifesto-open h1,
.manifesto-birth,
.manifesto-pull,
.manifesto-close {
  margin: 0;
  color: #1c1917;
  font-family: "Montserrat", system-ui, sans-serif;
  font-style: normal;
  font-weight: 700;
  letter-spacing: -0.04em;
}
.manifesto-open h1 {
  font-size: clamp(2.8rem, 5.2vw, 4.45rem);
  line-height: 1.02;
}
.manifesto-lead {
  margin: 22px auto 0;
  max-width: 24em;
  color: #6f6a66;
  font-size: 1.12rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.45;
}
.manifesto-prose { margin-top: 36px; }
.manifesto-prose p {
  margin: 0;
  color: #3f3834;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.7;
}
.manifesto-prose p + p { margin-top: 16px; }
.manifesto-pains {
  width: min(1040px, calc(100% - 48px));
  margin: 48px auto 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 28px;
}
.manifesto-pains li {
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid #e6e0d8;
  color: #1c1917;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.35;
}
.manifesto-creed {
  width: min(1080px, calc(100% - 48px));
  margin: 56px auto 8px;
  padding: 52px 60px;
  display: grid;
  grid-template-columns: minmax(220px, 0.82fr) minmax(0, 1.18fr);
  gap: 28px 64px;
  align-items: start;
  background: #f6f3ee;
  border-radius: 36px;
}
.manifesto-creed > p {
  margin: 0;
  color: #1c1917;
  font-family: "Montserrat", system-ui, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(1.7rem, 2.6vw, 2.25rem);
  line-height: 1.15;
  letter-spacing: -0.04em;
}
.manifesto-beliefs {
  margin: 0;
  padding: 0;
  list-style: none;
}
.manifesto-beliefs li {
  padding: 15px 0;
  border-top: 1px solid #e4ddd4;
  color: #2a241f;
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.4;
}
.manifesto-beliefs li:last-child { border-bottom: 1px solid #e4ddd4; }
.manifesto-page {
  background: #fff;
  padding: calc(var(--header) + 64px) 0 108px;
}
.privacy-page a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.manifesto-after { margin-top: 72px; }
.manifesto-birth,
.manifesto-pull,
.manifesto-close {
  text-align: center;
  font-size: clamp(2.15rem, 3.6vw, 3.05rem);
  line-height: 1.12;
}
.manifesto-pull { margin-top: 36px; font-style: normal; }
.manifesto-close {
  margin-top: 48px;
  font-size: clamp(2.5rem, 4.4vw, 3.55rem);
}
.manifesto-sign {
  margin-top: 22px;
  text-align: center;
  color: var(--accent);
  font-family: "Montserrat", system-ui, sans-serif;
  font-style: normal;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.frame-stage {
  position: relative;
  overflow: hidden;
}
.marquee { overflow: hidden; width: 100%; }
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-left 38s linear infinite;
}
.marquee:hover .marquee-track { animation-play-state: paused; }
.frame-row {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 56px 18px 104px 0;
}
.frame {
  margin: 0;
  overflow: hidden;
  flex: 0 0 auto;
  background: var(--surface);
  border-radius: 28px;
}
.frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.shape-portrait { width: 268px; height: 372px; }
.shape-square { width: 280px; height: 280px; }
.shape-landscape { width: 372px; height: 256px; }
.frame-row .frame:nth-child(5n + 1) { transform: translateY(-56px); }
.frame-row .frame:nth-child(5n + 2) { transform: translateY(64px); }
.frame-row .frame:nth-child(5n + 3) { transform: translateY(-22px); }
.frame-row .frame:nth-child(5n + 4) { transform: translateY(80px); }
.frame-row .frame:nth-child(5n + 5) { transform: translateY(-70px); }
@keyframes marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.pledge {
  width: min(920px, calc(100% - 48px));
  margin: 64px auto 28px;
}
.pledge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px 72px;
  align-items: start;
}
.pledge-num {
  font-family: var(--serif);
  font-weight: 460;
  font-size: clamp(4.4rem, 7vw, 5.6rem);
  line-height: 0.9;
  letter-spacing: -0.045em;
  color: var(--accent);
  margin-bottom: 18px;
}
.pledge article p:last-child {
  color: #3f3834;
  font-size: 1.02rem;
  line-height: 1.5;
  max-width: 34ch;
}
.pledge strong { font-weight: 700; color: #2a241f; }
.pledge-cta {
  display: flex;
  width: fit-content;
  margin: 52px auto 0;
  min-height: 52px;
  padding-inline: 26px;
  background: #1a1a1a;
  color: #fff;
}
.pledge-cta:hover { background: #000; }

.showcase {
  background: #fff;
  padding: 88px 0 80px;
}
.showcase .wrap-l {
  width: min(1180px, calc(100% - clamp(48px, 10vw, 160px)));
}
.showcase-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 34px;
}
.showcase-head h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.35rem, 4.1vw, 3.45rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
  color: #1a1a1a;
}
.showcase-head h2 span {
  color: var(--accent);
  font-style: italic;
  font-weight: 800;
}
.showcase-head p {
  margin: 0 0 6px;
  max-width: 24ch;
  text-align: right;
  color: #8a8a8a;
  font-size: 0.98rem;
  line-height: 1.45;
}
.showcase-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.showcase-grid h3 {
  margin: 18px 0 6px;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #1a1a1a;
}
.showcase-grid article > p {
  margin: 0;
  color: #8d8d8d;
  font-size: 0.95rem;
  line-height: 1.45;
}
.showcase-frame {
  height: 430px;
  border-radius: 26px;
  background-position: center;
  background-size: cover;
  padding: 18px;
  box-shadow: 0 18px 40px rgba(20, 16, 12, 0.08);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.file-stack {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #fff;
  border-radius: 16px;
  padding: 14px 14px 13px;
  box-shadow: 0 8px 22px rgba(20, 16, 12, 0.08);
}
.file-row > div { min-width: 0; flex: 1; }
.file-row b {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.file-row small {
  display: block;
  margin-top: 2px;
  color: #9a9a9a;
  font-size: 0.78rem;
}
.file-actions {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
  color: #b0b0b0;
}
.file-actions svg {
  width: 18px;
  height: 18px;
  padding: 4px;
  margin: -4px;
  box-sizing: content-box;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  border-radius: 8px;
  cursor: pointer;
  transition: color 0.18s ease;
}
.file-actions svg:first-child:hover { color: var(--accent); }
.file-actions svg:last-child:hover { color: #1f9d57; }
.cash-card,
.mail-card {
  width: 100%;
  background: #fff;
  border-radius: 18px;
  padding: 18px 18px 14px;
  box-shadow: 0 10px 28px rgba(20, 16, 12, 0.1);
}
.cash-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.cash-top small,
.mail-card small,
.mail-card time {
  display: block;
  color: #8e8e8e;
  font-size: 0.78rem;
}
.cash-top strong {
  display: block;
  margin: 2px 0;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #1a1a1a;
  font-variant-numeric: tabular-nums;
}
.cash-top em {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 600;
}
.cash-top .up { color: #1f9d57; }
.cash-top .down { color: #e15a4a; }
.cash-card h4 {
  margin: 16px 0 2px;
  font-size: 0.98rem;
  letter-spacing: -0.02em;
}
.cash-card > p {
  margin: 0 0 8px;
  color: #8e8e8e;
  font-size: 0.8rem;
}
.cash-chart { width: 100%; height: auto; display: block; }
.cash-chart text {
  font-size: 11px;
  fill: #b0b0b0;
  font-family: "Montserrat", system-ui, sans-serif;
}
.cash-chart path {
  fill: none;
  stroke: #3aaa78;
  stroke-width: 2.4;
  stroke-linecap: round;
}
.cash-chart path.alt { stroke: var(--accent); }
.mail-caret {
  display: inline-block;
  width: 1px;
  height: 0.95em;
  margin-left: 1px;
  background: currentColor;
  vertical-align: text-bottom;
  animation: mail-blink 0.8s steps(1) infinite;
}
@keyframes rise-in {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: none; }
}
@keyframes draw-line {
  to { stroke-dashoffset: 0; }
}
@keyframes mail-blink {
  50% { opacity: 0; }
}
.showcase.will-play .showcase-head,
.showcase.will-play .showcase-grid article {
  opacity: 0;
}
.showcase.is-in .showcase-head {
  animation: rise-in 0.6s ease forwards;
}
.showcase.is-in .showcase-grid article {
  animation: rise-in 0.7s ease forwards;
}
.showcase.is-in .showcase-grid article:nth-child(2) { animation-delay: 0.12s; }
.showcase.is-in .showcase-grid article:nth-child(3) { animation-delay: 0.24s; }
@keyframes file-stack-in {
  0% { opacity: 0; transform: translateX(-112%) translateY(-16px); }
  68% { opacity: 1; transform: translateX(0) translateY(5px); }
  100% { opacity: 1; transform: none; }
}
.showcase.will-play .file-row {
  opacity: 0;
  transform: translateX(-112%);
}
.showcase.is-in .file-row {
  animation: file-stack-in 0.64s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.showcase.is-in .file-row:nth-child(1) { animation-delay: 0.18s; }
.showcase.is-in .file-row:nth-child(2) { animation-delay: 0.36s; }
.showcase.is-in .file-row:nth-child(3) { animation-delay: 0.54s; }
.showcase.is-in .file-row:nth-child(4) { animation-delay: 0.72s; }
.showcase.is-in .file-row.is-resting {
  animation: none;
  opacity: 1;
  transform: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.showcase.is-in .file-row.is-resting:hover {
  transform: translateY(-7px);
  box-shadow: 0 16px 30px rgba(20, 16, 12, 0.16);
  z-index: 2;
}
.showcase.is-in .cash-chart path {
  animation: draw-line 1.35s cubic-bezier(0.4, 0, 0.2, 1) 0.55s forwards;
}
.showcase.is-in .cash-chart path.alt {
  animation-delay: 0.85s;
}
.mail-card header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}
.mail-card header b {
  display: block;
  font-size: 0.92rem;
  letter-spacing: -0.02em;
}
.mail-card > p {
  margin: 0;
  color: #3a3a3a;
  font-size: 0.88rem;
  line-height: 1.45;
}
.stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.stat {
  padding: 8px 8px 8px 0;
  border-top: 1px solid var(--line);
}
.stat strong {
  display: block;
  font-family: var(--serif);
  font-weight: 460;
  font-size: clamp(4.2rem, 8vw, 7rem);
  line-height: 0.9;
  letter-spacing: -0.04em;
  color: var(--accent);
  margin: 18px 0 12px;
}
.stat h3 {
  font-size: 1.35rem;
  letter-spacing: -0.03em;
  margin-bottom: 8px;
}
.stat p { color: var(--muted); max-width: 42ch; }
.section-link {
  display: inline-flex;
  margin-top: 28px;
  font-weight: 680;
  border-bottom: 1px solid var(--accent);
  padding-bottom: 2px;
}

.motivi {
  background: #fff;
  padding: 56px 0 120px;
}
.motivi h2 {
  margin: 0 0 56px;
  text-align: center;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.15rem, 4vw, 3.35rem);
  letter-spacing: -0.045em;
  line-height: 1.12;
  color: #161616;
}
.motivi-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  align-items: start;
}
.motivo {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  aspect-ratio: 298 / 510;
  margin: 0;
  padding: 9.5% 13% 12%;
  border: 0;
  border-radius: 13.4% / 12.5%;
  background: #f7f6ef;
  color: #141414;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  transition: background-color 0.35s ease, color 0.35s ease;
}
.motivo:nth-child(1):is(:hover, .is-open) { background-color: #d97858; }
.motivo:nth-child(2):is(:hover, .is-open) { background-color: #878d6a; }
.motivo:nth-child(3):is(:hover, .is-open) {
  background-color: #1a2331;
  color: #f4f1ea;
}
.motivo:nth-child(4):is(:hover, .is-open) { background-color: #aec0d2; }
.motivo:nth-child(5):is(:hover, .is-open) { background-color: #c9a48e; }
.motivo:nth-child(3):is(:hover, .is-open) .motivo-body > span {
  color: rgba(244, 241, 234, 0.78);
}
.motivo:focus-visible {
  outline: 2px solid var(--accent-deep);
  outline-offset: 4px;
}
.motivo-num {
  font-weight: 500;
  font-size: clamp(1.6rem, 1.9vw, 2.05rem);
  letter-spacing: -0.045em;
  line-height: 1;
}
.motivo-copy {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: auto;
}
.motivo-title {
  font-weight: 500;
  font-size: clamp(1.14rem, 1.28vw, 1.38rem);
  letter-spacing: -0.035em;
  line-height: 1.18;
}
.motivo-body {
  display: grid;
  grid-template-rows: 0fr;
  width: 100%;
  transition: grid-template-rows 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.motivo.is-open .motivo-body { grid-template-rows: 1fr; }
.motivo-body > span {
  overflow: hidden;
  min-height: 0;
  opacity: 0;
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.4;
  color: rgba(20, 20, 20, 0.72);
  transition: opacity 0.22s ease;
}
.motivo.is-open .motivo-body > span {
  opacity: 1;
  padding-top: 12px;
}
.motivi-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-top: 52px;
}
.motivi-foot p {
  max-width: 48ch;
  margin: 0;
  color: #6f675f;
  font-size: 0.98rem;
  line-height: 1.55;
}
.motivi-foot strong {
  color: #1c140e;
  font-weight: 700;
}
.motivi-cta {
  flex: none;
  border: 1px solid #ddd6cf;
  background: #fff;
  color: #1c140e;
  min-height: 48px;
  padding-inline: 20px;
}
.motivi-cta:hover { background: #faf7f4; }
.motivi.will-play .motivo { opacity: 0; transform: translateY(16px); }
.motivi.is-in .motivo {
  animation: motivo-in 0.62s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.motivi.is-in .motivo:nth-child(2) { animation-delay: 0.08s; }
.motivi.is-in .motivo:nth-child(3) { animation-delay: 0.16s; }
.motivi.is-in .motivo:nth-child(4) { animation-delay: 0.24s; }
.motivi.is-in .motivo:nth-child(5) { animation-delay: 0.32s; }
@keyframes motivo-in {
  to { opacity: 1; transform: none; }
}
.motivi.will-play .motivo-num,
.motivi.will-play .motivo-title,
.motivi.will-play .motivi-foot {
  opacity: 0;
  transform: translateY(16px);
}
.motivi.is-in .motivo-num,
.motivi.is-in .motivo-title,
.motivi.is-in .motivi-foot {
  animation: motivo-text 0.72s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.motivi.is-in .motivo:nth-child(1) .motivo-num,
.motivi.is-in .motivo:nth-child(1) .motivo-title { animation-delay: 0.42s; }
.motivi.is-in .motivo:nth-child(2) .motivo-num,
.motivi.is-in .motivo:nth-child(2) .motivo-title { animation-delay: 0.5s; }
.motivi.is-in .motivo:nth-child(3) .motivo-num,
.motivi.is-in .motivo:nth-child(3) .motivo-title { animation-delay: 0.58s; }
.motivi.is-in .motivo:nth-child(4) .motivo-num,
.motivi.is-in .motivo:nth-child(4) .motivo-title { animation-delay: 0.66s; }
.motivi.is-in .motivo:nth-child(5) .motivo-num,
.motivi.is-in .motivo:nth-child(5) .motivo-title { animation-delay: 0.74s; }
.motivi.is-in .motivi-foot { animation-delay: 0.92s; }
@keyframes motivo-text {
  to { opacity: 1; transform: none; }
}

.bento {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 18px;
}
.panel {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow);
}
.panel h3 { font-size: 1.25rem; letter-spacing: -0.03em; margin-bottom: 6px; }
.panel .hint { color: var(--muted); font-size: 0.92rem; margin-bottom: 18px; }
.docs { display: grid; gap: 10px; }
.doc {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 14px 14px;
  border-radius: 14px;
  background: var(--bg);
}
.doc b { font-weight: 650; }
.doc small { color: var(--muted); }
.chart-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.metric b {
  display: block;
  font-family: var(--serif);
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: -0.03em;
}
.metric span { color: var(--muted); font-size: 0.85rem; }
.up { color: var(--success); }
.down { color: var(--accent-deep); }
.bars {
  height: 160px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  padding-top: 10px;
}
.bars i {
  display: block;
  width: 100%;
  height: var(--h);
  border-radius: 8px 8px 3px 3px;
  background: var(--accent);
}
.bars i:nth-child(odd) { background: var(--dark); opacity: 0.9; }
.bars em {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 8px;
  color: var(--muted);
  font-style: normal;
  font-size: 0.75rem;
}
.bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: stretch; height: 100%; justify-content: flex-end; }
.thread { display: grid; gap: 10px; margin-top: 8px; }
.bubble {
  background: var(--bg);
  border-radius: 16px;
  padding: 14px 16px;
  max-width: 460px;
}
.bubble header {
  display: flex;
  justify-content: space-between;
  font-size: 0.82rem;
  color: var(--muted);
  margin-bottom: 4px;
  height: auto;
  position: static;
  border: 0;
  background: transparent;
}
.pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--accent-deep);
  font-size: 0.78rem;
  font-weight: 700;
}
.span-2 { grid-column: 1 / -1; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 18px; align-items: center; }

.passaggio {
  --pass-time: 10s;
  background: #fff;
  padding: 108px 0 96px;
}
.pass-grid {
  width: min(1240px, calc(100% - 72px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);
  gap: 36px 64px;
  align-items: start;
}
.pass-intro {
  display: flex;
  flex-direction: column;
}
.pass-intro h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.65rem, 3.9vw, 3.85rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: #1a1a1a;
}
.pass-intro h2 span {
  white-space: nowrap;
}
.pass-intro h2 em {
  font-style: italic;
  font-weight: 800;
  color: var(--accent);
}
.pass-photo {
  position: relative;
  margin: 28px 0 0;
  width: 100%;
  aspect-ratio: 1 / 0.92;
}
.pass-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  opacity: 0;
  transform: translateY(14px) scale(0.98);
  transition: opacity 0.55s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
.pass-photo img.is-on {
  opacity: 1;
  transform: none;
  z-index: 1;
}
.pass-side {
  padding-top: 6px;
}
.pass-step {
  border-bottom: 1px solid #ece7e2;
}
.pass-step h3 { margin: 0; font-size: inherit; font-weight: inherit; }
.pass-step button {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: 158px minmax(0, 1fr);
  gap: 16px;
  align-items: baseline;
  text-align: left;
  padding: 26px 4px 22px;
  border-radius: 2px;
}
.pass-step button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}
.pass-step button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}
.pass-step button span:first-child {
  color: var(--accent);
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: -0.02em;
}
.pass-step button span:last-child {
  color: #1a1a1a;
  font-weight: 650;
  font-size: 1.7rem;
  letter-spacing: -0.03em;
}
.pass-step.is-open button { padding-bottom: 16px; }
.pass-step.is-open.is-run button::after {
  transform: scaleX(1);
  transition: transform var(--pass-time) linear;
}
.pass-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.pass-panel > div {
  overflow: hidden;
  min-height: 0;
}
.pass-step.is-open .pass-panel { grid-template-rows: 1fr; }
.pass-panel p {
  margin: 0;
  padding: 10px 8px 24px 178px;
  max-width: 46ch;
  color: #8a8178;
  font-size: 1.02rem;
  line-height: 1.55;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.pass-step.is-open .pass-panel p {
  opacity: 1;
  transform: none;
}
.pass-cta {
  display: flex;
  width: fit-content;
  margin: 54px auto 0;
  min-height: 52px;
  padding-inline: 22px;
  background: #1a1a1a;
  color: #fff;
  font-weight: 600;
}
.pass-cta:hover { background: #000; }

@media (min-width: 1101px) {
  .pass-grid { align-items: stretch; }
  .pass-intro { height: 100%; min-height: 0; }
  .pass-photo {
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    min-height: 360px;
  }
  .pass-photo img { object-position: center bottom; }
  .pass-side {
    display: flex;
    flex-direction: column;
    padding-top: 0;
  }
  .pass-steps {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}

.steps { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 48px; }
.step {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px;
  padding: 22px 0;
  border-top: 1px solid var(--line);
}
.step b {
  font-family: var(--serif);
  font-weight: 500;
  color: var(--accent);
}
.step h3 { margin-bottom: 6px; letter-spacing: -0.02em; }
.step p { color: var(--muted); }

.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.tabs button {
  border-radius: 999px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  font-weight: 620;
}
.tabs button[aria-selected="true"] {
  background: var(--dark);
  color: var(--cream);
  border-color: var(--dark);
}
.tab-panel {
  display: none;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 28px;
  min-height: 180px;
}
.tab-panel.is-on { display: block; }
.tab-panel h3 { font-family: var(--serif); font-size: 2rem; font-weight: 480; letter-spacing: -0.03em; margin-bottom: 10px; }
.tab-panel p { color: var(--muted); max-width: 62ch; }

.day {
  background: #fff;
  color: #141311;
  padding: clamp(4.5rem, 9vw, 7.5rem) 0 clamp(3.5rem, 7vw, 6rem);
}
.day h2 {
  margin: 0 auto;
  text-align: center;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.35rem, 5vw, 3.45rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #141311;
}
.day h2 em {
  font-style: italic;
  font-weight: 800;
}
.day-tabs {
  display: flex;
  margin-top: clamp(2.2rem, 4vw, 3.2rem);
  border-bottom: 1px solid #e8e8e8;
  overflow-x: auto;
  scrollbar-width: none;
}
.day-tabs::-webkit-scrollbar { display: none; }
.day-tab {
  flex: 1 0 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  padding: 0.9rem 0.7rem 1rem;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
  color: #8c8880;
  font-size: 0.86rem;
  font-weight: 500;
  white-space: nowrap;
  border-radius: 0;
  transition: color 0.24s ease, border-color 0.24s ease;
}
.day-tab:hover { color: #141311; }
.day-tab.is-active {
  color: #141311;
  border-bottom-color: var(--accent);
}
.day-tab:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}
.day-icon svg {
  width: 22px;
  height: 22px;
  display: block;
}
.day-stage { min-height: 280px; }
.day-panel {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: clamp(2.4rem, 5vw, 3.6rem) 12px 0;
}
.day-panel.is-on {
  display: flex;
  animation: day-in 0.45s ease;
}
.day-stat {
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(4.4rem, 10vw, 7rem);
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: var(--accent);
}
.day-label {
  margin-top: 0.85rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(42, 41, 38, 0.42);
}
.day-body {
  margin-top: 1.15rem;
  max-width: 46ch;
  font-size: 1.05rem;
  line-height: 1.55;
  color: rgba(42, 41, 38, 0.72);
}
.day-more {
  color: var(--accent);
  font-weight: 560;
  white-space: nowrap;
}
.day-more:hover { text-decoration: underline; text-underline-offset: 0.18em; }
@keyframes day-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

.manifesto-snap {
  background: #fff;
  padding: 8px 0 12px;
}
.manifesto-snap-panel {
  width: min(920px, calc(100% - 48px));
  margin: 0 auto;
  padding: 64px 56px 56px;
  text-align: center;
  background: #f6f3ee;
  border-radius: 36px;
}
.manifesto-snap h2 {
  margin: 0 auto;
  max-width: 14em;
  color: #1c1917;
  font-family: "Montserrat", system-ui, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(2.15rem, 3.8vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}
.manifesto-snap-text {
  margin: 16px auto 0;
  max-width: 38em;
  color: #3f3834;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.6;
}
.manifesto-snap-cta {
  margin-top: 28px;
  min-height: 48px;
  padding: 0 22px;
  background: #1c1917;
  color: #fff;
  font-weight: 600;
}
.manifesto-snap-cta:hover { background: #000; color: #fff; }

#faq { background: #fff; }

#faq { padding: 108px 0 96px; }
.faq-layout {
  width: min(1180px, calc(100% - 80px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
  gap: 40px 80px;
  align-items: start;
}
.faq-intro h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(3.1rem, 4.8vw, 4.55rem);
  line-height: 0.96;
  letter-spacing: -0.038em;
  color: #171717;
}
.faq-intro h2 em { font-style: italic; font-weight: 800; }
.faq-intro p {
  margin: 28px 0 0;
  color: #9b9690;
  font-size: 0.98rem;
  font-weight: 500;
}
.faq-intro a { color: #6d6863; }
.faq-intro a:hover { color: #171717; }
.faq-list { border-top: 0; }
.faq-item { border-bottom: 1px solid #eceae6; }
.faq-item button {
  width: 100%;
  text-align: left;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-weight: 500;
  font-size: 1.02rem;
  letter-spacing: -0.015em;
  line-height: 1.35;
  color: #1c1c1c;
  transition: padding 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-item.is-open button { padding-bottom: 8px; }
.faq-icon {
  position: relative;
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}
.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background: #2a2a2a;
  border-radius: 1px;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1), background 0.4s ease;
}
.faq-icon::before {
  left: 0;
  right: 0;
  top: 50%;
  height: 1.25px;
  transform: translateY(-50%);
}
.faq-icon::after {
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1.25px;
  transform: translateX(-50%);
}
.faq-item.is-open .faq-icon::before,
.faq-item.is-open .faq-icon::after { background: #c9846a; }
.faq-item.is-open .faq-icon::before { transform: translateY(-50%) rotate(45deg); }
.faq-item.is-open .faq-icon::after { transform: translateX(-50%) rotate(45deg); }
.faq-item .a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-item.is-open .a { grid-template-rows: 1fr; }
.faq-item .a p {
  overflow: hidden;
  min-height: 0;
  margin: 0;
  padding: 0 36px 0 0;
  color: #8a8580;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.55;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.4s ease, transform 0.55s cubic-bezier(0.16, 1, 0.3, 1), padding 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-item.is-open .a p {
  padding-bottom: 22px;
  opacity: 1;
  transform: none;
  transition: opacity 0.55s ease 0.08s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.04s, padding 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #8f5640;
  color: #f6f1ea;
  padding: 88px 0 28px;
}
.footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 7%;
  width: 168vw;
  height: 168vw;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #5e3424;
}
.footer-main,
.footer-base,
.footer-note {
  width: min(1180px, calc(100% - 80px));
  margin-inline: auto;
}
.footer-main {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 52px;
}
.footer-lead p {
  max-width: 16em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.85rem, 2.5vw, 2.35rem);
  line-height: 1.22;
  letter-spacing: -0.03em;
  color: #f7f2ec;
}
.footer-mark {
  display: inline-flex;
  margin-top: 56px;
}
.footer-mark img {
  width: auto;
  height: 46px;
}
.footer-cols {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: space-between;
  align-items: start;
  column-gap: 36px;
  row-gap: 36px;
  padding-top: 0;
}
.footer-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}
.footer-kicker {
  margin: 0 0 6px;
  color: rgba(247, 242, 236, 0.62);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.footer-col a {
  color: #f7f2ec;
  font-size: 1.02rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.footer-cols a:hover { color: #fff; }
.footer-base {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 28px;
  margin-top: 72px;
  color: rgba(246, 241, 234, 0.78);
  font-size: 0.95rem;
}
.footer-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
}
.footer-meta a:hover { color: #fff; }
.footer-accedi {
  color: #fff;
  font-weight: 700;
}
.footer-social {
  display: flex;
  gap: 16px;
}
.footer-social a {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #f7f2ec;
}
.footer-social a:hover { color: #fff; }
.footer-social svg { width: 22px; height: 22px; }
.footer-note {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(246, 241, 234, 0.28);
  color: rgba(246, 241, 234, 0.48);
  font-size: 0.78rem;
  line-height: 1.5;
}

.page { background: #fff; }
.condo-hero {
  position: relative;
  width: 100%;
  margin: 0;
  padding: calc(var(--header) + 64px) max(40px, calc((100% - 1180px) / 2)) 200px;
  background: var(--accent);
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(280px, 0.78fr);
  gap: 28px 72px;
  align-items: center;
}
.condo-hero h1 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.85rem, 4.55vw, 4.15rem);
  line-height: 0.96;
  letter-spacing: -0.045em;
  color: #fff8f4;
}
.condo-hero h1 em {
  font-style: italic;
  font-weight: 800;
  color: #fff;
}
.condo-hero p {
  margin: 28px 0 0;
  max-width: 36ch;
  color: rgba(255, 248, 244, 0.88);
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.55;
}
.condo-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
  margin-top: 34px;
}
.condo-hero-actions .btn-dark {
  min-height: 52px;
  padding: 0 22px;
  background: #fffaf6;
  color: #1c1917;
  font-weight: 600;
}
.condo-hero-actions .btn-dark:hover { background: #fff; }
.condo-hero-more {
  color: rgba(255, 248, 244, 0.92);
  font-weight: 600;
  font-size: 1.02rem;
  border-bottom: 1px solid rgba(255, 248, 244, 0.55);
  padding-bottom: 1px;
  line-height: 1.3;
}
.condo-hero-more:hover { color: #fff; border-bottom-color: #fff; }
.condo-hero-photo {
  margin: 0;
  height: clamp(300px, 24vw, 348px);
  overflow: hidden;
  background: #f4efe9;
  border-radius: 54px 96px 68px 118px / 78px 64px 104px 72px;
}
.condo-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.condo-hero-wave {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 112px;
  display: block;
  pointer-events: none;
}
.storie {
  background: #fff;
}
.storie-stage {
  position: relative;
  width: 100%;
  min-height: 800px;
  margin: 36px auto 12px;
  overflow: hidden;
}
.storie-copy {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(560px, calc(100% - 360px));
  text-align: center;
}
.storie-copy h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.15rem, 3.3vw, 3.05rem);
  line-height: 1.18;
  letter-spacing: -0.035em;
  color: #1a1a1a;
}
.storie-copy h2 em {
  font-style: italic;
  font-weight: 800;
  color: var(--accent);
}
.storie-copy p {
  margin: 22px 0 0;
  color: #1a1a1a;
  font-size: 1.08rem;
  font-weight: 500;
}
.storie-copy span {
  display: inline-block;
  margin: 0 0.28em;
  padding: 0.12em 0.72em 0.18em;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.35;
}
.storie-shot {
  position: absolute;
  margin: 0;
  overflow: hidden;
  background: #f3eee8;
  will-change: transform;
}
.storie-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shot-tablet {
  left: -36px;
  top: 18%;
  width: 252px;
  height: 202px;
  border-radius: 30px;
  z-index: 1;
}
.shot-cane {
  left: 86px;
  top: 34%;
  width: 260px;
  height: 224px;
  border-radius: 32px;
  z-index: 2;
}
.shot-gioco {
  left: -72px;
  bottom: 2%;
  width: 360px;
  height: 324px;
  border-radius: 34px;
  z-index: 3;
}
.shot-gioco img { object-position: 62% center; }
.shot-tavolo {
  right: -28px;
  top: 16px;
  width: 304px;
  height: 272px;
  border-radius: 34px;
  z-index: 1;
}
.shot-divano {
  right: 22px;
  top: 292px;
  width: 324px;
  height: 236px;
  border-radius: 34px;
  z-index: 2;
}
.shot-coppia {
  right: -36px;
  bottom: 16px;
  width: 330px;
  height: 258px;
  border-radius: 34px;
  z-index: 1;
}
.shot-coppia img { object-position: center 30%; }
.scegli {
  width: min(1180px, calc(100% - 80px));
  margin: 20px auto 0;
  padding: 48px 0 120px;
}
.scegli h2 {
  margin: 0 0 40px;
  text-align: center;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.2rem, 3.5vw, 3.15rem);
  letter-spacing: -0.035em;
  line-height: 1.15;
  color: #1a1a1a;
}
.scegli-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
.scegli article {
  background: #f2f2f2;
  border-radius: 28px;
  padding: 32px 26px 36px;
}
.scegli img {
  display: block;
  width: 84px;
  height: 84px;
  object-fit: contain;
  object-position: left center;
  margin: 0 0 36px;
}
.scegli h3 {
  margin: 0 0 12px;
  font-size: 1.32rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #1a1a1a;
}
.scegli p {
  margin: 0;
  color: #6d6762;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.5;
}
.vetrina {
  width: 100%;
  height: 300vh;
  margin: 0;
  padding: 0;
}
.vetrina-window {
  position: sticky;
  top: calc(var(--header) + 16px);
  z-index: 1;
  width: min(1120px, calc(100% - 120px));
  height: calc(100vh - var(--header) - 32px);
  height: calc(100svh - var(--header) - 32px);
  margin-inline: auto;
  border-radius: 36px;
  overflow: hidden;
  background: #fff;
}
.vetrina-track {
  position: relative;
  height: 100%;
}
.vetrina-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  border-radius: 36px;
  overflow: hidden;
  background: #f3eee8;
  transform-origin: center center;
}
.vetrina-slide:nth-child(1) { z-index: 1; }
.vetrina-slide:nth-child(2) { z-index: 2; }
.vetrina-slide:nth-child(3) { z-index: 3; }
.vetrina-slide:not(:first-child) {
  transform: translate3d(0, 100%, 0);
  box-shadow: 0 -20px 36px rgba(40, 24, 16, 0.16);
}
.vetrina-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.vetrina-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 120px 56px 92px;
  background: linear-gradient(to top, rgba(22, 12, 8, 0.78) 0%, rgba(22, 12, 8, 0.42) 46%, rgba(22, 12, 8, 0) 100%);
  color: #fff;
  text-align: left;
}
.vetrina-copy h2 {
  margin: 0;
  max-width: 16em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.85rem, 3vw, 2.85rem);
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: #fff;
}
.vetrina-copy p {
  margin: 14px 0 0;
  max-width: 38em;
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.45;
}
.vetrina-cta {
  margin-top: 22px;
  min-height: 48px;
  padding: 0 22px;
  background: var(--accent);
  color: #fff;
  font-weight: 600;
}
.vetrina-cta:hover { background: var(--accent-deep); }
.canali {
  width: min(1180px, calc(100% - 80px));
  margin: 84px auto 40px;
  padding: 36px 0 88px;
}
.canali-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(240px, 0.86fr);
  column-gap: 56px;
  align-items: center;
}
.canali-copy h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.5rem, 4vw, 3.55rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: #1a1a1a;
}
.canali-copy h2 em {
  font-style: italic;
  font-weight: 800;
}
.canali-copy h2 .is-accent { color: var(--accent); }
.canali-copy p {
  margin: 22px 0 0;
  max-width: 38em;
  color: #6d6762;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.55;
}
.canali-photo {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  margin: 0;
  width: 100%;
  height: 530px;
  min-height: 0;
  border-radius: 40px 72px 56px 86px / 64px 46px 76px 52px;
  overflow: hidden;
  background: #f3eee8;
}
.canali-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
}
.canali-reach {
  margin-top: 28px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.canali-kicker {
  margin: 0;
  color: #b3ada7;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.canali-apps {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 16px;
  color: #1a1a1a;
}
.canali-apps a {
  display: inline-flex;
  align-items: center;
  color: inherit;
}
.canali-wa { width: 34px; height: 34px; display: block; }
.canali-meet { gap: 8px; font-size: 1.02rem; font-weight: 600; letter-spacing: -0.02em; }
.canali-meet-icon { width: 34px; height: 34px; display: block; }
.canali-servizi {
  width: auto;
  margin-top: 22px;
  min-height: 48px;
  padding: 0 22px;
  background: #161513;
  color: #fff;
  font-size: 0.98rem;
  font-weight: 600;
}
.canali-servizi:hover { background: #000; }
.page-hero {
  width: min(1100px, calc(100% - 72px));
  margin: calc(var(--header) + 64px) auto 28px;
}
.page-hero h1 {
  margin: 0;
  max-width: 12em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.8rem, 5vw, 4.5rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: #1a1a1a;
}
.page-hero h1 em {
  font-style: italic;
  font-weight: 800;
  color: var(--accent);
}
.page-hero .lead {
  margin: 18px 0 0;
  max-width: 38rem;
  color: #6d6560;
  font-size: 1.08rem;
  line-height: 1.55;
}
.page-jump {
  width: min(1100px, calc(100% - 72px));
  margin: 28px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.page-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #eadfd4;
  background: #fff;
  color: #1a1a1a;
  font-weight: 600;
  font-size: 0.95rem;
}
.page-jump a:hover { border-color: var(--accent); color: var(--accent-deep); }
.page-block {
  width: min(1100px, calc(100% - 72px));
  margin: 28px auto 0;
  padding: 56px 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.9fr);
  gap: 36px 64px;
  align-items: center;
  border-top: 1px solid #ece7e2;
  scroll-margin-top: calc(var(--header) + 12px);
}
.page-block h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 3vw, 2.7rem);
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: #1a1a1a;
}
.page-block p {
  margin: 14px 0 0;
  max-width: 46ch;
  color: #6d6560;
  font-size: 1.05rem;
  line-height: 1.6;
}
.page-block ul {
  margin: 18px 0 0;
  display: grid;
  gap: 8px;
}
.page-block li {
  padding-left: 16px;
  position: relative;
  color: #3a332e;
}
.page-block li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}
.page-figure {
  margin: 0;
  height: 420px;
  border-radius: 28px;
  overflow: hidden;
  background: #f6f1ea;
}
.page-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-figure.is-cutout img { object-fit: contain; padding: 24px; }
.page-cta {
  width: min(1100px, calc(100% - 72px));
  margin: 8px auto 96px;
}

.partner-hero {
  width: min(1100px, calc(100% - 72px));
  margin: calc(var(--header) + 56px) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 36px 64px;
  align-items: center;
}
.partner-hero h1 {
  margin: 0;
  max-width: 11em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.8rem, 4.6vw, 4.15rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: #1a1a1a;
}
.partner-hero h1 em {
  font-style: italic;
  font-weight: 800;
  color: var(--accent);
}
.partner-hero p {
  margin: 22px 0 0;
  max-width: 38em;
  color: #6d6762;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.55;
}
.partner-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 26px;
  margin-top: 28px;
}
.partner-more {
  color: #1a1a1a;
  font-weight: 600;
}
.partner-more:hover { color: var(--accent-deep); }
.partner-photo {
  margin: 0;
  height: 340px;
  border-radius: 36px 72px 48px 84px / 58px 42px 72px 48px;
  overflow: hidden;
  background: #f3eee8;
}
.partner-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.partner-kpis {
  margin-top: 128px;
  padding: 0;
  background: #f6f3ee;
}
.partner-kpis ul {
  width: min(1100px, calc(100% - 72px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.partner-kpis li {
  padding: 42px 28px;
  text-align: center;
}
.partner-kpis li + li { border-left: 1px solid #e5ddd4; }
.partner-kpis strong {
  display: block;
  color: var(--accent);
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  letter-spacing: -0.04em;
  line-height: 1;
}
.partner-kpis span {
  display: block;
  margin-top: 10px;
  color: #6d6762;
  font-size: 0.95rem;
  font-weight: 500;
}
.partner-steps,
.partner-points {
  width: min(1100px, calc(100% - 72px));
  margin: 0 auto;
  padding: 128px 0 56px;
}
.partner-steps h2,
.partner-points h2,
.partner-close h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.2rem, 4vw, 3.15rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
  color: #1a1a1a;
}
.partner-steps h2 em,
.partner-points h2 em,
.partner-close h2 em {
  font-style: italic;
  font-weight: 800;
  color: var(--accent);
}
.partner-steps h2 { text-align: center; }
.partner-steps ol {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 36px;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
}
.partner-steps li { padding-top: 0; }
.partner-step-photo {
  margin: 0;
  height: 190px;
  border-radius: 22px 44px 28px 40px / 34px 26px 42px 28px;
  overflow: hidden;
  background: #f3eee8;
}
.partner-step-photo img,
.partner-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.partner-step-copy {
  margin-top: 16px;
  border-top: 1px solid #ece7e2;
  padding-top: 22px;
}
.partner-steps b {
  display: block;
  color: var(--accent);
  font-weight: 600;
  font-size: 0.95rem;
}
.partner-steps h3 {
  margin: 12px 0 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
}
.partner-steps p {
  margin: 10px 0 0;
  color: #6d6762;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.5;
}
.partner-steps .btn { margin-top: 28px; }
.partner-points {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(0, 1.2fr);
  gap: 28px 48px;
  align-items: stretch;
  padding-bottom: 128px;
}
.partner-points h2 { max-width: 8em; }
.partner-side {
  margin: 28px 0 0;
  height: 260px;
  border-radius: 28px 56px 36px 64px / 44px 32px 56px 36px;
  overflow: hidden;
  background: #f3eee8;
}
.partner-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  align-self: stretch;
  height: 100%;
}
.partner-grid article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 26px 24px 28px;
  border-top: 1px solid #ece7e2;
}
.partner-grid article:nth-child(n + 3) { border-bottom: 1px solid #ece7e2; }
.partner-grid article:nth-child(odd) { border-right: 1px solid #ece7e2; padding-right: 28px; }
.partner-grid article:nth-child(even) { padding-left: 28px; }
.partner-grid h3 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}
.partner-grid p {
  margin: 8px 0 0;
  color: #6d6762;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.5;
}
.partner-close {
  position: relative;
  overflow: hidden;
  background: #f4f1ea;
  text-align: center;
  padding: 168px 20px;
  min-height: 900px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.partner-close .inner { position: relative; z-index: 2; width: min(520px, calc(100% - 540px)); margin: 0 auto; }
.partner-close h2 { max-width: 14em; margin-inline: auto; }
.partner-close .partner-lead {
  margin: 22px auto 0;
  color: #1a1a1a;
  font-weight: 500;
}
.partner-close .partner-lead strong { font-weight: 700; }
.partner-close p {
  margin: 14px auto 0;
  max-width: 38em;
  color: #6d6762;
  font-weight: 500;
  line-height: 1.55;
}
.partner-close .btn { margin-top: 28px; }
.pc {
  position: absolute;
  z-index: 1;
  margin: 0;
  overflow: hidden;
  background: #efeae4;
  --dx: 0px;
  --dy: -14px;
  animation: pc-drift 8.6s ease-in-out infinite;
}
.pc img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: pc-ken 18s ease-in-out infinite alternate;
}
@keyframes pc-drift {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(var(--dx), var(--dy), 0); }
}
@keyframes pc-ken {
  0% { transform: scale(1); }
  100% { transform: scale(1.08); }
}
.pc-a {
  width: 262px;
  height: 318px;
  left: 5.5%;
  top: 9%;
  border-radius: 40px 32px 54px 36px;
  --dx: 8px;
  --dy: -16px;
  animation-duration: 8.2s;
}
.pc-a img { object-position: center 22%; animation-duration: 16s; }
.pc-b {
  width: 228px;
  height: 284px;
  left: 2%;
  bottom: 8%;
  border-radius: 32px 50px 36px 46px;
  --dx: -7px;
  --dy: -12px;
  animation-duration: 9.4s;
  animation-delay: -2.4s;
}
.pc-b img { object-position: center 30%; animation-duration: 20s; animation-delay: -6s; }
.pc-c {
  width: 284px;
  height: 238px;
  right: 4%;
  top: 10%;
  border-radius: 36px 54px 32px 50px;
  --dx: -8px;
  --dy: -15px;
  animation-duration: 7.6s;
  animation-delay: -1.2s;
}
.pc-c img { object-position: center 40%; animation-duration: 17s; animation-delay: -3s; }
.pc-d {
  width: 192px;
  height: 240px;
  right: 15.5%;
  bottom: 15%;
  border-radius: 28px 40px 32px 36px;
  --dx: 6px;
  --dy: -11px;
  animation-duration: 10s;
  animation-delay: -3.6s;
}
.pc-d img { object-position: center 35%; animation-duration: 19s; animation-delay: -8s; }
.pc-e {
  width: 228px;
  height: 284px;
  right: 2.2%;
  bottom: 5%;
  z-index: 2;
  border-radius: 36px 28px 50px 32px;
  --dx: 5px;
  --dy: -14px;
  animation-duration: 8.8s;
  animation-delay: -4.8s;
}
.pc-e img { object-position: center 40%; animation-duration: 21s; animation-delay: -5s; }

.partner-gate {
  display: none;
  background: #fff;
  color: #1a1a1a;
  padding: calc(var(--header) + 28px) 0 88px;
  font-family: "Montserrat", system-ui, sans-serif;
}
.partner-gate[hidden] { display: none !important; }
body.partner-open .page > :not(.partner-gate) { display: none; }
body.partner-open .partner-gate { display: block; }
.partner-gate,
.partner-gate button,
.partner-gate input,
.partner-gate textarea {
  font-family: "Montserrat", system-ui, sans-serif;
}
.partner-gate-bar {
  width: min(1040px, calc(100% - 96px));
  margin: 0 auto 8px;
  display: flex;
  justify-content: flex-end;
}
.partner-x {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #1a1a1a;
}
.partner-x:hover { background: #f4f1ea; }
.partner-x svg { width: 16px; height: 16px; }
.partner-dialog-layout {
  width: min(1040px, calc(100% - 96px));
  margin: 0 auto;
  padding: 12px 0 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  gap: 80px;
  align-items: start;
}
.partner-dialog-copy h2 {
  margin: 0;
  max-width: 8em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(3.2rem, 4.6vw, 4.25rem);
  letter-spacing: -0.045em;
  line-height: 0.92;
  color: #161513;
}
.partner-dialog-copy h2 em {
  font-family: inherit;
  font-style: italic;
  font-weight: 800;
}
.partner-dialog-copy h2 em span { color: var(--accent); }
.partner-dialog-copy p {
  max-width: 34em;
  margin: 28px 0 0;
  color: #8d8781;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.55;
}
.partner-card {
  background: #fff;
  border: 1px solid #ece8e3;
  border-radius: 28px;
  box-shadow: 0 18px 50px rgba(22, 21, 19, 0.05);
  padding: 22px 22px 20px;
}
.partner-wa {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid #e6e1db;
  border-radius: 999px;
  background: #fff;
  color: #1a1a1a;
  font-weight: 650;
  font-size: 0.98rem;
}
.partner-wa:hover { background: #faf8f5; }
.partner-wa svg { width: 18px; height: 18px; color: #25d366; flex: none; }
.partner-wa-note {
  margin: 10px 0 0;
  text-align: center;
  color: #a8a29c;
  font-size: 0.78rem;
  font-weight: 500;
}
.partner-or {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 16px 0 16px;
  color: #b0aaa4;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.partner-or::before,
.partner-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #ece7e2;
}
.partner-card h3 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.partner-card-lead {
  margin: 6px 0 14px;
  color: #8d8781;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.45;
}
.partner-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 12px;
}
.partner-fields label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #1a1a1a;
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: -0.01em;
}
.partner-fields .is-wide { grid-column: 1 / -1; }
.partner-fields input,
.partner-fields textarea {
  width: 100%;
  border: 1px solid #e6e1db;
  border-radius: 10px;
  background: #fff;
  color: #1a1a1a;
  font: inherit;
  font-size: 0.95rem;
  font-weight: 500;
  min-height: 42px;
  padding: 10px 12px;
}
.partner-fields textarea {
  min-height: 64px;
  resize: vertical;
}
.partner-fields input::placeholder,
.partner-fields textarea::placeholder { color: #c4bfb9; font-weight: 500; }
.partner-fields input:focus,
.partner-fields textarea:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
  border-color: transparent;
}
.partner-send {
  width: 100%;
  margin-top: 16px;
  min-height: 48px;
  background: #161513;
  color: #fff;
}
.partner-send:hover { background: #000; }
.partner-form-status {
  min-height: 0;
  margin: 10px 0 0;
  color: #6d6762;
  font-size: 0.82rem;
  font-weight: 500;
  text-align: center;
}
.partner-form-status:empty { display: none; }
.partner-form-status.is-error { color: #9a3b32; }
.partner-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 860px) {
  .partner-gate-bar,
  .partner-dialog-layout { width: min(560px, calc(100% - 36px)); }
  .partner-dialog-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 0;
    padding: 8px 0 0;
    align-items: start;
  }
  .partner-dialog-copy h2 { font-size: 3rem; }
  .partner-fields { grid-template-columns: 1fr; }
}

@media (max-width: 1280px) {
  .nav-links,
  .header-cta { display: none; }
  .burger { display: flex; }
  .header.is-open .nav {
    display: block;
    position: fixed;
    top: var(--header);
    left: 0;
    right: 0;
    margin: 0;
    background: #fff;
    padding: 14px 20px 22px;
    border-bottom: 1px solid rgba(28, 22, 18, 0.08);
    max-height: calc(100svh - var(--header));
    overflow: auto;
    animation: menu-drop 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .header.is-open .nav-links {
    display: flex;
    position: static;
    transform: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
  }
  .header.is-open .nav-links > a,
  .header.is-open .nav-drop > a {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.35;
    padding: 13px 12px;
    border-radius: 12px;
  }
  .header.is-open .header-cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(28, 22, 18, 0.08);
  }
  .header.is-open .header-cta .btn { width: 100%; }
  .header.is-open .nav-panel {
    position: static;
    display: grid;
    gap: 2px;
    box-shadow: none;
    border: 0;
    padding: 0 0 6px 6px;
    background: transparent;
    min-width: 0;
  }
  .header.is-open .nav-panel a {
    color: #5e5852;
    font-size: 0.98rem;
    font-weight: 550;
    line-height: 1.4;
    padding: 10px 12px 10px 28px;
    border-radius: 10px;
  }
}
@keyframes menu-drop {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .header.is-open .nav { animation: none; }
}

@media (max-width: 980px) {
  .stats, .bento, .steps, .span-2, .vantaggi-head {
    grid-template-columns: 1fr;
  }
  .shape-portrait { width: 210px; height: 292px; }
  .shape-square { width: 220px; height: 220px; }
  .shape-landscape { width: 292px; height: 200px; }
  .vantaggi-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .manifesto-pains { grid-template-columns: 1fr 1fr; }
  .manifesto-creed {
    grid-template-columns: 1fr;
    width: min(720px, calc(100% - 28px));
    padding: 32px 24px;
    gap: 22px;
  }
  .pledge { margin-top: 48px; }
  .pledge-grid { grid-template-columns: 1fr; gap: 36px; }
  .showcase-head { flex-direction: column; align-items: flex-start; }
  .showcase-head p { text-align: left; }
  .showcase-grid { grid-template-columns: 1fr; }
  .showcase-frame { height: 400px; }
  .motivi-row {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding-bottom: 6px;
  }
  .motivo {
    flex: 0 0 196px;
    scroll-snap-align: start;
  }
  .motivi-foot { flex-direction: column; align-items: flex-start; }
  .manifesto-snap-panel { width: min(720px, calc(100% - 28px)); padding: 40px 24px 36px; }
  .faq-layout {
    grid-template-columns: 1fr;
    width: min(1180px, calc(100% - 40px));
    gap: 32px;
  }
  .footer-main { gap: 42px; }
  .footer-lead p { max-width: 18em; }
  .footer-cols {
    grid-template-columns: 1fr 1fr;
    justify-content: start;
    column-gap: 24px;
  }
}

@media (max-width: 1100px) {
  .pass-grid {
    grid-template-columns: 1fr;
    width: min(1140px, calc(100% - 40px));
    gap: 36px;
  }
  .pass-photo { width: min(100%, 420px); }
  .condo-hero {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 32px;
    padding-inline: 24px;
  }
  .condo-hero-photo { height: 380px; }
  .canali { width: min(1100px, calc(100% - 40px)); }
  .canali-layout { grid-template-columns: 1fr; }
  .canali-photo {
    grid-column: 1;
    grid-row: auto;
    height: 300px;
  }
  .storie-stage {
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: min(1100px, calc(100% - 40px));
    padding: 8px 0 36px;
    overflow: visible;
  }
  .storie-copy {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    grid-column: 1 / -1;
    order: -1;
    padding: 36px 8px 16px;
  }
  .storie-shot {
    position: relative;
    inset: auto;
    width: 100%;
    height: 236px;
  }
  .shot-gioco { grid-column: 1 / -1; height: 280px; }
  .scegli { width: min(1100px, calc(100% - 40px)); }
  .scegli-grid { grid-template-columns: 1fr 1fr; }
  .partner-hero,
  .partner-steps,
  .partner-points { width: min(1100px, calc(100% - 40px)); }
  .partner-hero { grid-template-columns: 1fr; }
  .partner-photo { height: 320px; }
  .partner-kpis ul { width: min(1100px, calc(100% - 40px)); grid-template-columns: 1fr; }
  .partner-kpis li + li { border-left: 0; border-top: 1px solid #e5ddd4; }
  .partner-steps ol,
  .partner-points,
  .partner-grid { grid-template-columns: 1fr; }
  .partner-grid { grid-template-rows: none; height: auto; }
  .partner-grid article:nth-child(odd),
  .partner-grid article:nth-child(even) { border-right: 0; padding-left: 0; padding-right: 0; }
  .partner-close {
    display: block;
    min-height: 0;
    padding: 56px 20px 72px;
  }
  .partner-float {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: min(1100px, calc(100% - 40px));
    margin: 0 auto 36px;
  }
  .partner-collage .pc {
    position: relative;
    inset: auto;
    width: 100%;
    height: 240px;
    animation: none;
  }
  .partner-close .inner { width: min(640px, 100%); }
}

@media (max-width: 640px) {
  section { padding: 72px 0; }
  .pass-intro h2 span { white-space: normal; }
  .day-tab { min-width: 92px; padding: 0.75rem 0.7rem 0.85rem; font-size: 0.78rem; }
  .day-tabs { -webkit-overflow-scrolling: touch; }
  .pass-step button { grid-template-columns: 118px minmax(0, 1fr); padding-inline: 0; }
  .pass-panel p { padding-left: 134px; }
  .step { grid-template-columns: 1fr; gap: 4px; }
  .footer { padding-top: 64px; }
  .footer-main,
  .footer-base,
  .footer-note { width: min(1180px, calc(100% - 40px)); }
  .footer-main { gap: 40px; }
  .footer-cols {
    grid-template-columns: 1fr 1fr;
    justify-content: start;
    column-gap: 20px;
    row-gap: 28px;
  }
  .footer-col a { white-space: normal; }
  .footer-mark { margin-top: 28px; }
  .footer-base { margin-top: 48px; }
  .page-hero,
  .page-jump,
  .page-block,
  .page-cta { width: min(1100px, calc(100% - 40px)); }
  .condo-hero { width: 100%; padding-inline: 20px; }
  .condo-hero h1 { font-size: clamp(2.5rem, 11vw, 3.4rem); }
  .condo-hero-photo { height: 280px; border-radius: 36px 64px 44px 78px / 52px 42px 70px 48px; }
  .condo-hero-wave { height: 72px; }
  .vetrina-copy { padding: 88px 22px 64px; }
  .vetrina-copy h2 { font-size: 1.55rem; }
  .scegli-grid { grid-template-columns: 1fr; }
  .vetrina-window { width: min(1120px, calc(100% - 40px)); top: calc(var(--header) + 12px); height: calc(100svh - var(--header) - 24px); border-radius: 28px; }
  .page-block { grid-template-columns: 1fr; }
  .page-figure { height: 280px; }
  .partner-hero,
  .partner-steps,
  .partner-points { width: min(1100px, calc(100% - 40px)); }
  .partner-hero { grid-template-columns: 1fr; }
  .partner-photo { height: 320px; }
  .partner-kpis ul { width: min(1100px, calc(100% - 40px)); }
  .partner-steps ol,
  .partner-points,
  .partner-grid { grid-template-columns: 1fr; }
  .partner-grid { grid-template-rows: none; height: auto; }
  .partner-grid article:nth-child(odd),
  .partner-grid article:nth-child(even) { border-right: 0; padding-left: 0; padding-right: 0; }
  .partner-kpis li + li { border-left: 0; border-top: 1px solid #e5ddd4; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn { transition: none; }
  .marquee-track { animation: none; }
  .showcase.will-play .showcase-head,
  .showcase.will-play .showcase-grid article,
  .showcase.will-play .file-row,
  .showcase.is-in .showcase-head,
  .showcase.is-in .showcase-grid article,
  .showcase.is-in .file-row {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .showcase .file-row:hover {
    transform: translateY(-7px);
  }
  .cash-chart path { stroke-dashoffset: 0 !important; animation: none !important; }
  .motivi.will-play .motivo,
  .motivi.is-in .motivo,
  .motivi.will-play .motivo-num,
  .motivi.will-play .motivo-title,
  .motivi.will-play .motivi-foot,
  .motivi.is-in .motivo-num,
  .motivi.is-in .motivo-title,
  .motivi.is-in .motivi-foot {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .motivo,
  .motivo-copy,
  .motivo-body,
  .motivo-body > span,
  .pass-photo img,
  .pass-panel,
  .pass-panel p,
  .pass-step button::after,
  .faq-item button,
  .faq-item .a,
  .faq-item .a p,
  .faq-icon::before,
  .faq-icon::after { transition: none; }
  .pass-step.is-open button::after { transform: scaleX(1); }
  .day-panel.is-on { animation: none; }
  .pc,
  .pc img { animation: none; }
  .hero-media video { transition: none; }
  .hero-word,
  .hero-word.is-current,
  .hero-word.is-leaving,
  .hero-word.is-prep,
  .hero-word.is-hold,
  .hero-word.is-current.is-settled {
    transition: none;
    transform: none;
    filter: none;
  }
  .hero-word:not(.is-current) { display: none; }
  .vetrina { height: auto; }
  .vetrina-window {
    position: static;
    z-index: auto;
    width: min(1120px, calc(100% - 40px));
    height: auto;
    overflow: visible;
    background: transparent;
  }
  .vetrina-track { display: flex; flex-direction: column; gap: 16px; height: auto; }
  .vetrina-slide {
    position: relative;
    inset: auto;
    height: calc(100svh - 32px);
    border-radius: 28px;
    transform: none;
    box-shadow: none;
  }
}

/* Fornitori */
.fornitori {
  --forn: #e08b6e;
  --forn-ink: #1c1917;
  --forn-muted: #8d8883;
  color: var(--forn-ink);
  background: #fff;
}
.fornitori h1,
.fornitori h2 {
  font-family: "Newsreader", Georgia, serif;
  font-weight: 450;
  letter-spacing: -0.03em;
  line-height: 1.02;
}
.forn-hero {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: calc(var(--header) + 72px) 0 108px;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
  gap: 56px 72px;
  align-items: center;
}
.forn-hero h1 {
  font-size: clamp(3.35rem, 5.5vw, 4.85rem);
  line-height: 0.96;
}
.forn-hero-copy p {
  margin-top: 28px;
  max-width: 34em;
  color: var(--forn-muted);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.55;
}
.forn-cta {
  margin-top: 28px;
  min-height: 48px;
  padding: 0 22px;
  background: #1c1917;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
}
.forn-cta:hover { background: #000; color: #fff; }
.forn-hero-photo {
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  background: #efeae4;
  aspect-ratio: 5 / 4.35;
}
.forn-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 42%;
}
.forn-cura {
  width: min(1040px, calc(100% - 64px));
  margin: 0 auto;
  padding: 28px 0 108px;
  text-align: center;
}
.forn-cura h2 {
  margin: 0 auto;
  max-width: 15.6em;
  font-size: clamp(2.05rem, 3.5vw, 3.15rem);
  line-height: 1.12;
}
.forn-points {
  margin-top: 72px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 42px;
  text-align: left;
}
.forn-points article {
  border-top: 1px solid #e7e2dc;
  padding-top: 26px;
}
.forn-points svg,
.forn-cards svg {
  width: 26px;
  height: 26px;
  color: var(--forn);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.forn-points h3,
.forn-cards h3 {
  margin: 16px 0 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.forn-points p,
.forn-cards p {
  margin: 8px 0 0;
  color: var(--forn-muted);
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
}
.forn-flusso {
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
  padding: 12px 0 108px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.92fr);
  gap: 48px 64px;
  align-items: center;
}
.forn-flusso h2 {
  max-width: 11em;
  font-size: clamp(2.35rem, 3.8vw, 3.45rem);
  line-height: 1.05;
}
.forn-steps {
  margin-top: 36px;
  padding: 0;
  list-style: none;
}
.forn-steps li + li { margin-top: 4px; }
.forn-steps button {
  position: relative;
  display: grid;
  width: 100%;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px 12px;
  align-items: start;
  padding: 16px 0 18px;
  border: 0;
  border-bottom: 1px solid #eeeae6;
  border-radius: 0;
  color: #b0aaa4;
  text-align: left;
}
.forn-steps button.is-on { color: var(--forn-ink); }
.forn-steps button.is-on::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background: var(--forn);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}
.forn-steps button.is-on.is-run::after {
  transform: scaleX(1);
  transition: transform var(--forn-time, 5s) linear;
}
.forn-steps button:focus-visible {
  outline: 2px solid var(--forn);
  outline-offset: 4px;
}
.forn-steps span {
  color: var(--forn);
  font-size: 0.92rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  padding-top: 2px;
}
.forn-steps p {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.45;
}
.forn-job {
  display: grid;
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  min-height: 560px;
  background: #efeae4;
}
.forn-job img {
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center 42%;
}
.forn-job-card {
  grid-area: 1 / 1;
  place-self: center;
  z-index: 1;
  width: min(300px, 76%);
  background: #fff;
  border-radius: 18px;
  padding: 18px 20px 8px;
  box-shadow: 0 18px 40px rgba(28, 22, 18, 0.16);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.forn-job-card.is-on { opacity: 1; }
.forn-job-kicker {
  margin: 0;
  color: var(--forn);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.forn-job-addr {
  margin: 4px 0 0;
  color: #8d8883;
  font-size: 0.82rem;
  font-weight: 500;
}
.forn-job-title {
  margin: 10px 0 0;
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.forn-job-card dl { margin: 12px 0 0; }
.forn-job-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 0;
  border-top: 1px solid #f0ebe6;
  font-size: 0.92rem;
}
.forn-job-card dt { color: #6f6a66; font-weight: 500; }
.forn-job-card dd { margin: 0; font-weight: 600; }
.forn-chart,
.forn-kpis { width: min(332px, 84%); padding-bottom: 16px; }
.forn-line {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 8px;
}
.forn-line-grid {
  fill: none;
  stroke: #f0ebe6;
  stroke-width: 1;
}
.forn-line-area {
  fill: rgba(224, 139, 110, 0.16);
  opacity: 0;
}
.forn-line-path {
  fill: none;
  stroke: var(--forn);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.forn-line-dots circle {
  fill: #fff;
  stroke: var(--forn);
  stroke-width: 2;
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(0);
}
.forn-chart.is-on .forn-line-area {
  opacity: 1;
  transition: opacity 0.6s ease 0.35s;
}
.forn-chart.is-on .forn-line-path {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 1.15s cubic-bezier(0.22, 0.7, 0.2, 1);
}
.forn-chart.is-on .forn-line-dots circle {
  transform: scale(1);
  transition: transform 0.35s cubic-bezier(0.2, 1.4, 0.4, 1);
}
.forn-chart.is-on .forn-line-dots circle:nth-child(2) { transition-delay: 0.12s; }
.forn-chart.is-on .forn-line-dots circle:nth-child(3) { transition-delay: 0.22s; }
.forn-chart.is-on .forn-line-dots circle:nth-child(4) { transition-delay: 0.34s; }
.forn-chart.is-on .forn-line-dots circle:nth-child(5) { transition-delay: 0.46s; }
.forn-chart.is-on .forn-line-dots circle:nth-child(6) { transition-delay: 0.58s; }
.forn-chart-axis {
  display: flex;
  justify-content: space-between;
  margin-top: 2px;
  color: #a39e99;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.forn-chart-note {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid #f0ebe6;
  color: #6f6a66;
  font-size: 0.84rem;
  font-weight: 500;
}
.forn-chart-note strong {
  color: var(--forn);
  font-weight: 700;
}
.forn-kpis ul {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.forn-kpis li {
  margin: 0;
  padding: 10px 10px 11px;
  border-radius: 12px;
  background: #faf7f4;
  opacity: 0;
  transform: translateY(10px) scale(0.92);
}
.forn-kpis li strong {
  display: block;
  color: var(--forn);
  font-family: "Newsreader", Georgia, serif;
  font-size: 1.55rem;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1;
}
.forn-kpis li span {
  display: block;
  margin-top: 5px;
  color: #6f6a66;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.25;
}
.forn-kpis.is-on li {
  opacity: 1;
  transform: none;
  transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.2, 1.35, 0.36, 1);
}
.forn-kpis.is-on li:nth-child(2) { transition-delay: 0.06s; }
.forn-kpis.is-on li:nth-child(3) { transition-delay: 0.12s; }
.forn-kpis.is-on li:nth-child(4) { transition-delay: 0.18s; }
.forn-kpis.is-on li:nth-child(5) { transition-delay: 0.24s; }
.forn-kpis.is-on li:nth-child(6) { transition-delay: 0.3s; }
.forn-insieme {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 28px;
  padding: 72px 64px;
  display: grid;
  grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1.22fr);
  gap: 36px 48px;
  align-items: center;
  background: #f6f3ee;
  border-radius: 36px;
}
.forn-insieme h2 {
  font-size: clamp(2.5rem, 4vw, 3.55rem);
  line-height: 1.02;
  max-width: 8em;
}
.forn-insieme-copy p {
  margin-top: 18px;
  max-width: 26em;
  color: var(--forn-muted);
  font-weight: 500;
  line-height: 1.55;
}
.forn-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.forn-cards article {
  background: #fff;
  border-radius: 22px;
  padding: 22px 22px 24px;
  box-shadow: 0 10px 28px rgba(30, 15, 5, 0.04);
}
.forn-mestieri {
  width: min(1040px, calc(100% - 64px));
  margin: 0 auto;
  padding: 88px 0 64px;
  text-align: center;
}
.forn-mestieri h2 {
  font-size: clamp(2.7rem, 4.4vw, 3.7rem);
}
.forn-mestieri > p {
  margin: 16px auto 0;
  max-width: 34em;
  color: var(--forn-muted);
  font-weight: 500;
  line-height: 1.55;
}
.forn-trades {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 48px;
  text-align: left;
}
.forn-trades li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 2px;
  border-bottom: 1px solid #ece7e2;
  color: var(--forn-ink);
  font-weight: 620;
  letter-spacing: -0.02em;
  transition: color 0.2s ease;
}
.forn-trades li:hover {
  color: var(--forn);
}
.forn-trades svg {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  color: currentColor;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.forn-qualifica {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 88px;
}
.forn-qualifica-panel {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 440px;
  border-radius: 32px;
  overflow: hidden;
  background: #1c1917;
}
.forn-qualifica-panel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.forn-qualifica-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 14, 12, 0.78) 0%, rgba(18, 14, 12, 0.5) 48%, rgba(18, 14, 12, 0.22) 100%);
}
.forn-qualifica-copy {
  position: relative;
  z-index: 1;
  max-width: 540px;
  padding: 64px 56px;
  color: #fff;
}
.forn-qualifica-copy h2 {
  margin: 0;
  max-width: 11em;
  color: #fff;
  font-size: clamp(2.7rem, 4.2vw, 3.7rem);
  line-height: 1.05;
}
.forn-qualifica-copy p {
  margin: 16px 0 0;
  max-width: 32em;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.5;
}
.forn-qualifica-cta {
  margin-top: 28px;
  min-height: 48px;
  padding: 0 22px;
  background: #fff;
  color: #1c1917;
  font-weight: 600;
}
.forn-qualifica-cta:hover {
  background: #f6f3ee;
  color: #1c1917;
}
.fornitori .partner-dialog-copy h2 {
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.92;
}

@media (max-width: 980px) {
  .forn-hero,
  .forn-flusso,
  .forn-insieme {
    grid-template-columns: 1fr;
  }
  .forn-hero { width: min(720px, calc(100% - 40px)); padding-top: calc(var(--header) + 40px); }
  .forn-hero-photo { aspect-ratio: 4 / 3; }
  .forn-cura,
  .forn-flusso,
  .forn-mestieri { width: min(720px, calc(100% - 40px)); }
  .forn-points { grid-template-columns: 1fr; gap: 28px; }
  .forn-job,
  .forn-job img { min-height: 460px; }
  .forn-insieme { width: min(720px, calc(100% - 28px)); padding: 40px 24px; }
  .forn-qualifica { width: min(720px, calc(100% - 28px)); margin-bottom: 56px; }
  .forn-qualifica-panel { min-height: 480px; }
  .forn-qualifica-copy { padding: 40px 28px; }
  .forn-trades { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 640px) {
  .manifesto-pains { grid-template-columns: 1fr; }
  .forn-hero h1 { font-size: clamp(2.7rem, 12vw, 3.4rem); }
  .forn-cards { grid-template-columns: 1fr; }
  .forn-job-card { width: min(300px, 86%); }
  .forn-chart,
  .forn-kpis { width: min(332px, 90%); }
}
@media (prefers-reduced-motion: reduce) {
  .forn-trades li { transition: none; }
  .forn-job-card { transition: none; }
  .forn-steps button.is-on::after { transform: scaleX(1); transition: none; }
  .forn-line-area { opacity: 1; }
  .forn-line-path { stroke-dashoffset: 0; }
  .forn-line-dots circle { transform: none; }
  .forn-kpis li { opacity: 1; transform: none; }
}

.risparmio {
  position: relative;
  margin-top: 0;
  height: 100svh;
  display: grid;
  grid-template-columns: minmax(320px, 460px) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  background: #fff;
  color: #1c1917;
}
.risparmio-side {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  padding: 0;
  border-right: 1px solid #eeeae6;
}
.risparmio-logo {
  position: fixed;
  top: 22px;
  left: 36px;
  right: auto;
  z-index: 6;
  display: block;
  width: 148px;
  margin: 0;
}
.risparmio-logo img { width: 100%; height: auto; }
html:has(.risparmio),
html:has(.risparmio) body {
  height: 100%;
  overflow: hidden;
}
.risparmio-body {
  flex: 1;
  min-height: 0;
  display: grid;
  align-content: start;
  align-items: start;
  overflow-x: clip;
  overflow-y: auto;
  scroll-padding-top: 84px;
  padding: 88px 36px 24px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.risparmio-body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.risparmio-kicker {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.risparmio h1 {
  max-width: 16em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-style: normal;
  font-weight: 650;
  font-size: clamp(1.85rem, 2.5vw, 2.35rem);
  line-height: 1.22;
  letter-spacing: -0.02em;
}
.risparmio-lead {
  margin-top: 18px;
  max-width: 32em;
  color: #6f6a66;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.5;
}
.risparmio-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 28px;
  font-size: 0.84rem;
  font-weight: 650;
}
.risparmio-field input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #e6e1db;
  border-radius: 12px;
  background: #fff;
  color: #1c1917;
  font: inherit;
  font-size: 1rem;
  font-weight: 500;
  scroll-margin-top: 84px;
}
.risparmio-field input::placeholder { color: #c4bfb9; }
.risparmio-field input:focus,
.risparmio-field textarea:focus,
.risparmio-field select:focus,
.risparmio-phone input:focus {
  outline: none;
  border-color: #d18453;
}
.risparmio-body > [data-step] {
  grid-area: 1 / 1;
  min-width: 0;
}
.risparmio-body > [data-step].is-enter-right {
  animation: risparmio-enter-right 0.46s cubic-bezier(0.22, 1, 0.36, 1);
}
.risparmio-body > [data-step].is-leave-left {
  animation: risparmio-leave-left 0.46s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  pointer-events: none;
}
.risparmio-body > [data-step].is-enter-left {
  animation: risparmio-enter-left 0.46s cubic-bezier(0.22, 1, 0.36, 1);
}
.risparmio-body > [data-step].is-leave-right {
  animation: risparmio-leave-right 0.46s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  pointer-events: none;
}
@keyframes risparmio-enter-right {
  from { transform: translateX(calc(100% + 48px)); }
  to { transform: translateX(0); }
}
@keyframes risparmio-leave-left {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-100% - 48px)); }
}
@keyframes risparmio-enter-left {
  from { transform: translateX(calc(-100% - 48px)); }
  to { transform: translateX(0); }
}
@keyframes risparmio-leave-right {
  from { transform: translateX(0); }
  to { transform: translateX(calc(100% + 48px)); }
}
@media (prefers-reduced-motion: reduce) {
  .risparmio-body > [data-step].is-enter-right,
  .risparmio-body > [data-step].is-enter-left,
  .risparmio-body > [data-step].is-leave-left,
  .risparmio-body > [data-step].is-leave-right {
    animation: none;
  }
}
.risparmio-suggest { position: relative; display: block; }
.risparmio-suggest-list {
  position: absolute;
  z-index: 5;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #fff;
  border: 1px solid #e6e1db;
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(28, 22, 18, 0.12);
  max-height: 340px;
  overflow: auto;
}
.risparmio-side.is-suggesting,
.risparmio-side.is-suggesting .risparmio-body {
  position: relative;
  z-index: 4;
  overflow: visible;
}
.risparmio-suggest-list.is-up {
  top: auto;
  bottom: calc(100% + 6px);
}
.risparmio-suggest-list button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  text-align: left;
  color: #1c1917;
}
.risparmio-suggest-list button strong {
  font-size: 0.95rem;
  font-weight: 650;
}
.risparmio-suggest-list button span {
  color: #8d8883;
  font-size: 0.8rem;
  font-weight: 500;
}
.risparmio-suggest-list button:hover,
.risparmio-suggest-list button.is-active { background: #f6f3ee; }
.risparmio-error {
  margin: 8px 0 0;
  color: #9a3b32;
  font-size: 0.84rem;
  font-weight: 600;
}
.risparmio-error:empty { display: none; }
.risparmio-wa {
  margin-top: 28px;
  padding: 16px 16px 14px;
  background: #f6f3ee;
  border-radius: 16px;
}
.risparmio-wa p {
  margin: 0;
  text-align: center;
  font-size: 0.92rem;
  font-weight: 650;
}
.risparmio-wa a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
  min-height: 46px;
  border-radius: 999px;
  background: #fff;
  color: #1c1917;
  font-weight: 650;
}
.risparmio-wa a:hover { background: #fffdfb; }
.risparmio-wa svg { width: 18px; height: 18px; color: #25d366; flex: none; }
.risparmio-wa small {
  display: block;
  margin-top: 10px;
  text-align: center;
  color: #8d8883;
  font-size: 0.78rem;
  font-weight: 500;
}
.risparmio-figure {
  margin-top: 8px;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.6rem, 4vw, 3.4rem);
  letter-spacing: -0.045em;
  line-height: 1;
  color: var(--accent-deep);
}
.risparmio-note {
  margin-top: 16px;
  color: #6f6a66;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.5;
}
.risparmio.is-done .risparmio-body {
  align-content: start;
  width: min(960px, 100%);
}
.risparmio-cal {
  width: 100%;
  min-height: 720px;
  margin-top: 28px;
  border: 1px solid #eeeae6;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  text-align: left;
}
.risparmio-cal cal-inline {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.risparmio-cal iframe {
  display: block;
  width: calc(100% + 18px) !important;
  max-width: none !important;
  min-height: 720px;
  border: 0;
  background: #fff;
}
.risparmio.is-done .risparmio-foot { display: none; }
.risparmio-success {
  display: grid;
  justify-items: center;
  text-align: center;
}
.risparmio-mark {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: #1c1917;
  color: #fff;
}
.risparmio-mark svg { width: 36px; height: 36px; }
.risparmio-foot {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px 18px;
  background: #fff;
  border-top: 1px solid #eeeae6;
}
.risparmio-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: -2px;
  height: 3px;
  background: #f0ebe6;
}
.risparmio-bar span {
  display: block;
  height: 100%;
  width: 42%;
  background: #1c1917;
}
.risparmio-back,
.risparmio-next {
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.risparmio-back {
  border: 0;
  background: transparent;
  color: #a39e98;
  padding-left: 4px;
}
.risparmio-back:hover { background: transparent; color: #1c1917; }
.risparmio-next {
  background: #1c1917;
  color: #fff;
  box-shadow: 0 14px 30px rgba(28, 22, 18, 0.18);
}
.risparmio-next:hover { background: #000; }
.risparmio-map {
  grid-area: 1 / 2;
  position: relative;
  min-height: 0;
  height: 100%;
  background: #e7e2da;
}
.risparmio-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.risparmio-pin {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  display: grid;
  gap: 2px;
  width: min(240px, calc(100% - 32px));
  padding: 12px 12px 12px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(28, 22, 18, 0.16);
  color: #1c1917;
}
.risparmio-pin strong {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.risparmio-pin em {
  font-style: normal;
  color: #8d8883;
  font-size: 0.78rem;
  font-weight: 500;
}
.risparmio-pin span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 8px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #1c1917;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 650;
}
@media (max-width: 860px) {
  .risparmio {
    height: 100svh;
    min-height: 100svh;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) minmax(220px, 42vh);
  }
  .risparmio-side { grid-area: 1 / 1; border-right: 0; }
  .risparmio-map { grid-area: 2 / 1; height: 100%; }
  .risparmio-body { padding: 76px 22px 16px; }
  .risparmio-logo { top: 16px; left: 22px; right: auto; width: 132px; margin: 0; }
  .risparmio-choices { grid-template-columns: 1fr; }
}
.risparmio.is-flow {
  grid-template-columns: 1fr;
  grid-template-rows: minmax(0, 1fr);
}
.risparmio.is-flow .risparmio-map { display: none; }
.risparmio.is-flow .risparmio-side {
  grid-area: 1 / 1;
  border-right: 0;
}
.risparmio.is-flow .risparmio-body {
  width: min(760px, 100%);
  margin: 0 auto;
  text-align: center;
}
.risparmio.is-flow h1 {
  max-width: 14em;
  margin-inline: auto;
  font-size: clamp(2.3rem, 4vw, 3.35rem);
}
.risparmio.is-flow .risparmio-lead {
  max-width: 28em;
  margin-inline: auto;
}
.risparmio-step {
  margin: 8px 0 18px;
  color: #9a948e;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.risparmio-confirm { margin-top: 28px; }
.risparmio-confirm h2 {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.risparmio-confirm #risparmio-cityline {
  margin-top: 4px;
  color: #8d8883;
  font-size: 0.95rem;
}
.risparmio-picked {
  margin-top: 16px;
  color: #8d8883;
  font-size: 0.82rem;
}
.risparmio-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
  padding: 16px 0;
  border-top: 1px solid #eeeae6;
  border-bottom: 1px solid #eeeae6;
}
.risparmio-facts p { display: grid; gap: 2px; }
.risparmio-facts span { color: #8d8883; font-size: 0.9rem; }
.risparmio-facts strong { font-size: 0.98rem; font-weight: 700; }
.risparmio-facts em {
  font-style: normal;
  color: #8d8883;
  font-size: 0.78rem;
}
.risparmio-check {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
  font-size: 0.95rem;
  font-weight: 550;
}
.risparmio-check input {
  width: 22px;
  height: 22px;
  accent-color: #1c1917;
}
.risparmio-talk {
  margin-top: 18px;
  color: #6f6a66;
  font-size: 0.92rem;
}
.risparmio-talk a {
  color: var(--accent-deep);
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.risparmio-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 28px;
  text-align: left;
}
.risparmio-choice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-height: 108px;
  padding: 16px 16px 14px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: #f6f3ee;
  color: #1c1917;
  text-align: left;
}
.risparmio-choice strong { font-size: 0.98rem; font-weight: 700; }
.risparmio-choice span {
  color: #8d8883;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.4;
}
.risparmio-choice:hover { background: #f3efe8; }
.risparmio-choice.is-on {
  border-color: #1c1917;
  background: #fff;
}
.risparmio.is-flow .risparmio-field { text-align: left; }
.risparmio-field textarea,
.risparmio-field select {
  width: 100%;
  border: 1px solid #e6e1db;
  border-radius: 12px;
  background: #fff;
  color: #1c1917;
  font: inherit;
  font-size: 1rem;
  font-weight: 500;
}
.risparmio-field textarea {
  min-height: 140px;
  padding: 14px;
  resize: vertical;
  background: #fbfaf8;
}
.risparmio-field select {
  min-height: 52px;
  padding: 0 14px;
  background: #f6f3ee;
}
.risparmio-role-native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.risparmio-picker { position: relative; display: block; }
.risparmio-picker-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  padding: 0 14px 0 16px;
  border: 1px solid #e6e1db;
  border-radius: 12px;
  background: #f6f3ee;
  color: #1c1917;
  font-size: 1rem;
  font-weight: 550;
  text-align: left;
}
.risparmio-picker-btn.is-placeholder #risparmio-role-value {
  color: #a39e98;
  font-weight: 500;
}
.risparmio-picker-btn:hover { background: #f3efe8; }
.risparmio-picker-btn:focus-visible,
.risparmio-picker-btn.is-open {
  outline: none;
  border-color: #1c1917;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(209, 132, 83, 0.16);
}
.risparmio-picker-chev {
  width: 16px;
  height: 16px;
  flex: none;
  color: #8d8883;
  transition: transform 0.18s ease;
}
.risparmio-picker-btn.is-open .risparmio-picker-chev {
  transform: rotate(180deg);
  color: #1c1917;
}
.risparmio-side.is-picking,
.risparmio-side.is-picking .risparmio-body { overflow: visible; }
.risparmio-picker-list {
  position: absolute;
  z-index: 8;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #fff;
  border: 1px solid #efeae4;
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(28, 22, 18, 0.12);
  max-height: min(280px, 46vh);
  overflow: auto;
}
.risparmio-picker-list.is-up {
  top: auto;
  bottom: calc(100% + 6px);
}
.risparmio-picker-list [role="option"] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 8px 12px 8px 16px;
  border-radius: 10px;
  color: #1c1917;
  font-size: 0.98rem;
  font-weight: 550;
  cursor: pointer;
}
.risparmio-picker-list [role="option"].is-active { background: #f6f3ee; }
.risparmio-picker-list [role="option"].is-selected {
  background: #f8efe8;
  font-weight: 650;
}
.risparmio-picker-list [role="option"].is-selected.is-active { background: #f3e6da; }
.risparmio-picker-list [role="option"].is-selected::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 999px;
  background: #d18453;
}
.risparmio-picker-mark {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  color: #d18453;
  opacity: 0;
}
.risparmio-picker-mark svg { width: 16px; height: 16px; }
.risparmio-picker-list [role="option"].is-selected .risparmio-picker-mark { opacity: 1; }
.risparmio-units input {
  background: #fff;
  min-height: 52px;
}
.risparmio-units input::-webkit-inner-spin-button,
.risparmio-units input::-webkit-outer-spin-button {
  opacity: 1;
  height: 28px;
  margin-right: 6px;
}
.risparmio-phone {
  display: flex;
  align-items: stretch;
  gap: 10px;
}
.risparmio-dial-wrap { flex: none; }
.risparmio-dial {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 108px;
  height: 52px;
  padding: 0 12px 0 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #f6f3ee;
  color: #1c1917;
  font-size: 0.95rem;
  font-weight: 650;
}
.risparmio-dial:hover { background: #f3efe8; }
.risparmio-dial:focus-visible,
.risparmio-dial.is-open {
  outline: none;
  border-color: #d18453;
  background: #fff;
}
.risparmio-dial .risparmio-picker-chev { width: 14px; height: 14px; }
.risparmio-dial-wrap .risparmio-picker-list {
  right: auto;
  width: 240px;
  max-height: 420px;
}
.risparmio-dial-prefix {
  color: #8d8883;
  font-weight: 650;
}
.risparmio-picker-list [role="option"].is-selected .risparmio-dial-prefix { color: #b47247; }
.risparmio-phone input {
  min-height: 52px;
  background: #f7f5f2;
  border-color: transparent;
}
.risparmio-recap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 32px;
  text-align: left;
}
.risparmio-recap article {
  min-height: 84px;
  padding: 16px 18px 14px;
  border-radius: 16px;
  background: #f6f3ee;
}
.risparmio-recap span {
  display: block;
  color: #9a948e;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.risparmio-recap strong {
  display: block;
  margin-top: 6px;
  font-size: 1.02rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.risparmio-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 18px;
  text-align: left;
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.45;
  color: #1c1917;
}
.risparmio-consent input {
  appearance: none;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: none;
  border: 1.5px solid #d18453;
  border-radius: 4px;
  background: #fff;
  display: grid;
  place-items: center;
}
.risparmio-consent input:checked {
  background: #d18453;
  border-color: #d18453;
}
.risparmio-consent input:checked::after {
  content: "";
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-1px) rotate(-45deg);
}
.risparmio-consent input:focus-visible {
  outline: 2px solid #d18453;
  outline-offset: 2px;
}
.risparmio-consent a {
  color: inherit;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 640px) {
  .risparmio-recap { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .risparmio-picker-chev { transition: none; }
}
.risparmio-drop {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 4px;
  margin-top: 18px;
  padding: 28px 16px;
  border: 1px dashed #e0dbd4;
  border-radius: 16px;
  background: #fbfaf8;
  color: #1c1917;
  cursor: pointer;
}
.risparmio-drop input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.risparmio-drop-icon { width: 22px; height: 22px; color: #8d8883; }
.risparmio-drop strong { font-size: 0.98rem; font-weight: 700; }
.risparmio-drop small { color: #8d8883; font-size: 0.82rem; }
.risparmio-drop.is-over { border-color: #1c1917; background: #fff; }
.risparmio-files {
  margin-top: 10px;
  text-align: left;
  color: #6f6a66;
  font-size: 0.88rem;
}
.risparmio-files li { padding: 4px 0; }

.contatti {
  width: min(1180px, calc(100% - 72px));
  margin: calc(var(--header) + 56px) auto 88px;
  display: grid;
  grid-template-columns: minmax(280px, 0.86fr) minmax(340px, 1.14fr);
  gap: 40px 64px;
  align-items: start;
}
.contatti h1 {
  margin: 0;
  max-width: 9em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.8rem, 4.6vw, 4.15rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: #1a1a1a;
}
.contatti h1 em {
  font-style: italic;
  font-weight: 800;
  color: var(--accent);
}
.contatti-lead {
  margin: 18px 0 0;
  max-width: 28em;
  color: #6d6560;
  font-size: 1.05rem;
  line-height: 1.55;
}
.contatti-hours {
  margin: 14px 0 0;
  color: #8a837c;
  font-size: 0.92rem;
  font-weight: 500;
}
.contatti-list {
  margin: 36px 0 0;
  border-top: 1px solid #ece7e2;
}
.contatti-list a {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid #ece7e2;
  color: #1c1917;
}
.contatti-list a:hover strong { color: var(--accent-deep); }
.contatti-ico {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
}
.contatti-ico svg { width: 22px; height: 22px; }
.contatti-ico.is-in { background: #0a66c2; }
.contatti-ico.is-mail { background: #1c1917; }
.contatti-ico.is-wa { background: #25d366; }
.contatti-ico.is-in svg { width: 20px; height: 20px; }
.contatti-copy strong {
  display: block;
  color: #1c1917;
  font-size: 1.02rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.contatti-copy span {
  display: block;
  margin-top: 2px;
  color: #8a837c;
  font-size: 0.92rem;
  font-weight: 500;
}
.contatti-go {
  color: #b0aaa4;
  font-size: 1.15rem;
  line-height: 1;
}
.contatti-book {
  background: #f6f3ee;
  border-radius: 28px;
  padding: 22px 18px 12px;
}
.contatti-book h2 {
  margin: 2px 10px 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #1a1a1a;
}
.contatti-book p {
  margin: 8px 10px 14px;
  color: #6d6560;
  font-size: 0.95rem;
  line-height: 1.5;
}
.contatti-cal {
  width: 100%;
  height: min(760px, calc(100vh - 132px));
  min-height: 560px;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}
.contatti-cal cal-inline {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.contatti-cal iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0;
  border-radius: 18px;
  background: #fff;
}
@media (max-width: 860px) {
  .contatti {
    grid-template-columns: 1fr;
    width: min(1180px, calc(100% - 40px));
    margin-bottom: 64px;
  }
  .contatti-cal {
    height: calc(100vh - 108px);
    min-height: 520px;
  }
}

/* Successione */
.succ { background: #fff; }
.succ > section { padding: 0; }
.succ > .succ-open {
  background: #f3f0eb;
  padding: calc(var(--header) + 72px) 0 80px;
}
.succ-hero {
  width: min(1120px, calc(100% - 80px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.92fr);
  gap: 36px 56px;
  align-items: center;
}
.succ-hero h1 {
  margin: 0;
  max-width: 11em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.7rem, 4.6vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: #1a1a1a;
}
.succ-hero-copy > p {
  margin: 22px 0 0;
  max-width: 34em;
  color: #6d6560;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.55;
}
.succ-go {
  width: min(100%, 440px);
  margin-top: 32px;
  min-height: 54px;
  padding: 0 18px 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 14px;
  background: #1c1917;
  color: #fff;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.succ-go svg { width: 18px; height: 18px; flex: none; }
.succ-go:hover { background: #000; }
.succ-hero-photo {
  margin: 0;
  height: 420px;
  border-radius: 28px;
  overflow: hidden;
  background: #e7e1d8;
}
.succ-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.succ > .succ-journey {
  width: min(1240px, calc(100% - 56px));
  margin: 0 auto;
  padding: 88px 0 104px;
}
.succ-journey-head { text-align: center; }
.succ-journey-head h2 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.2rem, 4vw, 3.35rem);
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: #1a1a1a;
}
.succ-journey-head p {
  margin: 12px auto 0;
  max-width: 28em;
  color: #6d6560;
  font-size: 1.05rem;
  font-weight: 500;
}
.succ-journey-grid {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 20px 36px;
  align-items: start;
  margin-top: 48px;
}
.succ-side {
  position: sticky;
  top: calc(var(--header) + 20px);
  margin: 0;
  height: 380px;
  border-radius: 24px;
  overflow: hidden;
  background: #e7e1d8;
}
.succ-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.succ-side::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 78%;
  background: linear-gradient(to top, rgba(20, 12, 6, 0.78) 0%, rgba(20, 12, 6, 0.28) 62%, transparent 100%);
  pointer-events: none;
}
.succ-side-copy {
  position: absolute;
  z-index: 1;
  left: 18px;
  right: 16px;
  bottom: 78px;
  color: #fff;
}
.succ-side-copy strong {
  display: block;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.succ-side-copy p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.94);
  font-size: 1rem;
  font-weight: 550;
  line-height: 1.35;
}
.succ-side-btn {
  position: absolute;
  z-index: 1;
  left: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 16px 0 18px;
  border-radius: 12px;
  background: var(--accent);
  color: #fff;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.succ-side-btn svg { width: 18px; height: 18px; }
.succ-side-btn:hover { background: var(--accent-deep); }
.succ-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}
.succ-steps > li {
  padding: 28px 32px 26px;
  border-radius: 28px;
  background: #f4f2ef;
}
.succ-step-head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.succ-step-head span {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
}
.succ-steps h3 {
  margin: 0;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(1.45rem, 2vw, 1.85rem);
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #1a1a1a;
}
.succ-steps ul {
  position: relative;
  margin: 22px 0 0 6px;
  padding: 0;
  list-style: none;
}
.succ-steps ul li {
  position: relative;
  padding: 0 0 22px 28px;
}
.succ-steps ul li:last-child { padding-bottom: 0; }
.succ-steps ul li::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 7px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--accent);
}
.succ-steps ul li::after {
  content: "";
  position: absolute;
  left: 3.5px;
  top: 16px;
  bottom: 0;
  width: 2px;
  background: #e4d8cc;
}
.succ-steps ul li:last-child::after { display: none; }
.succ-steps strong {
  display: block;
  color: #1a1a1a;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
}
.succ-steps ul p {
  margin: 4px 0 0;
  max-width: 46em;
  color: #3c342e;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.45;
}
.succ > .succ-close {
  width: min(1240px, calc(100% - 56px));
  margin: 0 auto;
  padding: 88px 0 128px;
  display: grid;
  grid-template-columns: minmax(0, 700px) minmax(300px, 1fr);
  gap: 28px 56px;
  align-items: center;
}
.succ-close-copy { min-width: 0; }
.succ-close h2 {
  margin: 0;
  max-width: min(12.5em, 100%);
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 500;
  font-size: clamp(2.15rem, 3.2vw, 3.75rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: #1a1a1a;
}
.succ-close p {
  margin: 32px 0 0;
  max-width: 34em;
  color: #1c1917;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.45;
}
.succ-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 640px);
  margin-top: 40px;
  min-height: 64px;
  padding: 0 24px;
  border-radius: 18px;
  background: var(--accent);
  color: #fff;
  font-size: 1.08rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.succ-close-btn:hover { background: var(--accent-deep); }
.succ-reel {
  position: relative;
  margin: 0;
  height: 480px;
  border-radius: 28px;
  overflow: hidden;
  background: #e7e1d8;
}
.succ-reel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
}
.succ-reel img.is-on { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .succ-reel img { transition: opacity 0.8s ease; }
}

.valore {
  width: min(980px, calc(100% - 80px));
  margin: calc(var(--header) + 64px) auto 96px;
}
.valore h1 {
  margin: 0;
  max-width: 12em;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2.6rem, 5vw, 4.1rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: #1a1a1a;
}
.valore-head p:last-child {
  margin: 16px 0 0;
  max-width: 34em;
  color: #6d6560;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.55;
}
.succ-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.82fr);
  gap: 18px 22px;
  margin-top: 36px;
  padding: 26px;
  border-radius: 28px;
  background: #1e0f05;
  color: #f6f1ea;
  box-shadow: 0 30px 70px rgba(30, 15, 5, 0.12);
}
.succ-fields { display: grid; gap: 18px; align-content: center; }
.succ-field { display: grid; gap: 6px; }
.succ-field span {
  color: rgba(246, 241, 234, 0.62);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.succ-field input:not([type="range"]) {
  width: 100%;
  margin: 0;
  padding: 4px 0 8px;
  border: 0;
  border-bottom: 1px solid rgba(246, 241, 234, 0.28);
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 1.85rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.succ-field input:not([type="range"]):focus {
  outline: none;
  border-bottom-color: #e7a57a;
}
.succ-field input[type="number"]::-webkit-outer-spin-button,
.succ-field input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.succ-field input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.succ-field input[type="range"] {
  width: 100%;
  margin: 14px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: #e7a57a;
  cursor: pointer;
}
.succ-field strong {
  color: #e7a57a;
  font-size: 0.95rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.succ-result {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: 22px 20px 18px;
  border-radius: 22px;
  background: #2a1810;
}
.succ-result-kicker {
  margin: 0;
  color: rgba(246, 241, 234, 0.55);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.succ-value {
  margin: 10px 0 0;
  color: #f3c3a2;
  font-size: clamp(2.4rem, 3.6vw, 3.35rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.95;
  font-variant-numeric: tabular-nums;
}
.succ-story,
.succ-range,
.succ-note {
  margin: 10px 0 0;
  color: rgba(246, 241, 234, 0.78);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.4;
}
.succ-note { color: rgba(246, 241, 234, 0.5); font-size: 0.82rem; }
.succ-talk {
  grid-column: 1 / -1;
  justify-self: start;
  border-radius: 12px;
  background: #fff;
  color: #1e0f05;
}
.succ-talk:hover { background: #f6f1ea; }
.valore-back { margin: 18px 0 0; }
.valore-back a { font-weight: 650; color: var(--accent-deep); }
.valore-back a:hover { color: var(--accent); }
.admin-exit {
  width: min(1100px, calc(100% - 72px));
  margin: 28px auto 0;
  padding: 56px 48px;
  border-radius: 32px;
  background: #1e0f05;
  color: #f6f1ea;
}
.admin-exit .eyebrow { color: #e7a57a; }
.admin-exit h2 {
  margin: 0;
  max-width: 12em;
  color: #fff;
  font-family: "Montserrat", system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 3.4vw, 2.8rem);
  letter-spacing: -0.035em;
  line-height: 1.05;
}
.admin-exit p {
  margin: 14px 0 0;
  max-width: 36em;
  color: rgba(246, 241, 234, 0.76);
  font-size: 1.05rem;
  line-height: 1.55;
}
.admin-exit .btn {
  margin-top: 22px;
  background: #fff;
  color: #1e0f05;
}
.admin-exit .btn:hover { background: #f6f1ea; }
@media (max-width: 980px) {
  .succ-hero,
  .succ > .succ-journey,
  .succ > .succ-close,
  .valore,
  .admin-exit { width: min(1120px, calc(100% - 40px)); }
  .succ > .succ-open { padding: calc(var(--header) + 36px) 0 48px; }
  .succ-hero,
  .succ-journey-grid,
  .succ-board { grid-template-columns: 1fr; }
  .succ-hero-photo { height: 280px; }
  .succ > .succ-journey { padding: 56px 0 72px; }
  .succ-side {
    position: relative;
    top: auto;
    height: 340px;
  }
  .succ > .succ-close {
    grid-template-columns: 1fr;
    padding: 56px 0 80px;
  }
  .succ-close h2 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .succ-close-btn { width: 100%; }
  .succ-reel { min-height: 0; height: 280px; }
  .valore { margin-top: calc(var(--header) + 36px); }
  .admin-exit { padding: 36px 24px; }
}
