/* BUF Aminos Page: scoped to the research-aminos-guide template. Serif = system editorial stack; sans = theme Inter. */
.page-template-page-research-aminos-guide .buf-article-guide { max-width: 1180px; margin: 0 auto; padding: 0 20px 64px; }
.page-template-page-research-aminos-guide .buf-article-head, .page-template-page-research-aminos-guide .buf-article-hero { display: none; }
.page-template-page-research-aminos-guide .buf-article-body { max-width: none; }
.page-template-page-research-aminos-guide .buf-article-body > * { display: none; }
.page-template-page-research-aminos-guide .buf-article-body > .buf-am { display: block; }
.page-template-page-research-aminos-guide .buf-article-foot { max-width: 1180px; margin: 32px auto 0; }

.buf-am { --serif: Georgia, "Times New Roman", "Iowan Old Style", serif; --sans: var(--ff-body, Inter, sans-serif); color: var(--buf-ink, #14140F); }
.buf-am p, .buf-am li { font-family: var(--sans); font-size: 16.5px; line-height: 1.6; color: var(--buf-ink-2, #3C3C36); }
.buf-am strong { color: var(--buf-ink, #14140F); }
.page-template-page-research-aminos-guide .buf-article-body .buf-am h2 { font-family: var(--serif); font-weight: 700; letter-spacing: -.015em; line-height: 1.08; font-size: clamp(1.7rem, 2.5vw, 2.15rem); color: var(--buf-ink, #14140F); margin: 0 0 14px; }
.buf-am__eyebrow { display: inline-flex; align-items: center; gap: 14px; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: var(--buf-ink, #14140F); margin: 0 0 16px; }
.buf-am__eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--buf-red, #E30613); }
.buf-am__micro { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--buf-ink, #14140F); line-height: 1.95; margin: 0; }
.buf-am__micro::after { content: ""; display: block; width: 32px; height: 2px; background: var(--buf-red, #E30613); margin-top: 10px; }
.buf-am__fine { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--buf-mute, #6B6B62); margin: 0 0 12px; }

/* Hero */
.buf-am-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; padding: 40px 0 28px; overflow: hidden; }
.page-template-page-research-aminos-guide .buf-article-body .buf-am-hero h1 { font-family: var(--serif); font-weight: 700; letter-spacing: -.02em; line-height: 1; font-size: clamp(2.6rem, 5.2vw, 4.3rem); margin: 0 0 12px; }
.buf-am-hero h1 .buf-red { color: var(--buf-red, #E30613); display: block; }
.page-template-page-research-aminos-guide .buf-article-body .buf-am-hero__sub { font-family: var(--serif); font-weight: 700; font-size: 1.35rem; margin: 0 0 14px; color: var(--buf-ink, #14140F); }
.buf-am-hero__copy p { max-width: 52ch; margin: 0 0 10px; }
.buf-am-hero__art { position: relative; justify-self: end; width: 100%; max-width: 560px; aspect-ratio: 5 / 3; background: var(--bufam-hero) left center / auto 100% no-repeat; }
.buf-am-hero__art::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.8) 10%, rgba(255,255,255,0) 38%, rgba(255,255,255,0) 60%, #fff 70%), linear-gradient(180deg, rgba(255,255,255,.3), rgba(255,255,255,0) 35%, rgba(255,255,255,0) 75%, #fff 100%); }
.buf-am-hero__tag { position: absolute; right: 0; top: 50%; transform: translateY(-50%); text-align: right; }
.buf-am-hero__tag::after { margin-left: auto; }

/* Cards */
.buf-am-cards { display: grid; gap: 20px; margin-top: 36px; }
.buf-am-card { display: grid; gap: 32px; align-items: center; background: #FCFCFA; border: 1px solid var(--buf-line, #E6E6E1); border-radius: 18px; padding: 28px; }
.buf-am-card--function { grid-template-columns: 300px minmax(0,1fr) 150px; }
.buf-am-card--categories { grid-template-columns: minmax(0,1fr) 420px; }
.buf-am-card--purity { grid-template-columns: 300px minmax(0,1fr) 150px; }
.buf-am-card__img { margin: 0; border-radius: 12px; overflow: hidden; background: #f3f3ef; aspect-ratio: 1 / 1; }
.buf-am-card--categories .buf-am-card__img { aspect-ratio: 16 / 9; }
.buf-am-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.buf-am-card__body p:last-child { margin-bottom: 0; }
.buf-am-card__body ul { list-style: none; margin: 4px 0 12px; padding: 0; }
.buf-am-card__body li { position: relative; padding-left: 28px; margin: 0 0 8px; text-transform: none; }
.buf-am-card__body li::before { content: ""; position: absolute; left: 0; top: 4px; width: 17px; height: 17px; border-radius: 50%; background: var(--buf-red, #E30613); }
.buf-am-card__body li::after { content: ""; position: absolute; left: 5px; top: 8px; width: 7px; height: 4px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }
.buf-am-card__body li::first-letter { text-transform: uppercase; }
.buf-am-card__side { justify-self: end; border-left: 1px solid var(--buf-line, #E6E6E1); padding-left: 26px; }

/* Mission + notice */
.buf-am-bottom { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: start; margin-top: 44px; }
.buf-am-mission { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding-top: 12px; }
.buf-am-mission::before { content: ""; width: 34px; height: 2px; background: var(--buf-red, #E30613); margin-top: 24px; }
.page-template-page-research-aminos-guide .buf-article-body .buf-am-mission h2 { font-size: clamp(2.2rem, 3.4vw, 3rem); margin-bottom: 12px; }
.buf-am-mission__tag { font-family: var(--sans); font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--buf-ink, #14140F); margin: 0 0 18px; }
.buf-am-mission p { margin: 0 0 12px; }
.buf-am-mission h3 { font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--buf-mute, #6B6B62); margin: 22px 0 10px; }
.buf-am-mission ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 22px; }
.buf-am-mission li { position: relative; padding-left: 16px; font-size: 14.5px; line-height: 1.5; }
.buf-am-mission li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--buf-red, #E30613); }
.buf-am-notice { background: #FCFCFA; border: 1px solid var(--buf-line, #E6E6E1); border-radius: 18px; padding: 28px 30px; }
.page-template-page-research-aminos-guide .buf-article-body .buf-am-notice h2 { font-size: 1.6rem; margin-bottom: 10px; }
.buf-am-notice p { font-size: 15px; margin: 0 0 8px; }
.buf-am-notice ul { list-style: none; margin: 4px 0 12px; padding: 0; }
.buf-am-notice li { position: relative; padding-left: 28px; margin: 0 0 8px; font-size: 15px; }
.buf-am-notice li::before { content: ""; position: absolute; left: 0; top: 3px; width: 17px; height: 17px; border-radius: 50%; background: var(--buf-red, #E30613); }
.buf-am-notice li::after { content: ""; position: absolute; left: 5px; top: 7px; width: 7px; height: 4px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }

@media (max-width: 960px) {
  .buf-am-card--function, .buf-am-card--purity { grid-template-columns: 240px minmax(0,1fr); }
  .buf-am-card__side { grid-column: 1 / -1; justify-self: start; border-left: 0; padding-left: 0; border-top: 1px solid var(--buf-line, #E6E6E1); padding-top: 16px; width: 100%; }
  .buf-am-card--categories { grid-template-columns: minmax(0,1fr) 300px; }
  .buf-am-bottom { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 720px) {
  .buf-am-hero { grid-template-columns: 1fr; padding: 26px 0 4px; }
  .buf-am-hero__art { max-width: none; aspect-ratio: 16 / 8; margin-top: 10px; background-position: 12% center; }
  .buf-am-hero__art::before { background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.5) 12%, rgba(255,255,255,0) 35%, rgba(255,255,255,0) 60%, #fff 72%), linear-gradient(180deg, rgba(255,255,255,.4), rgba(255,255,255,0) 40%, #fff 100%); }
  .buf-am-cards { margin-top: 24px; gap: 14px; }
  .buf-am-card, .buf-am-card--function, .buf-am-card--purity, .buf-am-card--categories { grid-template-columns: 1fr; padding: 18px; gap: 18px; border-radius: 14px; }
  .buf-am-card__img, .buf-am-card--categories .buf-am-card__img { aspect-ratio: 16 / 9; }
  .buf-am-card--categories .buf-am-card__img { order: -1; }
  .buf-am p, .buf-am li { font-size: 16px; }
  .buf-am-mission { grid-template-columns: 1fr; }
  .buf-am-mission::before { margin-top: 0; }
  .buf-am-mission ul { grid-template-columns: 1fr; }
  .buf-am-notice { padding: 22px 20px; }
}
