/* Client content additions: retain the site's existing palette and typography. */
.home-hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 2.4s ease-in-out;
}
.home-hero-slide.is-active { opacity: 1; }
body[data-page="home"] .home-hero-photo { background: #46511f; }
.photo-sequence-toggle {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 5;
  padding: 10px 16px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 30px;
  background: rgba(71, 83, 29,.9);
  color: white;
  font: inherit;
  font-size: .875rem;
  cursor: pointer;
}
.product-quick-menu { position: relative; }
.product-quick-menu > button { gap: 10px; cursor: pointer; }
.product-quick-menu__links {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  min-width: 100%;
  padding: 8px;
  border-radius: 0 0 12px 12px;
  background: var(--brand-cream);
  box-shadow: 0 14px 28px rgba(71, 83, 29,.2);
}
.product-quick-menu.is-open .product-quick-menu__links { display: block; }
.product-quick-menu__links a {
  display: block;
  padding: 10px 14px;
  color: #47531d;
  font-size: .9rem;
}
.product-quick-menu__links a:hover { background: var(--brand-cream); }
.nav-dropdown:not(.open):hover .nav-dropdown-menu { opacity: 0; visibility: hidden; }
.nav-dropdown-menu.nav-product-menu { min-width: 270px; }
.nav-product-menu > a, .nav-lentils > summary {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nav-product-menu img { width: 48px; height: 40px; object-fit: cover; border-radius: 5px; }
.nav-lentils > summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  font-size: .875rem;
  font-weight: 700;
  color: #4c493b;
}
.nav-lentils > summary::-webkit-details-marker { display: none; }
.nav-lentils > summary > span { margin-left: auto; }
.nav-lentils[open] > summary { color: #b45b00; }
.nav-lentil-links { padding-left: 16px; border-left: 2px solid var(--brand-orange); margin-left: 24px; }
.lentil-variety-grid, .lentil-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.lentil-variety-card { display: flex; flex-direction: column; overflow: hidden; background: var(--brand-cream); border-radius: 12px; border: 1px solid #e8e4d8; }
.lentil-variety-card > img { display: block; width: 100%; height: 230px; object-fit: cover; transition: transform .4s; }
.lentil-variety-card:hover > img { transform: scale(1.025); }
.lentil-variety-card > div { padding: 26px; }
.lentil-variety-card h3, .lentil-detail h3 { font-size: 1.75rem; color: #47531d; margin: 0 0 12px; }
.lentil-variety-card p { color: #6e6a61; margin-bottom: 16px; }
.lentil-variety-card span { color: #a95200; font-size: .875rem; font-weight: 700; }
.lentil-detail > img { width: 100%; height: 215px; object-fit: cover; border-radius: 10px; margin-bottom: 24px; }
.lentil-detail p { margin-bottom: 18px; }
.lentil-detail .text-link { color: #a95200; font-weight: 700; }
.lentil-detail { min-width: 0; scroll-margin-top: 130px; }
.pulse-section-note { margin-top: 32px; color: #6e6a61; }
.pulse-table-scroll { overflow-x: auto; margin-top: 32px; border: 1px solid #e4e1d4; border-radius: 10px; }
.pulse-specification-table { width: 100%; min-width: 720px; border-collapse: collapse; text-align: left; font-size: .9rem; line-height: 1.65; }
.pulse-specification-table caption { text-align: left; padding: 18px 22px; color: #47531d; font-weight: 700; background: var(--brand-cream); }
.pulse-specification-table th, .pulse-specification-table td { padding: 18px 22px; vertical-align: top; border-bottom: 1px solid #e4e1d4; width: 25%; }
.pulse-specification-table thead { color: white; background: #47531d; }
.pulse-specification-table tbody th { color: #47531d; }
.pulse-specification-table tbody tr:nth-child(even) { background: var(--brand-cream); }
.bean-detail-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 36px; margin-bottom: 30px; }
.bean-detail-intro img { width: 100%; height: auto; border-radius: 12px; }
.client-capabilities { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 48px; padding-left: 22px; line-height: 1.8; }
.about-hero__title.about-hero__title--company { font-size: clamp(2.4rem,4vw,4.25rem); line-height: 1.08; }
.about-hero__title--company span { font-size: inherit; }
.about-hero__title--company strong { font-size: .58em; margin-top: 16px; }
.sourcing-timeline { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 38px; }
.sourcing-timeline__line { display: none; }
.sourcing-step__number { display: grid; place-items: center; font-size: 1.4rem; font-weight: 700; color: #47531d; }
.sourcing-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.sourcing-benefit p, .sourcing-step p { line-height: 1.75; }
.markets-hero .markets-hero__image { left: 48%; background: #47531d; }
.markets-hero .markets-hero__image img { object-fit: contain; object-position: center; min-height: 0; }
.markets-hero .markets-hero__image::after { display: none; }
.markets-hero .markets-hero__green { width: 61%; }
.map-location--south-america { left: 31%; top: 71%; }
body[data-page="home"] .market-pin.pin-sa { left: 32%; top: 73%; }
.contact-video-grid { display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 48px; }
.contact-video-grid h2 { font-size: clamp(2rem,3vw,3.3rem); color: #47531d; }
.contact-video-grid p { margin-bottom: 24px; }
.contact-video-grid video { width: 100%; height: auto; border-radius: 16px; background: #47531d; }
.industry-links { background: var(--brand-cream); }
.industry-links__grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 18px; }
.industry-link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 22px 14px; border: 1px solid #e8e4d8; border-radius: 8px; background: white; text-align: center; color: #47531d; font-size: .875rem; line-height: 1.5; }
.industry-link img { display: block; width: 100%; max-width: 150px; height: 80px; object-fit: contain; }
.industry-link:hover { border-color: var(--brand-orange); }
.industry-link--alberta, .industry-link--pulse-canada { background: #47531d; color: white; }

/* September client palette and editorial consistency. */
.section-head h2 { font-size: var(--type-section); }
.eyebrow, .home-kicker, .resources-eyebrow { font-size: var(--type-label); font-weight: 800; }
.detail-copy, .client-capabilities, .trade-terms-note { font-size: var(--type-body); line-height: 1.75; }
.trade-terms-note { margin: 18px 0; font-weight: 500; }
.about-page .about-hero__description { font-size: var(--type-body); line-height: 1.7; }
.about-page .about-story__copy > p, .about-page .about-relationship__copy > p,
.sourcing-page .sourcing-benefit p, .sourcing-page .sourcing-step p,
.faq-page .faq-answer p { font-size: var(--type-body); line-height: 1.75; }
.products-page .products-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.markets-page .markets-region__image:has(.europe-full-photo) { background: var(--brand-blue); }
.markets-page .markets-region__image .europe-full-photo { object-fit: contain; object-position: center; transform: none; }
body[data-page="home"] .home-purchasing { background: var(--brand-cream); border-top: 1px solid var(--border); }
.home-purchasing h2 { font-size: var(--type-section); margin-bottom: 32px; }
.purchasing-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px,6vw,80px); align-items: start; }
.purchasing-grid p { font-size: var(--type-body); line-height: 1.8; }
.purchasing-crops { margin: 24px 0 0; padding-left: 22px; }
.purchasing-crops > li { margin: 14px 0; }
.purchasing-crops li::marker { color: var(--brand-green); }
.purchasing-crops ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 25px; margin-top: 14px; padding-left: 18px; font-size: var(--type-body); }
.purchasing-offer { padding: clamp(24px,3vw,40px); border-left: 3px solid var(--brand-green); background: white; border-radius: 0 8px 8px 0; }
.purchasing-offer .button { margin-top: 24px; }
.grading-resource { background: var(--brand-cream); }
.grading-resource-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: center; padding: clamp(24px,4vw,48px); border: 1px solid var(--border); border-left: 4px solid var(--brand-green); border-radius: 8px; background: white; }
.grading-resource-card h2 { font-size: var(--type-section); max-width: 780px; }
.grading-resource-card p { margin: 16px 0; }
.resource-edition { color: var(--text-secondary); font-size: .875rem; }
.resource-credits { font-size: .875rem; color: var(--text-secondary); }
.resource-credits h2 { font-size: var(--type-card); margin-bottom: 18px; }
.resource-credits a { text-decoration: underline; }
.faq-page .faq-question { font-size: var(--type-body); font-weight: 700; }
.whole-peas-photo { object-position: center; }
/* Approx. 40% smaller card footprint while keeping copy readable. */






body[data-page="home"] .button--orange,
body[data-page="home"] .button--orange:hover { color: #424b25; }
@media(max-width:760px) {
 .purchasing-grid, .grading-resource-card { grid-template-columns: 1fr; }
 .grading-resource-card > .button { justify-self: start; }
 .purchasing-crops ul { grid-template-columns: 1fr; }

}
.events-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.event-card { overflow: hidden; border: 1px solid #e8e4d8; border-radius: 12px; background: var(--brand-cream); }
.event-card__image { width: 100%; height: 280px; object-fit: contain; padding: 24px; background: white; }
.event-card__copy { padding: 30px; }
.event-card h3 { color: #47531d; font-size: 1.8rem; margin: 12px 0; }
.event-card p { margin-bottom: 18px; }
.event-date { color: #a95200; font-size: .875rem; font-weight: 700; letter-spacing: .04em; }
.event-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.event-actions .text-link { color: #47531d; text-decoration: underline; font-size: .875rem; }
.event-photo-credit { display: block; margin-top: 20px; color: #6e6a61; font-size: .875rem; }
:where(.product-quick-menu, .nav-lentils, .pulse-table-scroll, .photo-sequence-toggle, .industry-link, .lentil-variety-card) :focus-visible,
:where(.pulse-table-scroll, .photo-sequence-toggle, .industry-link, .lentil-variety-card):focus-visible { outline: 3px solid var(--brand-orange); outline-offset: 4px; }
@media (max-width: 1100px) {
  .industry-links__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1000px) {
  .nav-dropdown-menu.nav-product-menu { min-width: 0; }
  .nav-lentils > summary { padding: 14px 2px; font-size: .875rem; }
  .lentil-variety-grid, .lentil-detail-grid { gap: 20px; }
  .lentil-variety-card > div { padding: 20px; }
  .lentil-variety-card > img { height: 185px; }
}
@media (max-width: 850px) {
  .markets-hero { display: flex; flex-direction: column-reverse; min-height: 0; }
  .markets-hero .markets-hero__green { position: relative; width: 100%; height: auto; min-height: 310px; clip-path: none; }
  .markets-hero .markets-hero__image { position: relative; inset: auto; width: 100%; height: auto; }
  .markets-hero .markets-hero__image img { height: auto; width: 100%; min-height: 0; }
}
@media (max-width: 760px) {
  .lentil-variety-grid, .lentil-detail-grid, .bean-detail-intro, .client-capabilities, .contact-video-grid, .events-grid { grid-template-columns: 1fr; }
  .lentil-variety-card > img, .lentil-detail > img { height: auto; aspect-ratio: 3 / 2; }
  .sourcing-timeline, .sourcing-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .industry-links__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .photo-sequence-toggle { right: 16px; bottom: 16px; }
  .event-card__copy { padding: 24px; }
}
@media (max-width: 480px) {
  .sourcing-timeline, .sourcing-benefits { grid-template-columns: 1fr; }
  .product-quick-menu, .product-quick-menu > button { width: 100%; }
  .contact-video-grid { gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-slide, .lentil-variety-card > img { transition: none; }
}

/* Body and form text, without changing heading sizes. */
.contact-page :is(.contact-field label, .contact-field input, .contact-field select, .contact-field textarea) { font-size: 1rem; }
.contact-page .contact-field :is(.field-hint, .field-error) { font-size: .875rem; }
.contact-page :is(.contact-info p, .contact-info a, .contact-form-intro, .contact-details p) { font-size: 1rem; line-height: 1.75; }

.contact-page :is(.contact-hero__description, .contact-info__intro > p, .contact-detail-row, .contact-detail-row span:not(.contact-detail-row__icon)) { font-size: 1rem; line-height: 1.75; }
.contact-privacy-note { font-size: .875rem; line-height: 1.7; margin: 18px 0; }
.contact-privacy-note a { color: #47531d; text-decoration: underline; }

/* Markets and resource library: readable copy at every screen size.
   Keep all existing heading sizes. */
.markets-page .markets-intro__description,
.markets-page .markets-region__content > p,
.resources-page .resources-library__intro,
.resources-page .resources-library .trade-terms-note,
.resources-page .resources-type-card > p,
.resources-page .resources-article__body > p {
  font-size: 1rem;
  line-height: 1.75;
  font-weight: 400;
  color: #414d43;
  max-width: none;
}
.markets-page .markets-region__link,
.resources-page .resources-library .resources-link {
  font-size: .9375rem;
  line-height: 1.5;
  font-weight: 700;
  color: #47531d;
  min-height: 44px;
}
.resources-page .resources-library .resources-link--orange { color: #995000; }
.markets-page .markets-region__link:hover,
.resources-page .resources-library .resources-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.markets-page .markets-region__link:focus-visible,
.resources-page .resources-library .resources-link:focus-visible { outline: 3px solid #995000; outline-offset: 4px; }
.resources-page .resources-article__meta {
  flex-wrap: wrap;
  gap: 6px 14px;
  font-size: .875rem;
  line-height: 1.6;
  letter-spacing: .04em;
  color: #995000;
}
.markets-page .markets-map__label,
.markets-page .markets-map__status,
.markets-page .markets-map__footer span { font-size: .875rem; line-height: 1.6; color: #414d43; }
.markets-page .markets-map__header { flex-wrap: wrap; gap: 16px; }
.markets-page .markets-region { display: flex; flex-direction: column; }
.markets-page .markets-region__image { flex-shrink: 0; }
.markets-page .markets-region__content { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.markets-page .markets-region__content > p { margin-bottom: 18px; }
.markets-page .markets-region__link { margin-top: auto; }
.resources-page .resources-library__heading { column-gap: 48px; row-gap: 24px; }
.resources-page .resources-library__heading .trade-terms-note { grid-column: 1 / -1; max-width: 78ch; margin: 0; }
.resources-page .resources-type-grid { gap: 20px; }
.resources-page .resources-article { display: flex; flex-direction: column; }
.resources-page .resources-article__body { flex: 1; }
.resources-page .resources-type-card,
.resources-page .resources-article__body { padding: 24px; }
@media (max-width: 1100px) and (min-width: 641px) {
  .resources-page .resources-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .resources-page .resources-library__heading { grid-template-columns: 1fr; gap: 24px; }
  .resources-page .resources-type-grid { grid-template-columns: 1fr; }
  .markets-page .markets-region__image { height: 180px; min-height: 0; }
}
