/* Homepage preview redesign */

body.home-preview-body {
  --site-bg: #f5f5f7;
  --site-surface: #ffffff;
  --site-surface-alt: #fbfbfd;
  --site-ink: #1d1d1f;
  --site-muted: #6e6e73;
  --site-line: rgba(29, 29, 31, .12);
  --site-line-strong: rgba(29, 29, 31, .22);
  --site-radius-sm: 12px;
  --site-radius-md: 16px;
  --site-radius-lg: 22px;
  --site-section-y: clamp(3.5rem, 8vw, 6rem);
  --home-preview-link: #7a6f92;
  --home-preview-link-hover: #5f5472;
  --home-preview-link-soft: rgba(122, 111, 146, .14);
  overflow-x: hidden;
}

.home-preview-page {
  --home-preview-bg: #f5f5f7;
  --home-preview-paper: #ffffff;
  --home-preview-ink: #1d1d1f;
  --home-preview-muted: #6e6e73;
  --home-preview-soft: rgba(29, 29, 31, .055);
  --home-preview-line: rgba(29, 29, 31, .12);
  --home-preview-line-strong: rgba(29, 29, 31, .22);
  --home-preview-blue: #416a85;
  --home-preview-green: #376654;
  --home-preview-rose: #8e5363;
  --home-preview-gold: #8a7652;
  --home-preview-purple: #6b5b7d;
  --home-section-accent: var(--home-preview-blue);
  background: var(--home-preview-bg);
  color: var(--home-preview-ink);
  overflow-x: hidden;
  overflow-x: clip;
}

.home-preview-page *,
.home-preview-page *::before,
.home-preview-page *::after {
  box-sizing: border-box;
}

body.home-preview-body .footer {
  overflow-x: hidden;
}

body.home-preview-body .footer .text-block-2 {
  max-width: 100%;
  margin-left: 0;
  overflow-wrap: anywhere;
}

/* Homepage preview navigation and footer IA */

body.home-preview-body .footer.inverse-footer .home-preview-footer-grid {
  grid-template-columns: minmax(11rem, 1.15fr) repeat(4, minmax(6.5rem, 1fr));
  column-gap: clamp(1.25rem, 3vw, 3rem);
  row-gap: 2rem;
  align-items: start;
}

body.home-preview-body .footer.inverse-footer .home-preview-footer-grid > * {
  grid-area: auto !important;
  justify-self: stretch;
  min-width: 0;
}

body.home-preview-body .footer.inverse-footer .home-preview-footer-logo {
  justify-self: start;
  align-self: start;
}

body.home-preview-body .footer.inverse-footer .home-preview-footer-col {
  margin: 0;
  padding: 0;
  text-align: left;
}

body.home-preview-body .footer.inverse-footer .home-preview-footer-heading {
  margin: 0 0 .65rem;
  padding: 0;
  line-height: 1.2;
}

body.home-preview-body .footer.inverse-footer .home-preview-footer-col > li:not(:first-child) {
  margin-top: .35rem;
}

@media screen and (max-width: 991px) {
  body.home-preview-body .footer.inverse-footer .home-preview-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.home-preview-body .footer.inverse-footer .home-preview-footer-logo {
    grid-column: 1 / -1;
  }
}

@media screen and (max-width: 767px) {
  body.home-preview-body .footer.inverse-footer .home-preview-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 479px) {
  body.home-preview-body .footer.inverse-footer .home-preview-footer-grid {
    grid-template-columns: 1fr;
  }
}

body.home-preview-body .home-preview-footer-text {
  display: inline-block;
  cursor: default;
}

body.home-preview-body :focus-visible {
  outline: 2px solid var(--home-preview-link, #7a6f92);
  outline-offset: 3px;
}

body.home-preview-body .nav .nav-link[aria-current="page"],
body.home-preview-body .nav .mega-nav-link-item[aria-current="page"],
body.home-preview-body .footer-link[aria-current="page"] {
  color: var(--home-preview-link);
}

body.home-preview-body .nav .nav-link[aria-current="page"] {
  background: rgba(255, 255, 255, .12);
}

body.home-preview-body .nav .mega-nav-link-item[aria-current="page"] .paragraph-sm.utility-text-secondary {
  color: rgba(122, 111, 146, .78);
}

@media screen and (min-width: 992px) {
  body.home-preview-body .nav .nav-menu-dropdown-list.w--open {
    position: fixed;
    left: 0;
    right: 0;
    top: 68px;
    width: 100vw;
    padding: 0;
    background: rgba(245, 245, 247, .92);
    border-bottom: 1px solid rgba(29, 29, 31, .1);
    box-shadow: 0 22px 54px rgba(29, 29, 31, .1);
    backdrop-filter: saturate(180%) blur(20px);
  }

  body.home-preview-body .nav .nav-menu-dropdown-list-wrapper {
    width: min(1120px, calc(100vw - 4rem));
    margin: 0 auto;
    padding: 2.35rem 0 2.55rem;
    color: #1d1d1f;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
  }

  body.home-preview-body .nav .nav-menu-dropdown-list-wrapper::before {
    display: block;
    margin-bottom: 1.25rem;
    color: rgba(29, 29, 31, .48);
    font-size: .78rem;
    line-height: 1.35;
  }

  body.home-preview-body .nav-menu-list-item:nth-child(2) .nav-menu-dropdown-list-wrapper::before {
    content: "知识";
  }

  body.home-preview-body .nav-menu-list-item:nth-child(3) .nav-menu-dropdown-list-wrapper::before {
    content: "协作";
  }

  body.home-preview-body .nav-menu-list-item:nth-child(4) .nav-menu-dropdown-list-wrapper::before {
    content: "社区";
  }

  body.home-preview-body .nav .nav-menu-dropdown-list-wrapper .flex-vertical {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem 3.5rem;
  }

  body.home-preview-body .nav .nav-menu-list-item:nth-child(4) .nav-menu-dropdown-list-wrapper .flex-vertical {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body.home-preview-body .nav .nav-menu-dropdown-list-wrapper li {
    margin-bottom: 0;
  }

  body.home-preview-body .nav .mega-nav-link-item {
    display: block;
    padding: 0;
    color: #1d1d1f;
    background: transparent;
    border-radius: 0;
    transition: color .2s ease, transform .2s ease;
  }

  body.home-preview-body .nav .mega-nav-link-item:hover {
    color: #0066cc;
    background: transparent;
    transform: translateY(-1px);
  }

  body.home-preview-body .nav .mega-nav-link-item .icon-medium {
    display: none;
  }

  body.home-preview-body .nav .mega-nav-link-item > div:last-child > div:first-child {
    margin-bottom: .32rem;
    font-size: 1.32rem;
    font-weight: 600;
    line-height: 1.18;
  }

  body.home-preview-body .nav .mega-nav-link-item .paragraph-sm.utility-text-secondary {
    max-width: 16.5rem;
    color: #6e6e73;
    font-size: .9rem;
    line-height: 1.52;
  }
}

@media screen and (max-width: 991px) {
  body.home-preview-body .nav .mega-nav-link-item .icon-medium {
    display: none;
  }
}

.home-preview-page .h1-heading,
.home-preview-page h1,
.home-preview-page h2,
.home-preview-page h3,
.home-preview-page p,
.home-preview-page a,
.home-preview-page small,
.home-preview-page span {
  letter-spacing: 0;
}

.home-preview-page .button {
  position: relative;
  overflow: hidden;
  border-color: var(--home-preview-ink);
  border-radius: 999px;
  background: var(--home-preview-ink);
  color: #fff;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.home-preview-page .secondary-button {
  border-color: transparent;
  background: #e8e8ed;
  color: var(--home-preview-ink);
}

.home-preview-page .button:hover {
  background: #000;
  color: #fff;
}

.home-preview-page .secondary-button:hover {
  background: #dedee3;
  color: var(--home-preview-ink);
}

.home-preview-page .button:hover {
  transform: translateY(-1px);
}

.home-preview-container {
  max-width: 1120px;
}

.home-preview-hero.secondary-section {
  position: relative;
  margin-top: 0;
  padding-top: 7.5rem;
  padding-bottom: 5rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 255, 255, .96), rgba(245, 245, 247, .58) 46%, rgba(245, 245, 247, 1) 78%),
    var(--home-preview-bg);
}

.home-preview-hero.secondary-section::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 7.2rem;
  width: min(68rem, 86vw);
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(29, 29, 31, .18), transparent);
  transform: translateX(-50%);
}

.home-preview-hero-copy {
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
}

.home-preview-hero .h1-heading {
  max-width: none;
  margin: 0 auto 1.2rem;
  color: var(--home-preview-ink);
  font-size: clamp(2.35rem, 5.2vw, 5.25rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-wrap: nowrap;
}

.home-preview-hero .subheading {
  max-width: 710px;
  margin-right: auto;
  margin-left: auto;
  color: var(--home-preview-muted);
  font-size: 1.17rem;
  line-height: 1.8;
}

.home-preview-kicker {
  display: inline-flex;
  margin: 0 0 .95rem;
  align-items: center;
  gap: .62rem;
  color: var(--home-preview-muted);
  font-size: .82rem;
  line-height: 1.4;
}

.home-preview-kicker span {
  color: var(--home-section-accent);
  font-variant-numeric: tabular-nums;
}

.home-preview-hero-image {
  position: relative;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border-radius: 24px;
  background: #e9e9e7;
  box-shadow: 0 28px 70px rgba(29, 29, 31, .1);
  transform: translateZ(0);
}

.home-preview-hero-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .1), transparent 36%, rgba(29, 29, 31, .08)),
    linear-gradient(90deg, rgba(29, 29, 31, .11), transparent 16%, transparent 84%, rgba(29, 29, 31, .1));
}

.home-preview-hero-image::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 2;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 23px;
}

.home-preview-hero-image img {
  transform: scale(1.001);
  transition: transform .7s ease, filter .7s ease;
}

.home-preview-hero-image:hover img {
  filter: saturate(1.02) contrast(1.015);
  transform: scale(1.012);
}

.home-narrative-map {
  display: grid;
  max-width: 560px;
  margin: 2rem auto 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--home-preview-line);
  color: var(--home-preview-muted);
  font-size: .86rem;
  line-height: 1.4;
}

.home-narrative-map a {
  position: relative;
  padding-top: .78rem;
  color: inherit;
  text-align: center;
  text-decoration: none;
  transition: color .22s ease;
}

.home-narrative-map a::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -1px;
  width: 1.8rem;
  height: 1px;
  background: currentColor;
  opacity: 0;
  transform: translateX(-50%) scaleX(.4);
  transition: opacity .22s ease, transform .22s ease;
}

.home-narrative-map a:hover {
  color: var(--home-preview-ink);
}

.home-narrative-map a:hover::before {
  opacity: .9;
  transform: translateX(-50%) scaleX(1);
}

.home-hero-site-note {
  max-width: 36rem;
  margin: 0 auto 1.25rem;
  color: var(--home-preview-muted);
  font-size: .92rem;
  line-height: 1.55;
}

.home-hero-site-note a {
  color: var(--home-preview-blue);
  text-decoration: underline;
  text-underline-offset: .15em;
}

.home-preview-wiki-note {
  margin: 0 0 1rem;
  color: var(--home-preview-muted);
  font-size: .9rem;
  line-height: 1.5;
}

.home-pulse-heading {
  margin: 0 0 .75rem;
  color: var(--home-preview-muted);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.3;
}

