:root {
  --navy: #0b3d91;
  --navy-deep: #082f70;
  --turquoise: #00b3a4;
  --sky: #4fc3f7;
  --ink: #102a46;
  --muted: #52697e;
  --line: #cfe2f2;
  --line-strong: #9fc6e5;
  --wash: #f4f9fd;
  --wash-strong: #eaf5fb;
  --white: #ffffff;
  --shadow: 0 26px 70px rgba(11, 61, 145, 0.1);
  --radius: 20px;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, Arial, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  color: var(--white);
  background: var(--navy-deep);
  border-radius: 8px;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--sky);
  outline-offset: 4px;
}

.concept-bar {
  min-height: 42px;
  padding: 7px clamp(18px, 4vw, 64px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  color: #334d65;
  background: #edf4f8;
  border-bottom: 1px solid #d7e6ef;
  font-size: 12px;
  letter-spacing: 0.02em;
}

.concept-switch {
  display: flex;
  gap: 4px;
  padding: 3px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
}

.concept-switch a {
  padding: 4px 10px;
  text-decoration: none;
  border-radius: 999px;
}

.concept-switch a[aria-current="page"] {
  color: var(--white);
  background: var(--navy);
}

.section-shell,
.site-header {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.site-header {
  min-height: 92px;
  display: grid;
  grid-template-columns: minmax(370px, 1fr) auto;
  align-items: center;
  gap: 36px;
}

.brand {
  position: relative;
  display: inline-block;
  width: 370px;
  line-height: 0;
}

.brand img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.site-header nav {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 24px;
}

.site-header nav a,
.footer-links a,
.footer-links span {
  color: var(--navy-deep);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.site-header nav a {
  color: var(--navy-deep);
  transition: color 160ms ease;
}

.site-header nav a:not(.beta-nav-link):hover,
.site-header nav a:not(.beta-nav-link):focus-visible {
  color: #008e82;
}

.site-header nav .beta-nav-link {
  min-height: 42px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background: var(--navy);
  border-radius: 999px;
}

.site-header nav .beta-nav-link:hover,
.site-header nav .beta-nav-link:focus-visible {
  color: var(--white);
  background: var(--navy-deep);
}

.beta-nav-mobile {
  display: none;
}

.button {
  display: inline-flex;
  min-height: 50px;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  color: var(--white);
  background: var(--navy);
  border: 2px solid var(--navy);
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease;
}

.button:hover {
  background: var(--navy-deep);
  transform: translateY(-1px);
}

.button-small {
  min-height: 42px;
  padding-inline: 18px;
  font-size: 14px;
}

.hero {
  min-height: 470px;
  padding: 46px 0 28px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.72fr);
  align-items: center;
  gap: clamp(46px, 6vw, 82px);
}

.eyebrow,
.brief-eyebrow,
.preview-label,
.thesis-kicker {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

h1,
h2,
h3,
h4,
p {
  margin-top: 0;
}

h1 {
  max-width: 760px;
  margin-bottom: 20px;
  color: var(--navy-deep);
  font-size: clamp(44px, 4.7vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

h2 {
  margin-bottom: 20px;
  color: var(--navy-deep);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.hero-lede {
  max-width: 710px;
  margin-bottom: 24px;
  color: #405a70;
  font-size: 18px;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}

.text-link {
  color: var(--navy);
  font-weight: 750;
  text-decoration: none;
}

.promise {
  margin: 22px 0 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.hero-thesis {
  position: relative;
  padding: 46px 0 46px 54px;
  align-self: center;
}

.thesis-line {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--turquoise);
  border-radius: 999px;
}

.thesis-kicker {
  color: var(--muted);
}

.thesis-main {
  margin-bottom: 4px;
  color: var(--navy-deep);
  font-size: clamp(26px, 2.3vw, 38px);
  font-weight: 760;
  line-height: 1.16;
  letter-spacing: -0.03em;
}

.thesis-accent {
  color: #008e82;
}

.thesis-note {
  max-width: 420px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 15px;
}

.brief-section {
  padding: 24px 0 112px;
}

.capture-brief .site-header,
.capture-brief .hero,
.capture-brief .partnership,
.capture-brief .founder,
.capture-brief .beta,
.capture-brief .site-footer {
  display: none;
}

.capture-brief .brief-section {
  padding-top: 62px;
}

.capture-lower .site-header,
.capture-lower .hero,
.capture-lower .brief-section,
.capture-lower .site-footer,
.capture-lower .concept-switch {
  display: none;
}

.capture-lower .partnership {
  padding-top: 70px;
}

.section-intro {
  max-width: 790px;
  margin-bottom: 54px;
}

.section-intro > p:last-child,
.partnership-lead > p:last-child,
.founder-copy > p {
  color: var(--muted);
  font-size: 18px;
}

.section-intro h2 span {
  color: #008e82;
}

.licensing-brief {
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.brief-header {
  min-height: 102px;
  padding: 24px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: var(--navy);
  color: var(--white);
}

.preview-label {
  margin-bottom: 6px;
  color: #b9ecff;
  letter-spacing: 0.14em;
}

.brief-header h3 {
  margin: 0;
  font-size: 24px;
  letter-spacing: -0.02em;
}

.brief-context {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #d7e9fb;
  font-size: 13px;
}

.context-dot {
  width: 5px;
  height: 5px;
  background: var(--turquoise);
  border-radius: 50%;
}

.brief-grid {
  display: grid;
  grid-template-columns: 1.08fr 1.48fr 0.92fr;
  min-height: 410px;
}

.brief-grid > section {
  position: relative;
  padding: 48px 38px;
}

.client-focus {
  background: var(--wash);
  border-right: 1px solid var(--line);
}

.brief-eyebrow {
  position: relative;
  margin-bottom: 34px;
  letter-spacing: 0.12em;
}

.jurisdiction {
  margin-bottom: 9px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.brief-grid h4 {
  position: relative;
  margin-bottom: 18px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.22;
  letter-spacing: -0.025em;
}

.status-line,
.calm-state {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 750;
}

.status-marker {
  width: 9px;
  height: 9px;
  background: var(--turquoise);
  border: 2px solid var(--white);
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--turquoise);
}

.ownership-note {
  position: absolute;
  left: 38px;
  bottom: 31px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.support-stream {
  border-right: 1px solid var(--line);
}

.support-item + .support-item {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}

.support-item h4,
.horizon h4 {
  margin-bottom: 9px;
  font-size: 19px;
}

.state-copy,
.calm-support {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 13px;
}

.horizon {
  background: #fbfdff;
}

.calm-state {
  margin-top: 26px;
  color: #3d6a72;
}

.brief-footer {
  min-height: 66px;
  padding: 17px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #557187;
  background: var(--wash-strong);
  border-top: 1px solid var(--line);
  font-size: 12px;
}

.brief-footer strong {
  color: var(--navy-deep);
}

.client-calm {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.calm-symbol {
  width: 42px;
  height: 42px;
  margin-bottom: 22px;
  display: grid;
  place-items: center;
  color: var(--white);
  background: var(--turquoise);
  border-radius: 50%;
  font-size: 21px;
  font-weight: 800;
}

.client-calm .brief-eyebrow {
  margin-bottom: 16px;
}

.client-calm h4 {
  font-size: 30px;
}

.partnership {
  padding: 112px 0;
  border-top: 1px solid var(--line);
}

.partnership-lead {
  max-width: 880px;
  margin-bottom: 62px;
}

.partnership-lead h2 {
  font-size: clamp(36px, 4vw, 50px);
}

.service-proofs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 44px;
  border-top: 1px solid var(--line-strong);
}

.service-proof {
  min-height: 210px;
  padding: 32px 0;
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: start;
  gap: 18px;
  border-bottom: 1px solid var(--line);
}

.service-proof-lead {
  min-height: 0;
  grid-column: 1 / -1;
  grid-template-columns: 44px minmax(0, 820px);
  padding: 38px 0;
}

.service-index {
  color: var(--turquoise);
  font-size: 12px;
  font-weight: 800;
}

.service-proof h3 {
  margin: 0 0 11px;
  color: var(--navy-deep);
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.service-proof-lead h3 {
  font-size: 29px;
}

.service-proof p {
  margin: 0;
  color: var(--muted);
  font-size: 15.5px;
}

.pathway-summary {
  margin-top: 56px;
  padding-top: 26px;
  border-top: 1px solid var(--line-strong);
}

.pathway-label {
  margin-bottom: 20px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.pathway-compact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.pathway-compact span {
  padding: 4px 28px 4px 0;
  color: var(--muted);
  font-size: 14px;
}

.pathway-compact span + span {
  padding-left: 28px;
  border-left: 1px solid var(--line);
}

.pathway-compact strong {
  display: block;
  margin-bottom: 5px;
  color: var(--navy-deep);
  font-size: 17px;
}

.partnership-close {
  max-width: 900px;
  margin: 52px 0 0;
  color: var(--muted);
  font-size: 20px;
}

.partnership-close strong {
  color: var(--navy-deep);
}

.founder {
  margin-bottom: 120px;
  padding: 70px 76px;
  display: grid;
  grid-template-columns: minmax(290px, 0.82fr) minmax(0, 1.18fr);
  align-items: start;
  gap: 58px;
  background: var(--wash);
  border-radius: var(--radius);
}

/* On roomy desktop screens, land the About link on the Founder content rather
   than the top edge of its padded panel. This frames the full story—from the
   eyebrow through the signature—in one intentional view. */
@media (min-width: 981px) and (min-height: 860px) {
  #partnership {
    scroll-margin-top: -138px;
  }

  #founder {
    scroll-margin-top: -66px;
  }
}

.founder-portrait {
  position: relative;
  width: 100%;
  margin: 78px 0 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.founder-portrait img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 40%;
  transform: scale(1.12);
  transform-origin: 58% 58%;
}

.founder-portrait-background {
  filter: blur(1.1px) saturate(0.9) contrast(0.97);
}

.founder-portrait .founder-portrait-authentic {
  -webkit-mask-image:
    radial-gradient(
      ellipse 10% 9% at 58% 39%,
      #000 0%,
      #000 52%,
      rgba(0, 0, 0, 0.86) 70%,
      rgba(0, 0, 0, 0.22) 90%,
      transparent 100%
    ),
    radial-gradient(
      ellipse 17% 22% at 62% 56%,
      #000 0%,
      #000 60%,
      rgba(0, 0, 0, 0.84) 72%,
      rgba(0, 0, 0, 0.24) 90%,
      transparent 100%
    );
  -webkit-mask-composite: source-over;
  mask-image:
    radial-gradient(
      ellipse 10% 9% at 58% 39%,
      #000 0%,
      #000 52%,
      rgba(0, 0, 0, 0.86) 70%,
      rgba(0, 0, 0, 0.22) 90%,
      transparent 100%
    ),
    radial-gradient(
      ellipse 17% 22% at 62% 56%,
      #000 0%,
      #000 60%,
      rgba(0, 0, 0, 0.84) 72%,
      rgba(0, 0, 0, 0.24) 90%,
      transparent 100%
    );
  mask-composite: add;
}

.founder-copy {
  max-width: 740px;
}

.founder-copy h2 {
  font-size: clamp(34px, 3.5vw, 48px);
}

.founder-copy .founder-signature {
  margin: 26px 0 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 750;
}

.founder-signature span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.founder-copy .founder-goal {
  margin: 26px 0 0;
  color: #008e82;
  font-size: 20px;
  font-weight: 750;
}

.beta {
  background: var(--navy);
  color: var(--white);
}

.beta-inner {
  padding: 102px 0;
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  align-items: start;
  gap: 86px;
}

.eyebrow-light {
  color: #b9ecff;
}

.beta h2 {
  margin: 0 0 16px;
  color: var(--white);
  font-size: clamp(38px, 4vw, 56px);
}

.beta-subhead {
  margin: 0 0 22px;
  color: var(--white);
  font-size: clamp(22px, 2.1vw, 29px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.beta-lede,
.beta-copy p {
  color: #d8e8f7;
  font-size: 17px;
}

.beta-not-build {
  margin-bottom: 30px;
}

.beta-not-build strong {
  color: var(--white);
}

.exchange-grid {
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.exchange-grid > div {
  padding: 28px 30px 28px 0;
}

.exchange-grid > div + div {
  padding-left: 30px;
  border-left: 1px solid rgba(255, 255, 255, 0.25);
}

.exchange-grid h3 {
  margin: 0 0 12px;
  color: #b9ecff;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.exchange-grid p {
  margin: 0;
  font-size: 15px;
}

.exchange-grid strong {
  color: var(--white);
}

.beta-copy .beta-terms {
  margin: 0 0 28px;
  color: #b9cfe4;
  font-size: 13px;
}

.beta-echo {
  grid-column: 1 / -1;
  margin: 18px 0 0;
  padding-top: 34px;
  color: var(--white);
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.button-light {
  color: var(--navy-deep);
  background: var(--white);
  border-color: var(--white);
}

.site-footer {
  padding: 58px 0 34px;
  display: grid;
  grid-template-columns: 420px 1fr auto;
  align-items: start;
  gap: 60px;
}

.footer-logo {
  position: relative;
  width: 420px;
  line-height: 0;
}

.footer-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.footer-status p {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 13px;
}

.footer-status strong {
  color: var(--navy-deep);
}

.footer-links {
  display: flex;
  gap: 20px;
}

.copyright {
  grid-column: 1 / -1;
  margin: 28px 0 0;
  padding-top: 24px;
  color: #71869a;
  border-top: 1px solid var(--line);
  font-size: 12px;
}

@media (max-width: 980px) {
  .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
  }

  .site-header nav {
    display: flex;
  }

  .site-header nav a:not(.beta-nav-link) {
    display: none;
  }

  .hero {
    grid-template-columns: 1fr;
    gap: 42px;
    padding-top: 70px;
  }

  .hero-thesis {
    max-width: 650px;
  }

  .brief-grid {
    grid-template-columns: 1fr 1.15fr;
  }

  .horizon {
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
  }

  .beta-inner {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}

@media (max-width: 700px) {
  .concept-bar {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .concept-switch {
    width: 100%;
  }

  .concept-switch a {
    flex: 1;
    text-align: center;
  }

  .section-shell,
  .site-header {
    width: min(100% - 32px, 560px);
  }

  .site-header {
    min-height: 78px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }

  .brand {
    width: min(196px, 100%);
  }

  .site-header nav .beta-nav-link {
    min-height: 44px;
    padding-inline: 13px;
    font-size: 12px;
  }

  .beta-nav-desktop {
    display: none;
  }

  .beta-nav-mobile {
    display: inline;
  }

  .site-header .button-small {
    min-height: 38px;
    padding-inline: 13px;
    font-size: 12px;
  }

  .hero {
    min-height: 0;
    padding: 36px 0 30px;
    gap: 30px;
  }

  h1 {
    font-size: clamp(38px, 10.8vw, 44px);
  }

  .hero-lede {
    font-size: 17px;
  }

  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .hero-thesis {
    padding: 26px 0 26px 24px;
  }

  .brief-section {
    padding: 44px 0 92px;
  }

  .capture-brief .brief-section {
    padding-top: 42px;
  }

  .capture-lower .partnership {
    padding-top: 52px;
  }

  .section-intro {
    margin-bottom: 36px;
  }

  .brief-header {
    padding: 22px;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .brief-context {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .context-dot {
    display: none;
  }

  .brief-grid {
    display: block;
    min-height: 0;
  }

  .brief-grid > section {
    padding: 38px 26px;
  }

  .client-focus,
  .support-stream {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .brief-eyebrow {
    margin-bottom: 24px;
  }

  .brief-grid h4 {
    font-size: 22px;
  }

  .ownership-note {
    position: static;
    margin-top: 34px;
  }

  .brief-footer {
    padding: 20px 24px;
    align-items: flex-start;
    flex-direction: column;
  }

  .partnership {
    padding: 88px 0;
  }

  .partnership-lead {
    margin-bottom: 44px;
  }

  .service-proofs {
    grid-template-columns: 1fr;
  }

  .service-proof,
  .service-proof-lead {
    min-height: 0;
    grid-column: 1;
    grid-template-columns: 36px 1fr;
    padding: 28px 0;
  }

  .service-proof h3,
  .service-proof-lead h3 {
    font-size: 23px;
  }

  .pathway-compact {
    grid-template-columns: 1fr;
  }

  .pathway-compact span,
  .pathway-compact span + span {
    padding: 16px 0;
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }

  .partnership-close {
    margin-top: 38px;
    font-size: 18px;
  }

  .founder {
    margin-bottom: 88px;
    padding: 48px 30px;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .founder-portrait {
    margin-top: 0;
    aspect-ratio: 5 / 4;
  }

  .beta-inner {
    padding: 84px 0;
  }

  .exchange-grid {
    grid-template-columns: 1fr;
  }

  .exchange-grid > div,
  .exchange-grid > div + div {
    padding: 24px 0;
    border-left: 0;
  }

  .exchange-grid > div + div {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
  }

  .beta-echo {
    grid-column: 1;
    font-size: 20px;
  }

  .site-footer {
    padding: 46px 0 28px;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-logo {
    width: 300px;
  }

  .footer-links {
    flex-wrap: wrap;
  }

  .copyright {
    grid-column: 1;
  }
}

@media (max-width: 600px) {
  .site-header .button-small {
    display: none;
  }

  .brand {
    width: min(190px, 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .button {
    transition: none;
  }
}

