/* =========================================================
   01. BASE & CONTAINER
   ========================================================= */

.web-content header {
  padding: 0 !important;
  align-items: start !important;
}

.web-content #atb-gated-content {
  background: transparent;
}

.web-content .atb-gated-section {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
  box-sizing: border-box;
}

@media (min-width: 1680px) {
  .web-content .atb-gated-section {
    max-width: 1600px;
    padding-left: 0;
    padding-right: 0;
  }
}

/* =========================================================
   02. HEADER LAYOUT
   ========================================================= */
.web-content #atb-gated-content header {
  display: flex;
  flex-direction: column;
  gap: 80px;
  margin: 0 auto 160px auto;
}

@media (min-width: 1024px) {
  .web-content #atb-gated-content header {
    gap: 24px;
  }
}
.web-content #atb-gated-content header > * {
  flex: 1 1 0;
  min-width: 0;
}

@media (min-width: 1024px) {
  .web-content #atb-gated-content header {
    flex-direction: row;
    padding-bottom: 8%;
    gap: 80px;
    max-width: unset !important;
    min-width: 100%;
  }
}

/* =========================================================
   03. DYNAMIC GRID HEADER
   ========================================================= */
.web-content #atb-gated-content .dynamic-grid-header {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  grid-template-areas: "tag" "title" "description" "media";
}

@media (min-width: 1024px) {
  .web-content #atb-gated-content .dynamic-grid-header {
    margin-top: 40px;
  }
}

.web-content #atb-gated-content .dynamic-grid-header .main-title {
  grid-area: title;
  font-size: 2.5rem;
  font-weight: bold;
  margin: 0;
}

.web-content #atb-gated-content .dynamic-grid-header > h3 {
  grid-area: tag;
  position: relative;
  justify-self: start;
  width: auto;
  height: fit-content;
  margin-bottom: 12px;
  padding: 8px 16px !important;
  background-color: #111424;
  color: #fff;
  border: 1px solid #333;
  border-radius: 35px;
  font-size: 16px !important;
}

.web-content #atb-gated-content .dynamic-grid-header > h3::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 1000px;
  padding: 1px;
  background: linear-gradient(to right, #6399ff, #781fff);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: 1;
}

.web-content #atb-gated-content .dynamic-grid-header .subtitle {
  grid-area: description;
  color: #fff;
  font-size: 21px !important;
  font-weight: 400;
  margin: 0;
}

.web-content #atb-gated-content .dynamic-grid-header figure.media {
  grid-area: media;
  margin-top: 24px;
}

/* =========================================================
   04. HERO MEDIA BOX
   ========================================================= */
.web-content #atb-gated-content .dynamic-grid-header figure.atb-hero-media {
  position: relative;
  margin: 24px auto 0;
  width: 900px;
  aspect-ratio: 9 / 5;
  border-radius: 8px;
  overflow: hidden;
  background: #05080f;
}

.web-content.atb-gated-root.atb-has-gate:not(.atb-unlocked)
  #atb-gated-content
  .dynamic-grid-header
  figure.atb-hero-media {
  margin: 24px 0 0;
  width: 100%;
  max-width: 600px;
  aspect-ratio: 2 / 1;
}

.web-content
  #atb-gated-content
  .dynamic-grid-header
  figure.atb-hero-media
  .atb-hero-video,
.web-content
  #atb-gated-content
  .dynamic-grid-header
  figure.atb-hero-media
  .atb-hero-poster,
.web-content
  #atb-gated-content
  .dynamic-grid-header
  figure.atb-hero-media
  iframe,
.web-content
  #atb-gated-content
  .dynamic-grid-header
  figure.atb-hero-media
  video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 8px;
  object-fit: cover;
}

.web-content
  #atb-gated-content
  .dynamic-grid-header
  figure.atb-hero-media
  .atb-poster-overlay {
  z-index: 2;
  cursor: pointer;
  position: absolute;
}

/* =========================================================
   05. MARKETO FORM
   ========================================================= */
.web-content #atb-gated-content .marketoContainer {
  flex: 1;
  padding: 24px 16px;
  border-radius: 10px;
  background: radial-gradient(
    circle at center,
    rgba(123, 128, 140, 0.16) 0%,
    rgba(16, 25, 47, 0.3) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

@media (min-width: 1024px) {
  .web-content #atb-gated-content .marketoContainer {
    padding: 48px;
  }
}

.web-content #atb-gated-content .marketo-form-title {
  color: #fff;
  font-size: 28px !important;
  font-weight: 600;
  margin: 0 0 8px;
}

.web-content #atb-gated-content .single-checkbox label {
  background: transparent !important;
}

.web-content #atb-gated-content .mktoForm .mktoLabel {
  color: #fff;
  background: #070b13;
  border-radius: 16px;
  padding: 4px 8px;
  top: 18px;
}

.web-content #atb-gated-content .mktoForm .mktoFieldWrap {
  color: #fff;
}

.web-content #atb-gated-content .mktoForm input {
  color: #fff;
  background-color: transparent;
  border: none;
  border-radius: 8px;
  border-image: linear-gradient(to bottom, #5e6b84, #758096) 2;
  box-shadow:
    0 -2px 0 0 #5e6b84,
    2px 0 0 0 #66728b,
    -2px 0 0 0 #66728b,
    0 2px 0 0 #758096;
}

.web-content #atb-gated-content .mktoForm select {
  background-color: transparent;
  color: #fff;
}

.web-content #atb-gated-content .mktoForm select.mktoField option {
  background-color: #0c101c !important;
  color: #fff !important;
}

.web-content #atb-gated-content .mktoForm .focused .mktoLabel {
  color: #fff;
}

.web-content #atb-gated-content .mktoForm .single-checkbox {
  font-size: 16px;
  font-weight: inherit;
}

.web-content #atb-gated-content .mktoForm .mktoLabel .mktoAsterix {
  color: red;
}

/* =========================================================
   06. GATING — HIDDEN ELEMENTS & INERT TEMPLATE
   ========================================================= */
.web-content.atb-gated-root [hidden] {
  display: none !important;
}

.web-content.atb-gated-root template {
  display: none !important;
}

