.public-page {
  color: var(--sc-navy);
  background: var(--sc-white);
}

.public-page main { overflow: hidden; }
.public-wrap { width: min(calc(100% - 48px), var(--sc-width)); margin-inline: auto; }
.public-page h1,
.public-page h2,
.public-page h3 { color: var(--sc-navy); }
.public-page h2 { margin: 0; font-size: var(--sc-h2); font-weight: 500; line-height: 1.08; letter-spacing: -0.04em; }
.public-page h3 { margin: 0; font-size: var(--sc-h3); font-weight: 600; letter-spacing: -0.025em; }
.public-page p { color: var(--sc-gray); line-height: 1.65; }

.aligned-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: 620px;
  overflow: hidden;
  background: linear-gradient(90deg, #fff 0%, #fbfdff 48%, #eff7ff 100%);
}

.aligned-hero-copy {
  position: relative;
  z-index: 2;
  width: min(100%, 630px);
  margin-left: max(24px, calc((100vw - var(--sc-width)) / 2));
  padding: 88px 0 96px;
}

.aligned-hero h1 {
  max-width: 680px;
  margin: 0;
  font-size: clamp(3.45rem, 5vw, 4.5rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.aligned-hero-copy > p:not(.sc-label) {
  max-width: 590px;
  margin: 24px 0 0;
  font-size: var(--sc-body-lg);
}

.aligned-hero-art {
  position: absolute;
  z-index: -1;
  inset: 0 0 0 32%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .08) 9%, #000 29%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .08) 9%, #000 29%);
}

.aligned-hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }

.client-hero { grid-template-columns: minmax(0, 1fr) minmax(360px, 470px); gap: clamp(38px, 6vw, 90px); padding-right: max(24px, calc((100vw - var(--sc-width)) / 2)); }
.client-hero .aligned-hero-copy { width: auto; }

.client-access-card {
  position: relative;
  z-index: 3;
  padding: clamp(34px, 4vw, 52px);
  border: 1px solid rgba(213, 225, 244, .95);
  border-radius: 24px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 70px rgba(11, 31, 95, .13);
  backdrop-filter: blur(18px);
}

.client-access-card h2 { font-size: clamp(2.15rem, 3vw, 2.75rem); }
.client-access-card > p:not(.sc-label) { margin: 18px 0 0; font-size: 1.05rem; }
.client-access-card .button { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; }
.client-access-card .access-note { padding-top: 20px; border-top: 1px solid var(--sc-line); font-size: .84rem; }

.client-assurance {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(calc(100% - 48px), var(--sc-width));
  margin: 0 auto;
  padding: 44px 0 70px;
}

.client-assurance > div { padding: 0 36px; border-right: 1px solid var(--sc-line); }
.client-assurance > div:first-child { padding-left: 0; }
.client-assurance > div:last-child { padding-right: 0; border-right: 0; }
.client-assurance span { display: block; margin-bottom: 12px; color: var(--sc-blue); font-size: .75rem; font-weight: 700; letter-spacing: .15em; }
.client-assurance strong { font-size: 1.12rem; }
.client-assurance p { margin: 8px 0 0; font-size: .94rem; }
.client-assurance a { color: var(--sc-blue); font-weight: 600; }

.outreach-hero { grid-template-columns: minmax(0, 46%) minmax(0, 54%); }
.outreach-hero .aligned-hero-copy { padding-block: 78px 86px; }
.outreach-hero .aligned-hero-copy > p:not(.sc-label) { font-size: 1.075rem; }
.outreach-hero .aligned-hero-copy > p + p { margin-top: 12px; }

.outreach-intro,
.platform-section {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: var(--sc-column-gap);
  padding-block: var(--sc-section-space);
}