.home-pulse {
  max-width: 1120px;
  margin: 1.75rem auto 0;
  padding: 1rem 1.25rem;
  border: 1px solid var(--home-preview-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 10px 28px rgba(29, 29, 31, .04);
}

.home-pulse-list {
  display: grid;
  gap: .65rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-pulse-item {
  margin: 0;
  min-width: 0;
}

.home-pulse-link {
  display: grid;
  gap: .28rem;
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}

.home-pulse-link:hover {
  color: var(--home-preview-ink);
}

.home-pulse-link:hover .home-pulse-title {
  color: var(--home-preview-blue);
}

.home-pulse-label {
  color: var(--home-preview-muted);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.3;
}

.home-pulse-title {
  color: var(--home-preview-ink);
  font-size: .94rem;
  font-weight: 500;
  line-height: 1.45;
  transition: color .2s ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-section {
  --home-section-accent: var(--home-preview-blue);
  position: relative;
  padding: 8rem 0;
  background: var(--home-preview-paper);
  border-top: 12px solid var(--home-preview-bg);
}

.home-section-discovery {
  --home-section-accent: var(--home-preview-green);
}

.home-section-structure {
  --home-section-accent: var(--home-preview-blue);
  background: #fbfbfd;
}

.home-section-collaboration {
  --home-section-accent: var(--home-preview-rose);
  background: #111112;
  color: #f5f5f7;
}

.home-section-entry {
  --home-section-accent: var(--home-preview-gold);
  background:
    radial-gradient(circle at 50% 0, rgba(255, 255, 255, .94), rgba(245, 245, 247, .9) 46%, rgba(245, 245, 247, 1) 76%),
    var(--home-preview-bg);
}

.home-section-quote {
  --home-section-accent: var(--home-preview-purple);
  padding-top: 6.5rem;
  padding-bottom: 7rem;
  background: var(--home-preview-paper);
}

.home-preview-section-heading {
  max-width: 860px;
  margin: 0 auto 4.2rem;
  text-align: center;
}

.home-preview-section-heading-wide {
  max-width: 900px;
}

.home-preview-section-heading h2,
.home-preview-entry-band h2 {
  margin: 0 0 1rem;
  color: inherit;
  font-family: inherit;
  font-size: clamp(2.15rem, 4.6vw, 4rem);
  font-weight: 500;
  line-height: 1.08;
  text-wrap: balance;
}

.home-preview-section-heading p,
.home-preview-longform p,
.home-preview-entry-copy p {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--home-preview-muted);
  font-size: 1.1rem;
  line-height: 1.85;
}

.home-section-collaboration .home-preview-section-heading p,
.home-section-collaboration .home-preview-kicker,
.home-section-collaboration .home-entry-count,
.home-section-collaboration .home-entry-text {
  color: rgba(245, 245, 247, .68);
}

.home-entry-grid {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.home-entry-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-entry {
  --home-entry-accent: var(--home-preview-blue);
  display: flex;
  position: relative;
  min-height: 310px;
  min-width: 0;
  padding: 2rem;
  flex-direction: column;
  justify-content: flex-start;
  color: inherit;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 22px;
  background: var(--home-preview-bg);
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
  overflow: hidden;
}

.home-entry::before {
  content: "";
  position: absolute;
  left: 2rem;
  right: 2rem;
  top: 1.55rem;
  height: 1px;
  background: color-mix(in srgb, var(--home-entry-accent) 44%, transparent);
  opacity: .42;
  transform: scaleX(.38);
  transform-origin: left;
  transition: opacity .22s ease, transform .22s ease;
}

.home-entry:hover {
  border-color: color-mix(in srgb, var(--home-entry-accent) 28%, transparent);
  background: #fff;
  box-shadow: 0 16px 42px rgba(29, 29, 31, .065);
  color: var(--home-preview-ink);
  transform: translateY(-2px);
}

.home-entry:hover::before {
  opacity: .86;
  transform: scaleX(1);
}

.home-entry-accent-green {
  --home-entry-accent: var(--home-preview-green);
}

.home-entry-accent-blue {
  --home-entry-accent: var(--home-preview-blue);
}

.home-entry-accent-rose {
  --home-entry-accent: var(--home-preview-rose);
}

.home-entry-accent-gold {
  --home-entry-accent: var(--home-preview-gold);
}

.home-entry-accent-purple {
  --home-entry-accent: var(--home-preview-purple);
}

.home-entry-count {
  margin-bottom: 2.1rem;
  color: var(--home-preview-muted);
  font-size: .78rem;
  line-height: 1.4;
  text-transform: uppercase;
}

.home-entry-title {
  margin-bottom: .9rem;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.28;
}

.home-entry-text {
  max-width: 24rem;
  color: var(--home-preview-muted);
  font-size: .98rem;
  line-height: 1.82;
}

.home-entry-action {
  display: inline-flex;
  margin-top: auto;
  padding-top: 2rem;
  align-items: center;
  gap: .45rem;
  color: var(--home-entry-accent);
  font-size: .94rem;
  line-height: 1.5;
}

.home-entry-action::after {
  content: "";
  width: .72rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(.6);
  transform-origin: left;
  transition: transform .22s ease;
}

.home-entry:hover .home-entry-action::after {
  transform: scaleX(1);
}

.home-preview-split {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 5rem;
  align-items: start;
  margin-bottom: 4rem;
}

.home-preview-split .home-preview-section-heading {
  margin: 0;
  text-align: left;
}

.home-preview-longform {
  padding-top: .35rem;
}

.home-preview-text-link {
  display: inline-flex;
  position: relative;
  margin-top: 1.4rem;
  color: var(--home-preview-link, #7a6f92);
  font-size: .96rem;
  line-height: 1.5;
  text-decoration: none;
  transition: color .2s ease;
}

.home-preview-text-link:hover {
  color: var(--home-preview-link-hover, #5f5472);
}

.home-preview-text-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.22rem;
  height: 1px;
  background: currentColor;
  opacity: .32;
  transform: scaleX(.62);
  transform-origin: left;
  transition: opacity .22s ease, transform .22s ease;
}

.home-preview-text-link:hover::after {
  opacity: .9;
  transform: scaleX(1);
}

.home-preview-index-board {
  overflow: hidden;
  border: 1px solid var(--home-preview-line);
  border-radius: 22px;
  background: #fff;
}

.home-index-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.home-index-item {
  --home-index-accent: var(--home-preview-blue);
  display: flex;
  position: relative;
  min-width: 0;
  min-height: 190px;
  padding: 1.55rem;
  flex-direction: column;
  justify-content: space-between;
  color: inherit;
  text-decoration: none;
  border-right: 1px solid var(--home-preview-line);
  background: #fff;
  transition: background-color .22s ease, color .22s ease;
}

.home-index-item:last-child {
  border-right: 0;
}

.home-index-item::before {
  content: "";
  width: 1.7rem;
  height: 1px;
  background: var(--home-index-accent);
  opacity: .42;
  transition: opacity .22s ease, width .22s ease;
}

.home-index-item:hover {
  color: var(--home-index-accent);
  background: #f8f8fa;
}

.home-index-item:hover::before {
  width: 3rem;
  opacity: .9;
}

.home-index-item span {
  padding-top: 1.8rem;
  font-size: 1.22rem;
  font-weight: 500;
  line-height: 1.35;
}

.home-index-item small {
  color: var(--home-preview-muted);
  font-size: .85rem;
  line-height: 1.75;
}

.home-index-accent-green {
  --home-index-accent: var(--home-preview-green);
}

.home-index-accent-blue {
  --home-index-accent: var(--home-preview-blue);
}

.home-index-accent-rose {
  --home-index-accent: var(--home-preview-rose);
}

.home-index-accent-gold {
  --home-index-accent: var(--home-preview-gold);
}

.home-index-accent-purple {
  --home-index-accent: var(--home-preview-purple);
}

.home-entry-grid-collaboration .home-entry {
  min-height: 285px;
  border-color: rgba(245, 245, 247, .12);
  background: rgba(245, 245, 247, .06);
}

.home-entry-grid-collaboration .home-entry:hover {
  color: #fff;
  border-color: rgba(245, 245, 247, .24);
  background: rgba(245, 245, 247, .1);
  box-shadow: none;
}

.home-preview-entry-band {
  display: grid;
  max-width: 940px;
  margin: 0 auto;
  grid-template-columns: 1fr;
  gap: 1.7rem;
  justify-items: center;
  text-align: center;
}

.home-preview-entry-copy {
  max-width: 620px;
}

.home-preview-entry-copy .button-group {
  justify-content: center;
  align-self: auto;
}

.home-preview-quote {
  max-width: 760px;
  margin: 0 auto;
  padding: 3.5rem 0 0;
  border-top: 1px solid var(--home-preview-line);
  text-align: center;
}

.home-preview-quote blockquote {
  margin: 0;
  padding: 0;
  border: 0;
}

.home-preview-quote blockquote span {
  display: block;
  overflow-wrap: anywhere;
}

.home-preview-quote blockquote span:first-child {
  margin-bottom: 1rem;
  color: var(--home-preview-ink);
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  font-weight: 500;
  line-height: 1.28;
}

.home-preview-quote blockquote span:last-child {
  color: var(--home-preview-muted);
  font-size: 1.08rem;
  line-height: 1.8;
}

.home-preview-quote figcaption {
  margin-top: 1.25rem;
  color: rgba(29, 29, 31, .42);
  font-size: .88rem;
  line-height: 1.5;
}

@supports (animation-timeline: view()) {
  .home-preview-section-heading,
  .home-preview-split,
  .home-entry,
  .home-preview-index-board,
  .home-preview-entry-band,
  .home-preview-quote {
    animation: home-preview-rise both;
    animation-timeline: view();
    animation-range: entry 9% cover 28%;
  }
}

@keyframes home-preview-rise {
  from {
    opacity: 0;
    transform: translateY(.85rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-preview-page *,
  .home-preview-page *::before,
  .home-preview-page *::after {
    animation: none !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

@media screen and (max-width: 991px) {
  .home-preview-hero.secondary-section {
    padding-top: 6rem;
  }

  .home-preview-hero .h1-heading {
    font-size: clamp(1.85rem, 7.8vw, 3.1rem);
  }

  .home-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .home-entry-grid-three,
  .home-preview-split {
    grid-template-columns: 1fr;
  }

  .home-preview-split {
    gap: 2rem;
  }

  .home-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-index-item {
    border-bottom: 1px solid var(--home-preview-line);
  }

  .home-index-item:nth-child(2n) {
    border-right: 0;
  }

  .home-index-item:last-child {
    border-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  body.home-preview-body .footer .flex-horizontal.x-space-between {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
  }

  body.home-preview-body .footer .flex-horizontal.x-space-between.tablet-flex-vertical {
    flex-direction: column !important;
  }

  body.home-preview-body .footer .text-block-2 {
    width: 100%;
    flex-basis: auto;
    margin-left: 0;
    overflow-wrap: normal;
  }

  body.home-preview-body .footer .flex-horizontal.y-center.x-center {
    justify-content: flex-start;
  }

  .home-preview-hero.secondary-section {
    padding-top: 5rem;
    padding-bottom: 3.75rem;
  }

  .home-preview-hero .h1-heading {
    font-size: clamp(1.5rem, 6.2vw, 2.35rem);
  }

  .home-preview-hero .subheading,
  .home-preview-section-heading p,
  .home-preview-longform p,
  .home-preview-entry-copy p {
    font-size: 1rem;
  }

  .home-preview-hero-image {
    border-radius: 16px;
  }

  .home-preview-hero-image::after {
    border-radius: 15px;
  }

  .home-section {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    border-top-width: 8px;
  }

  .home-preview-section-heading {
    margin-bottom: 2.75rem;
    text-align: left;
  }

  .home-preview-split .home-preview-section-heading {
    text-align: left;
  }

  .home-narrative-map {
    max-width: none;
    margin-top: 1.55rem;
    font-size: .8rem;
  }

  .home-pulse {
    margin-top: 1.35rem;
    padding: .9rem 1rem;
    border-radius: 14px;
  }

  .home-pulse-list {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .home-pulse-title {
    white-space: normal;
  }

  .home-entry {
    min-height: 238px;
    padding: 1.55rem;
    border-radius: 18px;
  }

  .home-entry::before {
    left: 1.55rem;
    right: 1.55rem;
  }

  .home-entry-count {
    margin-bottom: 1.65rem;
  }

  .home-index-grid {
    grid-template-columns: 1fr;
  }

  .home-index-item {
    min-height: 138px;
    border-right: 0;
  }

  .home-index-item:nth-child(2n) {
    border-right: 0;
  }

  .home-preview-entry-copy .button-group {
    align-items: stretch;
  }
}

@media screen and (max-width: 479px) {
  .home-preview-hero .button-group,
  .home-preview-entry-copy .button-group {
    align-items: stretch;
  }

  .home-preview-hero .button,
  .home-preview-entry-copy .button {
    width: 100%;
    white-space: normal;
  }

  .home-narrative-map {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Community structure page — doc / org-chart layout */

body.home-preview-body .structure-page {
  --structure-bg: #f5f5f7;
  --structure-surface: #ffffff;
  --structure-surface-alt: #fbfbfd;
  --structure-ink: #1d1d1f;
  --structure-muted: #6e6e73;
  --structure-line: rgba(29, 29, 31, .1);
  --structure-shadow: 0 1px 2px rgba(29, 29, 31, .04), 0 12px 40px rgba(29, 29, 31, .07);
  --structure-accent: var(--home-preview-link, #7a6f92);
  --structure-accent-hover: var(--home-preview-link-hover, #5f5472);
  --structure-carry: #376654;
  --structure-carry-soft: rgba(55, 102, 84, .12);
  --structure-run: #8e5363;
  --structure-run-soft: rgba(142, 83, 99, .12);
  --structure-steward: var(--home-preview-purple, #6b5b7d);
  --structure-steward-soft: var(--home-preview-link-soft, rgba(122, 111, 146, .14));
  --structure-wiki: #376654;
  --structure-wiki-soft: rgba(55, 102, 84, .12);
  --structure-cloud: var(--home-preview-purple, #6b5b7d);
  --structure-cloud-soft: rgba(107, 91, 125, .12);
  --structure-news: #8e5363;
  --structure-news-soft: rgba(142, 83, 99, .12);
  --structure-projects: #6b5b7d;
  --structure-projects-soft: rgba(107, 91, 125, .12);
  --structure-events: var(--home-preview-purple, #6b5b7d);
  --structure-events-soft: rgba(107, 91, 125, .1);
  --structure-radius: 16px;
  --structure-radius-lg: 22px;
  background: var(--structure-bg);
  color: var(--structure-ink);
  scroll-behavior: smooth;
}

body.home-preview-body .structure-page [id] {
  scroll-margin-top: 5.5rem;
}

/* Hero */

body.home-preview-body .structure-hero {
  padding: 3.5rem 0 3.25rem;
  background:
    radial-gradient(ellipse 80% 60% at 50% -20%, rgba(65, 106, 133, .14), transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--structure-bg) 100%);
  border-bottom: 1px solid var(--structure-line);
}

body.home-preview-body .structure-hero-inner {
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 3rem;
  align-items: end;
}

body.home-preview-body .structure-hero-eyebrow {
  margin: 0 0 .85rem;
  color: var(--structure-muted);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.home-preview-body .structure-hero-title {
  margin: 0 0 1rem;
  font-size: clamp(2.25rem, 4.5vw, 3.25rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.02em;
}

body.home-preview-body .structure-hero-desc {
  margin: 0;
  max-width: 28em;
  color: var(--structure-muted);
  font-size: 1.08rem;
  line-height: 1.75;
}

body.home-preview-body .structure-hero-desc a {
  color: var(--structure-accent);
  text-decoration: none;
  transition: color .2s ease;
}

body.home-preview-body .structure-hero-desc a:hover {
  color: var(--structure-accent-hover);
  text-decoration: underline;
  text-underline-offset: .15em;
}

body.home-preview-body .structure-pipeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 1.35rem 1.25rem;
  border: 1px solid var(--structure-line);
  border-radius: var(--structure-radius-lg);
  background: var(--structure-surface);
  box-shadow: var(--structure-shadow);
}

body.home-preview-body .structure-pipeline-step {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: .85rem 1rem;
  border-radius: 12px;
}

body.home-preview-body .structure-pipeline-step--carry {
  background: var(--structure-carry-soft);
}

body.home-preview-body .structure-pipeline-step--run {
  background: var(--structure-run-soft);
}

body.home-preview-body .structure-pipeline-step--steward {
  background: var(--structure-steward-soft);
}

body.home-preview-body .structure-pipeline-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--structure-muted);
}

body.home-preview-body .structure-pipeline-name {
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.35;
}

body.home-preview-body .structure-pipeline-connector {
  width: 2px;
  height: 14px;
  margin: .15rem auto;
  background: var(--structure-line);
  border-radius: 2px;
}

/* Shell: TOC + main */

body.home-preview-body .structure-shell {
  display: grid;
  grid-template-columns: 11.5rem minmax(0, 1fr);
  gap: 3.5rem;
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 2.5rem 0 5rem;
  align-items: start;
}

body.home-preview-body .structure-toc {
  position: sticky;
  top: 5.5rem;
  padding: 1.15rem 0;
}

body.home-preview-body .structure-toc-title {
  margin: 0 0 .85rem;
  padding: 0 0 0 .15rem;
  color: var(--structure-muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.home-preview-body .structure-toc-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.home-preview-body .structure-toc-list li {
  margin: 0;
}

body.home-preview-body .structure-toc-list a {
  display: block;
  padding: .45rem 0 .45rem .85rem;
  border-left: 2px solid transparent;
  color: var(--structure-muted);
  font-size: .88rem;
  line-height: 1.4;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}

body.home-preview-body .structure-toc-list a:hover {
  color: var(--structure-accent);
  border-left-color: var(--structure-accent);
}

body.home-preview-body .structure-main {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}

body.home-preview-body .structure-panel {
  padding: 2.25rem 2rem;
  border: 1px solid var(--structure-line);
  border-radius: var(--structure-radius-lg);
  background: var(--structure-surface);
  box-shadow: var(--structure-shadow);
}

body.home-preview-body .structure-panel--alt {
  background: var(--structure-surface-alt);
}

body.home-preview-body .structure-section-head {
  margin-bottom: 1.75rem;
}

body.home-preview-body .structure-section-label {
  display: inline-block;
  margin: 0 0 .65rem;
  padding: .22rem .55rem;
  border-radius: 6px;
  background: var(--structure-surface-alt);
  border: 1px solid var(--structure-line);
  color: var(--structure-muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
}

body.home-preview-body .structure-section-title {
  margin: 0 0 .65rem;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
}

body.home-preview-body .structure-section-lead {
  margin: 0;
  color: var(--structure-muted);
  font-size: 1rem;
  line-height: 1.75;
}

body.home-preview-body .structure-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.8;
}

body.home-preview-body .structure-text-note,
body.home-preview-body .structure-text-muted {
  margin-top: 1.35rem;
  font-size: .92rem;
  line-height: 1.7;
  color: var(--structure-muted);
}

body.home-preview-body .structure-page a:not(.button):not(.w-button):not(.structure-module-card):not(.nav-link):not(.mega-nav-link-item):not(.footer-link):not(.logo) {
  color: var(--structure-accent);
  text-decoration: none;
  text-underline-offset: .15em;
  transition: color .2s ease;
}

body.home-preview-body .structure-page a:not(.button):not(.w-button):not(.structure-module-card):not(.nav-link):not(.mega-nav-link-item):not(.footer-link):not(.logo):hover {
  color: var(--structure-accent-hover);
  text-decoration: underline;
}

body.home-preview-body .structure-matrix a {
  font-weight: 500;
}

/* Diagram — timeline */

body.home-preview-body .structure-diagram-wrap,
body.home-preview-body .structure-table-wrap {
  margin-bottom: 1.5rem;
}

body.home-preview-body .structure-table-wrap:last-child {
  margin-bottom: 0;
}

body.home-preview-body .structure-diagram {
  margin: 0;
}

body.home-preview-body .structure-diagram-caption,
body.home-preview-body .structure-matrix-caption {
  margin: 0 0 1.1rem;
  color: var(--structure-muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.home-preview-body .structure-diagram-list {
  position: relative;
  margin: 0;
  padding: .25rem 0 .25rem 2.75rem;
  list-style: none;
}

body.home-preview-body .structure-diagram-list::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 1.5rem;
  bottom: 1.5rem;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--structure-carry) 0%, var(--structure-run) 52%, var(--structure-steward) 100%);
  opacity: .35;
}

body.home-preview-body .structure-diagram-row {
  position: relative;
  display: grid;
  grid-template-columns: 6.25rem minmax(0, 1fr);
  gap: 0;
  margin-bottom: .85rem;
  border: 1px solid var(--structure-line);
  border-radius: var(--structure-radius);
  background: var(--structure-surface);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(29, 29, 31, .03);
}

body.home-preview-body .structure-diagram-row::before {
  content: "";
  position: absolute;
  left: -2.75rem;
  top: 1.55rem;
  z-index: 1;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--structure-surface);
  box-shadow: 0 0 0 3px var(--structure-surface);
}

body.home-preview-body .structure-diagram-row--carry::before {
  border: 3px solid var(--structure-carry);
}

body.home-preview-body .structure-diagram-row--run::before {
  border: 3px solid var(--structure-run);
}

body.home-preview-body .structure-diagram-row--steward::before {
  border: 3px solid var(--structure-steward);
}

body.home-preview-body .structure-diagram-row--carry {
  border-left: 3px solid var(--structure-carry);
}

body.home-preview-body .structure-diagram-row--run {
  border-left: 3px solid var(--structure-run);
}

body.home-preview-body .structure-diagram-row--steward {
  border-left: 3px solid var(--structure-steward);
  margin-bottom: 0;
}

body.home-preview-body .structure-diagram-meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .3rem;
  padding: 1.2rem .95rem;
  background: var(--structure-surface-alt);
  border-right: 1px solid var(--structure-line);
}

body.home-preview-body .structure-diagram-index {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: lining-nums;
}

body.home-preview-body .structure-diagram-role {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--structure-muted);
}

body.home-preview-body .structure-diagram-body {
  padding: 1.2rem 1.35rem;
  min-width: 0;
}

body.home-preview-body .structure-diagram-name {
  margin: 0 0 .4rem;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.3;
}

body.home-preview-body .structure-diagram-question {
  margin: 0 0 .65rem;
  padding: .35rem .65rem;
  border-radius: 6px;
  background: var(--structure-steward-soft);
  color: var(--structure-accent);
  font-size: .8rem;
  font-weight: 600;
  line-height: 1.45;
  display: inline-block;
}

body.home-preview-body .structure-diagram-desc {
  margin: 0;
  font-size: .93rem;
  line-height: 1.68;
  color: var(--structure-muted);
}

body.home-preview-body .structure-diagram-sub {
  margin: 0 0 .35rem;
  font-size: .86rem;
  font-weight: 600;
}

body.home-preview-body .structure-diagram-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

body.home-preview-body .structure-diagram-split-item {
  padding: .8rem .9rem;
  border-radius: 10px;
  background: var(--structure-surface-alt);
  border: 1px solid var(--structure-line);
}

body.home-preview-body .structure-diagram-join {
  display: flex;
  justify-content: center;
  padding: .35rem 0 .35rem 2.75rem;
  list-style: none;
}

body.home-preview-body .structure-diagram-join span {
  padding: .2rem .7rem;
  border-radius: 999px;
  background: var(--structure-bg);
  border: 1px solid var(--structure-line);
  color: var(--structure-muted);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .05em;
}

/* Matrix table */

body.home-preview-body .structure-table-wrap {
  padding: 1px;
  border-radius: var(--structure-radius);
  background: var(--structure-line);
  overflow: hidden;
}

body.home-preview-body .structure-matrix {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
  line-height: 1.5;
  background: var(--structure-surface);
}

body.home-preview-body .structure-matrix th,
body.home-preview-body .structure-matrix td {
  padding: .8rem 1.05rem;
  text-align: left;
  border-bottom: 1px solid var(--structure-line);
}

body.home-preview-body .structure-matrix thead th {
  background: var(--structure-surface-alt);
  color: var(--structure-muted);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.home-preview-body .structure-matrix tbody tr:last-child th,
body.home-preview-body .structure-matrix tbody tr:last-child td {
  border-bottom: 0;
}

body.home-preview-body .structure-matrix tbody th {
  font-weight: 600;
  color: var(--structure-ink);
}

body.home-preview-body .structure-matrix tbody td:last-child {
  color: var(--structure-muted);
}

body.home-preview-body .structure-badge {
  display: inline-block;
  padding: .2rem .55rem;
  border-radius: 6px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.home-preview-body .structure-badge--carry {
  background: var(--structure-carry-soft);
  color: var(--structure-carry);
}

body.home-preview-body .structure-badge--run {
  background: var(--structure-run-soft);
  color: var(--structure-run);
}

body.home-preview-body .structure-badge--steward {
  background: var(--structure-steward-soft);
  color: var(--structure-steward);
}

/* Module entry cards */

body.home-preview-body .structure-module-group {
  margin-bottom: 2rem;
}

body.home-preview-body .structure-module-group:last-of-type {
  margin-bottom: 0;
}

body.home-preview-body .structure-module-group-title {
  margin: 0 0 .5rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--structure-line);
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--structure-ink);
}

body.home-preview-body .structure-module-group-lead {
  margin: 0 0 1rem;
  font-size: .9rem;
  line-height: 1.65;
  color: var(--structure-muted);
}

body.home-preview-body .structure-module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}

body.home-preview-body .structure-module-grid--collab {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 0;
}

body.home-preview-body .structure-module-grid > li {
  margin: 0;
  min-width: 0;
}

body.home-preview-body .structure-module-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  min-height: 5.5rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--structure-line);
  border-radius: var(--structure-radius);
  background: var(--structure-surface);
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.home-preview-body .structure-module-card:hover {
  border-color: rgba(29, 29, 31, .2);
  box-shadow: 0 10px 28px rgba(29, 29, 31, .08);
  transform: translateY(-1px);
  text-decoration: none;
}

body.home-preview-body .structure-module-card--wiki .structure-module-icon {
  background: var(--structure-wiki-soft);
  color: var(--structure-wiki);
}

body.home-preview-body .structure-module-card--cloud .structure-module-icon {
  background: var(--structure-cloud-soft);
  color: var(--structure-cloud);
}

body.home-preview-body .structure-module-card--news .structure-module-icon {
  background: var(--structure-news-soft);
  color: var(--structure-news);
}

body.home-preview-body .structure-module-card--projects .structure-module-icon {
  background: var(--structure-projects-soft);
  color: var(--structure-projects);
}

body.home-preview-body .structure-module-card--events .structure-module-icon {
  background: var(--structure-events-soft);
  color: var(--structure-events);
}

body.home-preview-body .structure-module-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  font-size: .95rem;
  font-weight: 700;
  flex-shrink: 0;
}

body.home-preview-body .structure-module-body {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}

body.home-preview-body .structure-module-name {
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--structure-ink);
}

body.home-preview-body .structure-module-role {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--structure-muted);
}

body.home-preview-body .structure-module-desc {
  font-size: .86rem;
  line-height: 1.5;
  color: var(--structure-muted);
}

body.home-preview-body .structure-module-arrow {
  color: var(--structure-muted);
  font-size: 1.1rem;
  opacity: .45;
  transition: opacity .2s ease, transform .2s ease;
}

body.home-preview-body .structure-module-card:hover .structure-module-arrow {
  opacity: 1;
  transform: translateX(2px);
}

/* Role definitions */

body.home-preview-body .structure-definitions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin: 0;
}

body.home-preview-body .structure-definition {
  padding: 1rem 1.1rem;
  border: 1px solid var(--structure-line);
  border-radius: var(--structure-radius);
  background: var(--structure-surface);
}

body.home-preview-body .structure-panel--alt .structure-definition {
  background: var(--structure-surface);
}

body.home-preview-body .structure-definition dt {
  margin: 0 0 .35rem;
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.35;
}

body.home-preview-body .structure-definition dd {
  margin: 0;
  font-size: .88rem;
  line-height: 1.6;
  color: var(--structure-muted);
}

/* Principles */

body.home-preview-body .structure-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--structure-line);
  border-radius: var(--structure-radius);
  background: var(--structure-surface);
  overflow: hidden;
}

body.home-preview-body .structure-principles li {
  padding: .8rem 1.05rem;
  border-bottom: 1px solid var(--structure-line);
  border-right: 1px solid var(--structure-line);
  font-size: .92rem;
  line-height: 1.55;
  color: var(--structure-ink);
}

body.home-preview-body .structure-principles li:nth-child(2n) {
  border-right: 0;
}

body.home-preview-body .structure-principles li:nth-last-child(-n+2) {
  border-bottom: 0;
}

body.home-preview-body .structure-principles li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: .55rem;
  margin-bottom: .1rem;
  border-radius: 50%;
  background: var(--structure-accent);
  vertical-align: middle;
  opacity: .55;
}

body.home-preview-body .structure-cta {
  margin-top: 1.75rem;
}

@media screen and (max-width: 991px) {
  body.home-preview-body .structure-hero-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  body.home-preview-body .structure-module-grid:not(.structure-module-grid--collab) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.home-preview-body .structure-shell {
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.home-preview-body .structure-toc {
    position: static;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid var(--structure-line);
    margin-bottom: .5rem;
  }

  body.home-preview-body .structure-toc-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
  }

  body.home-preview-body .structure-toc-list a {
    padding: .25rem 0;
    border-left: 0;
  }

  body.home-preview-body .structure-diagram-split,
  body.home-preview-body .structure-definitions {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  body.home-preview-body .structure-hero,
  body.home-preview-body .structure-shell {
    width: calc(100% - 2rem);
  }

  body.home-preview-body .structure-hero-inner,
  body.home-preview-body .structure-shell {
    width: 100%;
  }

  body.home-preview-body .structure-panel {
    padding: 1.5rem 1.2rem;
  }

  body.home-preview-body .structure-diagram-row {
    grid-template-columns: 1fr;
  }

  body.home-preview-body .structure-diagram-meta {
    flex-direction: row;
    align-items: center;
    gap: .65rem;
    border-right: 0;
    border-bottom: 1px solid var(--structure-line);
  }

  body.home-preview-body .structure-module-grid,
  body.home-preview-body .structure-principles {
    grid-template-columns: 1fr;
  }

  body.home-preview-body .structure-principles li {
    border-right: 0;
  }

  body.home-preview-body .structure-principles li:nth-last-child(-n+2) {
    border-bottom: 1px solid var(--structure-line);
  }

  body.home-preview-body .structure-principles li:last-child {
    border-bottom: 0;
  }

  body.home-preview-body .structure-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.home-preview-body .structure-matrix {
    min-width: 28rem;
  }
}

/* How to participate page */

body.home-preview-body .participate-way-block {
  margin-bottom: 1.75rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid var(--structure-line);
}

body.home-preview-body .participate-way-block:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

body.home-preview-body .participate-flow-list {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
  font-size: .96rem;
  line-height: 1.75;
  color: var(--structure-ink);
}

body.home-preview-body .participate-flow-list li {
  margin-bottom: .65rem;
}

body.home-preview-body .participate-flow-list li:last-child {
  margin-bottom: 0;
}

body.home-preview-body .participate-doc-list {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
  font-size: .96rem;
  line-height: 1.7;
}

body.home-preview-body .participate-doc-list a {
  color: var(--structure-accent);
  font-weight: 500;
}

body.home-preview-body .participate-flow-list a {
  color: var(--structure-accent);
  font-weight: 500;
}

body.home-preview-body .participate-flow-list a:hover,
body.home-preview-body .participate-doc-list a:hover {
  color: var(--structure-accent-hover);
}

body.home-preview-body .participate-ways-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 0;
}

body.home-preview-body .participate-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}

body.home-preview-body .participate-partner-list {
  grid-template-columns: 1fr;
  margin-bottom: 1.25rem;
}

body.home-preview-body .participate-partner-list li {
  border-right: 0;
}

body.home-preview-body .participate-partner-list li:not(:last-child) {
  border-bottom: 1px solid var(--structure-line);
}

body.home-preview-body .participate-partner-list li:last-child {
  border-bottom: 0;
}

@media screen and (max-width: 767px) {
  body.home-preview-body .participate-ways-grid {
    grid-template-columns: 1fr;
  }
}

/* Unified prose links on home-preview community pages */

body.home-preview-body .events-page :is(p, li, .card-body, .events-hero-copy, .events-page-notice, .events-section-heading) a:not(.button):not(.w-button),
body.home-preview-body .community-doc-page :is(p, li, .events-hero-copy, .events-section-heading, .community-doc-text, .community-doc-layer, .community-doc-table, .community-doc-defs, .community-doc-principles, .community-doc-flow, .community-doc-way, .learning-path-card) a:not(.button):not(.w-button),
body.home-preview-body .community-collective-page :is(p, li, .events-hero-copy, .events-section-heading, .community-doc-text, .community-doc-table, .community-doc-defs, .community-doc-principles, .community-doc-flow, .community-doc-way) a:not(.button):not(.w-button),
body.home-preview-body .attribution-guidelines-page :is(p, li, .events-hero-copy, .events-section-heading, .community-doc-text, .community-doc-table, .community-doc-defs, .community-doc-principles, .community-doc-flow, .community-doc-way, .attribution-type-tree) a:not(.button):not(.w-button),
body.home-preview-body .page-wrapper a:not(.button):not(.w-button) {
  color: var(--home-preview-link);
  font-weight: 500;
  text-decoration: none;
  text-underline-offset: .15em;
  transition: color .2s ease;
}

body.home-preview-body .events-page :is(p, li, .card-body, .events-hero-copy, .events-page-notice, .events-section-heading) a:not(.button):not(.w-button):hover,
body.home-preview-body .community-doc-page :is(p, li, .events-hero-copy, .events-section-heading, .community-doc-text, .community-doc-layer, .community-doc-table, .community-doc-defs, .community-doc-principles, .community-doc-flow, .community-doc-way, .learning-path-card) a:not(.button):not(.w-button):hover,
body.home-preview-body .community-collective-page :is(p, li, .events-hero-copy, .events-section-heading, .community-doc-text, .community-doc-table, .community-doc-defs, .community-doc-principles, .community-doc-flow, .community-doc-way) a:not(.button):not(.w-button):hover,
body.home-preview-body .attribution-guidelines-page :is(p, li, .events-hero-copy, .events-section-heading, .community-doc-text, .community-doc-table, .community-doc-defs, .community-doc-principles, .community-doc-flow, .community-doc-way, .attribution-type-tree) a:not(.button):not(.w-button):hover,
body.home-preview-body .page-wrapper a:not(.button):not(.w-button):hover {
  color: var(--home-preview-link-hover);
  text-decoration: underline;
}

body.home-preview-body .events-page-notice {
  border-color: rgba(122, 111, 146, .22);
  background: rgba(122, 111, 146, .06);
}

/* Community doc pages (架构、如何参与) — events-page shell */

body.home-preview-body .community-doc-page {
  scroll-behavior: smooth;
}

body.home-preview-body .community-doc-page [id],
body.home-preview-body .community-collective-page [id],
body.home-preview-body .attribution-guidelines-page [id] {
  scroll-margin-top: 5.5rem;
}

body.home-preview-body .community-doc-nav-section {
  padding-top: 0;
  padding-bottom: 1.25rem;
}

body.home-preview-body .community-doc-section {
  padding-top: var(--site-section-y, 3rem);
  padding-bottom: var(--site-section-y, 3rem);
  border-top: 1px solid var(--site-line);
}

body.home-preview-body .community-doc-section--alt {
  background: var(--site-bg, #f5f5f7);
}

body.home-preview-body .community-doc-text {
  margin: 1.25rem 0 0;
  max-width: 42em;
  color: var(--site-muted);
  line-height: 1.75;
}

body.home-preview-body .community-doc-text + .community-doc-text {
  margin-top: 1rem;
}

body.home-preview-body .community-doc-text--note {
  font-size: .95rem;
}

body.home-preview-body .community-doc-subtitle {
  margin: 2rem 0 .75rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--site-ink);
}

body.home-preview-body .community-doc-layers {
  margin: 1.75rem 0 0;
  padding: 0;
  list-style: none;
}

body.home-preview-body .community-doc-layer {
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-md, 12px);
  background: var(--site-surface, #fff);
}

body.home-preview-body .community-doc-layer + .community-doc-layer-join,
body.home-preview-body .community-doc-layer-join + .community-doc-layer {
  margin-top: .75rem;
}

body.home-preview-body .community-doc-layer-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: .5rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--site-muted);
}

body.home-preview-body .community-doc-layer h3 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--site-ink);
}

