/* Public collaborator funnel. Management styles above remain unchanged. */
body.ctv-public-page .ctv-registration {
  width: min(calc(100% - 32px), 1200px);
  max-width: 1200px;
  margin-inline: auto;
  padding: 0 0 clamp(48px, 7vw, 88px);
}

body.ctv-public-page .ctv-public-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  align-items: center;
  gap: clamp(30px, 6vw, 76px);
  overflow: hidden;
  margin-block: 28px 48px;
  padding: clamp(30px, 5vw, 66px);
  border: 1px solid color-mix(in srgb, var(--submenu-blue) 18%, var(--submenu-line));
  border-radius: clamp(24px, 3vw, 36px);
  background:
    radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--submenu-red) 17%, transparent), transparent 23%),
    linear-gradient(135deg, color-mix(in srgb, var(--submenu-blue) 11%, var(--submenu-surface)), var(--submenu-surface) 62%);
  box-shadow: var(--submenu-shadow);
}

body.ctv-public-page .ctv-public-hero::before,
body.ctv-public-page .ctv-public-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
}

body.ctv-public-page .ctv-public-hero::before {
  inset: -9rem -8rem auto auto;
  width: 24rem;
  height: 24rem;
  border: 4rem solid color-mix(in srgb, var(--submenu-blue) 7%, transparent);
}

body.ctv-public-page .ctv-public-hero::after {
  inset: auto auto -5rem -4rem;
  width: 10rem;
  height: 10rem;
  background: color-mix(in srgb, var(--submenu-red) 7%, transparent);
}

body.ctv-public-page .ctv-public-hero h1 {
  max-width: 16ch;
  margin: 14px 0 18px;
  font-size: clamp(2.25rem, 5vw, 4.6rem);
  line-height: 1.01;
  letter-spacing: -.05em;
  text-wrap: balance;
}

body.ctv-public-page .ctv-public-hero-copy > p {
  max-width: 65ch;
  color: var(--submenu-muted);
  font-size: clamp(1rem, 1.35vw, 1.14rem);
  line-height: 1.75;
}

body.ctv-public-page .ctv-public-actions,
body.ctv-public-page .ctv-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

body.ctv-public-page .ctv-public-actions .hrc-btn,
body.ctv-public-page .ctv-card-actions .hrc-btn {
  min-height: 48px;
  padding-inline: 20px;
  border-radius: 13px;
}

body.ctv-public-page .ctv-network-visual {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
  min-height: 380px;
  padding: 26px 12px 10px;
}

body.ctv-public-page .ctv-network-visual::before {
  content: "";
  position: absolute;
  inset: 50% 9% auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--submenu-blue) 45%, transparent), transparent);
}

body.ctv-public-page .ctv-network-core {
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  place-items: center;
  width: 162px;
  height: 162px;
  padding: 24px;
  border: 12px solid color-mix(in srgb, var(--submenu-blue) 10%, var(--submenu-surface));
  border-radius: 50%;
  background: linear-gradient(145deg, var(--submenu-blue), var(--submenu-blue-deep));
  color: #fff;
  box-shadow: 0 24px 52px color-mix(in srgb, var(--submenu-blue) 30%, transparent);
  transform: translate(-50%, -64%);
  text-align: center;
}

body.ctv-public-page .ctv-network-core span { font-size: 1.8rem; font-weight: 900; letter-spacing: -.05em; }
body.ctv-public-page .ctv-network-core strong { font-size: .92rem; }
body.ctv-public-page .ctv-network-core small { font-size: .7rem; opacity: .78; }

body.ctv-public-page .ctv-network-visual article {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 96px;
  padding: 16px 12px;
  border: 1px solid rgba(255,255,255,.64);
  border-radius: 16px;
  background: color-mix(in srgb, var(--submenu-surface) 91%, transparent);
  box-shadow: 0 14px 34px rgba(21,47,91,.12);
  backdrop-filter: blur(14px);
}

body.ctv-public-page .ctv-network-visual article b { color: var(--submenu-red); font-size: .82rem; }
body.ctv-public-page .ctv-network-visual article span { color: var(--submenu-text); font-weight: 800; line-height: 1.25; }

body.ctv-public-page .ctv-public-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
  align-items: start;
  gap: 24px;
  scroll-margin-top: 104px;
}

