/* Shared public-facing layer: a readable repository, not a product sales site. */
body.public-site {
  background: #f4f3ee;
  color: #171715;
}

.public-site .wi-nav {
  border-bottom-color: #d9d7cf;
  background: rgba(250, 249, 245, .94);
}

.public-site .wi-logo__wordmark-main { font-size: 15px; color: #171715; }
.public-site .wi-logo__wordmark-sub { color: #77736c; font-size: 8px; letter-spacing: 1.25px; }
.public-site .wi-nav__link { font-size: 12.5px; }
.public-site .wi-nav__link.is-active { background: #e7e4da; color: #111; }
.public-site .wi-nav__btn-primary { background: #171715; }
.public-site .wi-nav__btn-primary:hover { background: #b88931; }
.public-site .page-heading .eyebrow { color: #77736c; }
.public-site .segmented a.is-active,
.public-site .segmented button.is-active { background: #171715; border-color: #171715; color: #fff; }
.public-site .provider-table .rank { color: #171715; }
.public-site .provider-table td a,
.public-site .post-card__readmore { color: #171715; text-decoration: underline; text-underline-offset: 3px; }
.public-site .post-card__title a:hover,
.public-site .post-card__readmore:hover { color: #8f6b28; }
.public-site .post-card__cat { color: #8f6b28; }
.public-site .locked-notice > span { color: #d8a84e; }

.public-hero {
  background: #fff;
  color: #171715;
  padding: clamp(64px, 9vw, 116px) 0 clamp(58px, 8vw, 96px);
  border-bottom: 1px solid #d9d7cf;
  position: relative;
  overflow: hidden;
}

.public-hero::after {
  content: "";
  position: absolute;
  width: min(52vw, 700px);
  aspect-ratio: 1;
  top: -50%;
  right: -15%;
  border: 1px solid rgba(216, 168, 78, .34);
  border-radius: 50%;
  box-shadow: 0 0 0 62px rgba(216, 168, 78, .05), 0 0 0 126px rgba(216, 168, 78, .03);
  pointer-events: none;
}

.public-hero .container { position: relative; z-index: 1; }
.public-hero .eyebrow { color: #77736c; }
.public-hero h1 { max-width: 860px; color: #171715; font-size: clamp(44px, 6.5vw, 76px); line-height: .99; letter-spacing: -2.6px; margin: 16px 0 22px; }
.public-hero h1 em { color: #605e58; font-weight: 400; }
.public-hero p { max-width: 660px; margin: 0; color: #605e58; font-size: 17px; line-height: 1.7; }
.public-hero__meta { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 34px; color: #77736c; font-size: 11px; letter-spacing: .3px; }
.public-hero__meta strong { color: #171715; font-weight: 700; }

.public-section { padding: clamp(54px, 7vw, 94px) 0; }
.public-section--paper { background: #fff; border-top: 1px solid #d9d7cf; border-bottom: 1px solid #d9d7cf; }
.public-section--ink { background: #171715; color: #fff; }
.public-section--ink h2 { color: #fff; }
.public-section--ink p { color: #d4d1c7; }
.public-section__intro { max-width: 720px; margin-bottom: 40px; }
.public-section__intro .eyebrow { color: #8f6b28; }
.public-section__intro h2 { font-size: clamp(31px, 4vw, 48px); line-height: 1.08; letter-spacing: -1.4px; margin: 10px 0 13px; }
.public-section__intro p { color: #605e58; line-height: 1.7; max-width: 650px; }

.public-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #d9d7cf; border: 1px solid #d9d7cf; }
.public-card { background: #fff; padding: 29px 27px; min-height: 208px; }
.public-card__number { display: block; color: #a47b2d; font: 600 24px var(--font-serif); margin-bottom: 20px; }
.public-card h3 { font-size: 19px; margin: 0 0 9px; }
.public-card p { color: #65625c; font-size: 13px; line-height: 1.65; margin: 0; }

.founder-section { background: #f4f3ee; border-top: 1px solid #d9d7cf; border-bottom: 1px solid #d9d7cf; }
.founder-profile {
  display: grid;
  grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr);
  align-items: center;
  gap: clamp(42px, 8vw, 112px);
  max-width: 1080px;
  margin: 0 auto;
}
.founder-profile__portrait-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.founder-profile__portrait {
  width: clamp(158px, 18vw, 218px);
  aspect-ratio: 1;
  padding: 8px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #b88931;
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(184, 137, 49, .12), 0 16px 34px rgba(23, 23, 21, .12);
}
.founder-profile__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 38%;
}
.founder-profile__portrait-note {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 22px;
  color: #77736c;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.5px;
  line-height: 1.35;
  text-transform: uppercase;
}
.founder-profile__portrait-note span:first-child { color: #8f6b28; }
.founder-profile__copy { max-width: 700px; }
.founder-profile__copy .eyebrow { color: #8f6b28; }
.founder-profile__copy h2 {
  max-width: 680px;
  font-size: clamp(31px, 4vw, 50px);
  line-height: 1.08;
  letter-spacing: -1.4px;
  margin: 10px 0 18px;
}
.founder-profile__copy p {
  color: #605e58;
  line-height: 1.75;
  max-width: 620px;
}
.founder-profile__copy p + p { margin-top: 14px; }
.founder-profile__copy strong { color: #171715; font-weight: 600; }
.founder-profile__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 26px;
  margin-top: 27px;
}
.founder-profile__links a {
  color: #171715;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #b88931;
  text-underline-offset: 4px;
}
.founder-profile__links a:hover { color: #8f6b28; }
.founder-profile__links span { color: #a47b2d; margin-left: 3px; }

.public-guide { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); border-top: 1px solid #d9d7cf; }
.public-guide__title { padding: 24px 24px 24px 0; font: 600 20px var(--font-serif); }
.public-guide__copy { padding: 24px 0; border-left: 1px solid #d9d7cf; padding-left: 28px; color: #605e58; font-size: 14px; line-height: 1.7; }
.public-guide + .public-guide { border-top-color: #e4e2da; }

.public-dataset-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.public-dataset-card { background: #fff; border: 1px solid #d9d7cf; padding: 25px; }
.public-dataset-card__top { display: flex; justify-content: space-between; gap: 15px; color: #807c73; font-size: 10px; letter-spacing: 1px; text-transform: uppercase; }
.public-dataset-card__top b { color: #171715; }
.public-dataset-card h3 { margin: 30px 0 18px; font-size: 26px; }
.public-dataset-card dl { border-top: 1px solid #e4e2da; margin: 0; }
.public-dataset-card dl div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid #e4e2da; font-size: 12px; }
.public-dataset-card dt { color: #77736c; }
.public-dataset-card dd { margin: 0; font-weight: 700; text-align: right; }

.public-boundary { display: flex; justify-content: space-between; align-items: end; gap: 35px; }
.public-boundary h2 { max-width: 600px; margin: 10px 0 0; font-size: clamp(28px, 3.5vw, 42px); }
.public-boundary .eyebrow { color: #d8a84e; }
.public-boundary .btn { flex: 0 0 auto; }

.public-site .wi-footer { background: #171715; border-top: 4px solid #d8a84e; }
.public-site .wi-footer__wordmark-main { color: #fff; }
.public-site .wi-footer__wordmark-sub { color: #b9b4a8; }

.public-site.repository-home .repository-home-intro { position: relative; overflow: hidden; background: #fff; border-bottom-color: #d9d7cf; }
.public-site.repository-home .repository-home-intro::after { content: ""; position: absolute; width: min(54vw, 720px); aspect-ratio: 1; top: -54%; right: -10%; border: 1px solid rgba(216, 168, 78, .34); border-radius: 50%; box-shadow: 0 0 0 62px rgba(216, 168, 78, .05), 0 0 0 126px rgba(216, 168, 78, .03); pointer-events: none; }
.public-site.repository-home .repository-home-intro > .container { position: relative; z-index: 1; }
.public-site.repository-home .repository-heading__top .eyebrow { color: #77736c; }
.public-site.repository-home .repository-heading__top .eyebrow::after { content: ""; display: inline-block; width: 28px; height: 1px; margin: 0 0 3px 10px; background: #77736c; }
.public-site.repository-home .repository-home-facts { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(210px, 1.15fr); }
.public-site.repository-home .repository-home-fact { min-width: 0; }
.public-site.repository-home .repository-home-fact--link { text-align: left; }

.public-site .page-hero { background: #fff; color: #171715; padding: 86px 0 92px; border-bottom: 1px solid #d9d7cf; }
.public-site .page-hero::before { background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .98)); }
.public-site .page-hero::after { top: -390px; right: -120px; bottom: auto; left: auto; width: 620px; height: 620px; background: none; border: 1px solid rgba(216, 168, 78, .34); border-radius: 50%; box-shadow: 0 0 0 62px rgba(216, 168, 78, .05), 0 0 0 126px rgba(216, 168, 78, .03); }
.public-site .page-hero-inner { max-width: 1220px; text-align: left; padding: 0 28px; }
.public-site .page-hero h1 { max-width: 850px; color: #171715; }
.public-site .page-hero h1 em { color: #605e58; }
.public-site .page-hero p { margin: 0; max-width: 690px; color: #605e58; }
.public-site .hero-stats { justify-content: flex-start; gap: 58px; }
.public-site .page-eyebrow { color: #77736c; }
.public-site .category-desc { text-align: left; max-width: 520px; }

@media (max-width: 900px) {
  .public-grid, .public-dataset-grid { grid-template-columns: 1fr; }
  .founder-profile { grid-template-columns: 1fr; }
  .founder-profile__portrait { width: clamp(158px, 30vw, 205px); }
  .founder-profile__portrait-wrap { margin-bottom: 4px; }
  .founder-profile__copy { max-width: 700px; }
  .public-guide { grid-template-columns: 1fr; }
  .public-guide__title { padding-bottom: 8px; }
  .public-guide__copy { border-left: 0; padding: 0 0 24px; }
  .public-site.repository-home .repository-home-facts { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .public-hero h1 { letter-spacing: -1.7px; }
  .public-boundary { align-items: flex-start; flex-direction: column; }
  .public-site.repository-home .repository-home-intro::after { width: 520px; top: -15%; right: -52%; }
  .public-site.repository-home .repository-home-facts { grid-template-columns: 1fr; }
  .public-site .page-hero { padding: 56px 0 60px; }
  .public-site .page-hero-inner { padding: 0 22px; }
  .public-site .hero-stats { gap: 28px; flex-wrap: wrap; }
}