/* Croprix 媒体包 · press.css — 三个页面共用（index / boilerplate / partner-logo-terms）；只引用 tokens.css 的 --cx-* 变量。 */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  color-scheme: light dark;
  -webkit-text-size-adjust: 100%;
}
html[data-theme="light"] {
  color-scheme: light;
}
html[data-theme="dark"] {
  color-scheme: dark;
}
body {
  margin: 0;
  background: var(--cx-color-bg);
  color: var(--cx-color-fg);
  font-family: var(--cx-font-family-sans), var(--cx-font-family-cjk);
  font-size: var(--cx-font-size-md);
  line-height: var(--cx-line-height-cjk-md);
  font-variant-numeric: tabular-nums;
}
h1,
h2,
h3 {
  color: var(--cx-color-brand);
  font-weight: var(--cx-font-weight-semibold);
  letter-spacing: var(--cx-letter-spacing-heading);
  line-height: 1.3;
  margin: 0;
}
h1 {
  font-size: var(--cx-font-size-3xl);
}
h2 {
  font-size: var(--cx-font-size-2xl);
}
h3 {
  font-size: var(--cx-font-size-lg);
}
h1 .en,
h2 .en {
  display: block;
  font-size: 0.5em;
  font-weight: var(--cx-font-weight-medium);
  color: var(--cx-color-fg-muted);
  letter-spacing: 0;
  margin-top: var(--cx-space-1);
}
p {
  margin: 0 0 var(--cx-space-4);
}
ul,
ol {
  margin: 0 0 var(--cx-space-4);
  padding-inline-start: 1.4em;
}
li {
  margin-bottom: var(--cx-space-1);
}
a {
  color: var(--cx-color-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}
a:hover {
  color: var(--cx-color-accent);
}
a:focus-visible,
button:focus-visible {
  outline: var(--cx-border-width-thick) solid var(--cx-color-accent);
  outline-offset: 2px;
}
code,
.mono {
  font-family: var(--cx-font-family-mono);
  font-size: 0.92em;
}
code {
  background: var(--cx-color-bg-sunken);
  padding: 0 var(--cx-space-1);
  border-radius: var(--cx-radius-xs);
}
img {
  max-width: 100%;
  height: auto;
}
.container {
  width: 100%;
  max-width: var(--cx-container-lg);
  margin-inline: auto;
  padding-inline: var(--cx-container-margin-sm);
}
@media (min-width: 768px) {
  .container {
    padding-inline: var(--cx-container-margin-md);
  }
}
@media (min-width: 1024px) {
  .container {
    padding-inline: var(--cx-container-margin-lg);
  }
}

.cx-header {
  position: sticky;
  top: 0;
  z-index: var(--cx-z-sticky);
  background: var(--cx-color-bg-raised);
  border-bottom: var(--cx-border-width-hairline) solid var(--cx-color-border);
}
.cx-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--cx-space-4);
  min-height: var(--cx-space-16);
}
.cx-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--cx-space-2);
  color: var(--cx-color-brand);
  text-decoration: none;
  font-weight: var(--cx-font-weight-semibold);
}
.cx-header__brand small {
  display: block;
  font-size: var(--cx-font-size-xs);
  color: var(--cx-color-fg-muted);
  font-weight: var(--cx-font-weight-regular);
}
.cx-nav {
  display: none;
  gap: var(--cx-space-4);
  font-size: var(--cx-font-size-sm);
}
.cx-nav a {
  color: var(--cx-color-fg-muted);
  text-decoration: none;
}
.cx-nav a:hover {
  color: var(--cx-color-accent);
}
@media (min-width: 768px) {
  .cx-nav {
    display: flex;
  }
}
.cx-theme {
  display: inline-flex;
  align-items: center;
  gap: var(--cx-space-2);
  border: var(--cx-border-width-hairline) solid var(--cx-color-border-strong);
  background: transparent;
  color: var(--cx-color-fg);
  border-radius: var(--cx-radius-sm);
  padding: var(--cx-space-1) var(--cx-space-3);
  font: inherit;
  font-size: var(--cx-font-size-sm);
  cursor: pointer;
}
.cx-theme__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--cx-color-accent);
}
html[data-theme="light"] .when-dark,
html[data-theme="dark"] .when-light {
  display: none;
}

