/*
Theme Name: Fides Packaging
Theme URI: https://fidespackaging.co.uk/
Author: Fides Packaging
Description: A lightweight, responsive theme for the Fides Packaging website.
Version: 0.1.7
Text Domain: fides-packaging
*/

@font-face {
	font-family: "Inter";
	src: url("assets/fonts/InterVariable-latin-tr.woff2") format("woff2");
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
}

:root {
	--fides-white: #ffffff;
	--fides-mist: #f3f6f5;
	--fides-mist-soft: #f8faf9;
	--fides-ink: #111715;
	--fides-muted: #48524f;
	--fides-green: #003f34;
	--fides-green-deep: #00352c;
	--fides-line: #d6dfdc;
	--fides-line-strong: #51756c;
	--fides-sans: "Inter", "Helvetica Neue", Arial, sans-serif;
	--fides-display-leading: 1.04;
	--fides-page-gutter: clamp(1.25rem, 4.7vw, 4.75rem);
	--fides-content-max: 96rem;
	--fides-transition: 180ms ease;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--fides-white);
	color: var(--fides-ink);
	font-family: var(--fides-sans);
	font-size: 1rem;
	letter-spacing: normal;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

button {
	font: inherit;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 1rem;
	left: 1rem;
	z-index: 10000;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto;
	background: var(--fides-white);
	color: var(--fides-green);
}

:focus-visible {
	outline: 3px solid #2c8a72;
	outline-offset: 4px;
}

.site-shell {
	min-height: 100vh;
}

.site-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid var(--fides-line);
	background: var(--fides-white);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, var(--fides-content-max));
	min-height: 5.5rem;
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.site-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	font-size: clamp(0.86rem, 1.4vw, 1.18rem);
	font-weight: 500;
	letter-spacing: 0.21em;
	line-height: 1;
	white-space: nowrap;
}

.site-brand__image {
	display: block;
	width: auto;
	height: clamp(2.55rem, 3.1vw, 3rem);
}

.site-navigation {
	display: flex;
	align-items: center;
	gap: clamp(1.5rem, 2.6vw, 2.75rem);
	margin-left: auto;
}

.site-navigation__links {
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.4vw, 2.7rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-navigation__links a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	font-size: 0.94rem;
	font-weight: 450;
	letter-spacing: normal;
}

.site-navigation__links a::after {
	position: absolute;
	right: 0;
	bottom: 0.38rem;
	left: 0;
	height: 1px;
	background: var(--fides-green);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--fides-transition);
}

.site-navigation__links a:hover::after,
.site-navigation__links a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.site-navigation__mega-trigger {
	display: flex;
	align-items: center;
}

.site-navigation__submenu-toggle,
.mega-menu__category-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fides-green);
	cursor: pointer;
}

.site-navigation__submenu-toggle > span:last-child,
.mega-menu__category-toggle > span:last-child {
	width: 0.45rem;
	height: 0.45rem;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-0.15rem) rotate(45deg);
	transition: transform var(--fides-transition);
}

.site-navigation__item--mega.is-open .site-navigation__submenu-toggle > span:last-child {
	transform: translateY(0.1rem) rotate(225deg);
}

.mega-menu {
	position: absolute;
	top: 100%;
	right: var(--fides-page-gutter);
	left: var(--fides-page-gutter);
	display: none;
	padding-top: 0.75rem;
}

.site-navigation__item--mega:hover .mega-menu,
.site-navigation__item--mega:focus-within .mega-menu,
.site-navigation__item--mega.is-hovered .mega-menu,
.site-navigation__item--mega.is-open .mega-menu {
	display: block;
}

.mega-menu__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem 2.5rem;
	padding: 2rem;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-white);
	box-shadow: 0 1.25rem 2.5rem rgb(17 55 49 / 12%);
}

.mega-menu__column {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.mega-menu__category-row {
	display: flex;
	align-items: flex-start;
}

.site-navigation__links .mega-menu__category {
	min-height: 0;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
}

.mega-menu__category-toggle {
	display: none;
}

.mega-menu__products {
	margin: 0.8rem 0 0;
	padding: 0;
	list-style: none;
}

.site-navigation__links .mega-menu__products a {
	min-height: 0;
	padding: 0.28rem 0;
	color: var(--fides-muted);
	font-size: 0.83rem;
	line-height: 1.35;
}

.site-navigation__links .mega-menu__products a:hover,
.site-navigation__links .mega-menu__products a:focus-visible {
	color: var(--fides-green);
}

.site-navigation__links .mega-menu__category::after,
.site-navigation__links .mega-menu__products a::after {
	display: none;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 4.125rem;
	padding: 0.95rem 1.9rem;
	border: 1px solid var(--fides-green);
	border-radius: 0;
	font-size: 0.96rem;
	font-weight: 500;
	letter-spacing: normal;
	line-height: 1.2;
	transition: background-color var(--fides-transition), color var(--fides-transition), border-color var(--fides-transition);
}

.button--compact {
	min-height: 2.875rem;
	padding: 0.7rem 1.65rem;
}

.button--primary {
	background: var(--fides-green);
	color: var(--fides-white);
}

.button--primary:hover,
.button--primary:focus-visible {
	border-color: var(--fides-green-deep);
	background: var(--fides-green-deep);
}

.button--secondary {
	background: var(--fides-white);
	color: var(--fides-ink);
}

.button--secondary:hover,
.button--secondary:focus-visible {
	background: var(--fides-mist);
}

.button__arrow {
	width: 1.35rem;
	height: 1.35rem;
	margin-left: 1.75rem;
	transition: transform var(--fides-transition);
}

.button:hover .button__arrow,
.button:focus-visible .button__arrow {
	transform: translateX(0.25rem);
}

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-white);
	color: var(--fides-green);
	cursor: pointer;
}

.menu-toggle__lines,
.menu-toggle__lines::before,
.menu-toggle__lines::after {
	display: block;
	width: 1.2rem;
	height: 1px;
	background: currentColor;
	content: "";
	transition: transform var(--fides-transition), opacity var(--fides-transition);
}

.menu-toggle__lines {
	position: relative;
}

.menu-toggle__lines::before {
	position: absolute;
	top: -0.38rem;
}

.menu-toggle__lines::after {
	position: absolute;
	top: 0.38rem;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines {
	background: transparent;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines::before {
	transform: translateY(0.38rem) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines::after {
	transform: translateY(-0.38rem) rotate(-45deg);
}

.hero {
	border-bottom: 1px solid var(--fides-line);
}

.hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.98fr) minmax(31rem, 1.02fr);
	gap: clamp(3rem, 7vw, 7.25rem);
	align-items: center;
	width: min(100%, var(--fides-content-max));
	height: clamp(37rem, 48vw, 42.5rem);
	margin-inline: auto;
	padding: clamp(2.6rem, 4vw, 4.5rem) var(--fides-page-gutter);
}

.home-hero .hero__inner {
	position: relative;
	isolation: isolate;
	display: block;
	overflow: hidden;
}

.home-hero__media-layer {
	position: absolute;
	z-index: 0;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.home-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 56% center;
}

.home-hero__media-layer::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.84) 31%, rgba(255, 255, 255, 0.38) 53%, rgba(255, 255, 255, 0.05) 71%, rgba(255, 255, 255, 0) 79%);
	content: "";
}

.home-hero .hero__copy {
	position: relative;
	z-index: 1;
}

.hero__copy {
	max-width: 43rem;
}

.hero__eyebrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.55rem;
	margin: 0 0 1.25rem;
	color: var(--fides-green);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.4;
}

.hero__eyebrow-group {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

.hero__flag {
	display: inline-block;
	flex: 0 0 auto;
	width: auto;
	height: 1em;
	margin-inline-start: 0.4em;
	vertical-align: -0.1em;
}

.hero__title {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(4rem, 5.2vw, 5.25rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.hero__title span {
	display: block;
	white-space: nowrap;
}

.hero__summary {
	max-width: 38rem;
	margin: clamp(2rem, 3.2vw, 2.75rem) 0 0;
	color: #2e3835;
	font-size: clamp(1.08rem, 1.45vw, 1.31rem);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.55;
}

.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1.35rem;
	margin-top: clamp(2rem, 3.2vw, 2.7rem);
}

.media-frame {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-mist);
	color: var(--fides-green);
}

.media-frame--hero {
	width: 100%;
	aspect-ratio: 16 / 10;
}

.media-frame__image--hero {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.media-frame__label {
	max-width: 19rem;
	padding: 2rem;
	font-size: clamp(1.15rem, 1.65vw, 1.5rem);
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
}

.media-frame__ratio {
	position: absolute;
	right: 2rem;
	bottom: 1.35rem;
	font-size: 0.75rem;
	font-weight: 500;
}

.media-frame__corner {
	position: absolute;
	width: 1.8rem;
	height: 1.8rem;
	color: var(--fides-line-strong);
}

.media-frame__corner::before,
.media-frame__corner::after {
	position: absolute;
	background: currentColor;
	content: "";
}

.media-frame__corner::before {
	width: 100%;
	height: 1px;
}

.media-frame__corner::after {
	width: 1px;
	height: 100%;
}

.media-frame__corner--tl {
	top: 1.25rem;
	left: 1.25rem;
}

.media-frame__corner--tr {
	top: 1.25rem;
	right: 1.25rem;
	transform: rotate(90deg);
}

.media-frame__corner--br {
	right: 1.25rem;
	bottom: 1.25rem;
	transform: rotate(180deg);
}

.media-frame__corner--bl {
	bottom: 1.25rem;
	left: 1.25rem;
	transform: rotate(270deg);
}

.promise {
	background: var(--fides-white);
}

.promise__inner,
.capabilities__inner,
.process__inner,
.evidence__inner,
.delivery__inner,
.quote-callout__inner,
.site-footer__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.promise__inner {
	padding-top: clamp(4.5rem, 8vw, 8.5rem);
	padding-bottom: clamp(4.5rem, 8vw, 8.5rem);
}

.promise__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.6fr);
	gap: clamp(3rem, 10vw, 10rem);
	align-items: end;
}

.promise__intro h2,
.capabilities__content h2,
.process__heading h2,
.evidence__copy h2,
.delivery__copy h2,
.quote-callout h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.05rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.promise__intro p,
.capabilities__lead,
.process__heading p,
.evidence__copy > p,
.delivery__copy p,
.quote-callout p {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1.05rem, 1.35vw, 1.25rem);
	letter-spacing: normal;
	line-height: 1.6;
}

.promise__points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--fides-line-strong);
}

.promise-point {
	padding: 1.65rem clamp(1.5rem, 3.4vw, 3.5rem) 0 0;
}

.promise-point + .promise-point {
	padding-left: clamp(1.5rem, 3.4vw, 3.5rem);
	border-left: 1px solid var(--fides-line);
}