/* =========================================================
   07. GATING — LOCK OVERLAY (gated, pre-submit)
   ========================================================= */
.web-content.atb-gated-root.atb-has-gate:not(.atb-unlocked)
  #atb-gated-content
  .dynamic-grid-header
  figure.media {
  position: relative;
  pointer-events: none;
}

.web-content.atb-gated-root.atb-has-gate:not(.atb-unlocked)
  #atb-gated-content
  .dynamic-grid-header
  figure.media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  background: rgba(5, 8, 15, 0.45);
  border-radius: 8px;
}

.web-content.atb-gated-root.atb-has-gate:not(.atb-unlocked)
  #atb-gated-content
  .dynamic-grid-header
  figure.media::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232e2bf2' fill-rule='evenodd' d='M6 10V7a6 6 0 0 1 12 0v3h.5A1.5 1.5 0 0 1 20 11.5v9A1.5 1.5 0 0 1 18.5 22h-13A1.5 1.5 0 0 1 4 20.5v-9A1.5 1.5 0 0 1 5.5 10H6Zm2 0h8V7a4 4 0 0 0-8 0v3Z'/%3E%3Cpath fill='%23ffffff' d='M12 13a1.6 1.6 0 0 0-.9 2.9l-.4 2.3h2.6l-.4-2.3A1.6 1.6 0 0 0 12 13Z'/%3E%3C/svg%3E"),
    radial-gradient(
      circle closest-side at center,
      #fff 0 55%,
      transparent 55% 72.5%,
      rgba(255, 255, 255, 0.35) 72.5% 74.4%,
      transparent 74.4% 92.5%,
      rgba(255, 255, 255, 0.22) 92.5% 94.4%,
      transparent 94.4%
    );
  background-position: center, center;
  background-size:
    46px,
    100% 100%;
  background-repeat: no-repeat, no-repeat;
}

/* =========================================================
   07b. PLAY BUTTON OVERLAY (video poster, pre-play)
   ========================================================= */
.web-content
  #atb-gated-content
  .dynamic-grid-header
  figure.atb-hero-media
  .atb-play-btn {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 160px;
  height: 160px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  background-color: transparent;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%232e2bf2' d='M9 7.5v9a1 1 0 0 0 1.5.87l7.5-4.5a1 1 0 0 0 0-1.74l-7.5-4.5A1 1 0 0 0 9 7.5Z'/%3E%3C/svg%3E"),
    radial-gradient(
      circle closest-side at center,
      #fff 0 55%,
      transparent 55% 72.5%,
      rgba(255, 255, 255, 0.35) 72.5% 74.4%,
      transparent 74.4% 92.5%,
      rgba(255, 255, 255, 0.22) 92.5% 94.4%,
      transparent 94.4%
    );
  background-position: center, center;
  background-size:
    48px,
    100% 100%;
  background-repeat: no-repeat, no-repeat;
}

/* =========================================================
   08. GATING — UNLOCKED / COLLAPSED "THANK YOU" STATE
   ========================================================= */
.web-content.atb-gated-root.atb-has-gate.atb-unlocked.atb-collapsed h1 {
  margin-bottom: 24px !important;
}

.web-content.atb-gated-root.atb-collapsed #atb-gated-content header {
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 0;
}

.web-content.atb-gated-root.atb-collapsed
  #atb-gated-content
  .dynamic-grid-header {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.web-content.atb-gated-root.atb-collapsed
  #atb-gated-content
  .dynamic-grid-header
  > h3 {
  display: none;
}

.web-content.atb-gated-root.atb-collapsed
  #atb-gated-content
  .dynamic-grid-header
  .media,
.web-content.atb-gated-root.atb-collapsed
  #atb-gated-content
  .dynamic-grid-header
  figure.media {
  width: 900px;
  margin-left: auto;
  margin-right: auto;
  justify-self: center;
}

/* =========================================================
   09. BELOW-HERO BLOCKS — VISIBILITY & LAYOUT
   ========================================================= */
.web-content.atb-gated-root.atb-unlocked .atb-vis-gated {
  display: none !important;
}

.web-content.atb-gated-root:not(.atb-unlocked) .atb-vis-ungated {
  display: none !important;
}

.web-content.atb-gated-root .atb-blocks {
  display: flex;
  flex-direction: column;
  gap: 160px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-bottom: 80px;
}

.web-content.atb-gated-root .atb-palette-block {
  display: flex;
  flex-direction: column;
  gap: 160px;
  width: 100%;
  margin: 0;
  max-width: unset !important;
}

.web-content.atb-gated-root .atb-block {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.web-content.atb-gated-root .atb-block-title {
  color: #fff !important;
  font-weight: bold !important;
  text-align: left;
}

.web-content.atb-gated-root .atb-speakers .atb-block-title {
  font-size: 37px !important;
  font-weight: 700 !important;
  margin-bottom: 40px !important;
}

.web-content.atb-gated-root .atb-resources .atb-block-title {
  font-size: 37px !important;
  margin-bottom: 40px !important;
}

/* --- Speakers --- */
.web-content.atb-gated-root .atb-speakers-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  width: 100%;
}

.web-content.atb-gated-root .atb-speaker {
  display: block;
  align-items: flex-start;
  gap: 20px;
  padding: 24px;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  text-decoration: none;
  transition:
    transform 0.2s ease,
    background-color 0.2s ease;
}

.web-content.atb-gated-root .atb-speaker:hover {
  background-color: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
}

.web-content.atb-event .atb-speaker {
  transition: none;
}

.web-content.atb-event .atb-speaker:hover {
  background-color: rgba(255, 255, 255, 0.08);
  transform: none;
}

.web-content.atb-gated-root .atb-speaker-avatar {
  flex-shrink: 0;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background-color: #0b5fff;
}

.web-content.atb-gated-root .atb-speaker-text {
  min-width: 0;
  margin-top: 16px;
}

.web-content.atb-gated-root .atb-speaker-name {
  color: #fff;
  font-size: 16px !important;
  font-weight: 600;
  margin: 0 0 4px;
}

.web-content.atb-gated-root .atb-speaker-role {
  color: #868a94 !important;
  font-size: 16px !important;
  font-weight: 400;
  margin: 0 0 12px;
}

.web-content.atb-gated-root .atb-speaker-bio {
  color: #f0f1f5;
  font-size: 16px;
  margin: 12px 0 0 !important;
}

/* --- Related resources --- */
.web-content.atb-gated-root .atb-resources-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

.web-content.atb-gated-root .atb-resource {
  display: block;
  background: transparent;
  border: 0;
  text-decoration: none;
}

.web-content.atb-gated-root .atb-resource-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  border-radius: 10px;
}