body.ctv-public-page :is(.ctv-registration-card, .ctv-public-guide) {
  min-width: 0;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid var(--submenu-line);
  border-radius: 24px;
  background: var(--submenu-surface);
  box-shadow: 0 16px 42px rgba(21,47,91,.08);
}

body.ctv-public-page .ctv-public-guide { position: sticky; top: 104px; }

body.ctv-public-page :is(.ctv-card-heading, .ctv-public-guide, .ctv-benefits-heading) h2 {
  margin: 12px 0 10px;
  color: var(--submenu-text);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.16;
  letter-spacing: -.035em;
  text-wrap: balance;
}

body.ctv-public-page :is(.ctv-card-heading, .ctv-benefits-heading) p,
body.ctv-public-page .ctv-public-guide small,
body.ctv-public-page .ctv-benefit-grid p { color: var(--submenu-muted); line-height: 1.65; }

body.ctv-public-page .ctv-registration-card form { display: grid; gap: 15px; margin-top: 26px; }
body.ctv-public-page .ctv-registration-card label { display: grid; gap: 7px; margin: 0; color: var(--submenu-text); font-size: .91rem; font-weight: 750; }
body.ctv-public-page .ctv-registration-card label small { display: inline; color: var(--submenu-muted); font-weight: 500; }
body.ctv-public-page .ctv-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
body.ctv-public-page .ctv-fields > div { display: grid; gap: 7px; }
body.ctv-public-page .ctv-submit { width: 100%; min-height: 52px; margin-top: 4px; border-radius: 13px; font-size: 1rem; font-weight: 800; }
body.ctv-public-page .ctv-consent { margin: 0; color: var(--submenu-muted); font-size: .82rem; line-height: 1.6; }
body.ctv-public-page .ctv-consent a { color: var(--submenu-blue); font-weight: 750; }
body.ctv-public-page .ctv-honeypot { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
body.ctv-public-page [data-ctv-progress] { min-height: 1.5em; margin: 0; color: var(--submenu-muted); font-size: .86rem; overflow-wrap: anywhere; }
body.ctv-public-page [data-ctv-progress]:empty { min-height: 0; }

body.ctv-public-page .ctv-public-guide > ol,
body.ctv-public-page .ctv-status-steps {
  display: grid;
  gap: 14px;
  margin: 22px 0;
  padding: 0;
  list-style: none;
}

body.ctv-public-page .ctv-public-guide li,
body.ctv-public-page .ctv-status-steps li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

body.ctv-public-page .ctv-public-guide li > b,
body.ctv-public-page .ctv-status-steps li > b {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--submenu-blue) 9%, var(--submenu-surface));
  color: var(--submenu-blue);
  font-size: .8rem;
}

body.ctv-public-page .ctv-public-guide li span,
body.ctv-public-page .ctv-status-steps li span { display: grid; gap: 3px; }
body.ctv-public-page .ctv-public-guide li strong,
body.ctv-public-page .ctv-status-steps li strong { color: var(--submenu-text); }

body.ctv-public-page .ctv-status-steps li { opacity: .48; }
body.ctv-public-page .ctv-status-steps li.is-complete { opacity: 1; }
body.ctv-public-page .ctv-status-steps li.is-complete > b { background: #e8f7f1; color: #087453; }

body.ctv-public-page :is(.ctv-guide-alert, .ctv-security-note) {
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--submenu-blue) 20%, var(--submenu-line));
  border-radius: 15px;
  background: color-mix(in srgb, var(--submenu-blue) 6%, var(--submenu-surface));
  color: var(--submenu-muted);
  line-height: 1.6;
}

body.ctv-public-page .ctv-guide-alert p { margin: 6px 0 0; }
body.ctv-public-page .ctv-public-guide > a { display: inline-flex; min-height: 44px; align-items: center; margin-top: 16px; color: var(--submenu-blue); font-weight: 800; }