.promise-point__number,
.process__number {
	display: block;
	color: var(--fides-green);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.promise-point h3,
.process__steps h3 {
	margin: 2.5rem 0 0;
	font-family: var(--fides-sans);
	font-size: clamp(1.7rem, 2.3vw, 2.35rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.promise-point p,
.process__steps p {
	margin: 1rem 0 0;
	color: var(--fides-muted);
	font-size: 0.98rem;
	line-height: 1.6;
}

.capabilities {
	background: var(--fides-green);
	color: var(--fides-white);
}

.capabilities__inner {
	display: grid;
	grid-template-columns: minmax(20rem, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(4rem, 10vw, 10rem);
	align-items: center;
	padding-top: clamp(4rem, 7vw, 7rem);
	padding-bottom: clamp(4rem, 7vw, 7rem);
}

.capabilities__media {
	width: 100%;
	aspect-ratio: 4 / 5;
	border-color: #71958c;
	background: #0b4a3f;
	color: #dce8e4;
}

.capabilities__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.capabilities__media .media-frame__corner {
	color: #91aaa4;
}

.capabilities__content h2 {
	max-width: 45rem;
}

.capabilities__lead {
	max-width: 41rem;
	margin-top: 2.25rem;
	color: #c7d6d2;
}

.capability-list {
	margin: clamp(3rem, 5vw, 5rem) 0 0;
	padding: 0;
	border-top: 1px solid #71958c;
	list-style: none;
}

.capability-list li {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.2rem 0;
	border-bottom: 1px solid #51756c;
	font-size: clamp(1rem, 1.35vw, 1.2rem);
}

.capability-list li span:last-child {
	color: #9fb7b1;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
}

.process {
	background: var(--fides-mist-soft);
}

.process__inner {
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.process__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 4rem;
}

.process__heading h2 {
	max-width: 40rem;
}

.process__heading p {
	max-width: 31rem;
}

.process__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(4rem, 7vw, 7rem) 0 0;
	padding: 0;
	border-top: 1px solid var(--fides-line-strong);
	list-style: none;
	counter-reset: none;
}

.process__steps li {
	padding: 1.6rem clamp(1.2rem, 2.5vw, 2.5rem) 0 0;
}

.process__steps li + li {
	padding-left: clamp(1.2rem, 2.5vw, 2.5rem);
	border-left: 1px solid var(--fides-line);
}

.process__steps h3 {
	margin-top: 3.5rem;
}

.evidence {
	background: var(--fides-white);
}

.evidence__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.68fr);
	gap: clamp(4rem, 12vw, 12rem);
	align-items: center;
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.evidence__copy > p {
	max-width: 42rem;
	margin-top: 2.25rem;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 1.5rem;
	margin-top: 2.5rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid var(--fides-green);
	color: var(--fides-green);
	font-size: 0.95rem;
	font-weight: 500;
}

.text-link span:last-child {
	display: inline-flex;
	width: 1.3rem;
	height: 1.3rem;
	transition: transform var(--fides-transition);
}

.text-link:hover span:last-child,
.text-link:focus-visible span:last-child {
	transform: translateX(0.25rem);
}

.evidence__document {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 31rem;
	padding: 2rem;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-mist);
	color: var(--fides-green);
}

.evidence__document > span {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.evidence__certifications {
	display: grid;
	gap: 2rem;
	margin: auto 0 0;
	padding: 0;
	list-style: none;
}

.evidence__certifications li {
	display: grid;
	gap: 0.65rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--fides-line-strong);
}

.evidence__certifications strong {
	font-family: var(--fides-sans);
	font-size: clamp(1.75rem, 2.6vw, 2.5rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.05;
}

.evidence__certifications sup {
	font-family: var(--fides-sans);
	font-size: 0.4em;
	vertical-align: super;
}

.evidence__certifications small {
	max-width: 16rem;
	color: var(--fides-muted);
	font-size: 0.86rem;
	line-height: 1.5;
}

.delivery {
	background: var(--fides-mist-soft);
}

.delivery__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr);
	column-gap: clamp(4rem, 9vw, 9rem);
	row-gap: clamp(3rem, 5vw, 5rem);
	align-items: end;
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.delivery__copy p {
	max-width: 41rem;
	margin-top: 2.25rem;
}

.delivery__journey {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 22rem;
	padding: clamp(2rem, 4vw, 3.5rem) 0;
	border-top: 1px solid var(--fides-line-strong);
}

.delivery__route {
	display: grid;
	grid-template-columns: auto minmax(5rem, 1fr) auto;
	gap: clamp(1rem, 2.5vw, 2rem);
	align-items: center;
}

.delivery__location--destination {
	text-align: right;
}

.delivery__location strong {
	font-family: var(--fides-sans);
	font-size: clamp(1.55rem, 2.25vw, 2.3rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1;
}

.delivery__line {
	position: relative;
	height: 1px;
	background: var(--fides-line-strong);
}

.delivery__line span {
	position: absolute;
	top: 50%;
	width: 0.45rem;
	height: 0.45rem;
	border: 1px solid var(--fides-green);
	border-radius: 50%;
	background: var(--fides-mist-soft);
	transform: translate(-50%, -50%);
}

.delivery__line span:nth-child(1) {
	left: 0%;
}

.delivery__line span:nth-child(2) {
	left: 33.333%;
}

.delivery__line span:nth-child(3) {
	left: 66.666%;
}

.delivery__line span:nth-child(4) {
	left: 100%;
	background: var(--fides-green);
}

.delivery__stages {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(3rem, 5vw, 4.5rem) 0 0;
	padding: 0;
	list-style: none;
}

.delivery__stages li {
	display: grid;
	gap: 0.75rem;
	min-width: 0;
	padding: 0 clamp(0.75rem, 1.5vw, 1.5rem);
	border-left: 1px solid var(--fides-line);
}

.delivery__stages li:first-child {
	padding-left: 0;
	border-left: 0;
}

.delivery__stages li:last-child {
	padding-right: 0;
}

.delivery__stages span {
	color: var(--fides-muted);
	font-size: 0.68rem;
	letter-spacing: 0.1em;
}

.delivery__stages strong {
	font-size: clamp(0.78rem, 1vw, 0.9rem);
	font-weight: 500;
	line-height: 1.4;
}

.quote-callout {
	background: var(--fides-green);
	color: var(--fides-white);
}

.quote-callout__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(3rem, 8vw, 8rem);
	align-items: center;
	padding-top: clamp(4.5rem, 7vw, 7rem);
	padding-bottom: clamp(4.5rem, 7vw, 7rem);
}

.quote-callout h2 {
	max-width: 52rem;
}

.quote-callout p {
	max-width: 47rem;
	margin-top: 2rem;
	color: #c7d6d2;
}

.button--light {
	min-width: 19rem;
	border-color: var(--fides-white);
	background: var(--fides-white);
	color: var(--fides-green);
}

.button--light:hover,
.button--light:focus-visible {
	border-color: #dce8e4;
	background: #dce8e4;
}

.packaging-sectors {
	background: var(--fides-mist-soft);
}

.packaging-sectors__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding: clamp(4.5rem, 8vw, 8rem) var(--fides-page-gutter);
}

.packaging-sectors__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.6fr);
	gap: clamp(3rem, 10vw, 10rem);
	align-items: end;
}

.packaging-sectors__heading h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.packaging-sectors__heading p {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1.03rem, 1.3vw, 1.2rem);
	line-height: 1.62;
}

.sector-directory {
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--fides-line-strong);
}

.sector-directory__item {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr) minmax(8rem, 10rem);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	min-height: 10rem;
	padding-block: 1.5rem;
	border-bottom: 1px solid var(--fides-line);
}

.sector-directory__number {
	align-self: start;
	padding-top: 0.55rem;
	color: var(--fides-green);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.sector-directory__content {
	display: grid;
	grid-template-columns: minmax(16rem, 0.85fr) minmax(18rem, 0.7fr);
	column-gap: clamp(2rem, 6vw, 6rem);
	row-gap: 0;
	align-items: start;
}

.sector-directory__content h3 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(2.1rem, 3.2vw, 3.35rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.sector-directory__content p {
	max-width: 34rem;
	margin: 0;
	color: var(--fides-muted);
	font-size: 0.96rem;
	line-height: 1.58;
}

.sector-directory__link {
	display: inline-flex;
	grid-column: 2;
	gap: 0.9rem;
	align-items: center;
	justify-self: start;
	margin-top: 2rem;
	color: var(--fides-green);
	font-size: 0.86rem;
	font-weight: 500;
}

.sector-directory__link span:last-child {
	display: inline-flex;
	width: 1.25rem;
	height: 1.25rem;
	transition: transform var(--fides-transition);
}

.sector-directory__link:hover span:last-child,
.sector-directory__link:focus-visible span:last-child {
	transform: translateX(0.25rem);
}

.sector-directory__media {
	justify-self: end;
	width: min(100%, 9rem);
	aspect-ratio: 4 / 3;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-mist);
}

.sector-directory__image {
	display: block;
	width: 100%;
	height: auto;
}

.category-hero {
	border-bottom: 1px solid var(--fides-line);
	background: var(--fides-white);
}

.category-hero__inner,
.format-section__inner,
.category-information__inner,
.category-showcase__inner,
.specification__inner,
.compliance-note__inner,
.category-process__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.category-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(31rem, 1.1fr);
	gap: clamp(4rem, 8vw, 8rem);
	align-items: center;
	min-height: clamp(39rem, 50vw, 45rem);
	padding-top: clamp(3rem, 5vw, 5rem);
	padding-bottom: clamp(3rem, 5vw, 5rem);
}

.category-hero--wide .category-hero__inner {
	position: relative;
	isolation: isolate;
	display: block;
	overflow: hidden;
	height: clamp(37rem, 48vw, 42.5rem);
	min-height: 0;
	padding-top: clamp(2.6rem, 4vw, 4.5rem);
	padding-bottom: clamp(2.6rem, 4vw, 4.5rem);
}

.category-hero__wide-media-layer {
	position: absolute;
	z-index: 0;
	inset: 0;
	pointer-events: none;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.capabilities-hero__media-layer {
	background-position: 54% center;
}

.about-hero__media-layer {
	background-position: 56% center;
}

.packaging-hero__media-layer {
	background-position: 56% center;
}

.capabilities-hero__media-layer::after,
.about-hero__media-layer::after,
.packaging-hero__media-layer::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.82) 30%, rgba(255, 255, 255, 0.35) 52%, rgba(255, 255, 255, 0.04) 70%, rgba(255, 255, 255, 0) 78%);
	content: "";
}

.category-hero--wide .category-hero__copy {
	position: relative;
	z-index: 1;
	width: 100%;
}

.packaging-hero h1 {
	max-width: 58rem;
	font-size: clamp(3.6rem, 5.2vw, 5.25rem);
	line-height: var(--fides-display-leading);
}

.packaging-hero .category-hero__copy > p {
	max-width: 39rem;
}

@media (min-width: 48.0625rem) {
	.packaging-hero__title-lead {
		white-space: nowrap;
	}
}

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	align-items: center;
	margin-bottom: 2.2rem;
	color: var(--fides-muted);
	font-size: 0.78rem;
	letter-spacing: 0.035em;
}

.breadcrumbs a {
	transition: color var(--fides-transition);
}

.breadcrumbs a:hover,
.breadcrumbs a:focus-visible {
	color: var(--fides-green);
}

.category-hero h1 {
	max-width: 42rem;
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(4.1rem, 6.2vw, 6.5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.category-page--healthcare .category-hero h1,
.category-page--long-title .category-hero h1 {
	font-size: clamp(3.2rem, 4.8vw, 5rem);
	letter-spacing: -0.02em;
}

.capabilities-page__cmyk-word {
	display: inline-block;
}

.capabilities-page__cmyk-segment--cyan {
	color: #007f99;
}

.capabilities-page__cmyk-segment--magenta {
	color: #a63866;
}

.capabilities-page__cmyk-segment--yellow {
	color: #947400;
}

.category-hero__copy > p {
	max-width: 39rem;
	margin: 2.4rem 0 0;
	color: var(--fides-muted);
	font-size: clamp(1.08rem, 1.45vw, 1.3rem);
	letter-spacing: normal;
	line-height: 1.58;
}

.category-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1.8rem;
	align-items: center;
	margin-top: 2.7rem;
}

.category-hero__actions .text-link {
	margin-top: 0;
}

.category-hero__media {
	width: 100%;
	aspect-ratio: 4 / 3;
}

.category-hero__image {
	display: block;
	width: 100%;
	height: auto;
}

.packaging-hub__hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.format-section {
	background: var(--fides-mist-soft);
}

.format-section__inner,
.category-process__inner {
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.format-section__heading,
.category-process__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.6fr);
	gap: clamp(3rem, 10vw, 10rem);
	align-items: end;
}