body.home-preview-body .community-doc-layer p {
  margin: 0;
  color: var(--site-muted);
  line-height: 1.65;
  font-size: .95rem;
}

body.home-preview-body .community-doc-layer p + p {
  margin-top: .65rem;
}

body.home-preview-body .community-doc-layer-join {
  margin-top: .75rem;
  text-align: center;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--site-muted);
}

body.home-preview-body .community-doc-table-wrap {
  margin-top: 1.5rem;
  overflow-x: auto;
}

body.home-preview-body .community-doc-table {
  width: 100%;
  min-width: 20rem;
  border-collapse: collapse;
  font-size: .92rem;
}

body.home-preview-body .community-doc-table caption {
  margin-bottom: .65rem;
  text-align: left;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--site-muted);
}

body.home-preview-body .community-doc-table th,
body.home-preview-body .community-doc-table td {
  padding: .65rem .85rem;
  border-bottom: 1px solid var(--site-line);
  text-align: left;
  vertical-align: top;
}

body.home-preview-body .community-doc-table thead th {
  font-weight: 600;
  color: var(--site-ink);
  background: rgba(0, 0, 0, .03);
}

body.home-preview-body .community-doc-table tbody th {
  font-weight: 600;
  color: var(--site-ink);
}

body.home-preview-body .community-doc-defs {
  margin: 1.25rem 0 0;
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
}

