/* Scorrimento continuo: le sezioni crescono con il loro contenuto. */
html { scroll-behavior: smooth; }
body, main { overflow-x: clip; }
main > section:not(.brandStrip) {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 100svh !important;
  max-height: none !important;
  overflow: visible !important;
}
section[id] { scroll-margin-top: 92px !important; }

/* Menu principali con sottomenu. */
.navDropdown { position: relative; display: inline-flex; align-items: center; gap: 2px; }
.navDropdown > a { white-space: nowrap; }
.navDropdownToggle { width: 26px; height: 32px; display: grid; place-items: center; cursor: pointer; color: inherit; font-size: 18px; border-radius: 8px; }
.navDropdownToggle:hover, .navDropdownToggle:focus-visible { background: rgba(255,255,255,.12); }
.navDropdownMenu {
  position: absolute; top: calc(100% + 10px); left: 0; z-index: 1600;
  display: none; flex-direction: column; min-width: 190px; padding: 9px;
  color: #fff; background: linear-gradient(145deg,#021234,#053778);
  border: 1px solid rgba(255,255,255,.2); border-radius: 12px;
  box-shadow: 0 18px 38px rgba(0,0,0,.28);
}
.navDropdown:hover .navDropdownMenu,
.navDropdown:focus-within .navDropdownMenu,
.navDropdown.open .navDropdownMenu { display: flex; }
.navDropdownMenu a { width: 100%; padding: 11px 12px !important; border-radius: 8px; }
.navDropdownMenu a:hover { background: rgba(255,255,255,.1); }

/* Team più ampio e leggibile. */
.teamSection { padding-bottom: clamp(70px,8vh,110px) !important; }
.teamOrbit { height: auto !important; min-height: 0 !important; align-items: start !important; }
.teamFocus { min-height: clamp(520px,68vh,720px) !important; }
.teamFocusPhoto { min-height: clamp(420px,58vh,620px) !important; }
.teamSelector { grid-template-rows: none !important; grid-auto-rows: minmax(86px,auto) !important; gap: 10px !important; overflow: visible !important; }
.teamSelector button { min-height: 86px !important; padding: 10px 12px !important; }
.teamSelector button img { width: 66px !important; height: 66px !important; flex: 0 0 66px !important; }
.teamSelector button b { font-size: 15px !important; line-height: 1.2 !important; }
.teamSelector button small { font-size: 12px !important; line-height: 1.25 !important; }

@media (max-width: 1320px) {
  header nav .navDropdown { width: 100%; display: grid; grid-template-columns: 1fr 44px; gap: 0; }
  header nav .navDropdown > a { min-width: 0; }
  .navDropdownToggle { width: 44px; height: 100%; }
  .navDropdownMenu { position: static; grid-column: 1 / -1; min-width: 0; margin: 0 0 6px; padding: 5px 10px 8px 18px; border: 0; border-radius: 0; box-shadow: none; background: rgba(255,255,255,.06); }
  .navDropdown:hover .navDropdownMenu { display: none; }
  .navDropdown.open .navDropdownMenu, .navDropdown:focus-within .navDropdownMenu { display: flex; }
}

@media (max-width: 900px) {
  section[id] { scroll-margin-top: 78px !important; }
  .teamFocus, .teamFocusPhoto { min-height: 0 !important; }
  .teamSelector { grid-auto-rows: minmax(78px,auto) !important; }
}