.format-section__heading h2,
.specification__content h2,
.compliance-note h2,
.category-process__heading h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.format-section__heading p,
.specification__content > p,
.compliance-note p,
.category-process__heading p {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1.03rem, 1.3vw, 1.2rem);
	line-height: 1.62;
}

.format-list {
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--fides-line-strong);
}

.format-row {
	display: grid;
	grid-template-columns: 4rem minmax(0, 0.8fr) minmax(10rem, 0.35fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	min-height: 10.5rem;
	border-bottom: 1px solid var(--fides-line);
}

.format-row__number,
.category-process ol > li > span {
	color: var(--fides-green);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.format-row h3,
.category-process h3 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(1.9rem, 2.8vw, 2.8rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.05;
}

.format-row p,
.category-process ol p {
	max-width: 36rem;
	margin: 0.7rem 0 0;
	color: var(--fides-muted);
	font-size: 0.96rem;
	line-height: 1.55;
}

.format-row__link {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
}

.format-row__link span {
	display: inline-flex;
	width: 1.45rem;
	height: 1.45rem;
	color: var(--fides-green);
	transition: transform var(--fides-transition);
}

.format-row__link:hover span,
.format-row__link:focus-visible span {
	transform: translateX(0.25rem);
}

.format-row__media {
	justify-self: end;
	width: min(100%, 9rem);
	aspect-ratio: 4 / 3;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-mist);
}

.capabilities-page .format-row__media {
	display: grid;
	place-items: center;
	width: clamp(3.5rem, 5vw, 5rem);
	aspect-ratio: 1;
	border: 0;
	background: transparent;
	color: var(--fides-green);
}

.format-row__icon {
	display: block;
	width: clamp(3rem, 4vw, 4rem);
	aspect-ratio: 1;
	background: currentColor;
	-webkit-mask: var(--capability-icon) center / contain no-repeat;
	mask: var(--capability-icon) center / contain no-repeat;
}

.format-row__icon--package-open {
	--capability-icon: url("assets/images/capabilities/package-open.svg");
}

.format-row__icon--pen-tool {
	--capability-icon: url("assets/images/capabilities/pen-tool.svg");
}

.format-row__icon--printer {
	--capability-icon: url("assets/images/capabilities/printer.svg");
}

.format-row__icon--adjustments-spark {
	--capability-icon: url("assets/images/capabilities/adjustments-spark.svg");
}

.format-row__icon--list-check {
	--capability-icon: url("assets/images/capabilities/list-check.svg");
}

.format-row__icon--file-stack {
	--capability-icon: url("assets/images/capabilities/file-stack.svg");
}

.format-row__icon--truck-delivery {
	--capability-icon: url("assets/images/capabilities/truck-delivery.svg");
}

.category-information {
	background: var(--fides-green);
	color: var(--fides-white);
}

.category-information__inner {
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.category-information__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.6fr);
	gap: clamp(3rem, 10vw, 10rem);
	align-items: end;
}

.category-information__heading h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.category-information__heading p {
	margin: 0;
	color: #c7d6d2;
	font-size: clamp(1.03rem, 1.3vw, 1.2rem);
	line-height: 1.62;
}

.category-information__points {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(4rem, 7vw, 7rem) 0 0;
	padding: 0;
	border-top: 1px solid #71958c;
	list-style: none;
}

.category-information__points li {
	display: flex;
	align-items: flex-end;
	min-height: 9.5rem;
	padding: 1.5rem clamp(1.2rem, 2.5vw, 2.5rem) 1.75rem 0;
	border-bottom: 1px solid #51756c;
	font-family: var(--fides-sans);
	font-size: clamp(1.55rem, 2.15vw, 2.2rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.category-information__points li + li {
	padding-left: clamp(1.2rem, 2.5vw, 2.5rem);
	border-left: 1px solid #51756c;
}

.category-showcase {
	background: var(--fides-green);
	color: var(--fides-white);
}

.category-showcase__inner {
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.category-showcase__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.6fr);
	gap: clamp(3rem, 10vw, 10rem);
	align-items: end;
}

.category-showcase__heading h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.category-showcase__heading p {
	margin: 0;
	color: #c7d6d2;
	font-size: clamp(1.03rem, 1.3vw, 1.2rem);
	line-height: 1.62;
}

.category-showcase__heading-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.category-showcase__controls {
	display: flex;
	gap: 0.65rem;
	margin-top: 2rem;
}

.category-showcase__controls[hidden] {
	display: none;
}

.category-showcase__control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: 1px solid #71958c;
	background: transparent;
	color: var(--fides-white);
	cursor: pointer;
	transition: border-color var(--fides-transition), background-color var(--fides-transition), opacity var(--fides-transition);
}

.category-showcase__control:not(:disabled):hover,
.category-showcase__control:focus-visible {
	border-color: var(--fides-white);
	background: #0b4a3f;
}

.category-showcase__control:disabled {
	opacity: 0.35;
	cursor: default;
}

.category-showcase__control svg {
	width: 1.35rem;
	height: 1.35rem;
}

.category-showcase__control--previous svg {
	transform: rotate(180deg);
}

.category-showcase__gallery {
	--showcase-gap: clamp(0.7rem, 1.25vw, 1.2rem);

	display: grid;
	grid-auto-columns: calc((100% - var(--showcase-gap) - var(--showcase-gap) - var(--showcase-gap)) / 4);
	grid-auto-flow: column;
	gap: var(--showcase-gap);
	margin-top: clamp(4rem, 7vw, 7rem);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	touch-action: pan-x pinch-zoom;
	-webkit-overflow-scrolling: touch;
}

.category-showcase__gallery::-webkit-scrollbar {
	display: none;
}

.category-showcase__item {
	min-width: 0;
	padding: var(--showcase-gap);
	border: 1px solid #71958c;
	scroll-snap-align: start;
}

.category-showcase__trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: zoom-in;
}

.category-showcase__frame {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1;
	border: 1px solid #51756c;
	background: #0b4a3f;
	color: #dce8e4;
}

.category-showcase__trigger:hover .category-showcase__frame,
.category-showcase__trigger:focus-visible .category-showcase__frame {
	border-color: #dce8e4;
}

.category-showcase__trigger:focus-visible {
	outline: 3px solid var(--fides-white);
	outline-offset: 4px;
}

.category-showcase__frame .media-frame__corner {
	color: #91aaa4;
}

.category-showcase__placeholder-label {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.category-showcase__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.category-showcase-lightbox {
	position: fixed;
	z-index: 100;
	width: min(calc(100% - 2rem), 58rem);
	max-width: none;
	max-height: calc(100% - 2rem);
	margin: auto;
	padding: clamp(3.5rem, 6vw, 5.5rem);
	border: 1px solid #71958c;
	background: var(--fides-green);
	color: var(--fides-white);
}

.category-showcase-lightbox::backdrop {
	background: rgba(0, 29, 24, 0.84);
}

.category-showcase-lightbox__close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: 1px solid #71958c;
	background: transparent;
	color: var(--fides-white);
	font-size: 2rem;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}

.category-showcase-lightbox__close:hover,
.category-showcase-lightbox__close:focus-visible {
	border-color: var(--fides-white);
	background: #0b4a3f;
}

.category-showcase-lightbox__stage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 46rem);
	margin-inline: auto;
	aspect-ratio: 1;
}

.category-showcase-lightbox__image,
.category-showcase-lightbox__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.category-showcase-lightbox__placeholder {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #71958c;
	background: #0b4a3f;
	color: #dce8e4;
}

.category-showcase-lightbox__placeholder span:first-child {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.showcase-lightbox-open {
	overflow: hidden;
}

.specification {
	background: var(--fides-green);
	color: var(--fides-white);
}

.specification__inner {
	display: grid;
	grid-template-columns: minmax(19rem, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(4rem, 10vw, 10rem);
	align-items: center;
	padding-top: clamp(4rem, 7vw, 7rem);
	padding-bottom: clamp(4rem, 7vw, 7rem);
}

.specification__inner--without-media {
	grid-template-columns: minmax(0, 1fr);
}

.specification__inner--without-media .specification__content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: auto auto;
	gap: clamp(2.25rem, 3vw, 3rem) clamp(4rem, 8vw, 8rem);
	align-items: start;
	width: 100%;
}

.specification__inner--without-media .specification__content h2 {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.specification__inner--without-media .specification__content > p {
	grid-column: 2;
	grid-row: 1;
	margin-top: 0;
}

.specification__inner--without-media .specification__content ul {
	grid-column: 2;
	grid-row: 2;
	margin-top: 0;
}

.specification__media {
	width: 100%;
	aspect-ratio: 1;
	border-color: #71958c;
	background: #0b4a3f;
	color: #dce8e4;
}

.packaging-hub__detail-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.capabilities-print-detail__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.specification__media .media-frame__corner {
	color: #91aaa4;
}

.specification__content > p {
	max-width: 43rem;
	margin-top: 2.2rem;
	color: #c7d6d2;
}

.specification__content ul {
	margin: clamp(3rem, 5vw, 5rem) 0 0;
	padding: 0;
	border-top: 1px solid #71958c;
	list-style: none;
}

.specification__content li {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.15rem 0;
	border-bottom: 1px solid #51756c;
	font-size: clamp(1rem, 1.35vw, 1.2rem);
}

.specification__content li span:last-child {
	color: #9fb7b1;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
}

.compliance-note {
	background: var(--fides-white);
}

.compliance-note__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 0.65fr);
	gap: clamp(4rem, 12vw, 12rem);
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.compliance-note .text-link {
	margin-top: 2.5rem;
}

.category-process {
	background: var(--fides-mist-soft);
}

.category-process ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(4rem, 7vw, 7rem) 0 0;
	padding: 0;
	border-top: 1px solid var(--fides-line-strong);
	list-style: none;
}

.category-process ol li {
	padding: 1.55rem clamp(1.2rem, 2.5vw, 2.5rem) 0 0;
}

.category-process ol li + li {
	padding-left: clamp(1.2rem, 2.5vw, 2.5rem);
	border-left: 1px solid var(--fides-line);
}

.category-process h3 {
	margin-top: 3.2rem;
}

.product-hero {
	border-bottom: 1px solid var(--fides-line);
	background: var(--fides-white);
}

.product-hero__inner,
.product-overview__inner,
.product-brief__inner,
.product-detail__inner,
.product-suitability__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.product-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(31rem, 1.08fr);
	gap: clamp(4rem, 8vw, 8rem);
	align-items: center;
	min-height: clamp(39rem, 50vw, 45rem);
	padding-top: clamp(3rem, 5vw, 5rem);
	padding-bottom: clamp(3rem, 5vw, 5rem);
}

