.re-v84-public-hero {
  background: linear-gradient(135deg, #063c29, #087a45 68%, #0b5e3d);
  color: #fff;
}
.re-v84-public-hero .re-kicker { color: #d5f5e5; }
.re-v84-public-hero p { max-width: 820px; color: #e8f7ef; }
.re-v84-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.re-v84-badges span, .re-v84-linked {
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 999px;
  padding: 9px 14px;
  background: rgba(255, 255, 255, .1);
}

.re-v84-shell-section { min-width: 0; overflow-x: clip; }
.re-v84-wide-shell {
  width: min(1520px, calc(100% - 32px));
  max-width: 100%;
  min-width: 0;
}
.re-v84-frame-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 980px;
  overflow: hidden;
  border: 1px solid #cfe3d8;
  border-radius: 28px;
  background: #f4f8f6;
  box-shadow: 0 26px 70px rgba(2, 38, 24, .14);
}
.re-v84-frame {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 1200px;
  min-height: 980px;
  border: 0;
  background: #f4f8f6;
  transition: height .2s ease;
}
.re-v84-frame-loading {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 20px;
  background: #f4f8f6;
  color: #075c3a;
  text-align: center;
}
.re-v84-frame-loading span {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 3px solid #b8d9c8;
  border-top-color: #087a45;
  border-radius: 50%;
  animation: re-v84-spin .8s linear infinite;
}
.re-v84-frame-wrap.is-ready .re-v84-frame-loading { display: none; }

.re-v84-linked {
  display: grid;
  gap: 3px;
  min-width: 0;
  border-color: #b9dec9;
  border-radius: 18px;
  background: #eff9f3;
  color: #075c3a;
  overflow-wrap: anywhere;
}
.re-v84-linked[hidden] { display: none; }
.re-v84-linked a { font-weight: 700; color: #087a45; }
.re-v84-lead-form { min-width: 0; overflow: visible; }
.re-v84-lead-form > .re-btn { margin-top: 26px; }
.re-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@keyframes re-v84-spin { to { transform: rotate(360deg); } }

@media (max-width: 760px) {
  .re-v84-shell-section { padding-inline: 0; }
  .re-v84-wide-shell { width: 100%; padding-inline: 12px; }
  .re-v84-shell-section > .re-shell > .re-heading { padding-inline: 4px; }
  .re-v84-frame-wrap { min-height: 1120px; border-radius: 20px; }
  .re-v84-frame { min-height: 1120px; }
  .re-v84-badges { display: grid; grid-template-columns: 1fr 1fr; }
  .re-v84-badges span { text-align: center; }
  .re-v84-linked { width: 100%; }
  #valutazione-professionale { padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
}

@media (max-width: 390px) {
  .re-v84-wide-shell { padding-inline: 8px; }
  .re-v84-badges { grid-template-columns: 1fr; }
  .re-v84-public-hero h1 { font-size: clamp(34px, 11vw, 48px); }
  .re-v84-frame-wrap { border-radius: 16px; }
}

@media print {
  .re-header, .re-mobile-drawer, .re-mobile-drawer-backdrop, .re-bottom-nav,
  .re-ai-fab, #valutazione-professionale { display: none !important; }
  .re-v84-frame-wrap { border: 0; box-shadow: none; }
  .re-v84-frame { height: auto; }
}