body.home-preview-body .community-doc-defs > div {
  padding: 1rem 1.1rem;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-md, 12px);
  background: var(--site-surface, #fff);
}

body.home-preview-body .community-doc-defs dt {
  margin: 0 0 .35rem;
  font-weight: 600;
  color: var(--site-ink);
}

body.home-preview-body .community-doc-defs dd {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: var(--site-muted);
}

body.home-preview-body .community-doc-principles,
body.home-preview-body .community-doc-list {
  margin: 1.25rem 0 0;
  padding-left: 1.2rem;
  max-width: 40em;
  color: var(--site-muted);
  line-height: 1.75;
}

body.home-preview-body .community-doc-principles li + li,
body.home-preview-body .community-doc-list li + li {
  margin-top: .35rem;
}

body.home-preview-body .community-doc-way {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--site-line);
}

body.home-preview-body .community-doc-way:first-of-type {
  margin-top: 1rem;
  padding-top: 0;
  border-top: 0;
}

body.home-preview-body .community-doc-flow {
  margin: 1.25rem 0 0;
  padding-left: 1.2rem;
  max-width: 40em;
  color: var(--site-muted);
  line-height: 1.75;
}

body.home-preview-body .community-doc-flow li + li {
  margin-top: .65rem;
}

body.home-preview-body .community-doc-actions {
  margin-top: 2rem;
}