.product-hero h1 {
	max-width: 39rem;
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(4.1rem, 6.2vw, 6.5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.product-page--long-title .product-hero h1 {
	font-size: clamp(3.2rem, 4.8vw, 5rem);
	letter-spacing: -0.02em;
}

.product-hero__copy > p {
	max-width: 39rem;
	margin: 2.4rem 0 0;
	color: var(--fides-muted);
	font-size: clamp(1.08rem, 1.45vw, 1.3rem);
	letter-spacing: normal;
	line-height: 1.58;
}

.product-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1.8rem;
	align-items: center;
	margin-top: 2.7rem;
}

.product-hero__actions .text-link {
	margin-top: 0;
}

.product-hero__media {
	width: 100%;
	aspect-ratio: 4 / 3;
}

.food-boxes-image {
	display: block;
	width: 100%;
	height: auto;
}

.product-overview {
	background: var(--fides-white);
}

.product-overview__inner,
.product-suitability__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(20rem, 0.65fr);
	gap: clamp(4rem, 12vw, 12rem);
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.product-overview h2,
.product-brief__heading h2,
.product-detail__content h2,
.product-suitability h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.product-overview__copy p,
.product-brief__heading p,
.product-detail__content > p,
.product-suitability p {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1.03rem, 1.3vw, 1.2rem);
	line-height: 1.62;
}

.product-overview__copy p + p {
	margin-top: 1.5rem;
}

.product-brief {
	background: var(--fides-mist-soft);
}

.product-brief__inner {
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.product-brief__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.6fr);
	gap: clamp(3rem, 10vw, 10rem);
	align-items: end;
}

.product-brief__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(4rem, 7vw, 7rem) 0 0;
	padding: 0;
	border-top: 1px solid var(--fides-line-strong);
	list-style: none;
}

.product-brief__list li {
	padding: 1.55rem clamp(1.2rem, 2.5vw, 2.5rem) 0 0;
}

.product-brief__list li + li {
	padding-left: clamp(1.2rem, 2.5vw, 2.5rem);
	border-left: 1px solid var(--fides-line);
}

