/* Gratitude Home: page template styles */

@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/hanken-grotesk-400.woff2") format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/hanken-grotesk-500.woff2") format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/hanken-grotesk-600.woff2") format("woff2"); }
@font-face { font-family: "Hanken Grotesk"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/hanken-grotesk-700.woff2") format("woff2"); }

:root {
	--gp-dark: #2b3320;
	--gp-dark-line: #464d3a;
	--gp-cream: #f5f4ec;
	--gp-beige: #ece7d9;
	--gp-gold: #c7993d;
	--gp-gold-hover: #b98a30;
	--gp-ink: #232519;
	--gp-text: #565a47;
	--gp-muted: #8a8c77;
	--gp-sage: #566647;
	--gp-sage-bg: #e7e9da;
	--gp-line: #dcd9cc;
	--gp-on-dark: #d5c9b4;
	--gp-on-dark-2: #c4b79e;
	--gp-on-dark-3: #b0a387;
	--gp-hero-ink: #e9e8d6;
	--gp-btn-ink: #241810;
	--gp-font: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body.gp-body { margin: 0; background: var(--gp-cream); }

/* Reset (zero specificity so component rules always win) */
:where(.gp) { font-family: var(--gp-font); font-size: 16px; line-height: 1.5; letter-spacing: -0.007em; color: var(--gp-ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.gp) *, :where(.gp) *::before, :where(.gp) *::after { box-sizing: border-box; }
:where(.gp) :where(h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, figcaption, details, summary, small) { margin: 0; padding: 0; border: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; }
:where(.gp) :where(ul, ol) { list-style: none; }
:where(.gp) :where(a) { color: inherit; text-decoration: none; background: none; box-shadow: none; }
:where(.gp) :where(img) { display: block; max-width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
:where(.gp) :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.gp .gp-i { width: 1em; height: 1em; flex: none; display: inline-block; vertical-align: middle; }

.gp section[id] { scroll-margin-top: 72px; }
.admin-bar .gp section[id] { scroll-margin-top: 104px; }
.gp-wrap { width: 100%; max-width: clamp(1100px, calc(100vw - 240px), 1680px); margin: 0 auto; padding: 0 24px; }
.gp-dark { background: var(--gp-dark); color: #fff; }
.gp-cream { background: var(--gp-cream); }
.gp-beige { background: var(--gp-beige); }

/* Eyebrow */
.gp .gp-eyebrow { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--gp-text); margin-bottom: 23px; }
.gp .gp-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gp-gold); box-shadow: 0 0 0 4px rgba(199, 153, 61, .22); margin-left: 4px; flex: none; }
.gp .gp-dark .gp-eyebrow { color: #e7d9be; }

/* Headings */
.gp .gp-h2 { font-size: 50.4px; line-height: 52.3px; font-weight: 600; letter-spacing: -0.03em; color: var(--gp-ink); }
.gp .gp-dark .gp-h2 { color: #fff; }
.gp .gp-lead { font-size: 19.2px; line-height: 30.7px; color: var(--gp-text); }
.gp .gp-dark .gp-lead { color: var(--gp-on-dark); }

/* Buttons */
.gp .gp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 55px; padding: 0 32px; border-radius: 999px; font-size: 16.5px; font-weight: 600; line-height: 1; letter-spacing: -.1px; white-space: nowrap; transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.gp .gp-btn .gp-i { width: 16px; height: 16px; stroke-width: 2; }
.gp .gp-btn--gold { background: var(--gp-gold); color: var(--gp-btn-ink); box-shadow: 0 10px 24px -14px rgba(199, 153, 61, .9); }
.gp .gp-btn--gold:hover { background: var(--gp-gold-hover); color: var(--gp-btn-ink); }
.gp .gp-btn--white { background: #fff; color: var(--gp-ink); }
.gp .gp-btn--white:hover { background: var(--gp-cream); color: var(--gp-ink); }
.gp .gp-btn--outline { height: 48px; padding: 0 26px; font-size: 15.5px; font-weight: 500; border: 1px solid #d6d2c3; color: var(--gp-ink); background: transparent; }
.gp .gp-btn--outline:hover { background: #fff; }
.gp .gp-btn--sm { height: 48px; padding: 0 27px; font-size: 15.5px; }
.gp .gp-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.gp .gp-btns--center { justify-content: center; }

/* Top bar */
.gp .gp-topbar { background: var(--gp-dark); color: #efe6d4; font-size: 13.5px; line-height: 1; }
.gp .gp-topbar__in { display: flex; align-items: center; justify-content: space-between; height: 40px; }
.gp .gp-topbar__left { display: flex; gap: 28px; }
.gp .gp-topbar__item { display: inline-flex; align-items: center; gap: 9px; color: #cbbfa9; }
.gp .gp-topbar__phone, .gp .gp-topbar__phone.gp-topbar__item { color: #efe6d4; }
.gp .gp-topbar__item .gp-i { width: 14px; height: 14px; color: var(--gp-gold); }
.gp .gp-topbar__phone:hover { color: #fff; }

/* Header */
.gp .gp-header { position: sticky; top: 0; z-index: 50; background: rgba(245, 244, 236, .97); box-shadow: 0 1px 0 rgba(35, 37, 25, .06); }
.admin-bar .gp .gp-header { top: 32px; }
.gp .gp-header__in { display: flex; align-items: center; height: 73px; }
.gp .gp-logo { display: block; width: 52px; margin-left: 1px; }
.gp .gp-logo img { width: 52px; height: auto; }
.gp .gp-nav { display: flex; gap: 30px; margin-left: auto; margin-right: 30px; }
.gp .gp-nav a { font-size: 15.5px; font-weight: 500; color: var(--gp-text); transition: color .2s; }
.gp .gp-nav a:hover { color: var(--gp-ink); }
.gp .gp-nav__item { position: relative; display: flex; align-items: center; }
.gp .gp-nav .gp-nav__link { display: inline-flex; align-items: center; gap: 5px; padding: 24px 0; white-space: nowrap; }
.gp .gp-nav__link .gp-i { width: 14px; height: 14px; stroke-width: 2; transition: transform .2s; }
.gp .gp-nav__caret { display: none; }
.gp .gp-drop { position: absolute; top: calc(100% - 6px); left: -16px; z-index: 60; min-width: 240px; padding: 10px; background: #fff; border: 1px solid #ebe8dd; border-radius: 16px; box-shadow: 0 24px 50px -24px rgba(35, 37, 25, .35); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
.gp .gp-nav__item--wide .gp-drop { columns: 2; column-gap: 4px; min-width: 470px; }
.gp .gp-nav__item--wide .gp-drop a { break-inside: avoid; }
.gp .gp-nav__item:last-child .gp-drop { left: auto; right: -16px; }
.gp .gp-nav .gp-drop a { display: block; padding: 9px 12px; border-radius: 10px; font-size: 15px; font-weight: 500; line-height: 1.3; color: var(--gp-text); white-space: nowrap; transition: background-color .15s, color .15s; }
.gp .gp-nav .gp-drop a:hover, .gp .gp-nav .gp-drop a:focus-visible { background: var(--gp-cream); color: var(--gp-ink); }
.gp .gp-nav .gp-drop a:first-child { font-weight: 600; color: var(--gp-ink); }
@media (min-width: 961px) {
	.gp .gp-nav__item:hover .gp-drop, .gp .gp-nav__item:focus-within .gp-drop { opacity: 1; visibility: visible; transform: none; }
	.gp .gp-nav__item:hover .gp-nav__link .gp-i { transform: rotate(180deg); }
}
.gp .gp-header__actions { display: flex; align-items: center; gap: 18px; }
.gp .gp-header__call { display: inline-flex; color: var(--gp-text); }
.gp .gp-header__call .gp-i { width: 17px; height: 17px; }
.gp .gp-header .gp-btn--sm { width: 170px; padding: 0; box-shadow: 0 8px 18px -10px rgba(140, 100, 30, .8); }
.gp .gp-burger, .gp .gp-burger:hover, .gp .gp-burger:focus { padding: 0; border: 0; background: transparent; color: var(--gp-ink); box-shadow: none; }
.gp .gp-burger:focus-visible { outline: 2px solid var(--gp-gold); outline-offset: 2px; }
.gp .gp-burger { display: none; width: 42px; height: 42px; border-radius: 10px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; }
.gp .gp-burger span { display: block; width: 20px; height: 2px; background: var(--gp-ink); border-radius: 2px; transition: transform .2s, opacity .2s; }

/* Hero */
.gp .gp-hero { position: relative; overflow: hidden; background:
	radial-gradient(520px 420px at 14% 78%, rgba(120, 104, 40, .38), rgba(43, 51, 32, 0) 70%),
	radial-gradient(700px 500px at 72% 40%, rgba(255, 255, 255, .025), rgba(43, 51, 32, 0) 70%),
	var(--gp-dark); }
.gp .gp-hero__in { display: grid; grid-template-columns: minmax(0, 1fr) clamp(494px, 40%, 640px); gap: 40px; align-items: start; padding-top: 106px; padding-bottom: 107px; }
.gp .gp-hero__copy .gp-eyebrow { margin-bottom: 26px; }
.gp .gp-hero__title { font-size: 73.6px; line-height: 1.045; font-weight: 600; letter-spacing: -0.031em; color: var(--gp-hero-ink); max-width: 480px; }
.gp .gp-hero__lead { margin-top: 19px; max-width: 460px; font-size: 17.9px; line-height: 28.7px; color: #d9cdb6; }
.gp .gp-hero .gp-btns { margin-top: 37px; }
.gp .gp-hero .gp-btn--gold { width: 246px; }
.gp .gp-hero .gp-btn--white { width: 188px; }
.gp .gp-stats { display: flex; margin-top: 42px; }
.gp .gp-stats > div { padding: 0 30px; border-left: 1px solid rgba(213, 201, 180, .2); }
.gp .gp-stats > div:first-child { padding-left: 0; border-left: 0; }
.gp .gp-stats dt { font-size: 21.6px; font-weight: 600; line-height: 1.2; letter-spacing: -.3px; color: #fff; }
.gp .gp-stats dd { margin-top: 6px; font-size: 13.1px; line-height: 1.3; color: #b7ab93; }

.gp .gp-hero__art { position: relative; aspect-ratio: 494 / 456; height: auto; margin-top: 57px; }
.gp .gp-hero__img { position: absolute; overflow: hidden; border-radius: 24px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .55); }
.gp .gp-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.gp .gp-hero__img figcaption { position: absolute; left: 16px; bottom: 16px; font-size: 13.1px; font-weight: 600; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .45); }
.gp .gp-hero__img--chicory { left: 3.85%; top: 4.17%; width: 57.69%; height: 70.18%; background: #fff; z-index: 1; }
.gp .gp-hero__img--chicory img { object-position: 30% 40%; }
.gp .gp-hero__img--chicory figcaption { color: #fff; }
.gp .gp-hero__img--onion { right: 0; top: 0; width: 44.33%; height: 44.52%; z-index: 3; }
.gp .gp-hero__img--garlic { left: 47.98%; top: 50.88%; width: 50%; height: 48.9%; z-index: 2; }
.gp .gp-hero__img--garlic figcaption { opacity: .35; }
.gp .gp-hero__badge { position: absolute; left: 0; top: 68.86%; z-index: 4; display: flex; align-items: center; gap: 13px; width: 224px; height: 102px; padding: 0 20px; background: var(--gp-cream); border-radius: 18px; box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .5); color: var(--gp-ink); }
.gp .gp-hero__badge strong { display: flex; align-items: baseline; font-size: 32px; font-weight: 600; letter-spacing: -1px; line-height: 1; }
.gp .gp-hero__badge strong span { font-size: 15.2px; font-weight: 600; letter-spacing: 0; color: #a9812b; margin-left: 1px; }
.gp .gp-hero__badge p { font-size: 13.1px; line-height: 18px; color: var(--gp-text); }

.gp .gp-markets { border-top: 1px solid var(--gp-dark-line); background: var(--gp-dark); }
.gp .gp-markets__in { display: flex; align-items: center; justify-content: center; gap: 57px; height: 76px; }
.gp .gp-markets__label { font-size: 13.5px; color: #a99c84; }
.gp .gp-markets ul { display: flex; gap: 48px; }
.gp .gp-markets li { font-size: 14.9px; font-weight: 500; color: #c9bca3; }

/* Intro */
.gp .gp-intro { padding: 120px 0 115px; }
.gp .gp-split { display: grid; grid-template-columns: minmax(0, 451fr) minmax(0, 537fr); column-gap: 64px; }
.gp .gp-partner .gp-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.gp .gp-intro .gp-eyebrow { margin-top: 4px; }
.gp .gp-intro .gp-h2 { max-width: 380px; }
.gp .gp-intro__body { margin-top: -4px; }
.gp .gp-intro__lead { font-size: 19.2px; line-height: 31px; color: var(--gp-text); margin-bottom: 19px; }
.gp .gp-intro__body p:not(.gp-intro__lead) { font-size: 17.1px; line-height: 27.8px; color: var(--gp-ink); margin-bottom: 19px; }
.gp .gp-pills { display: flex; flex-wrap: wrap; gap: 11px 10px; margin-top: 30px; max-width: 530px; }
.gp .gp-pills li { display: inline-flex; align-items: center; gap: 9px; height: 42px; padding: 0 16px; border: 1px solid #e0ddd0; border-radius: 999px; background: #fff; font-size: 14px; font-weight: 500; color: var(--gp-text); }
.gp .gp-pills .gp-i { width: 14px; height: 14px; stroke-width: 2; color: var(--gp-text); }

/* Products */
.gp .gp-products { padding: 118px 0 114px; }
.gp .gp-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 54px; }
.gp .gp-h2--products { max-width: 420px; }
.gp .gp-textlink { display: inline-flex; align-items: center; gap: 10px; font-size: 17.1px; font-weight: 600; color: var(--gp-ink); margin-bottom: 6px; }
.gp .gp-textlink .gp-i, .gp .gp-card__link .gp-i { width: 15px; height: 15px; stroke-width: 2; transition: transform .2s; }
.gp .gp-textlink:hover .gp-i, .gp .gp-card__link:hover .gp-i { transform: translateX(3px); }
.gp .gp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.gp .gp-card { background: #fff; border-radius: 24px; overflow: hidden; box-shadow: 0 1px 2px rgba(35, 37, 25, .04); }
.gp .gp-card__img { aspect-ratio: 334 / 259; height: auto; overflow: hidden; background: #d9cbb6; }
.gp .gp-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gp .gp-card__img--white { background: #fff; }
.gp .gp-card__img--white img { object-position: 50% 30%; }
.gp .gp-card:hover .gp-card__img img { transform: scale(1.03); }
.gp .gp-card__body { padding: 21px 24px 28px; }
.gp .gp-card h3 { font-size: 22.7px; font-weight: 600; letter-spacing: -.4px; line-height: 1.25; color: var(--gp-ink); }
.gp .gp-card p { margin-top: 10px; font-size: 15.5px; line-height: 24px; color: var(--gp-text); }
.gp .gp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; padding-bottom: 20px; border-bottom: 1px solid #ebe8dd; }
.gp .gp-tags li { display: inline-flex; align-items: center; height: 31px; padding: 0 11px; border-radius: 999px; background: var(--gp-beige); font-size: 12.5px; font-weight: 500; color: var(--gp-text); }
.gp .gp-card__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 20px; font-size: 17.1px; font-weight: 600; color: var(--gp-ink); }

/* Partner / features */
.gp .gp-partner { padding: 118px 0 115px; }
.gp .gp-split--end { align-items: end; margin-bottom: 38px; }
.gp .gp-h2--partner { max-width: 470px; }
.gp .gp-partner__lead { font-size: 19.2px; line-height: 30.7px; color: var(--gp-on-dark); max-width: 430px; justify-self: end; margin-right: 0; padding-bottom: 0; }
.gp .gp-features { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--gp-dark-line); }
.gp .gp-feature { padding: 44px 35px 38px; border-bottom: 1px solid var(--gp-dark-line); border-left: 1px solid var(--gp-dark-line); }
.gp .gp-feature:nth-child(3n + 1) { padding-left: 0; border-left: 0; }
.gp .gp-feature .gp-i { width: 38px; height: 38px; stroke-width: 1.3; color: var(--gp-gold); }
.gp .gp-feature h3 { margin-top: 30px; font-size: 19.9px; font-weight: 600; letter-spacing: -.3px; color: #fff; }
.gp .gp-feature p { margin-top: 6px; font-size: 14.9px; line-height: 24px; color: var(--gp-on-dark-2); max-width: 315px; }

/* Industries */
.gp .gp-industries { padding: 106px 0 116px; }
.gp .gp-industries .gp-ind-list { margin-top: 9px; }
.gp .gp-industries__in { display: grid; grid-template-columns: minmax(0, 400fr) minmax(0, 593fr); column-gap: 59px; }
.gp .gp-industries__intro { padding-top: 12px; }
.gp .gp-h2--industries { margin-bottom: 24px; }
.gp .gp-industries__intro .gp-lead { max-width: 375px; }
.gp .gp-ind-list { border-top: 1px solid var(--gp-line); }
.gp .gp-ind-list li { display: flex; gap: 20px; padding: 23px 0 24px 4px; border-bottom: 1px solid var(--gp-line); }
.gp .gp-ind-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: var(--gp-sage-bg); color: var(--gp-sage); }
.gp .gp-ind-icon .gp-i { width: 19px; height: 19px; }
.gp .gp-ind-list h3 { margin-top: 1px; font-size: 18.5px; font-weight: 600; letter-spacing: -.2px; color: var(--gp-ink); }
.gp .gp-ind-list p { margin-top: 2px; font-size: 14.9px; line-height: 24px; color: var(--gp-text); }

/* Why */
.gp .gp-why { padding: 115px 0 116px; background:
	radial-gradient(500px 400px at 85% 90%, rgba(0, 0, 0, .14), rgba(0, 0, 0, 0) 70%), var(--gp-dark); }
.gp .gp-why__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 64px; align-items: start; }
.gp .gp-why__copy { padding-top: 47px; }
.gp .gp-h2--why { max-width: 460px; }
.gp .gp-why .gp-lead { margin-top: 22px; max-width: 460px; }
.gp .gp-roles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; max-width: 494px; }
.gp .gp-roles > div { padding: 20px 16px 18px; border: 1px solid rgba(213, 201, 180, .2); border-radius: 14px; background: rgba(255, 255, 255, .025); }
.gp .gp-roles h3 { font-size: 14.9px; font-weight: 600; color: #fff; }
.gp .gp-roles p { margin-top: 8px; font-size: 13.1px; line-height: 18px; color: #b7ab93; }
.gp .gp-why__card { padding: 34px 38px 34px; background: var(--gp-cream); border-radius: 24px; color: var(--gp-ink); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); }
.gp .gp-why__card h3 { font-size: 18.4px; font-weight: 600; letter-spacing: -.2px; margin-bottom: 14px; }
.gp .gp-checklist li { display: flex; gap: 20px; padding: 13px 0; border-bottom: 1px solid #e3e0d5; font-size: 15.5px; line-height: 24px; color: var(--gp-ink); }
.gp .gp-checklist li:last-child { border-bottom: 0; }
.gp .gp-checklist .gp-i { width: 17px; height: 17px; margin-top: 3px; stroke-width: 1.8; color: var(--gp-sage); }

/* Certifications */
.gp .gp-certs { padding: 117px 0 115px; }
.gp .gp-certs__in { display: grid; grid-template-columns: minmax(0, 420fr) minmax(0, 574fr); column-gap: 58px; align-items: center; }
.gp .gp-h2--certs { margin-bottom: 22px; }
.gp .gp-cert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: -14px; }
.gp .gp-cert-grid li { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 132px; background: #fff; border: 1px solid #e6e3d8; border-radius: 16px; text-align: center; box-shadow: 0 6px 14px -10px rgba(35, 37, 25, .25); }
.gp .gp-cert-grid .gp-i { width: 38px; height: 38px; stroke-width: 1.5; color: var(--gp-sage); }
.gp .gp-cert-grid strong { margin-top: 13px; font-size: 14px; font-weight: 600; color: var(--gp-ink); }
.gp .gp-cert-grid span { margin-top: 12px; font-size: 11.5px; color: var(--gp-muted); }

/* Volume */
.gp .gp-volume { padding: 72px 0 76px; }
.gp .gp-volume__in { display: grid; grid-template-columns: 298px 1fr auto; column-gap: 0; align-items: start; }
.gp .gp-volume__num strong { display: block; margin-top: 28px; padding-left: 4px; font-size: 96px; font-weight: 700; line-height: .85; letter-spacing: -3px; color: var(--gp-gold); }
.gp .gp-volume__num span { display: block; margin-top: 21px; font-size: 16px; font-weight: 600; color: var(--gp-on-dark-2); }
.gp .gp-volume__copy { max-width: 456px; }
.gp .gp-volume__copy h2 { font-size: 32px; font-weight: 600; letter-spacing: -.6px; line-height: 1.25; color: #fff; }
.gp .gp-volume__copy p { margin-top: 13px; font-size: 17.1px; line-height: 27.4px; color: #cfc2ab; }
.gp .gp-volume .gp-btn { width: 250px; margin-top: 71px; }

/* Steps */
.gp .gp-steps { padding: 118px 0 106px; }
.gp .gp-h2--steps { max-width: 560px; }
.gp .gp-steps__lead { margin-top: 19px; max-width: 580px; }
.gp .gp-step-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 51px; }
.gp .gp-step-grid li { padding: 4px 26px 6px 27px; border-left: 1px solid #d4cfbf; }
.gp .gp-step-grid li:first-child { padding-left: 0; border-left: 0; }
.gp .gp-step-no { display: block; font-size: 14.9px; font-weight: 600; color: var(--gp-sage); padding-bottom: 20px; background: linear-gradient(var(--gp-sage), var(--gp-sage)) 0 100% / 26px 2px no-repeat, linear-gradient(#cfcab8, #cfcab8) 0 100% / 100% 2px no-repeat; }
.gp .gp-step-grid h3 { margin-top: 23px; font-size: 17.9px; font-weight: 600; line-height: 17.5px; letter-spacing: -.2px; color: var(--gp-ink); }
.gp .gp-step-grid p { margin-top: 13px; font-size: 14.5px; line-height: 22.6px; color: var(--gp-text); }

/* CTA */
.gp .gp-cta { padding: 122px 0 107px; background:
	radial-gradient(900px 300px at 50% 115%, rgba(120, 104, 40, .45), rgba(43, 51, 32, 0) 75%), var(--gp-dark); }
.gp .gp-cta__in { text-align: center; }
.gp .gp-cta .gp-eyebrow { margin-bottom: 24px; }
.gp .gp-cta__title { max-width: 400px; margin: 0 auto; font-size: 54.4px; line-height: 56.5px; font-weight: 600; letter-spacing: -0.03em; color: var(--gp-hero-ink); }
.gp .gp-cta__text { max-width: 530px; margin: 19px auto 0; font-size: 17.1px; line-height: 27.5px; color: var(--gp-on-dark); }
.gp .gp-cta .gp-btns { margin-top: 40px; }
.gp .gp-cta .gp-btn--gold { width: 213px; }
.gp .gp-cta .gp-btn--white { width: 195px; }

/* FAQ */
.gp .gp-faq { padding: 115px 0 115px; }
.gp .gp-faq__in { display: grid; grid-template-columns: minmax(0, 340fr) minmax(0, 651fr); column-gap: 61px; }
.gp .gp-faq__intro { padding-top: 3px; }
.gp .gp-h2--faq { margin-bottom: 19px; }
.gp .gp-faq .gp-lead { margin-bottom: 25px; }
.gp .gp-faq__list { border-top: 1px solid var(--gp-line); }
.gp .gp-faq details { border-bottom: 1px solid var(--gp-line); }
.gp .gp-faq summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 77px; padding: 16px 0; list-style: none; cursor: pointer; font-size: 17.6px; font-weight: 600; color: var(--gp-ink); }
.gp .gp-faq summary::-webkit-details-marker { display: none; }
.gp .gp-faq summary i { position: relative; flex: none; width: 24px; height: 24px; }
.gp .gp-faq summary i::before, .gp .gp-faq summary i::after { content: ""; position: absolute; left: 0; top: 11px; width: 24px; height: 1.6px; background: var(--gp-sage); transition: transform .25s; }
.gp .gp-faq summary i::after { transform: rotate(90deg); }
.gp .gp-faq details[open] summary i::after { transform: rotate(0deg); }
.gp .gp-faq details p { padding: 0 60px 24px 0; font-size: 15.5px; line-height: 1.65; color: var(--gp-text); }

/* Contact */
.gp .gp-contact { padding: 116px 0 113px; }
.gp .gp-contact__in { display: grid; grid-template-columns: minmax(0, 445fr) minmax(0, 542fr); column-gap: 65px; align-items: start; }
.gp .gp-contact__copy { padding-top: 1px; }
.gp .gp-h2--contact { max-width: 445px; }
.gp .gp-contact__text { margin-top: 20px; font-size: 17.1px; line-height: 27.8px; color: var(--gp-text); }
.gp .gp-contact-list { margin-top: 30px; border-top: 1px solid #d8d2c2; }
.gp .gp-contact-list li { display: flex; align-items: center; gap: 17px; padding: 17px 0 18px; border-bottom: 1px solid #d8d2c2; }
.gp .gp-contact-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 45px; border-radius: 11px; background: #fff; color: var(--gp-ink); box-shadow: 0 4px 10px -6px rgba(35, 37, 25, .3); }
.gp .gp-contact-icon .gp-i { width: 18px; height: 18px; }
.gp .gp-contact-list small { display: block; font-size: 12.5px; color: var(--gp-muted); }
.gp .gp-contact-list a, .gp .gp-contact-list div > span { display: block; margin-top: 4px; font-size: 16px; font-weight: 600; color: var(--gp-ink); }

.gp .gp-form-card { margin-top: 3px; padding: 37px 38px 38px; background: #fff; border-radius: 24px; box-shadow: 0 40px 70px -40px rgba(60, 50, 20, .35), 0 0 0 1px rgba(35, 37, 25, .03); }
.gp .gp-form-card .wpcf7 { margin: 0; }
.gp .gp-form-card form { margin: 0; }
.gp .gp-form-card .gp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 16px; }
.gp .gp-form-card .gp-form-grid > div { min-width: 0; }
.gp .gp-form-card .gp-span { grid-column: 1 / -1; }
.gp .gp-form-card label { display: block; font-size: 13.1px; font-weight: 600; color: var(--gp-text); line-height: 1.2; }
.gp .gp-form-card .wpcf7-form-control-wrap { display: block; margin-top: 11px; }
.gp .gp-form-card input[type="text"], .gp .gp-form-card input[type="email"], .gp .gp-form-card input[type="tel"], .gp .gp-form-card select, .gp .gp-form-card textarea {
	display: block; width: 100%; height: 52px; margin: 0; padding: 0 15px; background: var(--gp-cream); border: 1px solid #ddd8c8; border-radius: 10px; box-shadow: none; outline: 0; font-family: var(--gp-font); font-size: 15.5px; font-weight: 400; color: var(--gp-ink); line-height: 1.3; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.gp .gp-form-card select { -webkit-appearance: none; appearance: none; padding-right: 40px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23232519' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
.gp .gp-form-card textarea { height: 110px; padding: 13px 15px; resize: vertical; }
.gp .gp-form-card ::placeholder { color: var(--gp-text); opacity: .85; }
.gp .gp-form-card input:focus, .gp .gp-form-card select:focus, .gp .gp-form-card textarea:focus { border-color: var(--gp-gold); background-color: #fff; box-shadow: 0 0 0 3px rgba(199, 153, 61, .18); }
.gp .gp-form-card input[type="submit"], .gp .gp-form-card .wpcf7-submit {
	display: block; width: 100%; height: 54px; margin: 6px 0 0; padding: 0 20px; border: 0; border-radius: 999px; background: var(--gp-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23241810' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat calc(50% + 77px) 50%; color: var(--gp-btn-ink); font-family: var(--gp-font); font-size: 16.5px; font-weight: 600; letter-spacing: -.1px; cursor: pointer; box-shadow: 0 12px 24px -14px rgba(160, 115, 30, .9); transition: background-color .2s; padding-right: 26px; }
.gp .gp-form-card input[type="submit"]:hover { background-color: var(--gp-gold-hover); }
.gp .gp-form-card .gp-form-note { order: 2; margin: 19px 0 0; text-align: center; font-size: 12.5px; line-height: 1.68; color: var(--gp-muted); }
.gp .gp-form-card form > p:has(.wpcf7-submit) { margin: 0; }
.gp .gp-form-card form { display: flex; flex-direction: column; }
.gp .gp-form-card form > * { order: 1; }
.gp .gp-form-card form > .gp-form-note { order: 3; }
.gp .gp-form-card form > .wpcf7-response-output { order: 4; }
.gp .gp-form-card .wpcf7-spinner { position: absolute; margin: 0; }
.gp .gp-form-card .wpcf7-not-valid-tip { margin-top: 6px; font-size: 12.5px; color: #b0412b; }
.gp .gp-form-card .wpcf7-response-output { margin: 16px 0 0 !important; padding: 10px 14px !important; border-radius: 10px; font-size: 14px; }
.gp .gp-form-card br { display: none; }

/* Footer */
.gp .gp-footer { padding-top: 82px; }
.gp .gp-footer__grid { display: grid; grid-template-columns: minmax(0, 334fr) minmax(0, 240fr) minmax(0, 240fr) minmax(0, 238fr); padding-bottom: 56px; }
.gp .gp-footer__logo { display: flex; align-items: center; justify-content: center; width: 89px; height: 63px; border-radius: 12px; background: var(--gp-cream); }
.gp .gp-footer__logo img { width: 52px; }
.gp .gp-footer__brand p { margin-top: 28px; max-width: 290px; font-size: 14.5px; line-height: 23px; color: var(--gp-on-dark-3); }
.gp .gp-social { display: flex; gap: 10px; margin-top: 25px; }
.gp .gp-social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid rgba(213, 201, 180, .22); border-radius: 10px; color: var(--gp-on-dark); transition: border-color .2s, color .2s; }
.gp .gp-social a:hover { border-color: var(--gp-gold); color: var(--gp-gold); }
.gp .gp-social .gp-i { width: 14px; height: 14px; }
.gp .gp-footer h4 { font-size: 13.1px; font-weight: 600; color: #efe6d4; letter-spacing: .1px; margin-top: 3px; }
.gp .gp-footer ul { margin-top: 20px; }
.gp .gp-footer li { margin-bottom: 19px; font-size: 14.5px; line-height: 1.3; color: var(--gp-on-dark-3); }
.gp .gp-footer li a:hover { color: #fff; }
.gp .gp-footer__contact { margin-top: 16px !important; }
.gp .gp-footer__contact li { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
.gp .gp-footer__contact .gp-i { width: 16px; height: 16px; color: var(--gp-gold); }
.gp .gp-footer__bar { border-top: 1px solid var(--gp-dark-line); }
.gp .gp-footer__bar-in { display: flex; align-items: center; justify-content: space-between; height: 70px; font-size: 13.1px; color: #9c8f78; }
.gp .gp-footer__legal { display: flex; align-items: center; gap: 9px; }
.gp .gp-footer__legal i { font-style: normal; opacity: .6; }
.gp .gp-footer__legal a:hover { color: #fff; }

/* Responsive */
@media (max-width: 1100px) {
	.gp .gp-nav { gap: 20px; margin-right: 18px; }
	.gp .gp-nav .gp-nav__link { font-size: 14.5px; }
	.gp .gp-hero__in { grid-template-columns: minmax(0, 1fr) 420px; }
	.gp .gp-hero__art { transform: scale(.88); transform-origin: right center; }
	.gp .gp-step-grid { grid-template-columns: repeat(4, 1fr); }
	.gp .gp-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 24px; }
}

@media (max-width: 960px) {
	.gp .gp-burger { display: inline-flex; }
	.gp .gp-header__call { display: none; }
	.gp .gp-nav { position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; gap: 0; margin: 0; padding: 8px 24px 18px; background: var(--gp-cream); border-bottom: 1px solid var(--gp-line); box-shadow: 0 20px 30px -20px rgba(0, 0, 0, .25); display: none; }
	.gp .gp-nav { max-height: calc(100vh - 120px); overflow-y: auto; }
	.gp .gp-nav__item { flex-wrap: wrap; border-bottom: 1px solid var(--gp-line); }
	.gp .gp-nav__item:last-child { border-bottom: 0; }
	.gp .gp-nav .gp-nav__link { flex: 1; padding: 14px 0; font-size: 17px; }
	.gp .gp-nav__link .gp-i { display: none; }
	.gp .gp-nav__caret, .gp .gp-nav__caret:hover, .gp .gp-nav__caret:focus { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--gp-ink); box-shadow: none; }
	.gp .gp-nav__caret .gp-i { width: 18px; height: 18px; stroke-width: 2; transition: transform .2s; }
	.gp .gp-nav__item.is-open .gp-nav__caret .gp-i { transform: rotate(180deg); }
	.gp .gp-drop, .gp .gp-nav__item--wide .gp-drop { position: static; display: none; columns: auto; width: 100%; min-width: 0; padding: 0 0 12px 8px; border: 0; border-radius: 0; box-shadow: none; background: transparent; opacity: 1; visibility: visible; transform: none; }
	.gp .gp-nav__item.is-open .gp-drop { display: block; }
	.gp .gp-nav .gp-drop a { padding: 10px 12px; font-size: 15.5px; white-space: normal; }
	.gp.gp-nav-open .gp-nav { display: flex; }
	.gp.gp-nav-open .gp-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.gp.gp-nav-open .gp-burger span:nth-child(2) { opacity: 0; }
	.gp.gp-nav-open .gp-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.gp .gp-header__actions { margin-left: auto; gap: 10px; }

	.gp .gp-hero__in { grid-template-columns: minmax(0, 1fr); padding-top: 72px; padding-bottom: 72px; }
	.gp .gp-hero__title { max-width: 100%; }
	.gp .gp-hero__art { transform: none; width: 100%; max-width: 494px; margin: 20px auto 0; }
	.gp .gp-split, .gp .gp-partner .gp-split, .gp .gp-industries__in, .gp .gp-why__in, .gp .gp-certs__in, .gp .gp-faq__in, .gp .gp-contact__in { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
	.gp .gp-industries__intro .gp-lead, .gp .gp-h2, .gp .gp-volume__copy { max-width: 100%; }
	.gp .gp-partner__lead { justify-self: start; }
	.gp .gp-intro__body { padding-left: 0; }
	.gp .gp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gp .gp-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gp .gp-feature, .gp .gp-feature:nth-child(3n + 1), .gp .gp-feature:nth-child(3n + 2) { padding: 36px 28px; border-left: 1px solid var(--gp-dark-line); }
	.gp .gp-feature:nth-child(2n + 1) { padding-left: 0; border-left: 0; }
	.gp .gp-cert-grid { margin-top: 0; }
	.gp .gp-volume__in { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
	.gp .gp-volume__num strong { margin-top: 0; }
	.gp .gp-volume .gp-btn { margin-top: 0; }
	.gp .gp-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
	.gp .gp-step-grid li:nth-child(3) { padding-left: 0; border-left: 0; }
	.gp .gp-why__copy { padding-top: 0; }
	.gp .gp-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 44px; }
	.gp .gp-markets__in { flex-direction: column; gap: 14px; height: auto; padding-top: 22px; padding-bottom: 22px; }
	.gp .gp-markets ul { flex-wrap: wrap; justify-content: center; gap: 12px 28px; }
}

@media (max-width: 782px) {
	.admin-bar .gp .gp-header { top: 46px; }
}

@media (max-width: 640px) {
	.gp-wrap { padding: 0 16px; }
	.gp .gp-hide-sm { display: none; }
	.gp .gp-topbar { font-size: 12.5px; }
	.gp .gp-header .gp-btn--sm { width: auto; padding: 0 18px; height: 42px; font-size: 14.5px; }
	.gp .gp-h2 { font-size: 36px; letter-spacing: -.8px; }
	.gp .gp-lead, .gp .gp-hero__lead, .gp .gp-partner__lead { font-size: 17px; }
	.gp .gp-hero__title { font-size: 48px; letter-spacing: -1.2px; }
	.gp .gp-hero .gp-btn--gold, .gp .gp-hero .gp-btn--white, .gp .gp-cta .gp-btn--gold, .gp .gp-cta .gp-btn--white { width: 100%; }
	.gp .gp-stats > div { padding: 0 18px; }
	.gp .gp-hero__art { aspect-ratio: auto; height: 360px; }
	.gp .gp-hero__img--chicory { left: 10px; top: 14px; width: 58%; height: 250px; }
	.gp .gp-hero__img--onion { width: 46%; height: 160px; }
	.gp .gp-hero__img--garlic { left: auto; right: 4px; top: 180px; width: 52%; height: 178px; }
	.gp .gp-hero__badge { top: 250px; width: 200px; height: 92px; padding: 0 16px; }
	.gp .gp-intro, .gp .gp-products, .gp .gp-partner, .gp .gp-industries, .gp .gp-why, .gp .gp-certs, .gp .gp-steps, .gp .gp-faq, .gp .gp-contact { padding: 72px 0; }
	.gp .gp-cta { padding: 64px 0 80px; }
	.gp .gp-cta__title { font-size: 40px; }
	.gp .gp-head-row { flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: 36px; }
	.gp .gp-cards, .gp .gp-features, .gp .gp-step-grid, .gp .gp-footer__grid { grid-template-columns: minmax(0, 1fr); }
	.gp .gp-roles { max-width: 100%; }
	.gp .gp-faq summary { font-size: 16.5px; }
	.gp .gp-contact-list a { word-break: break-word; }
	.gp .gp-feature, .gp .gp-feature:nth-child(n) { padding: 30px 0; border-left: 0; }
	.gp .gp-step-grid li, .gp .gp-step-grid li:nth-child(n) { padding-left: 0; border-left: 0; }
	.gp .gp-roles { grid-template-columns: minmax(0, 1fr); }
	.gp .gp-why__card { padding: 26px 22px 18px; }
	.gp .gp-cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gp .gp-volume__num strong { font-size: 72px; }
	.gp .gp-volume__copy h2 { font-size: 26px; }
	.gp .gp-form-card { padding: 26px 20px; }
	.gp .gp-form-card .gp-form-grid { grid-template-columns: minmax(0, 1fr); }
	.gp .gp-faq details p { padding-right: 0; }
	.gp .gp-footer__bar-in { flex-direction: column; justify-content: center; gap: 8px; height: auto; padding-top: 20px; padding-bottom: 20px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.gp *, .gp *::before, .gp *::after { transition: none !important; }
}

/* ---- Motion: scroll reveal + hover (all pages) ---- */
.gp .gp-reveal { opacity: 0; transform: translateY(26px); transition: opacity .75s ease, transform .75s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--gp-delay, 0s); }
.gp .gp-reveal.is-in { opacity: 1; transform: none; }

/* Pictures: gentle zoom inside their frame */
.gp :is(.gp-media__img, .gp-split2__art figure, .gp-pg-hero__art, .gp-gallery figure, .gp-prose__img, .gp-article__img, .gp-hero__img, .gp-card__img) { overflow: hidden; }
.gp :is(.gp-media__img, .gp-split2__art figure, .gp-pg-hero__art, .gp-gallery figure, .gp-prose__img, .gp-article__img, .gp-hero__img) img { transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.gp :is(.gp-media:hover .gp-media__img, .gp-split2__art figure:hover, .gp-pg-hero__art:hover, .gp-gallery figure:hover, .gp-prose__img:hover, .gp-article__img:hover, .gp-hero__img:hover) img { transform: scale(1.05); }

/* Cards and tiles lift */
.gp :is(.gp-card, .gp-pcard, .gp-rt-item, .gp-specs li, .gp-rt-specs > li, .gp-cert-grid li, .gp-roles > div, .gp-media, .gp-ref) { transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s, border-color .35s; }
.gp :is(.gp-card, .gp-rt-item, .gp-specs li, .gp-rt-specs > li, .gp-cert-grid li, .gp-roles > div):hover { transform: translateY(-4px); box-shadow: 0 24px 40px -28px rgba(35, 37, 25, .45); }
.gp .gp-media:hover { transform: translateY(-3px); }
.gp :is(.gp-specs li, .gp-rt-specs > li, .gp-cert-grid li):hover { border-color: var(--gp-gold); }

/* Feature columns: number line grows, title warms */
.gp :is(.gp-feat__item, .gp-feature) { transition: background-color .35s; }
.gp .gp-feat__no { transition: background-size .45s cubic-bezier(.2, .7, .2, 1), color .3s; }
.gp :is(.gp-feat__title, .gp-feature h3, .gp-media__title, .gp-pcard__title, .gp-ind-list h3) { transition: color .3s; }
.gp .gp-feature .gp-i { transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.gp .gp-ind-list li { transition: background-color .3s, padding-left .3s; }
.gp .gp-ind-list li:hover { padding-left: 12px; }
.gp .gp-ind-list li:hover h3 { color: var(--gp-sage); }

/* Buttons and links */
.gp .gp-btn { transition: background-color .2s, color .2s, border-color .2s, transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s; }
.gp .gp-btn:hover { transform: translateY(-2px); }
.gp .gp-btn--gold:hover { box-shadow: 0 16px 28px -14px rgba(199, 153, 61, .95); }
.gp .gp-btn .gp-i { transition: transform .25s; }
.gp .gp-btn:hover .gp-i { transform: translateX(3px); }
.gp :is(.gp-pcard__title, .gp-pg-h2, .gp-media__title) a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .35s; }
.gp :is(.gp-pcard__title, .gp-pg-h2, .gp-media__title) a:hover { background-size: 100% 1.5px; }
.gp .gp-faq summary { transition: color .25s; }
.gp .gp-faq summary:hover { color: var(--gp-sage); }

@media (prefers-reduced-motion: reduce) {
	.gp .gp-reveal { opacity: 1; transform: none; transition: none; }
	.gp *:hover { transform: none !important; }
}

/* ---- Checklist points: hover (all pages) ---- */
.gp .gp-rt ul:has(> li:nth-child(4)) > li { transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .3s, background-color .3s, box-shadow .3s, color .3s; }
.gp .gp-rt ul:has(> li:nth-child(4)) > li::before { transition: transform .3s cubic-bezier(.2, .7, .2, 1), background-color .3s; }
.gp .gp-rt ul:has(> li:nth-child(4)) > li:hover { transform: translateY(-3px); border-color: var(--gp-gold); box-shadow: 0 16px 28px -22px rgba(35, 37, 25, .5); color: var(--gp-ink); }
.gp .gp-rt ul:has(> li:nth-child(4)) > li:hover::before { transform: scale(1.25); background: var(--gp-gold); }
/* Points on dark panels / sections: dark boxes, light text */
.gp :is(.gp-dark, .gp-media:nth-child(even)) .gp-rt ul:has(> li:nth-child(4)) > li { background: rgba(255, 255, 255, .06); border-color: rgba(213, 201, 180, .2); color: #efe6d4; }
.gp :is(.gp-dark, .gp-media:nth-child(even)) .gp-rt ul:has(> li:nth-child(4)) > li::before { background: var(--gp-gold); }
.gp :is(.gp-dark, .gp-media:nth-child(even)) .gp-rt ul:has(> li:nth-child(4)) > li:hover { background: rgba(255, 255, 255, .11); color: #fff; box-shadow: 0 16px 28px -22px rgba(0, 0, 0, .7); }
/* Light panels inside dark sections keep light boxes */
.gp .gp-dark .gp-media:nth-child(odd) .gp-rt ul:has(> li:nth-child(4)) > li { background: #fff; border-color: #ebe8dd; color: var(--gp-text); }
.gp .gp-dark .gp-media:nth-child(odd) .gp-rt ul:has(> li:nth-child(4)) > li::before { background: var(--gp-sage); }

@media (prefers-reduced-motion: reduce) {
	.gp .gp-rt ul > li, .gp .gp-rt ul > li::before { transition: none; }
}

/* "Talk to our team" (outline button in FAQ sections) */
.gp .gp-btn--outline { border: 1.5px solid var(--gp-dark); color: var(--gp-dark); background: transparent; }
.gp .gp-btn--outline:hover, .gp .gp-btn--outline:focus-visible { background: var(--gp-dark); border-color: var(--gp-dark); color: var(--gp-cream); box-shadow: 0 16px 28px -16px rgba(43, 51, 32, .7); }
.gp .gp-dark .gp-btn--outline { border-color: var(--gp-cream); color: var(--gp-cream); }
.gp .gp-dark .gp-btn--outline:hover { background: var(--gp-cream); color: var(--gp-dark); border-color: var(--gp-cream); }

/* ---- Value boxes (short statements, e.g. "Our Values"): hover ---- */
.gp .gp-feat--hover .gp-feat__item { position: relative; isolation: isolate; transition: transform .4s cubic-bezier(.2, .7, .2, 1); }
.gp .gp-feat--hover .gp-feat__item::before { content: ""; position: absolute; inset: 10px -14px; z-index: -1; border-radius: 18px; background: transparent; transition: background-color .4s, box-shadow .4s; pointer-events: none; }
.gp .gp-feat--hover .gp-feat__item:hover { transform: translateY(-6px); }
.gp .gp-feat--hover .gp-feat__item:hover::before { background: #fff; box-shadow: 0 24px 40px -28px rgba(35, 37, 25, .45); }
.gp .gp-dark .gp-feat--hover .gp-feat__item:hover::before { background: rgba(255, 255, 255, .06); box-shadow: 0 24px 40px -28px rgba(0, 0, 0, .6); }
.gp .gp-feat--hover .gp-feat__no { transition: background-size .45s cubic-bezier(.2, .7, .2, 1); }
.gp .gp-feat--hover .gp-feat__item:hover .gp-feat__no { background-size: 56px 2px; }
.gp .gp-feat--hover .gp-feat__title { transition: color .3s, transform .3s; transform-origin: left center; }
.gp .gp-feat--hover .gp-feat__item:hover .gp-feat__title { color: var(--gp-sage); }
.gp .gp-dark .gp-feat--hover .gp-feat__item:hover .gp-feat__title { color: var(--gp-gold); }
@media (prefers-reduced-motion: reduce) { .gp .gp-feat--hover .gp-feat__item { transition: none; } .gp .gp-feat--hover .gp-feat__item:hover { transform: none; } }

/* ---- Hero: single photo ---- */
.gp .gp-hero__art--single { aspect-ratio: 1 / 1; margin-top: 18px; }
.gp .gp-hero__img--single { inset: 0; width: 100%; height: 100%; border-radius: 26px; box-shadow: 0 40px 80px -36px rgba(0, 0, 0, .7); animation: gp-hero-in 1.1s cubic-bezier(.2, .7, .2, 1) both; }
.gp .gp-hero__img--single img { object-position: 50% 55%; }
@keyframes gp-hero-in { from { opacity: 0; transform: translateY(24px) scale(.97); } to { opacity: 1; transform: none; } }
@media (max-width: 1100px) { .gp .gp-hero__art--single { transform: none; } }
@media (max-width: 760px) {
	.gp .gp-hero__art--single { aspect-ratio: 1 / 1; height: auto; max-width: 440px; }
}

/* ---- Markets strip: endless left-to-right scroll ---- */
.gp .gp-markets__in { gap: 40px; }
.gp .gp-markets__label { flex: none; }
.gp .gp-markets__track { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.gp .gp-markets__belt { display: flex; width: max-content; animation: gp-marquee 38s linear infinite; }
.gp .gp-markets__belt ul { display: flex; flex-wrap: nowrap; gap: 0; }
.gp .gp-markets__belt li { display: inline-flex; align-items: center; gap: 22px; padding-right: 22px; white-space: nowrap; transition: color .25s; }
.gp .gp-markets__belt li::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--gp-gold); opacity: .7; }
.gp .gp-markets__belt li:hover { color: #fff; }
.gp .gp-markets__track:hover .gp-markets__belt { animation-play-state: paused; }
@keyframes gp-marquee { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (max-width: 760px) {
	.gp .gp-markets__track { width: 100%; flex: none; }
	.gp .gp-markets__belt ul { flex-wrap: nowrap; gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.gp .gp-markets__belt { animation: none; width: auto; justify-content: center; }
	.gp .gp-markets__belt ul[aria-hidden] { display: none; }
	.gp .gp-markets__belt ul { flex-wrap: wrap; justify-content: center; }
	.gp .gp-markets__track { -webkit-mask-image: none; mask-image: none; }
}

/* ---- Homepage points: hover ---- */
/* Hero stats */
.gp .gp-stats dt { transition: color .3s; }
.gp .gp-stats > div:hover dt { color: var(--gp-gold); }
/* Intro pills */
.gp .gp-pills li { transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .3s, box-shadow .3s, color .3s; }
.gp .gp-pills .gp-i { transition: color .3s, transform .3s; }
.gp .gp-pills li:hover { transform: translateY(-3px); border-color: var(--gp-gold); box-shadow: 0 14px 24px -18px rgba(35, 37, 25, .55); color: var(--gp-ink); }
.gp .gp-pills li:hover .gp-i { color: var(--gp-gold); transform: scale(1.2); }
/* Product cards: photo zoom, tags tint */
.gp .gp-card__img img { transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.gp .gp-card:hover .gp-card__img img { transform: scale(1.06); }
.gp .gp-tags li { transition: background-color .25s, color .25s; }
.gp .gp-tags li:hover { background: var(--gp-sage-bg); color: var(--gp-sage); }
/* Dark feature grid: icon rises, title turns gold */
.gp .gp-feature h3 { transition: color .3s; }
.gp .gp-feature:hover .gp-i { transform: translateY(-5px) rotate(-6deg); }
.gp .gp-feature:hover h3 { color: var(--gp-gold); }
/* Industries list: icon tile fills */
.gp .gp-ind-icon { transition: background-color .3s, color .3s, transform .35s cubic-bezier(.2, .7, .2, 1); }
.gp .gp-ind-list li:hover .gp-ind-icon { background: var(--gp-sage); color: #fff; transform: rotate(-6deg); }
/* "Why" checklist */
.gp .gp-checklist li { transition: transform .3s cubic-bezier(.2, .7, .2, 1), color .3s; }
.gp .gp-checklist .gp-i { transition: transform .3s, color .3s; }
.gp .gp-checklist li:hover { transform: translateX(6px); color: var(--gp-sage); }
.gp .gp-checklist li:hover .gp-i { transform: scale(1.25); color: var(--gp-gold); }
/* Certifications: icon pops */
.gp .gp-cert-grid .gp-i { transition: transform .35s cubic-bezier(.2, .7, .2, 1), color .3s; }
.gp .gp-cert-grid li:hover .gp-i { transform: translateY(-4px) scale(1.08); color: var(--gp-gold); }
/* Steps: underline runs the full width, title warms */
.gp .gp-step-grid li { transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.gp .gp-step-no { transition: background-size .5s cubic-bezier(.2, .7, .2, 1), color .3s; }
.gp .gp-step-grid h3 { transition: color .3s; }
.gp .gp-step-grid li:hover { transform: translateY(-4px); }
.gp .gp-step-grid li:hover .gp-step-no { background-size: 100% 2px, 100% 2px; color: var(--gp-ink); }
.gp .gp-step-grid li:hover h3 { color: var(--gp-sage); }
/* Volume number breathes */
.gp .gp-volume__num strong { transition: transform .5s cubic-bezier(.2, .7, .2, 1), color .3s; transform-origin: left bottom; }
.gp .gp-volume__num:hover strong { transform: scale(1.04); color: #d8ad55; }
/* Contact details */
.gp .gp-contact-list li { transition: padding-left .3s; }
.gp .gp-contact-list li:hover { padding-left: 8px; }
.gp .gp-contact-list .gp-contact-icon { transition: transform .3s, background-color .3s, color .3s; }
.gp .gp-contact-list li:hover .gp-contact-icon { transform: scale(1.08); }
@media (prefers-reduced-motion: reduce) {
	.gp .gp-hero__img--single { animation: none; }
}