body.home-preview-body .community-doc-pullquote {
  margin: 1.35rem 0 0;
  padding: 1rem 1.15rem;
  border-left: 3px solid var(--home-preview-link, #7a6f92);
  border-radius: 0 10px 10px 0;
  background: rgba(29, 29, 31, .04);
  color: var(--site-muted, #6e6e73);
  font-size: .95rem;
  line-height: 1.65;
}

body.home-preview-body .community-doc-pullquote--emphasis {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--site-ink, #1d1d1f);
  letter-spacing: -.01em;
}

body.home-preview-body .attribution-type-tree {
  margin: 1.25rem 0 0;
  padding-left: 1.2rem;
  max-width: 42em;
  line-height: 1.75;
  color: var(--site-muted);
}

body.home-preview-body .attribution-type-tree li + li {
  margin-top: .4rem;
}

body.home-preview-body .attribution-template {
  margin: .65rem 0 0;
  padding: .85rem 1rem;
  border: 1px solid var(--site-line);
  border-radius: 10px;
  background: rgba(29, 29, 31, .04);
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .8rem;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-x: auto;
  color: var(--site-ink);
}

body.home-preview-body .attribution-template-group .community-doc-subtitle {
  margin-top: 1.5rem;
}

body.home-preview-body .attribution-template-group .community-doc-subtitle:first-child {
  margin-top: .75rem;
}

body.home-preview-body .community-doc-shell-section {
  padding-top: 0;
  padding-bottom: var(--site-section-y, 3rem);
}

body.home-preview-body .community-doc-page .structure-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  gap: 2.75rem;
}

body.home-preview-body .community-doc-page .structure-toc-title {
  color: var(--site-muted);
}

body.home-preview-body .community-doc-page .structure-toc-list a {
  color: var(--site-muted);
}

body.home-preview-body .community-doc-page .structure-toc-list a:hover {
  color: var(--home-preview-link, #7a6f92);
  border-left-color: var(--home-preview-link, #7a6f92);
}

body.home-preview-body .community-doc-page .structure-main {
  gap: 1rem;
}

body.home-preview-body .community-doc-block {
  padding: 2rem 1.75rem;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-md, 12px);
  background: var(--site-surface, #fff);
}

body.home-preview-body .community-doc-block--alt {
  background: var(--site-bg, #f5f5f7);
}

body.home-preview-body .community-doc-block .events-section-heading {
  margin-bottom: 0;
}

@media screen and (max-width: 991px) {
  body.home-preview-body .community-doc-page .structure-shell {
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.home-preview-body .community-doc-page .structure-toc {
    position: static;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid var(--site-line);
    margin-bottom: .75rem;
  }

  body.home-preview-body .community-doc-page .structure-toc-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .75rem;
  }

  body.home-preview-body .community-doc-page .structure-toc-list a {
    padding: .25rem 0;
    border-left: 0;
  }

  body.home-preview-body .community-doc-block {
    padding: 1.5rem 1.25rem;
  }
}

/* Projects page — Apple-like clarity: segment nav, list rows, minimal chrome */

body.home-preview-body .projects-page {
  --projects-bg: var(--site-bg, #f5f5f7);
  --projects-surface: #fff;
  --projects-ink: #1d1d1f;
  --projects-muted: #6e6e73;
  --projects-line: rgba(0, 0, 0, .08);
  --projects-fill: rgba(0, 0, 0, .06);
  --projects-link: var(--home-preview-link, #7a6f92);
  --projects-radius: 12px;
  --projects-radius-pill: 10px;
  background: var(--projects-bg);
  scroll-behavior: smooth;
}

body.home-preview-body .projects-page [id] {
  scroll-margin-top: 5.5rem;
}

body.home-preview-body .projects-hero {
  background: linear-gradient(180deg, #fff 0%, var(--projects-bg) 100%);
}

body.home-preview-body .projects-hero .events-hero-copy h1 {
  letter-spacing: -.025em;
  font-weight: 600;
}

body.home-preview-body .projects-hero .subheading {
  color: var(--projects-muted);
  max-width: 36em;
}

body.home-preview-body .projects-intro-section {
  padding-top: 0;
  padding-bottom: 1.5rem;
}

/* Segmented control (iOS-style) */
body.home-preview-body .projects-segment {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .25rem;
  max-width: 100%;
  padding: .22rem;
  border-radius: var(--projects-radius-pill);
  background: var(--projects-fill);
}

body.home-preview-body .projects-segment-item {
  padding: .5rem 1rem;
  border-radius: calc(var(--projects-radius-pill) - 2px);
  color: var(--projects-muted);
  font-size: .88rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

body.home-preview-body .projects-segment-item:hover {
  color: var(--projects-ink);
}

body.home-preview-body .projects-segment-item:focus-visible {
  outline: 2px solid var(--projects-link);
  outline-offset: 2px;
}

@media (hover: hover) {
  body.home-preview-body .projects-segment-item:active {
    background: rgba(0, 0, 0, .04);
  }
}

/* List sections */
body.home-preview-body .projects-list-section {
  padding: 2.5rem 0 3rem;
  background: var(--projects-surface);
  border-top: 1px solid var(--projects-line);
}

body.home-preview-body .projects-list-section--alt {
  background: var(--projects-bg);
}

body.home-preview-body .projects-block-head {
  margin-bottom: 1.5rem;
}

body.home-preview-body .projects-block-head h2 {
  margin: 0 0 .5rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.15;
}

body.home-preview-body .projects-block-head p {
  margin: 0;
  max-width: 40em;
  color: var(--projects-muted);
  font-size: 1rem;
  line-height: 1.6;
}

/* Toolbar: search + sort */
body.home-preview-body .projects-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem 1.25rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--projects-line);
}

body.home-preview-body .projects-search {
  flex: 1 1 14rem;
  min-width: min(100%, 14rem);
  position: relative;
  display: block;
}

body.home-preview-body .projects-search-icon {
  width: .75rem;
  height: .75rem;
  border: 2px solid var(--projects-muted);
  border-radius: 999px;
  opacity: .55;
  position: absolute;
  top: 50%;
  left: .95rem;
  transform: translateY(-54%);
  pointer-events: none;
}

body.home-preview-body .projects-search-icon:after {
  content: "";
  width: .4rem;
  height: 2px;
  background: var(--projects-muted);
  position: absolute;
  right: -.32rem;
  bottom: -.14rem;
  transform: rotate(45deg);
  opacity: .55;
}

body.home-preview-body .projects-search-input {
  width: 100%;
  min-height: 2.75rem;
  padding: .65rem 1rem .65rem 2.35rem;
  border: none;
  border-radius: var(--projects-radius-pill);
  background: var(--projects-fill);
  color: var(--projects-ink);
  font: inherit;
  font-size: .94rem;
}

body.home-preview-body .projects-search-input::placeholder {
  color: var(--projects-muted);
}

body.home-preview-body .projects-search-input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, .25);
  background: #e8e8ed;
}

body.home-preview-body .projects-toolbar-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
}

body.home-preview-body .projects-count {
  color: var(--projects-muted);
  font-size: .88rem;
  white-space: nowrap;
}

body.home-preview-body .projects-sort {
  display: inline-flex;
  padding: .18rem;
  border-radius: var(--projects-radius-pill);
  background: var(--projects-fill);
}

body.home-preview-body .projects-sort-btn {
  min-width: 3.2rem;
  padding: .4rem .65rem;
  border: 0;
  border-radius: calc(var(--projects-radius-pill) - 2px);
  background: transparent;
  color: var(--projects-muted);
  font: inherit;
  font-size: .84rem;
  line-height: 1;
  cursor: pointer;
}

body.home-preview-body .projects-sort-btn.is-active {
  background: var(--projects-surface);
  color: var(--projects-ink);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

body.home-preview-body .projects-sort-btn:focus-visible {
  outline: 2px solid var(--projects-link);
  outline-offset: 1px;
}

/* List rows (when cards are added) */
body.home-preview-body .projects-list {
  display: grid;
  gap: 0;
  border: 1px solid var(--projects-line);
  border-radius: var(--projects-radius);
  background: var(--projects-surface);
  overflow: hidden;
}

body.home-preview-body .projects-list:empty {
  display: none;
}

body.home-preview-body .projects-row,
body.home-preview-body .projects-list .news-issue-card {
  border-bottom: 1px solid var(--projects-line);
}

body.home-preview-body .projects-row:last-child,
body.home-preview-body .projects-list .news-issue-card:last-child {
  border-bottom: 0;
}

body.home-preview-body .projects-row[hidden],
body.home-preview-body .projects-list .news-issue-card[hidden] {
  display: none;
}

body.home-preview-body .projects-list .news-issue-link {
  grid-template-columns: 5.5rem minmax(0, 1fr) auto;
}

@media screen and (max-width: 991px) {
  body.home-preview-body .projects-list .news-issue-link {
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }

  body.home-preview-body .projects-list .news-issue-action {
    grid-column: 2;
    justify-self: start;
  }
}

@media screen and (max-width: 767px) {
  body.home-preview-body .projects-list .news-issue-link {
    grid-template-columns: 1fr;
  }

  body.home-preview-body .projects-list .news-issue-action {
    grid-column: auto;
  }
}

body.home-preview-body .projects-no-results {
  margin: 1rem 0 0;
  padding: 1.25rem;
  border-radius: var(--projects-radius);
  background: var(--projects-fill);
  color: var(--projects-muted);
  font-size: .94rem;
  text-align: center;
}

body.home-preview-body .projects-no-results[hidden] {
  display: none;
}

/* Empty state */
body.home-preview-body .projects-empty {
  margin-top: .5rem;
  padding: 2rem 1.5rem;
  text-align: center;
}

body.home-preview-body .projects-empty[hidden] {
  display: none;
}

body.home-preview-body .projects-empty-title {
  margin: 0 0 .5rem;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -.01em;
}

body.home-preview-body .projects-empty-desc {
  margin: 0 auto 1.25rem;
  max-width: 28em;
  color: var(--projects-muted);
  font-size: .94rem;
  line-height: 1.65;
}

body.home-preview-body .projects-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .65rem;
}

/* How to start */
body.home-preview-body .projects-start-section {
  padding: 2.75rem 0 4rem;
  background: var(--projects-bg);
  border-top: 1px solid var(--projects-line);
}

body.home-preview-body .projects-start-cta,
body.home-preview-body #start-event .projects-start-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 0 0 1.75rem;
}

body.home-preview-body .projects-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 1rem;
}

body.home-preview-body .projects-tile {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1.35rem 1.4rem 1.35rem;
  border-radius: var(--projects-radius);
  background: var(--projects-surface);
  border: 1px solid var(--projects-line);
}

body.home-preview-body .projects-tile-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

body.home-preview-body .projects-tile-label {
  margin: 0 0 .5rem;
  color: var(--projects-muted);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.2;
}

body.home-preview-body .projects-tile h3 {
  margin: 0 0 .65rem;
  min-height: 2.6em;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.3;
}

body.home-preview-body .projects-tile-intro {
  margin: 0 0 .85rem;
  min-height: 3.05em;
  color: var(--projects-muted);
  font-size: .94rem;
  line-height: 1.6;
}

body.home-preview-body .projects-tile-points {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--projects-ink);
  font-size: .9rem;
  line-height: 1.55;
}

body.home-preview-body .projects-tile-points li {
  padding-left: .15rem;
}

body.home-preview-body .projects-tile-points li + li {
  margin-top: .4rem;
}

body.home-preview-body .projects-tile-footer {
  flex-shrink: 0;
  margin-top: 1.25rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--projects-line);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem 1.15rem;
  min-height: 2.75rem;
}

body.home-preview-body .projects-tile-link {
  display: inline-block;
  margin: 0;
  color: var(--projects-link);
  font-size: .94rem;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
}

body.home-preview-body .projects-tile-link:hover {
  text-decoration: underline;
}

body.home-preview-body .projects-tile-link--secondary {
  color: var(--projects-muted);
}

body.home-preview-body .projects-page .projects-block-head a:not(.button):not(.w-button) {
  color: var(--projects-link);
}