.web-content.atb-gated-root .atb-resource-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
  background: #05080f;
}

.web-content.atb-gated-root .atb-resource-media .atb-resource-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  object-fit: cover;
}

.web-content.atb-gated-root .atb-resource-title {
  color: #f0f1f5;
  font-size: 28px !important;
  font-weight: 600;
  margin: 16px 0 !important;
}

.web-content.atb-gated-root .atb-resource-desc {
  color: #94a3b8;
  font-size: 18px !important;
  font-weight: 400;
  margin: 0 0 4px !important;
}

@media (min-width: 681px) {
  .web-content.atb-gated-root .atb-speakers-grid,
  .web-content.atb-gated-root .atb-resources-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .web-content.atb-gated-root .atb-speakers-grid,
  .web-content.atb-gated-root .atb-resources-grid {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .web-content.atb-gated-root .atb-speaker {
    display: flex;
    flex-direction: row;
  }

  .web-content.atb-gated-root .atb-speaker-text {
    flex-grow: 1;
    margin-top: 0;
  }
}

/* =========================================================
   10. RESPONSIVE
   ========================================================= */
@media (max-width: 680px) {
  .web-content .atb-gated-section {
    padding-left: 0;
    padding-right: 0;
  }

  .web-content #atb-gated-content header {
    margin: 0 auto 80px auto;
  }

  .web-content #atb-gated-content .dynamic-grid-header .main-title {
    font-size: 2rem;
  }

  .web-content.atb-asset #atb-gated-content .dynamic-grid-header .main-title {
    font-size: 32px;
  }

  .web-content.atb-gated-root .atb-blocks {
    padding: 0 16px 48px;
    gap: 80px;
  }

  .web-content #atb-gated-content .dynamic-grid-header figure.atb-hero-media,
  .web-content.atb-gated-root.atb-has-gate:not(.atb-unlocked)
    #atb-gated-content
    .dynamic-grid-header
    figure.atb-hero-media {
    width: 100%;
  }

  .web-content.atb-gated-root.atb-has-gate:not(.atb-unlocked)
    #atb-gated-content
    .dynamic-grid-header
    figure.media::after,
  .web-content
    #atb-gated-content
    .dynamic-grid-header
    figure.atb-hero-media
    .atb-play-btn {
    width: 116px;
    height: 116px;
  }

  .web-content.atb-gated-root.atb-has-gate:not(.atb-unlocked)
    #atb-gated-content
    .dynamic-grid-header
    figure.media::after {
    background-size:
      34px,
      100% 100%;
  }

  .web-content
    #atb-gated-content
    .dynamic-grid-header
    figure.atb-hero-media
    .atb-play-btn {
    background-size:
      36px,
      100% 100%;
  }
}

/* =========================================================
   11. GATED ASSET — HERO (file download variant)
   ========================================================= */
.web-content.atb-asset #atb-gated-content .dynamic-grid-header {
  grid-template-areas: "tag" "title" "description" "cta" "media";
}

.web-content.atb-asset #atb-gated-content .dynamic-grid-header .main-title {
  font-size: 49px !important;
  font-weight: 700;
}

.web-content.atb-asset #atb-gated-content .dynamic-grid-header .subtitle p {
  margin-top: 24px;
  font-size: 18px !important;
  font-weight: 400;
}

.web-content.atb-asset
  #atb-gated-content
  .dynamic-grid-header
  .atb-download-btn {
  grid-area: cta;
}

.web-content.atb-asset
  #atb-gated-content
  .dynamic-grid-header
  .atb-asset-media {
  grid-area: media;
  margin-top: 40px;
}

.web-content.atb-asset #atb-gated-content .atb-download-btn {
  justify-self: start;
  width: fit-content;
  margin-top: 24px;
  padding: 14px 28px;
  border-radius: 8px;
  background: #0b5fff;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}

.web-content.atb-asset #atb-gated-content .atb-download-btn:hover {
  background: #0a54e0;
}

.web-content.atb-asset #atb-gated-content .atb-asset-media {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 3 / 2;
  border-radius: 12px;
  overflow: hidden;
}

.web-content.atb-asset #atb-gated-content .atb-asset-media .atb-asset-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  border-radius: unset !important;
}

.web-content.atb-asset.atb-has-gate:not(.atb-unlocked)
  #atb-gated-content
  .dynamic-grid-header
  .atb-asset-media {
  aspect-ratio: 2 / 1;
}

.web-content.atb-asset #atb-gated-content .atb-asset-media-col {
  display: flex;
  align-items: center;
}

@media (min-width: 1024px) {
  .web-content.atb-asset.atb-unlocked #atb-gated-content header,
  .web-content.atb-asset:not(.atb-has-gate) #atb-gated-content header {
    align-items: center;
  }
}

.web-content.atb-asset.atb-collapsed #atb-gated-content header {
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  padding: 0;
}

.web-content.atb-asset.atb-collapsed #atb-gated-content .dynamic-grid-header {
  width: auto;
  max-width: none;
  margin: 0;
  text-align: left;
}

@media (min-width: 1024px) {
  .web-content.atb-asset.atb-collapsed #atb-gated-content header {
    flex-direction: row;
    gap: 80px;
    align-items: center;
  }
}

/* =========================================================
   12. GATED ASSET — CHECKLIST GRID
   ========================================================= */
@media (min-width: 681px) {
  .web-content.atb-asset .atb-blocks {
    max-width: 100%;
    padding-left: 32px;
    padding-right: 32px;
  }
}

@media (min-width: 1680px) {
  .web-content.atb-asset .atb-blocks {
    max-width: 1600px;
    padding-left: 0;
    padding-right: 0;
  }
}