.product-brief__list li > span {
	color: var(--fides-green);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.product-brief__list h3 {
	margin: 3.2rem 0 0;
	font-family: var(--fides-sans);
	font-size: clamp(1.9rem, 2.8vw, 2.8rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.05;
}

.product-brief__list p {
	margin: 0.7rem 0 0;
	color: var(--fides-muted);
	font-size: 0.96rem;
	line-height: 1.55;
}

.product-detail {
	background: var(--fides-green);
	color: var(--fides-white);
}

.product-detail__inner {
	display: grid;
	grid-template-columns: minmax(19rem, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(4rem, 10vw, 10rem);
	align-items: center;
	padding-top: clamp(4rem, 7vw, 7rem);
	padding-bottom: clamp(4rem, 7vw, 7rem);
}

.product-detail__media {
	width: 100%;
	aspect-ratio: 4 / 5;
	border-color: #71958c;
	background: #0b4a3f;
	color: #dce8e4;
}

.product-detail__media .media-frame__corner {
	color: #91aaa4;
}

.product-detail__content > p {
	max-width: 43rem;
	margin-top: 2.2rem;
	color: #c7d6d2;
}

.product-detail__content ul {
	margin: clamp(3rem, 5vw, 5rem) 0 0;
	padding: 0;
	border-top: 1px solid #71958c;
	list-style: none;
}

.product-detail__content li {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.15rem 0;
	border-bottom: 1px solid #51756c;
	font-size: clamp(1rem, 1.35vw, 1.2rem);
}

.product-detail__content li span:last-child {
	color: #9fb7b1;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
}

.product-suitability {
	background: var(--fides-white);
}

.product-suitability .text-link {
	margin-top: 2.5rem;
}

.related-products {
	background: var(--fides-mist-soft);
}

.related-products__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding: clamp(4.5rem, 8vw, 8rem) var(--fides-page-gutter);
}

.related-products__heading {
	display: grid;
	grid-template-columns: minmax(8rem, 0.25fr) minmax(0, 0.9fr) minmax(18rem, 0.55fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
}

.related-products__heading > p:first-child,
.related-product-card__number {
	color: var(--fides-green);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.related-products__heading > p:first-child,
.related-products__heading > p:last-child {
	margin: 0;
}

.related-products__heading h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.related-products__heading > p:last-child {
	color: var(--fides-muted);
	font-size: 1.02rem;
	line-height: 1.65;
}

.related-products__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(3.5rem, 6vw, 6rem);
	border-top: 1px solid var(--fides-line-strong);
	border-left: 1px solid var(--fides-line-strong);
}

.related-product-card {
	display: flex;
	flex-direction: column;
	min-height: 25rem;
	padding: clamp(1.5rem, 2.5vw, 2.5rem);
	border-right: 1px solid var(--fides-line-strong);
	border-bottom: 1px solid var(--fides-line-strong);
	background: var(--fides-white);
	transition: background-color var(--fides-transition), color var(--fides-transition);
}

.related-product-card:hover,
.related-product-card:focus-visible {
	background: var(--fides-green);
	color: var(--fides-white);
}

.related-product-card:hover .related-product-card__number,
.related-product-card:hover p,
.related-product-card:focus-visible .related-product-card__number,
.related-product-card:focus-visible p {
	color: #c7d6d2;
}

.related-product-card h3 {
	margin: 4.5rem 0 0;
	font-family: var(--fides-sans);
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.related-product-card p {
	margin: 1.25rem 0 0;
	color: var(--fides-muted);
	font-size: 0.94rem;
	line-height: 1.6;
}

.related-product-card__action {
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
	align-items: center;
	margin-top: auto;
	padding-top: 2rem;
	font-size: 0.88rem;
	font-weight: 500;
}

.related-product-card__action > span:last-child {
	display: inline-flex;
	width: 1.4rem;
	height: 1.4rem;
	transition: transform var(--fides-transition);
}

.related-product-card:hover .related-product-card__action > span:last-child,
.related-product-card:focus-visible .related-product-card__action > span:last-child {
	transform: translateX(0.25rem);
}

.quote-intro {
	border-bottom: 1px solid var(--fides-line);
	background: var(--fides-white);
}

.quote-intro__inner,
.quote-form-section__inner,
.quote-reassurance__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.quote-intro__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.55fr);
	gap: clamp(4rem, 11vw, 11rem);
	align-items: end;
	padding-top: clamp(4rem, 7vw, 7rem);
	padding-bottom: clamp(4rem, 7vw, 7rem);
}

.quote-intro h1 {
	max-width: 52rem;
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(4.2rem, 6.4vw, 6.8rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.quote-intro__copy > p {
	max-width: 43rem;
	margin: 2.4rem 0 0;
	color: var(--fides-muted);
	font-size: clamp(1.08rem, 1.45vw, 1.3rem);
	letter-spacing: normal;
	line-height: 1.58;
}

.quote-intro__guidance {
	padding-top: 1.35rem;
	border-top: 1px solid var(--fides-line-strong);
}

.quote-intro__guidance h2 {
	margin: 0 0 2rem;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.quote-intro__guidance ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.quote-intro__guidance li {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--fides-line);
}

.quote-intro__guidance li span {
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.quote-intro__guidance li p {
	margin: 0;
	color: var(--fides-muted);
	font-size: 0.92rem;
	line-height: 1.5;
}

.quote-form-section {
	background: var(--fides-mist-soft);
}

.quote-form-section__inner {
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.quote-form-section__heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.55fr);
	gap: clamp(3rem, 9vw, 9rem);
	align-items: end;
	margin-bottom: clamp(3.5rem, 6vw, 6rem);
}

.quote-form-section__heading h2,
.quote-reassurance h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.quote-form-section__heading p,
.quote-reassurance p {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	line-height: 1.6;
}

.form-notice {
	margin-bottom: 2rem;
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-white);
}

.form-notice--success {
	border-color: #4f7c70;
	color: var(--fides-green);
}

.form-notice--error {
	border-color: #a04b45;
	color: #6f2722;
}

.form-notice p,
.form-notice ul {
	margin: 0.5rem 0 0;
}

.form-notice ul {
	padding-left: 1.2rem;
}

.quote-form {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(2rem, 5vw, 5rem);
	row-gap: 2.2rem;
	padding-top: 2rem;
	border-top: 1px solid var(--fides-line-strong);
}

.quote-form__website {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.form-field {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.form-field--wide,
.form-consent,
.quote-form__submit {
	grid-column: 1 / -1;
}

.form-field label,
.form-consent label {
	color: var(--fides-ink);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.025em;
}

.form-field input,
.form-field select,
.form-field textarea {
	width: 100%;
	min-height: 3.75rem;
	padding: 0.9rem 0;
	border: 0;
	border-bottom: 1px solid var(--fides-line-strong);
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: var(--fides-ink);
	font-family: var(--fides-sans);
	font-size: 1.06rem;
	line-height: 1.4;
	transition: border-color var(--fides-transition), background-color var(--fides-transition);
}

.form-field select {
	appearance: none;
	padding-right: 2rem;
	background-image: linear-gradient(45deg, transparent 50%, var(--fides-green) 50%), linear-gradient(135deg, var(--fides-green) 50%, transparent 50%);
	background-position: calc(100% - 0.7rem) 50%, calc(100% - 0.35rem) 50%;
	background-repeat: no-repeat;
	background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
}

.form-field textarea {
	min-height: 10rem;
	resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
	border-bottom-color: var(--fides-green);
	background: rgba(255, 255, 255, 0.45);
}

.form-field input::placeholder,
.form-field textarea::placeholder {
	color: #77817e;
	opacity: 1;
}

.form-field small,
.quote-form__submit p {
	color: var(--fides-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.form-consent {
	display: grid;
	grid-template-columns: 1.25rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	padding-top: 0.6rem;
}

.form-consent input {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0.15rem 0 0;
	accent-color: var(--fides-green);
}

.form-consent label {
	max-width: 48rem;
	font-weight: 450;
	line-height: 1.55;
}

.quote-form__submit {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2rem;
	align-items: center;
	justify-content: space-between;
	padding-top: 1rem;
}

.quote-form__submit .button {
	cursor: pointer;
}

.quote-form__submit p {
	max-width: 27rem;
	margin: 0;
}

.quote-reassurance {
	background: var(--fides-white);
}

.quote-reassurance__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(19rem, 0.55fr);
	gap: clamp(4rem, 12vw, 12rem);
	align-items: end;
	padding-top: clamp(4.5rem, 8vw, 8rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.site-footer {
	border-top: 1px solid #476e65;
	background: var(--fides-green-deep);
	color: var(--fides-white);
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(15rem, 1.2fr) minmax(12rem, 0.8fr) minmax(15rem, 1fr);
	gap: clamp(3rem, 7vw, 7rem);
	padding-top: 3.5rem;
	padding-bottom: 3.5rem;
}

.site-footer__brand strong {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}

.site-footer__brand p,
.site-footer__note {
	margin: 1.25rem 0 0;
	color: #afc3be;
	font-size: 0.84rem;
	line-height: 1.6;
}

.site-footer__nav {
	display: grid;
	align-content: start;
	gap: 0.75rem;
	font-size: 0.9rem;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
	color: #c7d6d2;
}

.site-footer__note {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
	margin: 0;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.15rem;
	color: var(--fides-white);
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
	color: #c7d6d2;
}

.site-footer__contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3rem;
}

.site-footer__contact a {
	color: var(--fides-white);
}

.site-footer__contact a:hover,
.site-footer__contact a:focus-visible {
	color: #c7d6d2;
}

.whatsapp-link {
	position: fixed;
	right: max(1.25rem, env(safe-area-inset-right));
	bottom: max(1.25rem, env(safe-area-inset-bottom));
	z-index: 15;
	display: inline-flex;
	gap: 0.55rem;
	align-items: center;
	justify-content: center;
	height: 3.25rem;
	padding: 0 1.15rem 0 0.9rem;
	border: 1px solid var(--fides-white);
	border-radius: 999px;
	background: var(--fides-green);
	color: var(--fides-white);
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	box-shadow: 0 0.35rem 1.2rem rgba(0, 53, 44, 0.18);
	transition: background-color var(--fides-transition), transform var(--fides-transition);
}

.whatsapp-link:hover,
.whatsapp-link:focus-visible {
	background: var(--fides-green-deep);
	transform: translateY(-0.15rem);
}

.whatsapp-link svg {
	width: 1.75rem;
	height: 1.75rem;
}

@media (max-width: 48rem) {
	.whatsapp-link {
		right: max(1rem, env(safe-area-inset-right));
		bottom: max(1rem, env(safe-area-inset-bottom));
		width: 3rem;
		height: 3rem;
		padding: 0;
		border-radius: 50%;
	}

	.whatsapp-link span {
		display: none;
	}
}

@media print {
	.whatsapp-link {
		display: none;
	}
}

@media (max-width: 75rem) {
	.site-navigation__links {
		gap: 1.35rem;
	}

	.site-navigation__links a {
		font-size: 0.86rem;
	}

	.hero__inner {
		grid-template-columns: minmax(0, 0.95fr) minmax(28rem, 1.05fr);
		gap: 3.25rem;
	}

	.hero__title {
		font-size: clamp(3.6rem, 5.5vw, 4.55rem);
	}
}

@media (max-width: 64rem) {
	.site-header__inner {
		min-height: 5.1rem;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.site-navigation {
		--fides-menu-link-rows: 7rem;

		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		align-items: stretch;
		max-height: calc(100vh - 5.1rem);
		max-height: calc(100dvh - 5.1rem);
		overflow-y: auto;
		overscroll-behavior-y: contain;
		-webkit-overflow-scrolling: touch;
		padding: 1.25rem var(--fides-page-gutter) 1.75rem;
		border-bottom: 1px solid var(--fides-line-strong);
		background: var(--fides-white);
	}

	.site-navigation.is-open {
		display: block;
	}

	.site-navigation__links {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
		border-top: 1px solid var(--fides-line);
	}

	.site-navigation__links > li {
		border-bottom: 1px solid var(--fides-line);
	}

	.site-navigation__links > li:nth-child(odd) {
		border-right: 1px solid var(--fides-line);
	}

	.site-navigation__links a {
		display: flex;
		min-height: 3.5rem;
		padding: 0.5rem 1rem;
		font-size: 0.95rem;
	}

	.site-navigation__links a::after {
		display: none;
	}

	.site-navigation__item--mega {
		grid-column: 1 / -1;
	}

	.site-navigation__mega-trigger {
		justify-content: space-between;
	}

	.site-navigation__submenu-toggle {
		width: 3.5rem;
		height: 3.5rem;
	}

	.site-navigation__item--mega:hover .mega-menu,
	.site-navigation__item--mega:focus-within .mega-menu,
	.site-navigation__item--mega.is-hovered .mega-menu {
		display: none;
	}

	.site-navigation__item--mega.is-open .mega-menu {
		display: block;
	}

	.mega-menu {
		position: static;
		max-height: max(8rem, calc(100vh - 5.1rem - 3rem - 3.5rem - var(--fides-menu-link-rows) - 4.7rem - 1rem));
		max-height: max(8rem, calc(100dvh - 5.1rem - 3rem - 3.5rem - var(--fides-menu-link-rows) - 4.7rem - 1rem));
		overflow-y: auto;
		overscroll-behavior-y: contain;
		-webkit-overflow-scrolling: touch;
		padding: 0 1rem 1rem;
	}

	.mega-menu__inner {
		display: flex;
		flex-direction: column;
		padding: 0;
		border: 0;
		border-top: 1px solid var(--fides-line);
		box-shadow: none;
	}

	.mega-menu__column {
		display: contents;
	}

	.mega-menu__group {
		order: var(--mega-menu-order);
		border-bottom: 1px solid var(--fides-line);
	}

	.mega-menu__category-row {
		justify-content: space-between;
	}

	.site-navigation__links .mega-menu__category {
		flex: 1;
		padding: 0.75rem 0;
		font-size: 0.9rem;
	}

	.mega-menu__category-toggle {
		display: inline-flex;
		flex: 0 0 3rem;
		height: 3rem;
	}

	.mega-menu__group.is-open .mega-menu__category-toggle > span:last-child {
		transform: translateY(0.1rem) rotate(225deg);
	}

	.mega-menu__products {
		display: none;
		margin: 0;
		padding: 0 0 0.75rem 1rem;
	}

	.mega-menu__group.is-open .mega-menu__products {
		display: block;
	}

	.site-navigation__links .mega-menu__products a {
		min-height: 2.35rem;
		padding: 0.45rem 0;
		font-size: 0.88rem;
	}

	.site-navigation .button {
		width: 100%;
		margin-top: 1rem;
	}

	.hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(23rem, 0.78fr);
		gap: 2.25rem;
		min-height: auto;
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.hero__title {
		font-size: clamp(3.2rem, 6.3vw, 4rem);
	}

	.hero__summary {
		font-size: 1.05rem;
	}

	.hero__actions {
		gap: 0.85rem;
	}

	.button {
		min-height: 3.7rem;
		padding-inline: 1.3rem;
	}

	.button__arrow {
		margin-left: 1rem;
	}

	.promise__intro,
	.evidence__inner {
		gap: 4rem;
	}

	.capabilities__inner {
		gap: 4.5rem;
	}

	.process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.process__steps li:nth-child(3) {
		padding-left: 0;
		border-top: 1px solid var(--fides-line);
		border-left: 0;
	}

	.process__steps li:nth-child(4) {
		border-top: 1px solid var(--fides-line);
	}

	.delivery__inner {
		grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
		gap: 4rem;
	}

	.quote-callout__inner {
		grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.4fr);
		gap: 3rem;
	}

	.category-hero__inner {
		grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 0.8fr);
		gap: 3rem;
	}

	.product-hero__inner {
		grid-template-columns: minmax(0, 0.92fr) minmax(24rem, 0.8fr);
		gap: 3rem;
	}

	.category-hero h1 {
		font-size: clamp(3.7rem, 7vw, 5rem);
	}

	.format-section__heading,
	.packaging-sectors__heading,
	.category-information__heading,
	.category-showcase__heading,
	.category-process__heading {
		gap: 4rem;
	}

	.category-showcase__gallery {
		grid-auto-columns: calc((100% - var(--showcase-gap) - var(--showcase-gap)) / 3);
	}

	.category-information__points {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.category-information__points li:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}

	.sector-directory__content {
		grid-template-columns: minmax(14rem, 0.85fr) minmax(16rem, 0.7fr);
		column-gap: 2.5rem;
	}

	.specification__inner {
		gap: 4.5rem;
	}

	.category-process ol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-brief__heading {
		gap: 4rem;
	}

	.related-products__heading {
		grid-template-columns: 3.5rem minmax(0, 1fr);
		gap: 2.5rem 3rem;
	}

	.related-products__heading > p:last-child {
		grid-column: 2;
	}

	.product-detail__inner {
		gap: 4.5rem;
	}

	.product-brief__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-brief__list li:nth-child(3) {
		padding-left: 0;
		border-top: 1px solid var(--fides-line);
		border-left: 0;
	}

	.product-brief__list li:nth-child(4) {
		border-top: 1px solid var(--fides-line);
	}

	.category-process ol li:nth-child(3) {
		padding-left: 0;
		border-top: 1px solid var(--fides-line);
		border-left: 0;
	}

	.category-process ol li:nth-child(4) {
		border-top: 1px solid var(--fides-line);
	}

	.quote-intro__inner {
		gap: 4rem;
	}

	.quote-intro h1 {
		font-size: clamp(3.9rem, 7vw, 5.4rem);
	}

	.quote-form-section__heading,
	.quote-reassurance__inner {
		gap: 4rem;
	}
}

@media (max-width: 48rem) {
	:root {
		--fides-page-gutter: 1.25rem;
		--fides-display-leading: 1.08;
	}

	.home-hero .hero__inner,
	.category-hero--wide .category-hero__inner {
		height: auto;
		min-height: 37rem;
	}

	.home-hero__image {
	    object-position: 62% center;
    }

	.home-hero__media-layer::after {
		background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 72%, rgba(255, 255, 255, 0.72) 100%);
	}

	.capabilities-hero__media-layer {
		background-position: 58% center;
	}

	.packaging-hero__media-layer {
		background-position: 61% center;
	}

	.capabilities-hero__media-layer::after,
	.packaging-hero__media-layer::after {
		background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.88) 72%, rgba(255, 255, 255, 0.68) 100%);
	}

	.site-brand {
		max-width: 9rem;
	}

	.site-brand__image {
		height: 2.35rem;
	}

	.hero__inner {
		grid-template-columns: 1fr;
		gap: 2.25rem;
		padding-top: 2.35rem;
		padding-bottom: 2.5rem;
	}

	.hero__copy,
	.hero__summary {
		max-width: none;
	}

	.hero__title {
		font-size: clamp(2.75rem, 12vw, 3.375rem);
		letter-spacing: -0.01em;
		line-height: var(--fides-display-leading);
	}

	.hero__title span {
		white-space: normal;
	}

	.hero__summary {
		margin-top: 1.65rem;
		font-size: 1.03rem;
		line-height: 1.55;
	}

	.hero__actions {
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 1.8rem;
	}

	.button {
		justify-content: space-between;
		width: 100%;
	}

	.media-frame--hero {
		min-height: 15rem;
	}

	.media-frame__label {
		max-width: 16rem;
		font-size: 1.12rem;
	}

	.media-frame__ratio {
		right: 1.2rem;
		bottom: 0.85rem;
	}

	.promise__intro,
	.capabilities__inner,
	.process__heading,
	.evidence__inner,
	.delivery__inner,
	.quote-callout__inner,
	.site-footer__inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.promise__intro h2,
	.capabilities__content h2,
	.process__heading h2,
	.evidence__copy h2,
	.delivery__copy h2,
	.quote-callout h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.promise__points {
		display: block;
		margin-top: 3.5rem;
	}

	.promise-point,
	.promise-point + .promise-point {
		padding: 1.4rem 0 2rem;
		border-bottom: 1px solid var(--fides-line);
		border-left: 0;
	}

	.promise-point h3 {
		margin-top: 2rem;
	}

	.capabilities__inner {
		padding-top: 3.5rem;
		padding-bottom: 4rem;
	}

	.capabilities__media {
		max-width: 30rem;
		aspect-ratio: 4 / 5;
	}

	.capabilities__content {
		order: -1;
	}

	.process__heading {
		align-items: start;
	}

	.process__steps {
		display: block;
		margin-top: 3.5rem;
	}

	.process__steps li,
	.process__steps li + li,
	.process__steps li:nth-child(3),
	.process__steps li:nth-child(4) {
		padding: 1.4rem 0 2.2rem;
		border-top: 0;
		border-bottom: 1px solid var(--fides-line);
		border-left: 0;
	}

	.process__steps h3 {
		margin-top: 2rem;
	}

	.evidence__document {
		min-height: 23rem;
	}

	.delivery__journey {
		min-height: 19rem;
	}

	.quote-callout__inner {
		align-items: start;
	}

	.button--light {
		min-width: 0;
	}

	.site-footer__inner {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.site-footer__note {
		gap: 0.75rem;
	}

	.category-hero__inner,
	.packaging-sectors__heading,
	.format-section__heading,
	.category-information__heading,
	.category-showcase__heading,
	.specification__inner,
	.compliance-note__inner,
	.category-process__heading,
	.product-hero__inner,
	.product-overview__inner,
	.product-brief__heading,
	.product-detail__inner,
	.product-suitability__inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.related-products__heading {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.related-products__heading > p:last-child {
		grid-column: auto;
	}

	.related-products__heading h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.related-products__grid {
		display: block;
		margin-top: 3.5rem;
		border-left: 0;
	}

	.related-product-card {
		min-height: 21rem;
		border-left: 1px solid var(--fides-line-strong);
	}

	.packaging-sectors__inner {
		padding-top: 3.5rem;
		padding-bottom: 4rem;
	}

	.packaging-sectors__heading h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.sector-directory {
		margin-top: 3.5rem;
	}

	.sector-directory__item {
		grid-template-columns: 2.4rem minmax(0, 1fr);
		gap: 1rem;
		min-height: 0;
		padding-block: 1.8rem;
	}

	.sector-directory__content {
		display: block;
	}

	.sector-directory__content h3 {
		font-size: clamp(2rem, 9vw, 2.7rem);
	}

	.sector-directory__content p {
		margin-top: 1rem;
	}

	.sector-directory__link {
		margin-top: 2rem;
	}

	.sector-directory__media {
		display: none;
	}

	.category-hero__inner {
		min-height: auto;
		padding-top: 2.4rem;
		padding-bottom: 3rem;
	}

	.product-hero__inner {
		min-height: auto;
		padding-top: 2.4rem;
		padding-bottom: 3rem;
	}

	.breadcrumbs {
		margin-bottom: 1.7rem;
	}

	.category-hero h1 {
		font-size: clamp(3.45rem, 14vw, 4.7rem);
	}

	.category-page--healthcare .category-hero h1,
	.category-page--long-title .category-hero h1 {
		font-size: clamp(2.6rem, 11.5vw, 3.4rem);
		letter-spacing: -0.01em;
		line-height: var(--fides-display-leading);
	}

	.packaging-hero h1 {
		font-size: clamp(2.75rem, 11vw, 3.25rem);
		line-height: var(--fides-display-leading);
	}

	.product-hero h1 {
		font-size: clamp(3.45rem, 14vw, 4.7rem);
	}

	.product-page--long-title .product-hero h1 {
		font-size: clamp(2.6rem, 11.5vw, 3.4rem);
		letter-spacing: -0.01em;
		line-height: var(--fides-display-leading);
	}

	.category-hero__copy > p {
		margin-top: 1.8rem;
		font-size: 1.04rem;
	}

	.product-hero__copy > p {
		margin-top: 1.8rem;
		font-size: 1.04rem;
	}

	.category-hero__actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.3rem;
		align-items: start;
		margin-top: 2rem;
	}

	.product-hero__actions {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.3rem;
		align-items: start;
		margin-top: 2rem;
	}

	.category-hero__actions .text-link {
		justify-self: start;
	}

	.product-hero__actions .text-link {
		justify-self: start;
	}

	.category-hero__media {
		min-height: 15rem;
	}

	.product-hero__media {
		min-height: 15rem;
	}

	.format-section__heading h2,
	.category-information__heading h2,
	.category-showcase__heading h2,
	.specification__content h2,
	.compliance-note h2,
	.category-process__heading h2,
	.product-overview h2,
	.product-brief__heading h2,
	.product-detail__content h2,
	.product-suitability h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.format-list {
		margin-top: 3.5rem;
	}

	.format-row {
		grid-template-columns: 2.4rem minmax(0, 1fr);
		gap: 1rem;
		min-height: 0;
		padding: 1.6rem 0;
	}

	.format-row__media {
		display: none;
	}

	.capabilities-page .format-row {
		grid-template-columns: 2.4rem minmax(0, 1fr) clamp(3.1rem, 12vw, 4rem);
	}

	.capabilities-page .format-row__media {
		display: grid;
		width: clamp(3.1rem, 12vw, 4rem);
	}

	.capabilities-page .format-row__icon {
		width: clamp(2.65rem, 10vw, 3.4rem);
	}

	.format-row h3 {
		font-size: 2rem;
	}

	.category-information__inner {
		padding-top: 3.5rem;
		padding-bottom: 4rem;
	}

	.category-information__points {
		display: block;
		margin-top: 3.5rem;
	}

	.category-information__points li,
	.category-information__points li + li,
	.category-information__points li:nth-child(3) {
		min-height: 0;
		padding: 1.5rem 0;
		border-left: 0;
	}

	.category-showcase__inner {
		padding-top: 3.5rem;
		padding-bottom: 4rem;
	}

	.category-showcase__gallery {
		grid-auto-columns: calc((100% - var(--showcase-gap)) / 2);
		margin-top: 3.5rem;
	}

	.category-showcase-lightbox {
		width: calc(100% - 1rem);
		max-height: calc(100% - 1rem);
		padding: 4.25rem 0.75rem 0.75rem;
	}

	.specification__inner {
		padding-top: 3.5rem;
		padding-bottom: 4rem;
	}

	.specification__media {
		max-width: 30rem;
		aspect-ratio: 4 / 3;
	}

	.specification__content {
		order: -1;
	}

	.specification__inner--without-media .specification__content {
		display: block;
	}

	.specification__inner--without-media .specification__content > p {
		margin-top: 2.2rem;
	}

	.specification__inner--without-media .specification__content ul {
		margin-top: clamp(3rem, 5vw, 5rem);
	}

	.category-process ol {
		display: block;
		margin-top: 3.5rem;
	}

	.product-brief__list {
		display: block;
		margin-top: 3.5rem;
	}

	.category-process ol li,
	.category-process ol li + li,
	.category-process ol li:nth-child(3),
	.category-process ol li:nth-child(4) {
		padding: 1.4rem 0 2.2rem;
		border-top: 0;
		border-bottom: 1px solid var(--fides-line);
		border-left: 0;
	}

	.product-brief__list li,
	.product-brief__list li + li,
	.product-brief__list li:nth-child(3),
	.product-brief__list li:nth-child(4) {
		padding: 1.4rem 0 2.2rem;
		border-top: 0;
		border-bottom: 1px solid var(--fides-line);
		border-left: 0;
	}

	.product-brief__list h3 {
		margin-top: 2rem;
	}

	.product-detail__inner {
		padding-top: 3.5rem;
		padding-bottom: 4rem;
	}

	.product-detail__media {
		max-width: 30rem;
		aspect-ratio: 4 / 3;
	}

	.product-detail__content {
		order: -1;
	}

	.category-process h3 {
		margin-top: 2rem;
	}

	.quote-intro__inner,
	.quote-form-section__heading,
	.quote-reassurance__inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.quote-intro__inner {
		padding-top: 2.5rem;
		padding-bottom: 3.5rem;
	}

	.quote-intro h1 {
		font-size: clamp(3.45rem, 14vw, 4.7rem);
	}

	.quote-intro__copy > p {
		margin-top: 1.8rem;
		font-size: 1.04rem;
	}

	.quote-intro__guidance {
		margin-top: 1rem;
	}

	.quote-form-section__heading h2,
	.quote-reassurance h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.quote-form {
		grid-template-columns: 1fr;
		row-gap: 1.8rem;
	}

	.form-field--wide,
	.form-consent,
	.quote-form__submit {
		grid-column: auto;
	}

	.quote-form__submit {
		display: grid;
		grid-template-columns: 1fr;
	}

	.quote-form__submit .button {
		width: 100%;
	}
}

@media (max-width: 30rem) {
	.hero__title {
		max-width: 22rem;
		font-size: clamp(2.75rem, 11.5vw, 3rem);
	}
}

@media (max-width: 35rem) {
	.category-showcase__gallery {
		grid-auto-columns: 100%;
	}

	.hero__eyebrow {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.3rem;
	}

	.hero__eyebrow-separator {
		display: none;
	}

	.site-navigation__links {
		grid-template-columns: 1fr;
	}

	.site-navigation {
		--fides-menu-link-rows: 14rem;
	}

	.site-navigation__links > li:nth-child(odd) {
		border-right: 0;
	}

	.delivery__journey {
		min-height: 0;
		padding-block: 2rem;
	}

	.delivery__route {
		grid-template-columns: minmax(5rem, auto) minmax(2rem, 1fr) minmax(7rem, auto);
		gap: 0.75rem;
	}

	.delivery__location strong {
		font-size: clamp(1.25rem, 6vw, 1.6rem);
	}

	.delivery__stages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 0;
		margin-top: 2.5rem;
	}

	.delivery__stages li:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}
}

.about-introduction__inner,
.about-story__inner,
.about-places__inner,
.about-people__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.about-introduction {
	background: var(--fides-white);
}

.about-introduction__inner {
	display: grid;
	grid-template-columns: minmax(4rem, 0.18fr) minmax(0, 1fr) minmax(22rem, 0.65fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	padding-top: clamp(5rem, 9vw, 9rem);
	padding-bottom: clamp(5rem, 9vw, 9rem);
}

.about-introduction__index,
.about-story__index,
.about-places__index,
.about-people__index {
	margin: 0;
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.about-introduction h2,
.about-story h2,
.about-places h2,
.about-people h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.about-introduction__copy p {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1.03rem, 1.3vw, 1.2rem);
	line-height: 1.62;
}

.about-introduction__copy p + p {
	margin-top: 1.5rem;
}

.about-story {
	background: var(--fides-mist-soft);
}

.about-story__inner {
	padding-top: clamp(5rem, 9vw, 9rem);
	padding-bottom: clamp(5rem, 9vw, 9rem);
}

.about-story__heading {
	display: grid;
	grid-template-columns: minmax(4rem, 0.18fr) minmax(0, 1fr) minmax(22rem, 0.65fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: end;
}

.about-story__heading > p:last-child {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	line-height: 1.62;
}

.about-timeline {
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--fides-line-strong);
}

.about-timeline__item {
	display: grid;
	grid-template-columns: minmax(7rem, 0.25fr) minmax(14rem, 0.55fr) minmax(20rem, 0.8fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: baseline;
	padding: 2.25rem 0;
	border-bottom: 1px solid var(--fides-line);
}

.about-timeline__item > span,
.about-place__copy > span {
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.about-timeline__item h3,
.about-place h3 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(2rem, 3.3vw, 3.4rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.about-timeline__item p,
.about-place__copy p {
	max-width: 42rem;
	margin: 0;
	color: var(--fides-muted);
	font-size: 0.98rem;
	line-height: 1.62;
}

.about-places {
	background: var(--fides-green);
	color: var(--fides-white);
}

.about-places__inner {
	padding-top: clamp(5rem, 8vw, 8rem);
	padding-bottom: clamp(5rem, 8vw, 8rem);
}

.about-places__heading {
	display: grid;
	grid-template-columns: minmax(4rem, 0.18fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 7vw, 7rem);
}

.about-places__heading h2 {
	max-width: 60rem;
}

.about-places__index,
.about-places .about-place__copy > span {
	color: #a9c0ba;
}

.about-places__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid #71958c;
}

.about-place {
	padding: 2rem clamp(2rem, 5vw, 5rem) 0 0;
}

.about-place + .about-place {
	padding-right: 0;
	padding-left: clamp(2rem, 5vw, 5rem);
	border-left: 1px solid #51756c;
}

.about-place__copy {
	display: grid;
	grid-template-columns: minmax(0, 0.55fr) minmax(16rem, 0.8fr);
	gap: 1.25rem 2rem;
}

.about-place__copy > span {
	grid-column: 1 / -1;
}

.about-place__copy p {
	color: #c7d6d2;
}

.about-people {
	background: var(--fides-white);
}

.about-people__inner {
	padding-top: clamp(4.5rem, 7vw, 7rem);
	padding-bottom: clamp(4.5rem, 7vw, 7rem);
}

.about-people__content {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(24rem, 1fr);
	column-gap: clamp(4rem, 9vw, 9rem);
	align-items: start;
}

.about-people__index,
.about-people__content h2 {
	grid-column: 1 / -1;
}

.about-people__content > p:not(.about-people__index) {
	grid-column: 1;
	max-width: 38rem;
	margin: 2.2rem 0 0;
	color: var(--fides-muted);
	font-size: clamp(1.03rem, 1.3vw, 1.2rem);
	line-height: 1.62;
}

.about-people__content h2 {
	margin-top: 1.5rem;
}

.about-people__disciplines {
	display: grid;
	grid-column: 2;
	grid-row: 3;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(1.5rem, 3vw, 3rem);
	margin-top: 2.2rem;
	border-top: 1px solid var(--fides-line-strong);
}

.about-people__disciplines span {
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--fides-line);
	color: var(--fides-ink);
	font-size: 0.96rem;
}

@media (max-width: 64rem) {
	.about-introduction__inner,
	.about-story__heading {
		grid-template-columns: 3.5rem minmax(0, 1fr);
		gap: 2.5rem 3rem;
	}

	.about-introduction__copy,
	.about-story__heading > p:last-child {
		grid-column: 2;
	}

	.about-timeline__item {
		grid-template-columns: 6rem minmax(14rem, 0.55fr) minmax(18rem, 0.8fr);
		gap: 2.5rem;
	}

	.about-place__copy {
		grid-template-columns: 1fr;
	}

	.about-people__content {
		grid-template-columns: 1fr;
	}

	.about-people__content > p:not(.about-people__index),
	.about-people__disciplines {
		grid-column: 1;
		grid-row: auto;
	}

	.about-people__disciplines {
		margin-top: 3rem;
	}

}

@media (max-width: 48rem) {
	.about-introduction__inner,
	.about-story__heading,
	.about-places__heading {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.about-introduction__inner,
	.about-story__inner,
	.about-places__inner,
	.about-people__inner {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.about-introduction__copy,
	.about-story__heading > p:last-child {
		grid-column: auto;
	}

	.about-introduction h2,
	.about-story h2,
	.about-places h2,
	.about-people h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.about-timeline {
		margin-top: 3.5rem;
	}

	.about-timeline__item {
		grid-template-columns: 1fr;
		gap: 0.7rem;
		padding: 1.6rem 0 2rem;
	}

	.about-timeline__item h3 {
		margin-top: 1rem;
	}

	.about-places__grid {
		grid-template-columns: 1fr;
		margin-top: 3.5rem;
	}

	.about-place,
	.about-place + .about-place {
		padding: 1.8rem 0 3rem;
		border-left: 0;
	}

	.about-place + .about-place {
		border-top: 1px solid #51756c;
	}

	.about-place__copy {
		grid-template-columns: 1fr;
	}

	.about-people__disciplines {
		grid-template-columns: 1fr;
	}

}

.quality-hero__inner,
.quality-framework__inner,
.quality-proof__inner,
.quality-sustainability__inner,
.quality-documents__inner,
.quality-boundary__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.quality-hero {
	border-bottom: 1px solid var(--fides-line);
	background: var(--fides-white);
}

.quality-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	min-height: 0;
	padding-top: clamp(2.6rem, 4vw, 4.5rem);
	padding-bottom: clamp(3rem, 5vw, 5rem);
}

.quality-hero__copy {
	max-width: 68rem;
}

.quality-hero h1 {
	max-width: 52rem;
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(4rem, 6vw, 6.25rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.quality-hero__copy > p {
	max-width: 56rem;
	margin: 2.4rem 0 0;
	color: var(--fides-muted);
	font-size: clamp(1.08rem, 1.45vw, 1.3rem);
	letter-spacing: normal;
	line-height: 1.58;
}

.quality-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	align-items: center;
	margin-top: 2.7rem;
}

.quality-hero__actions .text-link {
	margin-top: 0;
}

.quality-register {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 34rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-mist);
	color: var(--fides-green);
}

.quality-register__heading {
	display: flex;
	flex-direction: column;
	gap: clamp(3rem, 7vw, 6rem);
}

.quality-register__heading > span,
.quality-document > span {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.quality-register__heading strong {
	font-family: var(--fides-sans);
	font-size: clamp(2.8rem, 4.3vw, 4.3rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.quality-register ul {
	margin: 3rem 0;
	padding: 0;
	border-top: 1px solid var(--fides-line-strong);
	list-style: none;
}

.quality-register li {
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--fides-line);
	font-size: 0.88rem;
}

.quality-register li span:last-child {
	color: var(--fides-muted);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.quality-register small {
	max-width: 22rem;
	color: var(--fides-muted);
	font-size: 0.78rem;
	line-height: 1.5;
}

.quality-section-index {
	margin: 0;
	padding-top: 0.45rem;
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.quality-framework {
	background: var(--fides-mist-soft);
}

.quality-framework__inner,
.quality-proof__inner,
.quality-sustainability__inner,
.quality-documents__inner,
.quality-boundary__inner {
	padding-top: clamp(5rem, 8vw, 8rem);
	padding-bottom: clamp(5rem, 8vw, 8rem);
}

.quality-framework__heading,
.quality-proof__heading,
.quality-sustainability__inner,
.quality-documents__heading,
.quality-boundary__inner {
	display: grid;
	grid-template-columns: minmax(4rem, 0.18fr) minmax(0, 1fr) minmax(22rem, 0.65fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: start;
}

.quality-framework h2,
.quality-proof h2,
.quality-sustainability h2,
.quality-documents h2,
.quality-boundary h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.quality-framework__heading > p:last-child,
.quality-proof__heading > p:last-child,
.quality-documents__heading > p:last-child,
.quality-boundary p:not(.quality-section-index),
.quality-sustainability__content p {
	margin: 0;
	color: var(--fides-muted);
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	line-height: 1.62;
}

.quality-framework__steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--fides-line-strong);
}

.quality-framework__steps article {
	padding: 1.6rem clamp(1.2rem, 2.5vw, 2.5rem) 0 0;
}

.quality-framework__steps article + article {
	padding-left: clamp(1.2rem, 2.5vw, 2.5rem);
	border-left: 1px solid var(--fides-line);
}

.quality-framework__steps article > span,
.quality-sustainability__principles article > span {
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.quality-framework__steps h3,
.quality-sustainability__principles h3 {
	margin: 2.8rem 0 0;
	font-family: var(--fides-sans);
	font-size: clamp(1.7rem, 2.3vw, 2.35rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.quality-framework__steps p,
.quality-sustainability__principles p {
	margin: 1rem 0 0;
	color: var(--fides-muted);
	font-size: 0.96rem;
	line-height: 1.6;
}

.quality-proof {
	background: var(--fides-green);
	color: var(--fides-white);
}

.quality-proof__inner {
	color: var(--fides-white);
}

.quality-proof .quality-section-index {
	color: #a9c0ba;
}

.quality-proof__heading > p:last-child {
	color: #c7d6d2;
}

.quality-proof__media {
	width: 100%;
	margin-top: clamp(4rem, 7vw, 7rem);
	aspect-ratio: 16 / 7;
	border-color: #71958c;
	background: #0b4a3f;
	color: #dce8e4;
}

.quality-proof__media .media-frame__corner {
	color: #91aaa4;
}

.quality-sustainability {
	background: var(--fides-white);
}

.quality-sustainability__inner {
	align-items: start;
}

.quality-sustainability__content p + p {
	margin-top: 1.25rem;
}

.quality-documents {
	background: var(--fides-mist-soft);
}

.quality-document-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--fides-line-strong);
	border-left: 1px solid var(--fides-line-strong);
}

.quality-document {
	display: grid;
	grid-template-rows: auto minmax(7.5rem, auto) minmax(5.5rem, auto) auto auto auto;
	align-content: start;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-right: 1px solid var(--fides-line-strong);
	border-bottom: 1px solid var(--fides-line-strong);
	background: var(--fides-white);
}

.quality-document > span {
	color: var(--fides-green);
}

.quality-certificate__heading {
	padding-top: 3rem;
}

.quality-document h3 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(1.8rem, 2.6vw, 2.7rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.quality-certificate__heading strong {
	display: block;
	margin-top: 0.65rem;
	color: var(--fides-green);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.quality-document p {
	margin: 1.5rem 0 0;
	color: var(--fides-muted);
	font-size: 0.88rem;
	line-height: 1.55;
}

.quality-document dl {
	display: grid;
	gap: 0.55rem;
	margin: 1.75rem 0 0;
	padding: 1.25rem 0;
	border-top: 1px solid var(--fides-line);
	border-bottom: 1px solid var(--fides-line);
	font-size: 0.82rem;
	line-height: 1.45;
}

.quality-document dl div {
	display: grid;
	grid-template-columns: minmax(8.5rem, 0.42fr) minmax(0, 1fr);
	gap: 1rem;
}

.quality-document dt {
	color: var(--fides-muted);
}

.quality-document dd {
	margin: 0;
}

.quality-certificate__preview {
	display: grid;
	place-items: center;
	width: min(100%, 22rem);
	margin-top: 2rem;
	margin-inline: auto;
	aspect-ratio: 210 / 297;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-mist);
	color: var(--fides-muted);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
}

.quality-certificate__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.quality-certificate__pdf {
	margin-top: 2rem;
	padding: 0.95rem 1.2rem;
	border: 1px solid var(--fides-line-strong);
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
}

.quality-certificate-scope-note {
	display: grid;
	grid-template-columns: minmax(10rem, 0.25fr) minmax(0, 1fr);
	gap: 2rem;
	margin-top: 2rem;
	padding: 1.5rem 0 0;
	border-top: 1px solid var(--fides-line-strong);
}

.quality-certificate-scope-note strong {
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.quality-certificate-scope-note p {
	max-width: 58rem;
	margin: 0;
	color: var(--fides-muted);
	font-size: 0.82rem;
	line-height: 1.6;
}

.quality-boundary {
	background: var(--fides-white);
}

.quality-boundary .text-link {
	margin-top: 2.5rem;
}

.policy-hero {
	border-bottom: 1px solid var(--fides-line);
	background: var(--fides-white);
}

.policy-hero__inner,
.policy-layout,
.error-page__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.policy-hero__inner {
	padding-top: clamp(4rem, 7vw, 7rem);
	padding-bottom: clamp(4rem, 7vw, 7rem);
}

.policy-hero__eyebrow,
.policy-status__label,
.policy-content__number,
.error-page__code {
	color: var(--fides-green);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.policy-hero__eyebrow {
	margin: 3rem 0 0;
}

.policy-hero h1,
.error-page h1 {
	max-width: 58rem;
	margin: 1rem 0 0;
	font-family: var(--fides-sans);
	font-size: clamp(4rem, 7vw, 7rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.policy-hero__intro,
.error-page__content > p {
	max-width: 48rem;
	margin: 2rem 0 0;
	color: var(--fides-muted);
	font-size: clamp(1.08rem, 1.45vw, 1.3rem);
	line-height: 1.62;
}

.policy-layout {
	display: grid;
	grid-template-columns: minmax(16rem, 0.36fr) minmax(0, 0.9fr);
	gap: clamp(4rem, 10vw, 10rem);
	align-items: start;
	padding-top: clamp(4rem, 7vw, 7rem);
	padding-bottom: clamp(5rem, 9vw, 9rem);
}

.policy-status {
	position: sticky;
	top: 2rem;
	padding: 1.6rem;
	border: 1px solid var(--fides-line-strong);
	background: var(--fides-mist-soft);
}

.policy-status__label {
	margin: 0;
}

.policy-status h2 {
	margin: 2.5rem 0 0;
	font-family: var(--fides-sans);
	font-size: clamp(2rem, 3vw, 3rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.policy-status p:not(.policy-status__label) {
	margin: 1.5rem 0 0;
	color: var(--fides-muted);
	font-size: 0.92rem;
	line-height: 1.6;
}

.policy-content section {
	padding: 0 0 clamp(3rem, 5vw, 5rem);
	border-bottom: 1px solid var(--fides-line);
}

.policy-content section + section {
	padding-top: clamp(3rem, 5vw, 5rem);
}

.policy-content__number {
	margin: 0 0 1.2rem;
}

.policy-content h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(2.4rem, 4vw, 4rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

.policy-content p:not(.policy-content__number),
.policy-content li {
	color: var(--fides-muted);
	font-size: 1.02rem;
	line-height: 1.7;
}

.policy-content p:not(.policy-content__number) {
	margin: 1.5rem 0 0;
}

.policy-content ul {
	margin: 1.75rem 0 0;
	padding-left: 1.25rem;
}

.policy-content li + li {
	margin-top: 0.7rem;
}

.error-page {
	background: var(--fides-mist-soft);
}

.error-page__inner {
	display: grid;
	grid-template-columns: minmax(7rem, 0.24fr) minmax(0, 0.9fr);
	gap: clamp(3rem, 9vw, 9rem);
	align-items: start;
	min-height: 65vh;
	padding-top: clamp(5rem, 10vw, 10rem);
	padding-bottom: clamp(5rem, 10vw, 10rem);
}

.error-page__code {
	margin: 0;
	font-size: clamp(2rem, 4vw, 4rem);
}

.error-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	align-items: center;
	margin-top: 2.75rem;
}

.error-page__actions .text-link {
	margin-top: 0;
}

@media (max-width: 64rem) {
	.quality-hero__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.quality-hero h1 {
		font-size: clamp(3.8rem, 6.5vw, 5.1rem);
	}

	.quality-framework__heading,
	.quality-proof__heading,
	.quality-sustainability__inner,
	.quality-documents__heading,
	.quality-boundary__inner {
		grid-template-columns: 3.5rem minmax(0, 1fr);
		gap: 2.5rem 3rem;
	}

	.quality-framework__heading > p:last-child,
	.quality-proof__heading > p:last-child,
	.quality-sustainability__content,
	.quality-documents__heading > p:last-child,
	.quality-boundary__inner > div {
		grid-column: 2;
	}

	.quality-framework__steps,
	.quality-document-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.quality-framework__steps article:nth-child(3) {
		padding-left: 0;
		border-top: 1px solid var(--fides-line);
		border-left: 0;
	}

	.quality-framework__steps article:nth-child(4) {
		border-top: 1px solid var(--fides-line);
	}

}

@media (max-width: 48rem) {
	.quality-hero__inner,
	.quality-framework__heading,
	.quality-proof__heading,
	.quality-sustainability__inner,
	.quality-documents__heading,
	.quality-boundary__inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.quality-hero__inner {
		min-height: 0;
		padding-top: 2.4rem;
		padding-bottom: 4rem;
	}

	.quality-hero h1 {
		font-size: clamp(3.15rem, 12.5vw, 4.15rem);
		letter-spacing: -0.02em;
		line-height: var(--fides-display-leading);
	}

	.quality-hero__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.quality-hero__actions .text-link {
		justify-self: start;
	}

	.quality-register {
		min-height: 29rem;
	}

	.quality-framework__inner,
	.quality-proof__inner,
	.quality-sustainability__inner,
	.quality-documents__inner,
	.quality-boundary__inner {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.quality-framework h2,
	.quality-proof h2,
	.quality-sustainability h2,
	.quality-documents h2,
	.quality-boundary h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.quality-framework__heading > p:last-child,
	.quality-proof__heading > p:last-child,
	.quality-sustainability__content,
	.quality-documents__heading > p:last-child,
	.quality-boundary__inner > div {
		grid-column: auto;
	}

	.quality-framework__steps,
	.quality-document-grid {
		display: block;
		margin-top: 3.5rem;
		border-left: 0;
	}

	.quality-framework__steps article,
	.quality-framework__steps article + article,
	.quality-framework__steps article:nth-child(3),
	.quality-framework__steps article:nth-child(4) {
		padding: 1.4rem 0 2.2rem;
		border-top: 0;
		border-bottom: 1px solid var(--fides-line);
		border-left: 0;
	}

	.quality-framework__steps h3 {
		margin-top: 2rem;
	}

	.quality-document {
		border-left: 1px solid var(--fides-line-strong);
	}

	.quality-certificate-scope-note {
		grid-template-columns: 1fr;
		gap: 0.75rem;
	}

	.policy-hero h1,
	.error-page h1 {
		font-size: clamp(3.15rem, 12.5vw, 4.15rem);
	}

	.policy-layout,
	.error-page__inner {
		grid-template-columns: 1fr;
		gap: 3rem;
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.policy-status {
		position: static;
	}

	.error-page__inner {
		min-height: 0;
	}

	.error-page__actions {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: start;
	}
}

/* Contact page */
.contact-hero__inner,
.contact-locations__inner,
.contact-routes__inner {
	width: min(100%, var(--fides-content-max));
	margin-inline: auto;
	padding-inline: var(--fides-page-gutter);
}

.contact-hero {
	border-bottom: 1px solid var(--fides-line);
	background: var(--fides-white);
}

.contact-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.52fr);
	gap: clamp(4rem, 11vw, 11rem);
	align-items: end;
	padding-top: clamp(3rem, 5vw, 5rem);
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

.contact-hero h1 {
	max-width: 60rem;
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(4.4rem, 7vw, 7rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.contact-hero__copy > p {
	max-width: 48rem;
	margin: 2.4rem 0 0;
	color: var(--fides-muted);
	font-size: clamp(1.08rem, 1.45vw, 1.3rem);
	letter-spacing: normal;
	line-height: 1.58;
}

.contact-direct {
	padding-top: 1.35rem;
	border-top: 1px solid var(--fides-line-strong);
}

.contact-direct__label,
.contact-section-index,
.contact-location > span,
.contact-location > div > p {
	margin: 0;
	color: var(--fides-green);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.contact-direct__link {
	display: block;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--fides-line);
}

.contact-direct__link span {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--fides-muted);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.contact-direct__link strong {
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	font-weight: 500;
	letter-spacing: normal;
	overflow-wrap: anywhere;
}

.contact-direct__link:hover strong,
.contact-direct__link:focus-visible strong {
	color: var(--fides-green);
}

.contact-direct .button {
	width: 100%;
	margin-top: 2rem;
}

.contact-locations {
	background: var(--fides-green);
	color: var(--fides-white);
}

.contact-locations__inner,
.contact-routes__inner {
	padding-top: clamp(5rem, 9vw, 9rem);
	padding-bottom: clamp(5rem, 9vw, 9rem);
}

.contact-locations__heading {
	display: grid;
	grid-template-columns: minmax(4rem, 0.18fr) minmax(0, 1fr) minmax(22rem, 0.65fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: end;
}

.contact-locations .contact-section-index,
.contact-locations .contact-location > span,
.contact-locations .contact-location > div > p {
	color: #a9c0ba;
}

.contact-locations h2,
.contact-routes h2 {
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(3.1rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: var(--fides-display-leading);
}

.contact-locations__heading > p:last-child {
	margin: 0;
	color: #c7d6d2;
	font-size: clamp(1rem, 1.25vw, 1.16rem);
	line-height: 1.62;
}

.contact-location-list {
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid #71958c;
}

.contact-location {
	display: grid;
	grid-template-columns: minmax(4rem, 0.18fr) minmax(14rem, 1fr) minmax(20rem, 0.65fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: start;
	padding: 2.5rem 0;
	border-bottom: 1px solid #51756c;
}

.contact-location h3 {
	margin: 0.8rem 0 0;
	font-family: var(--fides-sans);
	font-size: clamp(2.4rem, 4vw, 4.2rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

.contact-location address {
	margin: 0;
	color: #dce8e4;
	font-size: clamp(1rem, 1.2vw, 1.12rem);
	font-style: normal;
	line-height: 1.75;
}

.contact-routes {
	background: var(--fides-mist-soft);
}

.contact-routes__heading {
	display: grid;
	grid-template-columns: minmax(4rem, 0.18fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 7vw, 7rem);
}

.contact-route-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(4rem, 7vw, 7rem);
	border-top: 1px solid var(--fides-line-strong);
}

.contact-route {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 2.5rem clamp(2rem, 5vw, 5rem) 0 0;
}

.contact-route + .contact-route {
	padding-right: 0;
	padding-left: clamp(2rem, 5vw, 5rem);
	border-left: 1px solid var(--fides-line);
}

.contact-route h3 {
	max-width: 29rem;
	margin: 0;
	font-family: var(--fides-sans);
	font-size: clamp(2rem, 3.2vw, 3.35rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.08;
}

.contact-route p {
	max-width: 36rem;
	margin: 1.5rem 0 0;
	color: var(--fides-muted);
	font-size: 1rem;
	line-height: 1.65;
}

.contact-route .text-link {
	margin-top: 2.25rem;
}

@media (max-width: 64rem) {
	.contact-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.55fr);
		gap: 3.5rem;
	}

	.contact-hero h1 {
		font-size: clamp(4rem, 7.5vw, 5.4rem);
	}

	.contact-locations__heading {
		grid-template-columns: 3.5rem minmax(0, 1fr);
		gap: 2.5rem 3rem;
	}

	.contact-locations__heading > p:last-child {
		grid-column: 2;
	}

	.contact-location {
		grid-template-columns: 3.5rem minmax(12rem, 0.8fr) minmax(18rem, 1fr);
		gap: 3rem;
	}
}

@media (max-width: 48rem) {
	.contact-hero__inner,
	.contact-locations__heading,
	.contact-routes__heading {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.contact-hero__inner {
		padding-top: 2.4rem;
		padding-bottom: 4rem;
	}

	.contact-hero h1 {
		font-size: clamp(3.25rem, 13vw, 4.2rem);
		letter-spacing: -0.02em;
		line-height: var(--fides-display-leading);
	}

	.contact-locations__inner,
	.contact-routes__inner {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}

	.contact-locations h2,
	.contact-routes h2 {
		font-size: clamp(2.75rem, 12vw, 3.65rem);
	}

	.contact-locations__heading > p:last-child {
		grid-column: auto;
	}

	.contact-location {
		grid-template-columns: 1fr;
		gap: 0.8rem;
		padding: 2rem 0 2.5rem;
	}

	.contact-location > div {
		margin: 0.7rem 0 1.2rem;
	}

	.contact-route-list {
		display: block;
		margin-top: 3.5rem;
	}

	.contact-route,
	.contact-route + .contact-route {
		padding: 2rem 0 3rem;
		border-left: 0;
	}

	.contact-route + .contact-route {
		border-top: 1px solid var(--fides-line);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
.capabilities-hero__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 54% center;
}

@media (max-width: 48rem) {
	.capabilities-hero__image {
		object-position: 58% center;
	}
}
.about-hero__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 56% center;
}