@media screen and (max-width: 767px) {
  body.home-preview-body .projects-segment {
    display: flex;
    width: 100%;
  }

  body.home-preview-body .projects-segment-item {
    flex: 1 1 auto;
    text-align: center;
    padding: .5rem .5rem;
    font-size: .82rem;
  }

  body.home-preview-body .projects-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  body.home-preview-body .projects-toolbar-meta {
    justify-content: space-between;
  }

  body.home-preview-body .projects-tiles {
    grid-template-columns: 1fr;
  }

  body.home-preview-body .projects-empty-actions .button {
    width: 100%;
  }
}

/* Events page — upcoming timeline sticky dates, past archive toolbar */

body.home-preview-body .events-page [id] {
  scroll-margin-top: 5.5rem;
}

@media screen and (min-width: 768px) {
  body.home-preview-body .events-timeline .event-date-block {
    position: sticky;
    top: 42vh;
    align-self: start;
  }
}

body.home-preview-body .events-timeline[hidden] {
  display: none;
}

body.home-preview-body .events-search {
  flex: 1 1 14rem;
  min-width: min(100%, 14rem);
  position: relative;
  display: block;
}

body.home-preview-body .events-search-icon {
  width: .75rem;
  height: .75rem;
  border: 2px solid #6e6e73;
  border-radius: 999px;
  opacity: .55;
  position: absolute;
  top: 50%;
  left: .95rem;
  transform: translateY(-54%);
  pointer-events: none;
}

body.home-preview-body .events-search-icon:after {
  content: "";
  width: .4rem;
  height: 2px;
  background: #6e6e73;
  position: absolute;
  right: -.32rem;
  bottom: -.14rem;
  transform: rotate(45deg);
  opacity: .55;
}

body.home-preview-body .events-search-input {
  width: 100%;
  min-height: 2.75rem;
  padding: .65rem 1rem .65rem 2.35rem;
  border: 1px solid #00000018;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: .94rem;
}

body.home-preview-body .events-search-input::placeholder {
  color: #6e6e73;
}

body.home-preview-body .events-search-input:focus {
  outline: none;
  border-color: #111;
  box-shadow: 0 0 0 3px #00000014;
}

body.home-preview-body .events-toolbar-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
}

body.home-preview-body .events-count {
  color: #5b5b5b;
  font-size: .88rem;
  white-space: nowrap;
}

body.home-preview-body .events-sort {
  display: inline-flex;
  padding: .18rem;
  border-radius: 999px;
  border: 1px solid #00000012;
  background: #fff;
}

body.home-preview-body .events-sort-btn {
  min-width: 3.2rem;
  padding: .4rem .65rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5b5b5b;
  font: inherit;
  font-size: .84rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

body.home-preview-body .events-sort-btn.is-active {
  background: #111;
  color: #fff;
}

body.home-preview-body .events-sort-btn:focus-visible {
  outline: 2px solid #7a6f92;
  outline-offset: 2px;
}

body.home-preview-body .events-no-results {
  margin: 0 0 1rem;
  color: #5b5b5b;
  font-size: .95rem;
}

body.home-preview-body .event-archive-link[hidden] {
  display: none;
}

/* —— Site-wide: kicker, browse pages, learning path —— */

body.home-preview-body .site-kicker,
body.home-preview-body .eyebrow {
  display: inline-flex;
  margin: 0 0 .85rem;
  align-items: center;
  gap: .5rem;
  color: var(--site-muted, #6e6e73);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
}

/* Browse: events + news unified with homepage tokens */

body.home-preview-body .events-page,
body.home-preview-body .news-page {
  background: var(--site-bg);
  color: var(--site-ink);
  scroll-behavior: smooth;
}

body.home-preview-body .events-page [id],
body.home-preview-body .news-page [id] {
  scroll-margin-top: 5.5rem;
}

body.home-preview-body .events-page .button,
body.home-preview-body .news-page .button {
  border-radius: 999px;
  border-color: var(--site-ink);
  background: var(--site-ink);
  color: #fff;
  transition: background-color .22s ease, border-color .22s ease, transform .22s ease;
}

body.home-preview-body .events-page .secondary-button,
body.home-preview-body .news-page .secondary-button {
  border-color: transparent;
  background: #e8e8ed;
  color: var(--site-ink);
}

body.home-preview-body .events-page .button:hover,
body.home-preview-body .news-page .button:hover {
  background: #000;
  transform: translateY(-1px);
}

body.home-preview-body .events-page .secondary-button:hover,
body.home-preview-body .news-page .secondary-button:hover {
  background: #dedee3;
  color: var(--site-ink);
}

body.home-preview-body .events-hero {
  padding-top: clamp(3.5rem, 7vw, 5.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(65, 106, 133, .1), transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--site-bg) 100%);
}

body.home-preview-body .events-page .events-hero-grid,
body.home-preview-body .projects-page .events-hero-grid {
  align-items: center;
}

body.home-preview-body .events-page .events-hero-panel,
body.home-preview-body .projects-page .events-hero-panel {
  width: min(100%, 460px);
  justify-self: end;
}

@media screen and (max-width: 991px) {
  body.home-preview-body .events-page .events-hero-panel,
  body.home-preview-body .projects-page .events-hero-panel {
    width: min(100%, 620px);
    justify-self: start;
  }
}

body.home-preview-body .events-hero-copy h1 {
  max-width: none;
  margin-bottom: 1rem;
  color: var(--site-ink);
  font-size: clamp(2rem, 4.5vw, 3.35rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.025em;
  white-space: normal;
  text-wrap: balance;
}

body.home-preview-body .events-hero-copy .subheading {
  max-width: 36em;
  color: var(--site-muted);
  line-height: 1.72;
}

body.home-preview-body .events-hero-panel {
  overflow: hidden;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-lg);
  background: var(--site-surface);
  color: var(--site-ink);
  box-shadow: 0 20px 50px rgba(29, 29, 31, .08);
}

body.home-preview-body .events-hero-panel img {
  border-radius: var(--site-radius-lg) var(--site-radius-lg) 0 0;
}

body.home-preview-body .events-hero-panel-body {
  padding: clamp(1.15rem, 2.6vw, 1.75rem);
  background: var(--site-surface);
}

body.home-preview-body .events-hero-panel-body h2 {
  margin-top: .65rem;
  margin-bottom: .55rem;
  color: var(--site-ink);
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  font-weight: 600;
  line-height: 1.25;
}

body.home-preview-body .events-hero-panel-body p {
  color: var(--site-muted);
}

body.home-preview-body .events-intro-section {
  padding-top: 0;
  padding-bottom: 1.25rem;
}

body.home-preview-body .events-notice-section {
  padding-top: 0;
  padding-bottom: 0;
}

body.home-preview-body .events-section-heading h2 {
  color: var(--site-ink);
  font-size: clamp(1.65rem, 3.5vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.12;
}

body.home-preview-body .events-section-heading p {
  color: var(--site-muted);
}

body.home-preview-body .events-upcoming-section,
body.home-preview-body .events-archive-section {
  padding-top: var(--site-section-y);
  padding-bottom: var(--site-section-y);
  border-top: 1px solid var(--site-line);
}

body.home-preview-body .events-search-input,
body.home-preview-body .events-sort {
  border-color: var(--site-line);
  color: var(--site-ink);
}

body.home-preview-body .events-sort-btn.is-active {
  background: var(--site-ink);
}

body.home-preview-body .events-count,
body.home-preview-body .events-no-results {
  color: var(--site-muted);
}

/* News index */

body.home-preview-body .news-hero {
  padding-top: clamp(3.5rem, 7vw, 5.5rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--site-line);
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(142, 83, 99, .08), transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--site-bg) 100%);
}

body.home-preview-body .news-hero-copy h1,
body.home-preview-body .news-article-hero h1 {
  color: var(--site-ink);
  font-size: clamp(2rem, 4.5vw, 3.35rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.08;
  text-wrap: balance;
}

body.home-preview-body .news-hero-copy .subheading {
  color: var(--site-muted);
  line-height: 1.72;
}

body.home-preview-body .news-featured-card {
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-lg);
  background: var(--site-surface);
  box-shadow: 0 16px 44px rgba(29, 29, 31, .07);
}

body.home-preview-body .news-featured-card:hover,
body.home-preview-body .news-issue-link:hover {
  border-color: var(--site-line-strong);
  box-shadow: 0 22px 52px rgba(29, 29, 31, .1);
}

body.home-preview-body .news-archive-section {
  background: var(--site-bg);
}

body.home-preview-body .news-toolbar {
  border-bottom-color: var(--site-line);
}

body.home-preview-body .news-card-meta {
  color: var(--site-muted);
}

body.home-preview-body .news-issue-card,
body.home-preview-body .news-issue-link {
  border-radius: var(--site-radius-md);
  border-color: var(--site-line);
}

body.home-preview-body .news-page :is(p, li, .news-hero-copy, .news-toolbar) a:not(.button):not(.w-button):not(.news-featured-card):not(.news-issue-link) {
  color: var(--home-preview-link);
  font-weight: 500;
}

body.home-preview-body .news-article-page,
body.home-preview-body main.news-page {
  background: var(--site-bg);
  color: var(--site-ink);
}

body.home-preview-body .news-article-hero {
  border-bottom: 1px solid var(--site-line);
  background: linear-gradient(180deg, #fff 0%, var(--site-bg) 100%);
}

body.home-preview-body .news-article-section {
  background: var(--site-bg);
}

body.home-preview-body .news-aside-card {
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-md);
  background: var(--site-surface);
}

/* Learning path */

body.home-preview-body .learning-path-page {
  background: var(--site-bg);
  color: var(--site-ink);
}

body.home-preview-body .learning-path-page .events-hero {
  padding-bottom: 2rem;
}

body.home-preview-body .learning-path-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

body.home-preview-body .learning-path-card {
  display: block;
  padding: 1.35rem 1.4rem;
  border: 1px solid var(--site-line);
  border-radius: var(--site-radius-md);
  background: var(--site-surface);
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.home-preview-body .learning-path-card:hover {
  border-color: var(--site-line-strong);
  box-shadow: 0 12px 32px rgba(29, 29, 31, .07);
  transform: translateY(-2px);
}

body.home-preview-body .learning-path-card strong {
  display: block;
  margin-bottom: .35rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--site-ink);
}

body.home-preview-body .learning-path-card span {
  font-size: .88rem;
  line-height: 1.5;
  color: var(--site-muted);
}