.web-content.atb-asset .atb-checklist-block {
  max-width: unset;
}

.web-content.atb-asset .atb-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  width: 100%;
}

.web-content.atb-asset .atb-checklist-card {
  padding: 24px;
  background-color: #14171f;
  border: 0;
  border-radius: 12px;
  color: #fff;
}

.web-content.atb-asset .atb-checklist-title {
  margin: 0 0 8px !important;
  font-size: 28px !important;
  font-weight: 600 !important;
}

.web-content.atb-asset .atb-checklist-desc p {
  margin: 0 0 24px !important;
  font-size: 18px !important;
}

.web-content.atb-asset .atb-checklist-desc p:last-child {
  margin-bottom: 0 !important;
}

.web-content.atb-asset .atb-checklist-desc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.web-content.atb-asset .atb-checklist-desc ul li {
  position: relative;
  padding-left: 36px;
  font-size: 18px;
}

.web-content.atb-asset .atb-checklist-desc ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23818cf8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.web-content.atb-asset .atb-checklist-desc ul li b,
.web-content.atb-asset .atb-checklist-desc ul li strong {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.web-content.atb-asset .atb-checklist-desc ul li b + br,
.web-content.atb-asset .atb-checklist-desc ul li strong + br {
  display: none;
}

@media (max-width: 768px) {
  .web-content.atb-asset .atb-checklist-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* =========================================================
   13. GATED ASSET — CARD LOGOS
   ========================================================= */
.web-content.atb-asset .atb-cardlogos-blue-gradient {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  padding: 48px;
  border-radius: 16px;
  box-sizing: border-box;
  background:
    radial-gradient(
      50.68% 154.54% at 100% 101.87%,
      rgba(11, 95, 255, 0.5) 0%,
      rgba(11, 95, 255, 0) 32.53%
    ),
    radial-gradient(
      91.82% 126.36% at -18.01% -6.4%,
      rgba(11, 95, 255, 0.5) 0%,
      rgba(11, 95, 255, 0) 61.28%
    ),
    #070b13;
}

.web-content.atb-asset .atb-cardlogos-title {
  margin: 0;
  font-size: 28px !important;
  font-weight: 600;
}

.web-content.atb-asset .atb-cardlogos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 32px;
  align-items: center;
  justify-items: center;
}

.web-content.atb-asset .atb-cardlogos-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.web-content.atb-asset .atb-cardlogos-img {
  max-width: 100%;
  max-height: 44px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: unset;
}

@media (min-width: 1024px) {
  .web-content.atb-asset .atb-cardlogos-blue-gradient {
    flex-direction: row;
    align-items: center;
    gap: 80px;
    padding: 64px;
  }

  .web-content.atb-asset .atb-cardlogos-text {
    flex: 0 0 38%;
  }

  .web-content.atb-asset .atb-cardlogos-grid {
    flex: 1;
  }
}

@media (max-width: 768px) {
  .web-content.atb-asset .atb-cardlogos-blue-gradient {
    padding: 32px;
    gap: 32px;
  }

  .web-content.atb-asset .atb-cardlogos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 24px;
  }
}

/* =========================================================
   14. GATED ASSET — CARDS ICON GRID
   ========================================================= */
.web-content.atb-asset .atb-palette-block {
  max-width: none !important;
  margin: 0 !important;
}

.web-content.atb-asset .atb-cardgrid {
  gap: 40px;
}

.web-content.atb-asset .atb-cardgrid-heading {
  margin: 0 !important;
  color: #fff;
  font-size: 37px !important;
  font-weight: 700;
}

.web-content.atb-asset .atb-cardgrid-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.web-content.atb-asset .atb-cardgrid-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  background: #14171f;
  border-radius: 8px;
  box-sizing: border-box;
  color: inherit;
  text-decoration: none;
}

.web-content.atb-asset a.atb-cardgrid-card {
  cursor: pointer;
}

.web-content.atb-asset .atb-cardgrid-icon {
  display: inline-flex;
}

.web-content.atb-asset .atb-cardgrid-icon svg {
  display: block;
  border-radius: unset;
  width: 48px;
  height: 48px;
}

.web-content.atb-asset .atb-cardgrid-card-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.web-content.atb-asset .atb-cardgrid-card-title {
  margin: 0 !important;
  color: #f0f1f5;
  font-size: 28px !important;
  font-weight: 600;
}

.web-content.atb-asset .atb-cardgrid-card-desc {
  color: #cbd5e1;
  font-size: 18px;
  font-weight: 400;
}

.web-content.atb-asset .atb-cardgrid-card-desc p {
  margin: 0;
}

@media (max-width: 1023px) {
  .web-content.atb-asset .atb-cardgrid-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .web-content.atb-asset .atb-cardgrid-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   15. GATED EVENT — HERO (two-column: copy + form / event card)
   ========================================================= */
.web-content.atb-event #atb-gated-content .dynamic-grid-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

@media (min-width: 1024px) {
  .web-content.atb-event #atb-gated-content header {
    align-items: center;
  }
}

.web-content.atb-event #atb-gated-content .dynamic-grid-header > h3 {
  align-self: flex-start;
}

.web-content.atb-event #atb-gated-content .dynamic-grid-header .main-title {
  font-size: 49px !important;
  font-weight: 700;
  margin-bottom: 8px;
}

.web-content.atb-event
  #atb-gated-content
  .dynamic-grid-header
  .atb-event-dateline {
  color: #f0f1f5;
  font-size: 21px !important;
  font-weight: 600;
  margin: 0 0 24px;
}

.web-content.atb-event #atb-gated-content .dynamic-grid-header .subtitle {
  font-size: 21px !important;
  font-weight: 400;
  margin-bottom: 24px;
}

@media (max-width: 680px) {
  .web-content.atb-event #atb-gated-content .dynamic-grid-header .main-title {
    font-size: 32px !important;
  }
}