.cx-hero {
  padding-block: var(--cx-space-16) var(--cx-space-10);
  position: relative;
}
.cx-hero__arc {
  width: 72px;
  height: 72px;
  color: var(--cx-color-accent);
  margin-bottom: var(--cx-space-4);
}
.eyebrow {
  font-size: var(--cx-font-size-xs);
  font-weight: var(--cx-font-weight-semibold);
  letter-spacing: var(--cx-letter-spacing-caps);
  text-transform: uppercase;
  color: var(--cx-color-accent);
  margin-bottom: var(--cx-space-2);
}
.lead {
  font-size: var(--cx-font-size-lg);
  color: var(--cx-color-fg-muted);
  max-width: 60ch;
  margin-top: var(--cx-space-4);
}
.cx-section {
  padding-block: var(--cx-space-10);
  border-top: var(--cx-border-width-hairline) solid var(--cx-color-border);
}
.cx-section h2 {
  margin-bottom: var(--cx-space-6);
}
.cx-section h2 .num {
  color: var(--cx-color-accent);
  margin-inline-end: var(--cx-space-3);
  font-variant-numeric: tabular-nums;
}
.grid {
  display: grid;
  gap: var(--cx-space-6);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .grid-2,
  .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.card {
  background: var(--cx-color-bg-raised);
  border: var(--cx-border-width-hairline) solid var(--cx-color-border);
  border-radius: var(--cx-radius-lg);
  padding: var(--cx-space-6);
}
.card h3 {
  margin-bottom: var(--cx-space-3);
}
.mb-0 {
  margin-bottom: 0;
}

.logo-card {
  display: flex;
  flex-direction: column;
  border: var(--cx-border-width-hairline) solid var(--cx-color-border);
  border-radius: var(--cx-radius-lg);
  overflow: hidden;
  background: var(--cx-color-bg-raised);
}
.logo-card__stage {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: var(--cx-space-8);
  background: #ffffff;
}
.logo-card__stage img {
  width: 200px;
  height: auto;
}
.logo-card__stage img.sym {
  width: 96px;
}
.logo-card--dark .logo-card__stage {
  background: var(--cx-color-navy-900);
}
.logo-card--black .logo-card__stage {
  background: var(--cx-color-sand-50);
}
.logo-card--photo .logo-card__stage {
  background: var(--cx-color-soil-700);
}
.logo-card__meta {
  padding: var(--cx-space-4) var(--cx-space-5);
  font-size: var(--cx-font-size-sm);
  border-top: var(--cx-border-width-hairline) solid var(--cx-color-border);
}
.logo-card__meta strong {
  display: block;
  color: var(--cx-color-brand);
  margin-bottom: var(--cx-space-1);
}
.logo-card__meta p {
  color: var(--cx-color-fg-muted);
  margin-bottom: var(--cx-space-2);
}
.dl {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cx-space-2);
}
.dl a {
  display: inline-block;
  padding: 2px var(--cx-space-2);
  border: var(--cx-border-width-hairline) solid var(--cx-color-border-strong);
  border-radius: var(--cx-radius-sm);
  text-decoration: none;
  font-size: var(--cx-font-size-xs);
  font-family: var(--cx-font-family-mono);
  color: var(--cx-color-fg);
}
.dl a:hover {
  border-color: var(--cx-color-accent);
  color: var(--cx-color-accent);
}

.swatch {
  border-radius: var(--cx-radius-lg);
  overflow: hidden;
  border: var(--cx-border-width-hairline) solid var(--cx-color-border);
}
.swatch__chip {
  height: 120px;
}
.swatch__meta {
  padding: var(--cx-space-4) var(--cx-space-5);
  background: var(--cx-color-bg-raised);
  font-size: var(--cx-font-size-sm);
}
.swatch__meta strong {
  display: block;
  color: var(--cx-color-brand);
  font-size: var(--cx-font-size-md);
}
.swatch__meta dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px var(--cx-space-4);
  margin: var(--cx-space-2) 0 0;
}
.swatch__meta dt {
  color: var(--cx-color-fg-muted);
}
.swatch__meta dd {
  margin: 0;
  font-family: var(--cx-font-family-mono);
}

.boiler {
  position: relative;
}
.boiler h3 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--cx-space-3);
}
.boiler h3 small {
  font-weight: var(--cx-font-weight-regular);
  color: var(--cx-color-fg-muted);
  font-size: var(--cx-font-size-xs);
}
.boiler p {
  margin-bottom: var(--cx-space-3);
}
.boiler p:lang(en) {
  line-height: 1.6;
}
.copy {
  font: inherit;
  font-size: var(--cx-font-size-xs);
  border: var(--cx-border-width-hairline) solid var(--cx-color-border-strong);
  background: transparent;
  color: var(--cx-color-fg);
  border-radius: var(--cx-radius-sm);
  padding: 2px var(--cx-space-2);
  cursor: pointer;
}
.copy:hover {
  border-color: var(--cx-color-accent);
  color: var(--cx-color-accent);
}

.note {
  border: var(--cx-border-width-hairline) solid var(--cx-color-border);
  border-left: var(--cx-border-width-thick) solid var(--cx-color-accent);
  border-radius: var(--cx-radius-md);
  padding: var(--cx-space-3) var(--cx-space-4);
  background: var(--cx-color-bg-raised);
  font-size: var(--cx-font-size-sm);
}
.cx-footer {
  border-top: var(--cx-border-width-hairline) solid var(--cx-color-border);
  padding-block: var(--cx-space-8);
  font-size: var(--cx-font-size-sm);
  color: var(--cx-color-fg-muted);
}
.cx-footer .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--cx-space-4);
  align-items: center;
}
.foot-logo {
  height: 20px;
  width: auto;
  vertical-align: middle;
  margin-inline-end: var(--cx-space-2);
}
html[data-theme="dark"] .foot-logo--light,
html[data-theme="light"] .foot-logo--dark {
  display: none;
}

/* 条款页（partner-logo-terms.html） */
.terms-intro {
  max-width: 70ch;
  color: var(--cx-color-fg);
  margin-top: var(--cx-space-4);
}
.terms ol {
  max-width: 72ch;
  padding-inline-start: 1.6em;
}
.terms li {
  margin-bottom: var(--cx-space-3);
}
.terms li::marker {
  color: var(--cx-color-fg-muted);
  font-variant-numeric: tabular-nums;
}
.terms .note {
  max-width: 72ch;
}