body.home-preview-body .learning-path-card--green {
  border-left: 3px solid var(--home-preview-green, #376654);
}

body.home-preview-body .learning-path-card--blue {
  border-left: 3px solid var(--home-preview-blue, #416a85);
}

body.home-preview-body .learning-path-card--rose {
  border-left: 3px solid var(--home-preview-rose, #8e5363);
}

body.home-preview-body .learning-path-card--purple {
  border-left: 3px solid var(--home-preview-purple, #6b5b7d);
}

body.home-preview-body .learning-path-card--gold {
  border-left: 3px solid var(--home-preview-gold, #8a7652);
}

/* Legal pages */

body.home-preview-body .legal-page {
  --legal-bg: var(--site-bg, #f5f5f7);
  --legal-surface: var(--site-surface, #fff);
  --legal-surface-alt: var(--site-surface-alt, #fbfbfd);
  --legal-ink: var(--site-ink, #1d1d1f);
  --legal-muted: var(--site-muted, #6e6e73);
  --legal-line: var(--site-line, rgba(29, 29, 31, .12));
  --legal-line-strong: var(--site-line-strong, rgba(29, 29, 31, .22));
  --legal-radius: var(--site-radius-md, 16px);
  --legal-radius-lg: var(--site-radius-lg, 22px);
  --legal-shadow: 0 1px 2px rgba(29, 29, 31, .035), 0 16px 44px rgba(29, 29, 31, .065);
  background: var(--legal-bg);
  color: var(--legal-ink);
}

body.home-preview-body .legal-container {
  width: min(1120px, calc(100% - 3rem));
  margin-right: auto;
  margin-left: auto;
}

body.home-preview-body .legal-hero {
  padding: clamp(4.25rem, 8vw, 6.25rem) 0 clamp(3rem, 6vw, 4.75rem);
  border-bottom: 1px solid var(--legal-line);
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(122, 111, 146, .11), transparent 56%),
    linear-gradient(180deg, #fff 0%, var(--legal-bg) 100%);
}

body.home-preview-body .legal-hero h1 {
  max-width: 760px;
  margin: 0 0 1rem;
  color: var(--legal-ink);
  font-size: clamp(2.35rem, 5.2vw, 4rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.02em;
}

body.home-preview-body .legal-hero p:not(.site-kicker) {
  max-width: 720px;
  margin: 0;
  color: var(--legal-muted);
  font-size: 1.08rem;
  line-height: 1.78;
}

body.home-preview-body .legal-meta {
  display: inline-flex;
  margin-top: 1.25rem;
  padding: .35rem .7rem;
  border: 1px solid var(--legal-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .7);
  color: var(--legal-muted);
  font-size: .82rem;
  line-height: 1.35;
}

body.home-preview-body .legal-section {
  padding: 2.5rem 0 5rem;
}

body.home-preview-body .legal-layout {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  gap: 3.5rem;
  align-items: start;
}

body.home-preview-body .legal-toc {
  position: sticky;
  top: 5.5rem;
  display: grid;
  gap: .35rem;
  padding: 1rem 0;
}

body.home-preview-body .legal-toc p {
  margin: 0 0 .45rem;
  color: var(--legal-muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}

body.home-preview-body .legal-toc a {
  display: block;
  padding: .42rem 0;
  color: var(--legal-muted);
  font-size: .88rem;
  line-height: 1.4;
  text-decoration: none;
  transition: color .2s ease;
}

body.home-preview-body .legal-toc a:hover {
  color: var(--home-preview-link, #7a6f92);
}

body.home-preview-body .legal-article {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

body.home-preview-body .legal-card {
  min-width: 0;
  max-width: 100%;
  padding: clamp(1.45rem, 3vw, 2.2rem);
  border: 1px solid var(--legal-line);
  border-radius: var(--legal-radius-lg);
  background: var(--legal-surface);
  box-shadow: var(--legal-shadow);
  overflow-wrap: anywhere;
}

body.home-preview-body .legal-card h2 {
  margin: 0 0 .9rem;
  color: var(--legal-ink);
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  font-weight: 600;
  line-height: 1.24;
  letter-spacing: -.01em;
}

body.home-preview-body .legal-card p,
body.home-preview-body .legal-card li {
  color: var(--legal-muted);
  font-size: 1rem;
  line-height: 1.78;
}

body.home-preview-body .legal-card p {
  margin: 0;
}

body.home-preview-body .legal-card p + p,
body.home-preview-body .legal-card ul + p,
body.home-preview-body .legal-card p + ul {
  margin-top: .9rem;
}

body.home-preview-body .legal-card ul {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding-left: 1.2rem;
}

body.home-preview-body .legal-card a {
  color: var(--home-preview-link, #7a6f92);
  font-weight: 500;
  text-decoration: none;
}

body.home-preview-body .legal-card a:hover {
  color: var(--home-preview-link-hover, #5f5472);
  text-decoration: underline;
  text-underline-offset: .15em;
}

body.home-preview-body .legal-table-wrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--legal-line);
  border-radius: var(--legal-radius);
  background: var(--legal-surface);
  -webkit-overflow-scrolling: touch;
}

body.home-preview-body .legal-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  color: var(--legal-muted);
  font-size: .94rem;
  line-height: 1.6;
}

body.home-preview-body .legal-table th,
body.home-preview-body .legal-table td {
  padding: .85rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--legal-line);
}

body.home-preview-body .legal-table thead th {
  background: var(--legal-surface-alt);
  color: var(--legal-ink);
  font-weight: 600;
}

body.home-preview-body .legal-table tbody tr:last-child td {
  border-bottom: 0;
}

@media screen and (max-width: 991px) {
  body.home-preview-body .legal-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  body.home-preview-body .legal-toc {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .85rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid var(--legal-line);
  }

  body.home-preview-body .legal-toc p {
    flex: 0 0 100%;
    margin-bottom: .2rem;
  }

  body.home-preview-body .legal-toc a {
    padding: .2rem 0;
  }
}

@media screen and (max-width: 767px) {
  body.home-preview-body .legal-container {
    width: min(1120px, calc(100% - 2rem));
  }

  body.home-preview-body .legal-hero {
    padding-top: 3.5rem;
  }

  body.home-preview-body .legal-card {
    border-radius: var(--legal-radius);
  }

  body.home-preview-body .legal-table {
    min-width: 34rem;
  }
}

/* Not found page */

body.home-preview-body .not-found-page {
  min-height: 70vh;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(122, 111, 146, .11), transparent 56%),
    linear-gradient(180deg, #fff 0%, var(--site-bg, #f5f5f7) 100%);
  color: var(--site-ink, #1d1d1f);
}

body.home-preview-body .not-found-section {
  padding: clamp(5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 7rem);
}

body.home-preview-body .not-found-shell {
  max-width: 720px;
}

body.home-preview-body .not-found-shell h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.6rem, 7vw, 5.5rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -.02em;
}

body.home-preview-body .not-found-shell p:not(.site-kicker) {
  max-width: 42rem;
  margin: 0 0 1.6rem;
  color: var(--site-muted, #6e6e73);
  font-size: 1.08rem;
  line-height: 1.75;
}

/* Inner page consistency pass: keep active community pages close to the homepage system. */

body.home-preview-body .news-page,
body.home-preview-body .events-page,
body.home-preview-body .projects-page,
body.home-preview-body .structure-page,
body.home-preview-body .learning-path-page {
  --inner-page-bg: var(--site-bg, #f5f5f7);
  --inner-page-surface: var(--site-surface, #fff);
  --inner-page-surface-alt: var(--site-surface-alt, #fbfbfd);
  --inner-page-ink: var(--site-ink, #1d1d1f);
  --inner-page-muted: var(--site-muted, #6e6e73);
  --inner-page-line: var(--site-line, rgba(29, 29, 31, .12));
  --inner-page-line-strong: var(--site-line-strong, rgba(29, 29, 31, .22));
  --inner-page-radius: var(--site-radius-md, 16px);
  --inner-page-radius-lg: var(--site-radius-lg, 22px);
  --inner-page-shadow: 0 1px 2px rgba(29, 29, 31, .035), 0 16px 44px rgba(29, 29, 31, .065);
  --inner-page-shadow-hover: 0 1px 2px rgba(29, 29, 31, .045), 0 22px 54px rgba(29, 29, 31, .09);
  background: var(--inner-page-bg);
  color: var(--inner-page-ink);
}

body.home-preview-body .news-page :is(.news-search-input, .news-sort-buttons, .news-issue-link, .news-featured-card, .news-issue-number, .news-issue-thumb, .news-empty),
body.home-preview-body .events-page :is(.events-search-input, .events-sort, .events-page-notice, .events-empty-state, .event-card, .event-archive-link, .event-meta-grid div),
body.home-preview-body .projects-page :is(.projects-search-input, .projects-sort, .projects-list, .projects-no-results, .projects-tile),
body.home-preview-body .structure-page :is(.structure-panel, .structure-pipeline, .structure-diagram-row, .structure-module-card, .structure-definition, .structure-principles, .structure-table-wrap),
body.home-preview-body .learning-path-card {
  border-color: var(--inner-page-line);
  border-radius: var(--inner-page-radius);
  background-color: var(--inner-page-surface);
}

body.home-preview-body .news-featured-card,
body.home-preview-body .events-hero-panel,
body.home-preview-body .events-empty-state,
body.home-preview-body .event-card,
body.home-preview-body .event-archive-link,
body.home-preview-body .projects-tile,
body.home-preview-body .structure-panel,
body.home-preview-body .structure-pipeline,
body.home-preview-body .learning-path-card {
  box-shadow: var(--inner-page-shadow);
}

body.home-preview-body .news-page .news-featured-card,
body.home-preview-body .events-page .events-hero-panel,
body.home-preview-body .events-page .events-empty-state,
body.home-preview-body .structure-page .structure-panel,
body.home-preview-body .structure-page .structure-pipeline {
  border-radius: var(--inner-page-radius-lg);
}

body.home-preview-body .news-featured-card:hover,
body.home-preview-body .news-issue-link:hover,
body.home-preview-body .event-archive-link:hover,
body.home-preview-body .projects-tile:hover,
body.home-preview-body .structure-module-card:hover,
body.home-preview-body .learning-path-card:hover {
  border-color: var(--inner-page-line-strong);
  box-shadow: var(--inner-page-shadow-hover);
}

body.home-preview-body .news-card-meta span,
body.home-preview-body .events-status-pill.is-soft,
body.home-preview-body .event-type-pill,
body.home-preview-body .structure-section-label,
body.home-preview-body .structure-badge,
body.home-preview-body .structure-diagram-question,
body.home-preview-body .structure-diagram-join span {
  border-color: var(--inner-page-line);
  border-radius: 999px;
  background: var(--inner-page-surface-alt);
  color: var(--inner-page-muted);
}

body.home-preview-body .news-search-input,
body.home-preview-body .events-search-input,
body.home-preview-body .projects-search-input {
  min-height: 2.9rem;
  border: 1px solid var(--inner-page-line);
  border-radius: 999px;
  background: var(--inner-page-surface);
  color: var(--inner-page-ink);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .72) inset;
}

body.home-preview-body .news-search-input:focus,
body.home-preview-body .events-search-input:focus,
body.home-preview-body .projects-search-input:focus {
  border-color: var(--home-preview-link, #7a6f92);
  background: var(--inner-page-surface);
  box-shadow: 0 0 0 3px var(--home-preview-link-soft, rgba(122, 111, 146, .14));
}

body.home-preview-body .news-search-icon,
body.home-preview-body .events-search-icon,
body.home-preview-body .projects-search-icon {
  color: var(--inner-page-muted);
  border-color: currentColor;
}

body.home-preview-body .news-search-icon::after,
body.home-preview-body .events-search-icon::after,
body.home-preview-body .projects-search-icon::after {
  background: currentColor;
}

body.home-preview-body .news-sort-buttons,
body.home-preview-body .events-sort,
body.home-preview-body .projects-sort,
body.home-preview-body .projects-segment {
  border: 0;
  border-radius: 999px;
  background: #e8e8ed;
}

body.home-preview-body .news-sort-button,
body.home-preview-body .events-sort-btn,
body.home-preview-body .projects-sort-btn,
body.home-preview-body .projects-segment-item {
  border-radius: 999px;
  color: var(--inner-page-muted);
}

body.home-preview-body .news-sort-button.is-active,
body.home-preview-body .events-sort-btn.is-active,
body.home-preview-body .projects-sort-btn.is-active {
  background: var(--inner-page-surface);
  color: var(--inner-page-ink);
  box-shadow: 0 1px 3px rgba(29, 29, 31, .08);
}

body.home-preview-body .news-toolbar,
body.home-preview-body .projects-toolbar,
body.home-preview-body .events-filter-row {
  border-color: var(--inner-page-line);
}

body.home-preview-body .news-issue-link {
  padding: 1rem;
  background: var(--inner-page-surface);
}

body.home-preview-body .news-issue-number,
body.home-preview-body .news-issue-thumb,
body.home-preview-body .news-issue-thumb-text {
  border-radius: 14px;
}

body.home-preview-body .news-issue-number {
  background: var(--inner-page-surface-alt);
}

body.home-preview-body .news-issue-thumb-text {
  border: 1px solid var(--inner-page-line);
  background:
    radial-gradient(circle at 20% 10%, rgba(55, 102, 84, .13), transparent 42%),
    linear-gradient(135deg, #fbfbfd 0%, #f2f3f5 100%);
  color: var(--inner-page-ink);
}

body.home-preview-body .news-issue-action {
  border-color: var(--inner-page-line);
  background: var(--inner-page-surface);
}

body.home-preview-body .events-page {
  --events-page-accent: var(--home-preview-blue, #416a85);
}

body.home-preview-body .events-page-notice,
body.home-preview-body .events-empty-state {
  border-radius: var(--inner-page-radius-lg);
}

body.home-preview-body .events-empty-featured {
  border-color: rgba(122, 111, 146, .18);
  background:
    radial-gradient(circle at 0 0, rgba(122, 111, 146, .09), transparent 42%),
    var(--inner-page-surface);
}

body.home-preview-body .events-status-pill {
  background: var(--inner-page-ink);
  color: #fff;
}

body.home-preview-body .events-status-pill.is-soft {
  background: var(--home-preview-link-soft, rgba(122, 111, 146, .14));
  color: var(--home-preview-link-hover, #5f5472);
}

body.home-preview-body .events-status-pill.is-muted {
  background: #e8e8ed;
  color: var(--inner-page-muted);
}

body.home-preview-body .event-card {
  border-radius: var(--inner-page-radius-lg);
}

body.home-preview-body .event-timeline-node {
  border-color: var(--events-page-accent);
  background: var(--inner-page-bg);
}

body.home-preview-body .event-timeline-item:not(:last-child)::after {
  background: var(--inner-page-line);
}

body.home-preview-body .event-timeline-item.is-featured .event-timeline-node {
  border-color: var(--home-preview-link, #7a6f92);
  background: var(--home-preview-link-soft, rgba(122, 111, 146, .14));
  box-shadow: 0 0 0 8px rgba(122, 111, 146, .08);
}

body.home-preview-body .event-meta-grid div {
  background: var(--inner-page-surface-alt);
}

body.home-preview-body .event-archive-link {
  border-radius: var(--inner-page-radius);
}

body.home-preview-body .event-archive-date {
  border-radius: 14px;
  background: var(--inner-page-ink);
}

body.home-preview-body .events-filter-button {
  border-color: var(--inner-page-line);
  background: var(--inner-page-surface);
  color: var(--inner-page-ink);
}

body.home-preview-body .events-filter-button:hover,
body.home-preview-body .events-filter-button.is-active {
  border-color: var(--inner-page-ink);
  background: var(--inner-page-ink);
  color: #fff;
}

body.home-preview-body .projects-page {
  --projects-line: var(--inner-page-line);
  --projects-fill: #e8e8ed;
  --projects-radius: var(--inner-page-radius);
  --projects-radius-pill: 999px;
  color: var(--inner-page-ink);
}

body.home-preview-body .projects-list-section,
body.home-preview-body .projects-start-section {
  padding-top: var(--site-section-y);
  padding-bottom: var(--site-section-y);
}

body.home-preview-body .projects-list {
  border-radius: var(--inner-page-radius);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .72) inset;
}

body.home-preview-body .projects-no-results,
body.home-preview-body .projects-empty {
  border-radius: var(--inner-page-radius);
  background: rgba(255, 255, 255, .58);
}

body.home-preview-body .projects-tile {
  border-radius: var(--inner-page-radius);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.home-preview-body .projects-tile:hover {
  transform: translateY(-2px);
}

body.home-preview-body .structure-page {
  --structure-line: var(--inner-page-line);
  --structure-shadow: var(--inner-page-shadow);
  --structure-radius: var(--inner-page-radius);
  --structure-radius-lg: var(--inner-page-radius-lg);
}

body.home-preview-body .structure-section-label {
  padding: .28rem .7rem;
}

body.home-preview-body .structure-module-card,
body.home-preview-body .structure-diagram-row,
body.home-preview-body .structure-definition {
  box-shadow: 0 1px 0 rgba(255, 255, 255, .72) inset;
}

body.home-preview-body .structure-panel--alt,
body.home-preview-body .structure-diagram-meta,
body.home-preview-body .structure-diagram-split-item {
  background: var(--inner-page-surface-alt);
}

body.home-preview-body .structure-principles,
body.home-preview-body .structure-table-wrap {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  body.home-preview-body .structure-hero {
    width: auto;
    margin-right: 0;
    margin-left: 0;
  }

  body.home-preview-body .structure-hero-inner,
  body.home-preview-body .structure-shell {
    width: min(1120px, calc(100% - 2rem));
    margin-right: auto;
    margin-left: auto;
  }

  body.home-preview-body .structure-hero-title,
  body.home-preview-body .structure-hero-desc,
  body.home-preview-body .structure-section-title,
  body.home-preview-body .structure-text,
  body.home-preview-body .structure-section-lead {
    overflow-wrap: anywhere;
  }

  body.home-preview-body .news-issue-link,
  body.home-preview-body .event-card,
  body.home-preview-body .events-empty-state,
  body.home-preview-body .event-archive-link,
  body.home-preview-body .projects-tile,
  body.home-preview-body .structure-panel {
    border-radius: var(--inner-page-radius);
  }
}

/* Contributors thanks page */

body.home-preview-body .contributors-thanks-page {
  --thanks-bg: #f6f4f0;
  --thanks-ink: #1d1d1f;
  --thanks-muted: #6e6e73;
  --thanks-line: rgba(29, 29, 31, .1);
  --thanks-accent: #7a6f92;
  --thanks-gold: #8a7355;
  background: var(--thanks-bg);
  color: var(--thanks-ink);
}

body.home-preview-body .contributors-thanks-page [id] {
  scroll-margin-top: 5.5rem;
}

body.home-preview-body .thanks-hero {
  padding: clamp(3.5rem, 8vw, 6rem) 0 clamp(2.5rem, 5vw, 3.5rem);
  background:
    radial-gradient(ellipse 90% 70% at 50% -10%, rgba(122, 111, 146, .14), transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--thanks-bg) 100%);
  border-bottom: 1px solid var(--thanks-line);
}

body.home-preview-body .thanks-hero-inner {
  max-width: 40rem;
}

body.home-preview-body .thanks-hero-eyebrow {
  margin: 0 0 .75rem;
  color: var(--thanks-muted);
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.home-preview-body .thanks-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.1rem, 5vw, 3.25rem);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.08;
}

body.home-preview-body .thanks-hero-lead {
  margin: 0;
  max-width: 36em;
  color: var(--thanks-muted);
  font-size: 1.05rem;
  line-height: 1.72;
}

body.home-preview-body .thanks-hero-rules {
  margin: 1.35rem 0 0;
  color: var(--thanks-muted);
  font-size: .92rem;
}

body.home-preview-body .thanks-hero-rules a {
  color: var(--thanks-accent);
  font-weight: 500;
  text-decoration: none;
}

body.home-preview-body .thanks-hero-rules a:hover {
  text-decoration: underline;
}

body.home-preview-body .thanks-hero-rules span {
  margin: 0 .45rem;
  opacity: .45;
}

body.home-preview-body .thanks-body {
  padding: clamp(2rem, 4vw, 3rem) 0 clamp(4rem, 8vw, 5rem);
}

body.home-preview-body .thanks-body-inner {
  max-width: 52rem;
}

body.home-preview-body .thanks-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 2.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--thanks-line);
}

body.home-preview-body .thanks-toolbar-title {
  display: block;
  margin-bottom: .25rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--thanks-muted);
}

body.home-preview-body .thanks-year-note {
  color: var(--thanks-muted);
  font-size: .88rem;
}

body.home-preview-body .thanks-year-picker {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .3rem;
  padding: .2rem;
  border-radius: 999px;
  background: rgba(29, 29, 31, .06);
}

body.home-preview-body .thanks-year-btn {
  min-width: 3.25rem;
  padding: .45rem .85rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--thanks-muted);
  font: inherit;
  font-size: .9rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

body.home-preview-body .thanks-year-btn.is-active {
  background: var(--thanks-ink);
  color: #fff;
}

body.home-preview-body .thanks-year-btn:focus-visible {
  outline: 2px solid var(--thanks-accent);
  outline-offset: 2px;
}

body.home-preview-body .thanks-tier + .thanks-tier {
  margin-top: 2.75rem;
}

body.home-preview-body .thanks-tier-head {
  margin-bottom: 1.1rem;
}

body.home-preview-body .thanks-tier-title {
  margin: 0 0 .35rem;
  font-size: clamp(1.25rem, 2.5vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -.02em;
}

body.home-preview-body .thanks-tier-desc {
  margin: 0;
  color: var(--thanks-muted);
  font-size: .9rem;
  line-height: 1.55;
}

body.home-preview-body .thanks-annual-grid {
  display: grid;
  gap: .85rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
}

body.home-preview-body .thanks-annual-card {
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(138, 115, 85, .22);
  border-radius: 14px;
  background: linear-gradient(145deg, #fff 0%, #faf7f2 100%);
  box-shadow: 0 1px 0 #fff inset;
}

body.home-preview-body .thanks-annual-name {
  margin: 0 0 .35rem;
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.25;
}

body.home-preview-body .thanks-annual-meta {
  margin: 0 0 .5rem;
  color: var(--thanks-gold);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .04em;
}

body.home-preview-body .thanks-annual-note {
  margin: 0;
  color: var(--thanks-muted);
  font-size: .84rem;
  line-height: 1.55;
}

body.home-preview-body .thanks-contributors-grid {
  display: grid;
  gap: .4rem .55rem;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
}

body.home-preview-body .thanks-contributor-chip {
  display: flex;
  flex-direction: column;
  gap: .12rem;
  padding: .45rem .6rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid var(--thanks-line);
  line-height: 1.25;
}

body.home-preview-body .thanks-contributor-name {
  font-size: .86rem;
  font-weight: 500;
  color: var(--thanks-ink);
}

body.home-preview-body .thanks-contributor-project {
  font-size: .72rem;
  color: var(--thanks-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.home-preview-body .thanks-tier-empty {
  margin: 0;
  padding: 1rem 1.1rem;
  border-radius: 10px;
  background: rgba(29, 29, 31, .04);
  color: var(--thanks-muted);
  font-size: .9rem;
  text-align: center;
}

body.home-preview-body .thanks-tier-empty[hidden] {
  display: none;
}

body.home-preview-body .structure-main--solo {
  max-width: 44rem;
  margin: 0 auto;
}

body.home-preview-body .contributors-thanks-page :is(.thanks-hero-rules a) {
  color: var(--home-preview-link, var(--thanks-accent));
}

@media screen and (max-width: 767px) {
  body.home-preview-body .thanks-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  body.home-preview-body .thanks-contributors-grid {
    grid-template-columns: repeat(auto-fill, minmax(8.25rem, 1fr));
  }
}

/* Partners roster page (Apple-style portrait grid) */

body.home-preview-body .partners-roster-page {
  --roster-bg: #f5f5f7;
  --roster-ink: #1d1d1f;
  --roster-muted: #86868b;
  --roster-accent: #416a85;
  background: var(--roster-bg);
  color: var(--roster-ink);
}

body.home-preview-body .partners-roster-hero {
  padding: clamp(2.5rem, 6vw, 4.5rem) 1.25rem clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  background: linear-gradient(180deg, #fff 0%, var(--roster-bg) 100%);
}

body.home-preview-body .partners-roster-hero-inner {
  max-width: 40rem;
  margin: 0 auto;
}

body.home-preview-body .partners-roster-eyebrow {
  margin: 0 0 .5rem;
  color: var(--roster-muted);
  font-size: .8rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.home-preview-body .partners-roster-hero h1 {
  margin: 0 0 .65rem;
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 600;
  letter-spacing: -.03em;
  line-height: 1.08;
}

body.home-preview-body .partners-roster-lead {
  margin: 0;
  color: var(--roster-muted);
  font-size: clamp(1rem, 2vw, 1.12rem);
  line-height: 1.5;
  font-weight: 400;
}

body.home-preview-body .partners-roster-section {
  padding: 0 clamp(1rem, 4vw, 2.5rem) clamp(3rem, 8vw, 5rem);
  max-width: 72rem;
  margin: 0 auto;
}

body.home-preview-body .partners-roster-grid {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem) clamp(.75rem, 2vw, 1.25rem);
  grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (min-width: 768px) {
  body.home-preview-body .partners-roster-grid {
    grid-template-columns: repeat(auto-fill, minmax(8.75rem, 1fr));
  }
}

@media screen and (min-width: 1068px) {
  body.home-preview-body .partners-roster-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}

body.home-preview-body .partners-roster-item {
  margin: 0;
}

body.home-preview-body .partners-roster-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  color: inherit;
  text-decoration: none;
  text-align: center;
}

body.home-preview-body a.partners-roster-link:hover .partners-roster-portrait {
  transform: scale(1.02);
}

body.home-preview-body a.partners-roster-link:hover .partners-roster-name {
  color: var(--roster-accent);
}

body.home-preview-body .partners-roster-portrait {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  background: #e8e8ed;
  transition: transform .35s cubic-bezier(.25, .1, .25, 1);
}

body.home-preview-body .partners-roster-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.home-preview-body .partners-roster-initial {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(160deg, #5a7d94 0%, #416a85 100%);
  color: #fff;
  font-size: clamp(1.75rem, 5vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -.02em;
}

body.home-preview-body .partners-roster-name {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.25;
  transition: color .2s ease;
}

body.home-preview-body .partners-roster-role {
  display: block;
  margin-top: -.25rem;
  color: var(--roster-muted);
  font-size: .7rem;
  line-height: 1.3;
}

body.home-preview-body .partners-roster-desc {
  display: none;
}

body.home-preview-body .partners-roster-empty {
  margin: 2rem 0 0;
  text-align: center;
  color: var(--roster-muted);
  font-size: .95rem;
}

body.home-preview-body .partners-roster-empty[hidden] {
  display: none;
}

body.home-preview-body .partners-roster-foot {
  max-width: 36rem;
  margin: clamp(2.5rem, 6vw, 4rem) auto 0;
  text-align: center;
}

body.home-preview-body .partners-roster-note,
body.home-preview-body .partners-roster-links {
  margin: 0;
  color: var(--roster-muted);
  font-size: .82rem;
  line-height: 1.55;
}

body.home-preview-body .partners-roster-links {
  margin-top: .75rem;
}

body.home-preview-body .partners-roster-page :is(.partners-roster-note a, .partners-roster-links a) {
  color: var(--roster-accent);
  text-decoration: none;
}

body.home-preview-body .partners-roster-page :is(.partners-roster-note a:hover, .partners-roster-links a:hover) {
  text-decoration: underline;
}

body.home-preview-body .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