/* --- Partners --- */
.web-content.atb-event .atb-event-partners {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.web-content.atb-event .atb-event-partners-label {
  font-size: 24px;
  font-weight: 600;
}

.web-content.atb-event .atb-event-partners-grid {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 32px 48px;
  align-items: center;
  justify-items: start;
}

.web-content.atb-event .atb-event-partner {
  display: flex;
  align-items: center;
}

.web-content.atb-event .atb-event-partner-img {
  max-width: 160px;
  max-height: 40px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: unset;
}

/* --- CTA button (Go to Asset) --- */
.web-content.atb-event .atb-event-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 14px 18px;
  border-radius: 8px;
  background: linear-gradient(249.88deg, #377cff -37.23%, #0b5fff 63.41%);
  color: #fff !important;
  font-size: 21px;
  font-weight: 600;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}

.web-content.atb-event .atb-event-cta-arrow {
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

/* --- Right column (form + event card share one width) --- */
.web-content.atb-event #atb-gated-content .atb-event-card-col {
  display: flex;
  align-items: stretch;
}

/* --- Event card: reuses the Marketo glass surface --- */
.web-content.atb-event .atb-event-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  padding: 24px 16px;
  border-radius: 16px;
  box-sizing: border-box;
  background: radial-gradient(
    circle at center,
    rgba(123, 128, 140, 0.16) 0%,
    rgba(16, 25, 47, 0.3) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

@media (min-width: 1024px) {
  .web-content.atb-event .atb-event-card {
    padding: 48px;
  }
}

.web-content.atb-event .atb-event-card-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.web-content.atb-event .atb-event-card-title {
  margin: 0 !important;
  font-size: 28px !important;
  font-weight: 600 !important;
}

.web-content.atb-event .atb-event-card-desc p {
  margin: 0;
  font-size: 18px !important;
  font-weight: 400 !important;
}

.web-content.atb-event .atb-event-card-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.web-content.atb-event .atb-event-card-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.web-content.atb-event .atb-event-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.web-content.atb-event .atb-event-icon-date {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 23' fill='none'%3E%3Cpath d='M0.75 6.08333H22.0833M5.41667 11.4167H6.75M10.75 11.4167H12.0833M16.0833 11.4167H17.4167M5.41667 16.75H6.75M10.75 16.75H12.0833M2.08334 22.0833H20.75C21.4864 22.0833 22.0833 21.4864 22.0833 20.75V2.08333C22.0833 1.34695 21.4864 0.75 20.75 0.75H2.08333C1.34695 0.75 0.75 1.34696 0.75 2.08334V20.75C0.75 21.4864 1.34696 22.0833 2.08334 22.0833Z' stroke='%23BA8FFF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.web-content.atb-event .atb-event-icon-time {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none'%3E%3Cpath d='M12.75 6.08333V12.75L16.75 16.75M24.75 12.75C24.75 19.3774 19.3774 24.75 12.75 24.75C6.12258 24.75 0.75 19.3774 0.75 12.75C0.75 6.12258 6.12258 0.75 12.75 0.75C19.3774 0.75 24.75 6.12258 24.75 12.75Z' stroke='%23BA8FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.web-content.atb-event .atb-event-icon-location {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 26' fill='none'%3E%3Cpath d='M16.0833 18.4186C19.6356 18.9596 22.0833 20.0989 22.0833 21.4169C22.0833 23.2578 17.3077 24.7502 11.4167 24.7502C5.52563 24.7502 0.75 23.2578 0.75 21.4169C0.75 20.0989 3.19769 18.9596 6.75 18.4186M11.4167 11.4167C14.3622 11.4167 16.75 9.02885 16.75 6.08333C16.75 3.13781 14.3622 0.75 11.4167 0.75C8.47115 0.75 6.08333 3.13781 6.08333 6.08333C6.08333 9.02885 8.47115 11.4167 11.4167 11.4167ZM11.4167 11.4167V19.4167' stroke='%23BA8FFF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.web-content.atb-event .atb-event-card-item-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.web-content.atb-event .atb-event-card-item-label {
  color: #f0f1f5;
  font-size: 18px;
  font-weight: 700;
}

.web-content.atb-event .atb-event-card-item-value {
  color: #f0f1f5;
  font-size: 18px;
  font-weight: 400;
}

.web-content.atb-event .atb-event-card-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  color: #74a4ff;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}

.web-content.atb-event .atb-event-link-arrow {
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2374A4FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

@media (max-width: 680px) {
  .web-content.atb-event .atb-event-partners-grid {
    grid-template-columns: repeat(2, auto);
    gap: 24px 32px;
  }
}

/* =========================================================
   16. GATED EVENT — IMAGE BANNER
   ========================================================= */
.web-content.atb-event .atb-imgbanner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

.web-content.atb-event .atb-imgbanner-media {
  width: 100%;
}

.web-content.atb-event .atb-imgbanner-img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 16px;
}

.web-content.atb-event .atb-imgbanner-text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.web-content.atb-event .atb-imgbanner-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.web-content.atb-event .atb-imgbanner-title {
  margin: 0 !important;
  color: #f0f1f5;
  font-size: 32px !important;
  font-weight: 700;
}

.web-content.atb-event .atb-imgbanner-desc {
  color: #f0f1f5;
  font-size: 18px !important;
  font-weight: 400;
}

.web-content.atb-event .atb-imgbanner-desc p {
  margin: 0;
}

.web-content.atb-event .atb-imgbanner-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  color: #74a4ff !important;
  font-size: 21px;
  font-weight: 600;
  text-decoration: none;
}

.web-content.atb-event .atb-imgbanner-arrow {
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2374A4FF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

@media (min-width: 1024px) {
  .web-content.atb-event .atb-imgbanner {
    flex-direction: row;
    align-items: center;
    gap: 40px;
  }

  .web-content.atb-event .atb-imgbanner-right {
    flex-direction: row-reverse;
  }

  .web-content.atb-event .atb-imgbanner-media,
  .web-content.atb-event .atb-imgbanner-text {
    flex: 1 1 0;
    min-width: 0;
  }
}

/* =========================================================
   17. GATED EVENT — ACCORDION
   ========================================================= */
.web-content.atb-event .atb-accordion {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.web-content.atb-event .atb-accordion-title {
  margin: 0 !important;
  color: #f0f1f5;
  font-size: 37px !important;
  font-weight: 700;
}

.web-content.atb-event .atb-accordion-list {
  display: flex;
  flex-direction: column;
}

.web-content.atb-event .atb-accordion-item {
  border-bottom: 1px solid #313948;
}

.web-content.atb-event .atb-accordion-toggle {
  display: none;
}

.web-content.atb-event .atb-accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 0;
  cursor: pointer;
  user-select: none;
}

.web-content.atb-event .atb-accordion-item-title {
  color: #f0f1f5;
  font-size: 24px !important;
  font-weight: 600;
}

.web-content.atb-event .atb-accordion-arrow {
  flex: none;
  width: 24px;
  height: 24px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F0F1F5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
    center / contain no-repeat;
  transition: transform 0.2s linear;
}

.web-content.atb-event .atb-accordion-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s linear;
}

.web-content.atb-event .atb-accordion-panel-inner {
  padding: 0 0 24px;
  color: #f0f1f5;
  font-size: 18px;
  font-weight: 400;
}

.web-content.atb-event .atb-accordion-panel-inner span {
  background-color: transparent !important;
  font-size: 20px !important;
}

.web-content.atb-event .atb-accordion-panel-inner p {
  margin: 0;
}

.web-content.atb-event .atb-accordion-toggle:checked ~ .atb-accordion-panel {
  max-height: 1500px;
}

.web-content.atb-event
  .atb-accordion-toggle:checked
  ~ .atb-accordion-header
  .atb-accordion-arrow {
  transform: rotate(180deg);
}

/* =========================================================
   18. GATED BOOK A MEETING
   Nuovo variant .atb-bookmeeting.
   NB: le Additional Resources riusano il CSS condiviso di
   .atb-gated-root (§09) — nessuna regola qui per loro.
   ========================================================= */

/* --- 18.1 Hero: due colonne (copy+checklist+social / form|immagine) --- */
.web-content.atb-bookmeeting #atb-gated-content .dynamic-grid-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.web-content.atb-bookmeeting #atb-gated-content .dynamic-grid-header > h3 {
  align-self: flex-start;
}

.web-content.atb-bookmeeting
  #atb-gated-content
  .dynamic-grid-header
  .main-title {
  font-size: 49px !important;
  font-weight: 700;
  margin-bottom: 8px;
}

.web-content.atb-bookmeeting #atb-gated-content .dynamic-grid-header .subtitle {
  font-size: 21px !important;
  font-weight: 400;
  margin-bottom: 24px;
}

@media (min-width: 1024px) {
  .web-content.atb-bookmeeting #atb-gated-content header {
    align-items: flex-start;
  }
}

@media (max-width: 680px) {
  .web-content.atb-bookmeeting
    #atb-gated-content
    .dynamic-grid-header
    .main-title {
    font-size: 32px !important;
  }
}

/* --- 18.2 Colonna destra: immagine (ungated) --- */
.web-content.atb-bookmeeting #atb-gated-content .atb-media-col {
  display: flex;
  align-items: center;
}