body.ctv-public-page :is(.ctv-notice, .ctv-status-card) { margin-top: 24px; padding: 18px; border: 1px solid var(--submenu-line); border-radius: 16px; }
body.ctv-public-page .ctv-notice strong { color: var(--submenu-text); font-size: 1.05rem; }
body.ctv-public-page .ctv-notice p { margin: 7px 0 0; color: var(--submenu-muted); line-height: 1.6; }
body.ctv-public-page .ctv-notice.is-error { border-color: #f2b7bd; background: #fff5f6; }
body.ctv-public-page .ctv-notice.is-success { border-color: #a8ddc9; background: #f0fbf7; }
body.ctv-public-page .ctv-status-card { display: grid; gap: 7px; background: var(--submenu-soft); }
body.ctv-public-page .ctv-status-card > span { color: var(--submenu-muted); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
body.ctv-public-page .ctv-status-card > strong { color: var(--submenu-blue); font-size: clamp(1.55rem, 3vw, 2.2rem); }
body.ctv-public-page .ctv-status-card p { margin: 0; color: var(--submenu-muted); }
body.ctv-public-page .ctv-status-card[data-state="approved"] { border-color: #9ed6c1; background: #effaf6; }
body.ctv-public-page .ctv-status-card[data-state="approved"] > strong { color: #087453; }
body.ctv-public-page .ctv-status-card[data-state="rejected"] { border-color: #efb2b8; background: #fff4f5; }
body.ctv-public-page .ctv-status-card[data-state="rejected"] > strong { color: #b42332; }

body.ctv-public-page .ctv-benefits { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.6fr); gap: clamp(28px, 5vw, 68px); margin-top: clamp(50px, 8vw, 90px); padding: clamp(28px, 5vw, 52px); border-radius: 28px; background: linear-gradient(135deg, #082a66, #104fac); color: #fff; }
body.ctv-public-page .ctv-benefits .ai-eyebrow { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.09); color: #dceaff; }
body.ctv-public-page .ctv-benefits-heading h2 { color: #fff; }
body.ctv-public-page .ctv-benefits-heading p { color: #d9e5f7; }
body.ctv-public-page .ctv-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
body.ctv-public-page .ctv-benefit-grid article { min-width: 0; padding: 20px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.08); }
body.ctv-public-page .ctv-benefit-grid b { color: #ffadb5; font-size: .8rem; }
body.ctv-public-page .ctv-benefit-grid h3 { margin: 12px 0 8px; color: #fff; font-size: 1.05rem; }
body.ctv-public-page .ctv-benefit-grid p { margin: 0; color: #d9e5f7; font-size: .9rem; }

@media (max-width: 900px) {
  body.ctv-public-page .ctv-public-hero,
  body.ctv-public-page .ctv-public-layout,
  body.ctv-public-page .ctv-benefits { grid-template-columns: 1fr; }
  body.ctv-public-page .ctv-network-visual { min-height: 330px; }
  body.ctv-public-page .ctv-public-guide { position: static; }
}

@media (max-width: 600px) {
  body.ctv-public-page .ctv-registration { width: min(calc(100% - 24px), 1200px); padding-top: 0; }
  body.ctv-public-page .ctv-public-hero { margin-block: 14px 28px; padding: 25px 18px; border-radius: 22px; }
  body.ctv-public-page .ctv-public-hero h1 { font-size: clamp(2.1rem, 11vw, 3.15rem); }
  body.ctv-public-page .ctv-network-visual { min-height: 290px; margin-inline: -8px; }
  body.ctv-public-page .ctv-network-core { width: 132px; height: 132px; border-width: 9px; transform: translate(-50%,-70%); }
  body.ctv-public-page .ctv-network-visual article { min-height: 90px; padding: 12px 9px; }
  body.ctv-public-page .ctv-network-visual article span { font-size: .78rem; }
  body.ctv-public-page :is(.ctv-registration-card, .ctv-public-guide) { padding: 19px; border-radius: 19px; }
  body.ctv-public-page .ctv-fields,
  body.ctv-public-page .ctv-benefit-grid { grid-template-columns: 1fr; }
  body.ctv-public-page .ctv-public-actions,
  body.ctv-public-page .ctv-card-actions { display: grid; grid-template-columns: 1fr; }
  body.ctv-public-page .ctv-public-actions .hrc-btn,
  body.ctv-public-page .ctv-card-actions .hrc-btn { width: 100%; }
  body.ctv-public-page .ctv-benefits { padding: 24px 18px; border-radius: 22px; }
}