.outreach-intro > div:last-child > p:first-child { margin-top: 0; }
.signal-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; padding: 0; list-style: none; }
.signal-list li { padding: 10px 16px; border: 1px solid var(--sc-line); border-radius: 999px; color: var(--sc-navy); background: #f8fbff; font-size: .9rem; font-weight: 600; }

.outcome-section { padding-block: var(--sc-section-space); background: linear-gradient(115deg, #f4f8ff, #fbf9ff); }
.public-heading { max-width: 720px; margin-bottom: 44px; }
.outcome-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.outcome-grid article { min-height: 220px; padding: 32px; border: 1px solid rgba(221, 231, 250, .92); border-radius: 22px; background: rgba(255, 255, 255, .88); box-shadow: 0 14px 42px rgba(11, 31, 95, .06); }
.outcome-grid span { display: block; margin-bottom: 36px; color: var(--sc-blue); font-size: .75rem; font-weight: 700; letter-spacing: .15em; }
.outcome-grid p { margin: 12px 0 0; }

.fit-panel { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr); gap: var(--sc-column-gap); padding-block: var(--sc-section-space); }
.fit-panel > div > p:last-child { max-width: 680px; font-size: var(--sc-body); }
.fit-panel ul { display: grid; align-content: center; gap: 0; margin: 0; padding: 6px 0; list-style: none; border-top: 1px solid var(--sc-line); }
.fit-panel li { position: relative; padding: 13px 12px 13px 30px; border-bottom: 1px solid var(--sc-line); color: var(--sc-navy); font-weight: 600; }
.fit-panel li::before { content: ""; position: absolute; left: 4px; top: 19px; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, var(--sc-blue), var(--sc-magenta)); }

.perspective-band { position: relative; padding-block: var(--sc-section-space); overflow: hidden; background: linear-gradient(105deg, #eef6ff, #f7f4ff); }
.perspective-band::after { content: ""; position: absolute; right: -80px; bottom: -140px; width: 520px; height: 360px; background: url("assets/brand/approved-ribbon-progress.webp") center / contain no-repeat; opacity: .28; pointer-events: none; }
.perspective-band .public-wrap { position: relative; z-index: 1; }
.perspective-band h2 { max-width: 820px; }
.perspective-band p:last-child { max-width: 760px; font-size: var(--sc-body-lg); }

.platform-section { align-items: center; }
.platform-section > p { margin: 0; padding: 28px 32px; border-left: 3px solid var(--sc-blue); background: #f7faff; font-size: var(--sc-body); }

.practice-bridge { display: flex; align-items: center; justify-content: space-between; gap: 60px; padding: 62px 54px; margin-bottom: var(--sc-section-space); border: 1px solid var(--sc-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 52px rgba(11, 31, 95, .07); }
.practice-bridge > div { max-width: 720px; }
.practice-bridge p:last-child { margin-bottom: 0; }
.practice-bridge .button { flex: 0 0 auto; }

.outreach-cta { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 66px max(24px, calc((100vw - var(--sc-width)) / 2)); background: linear-gradient(110deg, #eff6ff, #faf7ff); }
.outreach-cta > div { max-width: 760px; }
.outreach-cta .button { flex: 0 0 auto; }

@media (max-width: 1040px) {
  .client-hero { grid-template-columns: minmax(0, 1fr) 400px; gap: 34px; }
  .public-page .sc-brand > span { display: none; }
}

@media (max-width: 820px) {
  .aligned-hero { min-height: auto; }
  .aligned-hero-art { inset: 34% -22% 0 8%; opacity: .36; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 28%); mask-image: linear-gradient(180deg, transparent 0%, #000 28%); }
  .aligned-hero-copy { width: auto; margin: 0; padding: 72px 24px 250px; }
  .client-hero { display: block; padding: 0 24px 70px; }
  .client-hero .aligned-hero-copy { padding-left: 0; padding-right: 0; padding-bottom: 72px; }
  .client-hero .aligned-hero-art { inset: 0 -28% 0 22%; opacity: .25; -webkit-mask-image: linear-gradient(90deg, transparent, #000 48%); mask-image: linear-gradient(90deg, transparent, #000 48%); }
  .client-access-card { max-width: 610px; }
  .client-assurance { grid-template-columns: 1fr; padding-block: 28px 56px; }
  .client-assurance > div, .client-assurance > div:first-child, .client-assurance > div:last-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--sc-line); }
  .client-assurance > div:last-child { border-bottom: 0; }
  .outreach-intro, .platform-section, .fit-panel { grid-template-columns: 1fr; }
  .outcome-grid { grid-template-columns: 1fr; }
  .outcome-grid article { min-height: auto; }
  .practice-bridge, .outreach-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .public-wrap { width: min(calc(100% - 40px), var(--sc-width)); }
  .aligned-hero h1 { font-size: clamp(2.75rem, 13vw, 3.5rem); }
  .aligned-hero-copy { padding: 58px 20px 220px; }
  .client-hero { padding: 0 20px 54px; }
  .client-hero .aligned-hero-copy { padding-top: 58px; padding-bottom: 50px; }
  .client-access-card { padding: 30px 24px; }
  .practice-bridge { padding: 38px 26px; }
  .outreach-cta { padding-block: 52px; }
  .outreach-cta .button, .practice-bridge .button, .client-access-card .button { width: 100%; justify-content: center; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .public-page *, .public-page *::before, .public-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