.web-content.atb-bookmeeting .atb-media-media {
  width: 100%;
}

.web-content.atb-bookmeeting .atb-media-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
}

/* --- 18.3 Checklist "What's Next?" — item-level condiviso (.atb-gated-root),
       usato da Book a Meeting e Registration; title/intro restano bookmeeting --- */
.web-content.atb-gated-root .atb-checklist {
  display: flex !important;
  flex-direction: column;
  gap: 24px !important;
  margin-top: 24px;
}

.web-content.atb-bookmeeting .atb-checklist-title {
  margin: 0 !important;
  color: #fff;
  font-size: 28px !important;
  font-weight: 700;
}

.web-content.atb-bookmeeting .atb-checklist-intro {
  color: #f0f1f5;
  /* margin-top: 24px; */
  font-size: 18px !important;
  font-weight: 400;
}

.web-content.atb-bookmeeting .atb-checklist-intro p {
  margin: 0;
}

.web-content.atb-gated-root .atb-checklist-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.web-content.atb-gated-root .atb-checklist-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.web-content.atb-gated-root .atb-checklist-icon {
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a855f7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.web-content.atb-gated-root .atb-checklist-item-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.web-content.atb-gated-root .atb-checklist-item-title {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.web-content.atb-gated-root .atb-checklist-item-desc {
  color: #cbd5e1;
  font-size: 18px;
  font-weight: 400;
}

.web-content.atb-gated-root .atb-checklist-item-desc p {
  margin: 0;
}

/* --- 18.4 Social ("Connect with Us on Social Media!") --- */
.web-content.atb-bookmeeting .atb-cardlogos {
  margin-top: 40px !important;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.web-content.atb-bookmeeting .atb-cardlogos-title {
  margin: 0 !important;
  color: #fff;
  font-size: 28px !important;
  font-weight: 700;
}

.web-content.atb-bookmeeting .atb-cardlogos-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 16px;
}

.web-content.atb-bookmeeting .atb-cardlogos-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}

.web-content.atb-bookmeeting .atb-cardlogos-img {
  width: auto;
  height: 40px;
  max-width: 100%;
  object-fit: contain;
  border-radius: 0 !important;
}

/* --- 18.5 Quote banner (citazione Broadcom) --- */
.web-content.atb-bookmeeting .atb-quotebanner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  gap: unset !important;
}

.web-content.atb-bookmeeting .atb-quotebanner-logo {
  margin-bottom: 32px;
}

.web-content.atb-bookmeeting .atb-quotebanner-logo img {
  max-height: 32px;
  width: auto;
  object-fit: contain;
  border-radius: unset;
}

.web-content.atb-bookmeeting .atb-quotebanner-text {
  margin: 0 0 24px;
  color: #fff;
  font-size: 28px !important;
  font-weight: 700;
  line-height: 1.4;
}

.web-content.atb-bookmeeting .atb-quotebanner-text p {
  margin: 0;
}

.web-content.atb-bookmeeting .atb-quotebanner-author {
  margin: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.web-content.atb-bookmeeting .atb-quotebanner-role {
  margin: 4px 0 0;
  color: #868a94;
  font-size: 16px;
  font-weight: 400;
}

.web-content.atb-bookmeeting .atb-imgbanner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  width: 100%;
  min-height: 260px;
  border-radius: 16px;
  box-sizing: border-box;
  overflow: hidden;
}

.web-content.atb-bookmeeting .atb-imgbanner-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.web-content.atb-bookmeeting .atb-imgbanner-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  border-radius: 0;
}

/* testo + CTA sopra l'immagine */
.web-content.atb-bookmeeting .atb-imgbanner-text {
  padding: 20px;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.web-content.atb-bookmeeting .atb-imgbanner-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.web-content.atb-bookmeeting .atb-imgbanner-title {
  margin: 0 !important;
  color: #fff;
  font-size: 32px !important;
  font-weight: 700;
}

.web-content.atb-bookmeeting .atb-imgbanner-desc {
  color: #f0f1f5;
  font-size: 18px !important;
  font-weight: 400;
}

.web-content.atb-bookmeeting .atb-imgbanner-desc p {
  margin: 0;
}

.web-content.atb-bookmeeting .atb-imgbanner-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 12px 20px;
  border-radius: 8px;
  background: #0b5fff;
  color: #fff !important;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}

/* CTA piena → nessuna freccia */
.web-content.atb-bookmeeting .atb-imgbanner-arrow {
  display: none;
}

/* layout "right": sfondo ancorato a sinistra, testo a destra */
.web-content.atb-bookmeeting .atb-imgbanner-right .atb-imgbanner-img {
  object-position: center left;
}

/* AtbImageBanner SENZA immagine: nessun box/padding, testo flush left o right */
.web-content.atb-bookmeeting .atb-imgbanner-no-image {
  min-height: 0 !important;
  border-radius: 0;
  overflow: visible;
}

.web-content.atb-bookmeeting .atb-imgbanner-no-image .atb-imgbanner-text {
  padding: 0;
  max-width: 100%;
}

.web-content.atb-bookmeeting
  .atb-imgbanner-no-image.atb-imgbanner-right
  .atb-imgbanner-text {
  margin-left: auto;
  text-align: right;
  align-items: flex-end;
}

@media (min-width: 1024px) {
  .web-content.atb-bookmeeting .atb-imgbanner {
    min-height: 320px;
  }

  .web-content.atb-bookmeeting .atb-imgbanner-text {
    max-width: 55%;
    padding: 80px 40px;
  }

  .web-content.atb-bookmeeting .atb-imgbanner-right .atb-imgbanner-text {
    max-width: 55%;
    margin-left: auto;
    text-align: right;
    align-items: flex-end;
  }
}

/* =========================================================
   19. GATED REGISTRATION CONFIRMATION — tweaks
   ========================================================= */
/* stacco tra la checklist e il blocco partner */
.web-content.atb-registration-confirmation .atb-event-partners {
  margin-top: 40px;
}

/* =========================================================
   20. NON GATED ASSET (.atb-nongated)
   Hero sempre visibile (layout event) + immagine (asset) a destra,
   partner/CTA (event), checklist-card (asset), image-banner (event).
   Blocco isolato: solo nuovi selettori, nessuna regressione sulle
   pagine gated. Speakers / related resources / checklist-a-lista /
   .atb-blocks / .atb-block sono già condivisi in .atb-gated-root.
   ========================================================= */

/* --- Hero: colonna copy (come event) --- */
.web-content.atb-nongated #atb-gated-content .dynamic-grid-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

@media (min-width: 1024px) {
  .web-content.atb-nongated #atb-gated-content header {
    align-items: center;
  }
}

.web-content.atb-nongated #atb-gated-content .dynamic-grid-header > h3 {
  align-self: flex-start;
}

.web-content.atb-nongated #atb-gated-content .dynamic-grid-header .main-title {
  font-size: 49px !important;
  font-weight: 700;
  margin-bottom: 0;
}

.web-content.atb-nongated
  #atb-gated-content
  .dynamic-grid-header
  .atb-event-dateline {
  color: #f0f1f5;
  font-size: 21px !important;
  font-weight: 600;
  margin: 0;
}

.web-content.atb-nongated #atb-gated-content .dynamic-grid-header .subtitle {
  font-size: 21px !important;
  font-weight: 400;
  margin-bottom: 0;
}

/* Subtitle sotto il titolo (tagline, separato dalla Description) */
.web-content.atb-nongated
  #atb-gated-content
  .dynamic-grid-header
  .atb-hero-subtitle {
  color: #f0f1f5;
  font-size: 18px !important;
  font-weight: 400;
  margin: 0;
}

/* "What's Next?" = <h2> dentro il Subtitle */
.web-content.atb-nongated
  #atb-gated-content
  .dynamic-grid-header
  .atb-hero-subtitle h2 {
  margin: 0;
  color: #fff;
  font-size: 28px !important;
  font-weight: 700;
}

/* paragrafo descrittivo sotto il "What's Next?" */
.web-content.atb-nongated
  #atb-gated-content
  .dynamic-grid-header
  .atb-hero-subtitle p {
  margin: 8px 0 0;
  font-size: 18px !important;
  font-weight: 400;
}

@media (max-width: 680px) {
  .web-content.atb-nongated #atb-gated-content .dynamic-grid-header .main-title {
    font-size: 32px !important;
  }
}

/* La checklist dell'hero è un <section>: annulla l'eventuale centratura
   globale dei <section> del tema (gli altri elementi sono div/h1/a). */
.web-content.atb-nongated
  #atb-gated-content
  .dynamic-grid-header
  .atb-checklist {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  align-self: stretch;
}

/* Spaziatura verticale a CASCATA tra gli elementi dell'hero (owl selector):
   ogni elemento prende il margin-top SOLO se preceduto da un altro, così i
   campi opzionali mancanti non lasciano buchi doppi. Valori facili da ritoccare. */
.web-content.atb-nongated #atb-gated-content .dynamic-grid-header > * + * {
  margin-top: 24px;
}

/* l'eyebrow non aggiunge margine sotto (ci pensa la cascata sul titolo) */
.web-content.atb-nongated #atb-gated-content .dynamic-grid-header > h3 {
  margin-bottom: 0;
}

/* tagline attaccata al titolo */
.web-content.atb-nongated
  #atb-gated-content
  .dynamic-grid-header
  > .main-title
  + .atb-hero-subtitle {
  margin-top: 8px;
}

/* stacco maggiore prima dei partner */
.web-content.atb-nongated
  #atb-gated-content
  .dynamic-grid-header
  > * + .atb-event-partners {
  margin-top: 40px;
}

/* --- Hero: colonna immagine (come asset) --- */
.web-content.atb-nongated #atb-gated-content .atb-asset-media {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 3 / 2;
  border-radius: 12px;
  overflow: hidden;
}

.web-content.atb-nongated #atb-gated-content .atb-asset-media .atb-asset-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  border-radius: unset !important;
}

.web-content.atb-nongated #atb-gated-content .atb-asset-media-col {
  display: flex;
  align-items: center;
}

/* --- Partners (come event) --- */
.web-content.atb-nongated .atb-event-partners {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.web-content.atb-nongated .atb-event-partners-label {
  font-size: 24px;
  font-weight: 600;
}

.web-content.atb-nongated .atb-event-partners-grid {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 32px 48px;
  align-items: center;
  justify-items: start;
}

.web-content.atb-nongated .atb-event-partner {
  display: flex;
  align-items: center;
}

.web-content.atb-nongated .atb-event-partner-img {
  max-width: 160px;
  max-height: 40px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: unset;
}

@media (max-width: 680px) {
  .web-content.atb-nongated .atb-event-partners-grid {
    grid-template-columns: repeat(2, auto);
    gap: 24px 32px;
  }
}

/* --- CTA (come event) --- */
.web-content.atb-nongated .atb-event-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 14px 18px;
  border-radius: 8px;
  background: linear-gradient(249.88deg, #377cff -37.23%, #0b5fff 63.41%);
  color: #fff !important;
  font-size: 21px;
  font-weight: 600;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}

/* CTA piena → nessuna freccia */
.web-content.atb-nongated .atb-event-cta-arrow {
  display: none;
}

/* --- Palette › Checklist a card (come asset) --- */
.web-content.atb-nongated .atb-checklist-block {
  max-width: unset;
}

.web-content.atb-nongated .atb-checklist-intro {
  color: #94a3b8;
  font-size: 18px;
  margin: 0 0 32px;
}

.web-content.atb-nongated .atb-checklist-intro p {
  margin: 0;
}

.web-content.atb-nongated .atb-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  width: 100%;
}

.web-content.atb-nongated .atb-checklist-card {
  padding: 24px;
  background-color: #14171f;
  border: 0;
  border-radius: 12px;
  color: #fff;
}

.web-content.atb-nongated .atb-checklist-title {
  margin: 0 0 8px !important;
  font-size: 28px !important;
  font-weight: 600 !important;
}

.web-content.atb-nongated .atb-checklist-desc p {
  margin: 0 0 24px !important;
  font-size: 18px !important;
}

.web-content.atb-nongated .atb-checklist-desc p:last-child {
  margin-bottom: 0 !important;
}

.web-content.atb-nongated .atb-checklist-desc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.web-content.atb-nongated .atb-checklist-desc ul li {
  position: relative;
  padding-left: 36px;
  font-size: 18px;
}

.web-content.atb-nongated .atb-checklist-desc ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23818cf8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.web-content.atb-nongated .atb-checklist-desc ul li b,
.web-content.atb-nongated .atb-checklist-desc ul li strong {
  display: block;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.web-content.atb-nongated .atb-checklist-desc ul li b + br,
.web-content.atb-nongated .atb-checklist-desc ul li strong + br {
  display: none;
}

@media (max-width: 768px) {
  .web-content.atb-nongated .atb-checklist-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* --- Palette › Image banner (come event: immagine di lato) --- */
.web-content.atb-nongated .atb-imgbanner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

.web-content.atb-nongated .atb-imgbanner-media {
  width: 100%;
}

.web-content.atb-nongated .atb-imgbanner-img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 16px;
}

.web-content.atb-nongated .atb-imgbanner-text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.web-content.atb-nongated .atb-imgbanner-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.web-content.atb-nongated .atb-imgbanner-title {
  margin: 0 !important;
  color: #f0f1f5;
  font-size: 32px !important;
  font-weight: 700;
}

.web-content.atb-nongated .atb-imgbanner-desc {
  color: #f0f1f5;
  font-size: 18px !important;
  font-weight: 400;
}

.web-content.atb-nongated .atb-imgbanner-desc p {
  margin: 0;
}

/* CTA banner = bottone pieno (blu), non link testuale */
.web-content.atb-nongated .atb-imgbanner-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 12px 20px;
  border-radius: 8px;
  background: #0b5fff;
  color: #fff !important;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  border: 0;
  cursor: pointer;
}

.web-content.atb-nongated .atb-imgbanner-cta:hover {
  background: #0a54e0;
}

.web-content.atb-nongated .atb-imgbanner-arrow {
  display: none;
}

@media (min-width: 1024px) {
  .web-content.atb-nongated .atb-imgbanner {
    flex-direction: row;
    align-items: center;
    gap: 40px;
  }

  .web-content.atb-nongated .atb-imgbanner-right {
    flex-direction: row-reverse;
  }

  .web-content.atb-nongated .atb-imgbanner-media,
  .web-content.atb-nongated .atb-imgbanner-text {
    flex: 1 1 0;
    min-width: 0;
  }
}

/* --- Mobile: immagine hero sotto la copy, a piena larghezza ---
   Su header a colonna la colonna immagine eredita flex:1 1 0 (basis 0)
   e, avendo l'<img> in position:absolute, collasserebbe a 0 → invisibile.
   flex:none le ridà l'altezza naturale dell'aspect-ratio. */
@media (max-width: 1023px) {
  .web-content.atb-nongated
    #atb-gated-content
    header
    > .atb-asset-media-col {
    flex: none;
    width: 100%;
  }

  .web-content.atb-nongated #atb-gated-content .atb-asset-media {
    width: 100%;
    aspect-ratio: 3 / 2;
  }
}

