:root {
    --color-blue: #0878b5;
    --color-blue-dark: #075b8b;
    --color-blue-deep: #15364b;
    --color-red: #c71920;
    --color-red-light: #ffe8e8;
    --color-primary: var(--color-blue);
    --color-secondary: var(--color-red);
    --color-ink: #263745;
    --color-muted: #64727d;
    --color-surface: #f4f7f9;
    --color-white: #fff;
    --font-body: "Quicksand", Arial, sans-serif;
    --font-heading: "Quicksand", Arial, sans-serif;
    --container-width: 1160px;
    --shadow-card: 0 16px 48px rgba(21, 54, 75, 0.09);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--color-ink);
    background: var(--color-white);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-blue-deep);
    font-family: var(--font-heading);
    font-weight: 800;
    line-height: 1.15;
}

p {
    color: var(--color-muted);
}

a {
    color: var(--color-blue);
}

a:hover {
    color: var(--color-blue-dark);
}

.container {
    max-width: var(--container-width);
}

.skip-link {
    position: absolute;
    z-index: 1100;
    top: -60px;
    left: 1rem;
    padding: .65rem 1rem;
    color: #fff;
    background: var(--color-blue-dark);
}

.skip-link:focus {
    top: 1rem;
}

.site-header {
    position: relative;
    z-index: 20;
    background: var(--color-white);
}

.site-header .navbar {
    min-height: 88px;
    padding: .8rem 0;
}

.navbar-brand {
    display: flex;
    max-width: 370px;
    align-items: center;
    padding: 0;
}

.navbar-brand img {
    display: block;
    width: 100%;
    max-height: 68px;
    object-fit: contain;
    object-position: left center;
}

.navbar-nav {
    gap: .3rem;
}

.site-header .nav-link {
    padding: .7rem .85rem !important;
    color: #263745;
    font-size: .93rem;
    font-weight: 600;
}

.site-header .nav-link:hover,
.site-header .nav-link.active {
    color: var(--color-blue);
}

.nav-contact-item {
    margin-left: .65rem;
}

.btn,
.text-link,
.contact-card-link,
.category-back-link {
    position: relative;
    z-index: 0;
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    padding: .65rem 1rem;
    border: 1px solid var(--color-red);
    border-radius: 10px;
    color: #fff;
    background: var(--color-red);
    box-shadow: 5px 5px 0 var(--color-blue);
    font-family: var(--font-heading);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.btn::before,
.text-link::before,
.contact-card-link::before,
.category-back-link::before {
    content: none;
}

.btn::after,
.text-link::after,
.contact-card-link::after,
.category-back-link::after {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .85);
    border-radius: 50%;
    color: #fff;
    content: "→";
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    transition: transform .2s ease, background-color .2s ease;
}

.btn:hover,
.text-link:hover,
.contact-card-link:hover,
.category-back-link:hover {
    border-color: #a31218;
    color: #fff;
    background: #a31218;
    box-shadow: 3px 3px 0 var(--color-blue-dark);
}

.btn:hover::after,
.text-link:hover::after,
.contact-card-link:hover::after,
.category-back-link:hover::after {
    transform: translateX(2px);
}

.btn:focus-visible,
.text-link:focus-visible,
.contact-card-link:focus-visible,
.category-back-link:focus-visible {
    outline: 3px solid rgba(8, 120, 181, .38);
    outline-offset: 4px;
}

.btn-primary,
.btn-secondary,
.btn-light {
    color: #fff;
    border-color: var(--color-red);
    background: var(--color-red);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-light:hover,
.btn-light:focus {
    color: #fff;
    border-color: #a31218;
    background: #a31218;
}

.navbar-toggler-icon {
    filter: brightness(0) saturate(100%) invert(17%) sepia(89%) saturate(5896%) hue-rotate(348deg) brightness(90%) contrast(94%);
}

.home-slider .carousel-item {
    height: min(640px, 67vw);
    min-height: 450px;
    background: #213b2e;
}

.home-slider .carousel-item::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(13, 35, 52, .77) 0%, rgba(13, 35, 52, .45) 54%, rgba(13, 35, 52, .05) 100%);
    content: "";
}

.home-slider .carousel-item>img {
    height: 100%;
    object-fit: cover;
    object-position: center 52%;
}

.carousel-caption {
    z-index: 2;
    top: 50%;
    right: auto;
    bottom: auto;
    left: max(calc((100vw - var(--container-width)) / 2), 8%);
    width: min(650px, 75%);
    padding: 0;
    text-align: left;
    transform: translateY(-50%);
}

.carousel-caption h1,
.carousel-caption h2 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(2.7rem, 5.4vw, 4.8rem);
    letter-spacing: -.045em;
}

.carousel-caption>p:not(.eyebrow) {
    max-width: 520px;
    margin-bottom: 1.65rem;
    color: rgba(255, 255, 255, .9);
    font-size: 1.08rem;
}

.carousel-caption .eyebrow {
    margin-bottom: 1.2rem;
}

.carousel-indicators {
    z-index: 3;
    justify-content: flex-start;
    width: var(--container-width);
    max-width: calc(100% - 3rem);
    margin: 0 auto 2rem;
}

.carousel-indicators [data-bs-target] {
    width: 26px;
    height: 4px;
    border: 0;
    opacity: .55;
}

.carousel-indicators .active {
    opacity: 1;
}

.home-slider .carousel-control-prev,
.home-slider .carousel-control-next {
    z-index: 3;
    width: 8%;
}

.home-slider .carousel-control-prev-icon,
.home-slider .carousel-control-next-icon {
    filter: brightness(0) saturate(100%) invert(17%) sepia(89%) saturate(5896%) hue-rotate(348deg) brightness(90%) contrast(94%);
}

.eyebrow {
    margin: 0 0 .85rem;
    color: var(--color-blue);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .15em;
    line-height: 1.4;
    text-transform: uppercase;
}

.eyebrow-light {
    color: var(--color-red-light);
}

.section-space {
    padding: 96px 0;
}

.welcome-grid,
.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 5rem;
}

.welcome-copy h2,
.about-copy h2,
.contact-details h2 {
    margin: 0 0 1.35rem;
    font-size: clamp(2rem, 3vw, 3.1rem);
    letter-spacing: -.04em;
}

.welcome-copy>p:not(.eyebrow),
.about-copy>p:not(.eyebrow) {
    margin-bottom: 1.1rem;
}

.welcome-photo,
.about-image {
    position: relative;
}

.welcome-photo>img,
.about-image>img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
    border-radius: 4px;
}

.experience-badge {
    position: absolute;
    right: -20px;
    bottom: 28px;
    display: flex;
    width: 150px;
    height: 150px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 8px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: var(--color-blue);
    box-shadow: var(--shadow-card);
}

.experience-badge strong {
    font-family: var(--font-heading);
    font-size: 1rem;
}

.experience-badge span {
    font-size: .84rem;
}

.text-link>span[aria-hidden="true"],
.btn>span[aria-hidden="true"],
.contact-card-link>span[aria-hidden="true"] {
    display: none;
}

.text-link {
    width: fit-content;
}

.category-section,
.values-section {
    background: var(--color-surface);
}

.section-heading {
    max-width: 690px;
    margin: 0 auto 2.2rem;
}

.section-heading h2 {
    margin: 0 0 .9rem;
    font-size: clamp(2rem, 3vw, 2.8rem);
    letter-spacing: -.04em;
}

.section-heading>p:last-child {
    margin: 0;
}

.category-card {
    display: flex;
    min-height: 240px;
    height: 100%;
    align-items: center;
    gap: 1.25rem;
    padding: 1.65rem;
    border: 1px solid #e8eee7;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(21, 54, 75, .045);
}

.category-card>img {
    width: 82px;
    height: 92px;
    flex: 0 0 82px;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(15%) sepia(93%) saturate(5012%) hue-rotate(351deg) brightness(83%) contrast(108%);
}

.category-card h3 {
    margin-bottom: .65rem;
    font-size: 1.17rem;
}

.category-card p {
    margin-bottom: .9rem;
    font-size: .91rem;
}

.category-card .text-link {
    font-size: .88rem;
}

.reach-section {
    position: relative;
    overflow: hidden;
    background: #fff;
}

.reach-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
    align-items: end;
    gap: 2rem;
    margin-bottom: 2.4rem;
}

.reach-heading .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: -.9rem;
}

.reach-heading h2 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.8rem);
    letter-spacing: -.04em;
}

.reach-heading>p:last-child {
    margin: 0;
}

.reach-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.reach-card {
    min-height: 245px;
    padding: 1.8rem;
    border: 1px solid #e5ecef;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(21, 54, 75, .055);
}

.reach-card-icon {
    display: flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.3rem;
    border-radius: 14px;
    color: var(--color-red);
    background: var(--color-red-light);
}

.reach-card-icon svg {
    width: 26px;
    height: 26px;
}

.reach-card h3 {
    margin: 0 0 .7rem;
    font-size: 1.2rem;
}

.reach-card p {
    margin: 0;
    font-size: .94rem;
}

.reach-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 2rem;
    padding: 1.4rem 1.6rem;
    border-left: 4px solid var(--color-red);
    background: var(--color-surface);
}

.reach-action p {
    margin: 0;
    color: var(--color-blue-deep);
    font-weight: 700;
}

.inner-hero {
    position: relative;
    overflow: hidden;
    padding: 2.15rem 0 3.75rem;
    background: #fff;
}

.inner-hero-content {
    display: grid;
    min-height: 390px;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5.5rem);
}

.inner-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 510px;
    padding: 2.5rem 0;
}

.inner-hero-copy .eyebrow {
    margin-bottom: 1rem;
    color: var(--color-red);
}

.inner-hero h1 {
    max-width: 500px;
    margin: 0 0 1rem;
    color: var(--color-blue-deep);
    font-size: clamp(2.8rem, 5vw, 4.6rem);
    letter-spacing: -.055em;
}

.inner-hero-intro {
    max-width: 450px;
    margin: 0;
    color: var(--color-muted);
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.7;
}

.inner-hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1.55rem;
    color: #8a969e;
    font-size: .82rem;
}

.inner-hero-breadcrumb a {
    color: var(--color-blue);
    font-weight: 700;
    text-decoration: none;
}

.inner-hero-breadcrumb a:hover {
    color: var(--color-red);
}

.inner-hero-visual {
    position: relative;
    width: 100%;
    max-width: 575px;
    height: 340px;
    justify-self: end;
    padding: 0 0 16px 16px;
}

.inner-hero-accent {
    position: absolute;
    z-index: 0;
    top: -30px;
    right: -26px;
    width: 74%;
    height: 78%;
    border-radius: 5px;
    background: var(--color-red);
}

.inner-hero-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    object-fit: cover;
    box-shadow: 0 20px 45px rgba(21, 54, 75, .13);
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    margin-top: 2.5rem;
}

.value-card {
    min-height: 205px;
    padding: 1.4rem;
    border-top: 3px solid var(--color-blue);
    background: #fff;
    box-shadow: 0 10px 35px rgba(21, 54, 75, .06);
}

.value-card>span {
    color: #91a49a;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.value-card h3 {
    margin: 1rem 0 .7rem;
    font-size: 1.12rem;
}

.value-card p {
    margin: 0;
    font-size: .9rem;
}

.products-intro {
    max-width: 860px;
    margin: 0 auto 2.6rem;
    text-align: center;
}

.products-intro p {
    margin-bottom: .75rem;
}

.product-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
    margin-bottom: 4.5rem;
}

.product-group-card {
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr);
    min-height: 190px;
    overflow: hidden;
    border: 1px solid #e5ecef;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(21, 54, 75, .05);
}

.product-group-card>img {
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
}

.product-group-card>div {
    align-self: center;
    padding: 1.3rem;
}

.product-group-card h2 {
    margin: 0 0 .55rem;
    font-size: 1.2rem;
}

.product-group-card p {
    margin: 0 0 .75rem;
    font-size: .9rem;
}

.product-group-card .text-link {
    min-height: 40px;
    font-size: .84rem;
}

.product-range-heading {
    margin-top: 0;
    text-align: left;
}

.category-detail-intro {
    max-width: 820px;
    margin: 0 auto 2.6rem;
    text-align: center;
}

.category-detail-intro h2 {
    margin: 0 0 .9rem;
    font-size: clamp(2rem, 3.4vw, 2.8rem);
    letter-spacing: -.04em;
}

.category-detail-intro>p:last-child {
    margin: 0;
}

.category-detail-card h3 {
    margin: 0 0 .75rem;
    color: var(--color-blue-deep);
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 800;
    text-transform: capitalize;
}

.category-detail-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 3rem;
    padding: 1.5rem 1.7rem;
    border-left: 4px solid var(--color-red);
    background: var(--color-surface);
}

.category-detail-note p {
    margin: 0;
    font-size: .93rem;
}

.category-detail-note .text-link {
    flex: 0 0 auto;
}

.category-back-link {
    margin-top: 2rem;
}

.product-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #e7ece6;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 36px rgba(21, 54, 75, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-card);
}

.product-image {
    height: 230px;
    overflow: hidden;
    background: var(--color-surface);
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.product-card:hover .product-image img {
    transform: scale(1.04);
}

.product-card-copy {
    padding: 1.55rem;
}

.product-card-copy .eyebrow {
    margin-bottom: .55rem;
    font-size: .66rem;
}

.product-card h2 {
    margin: 0 0 .75rem;
    font-size: 1.35rem;
    text-transform: capitalize;
}

.product-card-copy>p:not(.eyebrow) {
    min-height: 52px;
    font-size: .93rem;
}

.product-card .text-link {
    min-height: 40px;
    font-size: .84rem;
}

.partners-section {
    background: var(--color-surface);
}

.partner-grid {
    margin-top: 3.1rem;
}

.partner-card {
    position: relative;
    display: flex;
    min-height: 285px;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e3eaf0;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(21, 54, 75, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.partner-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 4px;
    background: var(--color-red);
    content: "";
}

.partner-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(21, 54, 75, .12);
}

.partner-logo-panel {
    display: flex;
    min-height: 175px;
    align-items: center;
    justify-content: center;
    padding: 1.5rem 1.75rem;
    background: linear-gradient(145deg, #fff 0%, #f8fafb 100%);
}

.partner-logo-panel img {
    display: block;
    width: 100%;
    max-width: 255px;
    height: 105px;
    object-fit: contain;
}

.partner-card-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
    padding: 1.35rem 1.5rem 1.5rem;
    border-top: 1px solid #edf1f4;
}

.partner-card-copy .eyebrow {
    margin-bottom: .35rem;
    font-size: .62rem;
}

.partner-card h2 {
    margin: 0 0 .25rem;
    font-size: 1.2rem;
}

.partner-card-copy>div>p:last-child {
    margin: 0;
    color: var(--color-muted);
    font-size: .84rem;
}

.partner-card-copy .text-link {
    flex: 0 0 auto;
    font-size: .82rem;
}

.partner-note,
.partner-note-copy {
    color: var(--color-muted);
    font-size: .88rem;
}

.partner-network {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: .8rem 2rem;
    margin-top: 2.5rem;
    padding: 1.7rem 2rem;
    border: 1px solid #e3eaf0;
    border-radius: 10px;
    background: #fff;
}

.partner-network .eyebrow {
    margin-bottom: .35rem;
    font-size: .64rem;
}

.partner-network h2 {
    margin: 0;
    font-size: 1.2rem;
}

.partner-network-names {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.partner-network-names span {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: .5rem 1rem;
    border: 1px solid #e4ebef;
    border-radius: 6px;
    color: var(--color-blue-deep);
    font-family: var(--font-heading);
    font-weight: 800;
}

.partner-note-copy {
    grid-column: 1 / -1;
    margin: .35rem 0 0;
    padding-top: .9rem;
    border-top: 1px solid #edf1f4;
}

.contact-section {
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #f4f7f9 100%);
}

.contact-heading {
    max-width: 690px;
    margin: 0 auto 3rem;
    text-align: center;
}

.contact-heading h2 {
    margin: 0 0 1rem;
    font-size: clamp(2.4rem, 4.8vw, 4rem);
    letter-spacing: -.055em;
}

.contact-heading h2 span {
    color: var(--color-blue);
}

.contact-heading>p:last-child {
    max-width: 550px;
    margin: 0 auto;
}

.contact-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

.contact-option {
    min-height: 310px;
    padding: 2rem;
    border: 1px solid #e4ebef;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(21, 54, 75, .07);
}

.contact-icon {
    display: flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.6rem;
    border-radius: 16px;
    color: var(--color-red);
    background: var(--color-red-light);
}

.contact-icon svg {
    width: 25px;
    height: 25px;
}

.contact-option .eyebrow {
    margin-bottom: .45rem;
    font-size: .67rem;
}

.contact-option h3 {
    margin: 0 0 .75rem;
    font-size: 1.35rem;
}

.contact-option>p:not(.eyebrow) {
    min-height: 50px;
    margin: 0 0 .85rem;
    font-size: .93rem;
}

.contact-option address {
    min-height: 76px;
    margin: 0 0 .8rem;
    color: var(--color-muted);
    font-size: .94rem;
    font-style: normal;
}

.contact-card-link {
    max-width: 100%;
    margin-top: .45rem;
    overflow-wrap: anywhere;
}

.contact-option-featured {
    border-top: 4px solid var(--color-red);
}

.contact-option-featured .contact-icon {
    color: var(--color-red);
    background: var(--color-red-light);
}

.contact-fax {
    margin: .8rem 0 0;
    color: var(--color-muted);
    font-size: .85rem;
}

.contact-option .contact-email-link {
    margin-top: 0;
    font-size: .97rem;
}

.contact-location {
    display: grid;
    min-height: 330px;
    grid-template-columns: 1fr 1fr;
    margin-top: 2.4rem;
    overflow: hidden;
    border-radius: 8px;
    background: var(--color-blue-deep);
}

.contact-location-copy {
    padding: clamp(2rem, 5vw, 4rem);
}

.contact-location-copy h2 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(1.9rem, 3.4vw, 2.8rem);
    letter-spacing: -.04em;
}

.contact-location-copy>p:not(.eyebrow) {
    max-width: 440px;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, .78);
}

.contact-location-copy .btn-light {
    color: #fff;
}

.contact-location-art {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background-color: #eaf5fb;
    background-image: linear-gradient(33deg, transparent 47%, rgba(8, 120, 181, .13) 48%, rgba(8, 120, 181, .13) 50%, transparent 51%), linear-gradient(145deg, transparent 45%, rgba(199, 25, 32, .12) 46%, rgba(199, 25, 32, .12) 48%, transparent 49%), linear-gradient(rgba(21, 54, 75, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(21, 54, 75, .055) 1px, transparent 1px);
    background-size: auto, auto, 42px 42px, 42px 42px;
}

.location-route {
    position: absolute;
    width: 130%;
    height: 18px;
    border: 4px solid rgba(8, 120, 181, .26);
    border-right: 0;
    border-left: 0;
    border-radius: 50%;
    transform: rotate(-24deg);
}

.location-route-one {
    top: 28%;
    left: -15%;
}

.location-route-two {
    top: 60%;
    left: -12%;
    transform: rotate(19deg);
}

.location-route-three {
    top: 44%;
    left: -18%;
    width: 82%;
    transform: rotate(79deg);
}

.location-pin {
    position: absolute;
    top: 32%;
    left: 53%;
    display: flex;
    width: 62px;
    height: 62px;
    align-items: center;
    justify-content: center;
    border: 7px solid rgba(199, 25, 32, .13);
    border-radius: 50%;
    color: #fff;
    background: var(--color-red);
    box-shadow: 0 10px 24px rgba(21, 54, 75, .22);
}

.location-pin svg {
    width: 25px;
    height: 25px;
}

.location-label {
    position: absolute;
    top: calc(32% + 71px);
    left: 53%;
    display: flex;
    min-width: 190px;
    flex-direction: column;
    gap: .15rem;
    padding: .85rem 1rem;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(21, 54, 75, .14);
    transform: translateX(-40%);
}

.location-label strong {
    color: var(--color-blue-deep);
    font-family: var(--font-heading);
    font-size: .85rem;
}

.location-label span {
    color: var(--color-muted);
    font-size: .78rem;
}

.site-footer {
    position: relative;
    isolation: isolate;
    margin-top: 42px;
    color: #d7e0e9;
    background: linear-gradient(135deg, #15364b 0%, #102d40 100%);
}

.site-footer::before {
    position: absolute;
    z-index: -1;
    top: -35px;
    right: 0;
    left: 0;
    height: 36px;
    background: #15364b;
    clip-path: ellipse(78% 100% at 50% 100%);
    content: "";
}

.site-footer::after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--color-red) 0 28%, rgba(8, 120, 181, .85) 28% 100%);
    content: "";
}

.footer-main {
    display: grid;
    grid-template-columns: 1.2fr 1fr .65fr;
    gap: clamp(2rem, 5vw, 5rem);
    padding-top: 2.5rem;
    padding-bottom: 3.25rem;
}

.footer-brand img {
    width: min(300px, 100%);
    max-height: 72px;
    object-fit: contain;
    object-position: left;
    padding: .45rem .6rem;
    border-radius: 8px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.footer-brand>a:first-child:hover img {
    box-shadow: 0 9px 24px rgba(0, 0, 0, .2);
    transform: translateY(-3px);
}

.footer-brand-kicker {
    margin: 0 0 .8rem;
    color: #ff9296;
    font-size: .65rem !important;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1.4 !important;
    text-transform: uppercase;
}

.footer-main .footer-brand h2 {
    margin: 0 0 .9rem;
    padding: 0;
    color: #fff;
    font-size: clamp(1.75rem, 2.5vw, 2.3rem);
    letter-spacing: -.045em;
    line-height: 1.06;
}

.footer-main .footer-brand h2::after {
    display: none;
}

.footer-brand p:not(.footer-brand-kicker) {
    max-width: 360px;
    margin: 0 0 1rem;
    color: #c2d0de;
    font-size: .94rem;
    line-height: 1.75;
}

.footer-brand-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease, gap .2s ease;
}

.footer-brand-link span {
    color: #ff777c;
}

.footer-brand-link:hover {
    gap: .8rem;
    color: #fff;
}

.footer-main h2 {
    position: relative;
    margin: 0 0 1.35rem;
    padding-bottom: .7rem;
    color: #fff;
    font-size: 1.02rem;
    letter-spacing: .015em;
}

.footer-main h2::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 38px;
    height: 3px;
    border-radius: 2px;
    background: var(--color-red);
    content: "";
}

.footer-info-link {
    display: flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    gap: .8rem;
    margin: .65rem 0;
    color: #d7e0e9;
    font-size: .9rem;
    line-height: 1.55;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.footer-icon {
    display: inline-flex;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 10px;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.footer-icon svg {
    width: 18px;
    height: 18px;
}

.footer-info-link:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-info-link:hover .footer-icon {
    border-color: var(--color-red);
    color: #fff;
    background: var(--color-red);
    transform: scale(1.04);
}

.footer-contact .footer-info-link {
    display: flex;
}

.footer-links a {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: .7rem;
    margin: .75rem 0;
    color: #d7e0e9;
    font-size: .9rem;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.footer-link-icon {
    display: inline-flex;
    width: 27px;
    height: 27px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #ff8c90;
    background: rgba(199, 25, 32, .2);
    font-size: .8rem;
    transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.footer-links a:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-links a:hover .footer-link-icon {
    color: #fff;
    background: var(--color-red);
    transform: rotate(8deg);
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: .35rem .8rem;
}

.footer-links h2 {
    grid-column: 1 / -1;
}

.footer-links a {
    width: 100%;
    min-width: 0;
    margin: .35rem 0;
}

.footer-bottom {
    padding: 1.1rem 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    background: rgba(0, 0, 0, .12);
}

.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.footer-bottom p {
    margin: 0;
    color: #b6c4d2;
    font-size: .8rem;
}

.footer-bottom a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #d7e0e9;
    font-size: .82rem;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.footer-bottom a:hover {
    color: #fff;
    transform: translateY(-2px);
}

.footer-bottom a span {
    color: #ff777c;
}

@media (max-width: 991.98px) {
    .site-header .navbar {
        min-height: 76px;
    }

    .navbar-brand {
        max-width: 300px;
    }

    .navbar-nav {
        align-items: stretch !important;
        padding: .7rem 0 1rem;
    }

    .site-header .nav-link {
        padding: .65rem 0 !important;
    }

    .nav-contact-item {
        margin: .6rem 0 0;
    }

    .nav-contact {
        width: fit-content;
    }

    .welcome-grid,
    .about-grid {
        gap: 3rem;
    }

    .values-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-main {
        gap: 2.5rem;
    }
}

@media (max-width: 767.98px) {
    .section-space {
        padding: 70px 0;
    }

    .home-slider .carousel-item {
        min-height: 490px;
        height: 70vh;
        max-height: 610px;
    }

    .carousel-caption {
        left: 8%;
        width: 80%;
    }

    .carousel-caption h1,
    .carousel-caption h2 {
        font-size: clamp(2.5rem, 10vw, 3.4rem);
    }

    .carousel-caption>p:not(.eyebrow) {
        font-size: .98rem;
    }

    .home-slider .carousel-control-prev,
    .home-slider .carousel-control-next {
        width: 7%;
    }

    .welcome-grid,
    .about-grid {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }

    .contact-options {
        grid-template-columns: 1fr;
    }

    .contact-option {
        min-height: auto;
    }

    .contact-option>p:not(.eyebrow),
    .contact-option address {
        min-height: 0;
    }

    .contact-location {
        grid-template-columns: 1fr;
    }

    .welcome-photo {
        order: -1;
    }

    .welcome-photo>img,
    .about-image>img {
        height: 340px;
    }

    .experience-badge {
        right: -8px;
        width: 125px;
        height: 125px;
    }

    .category-card {
        min-height: 210px;
    }

    .inner-hero {
        padding: 1rem 0 2.75rem;
    }

    .inner-hero-content {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .inner-hero-copy {
        max-width: 620px;
        padding: 2rem 0 0;
    }

    .inner-hero h1 {
        font-size: clamp(2.55rem, 9vw, 3.6rem);
    }

    .inner-hero-visual {
        width: calc(100% - 12px);
        max-width: 620px;
        height: clamp(220px, 58vw, 340px);
        justify-self: start;
        margin: 0 12px 0 0;
    }

    .inner-hero-accent {
        top: -20px;
        right: -18px;
        width: 76%;
        height: 78%;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-image {
        height: 250px;
    }

    .site-footer {
        margin-top: 32px;
    }

    .site-footer::before {
        top: -26px;
        height: 27px;
        clip-path: ellipse(88% 100% at 50% 100%);
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 2.25rem 1.5rem;
        padding-top: 2rem;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-contact {
        min-width: 0;
    }

    .footer-info-link {
        font-size: .84rem;
    }

    .footer-bottom-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .partner-network {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.4rem;
    }

    .partner-note-copy {
        grid-column: auto;
    }
}

@media (max-width: 480px) {
    .navbar-brand {
        max-width: 245px;
    }

    .home-slider .carousel-item {
        min-height: 470px;
    }

    .carousel-caption {
        left: 7%;
        width: 84%;
    }

    .carousel-caption .eyebrow {
        font-size: .65rem;
    }

    .carousel-indicators {
        margin-bottom: 1.4rem;
    }

    .category-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .category-card>img {
        width: 66px;
        height: 70px;
        flex-basis: 70px;
    }

    .values-grid {
        grid-template-columns: 1fr;
    }

    .value-card {
        min-height: auto;
    }

    .contact-location-art {
        min-height: 265px;
    }

    .location-label {
        min-width: 170px;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: auto;
    }
}

/* The homepage uses a contained, framed hero with the navigation floating above it. */
.home-page main {
    overflow-x: clip;
}

.home-page .site-header {
    position: absolute;
    top: clamp(18px, 4vh, 38px);
    left: 50%;
    width: min(86%, 1320px);
    transform: translateX(-50%);
    background: transparent;
    box-shadow: none;
}

.home-page .site-header .navbar {
    min-height: 74px;
    padding: .35rem 1.15rem;
    background: #fff;
    box-shadow: 0 12px 32px rgba(21, 54, 75, .17);
}

.home-page .navbar-brand {
    max-width: 280px;
}

.home-page .navbar-brand img {
    max-height: 54px;
}

.home-page .navbar-nav {
    gap: 0;
}

.home-page .site-header .nav-link {
    padding: .6rem .65rem !important;
    font-size: .78rem;
}

.home-page .nav-contact-item {
    margin-left: .35rem;
}

.home-page .nav-contact {
    padding: .65rem .9rem;
    font-size: .76rem;
}

.home-page .home-slider {
    position: relative;
    width: 100%;
    min-height: max(680px, 100vh);
    min-height: max(680px, 100svh);
    margin: 0;
    padding-top: clamp(82px, 7vh, 100px);
}

.home-page .home-slider::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 61vw;
    height: 94%;
    background: var(--color-red);
    border-top: 8px solid var(--color-red);
    border-bottom: 8px solid var(--color-red);
    border-left: 40px solid var(--color-red);
    content: "";
    pointer-events: none;
}

.home-page .slider-contact-rail {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;
    display: flex;
    width: 40px;
    height: 230px;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .035em;
    text-decoration: none;
    writing-mode: vertical-rl;
    transform: translateY(-50%) rotate(180deg);
}

.home-page .slider-contact-rail:hover {
    color: #fff;
}

.home-page .slider-social-rail {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 2.5%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    transform: translateY(-50%);
}

.home-page .slider-social-icon {
    display: flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid #60666b;
    color: #343a40;
    background: #fff;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

.home-page .slider-social-instagram span {
    position: relative;
    width: 14px;
    height: 14px;
    border: 1.5px solid currentColor;
    border-radius: 4px;
}

.home-page .slider-social-instagram span::before {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 6px;
    height: 6px;
    border: 1px solid currentColor;
    border-radius: 50%;
    content: "";
}

.home-page .slider-social-instagram span::after {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.home-page .slider-social-linkedin {
    font-size: 12px;
}

.home-page .home-slider #homeCarousel {
    position: relative;
    z-index: 1;
    width: calc(98% - 110px);
    height: 78vh;
    height: 78svh;
    margin: 0 0 0 40px;
    overflow: hidden;
}

.home-page .home-slider .carousel-item {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: var(--color-blue-deep);
}

.home-page .home-slider .carousel-item::after {
    background: linear-gradient(90deg, rgba(10, 22, 31, .68), rgba(10, 22, 31, .42) 52%, rgba(10, 22, 31, .24));
}

.home-page .home-slider .carousel-item>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 48%;
    transform: scale(1.02);
}

.home-page .home-slider .carousel-item.active>img {
    animation: home-kenburns 7s ease-out both;
}

.home-page .home-slider .carousel-caption {
    top: 50%;
    right: 10%;
    left: 10%;
    width: auto;
    text-align: center;
}

.home-page .home-slider .carousel-caption .eyebrow {
    color: #fff;
}

.home-page .home-slider .carousel-caption h1,
.home-page .home-slider .carousel-caption h2 {
    margin-bottom: .8rem;
    font-size: clamp(2.5rem, 4.5vw, 4rem);
}

.home-page .home-slider .carousel-caption>p:not(.eyebrow) {
    margin-right: auto;
    margin-left: auto;
}

.home-page .home-slider .carousel-indicators {
    right: auto;
    bottom: 18px;
    left: 10%;
    width: auto;
    max-width: none;
    margin: 0;
}

.home-page .home-slider .carousel-indicators [data-bs-target] {
    background-color: #fff;
}

.home-page .home-slider .carousel-control-prev,
.home-page .home-slider .carousel-control-next {
    width: 8%;
}

.home-page .home-slider .carousel-control-prev-icon,
.home-page .home-slider .carousel-control-next-icon {
    filter: none;
}

.home-page .category-section {
    overflow: hidden;
}

.home-page .category-section .section-heading {
    margin-bottom: 3.2rem;
}

.home-page .category-card {
    position: relative;
    display: block;
    min-height: 0;
    height: 100%;
    padding: 0 0 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
}

.home-page .category-photo {
    height: 285px;
    overflow: hidden;
    background: var(--color-blue-deep);
}

.home-page .category-photo-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2, .7, .2, 1), filter .35s ease;
}

.home-page .category-card:hover .category-photo-image {
    transform: scale(1.07);
    filter: saturate(1.08);
}

.home-page .category-info {
    position: relative;
    width: calc(100% - 42px);
    min-height: 205px;
    margin: -44px auto 0;
    padding: 3.6rem 1.35rem 1.35rem;
    border: 1px solid rgba(21, 54, 75, .08);
    background: #fff;
    box-shadow: 0 14px 36px rgba(21, 54, 75, .12);
    transition: transform .3s ease, box-shadow .3s ease;
}

.home-page .category-card:hover .category-info {
    box-shadow: 0 20px 42px rgba(21, 54, 75, .18);
    transform: translateY(-5px);
}

.home-page .category-icon {
    position: absolute;
    top: -37px;
    left: 50%;
    display: flex;
    width: 74px;
    height: 74px;
    align-items: center;
    justify-content: center;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 7px 20px rgba(21, 54, 75, .13);
    transform: translateX(-50%);
}

.home-page .category-icon img {
    display: block;
    width: 43px;
    height: 43px;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(15%) sepia(93%) saturate(5012%) hue-rotate(351deg) brightness(83%) contrast(108%);
    transition: transform .25s ease;
}

.home-page .category-card:hover .category-icon img {
    transform: scale(1.1) rotate(-5deg);
}

.home-page .category-info h3 {
    margin: 0 0 .65rem;
    font-size: 1.18rem;
}

.home-page .category-info p {
    min-height: 54px;
    margin: 0 0 1rem;
    font-size: .91rem;
}

.home-page .category-info .text-link {
    margin: 0 auto;
    font-size: .84rem;
}

.home-page .reach-section {
    position: relative;
    overflow: hidden;
    background: #fff;
}

.home-page .reach-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(3rem, 7vw, 6.5rem);
}

.home-page .reach-copy h2 {
    max-width: 520px;
    margin: 0 0 1rem;
    font-size: clamp(2.1rem, 3.6vw, 3.35rem);
    letter-spacing: -.05em;
}

.home-page .reach-intro {
    max-width: 520px;
    margin: 0 0 1.6rem;
}

.home-page .reach-points {
    display: grid;
    gap: 1rem;
    margin: 0 0 1.8rem;
    padding: 0;
    list-style: none;
}

.home-page .reach-points li {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: .85rem;
}

.home-page .reach-points li:not(:last-child)::after {
    position: absolute;
    top: 38px;
    bottom: -1rem;
    left: 18px;
    border-left: 2px dotted var(--color-red);
    content: "";
}

.home-page .reach-point-icon {
    position: relative;
    z-index: 1;
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: var(--color-red);
    box-shadow: 0 4px 0 rgba(8, 120, 181, .18);
}

.home-page .reach-point-icon svg {
    width: 20px;
    height: 20px;
}

.home-page .reach-points li>span:last-child {
    display: grid;
    gap: .2rem;
}

.home-page .reach-points strong {
    color: var(--color-blue-deep);
    font-family: var(--font-heading);
    font-size: .98rem;
}

.home-page .reach-points small {
    color: var(--color-muted);
    font-size: .87rem;
    line-height: 1.5;
}

.home-page .reach-visual {
    position: relative;
    min-height: 460px;
    padding: 1.5rem 0 1.5rem 1.5rem;
}

.home-page .reach-visual::before {
    position: absolute;
    top: .3rem;
    right: 0;
    bottom: 2.8rem;
    left: 0;
    border-radius: 12px;
    background: var(--color-blue);
    content: "";
}

.home-page .reach-image {
    position: relative;
    display: block;
    width: 100%;
    height: 410px;
    object-fit: cover;
    box-shadow: 0 18px 45px rgba(21, 54, 75, .2);
}

.home-page .home-cta {
    position: relative;
    min-height: 580px;
    overflow: hidden;
    padding: 2rem 0;
    background: #fff;
}

.home-page .home-cta-image {
    position: absolute;
    top: 2.8rem;
    right: max(3%, calc((100vw - var(--container-width)) / 2 - 25px));
    bottom: 2.8rem;
    width: min(69%, 1000px);
}

.home-page .home-cta-image::before {
    position: absolute;
    top: -17px;
    right: 18px;
    bottom: 17px;
    left: -18px;
    border-radius: 18px;
    background: var(--color-blue);
    content: "";
}

.home-page .home-cta-image img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 14px;
    object-fit: cover;
}

.home-page .home-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 532px;
    align-items: center;
}

.home-page .home-cta-panel {
    width: min(56%, 620px);
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 12px;
    color: #fff;
    background: var(--color-red);
    box-shadow: 0 20px 50px rgba(21, 54, 75, .22);
}

.home-page .home-cta-panel .eyebrow {
    color: rgba(255, 255, 255, .76);
}

.home-page .home-cta-panel h2 {
    margin: 0 0 .95rem;
    color: #fff;
    font-size: clamp(2rem, 3.5vw, 3.25rem);
    letter-spacing: -.045em;
}

.home-page .home-cta-panel>p:not(.eyebrow) {
    max-width: 470px;
    margin: 0 0 1.3rem;
    color: rgba(255, 255, 255, .88);
}

.home-page .home-cta-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: 1.6rem;
}

.home-page .home-cta-tags span {
    padding: .32rem .62rem;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 30px;
    color: #fff;
    font-size: .73rem;
    font-weight: 600;
}

.home-page .home-cta-panel .btn {
    border-color: #a31218;
    background: #a31218;
}

.home-page .home-cta-panel .btn::after {
    border-color: #fff;
}

.home-page .home-cta-panel .btn:hover {
    background: #8f1016;
}

@keyframes home-kenburns {
    from {
        transform: scale(1.02);
    }

    to {
        transform: scale(1.13);
    }
}

@media (max-width: 991.98px) {
    .home-page .site-header {
        top: 20px;
        width: calc(100% - 56px);
    }

    .home-page .site-header .navbar {
        min-height: 64px;
    }

    .home-page .navbar-brand {
        max-width: 220px;
    }

    .home-page .home-slider {
        min-height: 650px;
        padding-top: 82px;
    }

    .home-page .home-slider::before {
        width: 68%;
        height: 590px;
    }

    .home-page .home-slider #homeCarousel,
    .home-page .home-slider .carousel-item {
        height: 500px;
    }

    .home-page .reach-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .home-page .reach-copy {
        max-width: 720px;
    }

    .home-page .reach-visual {
        width: min(100%, 800px);
        margin-left: auto;
    }

    .home-page .home-cta-panel {
        width: min(64%, 590px);
    }

    .home-page .home-cta-image {
        width: 72%;
    }
}

@media (max-width: 767.98px) {
    .home-page .site-header {
        top: 14px;
        width: calc(100% - 24px);
    }

    .home-page .site-header .navbar {
        padding: .35rem .7rem;
    }

    .home-page .navbar-brand {
        max-width: 210px;
    }

    .home-page .navbar-brand img {
        max-height: 44px;
    }

    .home-page .navbar-nav {
        padding: .5rem .2rem .75rem;
    }

    .home-page .site-header .nav-link {
        padding: .55rem .25rem !important;
    }

    .home-page .nav-contact-item {
        margin: .35rem 0 0;
    }

    .home-page .home-slider {
        width: 100%;
        min-height: 590px;
        padding-top: 80px;
    }

    .home-page .home-slider::before {
        width: 72%;
        height: 550px;
        border-width: 6px;
        border-left-width: 24px;
    }

    .home-page .slider-contact-rail {
        width: 24px;
        height: 170px;
        font-size: .56rem;
    }

    .home-page .slider-social-rail {
        right: 5px;
        gap: 6px;
    }

    .home-page .slider-social-icon {
        width: 24px;
        height: 24px;
        font-size: 13px;
    }

    .home-page .slider-social-instagram span {
        width: 12px;
        height: 12px;
    }

    .home-page .home-slider #homeCarousel,
    .home-page .home-slider .carousel-item {
        width: calc(100% - 68px);
        height: 470px;
        margin-left: 24px;
    }

    .home-page .home-slider .carousel-caption {
        right: 8%;
        left: 8%;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(2rem, 7vw, 3.2rem);
    }

    .home-page .home-slider .carousel-caption>p:not(.eyebrow) {
        font-size: .92rem;
    }

    .home-page .home-slider .carousel-indicators {
        left: 8%;
        bottom: 12px;
    }

    .home-page .category-photo {
        height: 245px;
    }

    .home-page .category-info {
        width: calc(100% - 54px);
    }

    .home-page .reach-visual {
        min-height: 395px;
        padding: 1.2rem 0 1.2rem 1rem;
    }

    .home-page .reach-visual::before {
        bottom: 2.3rem;
    }

    .home-page .reach-image {
        height: 350px;
    }

    .home-page .home-cta {
        min-height: 0;
        padding: 1.5rem 0 3rem;
    }

    .home-page .home-cta-image {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: calc(100% - 30px);
        height: 275px;
        margin-left: auto;
    }

    .home-page .home-cta-image::before {
        top: -10px;
        right: 10px;
        bottom: 10px;
        left: -10px;
    }

    .home-page .home-cta-inner {
        min-height: 0;
        margin-top: -48px;
    }

    .home-page .home-cta-panel {
        width: calc(100% - 18px);
        margin-right: auto;
        padding: 1.65rem;
    }

    .product-groups {
        grid-template-columns: 1fr;
        margin-bottom: 3.2rem;
    }

    .product-group-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .product-group-card>img {
        min-height: 180px;
    }

    .category-detail-note {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .home-page .site-header {
        width: calc(100% - 24px);
    }

    .home-page .navbar-brand {
        max-width: 190px;
    }

    .home-page .home-slider {
        min-height: 570px;
        padding-top: 76px;
    }

    .home-page .home-slider::before {
        height: 530px;
    }

    .home-page .home-slider #homeCarousel,
    .home-page .home-slider .carousel-item {
        height: 440px;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(1.8rem, 8vw, 2.6rem);
    }

    .home-page .home-slider .carousel-caption .eyebrow {
        font-size: .62rem;
    }

    .home-page .category-photo {
        height: 210px;
    }

    .home-page .category-info {
        width: calc(100% - 30px);
        min-height: 195px;
        padding: 3.25rem 1rem 1.15rem;
    }

    .home-page .category-info p {
        min-height: 0;
    }

    .home-page .reach-visual {
        min-height: 335px;
    }

    .home-page .reach-image {
        height: 290px;
    }

    .home-page .home-cta-image {
        height: 225px;
    }

    .home-page .home-cta-panel {
        padding: 1.4rem;
    }

    .home-page .home-cta-tags {
        gap: .4rem;
    }

    .home-page .home-cta-tags span {
        font-size: .68rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page .home-slider .carousel-item.active>img {
        animation: none;
    }
}

/* Site-wide visual refresh: editorial spacing, confident color and quieter surfaces. */
:root {
    --color-blue-deep: #17384d;
    --color-ink: #1b2f3c;
    --color-muted: #657782;
    --color-surface: #f3f6f7;
    --container-width: 1220px;
    --shadow-card: 0 20px 54px rgba(23, 56, 77, .1);
}

body {
    background: var(--color-surface);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    letter-spacing: -.035em;
}

.section-space {
    padding: clamp(60px, 7vw, 90px) 0;
}

.section-heading {
    max-width: 760px;
    margin-bottom: 2.8rem;
}

.section-heading h2 {
    font-size: clamp(2.2rem, 4vw, 3.35rem);
}

.eyebrow {
    color: var(--color-red);
    font-size: .68rem;
    letter-spacing: .19em;
}

.site-header {
    box-shadow: none;
}

.site-header .navbar {
    min-height: 92px;
}

.navbar-brand {
    max-width: 330px;
}

.site-header .nav-link {
    position: relative;
    color: var(--color-blue-deep);
    font-size: .86rem;
}

.site-header .nav-link::after {
    position: absolute;
    right: .85rem;
    bottom: .38rem;
    left: .85rem;
    height: 2px;
    background: var(--color-red);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}

.site-header .nav-link:hover::after,
.site-header .nav-link.active::after {
    transform: scaleX(1);
}

.nav-contact-item {
    margin-left: .85rem;
}

.btn,
.text-link,
.contact-card-link,
.category-back-link {
    border-radius: 10px;
    box-shadow: 5px 5px 0 var(--color-blue);
}

.btn:hover,
.text-link:hover,
.contact-card-link:hover,
.category-back-link:hover {
    box-shadow: 3px 3px 0 var(--color-blue-dark);
    transform: translate(1px, 1px);
}

.home-page .site-header {
    top: clamp(18px, 3vh, 32px);
    width: min(88%, 1360px);
    box-shadow: none;
}

.home-page .site-header .navbar {
    background: #fff;
    box-shadow: none;
}

.home-page .home-slider {
    min-height: 0;
    padding: clamp(105px, 12vh, 145px) 0 74px;
}

.home-page .home-slider::before {
    width: 61vw;
    height: calc(100% - 84px);
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 42px;
}

.home-page .home-slider #homeCarousel {
    width: min(calc(100% - 150px), 1580px);
    height: min(76svh, 790px);
    min-height: 570px;
    margin: 0 auto;
}

.home-page .home-slider .carousel-inner {
    height: 100%;
}

.home-page .home-slider .carousel-item {
    height: 100%;
}

.home-page .home-slider .carousel-item>img {
    display: block;
    width: 100%;
    height: 100%;
}

.home-page .home-slider .carousel-caption {
    right: 9%;
    left: 11%;
    width: min(760px, 76%);
    text-align: left;
}

.home-page .home-slider .carousel-caption>p:not(.eyebrow) {
    margin-left: 0;
}

.home-page .home-slider .carousel-indicators {
    left: 11%;
}

.inner-hero {
    padding: 2.4rem 0 4.4rem;
}

.inner-hero-content {
    min-height: 410px;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(2.5rem, 7vw, 7rem);
}

.inner-hero-copy {
    max-width: 550px;
    padding: 2rem 0;
}

.inner-hero h1 {
    font-size: clamp(3rem, 5.1vw, 5rem);
    line-height: 1.02;
}

.inner-hero-intro {
    max-width: 470px;
    font-size: 1.06rem;
}

.inner-hero-breadcrumb {
    margin-top: 1.8rem;
    font-size: .78rem;
}

.inner-hero-visual {
    max-width: 610px;
    height: clamp(300px, 31vw, 390px);
    padding: 0 0 22px 22px;
}

.inner-hero-accent {
    top: -28px;
    right: -30px;
    width: 79%;
    height: 82%;
    border-radius: 10px;
}

.inner-hero-image {
    border-radius: 10px;
    box-shadow: 0 24px 55px rgba(23, 56, 77, .16);
}

.welcome-section {
    position: relative;
}

.welcome-grid,
.about-grid {
    gap: clamp(3rem, 7vw, 7rem);
}

.welcome-copy h2,
.about-copy h2,
.contact-details h2 {
    font-size: clamp(2.3rem, 4vw, 3.5rem);
    line-height: 1.08;
}

.welcome-copy>p:not(.eyebrow),
.about-copy>p:not(.eyebrow) {
    max-width: 560px;
    line-height: 1.8;
}

.welcome-photo,
.about-image {
    padding: 0 18px 18px 0;
}

.welcome-photo::before,
.about-image::before {
    position: absolute;
    z-index: -1;
    top: 18px;
    right: 0;
    bottom: 0;
    left: 18px;
    border-radius: 8px;
    background: var(--color-red);
    content: "";
}

.welcome-photo>img,
.about-image>img {
    height: 490px;
    border-radius: 8px;
}

.experience-badge {
    right: -30px;
    bottom: 48px;
    border-color: #fff;
    background: var(--color-blue);
}

.reach-section {
    background: var(--color-surface);
}

.reach-layout {
    align-items: center;
    gap: clamp(3rem, 7vw, 7rem);
}

.reach-copy h2 {
    font-size: clamp(2.25rem, 4vw, 3.3rem);
    line-height: 1.08;
}

.reach-visual {
    min-height: 480px;
}

.reach-visual::before {
    top: 0;
    right: -8px;
    bottom: 34px;
    left: 18px;
    border-radius: 10px;
}

.reach-image {
    height: 425px;
    border-radius: 10px;
}

.reach-points {
    gap: 1.2rem;
}

.reach-point-icon {
    border-radius: 12px !important;
}

.category-section {
    background: #fff;
}

.category-section .section-heading {
    margin-bottom: 3.6rem;
}

.category-photo {
    border-radius: 10px;
}

.category-info {
    border-radius: 10px;
    box-shadow: 0 15px 44px rgba(23, 56, 77, .13);
}

.category-card:hover .category-info {
    box-shadow: 0 22px 48px rgba(23, 56, 77, .18);
}

.home-cta {
    padding: 3.5rem 0;
}

.home-cta-image {
    top: 3.5rem;
    bottom: 3.5rem;
}

.home-cta-image::before {
    border-radius: 10px;
}

.home-cta-image img {
    border-radius: 10px;
}

.home-cta-panel {
    border-radius: 10px;
}

.values-section,
.partners-section {
    background: var(--color-surface);
}

.values-grid {
    gap: 1.15rem;
}

.value-card {
    min-height: 220px;
    padding: 1.6rem;
    border: 1px solid #e3e9ec;
    border-top: 3px solid var(--color-red);
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(23, 56, 77, .045);
    transition: transform .25s ease, box-shadow .25s ease;
}

.value-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-card);
}

.value-card>span {
    color: var(--color-blue);
}

.value-card h3 {
    margin-top: 1.2rem;
    font-size: 1.25rem;
}

.about-copy {
    max-width: 620px;
}

.products-section {
    background: #fff;
}

.products-intro {
    max-width: 920px;
    text-align: left;
    columns: 2;
    column-gap: 3rem;
}

.products-intro p {
    break-inside: avoid;
    line-height: 1.85;
}

.product-groups {
    gap: 1.35rem;
}

.product-group-card {
    grid-template-columns: 180px minmax(0, 1fr);
    min-height: 215px;
    border: 1px solid #e4ebef;
    border-radius: 10px;
    box-shadow: 0 12px 36px rgba(23, 56, 77, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.product-group-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-card);
}

.product-group-card>img {
    min-height: 215px;
}

.product-group-card>div {
    padding: 1.5rem;
}

.product-group-card h2 {
    font-size: 1.35rem;
}

.product-range-heading {
    margin-bottom: 2rem;
}

.product-range-heading h2 {
    font-size: clamp(2.2rem, 4vw, 3.2rem);
}

.product-card {
    border: 1px solid #e4ebef;
    border-radius: 10px;
    box-shadow: 0 12px 36px rgba(23, 56, 77, .06);
}

.product-image {
    height: 250px;
}

.product-card-copy {
    padding: 1.65rem;
}

.category-detail-section {
    background: #fff;
}

.category-detail-intro {
    max-width: 870px;
    text-align: left;
    margin: 0 0 2.7rem;
}

.category-detail-intro h2 {
    font-size: clamp(2.2rem, 4vw, 3.25rem);
}

.category-detail-note {
    border-left-width: 5px;
    border-radius: 0 10px 10px 0;
}

.partner-card {
    min-height: 310px;
    border-color: #e5ebee;
    border-radius: 10px;
}

.partner-card:hover {
    transform: translateY(-6px);
}

.partner-logo-panel {
    min-height: 190px;
    background: #fff;
}

.partner-network {
    border-radius: 10px;
}

.contact-section {
    background: #fff;
}

.contact-heading {
    max-width: 820px;
    margin-bottom: 3.8rem;
}

.contact-heading h2 {
    font-size: clamp(2.8rem, 5vw, 4.6rem);
    line-height: 1.02;
}

.contact-options {
    gap: 1.35rem;
}

.contact-option {
    min-height: 340px;
    padding: 2rem;
    border: 1px solid #e3e9ed;
    border-radius: 10px;
    box-shadow: 0 14px 38px rgba(23, 56, 77, .065);
    transition: transform .25s ease, box-shadow .25s ease;
}

.contact-option:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-card);
}

.contact-option-featured {
    border-top: 4px solid var(--color-red);
}

.contact-icon {
    border-radius: 14px;
}

.contact-location {
    min-height: 390px;
    margin-top: 3rem;
    border-radius: 10px;
}

.contact-location-copy {
    padding: clamp(2.3rem, 5vw, 4.6rem);
}

.contact-location-art {
    min-height: 390px;
    background-image: linear-gradient(135deg, rgba(12, 43, 61, .12), rgba(8, 120, 181, .22)), url("../images/product-plants.jpg");
    background-position: center;
    background-size: cover;
}

.location-route {
    border-color: rgba(255, 255, 255, .58);
}

.location-pin {
    border-color: rgba(255, 255, 255, .5);
}

.location-label {
    box-shadow: 0 12px 32px rgba(12, 43, 61, .2);
}

.site-footer {
    margin-top: 54px;
    background: linear-gradient(140deg, #17384d 0%, #102d40 78%, #0d2636 100%);
}

.site-footer::before {
    top: -42px;
    height: 43px;
    background: #17384d;
    clip-path: ellipse(82% 100% at 50% 100%);
}

.site-footer::after {
    height: 4px;
    background: linear-gradient(90deg, var(--color-red) 0 22%, var(--color-blue) 22% 100%);
}

.footer-main {
    grid-template-columns: 1.05fr 1.15fr .9fr;
    align-items: start;
    gap: clamp(2rem, 4vw, 4rem);
    padding-top: 3.6rem;
    padding-bottom: 3.6rem;
}

.footer-brand {
    max-width: 410px;
    padding: .2rem 0 0;
}

.footer-brand p:not(.footer-brand-kicker) {
    max-width: 330px;
    font-size: 1rem;
}

.footer-main h2 {
    font-size: 1.05rem;
}

.footer-icon {
    border-radius: 11px;
    background: rgba(255, 255, 255, .09);
}

.footer-bottom {
    background: rgba(0, 0, 0, .16);
}

@media (max-width: 991.98px) {
    .site-header .navbar {
        min-height: 80px;
    }

    .navbar-nav {
        background: #fff;
    }

    .site-header .nav-link::after {
        right: 0;
        left: 0;
    }

    .inner-hero-content {
        min-height: 360px;
        gap: 2.5rem;
    }

    .inner-hero-visual {
        height: 315px;
    }

    .products-intro {
        columns: 1;
    }

    .product-group-card {
        grid-template-columns: 145px minmax(0, 1fr);
    }

    .contact-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-option:last-child {
        grid-column: 1 / -1;
        min-height: 280px;
    }

    .footer-main {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 2.5rem;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .section-space {
        padding: 55px 0;
    }

    .footer-links {
        grid-template-columns: 1fr;
    }

    .contact-options {
        grid-template-columns: 1fr;
    }

    .contact-option:last-child {
        grid-column: auto;
        min-height: 300px;
    }

    .site-header .navbar {
        min-height: 74px;
    }

    .inner-hero {
        padding: 1rem 0 3rem;
    }

    .inner-hero-content {
        gap: 1rem;
    }

    .inner-hero-copy {
        padding: 1.5rem 0 0;
    }

    .inner-hero h1 {
        font-size: clamp(2.7rem, 10vw, 4rem);
    }

    .inner-hero-visual {
        width: calc(100% - 16px);
        height: clamp(230px, 60vw, 370px);
    }

    .inner-hero-accent {
        top: -17px;
        right: -17px;
    }

    .welcome-grid,
    .about-grid {
        gap: 2.8rem;
    }

    .welcome-photo>img,
    .about-image>img {
        height: 360px;
    }

    .experience-badge {
        right: -10px;
        width: 126px;
        height: 126px;
    }

    .reach-visual {
        min-height: 390px;
    }

    .reach-image {
        height: 350px;
    }

    .home-page .site-header {
        box-shadow: none;
    }

    .home-page .site-header .navbar {
        box-shadow: none;
        border-radius: 10px;
    }

    .home-page .home-slider {
        min-height: 0;
        padding: 88px 0 54px;
    }

    .home-page .home-slider::before {
        width: 68%;
        height: calc(100% - 58px);
        border-left-width: 25px;
    }

    .home-page .home-slider #homeCarousel {
        width: calc(100% - 78px);
        height: clamp(430px, 88vw, 570px);
        min-height: 0;
        margin-left: 25px;
    }

    .home-page .home-slider .carousel-inner {
        height: 100%;
    }

    .home-page .home-slider .carousel-item {
        width: 100%;
        height: 100%;
    }

    .home-page .slider-contact-rail {
        width: 25px;
    }

    .home-page .slider-social-rail {
        right: 7px;
    }

    .home-page .home-slider .carousel-caption {
        right: 8%;
        left: 8%;
        width: auto;
        text-align: left;
    }

    .home-page .home-slider .carousel-caption>p:not(.eyebrow) {
        margin-left: 0;
    }

    .home-page .home-slider .carousel-indicators {
        left: 8%;
    }

    .home-page .home-slider .carousel-control-prev {
        width: 12%;
    }

    .home-page .home-slider .carousel-control-next {
        width: 10%;
    }

    .home-page .category-photo {
        height: 250px;
    }

    .home-page .category-info {
        min-height: 0;
    }

    .home-page .reach-layout {
        gap: 2rem;
    }

    .home-page .reach-visual {
        min-height: 380px;
    }

    .home-page .reach-image {
        height: 340px;
    }

    .home-page .home-cta {
        padding: 2rem 0 3rem;
    }

    .home-page .home-cta-image {
        width: calc(100% - 26px);
    }

    .values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-groups {
        grid-template-columns: 1fr;
    }

    .contact-location {
        grid-template-columns: 1fr;
    }

    .contact-location-art {
        min-height: 300px;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .navbar-brand {
        max-width: 220px;
    }

    .inner-hero h1 {
        font-size: clamp(2.45rem, 11vw, 3.35rem);
    }

    .inner-hero-visual {
        width: calc(100% - 12px);
        height: 235px;
    }

    .welcome-photo>img,
    .about-image>img {
        height: 300px;
    }

    .experience-badge {
        right: -8px;
        bottom: 30px;
        width: 112px;
        height: 112px;
        border-width: 6px;
    }

    .reach-visual {
        min-height: 315px;
    }

    .reach-image {
        height: 270px;
    }

    .home-page .site-header {
        width: calc(100% - 24px);
    }

    .home-page .home-slider {
        padding-top: 80px;
    }

    .home-page .home-slider #homeCarousel {
        width: calc(100% - 62px);
        height: 420px;
        margin-left: 24px;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(1.9rem, 8vw, 2.7rem);
    }

    .home-page .home-slider .carousel-caption>p:not(.eyebrow) {
        font-size: .88rem;
    }

    .home-page .slider-contact-rail {
        width: 24px;
        font-size: .52rem;
    }

    .home-page .slider-social-rail {
        right: 4px;
    }

    .home-page .slider-social-icon {
        width: 22px;
        height: 22px;
    }

    .home-page .category-photo {
        height: 210px;
    }

    .home-page .reach-visual {
        min-height: 290px;
    }

    .home-page .reach-image {
        height: 250px;
    }

    .product-group-card {
        grid-template-columns: 108px minmax(0, 1fr);
    }

    .product-group-card>img {
        min-height: 190px;
    }

    .product-group-card>div {
        padding: 1rem;
    }

    .product-group-card .text-link {
        font-size: .76rem;
    }

    .values-grid {
        grid-template-columns: 1fr;
    }

    .contact-options {
        grid-template-columns: 1fr;
    }

    .contact-option:last-child {
        grid-column: auto;
        min-height: 300px;
    }

    .contact-location-copy {
        padding: 1.75rem;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-brand {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* The homepage hero now carries the full brand-color field behind its floated navigation and image. */
.home-page .site-header {
    top: clamp(34px, 2.8vh, 45px);
    z-index: 20;
    width: min(90%, 1440px);
}

.home-page .site-header .navbar {
    min-height: 82px;
    padding: .55rem 1.4rem;
    border: 1px solid rgba(23, 56, 77, .08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(12, 35, 50, .2);
}

.home-page .home-slider {
    padding-top: clamp(145px, 13vh, 178px);
    padding-bottom: 54px;
    background: var(--color-red);
}

.home-page .home-slider::before {
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: var(--color-red);
}

.home-page .home-slider #homeCarousel {
    width: min(calc(100% - 84px), 1980px);
    height: min(76svh, 790px);
    min-height: 570px;
    margin: 0 auto;
}

.home-page .home-slider .carousel-caption {
    left: 12%;
    width: min(760px, 76%);
    text-align: left;
}

.home-page .home-slider .carousel-caption>p:not(.eyebrow) {
    margin-left: 0;
}

.home-page .home-slider .carousel-indicators {
    left: 12%;
}

.home-page .slider-social-icon {
    border-color: rgba(255, 255, 255, .72);
    color: #fff;
    background: rgba(117, 10, 16, .18);
}

@media (max-width: 991.98px) {
    .home-page .site-header {
        top: 62px;
        width: calc(100% - 56px);
    }

    .home-page .home-slider {
        padding-top: 132px;
    }

    .home-page .home-slider #homeCarousel {
        width: calc(100% - 88px);
        min-height: 500px;
    }
}

@media (max-width: 767.98px) {
    .home-page .site-header {
        top: 15px;
        width: calc(100% - 24px);
    }

    .home-page .site-header .navbar {
        min-height: 72px;
        padding: .35rem .75rem;
    }

    .home-page .home-slider {
        padding-top: 79px;
        padding-bottom: 32px;
    }

    .home-page .home-slider::before {
        height: 100%;
    }

    .home-page .home-slider #homeCarousel {
        width: calc(100% - 46px);
        height: clamp(430px, 88vw, 570px);
        min-height: 0;
        margin: 0 0 0 24px;
    }

    .home-page .home-slider .carousel-caption {
        right: 9%;
        left: 9%;
        width: auto;
    }

    .home-page .home-slider .carousel-indicators {
        left: 9%;
    }
}

@media (max-width: 480px) {
    .home-page .site-header {
        top: 12px;
        width: calc(100% - 20px);
    }

    .home-page .site-header .navbar {
        min-height: 68px;
        padding: .3rem .55rem;
    }

    .home-page .home-slider {
        padding-top: 75px;
    }

    .home-page .home-slider #homeCarousel {
        width: calc(100% - 42px);
        height: 420px;
        margin-left: 22px;
    }

    .home-page .slider-contact-rail {
        width: 22px;
    }

    .home-page .slider-social-rail {
        right: 3px;
    }

    .home-page .slider-social-icon {
        width: 21px;
        height: 21px;
    }
}

/* Inner pages lead with veterinary care while crop protection remains secondary. */
.inner-hero {
    position: relative;
    min-height: 540px;
    overflow: hidden;
    border: 7px solid var(--color-red);
    padding: 0;
    background: #fff;
    isolation: isolate;
}

.inner-hero::before {
    z-index: -1;
    right: auto;
    bottom: 0;
    left: 0;
    width: min(44vw, 620px);
    height: 100%;
    opacity: .55;
    background: repeating-radial-gradient(ellipse at 0% 100%, transparent 0 28px, rgba(8, 120, 181, .055) 29px 30px, transparent 31px 58px);
}

.inner-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 540px;
    align-items: center;
}

.inner-hero-copy {
    max-width: 570px;
    padding: 3rem 0;
}

.inner-hero-copy .eyebrow {
    margin-bottom: 1.2rem;
    color: var(--color-red);
    font-size: .75rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.inner-hero-copy .eyebrow span {
    padding: 0 .3rem;
    color: var(--color-blue);
}

.inner-hero h1 {
    max-width: 560px;
    margin: 0 0 1.1rem;
    color: var(--color-blue-deep);
    font-size: clamp(2.8rem, 5vw, 4.65rem);
    letter-spacing: -.055em;
    line-height: 1.02;
}

.inner-hero-intro {
    max-width: 500px;
    margin: 0;
    color: var(--color-muted);
    font-size: clamp(1rem, 1.3vw, 1.12rem);
    line-height: 1.75;
}

.inner-hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1.65rem;
    color: #8a969e;
    font-size: .82rem;
}

.inner-hero-breadcrumb a {
    color: var(--color-blue);
    font-weight: 700;
    text-decoration: none;
}

.inner-hero-breadcrumb a:hover {
    color: var(--color-red);
}

.inner-hero-visual {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    width: 52%;
    max-width: 900px;
    height: auto;
    overflow: visible;
    padding: 0;
}

.inner-hero-accent {
    position: absolute;
    z-index: 0;
    top: 13%;
    left: -24px;
    width: 33%;
    height: 76%;
    border-radius: 3px;
    background: var(--color-red);
}

.inner-hero-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
    box-shadow: none;
}

.inner-hero-visual::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .25), transparent 24%, rgba(9, 35, 51, .12));
    content: "";
    pointer-events: none;
}

.inner-hero-image-caption {
    position: absolute;
    z-index: 3;
    right: clamp(1rem, 4vw, 3rem);
    bottom: 1.25rem;
    padding: .7rem 1rem;
    border-left: 3px solid var(--color-red);
    color: #fff;
    background: rgba(13, 38, 54, .78);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
}

@media (max-width: 767.98px) {
    .inner-hero {
        min-height: 0;
        padding-bottom: 1.5rem;
    }

    .inner-hero-content {
        min-height: 0;
    }

    .inner-hero-copy {
        max-width: 620px;
        padding: 2.7rem 0 2rem;
    }

    .inner-hero h1 {
        font-size: clamp(2.55rem, 9vw, 3.6rem);
    }

    .inner-hero-visual {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: calc(100% - 30px);
        max-width: none;
        height: clamp(250px, 65vw, 380px);
        margin: 0 0 0 15px;
    }

    .inner-hero-accent {
        top: -14px;
        left: -15px;
        width: 34%;
        height: 88%;
    }

    .inner-hero-image-caption {
        right: .8rem;
        bottom: .8rem;
        font-size: .7rem;
    }
}

/* Subtle field-contour graphics add a farming-specific motif without competing with photography. */
.inner-hero {
    isolation: isolate;
}

.inner-hero::before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: min(48vw, 680px);
    height: 100%;
    background: repeating-radial-gradient(ellipse at 100% 0%, transparent 0 28px, rgba(8, 120, 181, .055) 29px 30px, transparent 31px 58px);
    content: "";
    pointer-events: none;
}

.home-page .reach-section {
    position: relative;
    isolation: isolate;
}

.home-page .reach-section::before {
    position: absolute;
    z-index: -1;
    top: -22%;
    right: -7%;
    width: min(62vw, 760px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: repeating-radial-gradient(ellipse at center, transparent 0 30px, rgba(8, 120, 181, .065) 31px 32px, transparent 33px 62px);
    content: "";
    pointer-events: none;
}

.site-footer {
    border: 7px solid var(--color-red);
    background-color: #102d40;
    background-image:
        repeating-radial-gradient(ellipse at 100% 8%, transparent 0 25px, rgba(255, 255, 255, .055) 26px 27px, transparent 28px 54px),
        linear-gradient(100deg, rgba(13, 38, 54, .97) 0%, rgba(13, 38, 54, .92) 48%, rgba(13, 38, 54, .86) 100%),
        url("../images/product-plants.jpg");
    background-position: center, center, center 53%;
    background-size: auto, auto, cover;
}

.site-footer::before {
    top: -58px;
    right: 0;
    left: 0;
    width: 100%;
    height: 64px;
    clip-path: none;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    background: #102d40;
}

.site-footer::after {
    top: 0;
    right: 8%;
    left: auto;
    width: clamp(100px, 14vw, 190px);
    height: 4px;
    border-radius: 0 0 4px 4px;
    background: var(--color-red);
    box-shadow: none;
}

.footer-main {
    position: relative;
    z-index: 1;
}

@media (max-width: 767.98px) {
    .inner-hero::before {
        width: 72vw;
        opacity: .75;
    }

    .home-page .reach-section::before {
        top: -8%;
        right: -40%;
        width: 100vw;
    }

    .site-footer::before {
        top: -38px;
        height: 42px;
    }

    .site-footer::after {
        right: 7%;
        width: 92px;
    }
}

/* Hero finishing details: centered menu/image overlap, caption framing and clearer side rails. */
.home-page .home-slider {
    padding-top: clamp(76px, 5.85vh, 90px);
    padding-bottom: 32px;
}

.home-page .home-slider #homeCarousel {
    border-radius: 12px;
}

.home-page .home-slider .carousel-item,
.home-page .home-slider .carousel-item>img {
    border-radius: inherit;
}

.home-page .home-slider .carousel-caption {
    isolation: isolate;
    padding: 22px 24px 25px;
    border-left: 1px solid rgba(255, 255, 255, .76);
}

.home-page .home-slider .carousel-caption::before,
.home-page .home-slider .carousel-caption::after {
    position: absolute;
    width: 54px;
    height: 24px;
    border-color: rgba(255, 255, 255, .82);
    border-style: solid;
    content: "";
    pointer-events: none;
}

.home-page .home-slider .carousel-caption::before {
    top: 0;
    left: 0;
    border-width: 1px 0 0 1px;
}

.home-page .home-slider .carousel-caption::after {
    right: 0;
    bottom: 0;
    border-width: 0 1px 1px 0;
}

.home-page .home-slider .carousel-caption>* {
    position: relative;
    z-index: 1;
}

.home-page .home-slider .carousel-control-prev,
.home-page .home-slider .carousel-control-next {
    display: none;
}

.home-page .slider-contact-rail {
    left: 8px;
    width: 52px;
    height: 248px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 10px;
    background: rgba(103, 8, 13, .32);
    box-shadow: 0 8px 24px rgba(60, 0, 0, .16);
    font-size: .76rem;
}

.home-page .slider-social-rail {
    right: 1%;
    gap: 11px;
}

.home-page .slider-social-icon {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .88);
    border-radius: 10px;
    background: rgba(103, 8, 13, .38);
    box-shadow: 0 6px 18px rgba(60, 0, 0, .18);
    font-size: 18px;
}

.home-page .slider-social-linkedin {
    font-size: 13px;
}

.home-page .slider-social-instagram span {
    width: 17px;
    height: 17px;
}

.home-page .slider-social-instagram span::before {
    top: 4px;
    left: 4px;
    width: 7px;
    height: 7px;
}

@keyframes home-caption-fade-down {
    from {
        opacity: 0;
        transform: translateY(-18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes home-caption-fade-right {
    from {
        opacity: 0;
        transform: translateX(-24px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.home-page .home-slider .carousel-item.active .carousel-caption .eyebrow {
    animation: home-caption-fade-down .65s ease-out .12s both;
}

.home-page .home-slider .carousel-item.active .carousel-caption h1,
.home-page .home-slider .carousel-item.active .carousel-caption h2 {
    animation: home-caption-fade-right .75s ease-out .22s both;
}

.home-page .home-slider .carousel-item.active .carousel-caption>p:not(.eyebrow) {
    animation: home-caption-fade-right .75s ease-out .36s both;
}

.home-page .home-slider .carousel-item.active .carousel-caption .btn {
    animation: home-caption-fade-down .65s ease-out .52s both;
}

@media (prefers-reduced-motion: reduce) {
    .home-page .home-slider .carousel-item.active .carousel-caption>* {
        animation: none;
    }
}

/* Calm, border-free inner hero and a map-led contact layout. */
.inner-page .inner-hero {
    min-height: 430px;
    border: 0;
    background: #f3f6f8;
}

.inner-page .inner-hero::before {
    width: 54%;
    background: linear-gradient(135deg, #17384d, #075b8b);
    clip-path: none;
}

.inner-page .inner-hero-accent {
    display: none;
}

.inner-page .inner-hero-visual {
    right: 0;
    width: 49%;
    clip-path: none;
}

.inner-page .inner-hero-image {
    object-position: center;
}

.inner-page .inner-hero-shade {
    display: none;
}

.inner-page .inner-hero-content {
    min-height: 430px;
    align-items: center;
}

.inner-page .inner-hero-copy {
    width: 53%;
    max-width: 600px;
    padding: 2.5rem 3rem 2.5rem 0;
}

.inner-page .inner-hero-copy .eyebrow {
    color: #9fd5f2;
}

.inner-page .inner-hero h1 {
    font-size: clamp(2.65rem, 4.6vw, 4.2rem);
}

.inner-page .inner-hero-intro {
    max-width: 500px;
    color: rgba(255, 255, 255, .82);
}

.inner-page .inner-hero-breadcrumb {
    margin-top: 1rem;
}

.contact-section {
    background: #f6f8f9;
}

.contact-heading-wide {
    display: grid;
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr);
    align-items: end;
    gap: 3rem;
    margin-bottom: 2.5rem;
    text-align: left;
}

.contact-heading-wide h2 {
    max-width: 640px;
    margin: 0;
    font-size: clamp(2.1rem, 4vw, 3.35rem);
}

.contact-heading-wide>p {
    max-width: 470px;
    margin: 0 0 .3rem;
}

.contact-options {
    gap: 0;
}

.contact-option,
.inner-page .contact-option {
    min-height: 0;
    padding: 1.6rem 1.8rem 1.7rem 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.contact-option+.contact-option {
    padding-left: 1.8rem;
    border-left: 1px solid #dbe3e8;
}

.contact-option-featured {
    border-top: 0;
}

.contact-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 1.1rem;
    border-radius: 50%;
    color: var(--color-blue);
    background: #e8f1f6;
}

.contact-option-featured .contact-icon {
    color: var(--color-blue);
    background: #e8f1f6;
}

.contact-option .eyebrow {
    margin-bottom: .35rem;
}

.contact-option h3 {
    margin-bottom: .65rem;
    font-size: 1.2rem;
}

.contact-option>p:not(.eyebrow) {
    min-height: 0;
    margin-bottom: .7rem;
}

.contact-option address {
    min-height: 0;
    margin-bottom: .65rem;
}

.contact-detail-list {
    display: grid;
    gap: .35rem;
}

.contact-detail-list a,
.contact-inline-link {
    width: fit-content;
    color: var(--color-blue-deep);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.7;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.contact-inline-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.contact-detail-list a:hover,
.contact-inline-link:hover {
    color: var(--color-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.contact-fax {
    margin: .65rem 0 0;
}

.contact-location {
    display: grid;
    min-height: 410px;
    grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr);
    margin-top: 2rem;
    overflow: hidden;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 18px 48px rgba(23, 56, 77, .08);
}

.contact-location-copy {
    align-self: center;
    padding: clamp(2rem, 4vw, 3.5rem);
}

.contact-location-copy .eyebrow {
    margin-bottom: .9rem;
}

.contact-location-copy h2 {
    margin: 0 0 .9rem;
    color: #fff;
    font-size: clamp(1.9rem, 3vw, 2.65rem);
}

.contact-location-copy>p:not(.eyebrow) {
    margin: 0 0 .75rem;
    color: var(--color-blue-deep);
    line-height: 1.7;
}

.contact-location-copy .contact-location-note {
    margin-bottom: 1rem !important;
    color: var(--color-muted) !important;
    font-size: .9rem;
}

.contact-map {
    display: block;
    width: 100%;
    min-height: 410px;
    border: 0;
    background: #e8eef1;
}

@media (max-width: 767.98px) {
    .inner-page .inner-hero {
        display: flex;
        min-height: 0;
        flex-direction: column-reverse;
        background: #17384d;
    }

    .inner-page .inner-hero::before {
        display: none;
    }

    .inner-page .inner-hero-visual {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(210px, 55vw, 330px);
        overflow: hidden;
    }

    .inner-page .inner-hero-content {
        min-height: 0;
        align-items: stretch;
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 640px;
        padding: 1.7rem 0 1.8rem;
    }

    .contact-heading-wide {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .contact-options {
        grid-template-columns: 1fr;
    }

    .contact-option,
    .inner-page .contact-option {
        padding: 1.25rem 0;
    }

    .contact-option+.contact-option {
        padding-left: 0;
        border-top: 1px solid #dbe3e8;
        border-left: 0;
    }

    .contact-icon {
        margin-bottom: .8rem;
    }

    .contact-location {
        grid-template-columns: 1fr;
    }

    .contact-location-copy {
        padding: 1.8rem;
    }

    .contact-map {
        min-height: 340px;
    }
}

/* Final shared inner-hero overrides: simple, aligned and free of colored borders. */
.inner-page .inner-hero {
    min-height: 430px;
    border: 0 !important;
    background: #f3f6f8;
}

.inner-page .inner-hero::before {
    display: block;
    inset: 0 auto 0 0;
    width: 54%;
    height: 100%;
    opacity: 1;
    background: linear-gradient(135deg, #17384d, #075b8b);
    clip-path: none;
}

.inner-page .inner-hero-visual {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 49%;
    max-width: none;
    height: auto;
    overflow: hidden;
    margin: 0;
    padding: 0;
    clip-path: none;
}

.inner-page .inner-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-position: center;
}

.inner-page .inner-hero-accent,
.inner-page .inner-hero-shade {
    display: none;
}

.inner-page .inner-hero-content {
    display: flex;
    min-height: 430px;
    align-items: center;
}

.inner-page .inner-hero-copy {
    width: 53%;
    max-width: 600px;
    padding: 2.5rem 3rem 2.5rem 0;
}

.inner-page .inner-hero-copy .eyebrow {
    color: #9fd5f2;
}

.inner-page .inner-hero h1 {
    max-width: 590px;
    margin-bottom: 1rem;
    color: #fff;
    font-size: clamp(2.65rem, 4.6vw, 4.2rem);
}

.inner-page .inner-hero-intro {
    max-width: 500px;
    color: rgba(255, 255, 255, .82);
}

.inner-page .inner-hero-breadcrumb {
    margin-top: 1rem;
}

@media (max-width: 991.98px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 400px;
    }

    .inner-page .inner-hero-copy {
        width: 53%;
        padding-right: 2rem;
    }

    .inner-page .inner-hero-visual {
        width: 47%;
    }
}

@media (max-width: 767.98px) {
    .inner-page .inner-hero {
        display: flex;
        min-height: 0;
        flex-direction: column-reverse;
        background: #17384d;
    }

    .inner-page .inner-hero::before {
        display: none;
    }

    .inner-page .inner-hero-visual {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(210px, 55vw, 330px);
        flex: 0 0 auto;
    }

    .inner-page .inner-hero-content {
        min-height: 0;
        align-items: stretch;
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 640px;
        padding: 1.7rem 0 1.8rem;
    }
}

.site-footer::after {
    display: none;
}

.footer-main h2::after {
    display: none;
}

.footer-links a {
    gap: .8rem;
}

.footer-link-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    color: #d7e0e9;
    background: rgba(255, 255, 255, .06);
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.footer-link-icon svg {
    width: 17px;
    height: 17px;
}

.footer-links a:hover .footer-link-icon {
    border-color: rgba(255, 255, 255, .55);
    color: #fff;
    background: rgba(255, 255, 255, .16);
    transform: translateY(-2px);
}

@media (max-width: 991.98px) {
    .home-page .slider-social-rail {
        right: 2%;
    }

    .home-page .slider-contact-rail {
        width: 46px;
        height: 220px;
    }

    .home-page .home-slider {
        padding-top: 102px;
    }
}

@media (max-width: 767.98px) {
    .home-page .home-slider {
        padding-top: 51px;
    }

    .home-page .home-slider #homeCarousel {
        width: calc(100% - 50px);
        margin-left: 28px;
    }

    .home-page .home-slider .carousel-caption {
        padding: 17px 16px 20px;
    }

    .home-page .slider-contact-rail {
        left: 2px;
        width: 25px;
        height: 200px;
        font-size: .58rem;
    }

    .home-page .slider-social-rail {
        right: 3px;
        gap: 7px;
    }

    .home-page .slider-social-icon {
        width: 25px;
        height: 25px;
        border-radius: 7px;
        font-size: 14px;
    }

    .home-page .slider-social-linkedin {
        font-size: 9px;
    }

    .home-page .slider-social-instagram span {
        width: 13px;
        height: 13px;
    }

    .home-page .slider-social-instagram span::before {
        top: 3px;
        left: 3px;
        width: 5px;
        height: 5px;
    }
}

@media (max-width: 480px) {
    .home-page .home-slider {
        padding-top: 46px;
    }

    .home-page .home-slider #homeCarousel {
        width: calc(100% - 50px);
        margin-left: 28px;
    }

    .home-page .slider-contact-rail {
        width: 25px;
        font-size: .56rem;
    }

    .home-page .slider-social-rail {
        right: 3px;
    }
}

/* Welcome section: an editorial mosaic, evidence-led stats, then the company story. */
.home-page .welcome-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #f5f7f5;
}

.home-page .welcome-section::before {
    position: absolute;
    z-index: -1;
    top: -20%;
    right: -8%;
    width: min(58vw, 760px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: repeating-radial-gradient(ellipse at center, transparent 0 30px, rgba(8, 120, 181, .055) 31px 32px, transparent 33px 62px);
    content: "";
    pointer-events: none;
}

.home-page .welcome-section>.container {
    position: relative;
    z-index: 1;
}

.home-page .welcome-grid {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    gap: clamp(3rem, 6vw, 6.25rem);
}

.home-page .welcome-copy h2 {
    max-width: 630px;
    margin-bottom: 1.1rem;
    font-size: clamp(2.55rem, 4.6vw, 4.15rem);
    line-height: 1.02;
}

.home-page .welcome-copy .welcome-intro {
    max-width: 550px;
    margin-bottom: 1.5rem;
    color: var(--color-muted);
    line-height: 1.75;
}

.home-page .welcome-focus-list {
    display: grid;
    margin-top: 1.5rem;
}

.home-page .welcome-focus {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: .85rem;
    padding: .9rem 0;
    border-top: 1px solid rgba(23, 56, 77, .12);
}

.home-page .welcome-focus>span {
    padding-top: .12rem;
    color: var(--color-red);
    font-family: var(--font-heading);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.home-page .welcome-focus h3 {
    margin: 0 0 .2rem;
    color: var(--color-blue-deep);
    font-size: 1rem;
    letter-spacing: -.02em;
}

.home-page .welcome-focus p {
    margin: 0;
    color: var(--color-muted);
    font-size: .86rem;
    line-height: 1.55;
}

.home-page .welcome-images {
    position: relative;
    min-height: 520px;
}

.home-page .welcome-image-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 180px;
    grid-template-rows: 180px 1fr;
    gap: 1.25rem;
    height: 100%;
    min-height: 520px;
}

.home-page .welcome-image-large {
    position: relative;
    grid-row: 1 / 3;
    margin: 0;
    overflow: hidden;
    border-radius: 16px;
}

.home-page .welcome-image-large img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.home-page .welcome-image-large:hover img {
    transform: scale(1.05);
}

.home-page .welcome-image-small {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
}

.home-page .welcome-image-small img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.home-page .welcome-image-small:hover img {
    transform: scale(1.08);
}

.home-page .welcome-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem 1.25rem;
    background: linear-gradient(to top, rgba(23, 56, 77, .95), rgba(23, 56, 77, .75), transparent);
    opacity: 0;
    transition: opacity .3s ease;
}

.home-page .welcome-image-large:hover .welcome-image-overlay,
.home-page .welcome-image-small:hover .welcome-image-overlay {
    opacity: 1;
}

.home-page .welcome-image-label {
    color: #fff;
    font-family: var(--font-heading);
    font-size: .95rem;
    font-weight: 800;
}

.home-page .welcome-image-badge {
    position: absolute;
    bottom: -1.5rem;
    left: 1.5rem;
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1.35rem 1.75rem;
    border-left: 4px solid var(--color-red);
    border-radius: 12px;
    background: var(--color-blue-deep);
}

.home-page .welcome-image-badge span {
    color: var(--color-red);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-page .welcome-image-badge strong {
    color: #fff;
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
}

.home-page .welcome-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.2rem;
    overflow: hidden;
    border: 1px solid rgba(23, 56, 77, .09);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(23, 56, 77, .07);
}

.home-page .welcome-stats article {
    display: grid;
    align-content: center;
    gap: .35rem;
    min-height: 126px;
    padding: 1.4rem 1.8rem;
}

.home-page .welcome-stats article+article {
    border-left: 1px solid rgba(23, 56, 77, .1);
}

.home-page .welcome-stats strong {
    color: var(--color-red);
    font-family: var(--font-heading);
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1;
}

.home-page .welcome-stats span {
    max-width: 260px;
    color: var(--color-muted);
    font-size: .83rem;
    line-height: 1.45;
}

.home-page .welcome-story {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    align-items: start;
    gap: clamp(2rem, 6vw, 6rem);
    margin-top: 4rem;
    padding-top: 2.8rem;
    border-top: 1px solid rgba(23, 56, 77, .15);
}

.home-page .welcome-story h3 {
    max-width: 450px;
    margin: 0;
    color: var(--color-blue-deep);
    font-size: clamp(1.6rem, 2.5vw, 2.25rem);
    line-height: 1.14;
}

.home-page .welcome-story>div:last-child {
    max-width: 680px;
}

.home-page .welcome-story p:not(.eyebrow) {
    margin: 0 0 1.1rem;
    color: var(--color-muted);
    font-size: .95rem;
    line-height: 1.8;
}

@media (max-width: 991.98px) {
    .home-page .welcome-grid {
        gap: 2.5rem;
    }

    .home-page .welcome-mosaic {
        min-height: 430px;
    }

    .home-page .welcome-story {
        gap: 2.5rem;
    }

    .home-page .welcome-stats article {
        padding: 1.2rem;
    }
}

@media (max-width: 767.98px) {
    .home-page .welcome-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .home-page .welcome-copy h2 {
        max-width: 560px;
        font-size: clamp(2.4rem, 8vw, 3.4rem);
    }

    .home-page .welcome-mosaic {
        width: min(100%, 560px);
        min-height: 410px;
        margin: 0 auto;
    }

    .home-page .welcome-stats {
        grid-template-columns: 1fr;
        margin-top: 2.3rem;
    }

    .home-page .welcome-stats article {
        min-height: 86px;
        grid-template-columns: 110px minmax(0, 1fr);
        align-items: center;
        gap: 1rem;
        padding: .9rem 1.2rem;
    }

    .home-page .welcome-stats article+article {
        border-top: 1px solid rgba(23, 56, 77, .1);
        border-left: 0;
    }

    .home-page .welcome-story {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-top: 2.8rem;
        padding-top: 2rem;
    }
}

@media (max-width: 480px) {
    .home-page .welcome-section.section-space {
        padding: 70px 0;
    }

    .home-page .welcome-mosaic {
        min-height: 330px;
    }

    .home-page .welcome-mosaic-main {
        left: 2%;
        width: 75%;
        height: 77%;
    }

    .home-page .welcome-mosaic-inset {
        border-width: 5px;
    }

    .home-page .welcome-mosaic-inset-top {
        width: 40%;
        height: 37%;
    }

    .home-page .welcome-mosaic-inset-bottom {
        width: 49%;
        height: 40%;
    }

    .home-page .welcome-mosaic-note {
        bottom: 8%;
        width: 58%;
        padding: .75rem .85rem;
    }

    .home-page .welcome-mosaic-note strong {
        font-size: .82rem;
    }

    .home-page .welcome-stats article {
        grid-template-columns: 92px minmax(0, 1fr);
    }
}

.home-page .welcome-mosaic::before {
    top: 9%;
    right: 3%;
    bottom: 8%;
    left: auto;
    width: 5px;
    border-radius: 5px;
}

.home-page .welcome-cta {
    position: relative;
    isolation: isolate;
    min-height: 385px;
    margin-top: 3.5rem;
    overflow: hidden;
    border-radius: 14px;
    background-color: var(--color-blue-deep);
    background-image:
        linear-gradient(90deg, rgba(13, 35, 49, .94) 0%, rgba(13, 35, 49, .86) 48%, rgba(13, 35, 49, .68) 100%),
        url("../images/hd/crops.jpg");
    background-position: center, center 47%;
    background-size: cover;
    box-shadow: 0 22px 55px rgba(23, 56, 77, .16);
}

.home-page .welcome-cta::before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 82px;
    height: 4px;
    background: var(--color-red);
    content: "";
}

.home-page .welcome-cta-content {
    display: grid;
    min-height: 385px;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(2.2rem, 5vw, 4.5rem);
}

.home-page .welcome-cta-copy {
    max-width: 580px;
}

.home-page .welcome-cta-copy .eyebrow {
    color: rgba(255, 255, 255, .7);
}

.home-page .welcome-cta-copy h3 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(2rem, 3.4vw, 3.25rem);
    letter-spacing: -.045em;
    line-height: 1.06;
}

.home-page .welcome-cta-copy>p:not(.eyebrow) {
    max-width: 520px;
    margin: 0 0 1.45rem;
    color: rgba(255, 255, 255, .82);
    line-height: 1.75;
}

.home-page .welcome-cta-copy .btn {
    margin-top: .2rem;
}

.home-page .welcome-proof-bars {
    display: grid;
    gap: .8rem;
}

.home-page .welcome-proof-bar {
    display: grid;
    gap: .35rem;
    padding: .95rem 1.15rem;
    border: 1px dotted var(--color-red);
    border-radius: 8px;
    background: rgba(7, 25, 37, .56);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
    backdrop-filter: blur(5px);
}

.home-page .welcome-proof-bar>span {
    color: rgba(255, 255, 255, .67);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.home-page .welcome-proof-bar strong {
    color: #fff;
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.45;
}

.about-page {
    overflow: hidden;
}

.about-story {
    padding-top: clamp(4.5rem, 8vw, 7.5rem);
}

.about-story-grid {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    align-items: center;
    gap: clamp(3rem, 7vw, 7rem);
}

.about-story-visual {
    position: relative;
    min-height: 560px;
    padding: 0 24px 28px 0;
}

.about-story-visual>img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 532px;
    object-fit: cover;
    object-position: 55% center;
}

.about-story-frame {
    position: absolute;
    z-index: 0;
    top: 24px;
    right: 0;
    bottom: 0;
    left: 24px;
    border: 7px solid var(--color-red);
}

.about-story-note {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 72px;
    display: grid;
    gap: .2rem;
    min-width: 220px;
    padding: 1.1rem 1.4rem;
    border-left: 4px solid var(--color-red);
    color: #fff;
    background: var(--color-blue-deep);
    box-shadow: 0 16px 36px rgba(21, 54, 75, .2);
}

.about-story-note span {
    color: rgba(255, 255, 255, .7);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-story-note strong {
    font-family: var(--font-heading);
    font-size: 1.1rem;
}

.about-story-index {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 18px;
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #fff;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}

.about-story-index i {
    width: 24px;
    height: 2px;
    background: var(--color-red);
}

.about-story-copy h2 {
    max-width: 600px;
    margin: 0 0 1.3rem;
    font-size: clamp(2.3rem, 4.1vw, 3.65rem);
    letter-spacing: -.055em;
    line-height: 1.04;
}

.about-story-copy>p:not(.eyebrow) {
    margin-bottom: 1rem;
}

.about-story-copy .about-story-lead {
    color: var(--color-blue-deep);
    font-size: 1.13rem;
    font-weight: 600;
    line-height: 1.65;
}

.about-story-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.4rem;
    margin-top: 1.7rem;
}

.about-text-link {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--color-blue-deep);
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease, gap .2s ease;
}

.about-text-link:hover {
    gap: .85rem;
    color: var(--color-red);
}

.about-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: clamp(3.5rem, 7vw, 6rem);
    border-top: 1px solid #e1e8ec;
    border-bottom: 1px solid #e1e8ec;
}

.about-fact {
    display: grid;
    gap: .25rem;
    padding: 1.35rem 1.5rem;
    border-right: 1px solid #e1e8ec;
}

.about-fact:first-child {
    padding-left: 0;
}

.about-fact:last-child {
    border-right: 0;
}

.about-fact>span {
    color: var(--color-muted);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.about-fact strong {
    color: var(--color-blue-deep);
    font-family: var(--font-heading);
    font-size: .98rem;
}

.about-service {
    position: relative;
    overflow: hidden;
    border-top: 5px solid var(--color-red);
    background: #f5f8fa;
}

.about-service::before {
    position: absolute;
    top: 0;
    right: 8%;
    width: 1px;
    height: 100%;
    background: rgba(8, 120, 181, .07);
    content: "";
    pointer-events: none;
}

.about-service-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(270px, .72fr);
    align-items: end;
    gap: 3rem;
    margin-bottom: 3rem;
}

.about-service-heading .eyebrow {
    margin-bottom: 1rem;
}

.about-service-heading h2 {
    max-width: 690px;
    margin: 0;
    font-size: clamp(2.1rem, 3.8vw, 3.35rem);
    letter-spacing: -.05em;
    line-height: 1.08;
}

.about-service-heading>p {
    max-width: 435px;
    margin: 0 0 .35rem;
    font-size: 1.02rem;
}

.about-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #dbe4e9;
}

.about-service-card {
    position: relative;
    min-height: 270px;
    padding: 1.65rem 2rem 1.6rem 0;
    border-right: 1px solid #dbe4e9;
    transition: transform .25s ease;
}

.about-service-card+.about-service-card {
    padding-left: 2rem;
}

.about-service-card:last-child {
    border-right: 0;
}

.about-service-card:hover {
    transform: translateY(-4px);
}

.about-service-number {
    display: block;
    margin-bottom: 1.3rem;
    color: var(--color-red);
    font-family: var(--font-heading);
    font-size: clamp(3.2rem, 5vw, 4.6rem);
    font-weight: 800;
    letter-spacing: -.08em;
    line-height: .95;
}

.about-service-label {
    margin-bottom: .55rem;
    color: var(--color-blue);
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.about-service-card h3 {
    max-width: 330px;
    margin: 0 0 .75rem;
    font-size: 1.27rem;
    letter-spacing: -.025em;
}

.about-service-card>p:last-child {
    max-width: 360px;
    margin: 0;
    font-size: .91rem;
    line-height: 1.75;
}

.about-recognition {
    display: grid;
    grid-template-columns: minmax(130px, .35fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    margin-top: .6rem;
    padding: 1.3rem 0 0;
    border-top: 1px solid #dbe4e9;
}

.about-recognition>span {
    color: var(--color-red);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.about-recognition p {
    margin: 0;
    font-size: .88rem;
}

.about-recognition strong {
    color: var(--color-blue-deep);
}

.about-recognition a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--color-blue-deep);
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.about-recognition a:hover {
    color: var(--color-red);
}

.about-values {
    padding-bottom: clamp(4.5rem, 8vw, 7rem);
}

.about-values-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr);
    align-items: end;
    column-gap: 3rem;
    margin-bottom: 2.2rem;
}

.about-values-heading .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: .75rem;
}

.about-values-heading h2 {
    max-width: 650px;
    margin: 0;
    font-size: clamp(2rem, 3.5vw, 3rem);
    letter-spacing: -.045em;
}

.about-values-heading>p:last-child {
    max-width: 430px;
    margin: 0 0 .15rem;
}

.about-values-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .85rem;
}

.about-value {
    display: flex;
    min-height: 160px;
    grid-column: span 2;
    gap: .9rem;
    padding: 1.25rem;
    border: 1px solid #e5ecef;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(21, 54, 75, .04);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.about-value:nth-child(4) {
    grid-column: 2 / span 2;
}

.about-value:hover {
    transform: translateY(-3px);
    border-color: rgba(199, 25, 32, .35);
    box-shadow: var(--shadow-card);
}

.about-value>span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--color-red);
    background: var(--color-red-light);
    font-size: .7rem;
    font-weight: 800;
}

.about-value h3 {
    margin: .25rem 0 .45rem;
    font-size: 1.05rem;
}

.about-value p {
    margin: 0;
    font-size: .86rem;
    line-height: 1.65;
}

@media (max-width: 991.98px) {
    .about-story-grid {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        gap: 2.5rem;
    }

    .about-story-visual {
        min-height: 475px;
    }

    .about-story-visual>img {
        height: 450px;
    }

    .about-story-copy h2 {
        font-size: clamp(2.2rem, 4.4vw, 3rem);
    }

    .about-service-heading {
        gap: 2rem;
    }

    .about-service-card {
        min-height: 300px;
        padding-right: 1.2rem;
    }

    .about-service-card+.about-service-card {
        padding-left: 1.2rem;
    }

    .about-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-value,
    .about-value:nth-child(4) {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {
    .about-story {
        padding-top: 3.5rem;
    }

    .about-story-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .about-story-visual {
        width: min(100%, 560px);
        min-height: 0;
        padding: 0 15px 18px 0;
    }

    .about-story-visual>img {
        height: clamp(320px, 78vw, 470px);
    }

    .about-story-frame {
        top: 16px;
        left: 15px;
        border-width: 5px;
    }

    .about-story-note {
        right: 0;
        bottom: 44px;
        min-width: 195px;
        padding: .85rem 1rem;
    }

    .about-story-note strong {
        font-size: 1rem;
    }

    .about-story-index {
        top: 11px;
        left: 12px;
        font-size: .58rem;
    }

    .about-story-copy h2 {
        max-width: 580px;
        font-size: clamp(2.2rem, 8vw, 3.2rem);
    }

    .about-facts {
        grid-template-columns: 1fr;
        margin-top: 2.8rem;
    }

    .about-fact,
    .about-fact:first-child {
        padding: .95rem 0;
        border-right: 0;
        border-bottom: 1px solid #e1e8ec;
    }

    .about-fact:last-child {
        border-bottom: 0;
    }

    .about-service-heading,
    .about-values-heading {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .about-service-grid {
        grid-template-columns: 1fr;
    }

    .about-service-card {
        min-height: 0;
        padding: 1.4rem 0;
        border-right: 0;
        border-bottom: 1px solid #dbe4e9;
    }

    .about-service-card+.about-service-card {
        padding-left: 0;
    }

    .about-service-card:last-child {
        border-bottom: 0;
    }

    .about-service-number {
        margin-bottom: .8rem;
        font-size: 3.2rem;
    }

    .about-recognition {
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .about-values-grid {
        grid-template-columns: 1fr;
    }

    .about-value {
        min-height: 0;
    }
}

@media (max-width: 991.98px) {
    .home-page .welcome-cta-content {
        gap: 2rem;
        padding: 2.3rem;
    }
}

@media (max-width: 767.98px) {
    .home-page .welcome-cta {
        min-height: 0;
        margin-top: 2.5rem;
    }

    .home-page .welcome-cta-content {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 2rem;
    }
}

@media (max-width: 480px) {
    .home-page .welcome-cta-content {
        gap: 1.5rem;
        padding: 1.35rem;
    }

    .home-page .welcome-cta-copy h3 {
        font-size: 1.85rem;
    }

    .home-page .welcome-proof-bar {
        padding: .8rem .9rem;
    }
}

/* Wide image-led inner hero with the sweeping blue title panel from the banner reference. */
.inner-hero {
    position: relative;
    display: flex;
    min-height: clamp(440px, 38vw, 560px);
    align-items: stretch;
    overflow: hidden;
    border: 7px solid var(--color-red);
    padding: 0;
    background: var(--color-blue-deep);
    isolation: isolate;
}

.inner-hero::before {
    display: none;
}

.inner-hero-visual {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    overflow: hidden;
    padding: 0;
}

.inner-hero-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
    object-position: center 42%;
    box-shadow: none;
}

.inner-hero-shade {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 28, 40, .05) 25%, rgba(10, 28, 40, .27) 75%, rgba(10, 28, 40, .4));
    pointer-events: none;
}

.inner-hero-wave {
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    fill: var(--color-blue);
    pointer-events: none;
}

.inner-hero-content {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: clamp(440px, 38vw, 560px);
    align-items: flex-end;
}

.inner-hero-copy {
    width: min(68%, 780px);
    max-width: 780px;
    padding: 2rem 0 1.65rem;
}

.inner-hero-copy .eyebrow {
    margin-bottom: .65rem;
    color: rgba(255, 255, 255, .76);
    font-size: .7rem;
    letter-spacing: .14em;
}

.inner-hero-copy .eyebrow span {
    color: rgba(255, 255, 255, .7);
}

.inner-hero h1 {
    max-width: 780px;
    margin: 0 0 .55rem;
    color: #fff;
    font-size: clamp(2.55rem, 4.2vw, 4.5rem);
    letter-spacing: -.05em;
    line-height: 1;
    text-shadow: 0 2px 16px rgba(8, 30, 43, .16);
}

.inner-hero-intro {
    max-width: 660px;
    margin: 0;
    color: rgba(255, 255, 255, .91);
    font-size: clamp(.94rem, 1.15vw, 1.08rem);
    line-height: 1.55;
}

.inner-hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: .75rem;
    color: rgba(255, 255, 255, .72);
    font-size: .76rem;
}

.inner-hero-breadcrumb a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.inner-hero-breadcrumb a:hover {
    color: #ffe2e3;
}

@media (max-width: 767.98px) {
    .inner-hero {
        min-height: 500px;
    }

    .inner-hero-content {
        min-height: 500px;
    }

    .inner-hero-wave path {
        d: path("M0 170 C240 195 520 245 800 315 C1040 375 1260 440 1400 468 L1400 520 L0 520 Z");
    }

    .inner-hero-copy {
        width: 100%;
        max-width: 620px;
        padding: 1.5rem 0 1.35rem;
    }

    .inner-hero h1 {
        font-size: clamp(2.35rem, 9vw, 3.45rem);
    }

    .inner-hero-intro {
        max-width: 560px;
        font-size: .94rem;
    }

    .inner-hero-breadcrumb {
        margin-top: .6rem;
    }
}

@media (max-width: 480px) {
    .inner-hero {
        min-height: 520px;
    }

    .inner-hero-content {
        min-height: 520px;
    }

    .inner-hero-copy {
        padding-bottom: 1.15rem;
    }

    .inner-hero-wave path {
        d: path("M0 150 C240 178 520 228 800 300 C1040 360 1260 425 1400 455 L1400 520 L0 520 Z");
    }

    .inner-hero h1 {
        font-size: clamp(2.15rem, 9.6vw, 3rem);
    }

    .inner-hero-intro {
        font-size: .88rem;
    }
}

/* Clean, high-contrast inner-page system inspired by XTRA's editorial layouts. */
.site-header .nav-link {
    border: 1px solid transparent;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus-visible {
    border-color: var(--color-red);
    color: var(--color-blue-deep);
    background: rgba(199, 25, 32, .035);
}

.site-header .nav-link.active {
    border-color: rgba(199, 25, 32, .34);
}

.site-header .nav-link.active:hover {
    border-color: var(--color-red);
}

.site-header .nav-link::after {
    display: none;
}

.inner-page .inner-hero {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    border: 7px solid var(--color-red);
    background: var(--color-blue-deep);
    isolation: isolate;
}

.inner-page .inner-hero::before {
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 0;
    width: 57%;
    background: linear-gradient(135deg, #17384d 0%, #075b8b 100%);
    clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
    content: "";
}

.inner-page .inner-hero-visual {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 18px;
    bottom: 0;
    width: 57%;
    max-width: none;
    height: auto;
    overflow: hidden;
    padding: 0;
    clip-path: polygon(11% 0, 100% 0, 100% 100%, 0 100%);
}

.inner-page .inner-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: cover;
    object-position: center 45%;
    box-shadow: none;
}

.inner-page .inner-hero-accent {
    position: absolute;
    z-index: 0;
    top: 12%;
    left: auto;
    right: 0;
    width: 55%;
    height: 76%;
    border-radius: 0;
    background: var(--color-red);
}

.inner-page .inner-hero-shade {
    position: absolute;
    z-index: 2;
    inset: 0 18px 0 auto;
    width: 57%;
    background: linear-gradient(90deg, rgba(7, 36, 55, .12), transparent 50%, rgba(7, 36, 55, .12));
    clip-path: polygon(11% 0, 100% 0, 100% 100%, 0 100%);
    pointer-events: none;
}

.inner-page .inner-hero-content {
    position: relative;
    z-index: 3;
    display: flex;
    min-height: 506px;
    align-items: center;
}

.inner-page .inner-hero-copy {
    width: 49%;
    max-width: 590px;
    padding: 2.5rem 1.5rem 2.5rem 0;
}

.inner-page .inner-hero-copy .eyebrow {
    margin-bottom: 1.1rem;
    color: #ffb5b8;
    font-size: .7rem;
    letter-spacing: .17em;
}

.inner-page .inner-hero h1 {
    max-width: 590px;
    margin-bottom: 1rem;
    color: #fff;
    font-size: clamp(2.75rem, 5vw, 4.7rem);
    letter-spacing: -.055em;
    line-height: 1;
    text-shadow: 0 3px 18px rgba(0, 0, 0, .13);
}

.inner-page .inner-hero-intro {
    max-width: 510px;
    color: rgba(255, 255, 255, .83);
    font-size: 1.02rem;
    line-height: 1.7;
}

.inner-page .inner-hero-breadcrumb {
    margin-top: 1.25rem;
    color: rgba(255, 255, 255, .6);
}

.inner-page .inner-hero-breadcrumb a {
    color: #fff;
}

.inner-page .inner-hero-breadcrumb a:hover {
    color: #ffb5b8;
}

.inner-page .section-heading h2,
.inner-page .contact-heading h2,
.inner-page .category-detail-intro h2 {
    letter-spacing: -.05em;
}

.inner-page .product-card {
    overflow: hidden;
    border: 0;
    border-top: 3px solid var(--color-red);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 12px 36px rgba(23, 56, 77, .075);
}

.inner-page .product-card:hover {
    box-shadow: 0 20px 46px rgba(23, 56, 77, .13);
}

.inner-page .partner-card {
    border: 0;
    border-radius: 0;
    box-shadow: 0 12px 36px rgba(23, 56, 77, .075);
}

.inner-page .partner-card::before {
    width: 64px;
    height: 3px;
}

.inner-page .partner-logo-panel {
    background: #f5f8fa;
}

.inner-page .partner-card-copy {
    border-top: 1px solid #e3eaf0;
}

.inner-page .product-group-card {
    border: 0;
    border-radius: 0;
    box-shadow: 0 12px 34px rgba(23, 56, 77, .065);
}

.inner-page .product-group-card>img {
    min-height: 210px;
}

.inner-page .contact-option {
    border-radius: 0;
    box-shadow: 0 12px 36px rgba(23, 56, 77, .065);
}

.inner-page .contact-location {
    border-radius: 0;
}

@keyframes home-caption-reveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.home-page .home-slider .carousel-item.active .carousel-caption .eyebrow,
.home-page .home-slider .carousel-item.active .carousel-caption h1,
.home-page .home-slider .carousel-item.active .carousel-caption h2,
.home-page .home-slider .carousel-item.active .carousel-caption>p:not(.eyebrow),
.home-page .home-slider .carousel-item.active .carousel-caption .btn {
    animation-name: home-caption-reveal;
    animation-timing-function: cubic-bezier(.2, .75, .25, 1);
    animation-fill-mode: both;
}

.home-page .home-slider .carousel-item.active .carousel-caption .eyebrow {
    animation-duration: .7s;
    animation-delay: .1s;
}

.home-page .home-slider .carousel-item.active .carousel-caption h1,
.home-page .home-slider .carousel-item.active .carousel-caption h2 {
    animation-duration: .8s;
    animation-delay: .22s;
}

.home-page .home-slider .carousel-item.active .carousel-caption>p:not(.eyebrow) {
    animation-duration: .8s;
    animation-delay: .34s;
}

.home-page .home-slider .carousel-item.active .carousel-caption .btn {
    animation-duration: .7s;
    animation-delay: .48s;
}

@media (max-width: 991.98px) {
    .inner-page .inner-hero {
        min-height: 480px;
    }

    .inner-page .inner-hero-content {
        min-height: 466px;
    }

    .inner-page .inner-hero-copy {
        width: 52%;
    }

    .inner-page .inner-hero-visual,
    .inner-page .inner-hero-shade {
        width: 55%;
    }
}

@media (max-width: 767.98px) {
    .site-header .nav-link {
        margin: .1rem 0;
        padding: .7rem .8rem !important;
        border-color: transparent;
    }

    .site-header .nav-link.active,
    .site-header .nav-link:hover,
    .site-header .nav-link:focus-visible {
        border-color: var(--color-red);
    }

    .inner-page .inner-hero {
        min-height: 550px;
    }

    .inner-page .inner-hero::before {
        inset: 46% 0 0;
        width: 100%;
        clip-path: none;
        background: linear-gradient(135deg, #17384d 0%, #075b8b 100%);
    }

    .inner-page .inner-hero-visual {
        top: 0;
        right: auto;
        bottom: auto;
        left: 14px;
        width: calc(100% - 28px);
        height: 57%;
        clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 90%);
    }

    .inner-page .inner-hero-image {
        object-position: center 43%;
    }

    .inner-page .inner-hero-accent {
        top: 7%;
        left: auto;
        right: 0;
        width: 72%;
        height: 48%;
    }

    .inner-page .inner-hero-shade {
        top: 0;
        right: 14px;
        bottom: auto;
        left: 14px;
        width: auto;
        height: 57%;
        clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 90%);
        background: linear-gradient(180deg, rgba(7, 36, 55, .03), rgba(7, 36, 55, .25));
    }

    .inner-page .inner-hero-content {
        min-height: 536px;
        align-items: flex-end;
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 660px;
        padding: 1rem 0 1.2rem;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2.35rem, 8.8vw, 3.7rem);
    }

    .inner-page .inner-hero-intro {
        max-width: 590px;
        font-size: .94rem;
    }

    .inner-page .inner-hero-breadcrumb {
        margin-top: .7rem;
    }

    .inner-page .product-group-card>img {
        min-height: 190px;
    }
}

@media (max-width: 480px) {
    .inner-page .inner-hero {
        min-height: 520px;
    }

    .inner-page .inner-hero-content {
        min-height: 506px;
    }

    .inner-page .inner-hero-copy {
        padding-bottom: 1rem;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2.15rem, 9.6vw, 3rem);
    }

    .inner-page .inner-hero-intro {
        font-size: .88rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page .home-slider .carousel-item.active .carousel-caption>* {
        animation: none;
    }
}

/* Keep contact surfaces clean after page-specific and shared component rules. */
.inner-page .contact-option,
.inner-page .contact-option-featured {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.inner-page .contact-option-featured .contact-icon {
    color: var(--color-blue);
    background: #e8f1f6;
}

.contact-location {
    border-radius: 0;
}

@media (max-width: 767.98px) {
    .inner-page .inner-hero {
        display: flex;
        min-height: 0;
        flex-direction: column-reverse;
        border: 0 !important;
        background: #17384d;
    }

    .inner-page .inner-hero::before {
        display: none;
    }

    .inner-page .inner-hero-visual {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(210px, 55vw, 330px);
        flex: 0 0 auto;
        clip-path: none;
    }

    .inner-page .inner-hero-image {
        position: absolute;
    }

    .inner-page .inner-hero-content {
        min-height: 0;
        align-items: stretch;
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 640px;
        padding: 1.7rem 0 1.8rem;
    }

    .inner-page .contact-options {
        grid-template-columns: 1fr;
    }

    .inner-page .contact-option,
    .inner-page .contact-option-featured {
        padding: 1.25rem 0;
    }

    .inner-page .contact-option+.contact-option {
        padding-left: 0;
        border-top: 1px solid #dbe3e8;
    }

    .inner-page .contact-location {
        grid-template-columns: 1fr;
    }

    .inner-page .contact-map {
        min-height: 340px;
    }
}

/* Product catalogue cards: consistent image panels, clear categories and lighter links. */
.products-page .products-section {
    background: linear-gradient(180deg, #fff 0%, #f6f8f9 100%);
}

.products-page .products-intro {
    display: grid;
    max-width: 900px;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin: 0 auto 3rem;
    text-align: left;
}

.products-page .products-intro p {
    margin: 0;
    font-size: .96rem;
    line-height: 1.8;
}

.products-page .products-intro p+p {
    padding-left: 1.5rem;
    border-left: 1px solid #dce5ea;
}

.products-page .product-groups {
    gap: 1.25rem;
    margin-bottom: clamp(4rem, 7vw, 6rem);
}

.products-page .product-group-card {
    position: relative;
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #e4ebef;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(23, 56, 77, .055);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.products-page .product-group-card:hover {
    transform: translateY(-4px);
    border-color: #d0dfe7;
    box-shadow: 0 18px 42px rgba(23, 56, 77, .1);
}

.products-page .product-group-card>img {
    width: 100%;
    height: 100%;
    min-height: 255px;
    object-fit: cover;
    transition: transform .45s ease;
}

.products-page .product-group-card:hover>img {
    transform: scale(1.035);
}

.products-page .product-group-index {
    position: absolute;
    top: .85rem;
    left: .85rem;
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    color: #fff;
    background: rgba(18, 48, 67, .6);
    font-size: .68rem;
    font-weight: 800;
    backdrop-filter: blur(5px);
}

.products-page .product-group-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(1.25rem, 2vw, 2rem);
}

.products-page .product-group-copy .eyebrow {
    margin-bottom: .65rem;
    font-size: .6rem;
}

.products-page .product-group-card h2 {
    margin: 0 0 .6rem;
    font-size: clamp(1.15rem, 1.5vw, 1.4rem);
    line-height: 1.2;
}

.products-page .product-group-card p:not(.eyebrow) {
    margin: 0 0 1rem;
    font-size: .87rem;
    line-height: 1.65;
}

.products-page .product-group-card .text-link {
    min-height: 0;
    gap: .55rem;
    padding: .2rem 0;
    border: 0;
    border-radius: 0;
    color: var(--color-blue-deep);
    background: transparent;
    box-shadow: none;
    font-size: .82rem;
}

.products-page .product-group-card .text-link::after {
    width: 25px;
    height: 25px;
    flex-basis: 25px;
    border-color: rgba(8, 120, 181, .28);
    color: var(--color-blue);
}

.products-page .product-group-card .text-link:hover {
    color: var(--color-red);
    background: transparent;
    box-shadow: none;
    transform: none;
}

.products-page .product-group-card .text-link:hover::after {
    border-color: var(--color-red);
    color: var(--color-red);
}

.products-page .product-range-heading {
    max-width: 790px;
    margin-bottom: 2rem;
}

.products-page .product-range-heading h2 {
    margin-bottom: .7rem;
    font-size: clamp(2rem, 3.6vw, 3rem);
    line-height: 1.08;
}

.products-page .product-range-heading>p:last-child {
    max-width: 650px;
    margin-bottom: 0;
}

.products-page .product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    border: 1px solid #e4ebef;
    border-top: 0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(23, 56, 77, .055);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.products-page .product-card::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: var(--color-red);
    content: "";
}

.products-page .product-card:hover {
    transform: translateY(-5px);
    border-color: #d4e0e6;
    box-shadow: 0 18px 42px rgba(23, 56, 77, .11);
}

.products-page .product-image {
    position: relative;
    height: 245px;
    flex: 0 0 245px;
    overflow: hidden;
    background: #e8eef1;
}

.products-page .product-image::after {
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(180deg, transparent, rgba(12, 35, 50, .38));
    content: "";
    pointer-events: none;
}

.products-page .product-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.products-page .product-card:hover .product-image img {
    transform: scale(1.045);
}

.products-page .product-image-label {
    position: absolute;
    z-index: 1;
    bottom: .9rem;
    left: 1rem;
    padding: .35rem .65rem;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 3px;
    color: #fff;
    background: rgba(13, 38, 54, .56);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(5px);
}

.products-page .product-card-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.35rem 1.4rem 1.45rem;
}

.products-page .product-card h2 {
    margin: 0 0 .6rem;
    font-size: 1.15rem;
    line-height: 1.25;
    text-transform: none;
}

.products-page .product-card-copy>p:not(.eyebrow) {
    min-height: 0;
    margin: 0 0 1.15rem;
    font-size: .87rem;
    line-height: 1.7;
}

.products-page .product-card-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: auto;
    color: var(--color-blue-deep);
    font-size: .8rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .2s ease, gap .2s ease;
}

.products-page .product-card-link span {
    display: inline-flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(8, 120, 181, .28);
    border-radius: 50%;
    color: var(--color-blue);
    font-size: .9rem;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.products-page .product-card-link span svg {
    display: block;
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.products-page .product-card-link:hover {
    gap: .75rem;
    color: var(--color-red);
}

.products-page .product-card-link:hover span {
    border-color: var(--color-red);
    color: #fff;
    background: var(--color-red);
}

@media (max-width: 767.98px) {
    .products-page .products-intro {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .products-page .products-intro p+p {
        padding: 1rem 0 0;
        border-top: 1px solid #dce5ea;
        border-left: 0;
    }

    .products-page .product-groups {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .products-page .product-group-card {
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    }

    .products-page .product-group-card>img {
        min-height: 220px;
    }

    .products-page .product-image {
        height: 220px;
        flex-basis: 220px;
    }
}

@media (max-width: 480px) {
    .products-page .product-group-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .products-page .product-group-card>img {
        min-height: 215px;
    }

    .products-page .product-group-copy {
        padding: 1rem;
    }

    .products-page .product-group-card h2 {
        font-size: 1.05rem;
    }

    .products-page .product-group-card p:not(.eyebrow) {
        font-size: .8rem;
    }

    .products-page .product-group-index {
        top: .55rem;
        left: .55rem;
        width: 29px;
        height: 29px;
    }

    .products-page .product-image {
        height: 195px;
        flex-basis: 195px;
    }
}

/* Use the homepage's photo-and-overlapping-copy composition for catalogue cards. */
.products-page .product-card {
    height: 100%;
    padding-bottom: .35rem;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.products-page .product-card::before {
    display: none;
}

.products-page .product-image {
    height: 275px;
    flex: 0 0 275px;
    overflow: hidden;
    background: var(--color-blue-deep);
}

.products-page .product-image::after {
    display: none;
}

.products-page .product-card:hover .product-image img {
    transform: scale(1.07);
}

.products-page .product-card-copy {
    position: relative;
    width: calc(100% - 42px);
    min-height: 224px;
    margin: -42px auto 0;
    padding: 3.4rem 1.35rem 1.35rem;
    border: 1px solid rgba(21, 54, 75, .08);
    background: #fff;
    box-shadow: 0 14px 36px rgba(21, 54, 75, .12);
    transition: transform .3s ease, box-shadow .3s ease;
}

.products-page .product-card:hover .product-card-copy {
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(21, 54, 75, .18);
}

.products-page .product-card-icon {
    position: absolute;
    top: -37px;
    left: 50%;
    display: flex;
    width: 74px;
    height: 74px;
    align-items: center;
    justify-content: center;
    border: 5px solid #fff;
    border-radius: 50%;
    color: var(--color-red);
    background: #fff;
    box-shadow: 0 7px 20px rgba(21, 54, 75, .13);
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .04em;
    transform: translateX(-50%);
    transition: color .25s ease, background-color .25s ease, transform .25s ease;
}

.products-page .product-card:hover .product-card-icon {
    color: #fff;
    background: var(--color-red);
    transform: translateX(-50%) scale(1.06);
}

.products-page .product-card-copy .eyebrow {
    margin: 0 0 .55rem;
    font-size: .6rem;
    letter-spacing: .12em;
    text-align: center;
}

.products-page .product-card h2 {
    margin: 0 0 .65rem;
    font-size: 1.2rem;
    text-align: center;
}

.products-page .product-card-copy>p:not(.eyebrow) {
    flex: 1;
    margin: 0 0 1.05rem;
    font-size: .89rem;
    line-height: 1.7;
    text-align: center;
}

.products-page .product-card-link {
    margin: auto auto 0;
}

.products-page .product-card-link {
    min-height: 42px;
    gap: .65rem;
    padding: .42rem .8rem .42rem 1rem;
    border: 1px solid var(--color-red);
    border-radius: 4px;
    color: var(--color-red);
    background: #fff;
    font-size: .78rem;
    transition: color .2s ease, background-color .2s ease, gap .2s ease, box-shadow .2s ease;
}

.products-page .product-card-link span {
    width: 25px;
    height: 25px;
    border-color: rgba(199, 25, 32, .32);
    color: var(--color-red);
    background: #fff;
}

.products-page .product-card-link:hover {
    gap: .8rem;
    color: #fff;
    background: var(--color-red);
    box-shadow: 3px 3px 0 var(--color-blue);
}

.products-page .product-card-link:hover span {
    border-color: #fff;
    color: var(--color-red);
    background: #fff;
}

.products-page .product-card-link:focus-visible {
    outline: 3px solid rgba(8, 120, 181, .35);
    outline-offset: 3px;
}

@media (max-width: 767.98px) {
    .products-page .product-image {
        height: 245px;
        flex-basis: 245px;
    }

    .products-page .product-card-copy {
        width: calc(100% - 30px);
        min-height: 215px;
    }
}

@media (max-width: 480px) {
    .products-page .product-image {
        height: 210px;
        flex-basis: 210px;
    }

    .products-page .product-card-copy {
        width: calc(100% - 22px);
        min-height: 215px;
        padding: 3.25rem 1rem 1.15rem;
    }
}

/* Keep large site surfaces within the blue, red, white and black brand palette. */
:root {
    --color-blue: #0878b5;
    --color-blue-dark: #0878b5;
    --color-blue-deep: #0878b5;
    --color-ink: #111;
    --color-muted: #505050;
    --color-surface: #f7f7f7;
    --shadow-card: 0 20px 54px rgba(0, 0, 0, .1);
}

.site-header .nav-link {
    color: #111;
}

.home-slider .carousel-item {
    background: #111;
}

.home-page .home-slider .carousel-item::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .42) 54%, rgba(0, 0, 0, .06) 100%);
}

.home-page .welcome-cta {
    background-color: #111;
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .78) 48%, rgba(0, 0, 0, .58) 100%), url("../images/hd/crops.jpg");
}

.site-footer,
.site-footer::before {
    background-color: var(--color-blue-deep);
    background-image: linear-gradient(135deg, var(--color-blue-deep) 0%, var(--color-blue) 100%), url("../images/product-plants.jpg");
    background-position: center, center 53%;
    background-size: auto, cover;
}

.site-footer::after {
    background: var(--color-blue);
}

.inner-page .inner-hero,
.inner-page .inner-hero::before,
.inner-page .inner-hero-content {
    background: var(--color-blue);
}

.inner-page .inner-hero::before {
    background-image: none;
}

.inner-page .inner-hero-shade {
    background: linear-gradient(90deg, rgba(0, 0, 0, .08), transparent 50%, rgba(0, 0, 0, .08));
}

@media (max-width: 767.98px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero::before {
        background: var(--color-blue);
        background-image: none;
    }
}

/* Final responsive inner-page hero layout. */
.inner-page .inner-hero {
    display: block;
    min-height: 430px;
    border: 0;
    background: #fff;
}

.inner-page .inner-hero::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, .96) 0,
        rgba(255, 255, 255, .86) 64px,
        rgba(255, 255, 255, .58) 124px,
        rgba(255, 255, 255, 0) 260px
    );
    content: "";
    pointer-events: none;
}

.inner-page .inner-hero::before {
    display: block;
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 0;
    width: 59%;
    height: auto;
    background: var(--color-blue);
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
    content: "";
}

.inner-page .inner-hero-accent {
    display: block;
    position: absolute;
    z-index: 0;
    top: 9%;
    right: 0;
    width: 49%;
    height: 82%;
    background: var(--color-red);
}

.inner-page .inner-hero-visual {
    position: absolute;
    z-index: 1;
    inset: 0 15px 15px auto;
    width: 49%;
    max-width: none;
    height: auto;
    overflow: hidden;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

.inner-page .inner-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
}

.inner-page .inner-hero-shade {
    display: none;
}

.inner-page .inner-hero-content {
    position: relative;
    z-index: 3;
    display: flex;
    min-height: 430px;
    align-items: center;
    background: transparent;
}

.inner-page .inner-hero-copy {
    width: 51%;
    max-width: 570px;
    padding: 2.5rem 2rem 2.5rem 0;
}

.inner-page .inner-hero-copy .eyebrow {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1rem;
    color: #fff;
    font-size: .68rem;
    letter-spacing: .15em;
}

.inner-page .inner-hero-copy .eyebrow::after {
    width: 34px;
    height: 2px;
    background: var(--color-red);
    content: "";
}

.inner-page .inner-hero h1 {
    max-width: 560px;
    margin: 0 0 .9rem;
    color: #fff;
    font-size: clamp(2.5rem, 4.2vw, 3.8rem);
    letter-spacing: -.055em;
    line-height: 1.04;
    text-shadow: none;
}

.inner-page .inner-hero-intro {
    max-width: 480px;
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: .98rem;
    line-height: 1.7;
}

.inner-page .inner-hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1.2rem;
    color: rgba(255, 255, 255, .76);
    font-size: .76rem;
}

.inner-page .inner-hero-breadcrumb a {
    color: #fff;
    font-weight: 700;
    text-decoration-color: rgba(255, 255, 255, .55);
    text-underline-offset: 3px;
}

.inner-page .inner-hero-breadcrumb a:hover {
    color: #fff;
}

@media (max-width: 991.98px) and (min-width: 768px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 400px;
    }

    .inner-page .inner-hero::before {
        width: 61%;
    }

    .inner-page .inner-hero-visual {
        width: 48%;
    }

    .inner-page .inner-hero-accent {
        width: 48%;
    }

    .inner-page .inner-hero-copy {
        width: 54%;
        padding-right: 1.4rem;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2.35rem, 4.4vw, 3.2rem);
    }
}

@media (max-width: 767.98px) {
    .inner-page .inner-hero {
        display: grid;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: clamp(220px, 56vw, 340px) auto;
        background: var(--color-blue);
    }

    .inner-page .inner-hero::before,
    .inner-page .inner-hero-accent,
    .inner-page .inner-hero-shade {
        display: none;
    }

    .inner-page .inner-hero-visual {
        position: relative;
        inset: auto;
        grid-row: 1;
        grid-column: 1;
        width: 100%;
        height: 100%;
        clip-path: none;
    }

    .inner-page .inner-hero-image {
        object-position: center 43%;
    }

    .inner-page .inner-hero-content {
        grid-row: 2;
        grid-column: 1;
        width: 100%;
        min-height: 0;
        align-items: stretch;
        background: var(--color-blue);
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 680px;
        padding: 1.55rem 1.25rem 1.7rem;
    }

    .inner-page .inner-hero-copy .eyebrow {
        margin-bottom: .75rem;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2.15rem, 8vw, 3.2rem);
    }

    .inner-page .inner-hero-intro {
        font-size: .91rem;
    }

    .inner-page .inner-hero-breadcrumb {
        margin-top: .9rem;
    }
}

/* Refine homepage content sections with the Farm Support brand palette. */
.home-page .welcome-section {
    background-color: #f4f7f9;
}

.home-page .welcome-section::before {
    background: repeating-radial-gradient(ellipse at center, transparent 0 34px, rgba(23, 56, 77, .035) 35px 36px, transparent 37px 70px);
}

.home-page .welcome-copy h2,
.home-page .reach-copy h2,
.home-page .category-section .section-heading h2 {
    color: #17384d;
    letter-spacing: -.055em;
}

.home-page .welcome-copy .eyebrow,
.home-page .reach-copy .eyebrow,
.home-page .category-section .eyebrow {
    color: #c71920;
}

.home-page .welcome-focus {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 1rem 0;
    border-color: rgba(23, 56, 77, .13);
    transition: padding-left .25s ease, border-color .25s ease;
}

.home-page .welcome-focus:hover {
    padding-left: .35rem;
    border-color: rgba(199, 25, 32, .45);
}

.home-page .welcome-focus>span {
    color: #c71920;
}

.home-page .welcome-mosaic::before {
    top: 8%;
    right: 1%;
    bottom: 6%;
    width: 8px;
    background: #c71920;
}

.home-page .welcome-mosaic-main,
.home-page .welcome-mosaic-inset {
    border-radius: 3px;
    box-shadow: 0 24px 54px rgba(23, 56, 77, .16);
}

.home-page .welcome-mosaic-main {
    border-width: 7px;
}

.home-page .welcome-mosaic-inset {
    border-width: 6px;
}

.home-page .welcome-mosaic-note {
    border-left-color: #c71920;
    border-radius: 0;
    background: #17384d;
}

.home-page .welcome-cta {
    border-radius: 3px;
    background-image:
        linear-gradient(100deg, rgba(13, 35, 49, .94) 0%, rgba(13, 35, 49, .84) 53%, rgba(13, 35, 49, .7) 100%),
        url("../images/hd/crops.jpg");
    box-shadow: 0 24px 60px rgba(23, 56, 77, .13);
}

.home-page .welcome-cta::before {
    width: 112px;
    height: 5px;
    background: #c71920;
}

.home-page .welcome-cta-copy h3 {
    letter-spacing: -.055em;
}

.home-page .welcome-proof-bar {
    border: 1px solid rgba(255, 255, 255, .2);
    border-left: 3px solid #c71920;
    border-radius: 0;
    background: rgba(7, 25, 37, .45);
    box-shadow: none;
    backdrop-filter: blur(8px);
}

.home-page .reach-section {
    background: #fff;
}

.home-page .reach-visual {
    min-height: 0;
    padding: 1.15rem 0 1.15rem 1.15rem;
}

.home-page .reach-visual::before {
    top: 0;
    right: 0;
    bottom: 0;
    left: 1.15rem;
    border-radius: 0;
    background: #0878b5;
    opacity: .55;
}

.home-page .reach-image {
    height: 470px;
    box-shadow: 0 24px 54px rgba(23, 56, 77, .16);
}

.home-page .reach-point-icon {
    border-radius: 3px;
    color: #fff;
    background: #17384d;
    box-shadow: none;
}

.home-page .reach-points li:not(:last-child)::after {
    border-color: #c71920;
}

.home-page .category-section {
    background: #f7f8f5;
}

.home-page .category-section .section-heading {
    margin-bottom: 3rem;
}

.home-page .category-card {
    padding-bottom: 1.2rem;
}

.home-page .category-photo {
    border-radius: 3px;
    background: #17384d;
}

.home-page .category-info {
    border: 1px solid rgba(23, 56, 77, .08);
    border-top: 3px solid #c71920;
    box-shadow: 0 16px 40px rgba(23, 56, 77, .1);
    text-align: left;
}

.home-page .category-card:hover .category-info {
    box-shadow: 0 22px 48px rgba(23, 56, 77, .16);
    transform: translateY(-6px);
}

.home-page .category-icon {
    left: 1.35rem;
    width: 62px;
    height: 62px;
    border: 4px solid #fff;
    border-radius: 3px;
    box-shadow: 0 9px 22px rgba(23, 56, 77, .14);
    transform: none;
}

.home-page .category-icon img {
    width: 36px;
    height: 36px;
}

.home-page .category-info h3 {
    color: #17384d;
    letter-spacing: -.03em;
}

.home-page .category-info .text-link {
    margin: 0;
    color: #075b8b;
}

.home-page .category-info .text-link::after {
    border-color: rgba(8, 120, 181, .45);
    color: #075b8b;
}

.home-page .category-info .text-link:hover {
    color: #17384d;
}

.home-page .home-cta-panel {
    border-top: 4px solid #c71920;
    border-radius: 3px;
    background: #17384d;
}

.home-page .home-cta-panel .eyebrow {
    color: #ffb5b8;
}

.home-page .home-cta-panel .btn {
    border-color: #0878b5;
    color: #fff;
    background: #0878b5;
}

.home-page .home-cta-panel .btn::after {
    border-color: rgba(255, 255, 255, .75);
    color: #fff;
}

.home-page .home-cta-panel .btn:hover {
    border-color: #075b8b;
    background: #075b8b;
}

@media (max-width: 767.98px) {
    .home-page .welcome-mosaic {
        min-height: 380px;
    }

    .home-page .reach-image {
        height: 360px;
    }

    .home-page .category-info {
        text-align: left;
    }
}

@media (max-width: 480px) {
    .home-page .welcome-mosaic {
        min-height: 315px;
    }

    .home-page .reach-image {
        height: 290px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .home-page .home-slider .carousel-item.active>img,
    .home-page .home-slider .carousel-item.active .carousel-caption>* {
        animation: none !important;
    }
}

/* Shared inner-page surfaces and components. */
.inner-page {
    --inner-forest: #0878b5;
    --inner-forest-deep: #15364b;
    --inner-sage: #e6f0f5;
    --inner-sage-light: #f0f6f8;
    --inner-cream: #f4f7f9;
    --inner-paper: #fff;
    --inner-accent: #c71920;
    --inner-ink: #263745;
    --inner-muted: #5e6d77;
    --inner-line: #d9e4e9;
    color: var(--inner-ink);
    background: var(--inner-paper);
}

.inner-page main>section:not(.inner-hero) {
    position: relative;
    background-color: var(--inner-paper);
}

.inner-page main>section:not(.inner-hero) h2,
.inner-page main>section:not(.inner-hero) h3 {
    color: var(--inner-forest-deep);
}

.inner-page main>section:not(.inner-hero) p:not(.eyebrow) {
    color: var(--inner-muted);
}

.inner-page main>section:not(.inner-hero) .eyebrow {
    color: #0878b5;
}

.inner-page main>section:not(.inner-hero) .btn,
.inner-page main>section:not(.inner-hero) .category-back-link {
    min-height: 48px;
    border-color: var(--inner-forest);
    border-radius: 3px;
    color: #fff;
    background: var(--inner-forest);
    box-shadow: 4px 4px 0 rgba(199, 25, 32, .72);
}

.inner-page main>section:not(.inner-hero) .btn::after,
.inner-page main>section:not(.inner-hero) .category-back-link::after {
    border-color: rgba(255, 255, 255, .72);
    color: #fff;
}

.inner-page main>section:not(.inner-hero) .btn:hover,
.inner-page main>section:not(.inner-hero) .category-back-link:hover {
    border-color: var(--inner-forest-deep);
    background: var(--inner-forest-deep);
    box-shadow: 2px 2px 0 var(--inner-accent);
}

.inner-page main>section:not(.inner-hero) .text-link,
.inner-page main>section:not(.inner-hero) .about-text-link,
.inner-page main>section:not(.inner-hero) .contact-inline-link {
    color: var(--inner-forest);
}

.inner-page main>section:not(.inner-hero) .text-link::after {
    border-color: rgba(33, 70, 56, .45);
    color: var(--inner-forest);
}

.inner-page main>section:not(.inner-hero) .text-link:hover,
.inner-page main>section:not(.inner-hero) .about-text-link:hover,
.inner-page main>section:not(.inner-hero) .contact-inline-link:hover {
    color: #c71920;
}

.inner-page .inner-hero {
    display: block;
    min-height: clamp(440px, 43vw, 570px);
    overflow: hidden;
    border: 0;
    background: var(--inner-forest-deep);
    isolation: isolate;
}

.inner-page .inner-hero-visual {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    overflow: hidden;
    clip-path: none;
}

.inner-page .inner-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 48%;
    filter: saturate(.78);
}

.inner-page .inner-hero::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: auto;
    height: auto;
    opacity: 1;
    background: linear-gradient(90deg, rgba(20, 49, 39, .97) 0%, rgba(25, 58, 45, .91) 39%, rgba(27, 58, 45, .55) 70%, rgba(23, 48, 39, .2) 100%);
    clip-path: none;
    content: "";
}

.inner-page .inner-hero-shade {
    display: block;
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--inner-accent) 0 18%, rgba(199, 25, 32, .2) 18% 100%);
    clip-path: none;
    pointer-events: none;
}

.inner-page .inner-hero-accent {
    display: none;
}

.inner-page .inner-hero-content {
    position: relative;
    z-index: 3;
    display: flex;
    min-height: clamp(440px, 43vw, 570px);
    align-items: center;
}

.inner-page .inner-hero-copy {
    width: min(65%, 730px);
    max-width: 730px;
    padding: 3.5rem 0;
}

.inner-page .inner-hero-copy .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    margin: 0 0 1.15rem;
    color: #ffb5b8;
    font-size: .7rem;
    letter-spacing: .17em;
}

.inner-page .inner-hero-copy .eyebrow::after {
    width: 34px;
    height: 1px;
    background: var(--inner-accent);
    content: "";
}

.inner-page .inner-hero h1 {
    max-width: 700px;
    margin: 0 0 1.1rem;
    color: #fff;
    font-size: clamp(3rem, 6vw, 5.5rem);
    letter-spacing: -.06em;
    line-height: .98;
    text-wrap: balance;
}

.inner-page .inner-hero-intro {
    max-width: 520px;
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: clamp(1rem, 1.4vw, 1.14rem);
    line-height: 1.75;
}

.inner-page .inner-hero-breadcrumb {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1.65rem;
    color: rgba(255, 255, 255, .66);
    font-size: .78rem;
}

.inner-page .inner-hero-breadcrumb a {
    color: #ffb5b8;
    font-weight: 700;
}

.inner-page .inner-hero-breadcrumb a:hover {
    color: #fff;
}

.inner-page .about-story {
    background: var(--inner-cream) !important;
}

.inner-page .about-story-visual {
    min-height: 520px;
}

.inner-page .about-story-visual>img {
    height: 490px;
    object-position: center 46%;
    box-shadow: 0 24px 56px rgba(23, 55, 45, .14);
}

.inner-page .about-story-frame {
    border: 1px solid rgba(199, 25, 32, .72);
}

.inner-page .about-story-note {
    border-left-color: var(--inner-accent);
    border-radius: 0;
    background: var(--inner-forest);
    box-shadow: 0 16px 36px rgba(23, 55, 45, .18);
}

.inner-page .about-story-index {
    color: #fff;
}

.inner-page .about-story-index i {
    background: var(--inner-accent);
}

.inner-page .about-story-copy .about-story-lead {
    color: var(--inner-forest);
}

.inner-page .about-facts {
    border-color: var(--inner-line);
}

.inner-page .about-fact {
    border-color: var(--inner-line);
}

.inner-page .about-fact>span,
.inner-page .about-service-label,
.inner-page .about-recognition>span {
    color: #c71920;
}

.inner-page .about-fact strong,
.inner-page .about-recognition strong,
.inner-page .about-recognition a {
    color: var(--inner-forest);
}

.inner-page .about-service,
.inner-page .about-values {
    border-top: 0;
    background: var(--inner-sage-light) !important;
}

.inner-page .about-service::before {
    background: rgba(33, 70, 56, .07);
}

.inner-page .about-service-grid {
    border-color: var(--inner-line);
}

.inner-page .about-service-card {
    border-color: var(--inner-line);
}

.inner-page .about-service-number {
    color: var(--inner-forest);
}

.inner-page .about-recognition {
    border-color: var(--inner-line);
}

.inner-page .about-value {
    border-color: var(--inner-line);
    border-radius: 3px;
    background: var(--inner-paper);
    box-shadow: 0 10px 28px rgba(23, 55, 45, .045);
}

.inner-page .about-value:hover {
    border-color: rgba(199, 25, 32, .55);
}

.inner-page .about-value>span {
    border-radius: 3px;
    color: var(--inner-forest);
    background: var(--inner-sage);
}

.inner-page .products-section,
.inner-page .category-detail-section {
    background: var(--inner-cream) !important;
}

.inner-page .products-intro {
    max-width: 880px;
    margin-right: auto;
    margin-bottom: 3rem;
    margin-left: auto;
    columns: 2;
    column-gap: 3rem;
}

.inner-page .products-intro p {
    font-size: 1rem;
    line-height: 1.8;
}

.inner-page .product-groups {
    gap: 1.1rem;
}

.inner-page .product-group-card {
    grid-template-columns: 145px minmax(0, 1fr);
    min-height: 192px;
    border: 1px solid var(--inner-line);
    border-radius: 3px;
    background: var(--inner-paper);
    box-shadow: 0 12px 30px rgba(23, 55, 45, .055);
}

.inner-page .product-group-card>img {
    min-height: 192px;
}

.inner-page .product-group-copy {
    padding: 1.35rem;
}

.inner-page .product-group-card .eyebrow,
.inner-page .product-card-copy .eyebrow {
    color: #c71920;
}

.inner-page .product-group-card h2,
.inner-page .product-range-heading h2,
.inner-page .category-detail-intro h2 {
    color: var(--inner-forest-deep);
}

.inner-page .product-range-heading {
    margin-bottom: 2rem;
    padding-top: 1.4rem;
    border-top: 1px solid var(--inner-line);
}

.inner-page .product-card,
.inner-page .category-detail-card {
    overflow: hidden;
    border: 1px solid var(--inner-line);
    border-top: 3px solid var(--inner-accent);
    border-radius: 3px;
    background: var(--inner-paper);
    box-shadow: 0 12px 32px rgba(23, 55, 45, .065);
    transition: transform .25s ease, box-shadow .25s ease;
}

.inner-page .product-card:hover,
.inner-page .category-detail-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(23, 55, 45, .12);
}

.inner-page .product-image {
    height: 235px;
    background: var(--inner-sage);
}

.inner-page .product-image img {
    transition: transform .5s ease;
}

.inner-page .product-card:hover .product-image img {
    transform: scale(1.04);
}

.inner-page .product-card-copy {
    background: var(--inner-paper);
}

.inner-page .product-card-icon {
    border-color: var(--inner-paper);
    color: var(--inner-forest);
    background: var(--inner-sage);
}

.inner-page .product-card h2,
.inner-page .product-card h3 {
    color: var(--inner-forest-deep);
}

.inner-page .product-card-link,
.inner-page .product-group-card .text-link {
    border-color: var(--inner-forest);
    border-radius: 3px;
    color: var(--inner-forest);
    background: transparent;
}

.inner-page .product-card-link span,
.inner-page .product-group-card .text-link::after {
    border-color: rgba(33, 70, 56, .3);
    color: var(--inner-forest);
}

.inner-page .product-card-link:hover,
.inner-page .product-group-card .text-link:hover {
    border-color: var(--inner-forest);
    color: #fff;
    background: var(--inner-forest);
}

.inner-page .category-detail-intro {
    max-width: 900px;
}

.inner-page .category-detail-note {
    border-left: 4px solid var(--inner-accent);
    border-radius: 0;
    background: var(--inner-sage-light);
}

.inner-page .partners-section {
    background: var(--inner-cream) !important;
}

.inner-page .partner-grid {
    margin-top: 2rem;
}

.inner-page .partner-card {
    min-height: 335px;
    overflow: hidden;
    border: 1px solid var(--inner-line);
    border-radius: 3px;
    background: var(--inner-paper);
    box-shadow: 0 12px 30px rgba(23, 55, 45, .06);
    transition: transform .25s ease, box-shadow .25s ease;
}

.inner-page .partner-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(23, 55, 45, .12);
}

.inner-page .partner-logo-panel {
    min-height: 190px;
    border-bottom: 1px solid var(--inner-line);
    background: var(--inner-paper);
}

.inner-page .partner-card-copy {
    min-height: 143px;
    padding: 1.2rem 1.35rem;
    border-top: 0;
}

.inner-page .partner-card-copy .eyebrow {
    color: #0878b5;
}

.inner-page .partner-card-copy h2 {
    color: var(--inner-forest-deep);
}

.inner-page .partner-note {
    color: var(--inner-forest);
}

.inner-page .partner-network {
    margin-top: 3.5rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid var(--inner-line);
    border-top: 3px solid var(--inner-accent);
    border-radius: 3px;
    background: var(--inner-sage-light);
}

.inner-page .partner-network h2 {
    color: var(--inner-forest-deep);
}

.inner-page .partner-network-names span {
    border-color: var(--inner-line);
    color: var(--inner-forest);
    background: var(--inner-paper);
}

.inner-page .contact-section {
    background: var(--inner-cream) !important;
}

.inner-page .contact-heading h2 {
    color: var(--inner-forest-deep);
}

.inner-page .contact-options {
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--inner-line);
    background: var(--inner-line);
}

.inner-page .contact-option,
.inner-page .contact-option+.contact-option {
    min-height: 300px;
    padding: 1.8rem;
    border: 0;
    background: var(--inner-paper);
    transition: background-color .2s ease;
}

.inner-page .contact-option:hover {
    background: #f5f6ef;
}

.inner-page .contact-option-featured {
    border-top: 3px solid var(--inner-accent);
}

.inner-page .contact-icon,
.inner-page .contact-option-featured .contact-icon {
    border-radius: 3px;
    color: var(--inner-forest);
    background: var(--inner-sage);
}

.inner-page .contact-option h3 {
    color: var(--inner-forest-deep);
}

.inner-page .contact-location {
    border: 1px solid var(--inner-line);
    border-radius: 3px;
    background: var(--inner-forest-deep);
    box-shadow: 0 18px 44px rgba(23, 55, 45, .1);
}

.inner-page .contact-location-copy h2,
.inner-page .contact-location-copy>p:not(.eyebrow) {
    color: #fff;
}

.inner-page .contact-location-copy .eyebrow {
    color: #ffb5b8;
}

.inner-page .contact-location-copy .contact-location-note {
    color: rgba(255, 255, 255, .7) !important;
}

.inner-page .contact-location-copy .contact-inline-link {
    color: #ffb5b8;
}

.inner-page .contact-map {
    background: var(--inner-sage);
}

.inner-page .site-footer,
.inner-page .site-footer::before {
    background-color: var(--inner-forest-deep);
    background-image: linear-gradient(130deg, rgba(23, 55, 45, .98), rgba(32, 70, 54, .96));
}

.inner-page .site-footer::after {
    background: var(--inner-accent);
}

@media (max-width: 991.98px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 460px;
    }

    .inner-page .inner-hero-copy {
        width: min(74%, 690px);
    }

    .inner-page .about-story-grid {
        gap: 2.5rem;
    }

    .inner-page .about-story-visual {
        min-height: 440px;
    }

    .inner-page .about-story-visual>img {
        height: 410px;
    }

    .inner-page .product-group-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 410px;
    }

    .inner-page .inner-hero-visual {
        height: 100%;
    }

    .inner-page .inner-hero::before {
        background: linear-gradient(90deg, rgba(20, 49, 39, .94), rgba(25, 58, 45, .72) 72%, rgba(23, 48, 39, .42));
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 580px;
        padding: 2.5rem 0;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2.75rem, 11vw, 4rem);
    }

    .inner-page .inner-hero-intro {
        font-size: .98rem;
    }

    .inner-page .inner-hero-breadcrumb {
        margin-top: 1.2rem;
    }

    .inner-page .products-intro {
        columns: 1;
    }

    .inner-page .product-groups {
        grid-template-columns: 1fr;
    }

    .inner-page .product-group-card {
        grid-template-columns: 120px minmax(0, 1fr);
    }

    .inner-page .contact-options {
        grid-template-columns: 1fr;
    }

    .inner-page .contact-option,
    .inner-page .contact-option+.contact-option {
        min-height: 0;
        padding: 1.4rem;
    }

    .inner-page .contact-location {
        grid-template-columns: 1fr;
    }

    .inner-page .contact-location-copy {
        padding: 1.8rem;
    }
}

@media (max-width: 480px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 390px;
    }

    .inner-page .inner-hero-copy {
        padding: 2rem 0;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2.5rem, 12vw, 3.3rem);
    }

    .inner-page .about-story-visual {
        min-height: 0;
    }

    .inner-page .about-story-visual>img {
        height: clamp(280px, 82vw, 370px);
    }

    .inner-page .about-story-note {
        right: 0;
        bottom: 40px;
        min-width: 175px;
        padding: .75rem .85rem;
    }

    .inner-page .product-group-card {
        grid-template-columns: 96px minmax(0, 1fr);
        min-height: 170px;
    }

    .inner-page .product-group-card>img {
        min-height: 170px;
    }

    .inner-page .product-group-copy {
        padding: 1rem;
    }

    .inner-page .product-group-card h2 {
        font-size: 1.1rem;
    }

    .inner-page .category-detail-note {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {

    .inner-page .product-card,
    .inner-page .partner-card,
    .inner-page .contact-option,
    .inner-page .product-image img {
        transition: none;
    }
}

.inner-page .product-finder {
    max-width: 1120px;
    margin: 0 auto;
}

.inner-page .product-finder-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin: 0 0 1.5rem;
}

.inner-page .product-finder-heading .eyebrow {
    margin-bottom: .5rem;
}

.inner-page .product-finder-heading h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3.2vw, 2.7rem);
    letter-spacing: -.05em;
}

.inner-page .product-search {
    display: flex;
    width: min(100%, 360px);
    min-height: 50px;
    align-items: center;
    gap: .7rem;
    padding: 0 1rem;
    border: 1px solid #d7e3e8;
    border-radius: 4px;
    color: #075b8b;
    background: rgba(255, 255, 255, .92);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.inner-page .product-search:focus-within {
    border-color: #0878b5;
    box-shadow: 0 0 0 3px rgba(8, 120, 181, .12);
}

.inner-page .product-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    color: #15364b;
    background: transparent;
    font: inherit;
    font-size: .9rem;
}

.inner-page .product-search input::placeholder {
    color: #84939c;
}

.inner-page .product-search>span:last-child {
    font-size: 1.5rem;
    line-height: 1;
}

.inner-page .product-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: 1.7rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #d7e3e8;
}

.inner-page .product-filter {
    min-height: 38px;
    padding: .45rem .9rem;
    border: 1px solid #d7e3e8;
    border-radius: 3px;
    color: #365262;
    background: rgba(255, 255, 255, .72);
    font: inherit;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}

.inner-page .product-filter:hover,
.inner-page .product-filter:focus-visible {
    border-color: #0878b5;
    color: #075b8b;
    outline: none;
}

.inner-page .product-filter.is-active {
    border-color: #0878b5;
    color: #fff;
    background: #0878b5;
}

.inner-page .product-result-count {
    margin: 0 0 0 auto;
    color: #637580;
    font-size: .82rem;
}

.inner-page .product-grid-item[hidden] {
    display: none !important;
}

.inner-page .product-no-results {
    margin: 1.5rem 0;
    padding: 1.25rem 1.4rem;
    border-left: 3px solid #c71920;
    color: #435b68;
    background: rgba(255, 255, 255, .8);
}

.inner-page .product-no-results a,
.inner-page .product-availability-note a {
    color: #075b8b;
    font-weight: 700;
}

.inner-page .product-availability-note {
    margin: 1.5rem 0 0;
    color: #687883;
    font-size: .85rem;
}

.inner-page .product-card-copy>p:not(.eyebrow) {
    font-size: .88rem;
    line-height: 1.6;
}

.inner-page .category-detail-note p {
    max-width: 640px;
}

@media (max-width: 767.98px) {
    .inner-page .product-finder-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 1rem;
    }

    .inner-page .product-search {
        width: 100%;
    }

    .inner-page .product-result-count {
        width: 100%;
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    .inner-page .product-filter,
    .inner-page .product-search {
        transition: none;
    }
}

/* Inner pages use the logo blue and red over a softly blended color canvas. */
.inner-page {
    --inner-forest: #0878b5;
    --inner-forest-deep: #15364b;
    --inner-sage: #e6f0f5;
    --inner-sage-light: #f0f6f8;
    --inner-cream: #f4f7f9;
    --inner-paper: #fff;
    --inner-accent: #c71920;
    --inner-ink: #263745;
    --inner-muted: #5e6d77;
    --inner-line: #d9e4e9;
    background: #f1f5f7;
}

.inner-page main {
    background:
        radial-gradient(ellipse at 10% 14%, rgba(8, 120, 181, .12), transparent 35%),
        radial-gradient(ellipse at 91% 38%, rgba(199, 25, 32, .075), transparent 30%),
        radial-gradient(ellipse at 22% 81%, rgba(8, 120, 181, .075), transparent 34%),
        linear-gradient(145deg, #eff5f7 0%, #f6f7f8 53%, #f1f6f7 100%);
}

.inner-page main>section:not(.inner-hero) {
    background: rgba(255, 255, 255, .42);
}

.inner-page main>section:not(.inner-hero) h2,
.inner-page main>section:not(.inner-hero) h3 {
    color: #15364b;
}

.inner-page main>section:not(.inner-hero) p:not(.eyebrow) {
    color: #5e6d77;
}

.inner-page main>section:not(.inner-hero) .eyebrow {
    color: #0878b5;
}

.inner-page main>section:not(.inner-hero) .btn,
.inner-page main>section:not(.inner-hero) .category-back-link {
    border-color: #0878b5;
    color: #fff;
    background: #0878b5;
    box-shadow: 4px 4px 0 rgba(199, 25, 32, .76);
}

.inner-page main>section:not(.inner-hero) .btn::after,
.inner-page main>section:not(.inner-hero) .category-back-link::after {
    border-color: rgba(255, 255, 255, .72);
    color: #fff;
}

.inner-page main>section:not(.inner-hero) .btn:hover,
.inner-page main>section:not(.inner-hero) .category-back-link:hover {
    border-color: #075b8b;
    background: #075b8b;
    box-shadow: 2px 2px 0 #c71920;
}

.inner-page main>section:not(.inner-hero) .text-link,
.inner-page main>section:not(.inner-hero) .about-text-link,
.inner-page main>section:not(.inner-hero) .contact-inline-link {
    color: #075b8b;
}

.inner-page main>section:not(.inner-hero) .text-link::after {
    border-color: rgba(8, 120, 181, .4);
    color: #075b8b;
}

.inner-page main>section:not(.inner-hero) .text-link:hover,
.inner-page main>section:not(.inner-hero) .about-text-link:hover,
.inner-page main>section:not(.inner-hero) .contact-inline-link:hover {
    color: #c71920;
}

.inner-page .inner-hero {
    background: #15364b;
}

.inner-page .inner-hero::before {
    background: linear-gradient(100deg, rgba(13, 54, 78, .97) 0%, rgba(8, 98, 143, .91) 43%, rgba(8, 91, 139, .66) 72%, rgba(21, 54, 75, .28) 100%);
}

.inner-page .inner-hero-shade {
    background: linear-gradient(90deg, #c71920 0 14%, rgba(199, 25, 32, .45) 14% 100%);
}

.inner-page .inner-hero-image {
    filter: saturate(.88);
}

.inner-page .inner-hero-copy .eyebrow {
    color: #f4b5b8;
}

.inner-page .inner-hero-copy .eyebrow::after {
    background: #e45259;
}

.inner-page .inner-hero-breadcrumb a {
    color: #bce2f4;
}

.inner-page main>.about-story {
    background: linear-gradient(120deg, rgba(231, 241, 246, .84), rgba(255, 255, 255, .54) 58%, rgba(255, 242, 241, .7)) !important;
}

.inner-page .about-story-visual>img {
    box-shadow: 0 24px 56px rgba(21, 54, 75, .16);
}

.inner-page .about-story-frame {
    border-color: rgba(199, 25, 32, .74);
}

.inner-page .about-story-note {
    border-left-color: #c71920;
    background: #15364b;
    box-shadow: 0 16px 36px rgba(21, 54, 75, .2);
}

.inner-page .about-story-index i {
    background: #c71920;
}

.inner-page .about-story-copy .about-story-lead {
    color: #075b8b;
}

.inner-page .about-facts,
.inner-page .about-fact {
    border-color: #d6e3e9;
}

.inner-page .about-fact>span,
.inner-page .about-service-label {
    color: #0878b5;
}

.inner-page .about-fact strong,
.inner-page .about-recognition strong,
.inner-page .about-recognition a {
    color: #15364b;
}

.inner-page main>.about-service,
.inner-page main>.about-values {
    background: linear-gradient(130deg, rgba(226, 239, 246, .78), rgba(249, 246, 244, .8) 70%, rgba(255, 255, 255, .55)) !important;
}

.inner-page .about-service::before {
    background: rgba(8, 120, 181, .09);
}

.inner-page .about-service-grid,
.inner-page .about-service-card,
.inner-page .about-recognition {
    border-color: #d3e1e7;
}

.inner-page .about-service-number {
    color: #c71920;
}

.inner-page .about-recognition>span {
    color: #c71920;
}

.inner-page .about-value {
    border-color: #d9e4e9;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 10px 28px rgba(21, 54, 75, .055);
}

.inner-page .about-value:hover {
    border-color: rgba(199, 25, 32, .5);
}

.inner-page .about-value>span {
    color: #c71920;
    background: #fff0ef;
}

.inner-page main>.products-section,
.inner-page main>.category-detail-section {
    background: linear-gradient(140deg, rgba(233, 242, 247, .72), rgba(255, 255, 255, .55) 56%, rgba(255, 242, 241, .55)) !important;
}

.inner-page .products-intro p {
    color: #536875;
}

.inner-page .product-group-card {
    border-color: #d7e3e8;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(21, 54, 75, .07);
}

.inner-page .product-group-card .eyebrow,
.inner-page .product-card-copy .eyebrow {
    color: #c71920;
}

.inner-page .product-group-card h2,
.inner-page .product-range-heading h2,
.inner-page .category-detail-intro h2 {
    color: #15364b;
}

.inner-page .product-range-heading {
    border-color: #d4e1e7;
}

.inner-page .product-card,
.inner-page .category-detail-card {
    border-color: #d7e3e8;
    border-top-color: #c71920;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 32px rgba(21, 54, 75, .075);
}

.inner-page .product-card:hover,
.inner-page .category-detail-card:hover {
    box-shadow: 0 20px 42px rgba(21, 54, 75, .14);
}

.inner-page .product-image {
    background: #e6f0f5;
}

.inner-page .product-card-icon {
    color: #c71920;
    background: #fff0ef;
}

.inner-page .product-card h2,
.inner-page .product-card h3 {
    color: #15364b;
}

.inner-page .product-card-link,
.inner-page .product-group-card .text-link {
    border-color: #0878b5;
    color: #075b8b;
}

.inner-page .product-card-link span,
.inner-page .product-group-card .text-link::after {
    border-color: rgba(8, 120, 181, .38);
    color: #075b8b;
}

.inner-page .product-card-link:hover,
.inner-page .product-group-card .text-link:hover {
    border-color: #075b8b;
    background: #075b8b;
}

.inner-page .category-detail-note {
    border-left-color: #c71920;
    background: rgba(231, 241, 246, .8);
}

.inner-page main>.partners-section {
    background: linear-gradient(135deg, rgba(232, 242, 247, .83), rgba(255, 255, 255, .64) 55%, rgba(255, 241, 240, .62)) !important;
}

.inner-page .partner-card {
    border-color: #d7e3e8;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 12px 30px rgba(21, 54, 75, .07);
}

.inner-page .partner-card:hover {
    box-shadow: 0 20px 42px rgba(21, 54, 75, .14);
}

.inner-page .partner-logo-panel {
    border-color: #d7e3e8;
    background: #fff;
}

.inner-page .partner-card-copy .eyebrow {
    color: #0878b5;
}

.inner-page .partner-card-copy h2 {
    color: #15364b;
}

.inner-page .partner-note {
    color: #075b8b;
}

.inner-page .partner-network {
    border-color: #d4e1e7;
    border-top-color: #c71920;
    background: linear-gradient(120deg, rgba(226, 239, 246, .9), rgba(255, 255, 255, .86));
}

.inner-page .partner-network h2 {
    color: #15364b;
}

.inner-page .partner-network-names span {
    border-color: #d5e2e8;
    color: #075b8b;
    background: rgba(255, 255, 255, .9);
}

.inner-page main>.contact-section {
    background: linear-gradient(130deg, rgba(231, 241, 246, .77), rgba(255, 255, 255, .6) 55%, rgba(255, 241, 240, .66)) !important;
}

.inner-page .contact-heading h2 {
    color: #15364b;
}

.inner-page .contact-options {
    border-color: #d7e3e8;
    background: #d7e3e8;
}

.inner-page .contact-option,
.inner-page .contact-option+.contact-option {
    background: rgba(255, 255, 255, .96);
}

.inner-page .contact-option:hover {
    background: #f0f6f8;
}

.inner-page .contact-option-featured {
    border-top-color: #c71920;
}

.inner-page .contact-icon,
.inner-page .contact-option-featured .contact-icon {
    color: #075b8b;
    background: #e6f0f5;
}

.inner-page .contact-option h3 {
    color: #15364b;
}

.inner-page .contact-location {
    border-color: rgba(255, 255, 255, .14);
    background: linear-gradient(125deg, #15364b 0%, #075b8b 100%);
    box-shadow: 0 18px 44px rgba(21, 54, 75, .15);
}

.inner-page .contact-location-copy h2,
.inner-page .contact-location-copy>p:not(.eyebrow) {
    color: #fff;
}

.inner-page .contact-location-copy .eyebrow,
.inner-page .contact-location-copy .contact-inline-link {
    color: #f4b5b8;
}

.inner-page .contact-location-copy .contact-location-note {
    color: rgba(255, 255, 255, .76) !important;
}

.inner-page .contact-map {
    background: #e6f0f5;
}

.inner-page .site-footer,
.inner-page .site-footer::before {
    background-color: var(--color-blue-deep);
    background-image: linear-gradient(135deg, var(--color-blue-deep) 0%, var(--color-blue) 100%);
}

.inner-page .site-footer::after {
    background: var(--color-blue);
}

@media (max-width: 767.98px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 410px;
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 580px;
    }
}

@media (max-width: 480px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 390px;
    }
}

/* Editorial inner-page hero with a strong angled brand-color split. */
.inner-page .inner-hero {
    display: block;
    min-height: clamp(450px, 43vw, 590px);
    overflow: hidden;
    background: #0878b5;
    isolation: isolate;
}

.inner-page .inner-hero::before {
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 0;
    width: 65%;
    height: auto;
    background: linear-gradient(135deg, #0878b5 0%, #075b8b 100%);
    clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%);
    content: "";
}

.inner-page .inner-hero-visual {
    position: absolute;
    z-index: 1;
    inset: 0 22px 18px auto;
    width: 52%;
    max-width: none;
    height: auto;
    overflow: hidden;
    clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
}

.inner-page .inner-hero-visual::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40%;
    height: 9px;
    background: #c71920;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
}

.inner-page .inner-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
    filter: saturate(.9);
}

.inner-page .inner-hero-accent {
    display: block;
    position: absolute;
    z-index: 0;
    top: 6%;
    right: 0;
    width: 54%;
    height: 88%;
    background: #c71920;
    clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%);
}

.inner-page .inner-hero-shade {
    display: block;
    position: absolute;
    z-index: 1;
    inset: auto auto 0 0;
    width: 36%;
    height: 8px;
    background: #c71920;
    clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%);
}

.inner-page .inner-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: clamp(450px, 43vw, 590px);
    align-items: center;
    background: transparent;
}

.inner-page .inner-hero-copy {
    width: 50%;
    max-width: 590px;
    padding: 3.25rem 2rem 3.25rem 0;
}

.inner-page .inner-hero-copy .eyebrow {
    color: #fff;
}

.inner-page .inner-hero h1 {
    max-width: 570px;
    font-size: clamp(2.8rem, 5.1vw, 5rem);
    line-height: .98;
}

.inner-page .inner-hero-intro {
    max-width: 500px;
}

.inner-page .inner-hero-breadcrumb a {
    color: #d4efff;
}

.inner-page .about-story-visual>img {
    clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
}

.inner-page .about-story-frame {
    clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
}

.inner-page .product-image img,
.inner-page .product-group-card>img {
    clip-path: polygon(0 0, 100% 0, 100% 86%, 86% 100%, 0 100%);
}

.inner-page .product-image,
.inner-page .product-group-card {
    overflow: hidden;
}

body.inner-page .contact-location-copy h2 {
    color: #fff !important;
}
body.inner-page .contact-location-copy > p:not(.eyebrow) {
    color: #fff !important;
}
body.inner-page .contact-location-copy .eyebrow,
body.inner-page .contact-location-copy .contact-inline-link {
    color: #ffdfe0 !important;
}
body.inner-page .contact-location-copy .contact-location-note {
    color: rgba(255, 255, 255, .9) !important;
}

@media (max-width: 991.98px) and (min-width: 768px) {

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 460px;
    }

    .inner-page .inner-hero-copy {
        width: 52%;
        padding-right: 1.25rem;
    }

    .inner-page .inner-hero-visual {
        width: 51%;
    }

    .inner-page .inner-hero-accent {
        width: 53%;
    }
}

@media (max-width: 767.98px) {
    .inner-page .inner-hero {
        display: grid;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: clamp(220px, 56vw, 330px) auto;
        background: #0878b5;
    }

    .inner-page .inner-hero::before,
    .inner-page .inner-hero-accent,
    .inner-page .inner-hero-shade {
        display: none;
    }

    .inner-page .inner-hero-visual {
        position: relative;
        inset: auto;
        grid-area: 1 / 1;
        width: 100%;
        height: 100%;
        clip-path: none;
    }

    .inner-page .inner-hero-visual::after {
        width: 45%;
        height: 8px;
    }

    .inner-page .inner-hero-image {
        object-position: center 43%;
    }

    .inner-page .inner-hero-content {
        grid-area: 2 / 1;
        width: 100%;
        min-height: 0;
        align-items: stretch;
        background: #0878b5;
    }

    .inner-page .inner-hero-copy {
        width: 100%;
        max-width: 680px;
        padding: 1.6rem 1.25rem 1.75rem;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2.25rem, 8vw, 3.4rem);
    }
}

@media (max-width: 480px) {
    .inner-page .inner-hero {
        grid-template-rows: 220px auto;
    }

    .inner-page .inner-hero-copy {
        padding: 1.4rem 1rem 1.5rem;
    }

    .inner-page .inner-hero h1 {
        font-size: clamp(2rem, 10vw, 2.8rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .inner-page .inner-hero-image {
        transition: none;
    }
}

.home-page .reach-visual {
    min-height: 0;
    padding: 1.1rem 1.1rem 1.1rem 0;
    isolation: isolate;
}

.home-page .reach-visual::before {
    z-index: -1;
    inset: 0 0 0 1.1rem;
    background: #c71920;
    clip-path: polygon(15% 0, 100% 0, 100% 86%, 86% 100%, 0 100%, 0 15%);
    opacity: 1;
}

.home-page .reach-visual::after {
    position: absolute;
    z-index: 2;
    top: 1.8rem;
    left: 0;
    width: 8px;
    height: 74px;
    background: #0878b5;
    content: "";
}

.home-page .reach-image {
    height: 470px;
    clip-path: polygon(13% 0, 100% 0, 100% 84%, 84% 100%, 0 100%, 0 13%);
    object-position: center;
    box-shadow: 0 24px 54px rgba(21, 54, 75, .18);
}

.home-page .reach-image-label {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 2.2rem;
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: .65rem 1rem .65rem 1.2rem;
    color: #fff;
    background: #c71920;
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.home-page .reach-point-icon {
    border: 1px solid rgba(199, 25, 32, .22);
    color: #c71920;
    background: #fff0ef;
    box-shadow: 0 4px 0 rgba(199, 25, 32, .1);
}

.home-page .reach-points li:not(:last-child)::after {
    border-color: #c71920;
}

@media (max-width: 767.98px) {
    .home-page .reach-visual {
        padding: .85rem .85rem .85rem 0;
    }

    .home-page .reach-visual::before {
        inset: 0 0 0 .85rem;
    }

    .home-page .reach-image {
        height: clamp(280px, 76vw, 360px);
    }

    .home-page .reach-image-label {
        bottom: 1.6rem;
    }
}

@media (max-width: 480px) {
    .home-page .reach-image {
        height: clamp(250px, 74vw, 315px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page .reach-image {
        transition: none;
    }
}

.home-page .category-info .text-link,
.home-page .category-info .text-link:hover,
.home-page .category-info .text-link:focus-visible {
    border-color: #c71920;
    color: #fff;
    background: #c71920;
}

.home-page .category-info .text-link::after {
    border-color: rgba(255, 255, 255, .75);
    color: #fff;
}

.home-page .category-info .text-link:hover {
    border-color: #075b8b;
    background: #075b8b;
}

.partners-page .partners-section {
    overflow: hidden;
}

.partners-page .partner-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 3.75rem;
}

.partners-page .partner-section-heading>div:first-child {
    max-width: 760px;
}

.partners-page .partner-section-heading .eyebrow {
    margin-bottom: .85rem;
}

.partners-page .partner-section-heading h2 {
    margin: 0 0 .9rem;
    color: #15364b;
    font-size: clamp(2.5rem, 5vw, 4.4rem);
    letter-spacing: -.06em;
    line-height: .98;
}

.partners-page .partner-section-heading>div:first-child>p:last-child {
    max-width: 500px;
    margin: 0;
    color: #5e6d77;
}

.partners-page .partner-heading-mark {
    position: relative;
    display: flex;
    width: 184px;
    min-height: 124px;
    flex: 0 0 184px;
    align-items: end;
    justify-content: space-between;
    padding: 1rem 1rem .9rem;
    overflow: hidden;
    color: #fff;
    background: #0878b5;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%, 0 14%);
}

.partners-page .partner-heading-mark::before {
    position: absolute;
    top: -34px;
    right: -24px;
    width: 112px;
    height: 112px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 50%;
    content: "";
}

.partners-page .partner-heading-mark::after {
    position: absolute;
    top: 0;
    left: 14%;
    width: 54px;
    height: 5px;
    background: #c71920;
    content: "";
}

.partners-page .partner-heading-mark span {
    color: #fff;
    font-family: var(--font-heading);
    font-size: 3.35rem;
    font-weight: 800;
    letter-spacing: -.08em;
    line-height: .9;
}

.partners-page .partner-heading-mark strong {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, .88);
    font-size: .65rem;
    letter-spacing: .09em;
    line-height: 1.35;
    text-align: right;
    text-transform: uppercase;
}

.partners-page .partner-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    margin: 0;
}

.partners-page .partner-grid>[class*="col-"] {
    width: auto;
    padding: 0;
}

.partners-page .partner-grid>[class*="col-"]:nth-child(even) {
    transform: translateY(1.25rem);
}

.partners-page .partner-card {
    min-height: 365px;
    border: 1px solid #d9e4e9;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 15px 38px rgba(21, 54, 75, .075);
    transition: transform .25s ease, box-shadow .25s ease;
}

.partners-page .partner-grid>[class*="col-"]:nth-child(even) .partner-card {
    min-height: 365px;
}

.partners-page .partner-card::before {
    z-index: 2;
    top: auto;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: #0878b5;
}

.partners-page .partner-grid>[class*="col-"]:nth-child(even) .partner-card::before {
    background: #c71920;
}

.partners-page .partner-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 48px rgba(21, 54, 75, .14);
}

.partners-page .partner-logo-panel {
    position: relative;
    min-height: 215px;
    overflow: hidden;
    border-bottom: 0;
    background: linear-gradient(145deg, #e8f2f7, #f8fafb 72%);
}

.partners-page .partner-logo-panel::before {
    position: absolute;
    top: -48px;
    right: -44px;
    width: 178px;
    height: 178px;
    border: 1px solid rgba(8, 120, 181, .2);
    border-radius: 50%;
    content: "";
    transition: transform .35s ease;
}

.partners-page .partner-logo-panel::after {
    position: absolute;
    right: 1.4rem;
    bottom: 1.35rem;
    width: 42px;
    height: 4px;
    background: #c71920;
    content: "";
}

.partners-page .partner-card:hover .partner-logo-panel::before {
    transform: scale(1.14);
}

.partners-page .partner-logo-panel img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 245px;
    height: 118px;
    padding: .5rem;
    object-fit: contain;
}

.partners-page .partner-card-index {
    position: absolute;
    z-index: 2;
    top: 1rem;
    left: 1rem;
    color: #075b8b;
    font-family: var(--font-heading);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.partners-page .partner-card-copy {
    min-height: 150px;
    padding: 1.35rem 1.4rem 1.5rem;
    border-top: 1px solid #e4ebef;
}

.partners-page .partner-card-copy .eyebrow {
    margin-bottom: .45rem;
    color: #c71920;
}

.partners-page .partner-card-copy h2 {
    margin-bottom: .35rem;
    color: #15364b;
    font-size: 1.25rem;
}

.partners-page .partner-country {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin: 0;
    color: #5e6d77;
    font-size: .82rem;
}

.partners-page .partner-country::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0878b5;
    content: "";
}

.inner-page .partners-page .partner-card-copy .text-link,
.inner-page .partners-page .partner-card-copy .text-link:hover,
.inner-page .partners-page .partner-card-copy .text-link:focus-visible {
    min-height: 42px;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem .75rem .55rem 1rem;
    border-color: #c71920;
    color: #fff;
    background: #c71920;
}

.inner-page .partners-page .partner-card-copy .text-link::after {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
    border-color: rgba(255, 255, 255, .8);
    color: #fff;
}

.inner-page .partners-page .partner-card-copy .text-link:hover {
    border-color: #075b8b;
    color: #fff;
    background: #075b8b;
}

.partners-page .partner-note {
    padding: .62rem .75rem;
    border-left: 3px solid #0878b5;
    color: #075b8b;
    background: #e8f2f7;
    font-size: .75rem;
    font-weight: 700;
}

.partners-page .partner-network {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 2rem;
    margin-top: 4.5rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    color: #fff;
    background: #15364b;
}

.partners-page .partner-network::after {
    position: absolute;
    top: -68px;
    right: 17%;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 22px rgba(255, 255, 255, .035), 0 0 0 44px rgba(255, 255, 255, .025);
    content: "";
    pointer-events: none;
}

.partners-page .partner-network .eyebrow {
    color: #ffb5b8;
}

.partners-page .partner-network h2 {
    color: #fff;
}

.partners-page .partner-network-names {
    position: relative;
    z-index: 1;
}

.partners-page .partner-network-names span {
    min-height: 48px;
    padding-inline: 1.25rem;
    border-color: rgba(255, 255, 255, .3);
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.partners-page .partner-note-copy {
    position: relative;
    z-index: 1;
    border-color: rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .76);
}

@media (max-width: 991.98px) {
    .partners-page .partner-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partners-page .partner-grid>[class*="col-"]:nth-child(even) {
        transform: none;
    }

    .partners-page .partner-network {
        margin-top: 2.5rem;
    }
}

@media (max-width: 767.98px) {
    .partners-page .partner-section-heading {
        align-items: start;
        margin-bottom: 2.5rem;
    }

    .partners-page .partner-heading-mark {
        width: 132px;
        min-height: 100px;
        flex-basis: 132px;
    }

    .partners-page .partner-heading-mark span {
        font-size: 2.7rem;
    }

    .partners-page .partner-grid {
        gap: 1rem;
    }

    .partners-page .partner-logo-panel {
        min-height: 180px;
    }

    .partners-page .partner-network {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .partners-page .partner-section-heading {
        gap: 1rem;
    }

    .partners-page .partner-section-heading h2 {
        font-size: 2.15rem;
    }

    .partners-page .partner-heading-mark {
        width: 86px;
        min-height: 82px;
        flex-basis: 86px;
        align-items: center;
        justify-content: center;
        padding: .6rem;
    }

    .partners-page .partner-heading-mark span {
        font-size: 2.4rem;
    }

    .partners-page .partner-heading-mark strong {
        display: none;
    }

    .partners-page .partner-grid {
        grid-template-columns: 1fr;
    }

    .partners-page .partner-card {
        min-height: 0;
    }

    .partners-page .partner-logo-panel {
        min-height: 190px;
    }

    .partners-page .partner-network {
        padding: 1.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {

    .partners-page .partner-card,
    .partners-page .partner-logo-panel::before {
        transition: none;
    }
}

.home-page .home-slider .carousel-item {
    isolation: isolate;
}

.home-page .home-slider .carousel-item>img {
    position: relative;
    z-index: 0;
    filter: saturate(.9);
}

.home-page .home-slider .carousel-item::after {
    z-index: 1;
    background: linear-gradient(90deg, rgba(8, 91, 139, .16) 0%, rgba(8, 91, 139, .03) 60%, rgba(0, 0, 0, .18) 100%);
}

.home-page .home-slider .carousel-caption {
    z-index: 2;
    left: max(calc((100vw - var(--container-width)) / 2), 8%);
    width: min(780px, 75%);
    padding: 3rem 4rem 2.5rem 2rem;
    background: linear-gradient(135deg, rgba(8, 120, 181, .98), rgba(7, 91, 139, .98));
    clip-path: polygon(0 0, 100% 0, 93% 100%, 0 100%);
}

.home-page .home-slider .carousel-caption::before {
    content: none;
}

.home-page .home-slider .carousel-caption::after {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 10%;
    bottom: 0;
    width: 7px;
    background: #c71920;
    content: "";
}

.home-page .home-slider .carousel-caption>* {
    position: relative;
    z-index: 1;
}

.home-page .hero-slide-index {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: 1.35rem;
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.home-page .hero-slide-index i {
    width: 34px;
    height: 2px;
    background: #c71920;
}

.home-page .home-slider .carousel-caption .eyebrow {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: .9rem;
    color: rgba(255, 255, 255, .76);
    font-size: .67rem;
}

.home-page .home-slider .carousel-caption .eyebrow::before {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    background: #c71920;
    content: "";
    transform: rotate(45deg);
}

.home-page .home-slider .carousel-caption h1,
.home-page .home-slider .carousel-caption h2 {
    max-width: 600px;
    margin-bottom: .8rem;
    font-size: clamp(2.65rem, 4.5vw, 4rem);
    letter-spacing: -.06em;
    line-height: .99;
    text-wrap: balance;
}

.home-page .home-slider .carousel-caption>p:not(.eyebrow) {
    max-width: 440px;
    margin-bottom: 1.25rem;
    color: rgba(255, 255, 255, .88);
    font-size: 1rem;
}

.home-page .home-slider .carousel-caption .btn {
    border-color: #c71920;
    color: #fff;
    background: #c71920;
    box-shadow: 4px 4px 0 rgba(255, 255, 255, .18);
}

.home-page .home-slider .carousel-caption .btn:hover {
    border-color: #a31218;
    background: #a31218;
    box-shadow: 2px 2px 0 rgba(255, 255, 255, .24);
}

.home-page .home-slider .carousel-indicators {
    z-index: 4;
    left: max(calc((100vw - var(--container-width)) / 2), 8%);
    width: auto;
    max-width: none;
    gap: .5rem;
    margin-bottom: 1.65rem;
}

.home-page .home-slider .carousel-indicators [data-bs-target] {
    width: 36px;
    height: 4px;
    background: #fff;
}

.home-page .home-slider .carousel-indicators .active {
    background: #c71920;
}

.home-page .home-slider .carousel-control-prev,
.home-page .home-slider .carousel-control-next {
    z-index: 4;
}

.home-page .home-cta {
    min-height: 650px;
    overflow: hidden;
    padding: 3.5rem 0;
    background: #f1f6f8;
}

.home-page .home-cta::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 35%;
    height: 100%;
    background: linear-gradient(160deg, rgba(8, 120, 181, .07), rgba(199, 25, 32, .045));
    clip-path: polygon(32% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
}

.home-page .home-cta-image {
    z-index: 0;
    top: 4rem;
    right: max(3%, calc((100vw - var(--container-width)) / 2 - 25px));
    bottom: 4rem;
    width: min(66%, 950px);
}

.home-page .home-cta-image::before {
    top: 1.3rem;
    right: -1.1rem;
    bottom: -1.1rem;
    left: 1.3rem;
    border-radius: 0;
    background: #c71920;
    clip-path: polygon(13% 0, 100% 0, 100% 87%, 87% 100%, 0 100%, 0 13%);
}

.home-page .home-cta-image img {
    border-radius: 0;
    clip-path: polygon(13% 0, 100% 0, 100% 87%, 87% 100%, 0 100%, 0 13%);
    object-position: center 47%;
}

.home-page .home-cta-stamp {
    position: absolute;
    z-index: 2;
    right: -1.35rem;
    bottom: 2.4rem;
    display: grid;
    min-width: 155px;
    gap: .2rem;
    padding: .85rem 1.15rem;
    color: #fff;
    background: #0878b5;
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
    box-shadow: 0 12px 30px rgba(21, 54, 75, .18);
}

.home-page .home-cta-stamp span {
    color: rgba(255, 255, 255, .75);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.home-page .home-cta-stamp strong {
    color: #fff;
    font-size: .95rem;
    line-height: 1.25;
}

.home-page .home-cta-inner {
    min-height: 570px;
    align-items: center;
}

.home-page .home-cta-panel {
    position: relative;
    width: min(54%, 610px);
    padding: clamp(2.1rem, 4vw, 3.35rem);
    border: 0;
    border-top: 6px solid #c71920;
    border-radius: 0;
    background: linear-gradient(140deg, #0878b5, #075b8b);
    box-shadow: 0 24px 58px rgba(7, 61, 91, .25);
    clip-path: polygon(0 0, 94% 0, 100% 9%, 100% 100%, 0 100%);
}

.home-page .home-cta-panel::after {
    position: absolute;
    top: -74px;
    right: -70px;
    width: 185px;
    height: 185px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    box-shadow: 0 0 0 18px rgba(255, 255, 255, .035), 0 0 0 36px rgba(255, 255, 255, .025);
    content: "";
    pointer-events: none;
}

.home-page .home-cta-panel .eyebrow {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: #fff;
    font-size: .68rem;
    letter-spacing: .16em;
}

.home-page .home-cta-panel .eyebrow span {
    width: 8px;
    height: 8px;
    background: #c71920;
    transform: rotate(45deg);
}

.home-page .home-cta-panel h2 {
    max-width: 510px;
    margin-bottom: 1rem;
    color: #fff;
    font-size: clamp(2.4rem, 4.1vw, 3.9rem);
    letter-spacing: -.06em;
    line-height: 1;
}

.home-page .home-cta-panel>p:not(.eyebrow) {
    max-width: 420px;
    margin-bottom: 1.25rem;
    color: rgba(255, 255, 255, .86);
    line-height: 1.7;
}

.home-page .home-cta-tags {
    gap: .45rem;
    margin-bottom: 1.5rem;
}

.home-page .home-cta-tags span {
    padding: .38rem .65rem;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 0;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    font-size: .69rem;
}

.home-page .home-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
}

.home-page .home-cta-panel .btn {
    flex: 0 0 auto;
    border-color: #c71920;
    color: #fff;
    background: #c71920;
    box-shadow: 3px 3px 0 rgba(255, 255, 255, .18);
}

.home-page .home-cta-panel .btn:hover {
    border-color: #a31218;
    color: #fff;
    background: #a31218;
}

.home-page .home-cta-phone {
    display: grid;
    gap: .15rem;
    color: #fff;
    text-decoration: none;
}

.home-page .home-cta-phone span {
    color: rgba(255, 255, 255, .7);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.home-page .home-cta-phone strong {
    color: #fff;
    font-size: .85rem;
}

.home-page .home-cta-phone:hover strong {
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 991.98px) {
    .home-page .home-slider .carousel-caption {
        width: min(720px, 78%);
        padding-right: 3rem;
    }

    .home-page .home-cta {
        min-height: 590px;
    }

    .home-page .home-cta-inner {
        min-height: 510px;
    }

    .home-page .home-cta-panel {
        width: min(60%, 590px);
    }

    .home-page .home-cta-image {
        width: 65%;
    }
}

@media (max-width: 767.98px) {
    .home-page .home-slider .carousel-caption {
        left: 6%;
        width: 82%;
        padding: 2rem 1.5rem 1.65rem 1.2rem;
    }

    .home-page .home-slider .carousel-caption::after {
        right: 10%;
        width: 5px;
    }

    .home-page .hero-slide-index {
        margin-bottom: .75rem;
        font-size: .62rem;
    }

    .home-page .home-slider .carousel-caption .eyebrow {
        margin-bottom: .55rem;
        font-size: .58rem;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(2.15rem, 7.8vw, 3.35rem);
    }

    .home-page .home-slider .carousel-caption>p:not(.eyebrow) {
        margin-bottom: .9rem;
        font-size: .88rem;
    }

    .home-page .home-slider .carousel-indicators {
        left: 6%;
        margin-bottom: 1rem;
    }

    .home-page .home-cta {
        min-height: 0;
        padding: 1.75rem 0 3rem;
    }

    .home-page .home-cta-image {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: calc(100% - 3rem);
        height: clamp(235px, 54vw, 340px);
        margin: 0 auto;
    }

    .home-page .home-cta-image::before {
        top: .75rem;
        right: -.65rem;
        bottom: -.65rem;
        left: .75rem;
    }

    .home-page .home-cta-stamp {
        right: -.65rem;
        bottom: 1.25rem;
    }

    .home-page .home-cta-inner {
        min-height: 0;
        margin-top: -1.75rem;
    }

    .home-page .home-cta-panel {
        width: min(100%, 620px);
        padding: 2rem 1.5rem 1.7rem;
    }
}

@media (max-width: 480px) {
    .home-page .home-slider .carousel-caption {
        width: 86%;
        padding-right: 1rem;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(1.95rem, 9vw, 2.75rem);
    }

    .home-page .home-slider .carousel-caption>p:not(.eyebrow) {
        max-width: 300px;
        font-size: .82rem;
    }

    .home-page .home-slider .carousel-caption .btn {
        min-height: 43px;
        padding: .6rem .75rem;
        font-size: .78rem;
    }

    .home-page .home-cta-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }

    .home-page .home-cta-panel {
        padding: 1.65rem 1.15rem 1.45rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page .home-slider .carousel-item>img {
        filter: none;
    }
}

.home-page .welcome-cta {
    min-height: 410px;
    border: 1px solid rgba(8, 120, 181, .32);
    border-radius: 0;
    background-color: #075b8b;
    background-image:
        linear-gradient(105deg, rgba(7, 91, 139, .98) 0%, rgba(7, 91, 139, .94) 42%, rgba(7, 91, 139, .68) 100%),
        url("../images/hd/crops.jpg");
    background-position: center, center 47%;
    background-size: cover;
    box-shadow: 0 28px 65px rgba(7, 67, 101, .2);
    clip-path: polygon(0 0, 97% 0, 100% 8%, 100% 100%, 3% 100%, 0 92%);
}

.home-page .welcome-cta::before {
    z-index: 1;
    top: 0;
    left: 0;
    width: 32%;
    height: 6px;
    background: #c71920;
}

.home-page .welcome-cta-content {
    position: relative;
    z-index: 2;
    min-height: 410px;
    grid-template-columns: minmax(0, 1.1fr) minmax(290px, .9fr);
    gap: clamp(2rem, 5vw, 5rem);
    padding: clamp(2.4rem, 5.5vw, 5rem);
}

.home-page .welcome-cta-copy {
    position: relative;
    max-width: 600px;
}

.home-page .welcome-cta-copy .eyebrow {
    display: flex;
    align-items: center;
    gap: .7rem;
    color: #fff;
    font-size: .68rem;
    letter-spacing: .17em;
}

.home-page .welcome-cta-copy .eyebrow::before {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    background: #c71920;
    content: "";
    transform: rotate(45deg);
}

.home-page .welcome-cta-copy h3 {
    max-width: 540px;
    margin-bottom: 1.1rem;
    font-size: clamp(2.5rem, 4.5vw, 4.2rem);
    letter-spacing: -.06em;
    line-height: .99;
    text-wrap: balance;
}

.home-page .welcome-cta-copy>p:not(.eyebrow) {
    max-width: 420px;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, .86);
    line-height: 1.75;
}

.home-page .welcome-cta-copy .btn {
    min-height: 50px;
    border-color: #c71920;
    color: #fff;
    background: #c71920;
    box-shadow: 4px 4px 0 rgba(255, 255, 255, .18);
}

.home-page .welcome-cta-copy .btn:hover {
    border-color: #a31218;
    color: #fff;
    background: #a31218;
}

.home-page .welcome-proof-bars {
    position: relative;
    gap: .7rem;
    padding-left: 1.1rem;
    border-left: 1px solid rgba(255, 255, 255, .32);
}

.home-page .welcome-proof-bar {
    position: relative;
    gap: .4rem;
    min-height: 78px;
    align-content: center;
    padding: .9rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, .34);
    border-left: 4px solid #c71920;
    border-radius: 0;
    background: rgba(255, 255, 255, .11);
    box-shadow: none;
    backdrop-filter: blur(7px);
    transition: background-color .2s ease, transform .2s ease;
}

.home-page .welcome-proof-bar:hover {
    transform: translateX(4px);
    background: rgba(255, 255, 255, .18);
}

.home-page .welcome-proof-bar>span {
    color: rgba(255, 255, 255, .78);
    font-size: .62rem;
    letter-spacing: .16em;
}

.home-page .welcome-proof-bar strong {
    color: #fff;
    font-size: .94rem;
}

.inner-page .inner-hero-image {
    transform: scale(1.015);
    transform-origin: center;
    animation: inner-hero-kenburns 18s cubic-bezier(.2, .65, .3, 1) both;
}

@keyframes inner-hero-kenburns {
    from {
        transform: scale(1.015);
    }

    to {
        transform: scale(1.09);
    }
}

@media (max-width: 991.98px) {
    .home-page .welcome-cta-content {
        gap: 2rem;
        padding: 2.5rem;
    }

    .home-page .welcome-proof-bars {
        padding-left: .8rem;
    }
}

@media (max-width: 767.98px) {
    .home-page .welcome-cta {
        min-height: 0;
    }

    .home-page .welcome-cta-content {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 2.25rem 1.5rem;
    }

    .home-page .welcome-cta-copy h3 {
        font-size: clamp(2.35rem, 8vw, 3.3rem);
    }

    .home-page .welcome-proof-bars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0;
        border: 0;
    }

    .home-page .welcome-proof-bar:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .home-page .welcome-cta-content {
        gap: 1.4rem;
        padding: 1.85rem 1.1rem;
    }

    .home-page .welcome-proof-bars {
        grid-template-columns: 1fr;
    }

    .home-page .welcome-proof-bar:first-child {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .inner-page .inner-hero-image {
        transform: none;
        animation: none;
    }

    .home-page .welcome-proof-bar {
        transition: none;
    }
}

.site-header {
    z-index: 1000;
}

.inner-page .site-header {
    position: sticky;
    top: 0;
    margin-bottom: -98px;
    padding-top: 12px;
    background: transparent;
}

.inner-page .site-header .navbar {
    width: min(90%, 1440px);
    min-height: 82px;
    margin: 0 auto;
    padding: .5rem 1.4rem;
    border: 1px solid rgba(23, 56, 77, .08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(12, 35, 50, .2);
}

.inner-page .site-header .navbar>.container {
    max-width: none;
}

.inner-page .site-header .nav-link {
    padding: .65rem .7rem !important;
    font-size: .96rem;
}

.inner-page .nav-contact {
    padding: .7rem 1rem;
    font-size: .84rem;
}

.inner-page .site-header.is-scrolled,
.home-page .site-header.is-scrolled {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    transform: none;
    background: #fff;
    box-shadow: 0 8px 24px rgba(12, 35, 50, .14);
}

.inner-page .site-header.is-scrolled .navbar,
.home-page .site-header.is-scrolled .navbar {
    width: 100% !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: .25rem max(5%, calc((100% - 1440px) / 2)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.inner-page .site-header.is-scrolled .nav-link,
.home-page .site-header.is-scrolled .nav-link {
    padding: .45rem .65rem !important;
    font-size: .84rem;
}

.inner-page .site-header.is-scrolled .navbar-brand,
.home-page .site-header.is-scrolled .navbar-brand {
    max-width: 270px !important;
}

.inner-page .site-header.is-scrolled .navbar-brand img,
.home-page .site-header.is-scrolled .navbar-brand img {
    max-height: 48px !important;
}

.inner-page .site-header.is-scrolled .nav-contact,
.home-page .site-header.is-scrolled .nav-contact {
    min-height: 40px;
    padding: .5rem .8rem;
    font-size: .76rem;
}

.home-page .site-header {
    position: absolute;
    top: clamp(24px, 3.5vh, 40px);
    left: 50%;
    width: min(90%, 1440px);
    transform: translateX(-50%);
    background: transparent;
}

.home-page .site-header .navbar {
    width: min(90%, 1440px);
    min-height: 94px;
    margin: 0 auto;
    padding: .45rem 1.4rem;
}

.home-page .navbar-brand {
    max-width: 330px;
}

.home-page .navbar-brand img {
    max-height: 64px;
}

.home-page .site-header .nav-link {
    padding: .65rem .7rem !important;
    font-size: .96rem;
}

.home-page .nav-contact {
    padding: .7rem 1rem;
    font-size: .84rem;
}

.home-page .home-slider {
    padding-top: clamp(145px, 13vh, 178px);
}

.home-page .home-slider #homeCarousel {
    height: min(calc(76svh + 70px), 860px);
    transform: translateY(-70px);
}

.inner-page .inner-hero {
    min-height: 450px;
    padding: 0;
}

.inner-page .inner-hero-content {
    min-height: 450px;
    padding-top: 96px;
}

.inner-page .inner-hero-copy {
    padding-top: .65rem;
    padding-bottom: .65rem;
}

.inner-page .inner-hero-copy .eyebrow {
    margin-bottom: .65rem;
}

.inner-page .inner-hero h1 {
    margin-bottom: .7rem;
    font-size: clamp(2.7rem, 4.2vw, 3.8rem);
}

.inner-page .inner-hero-intro {
    line-height: 1.55;
}

.inner-page .inner-hero-breadcrumb {
    margin-top: 1rem;
}

.inner-page .inner-hero-visual {
    height: 100%;
}

main[id="main-content"] {
    scroll-margin-top: 110px;
}

@media (max-width: 991.98px) {
    .inner-page .site-header {
        position: relative;
        top: auto;
        margin-bottom: -88px;
        padding-top: 10px;
    }

    .inner-page .site-header .navbar {
        width: calc(100% - 56px);
        min-height: 76px;
        padding: .35rem 1rem;
    }

    .inner-page .site-header .nav-link {
        font-size: .94rem;
    }

    .inner-page .site-header.is-scrolled .navbar,
    .home-page .site-header.is-scrolled .navbar {
        min-height: 64px !important;
        padding: .2rem 1rem !important;
    }

    .inner-page .site-header.is-scrolled .nav-link,
    .home-page .site-header.is-scrolled .nav-link {
        font-size: .8rem;
    }

    .inner-page .site-header.is-scrolled .navbar-brand,
    .home-page .site-header.is-scrolled .navbar-brand {
        max-width: 230px !important;
    }

    .inner-page .site-header.is-scrolled .navbar-brand img,
    .home-page .site-header.is-scrolled .navbar-brand img {
        max-height: 44px !important;
    }

    .home-page .site-header {
        top: 22px;
        width: calc(100% - 56px);
    }

    .home-page .site-header .navbar {
        width: 100%;
        min-height: 78px;
        padding: .35rem 1rem;
    }

    .home-page .navbar-brand {
        max-width: 250px;
    }

    .home-page .navbar-brand img {
        max-height: 58px;
    }

    .home-page .site-header .nav-link {
        font-size: .9rem;
    }

    .home-page .home-slider {
        padding-top: 132px;
    }

    .home-page .home-slider #homeCarousel {
        height: min(calc(76svh + 70px), 860px);
        transform: translateY(-70px);
    }

    .inner-page .inner-hero,
    .inner-page .inner-hero-content {
        min-height: 390px;
    }

    .inner-page .inner-hero-content {
        padding-top: 88px;
    }

    .inner-page .inner-hero-visual {
        height: 100%;
    }
}

@media (max-width: 767.98px) {
    .inner-page .site-header {
        margin-bottom: -78px;
        padding-top: 8px;
    }

    .inner-page .site-header .navbar {
        width: calc(100% - 24px);
        min-height: 70px;
        padding: .3rem .75rem;
    }

    .inner-page .site-header .nav-link {
        font-size: .95rem;
    }

    .inner-page .site-header.is-scrolled .navbar,
    .home-page .site-header.is-scrolled .navbar {
        width: 100% !important;
        min-height: 60px !important;
        padding: .15rem .75rem !important;
    }

    .inner-page .site-header.is-scrolled .navbar-brand,
    .home-page .site-header.is-scrolled .navbar-brand {
        max-width: 210px !important;
    }

    .inner-page .site-header.is-scrolled .navbar-brand img,
    .home-page .site-header.is-scrolled .navbar-brand img {
        max-height: 40px !important;
    }

    .inner-page .site-header.is-scrolled .navbar-toggler,
    .home-page .site-header.is-scrolled .navbar-toggler {
        padding: .25rem .45rem;
    }

    .home-page .site-header {
        top: 15px;
        width: calc(100% - 24px);
    }

    .home-page .site-header .navbar {
        width: 100%;
        min-height: 72px;
        padding: .35rem .75rem;
    }

    .home-page .navbar-brand {
        max-width: 230px;
    }

    .home-page .navbar-brand img {
        max-height: 50px;
    }

    .home-page .home-slider {
        padding-top: 79px;
    }

    .home-page .home-slider #homeCarousel {
        height: clamp(458px, calc(88vw + 28px), 598px);
        transform: translateY(-28px);
    }

    .inner-page .inner-hero {
        min-height: 0;
        padding-bottom: 1.25rem;
    }

    .inner-page .inner-hero-content {
        display: flex;
        min-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding-top: 86px;
    }

    .inner-page .inner-hero-copy {
        max-width: 620px;
        padding: .5rem 0 1rem;
    }

    .inner-page .inner-hero-copy .eyebrow {
        margin-bottom: .5rem;
    }

    .inner-page .inner-hero h1 {
        margin-bottom: .6rem;
        font-size: clamp(2.35rem, 7.5vw, 3.2rem);
    }

    .inner-page .inner-hero-breadcrumb {
        margin-top: .8rem;
    }

    .inner-page .inner-hero-visual {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: calc(100% - 18px);
        height: clamp(210px, 50vw, 280px);
        margin: 0 0 0 18px;
    }
}

@media (max-width: 480px) {
    .inner-page .site-header {
        margin-bottom: -74px;
        padding-top: 6px;
    }

    .inner-page .site-header .navbar {
        width: calc(100% - 20px);
        min-height: 66px;
        padding: .25rem .55rem;
    }

    .inner-page .site-header.is-scrolled .navbar,
    .home-page .site-header.is-scrolled .navbar {
        min-height: 56px !important;
        padding: .1rem .55rem !important;
    }

    .inner-page .site-header.is-scrolled .navbar-brand,
    .home-page .site-header.is-scrolled .navbar-brand {
        max-width: 190px !important;
    }

    .inner-page .site-header.is-scrolled .navbar-brand img,
    .home-page .site-header.is-scrolled .navbar-brand img {
        max-height: 36px !important;
    }

    .home-page .site-header {
        top: 12px;
        width: calc(100% - 20px);
    }

    .home-page .site-header .navbar {
        width: 100%;
        min-height: 66px;
        padding: .3rem .55rem;
    }

    .home-page .navbar-brand {
        max-width: 205px;
    }

    .home-page .navbar-brand img {
        max-height: 47px;
    }

    .home-page .home-slider {
        padding-top: 75px;
    }

    .home-page .home-slider #homeCarousel {
        height: 448px;
        transform: translateY(-30px);
    }

    .inner-page .inner-hero-content {
        padding-top: 80px;
    }

    .inner-page .inner-hero-copy {
        padding-bottom: .8rem;
    }

    .inner-page .inner-hero-visual {
        height: 220px;
    }
}

/* ========================================
   CROP PROTECTION PAGE - Unique Layout
   ======================================== */

/* Stats Section */
.crop-stats-section {
    padding: 2rem 0 3rem;
    background: var(--color-surface);
}

.crop-hero-stats {
    display: flex;
    justify-content: center;
    gap: clamp(2rem, 5vw, 4rem);
    flex-wrap: wrap;
}

.crop-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    min-width: 140px;
}

.crop-stat strong {
    color: var(--color-red);
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 4vw, 3.5rem);
    font-weight: 800;
    line-height: 1;
}

.crop-stat span {
    color: var(--color-blue-deep);
    font-size: .92rem;
    font-weight: 600;
    text-align: center;
}

/* Why Section */
.crop-why {
    background: #fff;
}

.crop-why-intro {
    max-width: 840px;
    margin: 0 auto 3rem;
    text-align: center;
}

.crop-why-intro h2 {
    margin: 0 0 1rem;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
}

.crop-why-intro>p {
    margin: 0;
    color: var(--color-muted);
    font-size: 1.05rem;
    line-height: 1.7;
}

.crop-challenge-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    max-width: 1100px;
    margin: 0 auto;
}

.crop-challenge-item {
    padding: 2.5rem 2rem;
    border: 2px solid transparent;
    border-radius: 16px;
    background: var(--color-surface);
    transition: border-color .3s ease, transform .3s ease;
}

.crop-challenge-item:hover {
    border-color: var(--color-red);
    transform: translateY(-8px);
}

.crop-challenge-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.crop-challenge-icon {
    display: flex;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: #fff;
    background: var(--color-red);
}

.crop-challenge-icon svg {
    width: 28px;
    height: 28px;
}

.crop-challenge-header h3 {
    margin: 0;
    color: var(--color-blue-deep);
    font-size: 1.35rem;
}

.crop-challenge-stat {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    margin-bottom: 1.25rem;
    padding: 1rem 0;
    border-top: 2px solid var(--color-blue);
    border-bottom: 2px solid var(--color-blue);
}

.crop-impact-number {
    color: var(--color-red);
    font-family: var(--font-heading);
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1;
}

.crop-impact-label {
    color: var(--color-blue);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.crop-challenge-item p {
    margin: 0;
    color: var(--color-ink);
    font-size: .98rem;
    line-height: 1.7;
}

/* Product Features - Alternating Layout */
.crop-products {
    background: var(--color-surface);
}

.crop-section-header {
    max-width: 840px;
    margin: 0 auto 4rem;
    text-align: center;
}

.crop-section-header h2 {
    margin: 0 0 .75rem;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
}

.crop-product-feature {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
    margin-bottom: 4rem;
    padding: clamp(2rem, 4vw, 3rem);
    background: transparent;
    border-radius: 16px;
}

.crop-product-feature-reverse {
    grid-template-columns: 1fr 380px;
}

.crop-product-feature-reverse .crop-product-visual {
    order: 2;
}

.crop-product-feature-reverse .crop-product-info {
    order: 1;
}

.crop-product-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    background: transparent;
    border-radius: 12px;
}

.crop-product-visual img {
    display: block;
    width: 100%;
    max-width: 280px;
    height: auto;
    object-fit: contain;
    animation: crop-icon-float 3s ease-in-out infinite;
}

.crop-product-feature:nth-child(even) .crop-product-visual img {
    animation: crop-icon-float-reverse 3s ease-in-out infinite;
}

.crop-product-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: .5rem 1rem;
    border-radius: 20px;
    color: #fff;
    background: var(--color-blue);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.crop-product-info h3 {
    margin: 0 0 .5rem;
    color: var(--color-blue-deep);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.crop-product-subtitle {
    margin: 0 0 1.2rem;
    color: var(--color-red);
    font-size: 1.05rem;
    font-weight: 600;
}

.crop-product-info>p:not(.crop-product-subtitle) {
    margin: 0 0 1.5rem;
    color: var(--color-ink);
    font-size: 1rem;
    line-height: 1.75;
}

.crop-benefits-list {
    margin: 0 0 2rem;
    padding: 0 0 0 1.5rem;
    list-style: none;
}

.crop-benefits-list li {
    position: relative;
    margin-bottom: .75rem;
    padding-left: 1.5rem;
    color: var(--color-ink);
    font-size: .95rem;
    line-height: 1.6;
}

.crop-benefits-list li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: var(--color-red);
    font-weight: 800;
}

.crop-product-action {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.crop-availability {
    padding: .5rem 1rem;
    border: 2px solid var(--color-blue);
    border-radius: 8px;
    color: var(--color-blue);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* Application Steps */
.crop-application {
    background: var(--color-surface);
}

.crop-application-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}

.crop-application-steps {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.crop-app-step {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 1.5rem;
    align-items: start;
    padding: 1.5rem;
    border-left: 3px solid transparent;
    border-radius: 8px;
    transition: border-color .3s ease, transform .3s ease;
}

.crop-app-step:hover {
    border-left-color: var(--color-red);
    transform: translateX(5px);
}

.crop-app-step-number {
    display: flex;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--color-blue);
    border-radius: 50%;
    color: var(--color-blue);
    font-family: var(--font-heading);
    font-size: 1.75rem;
    font-weight: 800;
}

.crop-app-step:hover .crop-app-step-number {
    border-color: var(--color-red);
    color: var(--color-red);
}

.crop-app-step-content h3 {
    margin: 0 0 .65rem;
    color: var(--color-blue-deep);
    font-size: 1.25rem;
}

.crop-app-step-content p {
    margin: 0;
    color: var(--color-ink);
    font-size: .95rem;
    line-height: 1.65;
}

.crop-application-image {
    position: relative;
    height: 520px;
    border-radius: 16px;
    overflow: hidden;
}

.crop-application-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

.crop-app-badge {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    right: 2rem;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 1.5rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .95);
}

.crop-app-badge span {
    color: var(--color-red);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.crop-app-badge strong {
    color: var(--color-blue-deep);
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 800;
}

/* Crop Coverage Grid */
.crop-coverage {
    background: var(--color-surface);
}

.crop-types-layout {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto;
}

.crop-type-card {
    padding: 2rem;
    border: 2px solid transparent;
    border-radius: 12px;
    transition: border-color .3s ease, transform .3s ease;
}

.crop-type-card:hover {
    border-color: var(--color-blue);
    transform: translateY(-5px);
}

.crop-type-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.crop-type-header h3 {
    margin: 0;
    color: var(--color-blue-deep);
    font-size: 1.5rem;
}

.crop-type-tag {
    padding: .35rem .75rem;
    border-radius: 20px;
    color: #fff;
    background: var(--color-red);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.crop-type-card p {
    margin: 0;
    color: var(--color-ink);
    font-size: .96rem;
    line-height: 1.7;
}

/* Crop Protection CTA */
.crop-cta {
    background: linear-gradient(135deg, var(--color-blue) 0%, var(--color-blue-deep) 100%);
    position: relative;
    overflow: hidden;
}

.crop-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('../images/hero-crops.jpg');
    background-size: cover;
    background-position: center;
    opacity: 0.12;
    z-index: 0;
}

.crop-cta::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -5%;
    width: 400px;
    height: 400px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 50%;
    z-index: 0;
}

.crop-cta-wrapper {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 3rem 0;
}

.crop-cta .container {
    position: relative;
    z-index: 1;
}

.crop-cta-content h2 {
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700;
    margin: 0 0 1rem;
    line-height: 1.2;
}

.crop-cta-content>p {
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    max-width: 700px;
    margin: 0 auto 2.5rem;
    line-height: 1.6;
}

.crop-cta-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}

.btn-outline-light {
    background: transparent;
    border: 2px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    padding: 0.85rem 2rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

.btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: #fff;
    transform: translateY(-2px);
}

.btn-lg {
    padding: 1rem 2.5rem;
    font-size: 1.1rem;
}

.crop-cta-trust {
    display: flex;
    gap: 2.5rem;
    justify-content: center;
    flex-wrap: wrap;
}

.crop-cta-trust-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.95rem;
    font-weight: 500;
}

.crop-cta-trust-item svg {
    width: 24px;
    height: 24px;
    color: rgba(255, 255, 255, 0.8);
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .crop-cta-wrapper {
        padding: 2rem 0;
    }

    .crop-cta-content>p {
        margin-bottom: 2rem;
    }

    .crop-cta-actions {
        margin-bottom: 2rem;
    }

    .crop-cta-actions .btn {
        width: 100%;
        max-width: 320px;
    }

    .crop-cta-trust {
        gap: 1.5rem;
    }

    .crop-cta-trust-item {
        font-size: 0.9rem;
    }
}

/* Safety Notice */
.crop-safety {
    padding: 2rem 0;
    background: var(--color-surface);
    border-top: 3px solid var(--color-red);
}

.crop-safety-content {
    max-width: 920px;
    margin: 0 auto;
    padding: 2rem;
    text-align: center;
    border-radius: 12px;
    background: transparent;
}

.crop-safety h3 {
    margin: 0 0 1rem;
    color: var(--color-red);
    font-size: 1.35rem;
}

.crop-safety p {
    margin: 0;
    color: var(--color-ink);
    font-size: .95rem;
    line-height: 1.75;
}

/* Responsive Adjustments */
@media (max-width: 991.98px) {
    .crop-product-feature {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .crop-product-feature-reverse {
        grid-template-columns: 1fr;
    }

    .crop-product-feature-reverse .crop-product-visual,
    .crop-product-feature-reverse .crop-product-info {
        order: 0;
    }

    .crop-challenge-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .crop-challenge-item {
        padding: 2rem 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .crop-stats-section {
        padding: 1.5rem 0 2.5rem;
    }

    .crop-hero-stats {
        gap: 2rem;
    }

    .crop-stat {
        min-width: 120px;
    }

    .crop-challenge-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .crop-challenge-item {
        padding: 2rem 1.25rem;
    }

    .crop-challenge-header {
        flex-direction: column;
        align-items: flex-start;
        gap: .75rem;
    }

    .crop-product-feature {
        padding: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .crop-product-visual {
        padding: 1.5rem;
    }

    .crop-product-action {
        flex-direction: column;
        align-items: stretch;
    }

    .crop-product-action .btn {
        width: 100%;
        justify-content: center;
    }

    .crop-availability {
        text-align: center;
    }

    .crop-steps {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .crop-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

@media (max-width: 480px) {
    .crop-hero-stats {
        flex-direction: column;
        gap: 1.5rem;
    }

    .crop-stat strong {
        font-size: 2.8rem;
    }

    .crop-product-feature {
        padding: 1.25rem;
    }

    .crop-step {
        padding: 1.5rem 1.25rem;
    }

    .crop-step-icon {
        width: 60px;
        height: 60px;
        font-size: 1.65rem;
    }
}


/* Crop Protection Responsive Styles */
@media (max-width: 991.98px) {
    .crop-application-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .crop-application-image {
        height: 400px;
        order: -1;
    }

    .crop-types-layout {
        grid-template-columns: repeat(2, 1fr);
    }

    .crop-support-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
}

@media (max-width: 767.98px) {
    .crop-application-layout {
        gap: 2rem;
    }

    .crop-application-image {
        height: 350px;
    }

    .crop-app-step {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1.25rem;
    }

    .crop-app-step-number {
        width: 50px;
        height: 50px;
        margin: 0 auto;
        font-size: 1.5rem;
    }

    .crop-app-step-content {
        text-align: center;
    }

    .crop-types-layout {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .crop-type-header {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem;
    }

    .crop-support-layout {
        gap: 2.5rem;
    }

    .crop-support-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .crop-support-actions .btn,
    .crop-support-actions .text-link {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .crop-application-image {
        height: 300px;
    }

    .crop-app-badge {
        bottom: 1rem;
        left: 1rem;
        right: 1rem;
        padding: 1.25rem;
    }

    .crop-support-feature {
        padding: 1.5rem;
    }

    .crop-support-icon {
        width: 48px;
        height: 48px;
    }
}


/* Welcome Images Responsive Styles */
@media (max-width: 991.98px) {
    .home-page .welcome-images {
        min-height: 450px;
    }

    .home-page .welcome-image-grid {
        min-height: 450px;
        grid-template-columns: 1fr 160px;
        grid-template-rows: 160px 1fr;
        gap: 1rem;
    }

    .home-page .welcome-image-badge {
        bottom: -1.25rem;
        left: 1.25rem;
        padding: 1.2rem 1.5rem;
    }
}

@media (max-width: 767.98px) {
    .home-page .welcome-images {
        width: min(100%, 560px);
        min-height: 400px;
        margin: 0 auto;
    }

    .home-page .welcome-image-grid {
        min-height: 400px;
        grid-template-columns: 1fr 140px;
        grid-template-rows: 140px 1fr;
        gap: .85rem;
    }

    .home-page .welcome-image-badge {
        bottom: -1rem;
        left: 1rem;
        padding: 1rem 1.25rem;
    }

    .home-page .welcome-image-badge strong {
        font-size: .95rem;
    }
}

@media (max-width: 480px) {
    .home-page .welcome-images {
        min-height: 320px;
    }

    .home-page .welcome-image-grid {
        min-height: 320px;
        grid-template-columns: 1fr 120px;
        grid-template-rows: 120px 1fr;
        gap: .75rem;
    }

    .home-page .welcome-image-large,
    .home-page .welcome-image-small {
        border-radius: 10px;
    }

    .home-page .welcome-image-badge {
        bottom: -.75rem;
        left: .75rem;
        padding: .9rem 1.1rem;
    }

    .home-page .welcome-image-badge span {
        font-size: .68rem;
    }

    .home-page .welcome-image-badge strong {
        font-size: .88rem;
    }
}


/* ========================================
   PARTNERS PAGE - Clean Redesign
   ======================================== */

/* ===================================
   PARTNERS PAGE STYLES
=================================== */

/* Partners Introduction */
.partners-intro {
    background: var(--color-surface);
}

.partners-intro-layout {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    gap: clamp(3rem, 6vw, 5rem);
    align-items: center;
}

.partners-intro-content h2 {
    margin: 0 0 1.25rem;
    color: var(--color-blue-deep);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.25;
}

.partners-intro-content p {
    margin: 0 0 2rem;
    color: var(--color-ink);
    font-size: 1.05rem;
    line-height: 1.75;
}

.partners-stats {
    display: flex;
    gap: 3rem;
    padding: 2rem 0 0;
    border-top: 2px solid rgba(8, 120, 181, 0.15);
}

.partner-stat {
    text-align: left;
}

.partner-stat-number {
    color: var(--color-blue);
    font-size: clamp(2.2rem, 3.5vw, 3rem);
    font-weight: 800;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.partner-stat-label {
    color: var(--color-ink);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.partners-intro-visual {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.partners-intro-visual img {
    width: 100%;
    height: auto;
    display: block;
}

/* Partners Showcase - Modern Cards */
.partners-showcase {
    background: #fff;
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.partner-card {
    background: var(--color-surface);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.partner-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(8, 120, 181, 0.12);
}

.partner-card-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    padding: 2.5rem 2rem;
    background: #fff;
    border-bottom: 1px solid rgba(8, 120, 181, 0.1);
}

.partner-card-logo img {
    max-width: 180px;
    max-height: 90px;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.partner-card-content {
    padding: 2rem 1.75rem;
}

.partner-card-header {
    margin-bottom: 1rem;
}

.partner-card-header h3 {
    margin: 0 0 0.5rem;
    color: var(--color-blue-deep);
    font-size: 1.4rem;
    font-weight: 700;
}

.partner-location {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--color-muted);
    font-size: 0.88rem;
    font-weight: 500;
}

.partner-location svg {
    width: 14px;
    height: 14px;
    opacity: 0.7;
}

.partner-description {
    margin: 0 0 1.25rem;
    color: var(--color-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

.partner-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-blue);
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.partner-link:hover {
    gap: 0.75rem;
    color: var(--color-red);
}

.partner-link svg {
    transition: transform 0.3s ease;
}

.partner-link:hover svg {
    transform: translate(2px, -2px);
}

/* Partnership Value */
.partners-value {
    background: var(--color-surface);
}

.partners-value-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 3rem;
}

.partners-value-header h2 {
    margin: 0 0 1rem;
    color: var(--color-blue-deep);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
}

.partners-value-header p {
    margin: 0;
    color: var(--color-ink);
    font-size: 1.05rem;
    line-height: 1.6;
}

.partners-value-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.partner-value-item {
    text-align: center;
    padding: 2rem 1.5rem;
    background: #fff;
    border-radius: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.partner-value-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(8, 120, 181, 0.1);
}

.partner-value-icon {
    width: 65px;
    height: 65px;
    margin: 0 auto 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(8, 120, 181, 0.1);
    border-radius: 50%;
    color: var(--color-blue);
}

.partner-value-icon svg {
    width: 32px;
    height: 32px;
}

.partner-value-item h4 {
    margin: 0 0 0.75rem;
    color: var(--color-blue-deep);
    font-size: 1.2rem;
    font-weight: 700;
}

.partner-value-item p {
    margin: 0;
    color: var(--color-ink);
    font-size: 0.94rem;
    line-height: 1.6;
}

.partners-credential {
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
    padding: 2rem;
    background: rgba(8, 120, 181, 0.06);
    border-radius: 12px;
}

.credential-badge {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: #fff;
    border-radius: 8px;
}

.credential-badge svg {
    width: 32px;
    height: 32px;
    color: var(--color-blue);
    flex-shrink: 0;
}

.credential-badge div {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.credential-badge strong {
    color: var(--color-blue-deep);
    font-size: 0.95rem;
    font-weight: 700;
}

.credential-badge span {
    color: var(--color-ink);
    font-size: 0.88rem;
}

/* Partners CTA */
.partners-cta {
    background: linear-gradient(135deg, var(--color-blue) 0%, var(--color-blue-deep) 100%);
    position: relative;
    overflow: hidden;
}

.partners-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('../images/product-plants.jpg');
    background-size: cover;
    background-position: center;
    opacity: 0.06;
    z-index: 0;
}

.partners-cta .container {
    position: relative;
    z-index: 1;
}

.partners-cta-wrapper {
    text-align: center;
    padding: 2.75rem 0;
}

.partners-cta-content h2 {
    color: #fff;
    font-size: clamp(2rem, 3.8vw, 3rem);
    font-weight: 700;
    margin: 0 0 1rem;
    line-height: 1.2;
}

.partners-cta-content>p {
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    max-width: 680px;
    margin: 0 auto 2.25rem;
    line-height: 1.6;
}

.partners-cta-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Responsive Styles */
@media (max-width: 991.98px) {
    .partners-intro-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .partners-stats {
        gap: 2rem;
    }

    .partners-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    }

    .partners-value-grid {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }
}

@media (max-width: 768px) {
    .partners-stats {
        flex-direction: column;
        gap: 1.5rem;
    }

    .partners-grid {
        grid-template-columns: 1fr;
    }

    .credential-badge {
        width: 100%;
        justify-content: center;
    }

    .partners-cta-actions .btn {
        width: 100%;
        max-width: 320px;
    }
}

border-radius: 12px;
color: var(--color-red);
background: rgba(199, 25, 32, .1);
}

.partner-value-icon svg {
    width: 26px;
    height: 26px;
}

.partner-value-point h4 {
    margin: 0 0 .35rem;
    color: var(--color-blue-deep);
    font-size: 1.2rem;
}

.partner-value-point p {
    margin: 0;
    color: var(--color-muted);
    font-size: .95rem;
    line-height: 1.6;
}

.partners-credential {
    padding: 1.75rem 2rem;
    border-left: 4px solid var(--color-blue);
    border-radius: 8px;
    text-align: center;
}

.partners-credential p {
    margin: 0;
    color: var(--color-ink);
    font-size: .98rem;
    line-height: 1.7;
}

.partners-credential strong {
    color: var(--color-blue-deep);
    font-weight: 700;
}

/* Responsive Styles */
@media (max-width: 991.98px) {
    .partners-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.75rem;
    }

    .partners-value-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
}

@media (max-width: 767.98px) {
    .partners-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .partner-logo-box {
        min-height: 160px;
        padding: 2rem 1.5rem;
    }

    .partners-additional-list {
        flex-direction: column;
        align-items: stretch;
    }

    .partner-additional-item {
        text-align: center;
    }

    .partners-value-points {
        gap: 1.5rem;
    }

    .partner-value-point {
        padding: 1.25rem;
    }

    .partners-credential {
        padding: 1.5rem;
        text-align: left;
    }
}

@media (max-width: 480px) {
    .partner-logo-box {
        min-height: 140px;
        padding: 1.75rem 1.25rem;
    }

    .partner-logo-box img {
        max-width: 160px;
        max-height: 80px;
    }

    .partner-value-point {
        flex-direction: column;
        gap: 1rem;
    }

    .partner-value-icon {
        margin: 0 auto;
    }
}


/* ========================================
   CROP PROTECTION ICON ANIMATIONS
   ======================================== */

/* Floating animation for icons */
@keyframes crop-icon-float {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

@keyframes crop-icon-float-reverse {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(10px);
    }
}

/* Hover effect for icons */
.crop-product-visual:hover img {
    animation: crop-icon-bounce 0.6s ease;
}

@keyframes crop-icon-bounce {

    0%,
    100% {
        transform: translateY(0) scale(1);
    }

    25% {
        transform: translateY(-15px) scale(1.05);
    }

    50% {
        transform: translateY(-8px) scale(1.02);
    }

    75% {
        transform: translateY(-12px) scale(1.03);
    }
}

/* Pulse animation for badges */
.crop-product-badge {
    animation: badge-pulse 2s ease-in-out infinite;
}

@keyframes badge-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

/* Challenge section icon animations */
.crop-challenge-icon {
    animation: challenge-icon-rotate 4s linear infinite;
}

.crop-challenge-item:nth-child(2) .crop-challenge-icon {
    animation: challenge-icon-pulse 2s ease-in-out infinite;
}

.crop-challenge-item:nth-child(3) .crop-challenge-icon {
    animation: challenge-icon-shake 3s ease-in-out infinite;
}

@keyframes challenge-icon-rotate {
    0% {
        transform: rotate(0deg);
    }

    25% {
        transform: rotate(5deg);
    }

    50% {
        transform: rotate(0deg);
    }

    75% {
        transform: rotate(-5deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

@keyframes challenge-icon-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

@keyframes challenge-icon-shake {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-3px);
    }

    50% {
        transform: translateX(0);
    }

    75% {
        transform: translateX(3px);
    }
}

/* Application step number animation */
.crop-app-step-number {
    transition: transform .3s ease, color .3s ease, border-color .3s ease;
}

.crop-app-step:hover .crop-app-step-number {
    animation: step-number-spin 0.6s ease;
}

@keyframes step-number-spin {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(180deg) scale(1.15);
    }

    100% {
        transform: rotate(360deg) scale(1);
    }
}

/* Support icon animation */
.crop-support-icon {
    transition: transform .3s ease;
}

.crop-support-feature:hover .crop-support-icon {
    animation: support-icon-bounce 0.5s ease;
}

@keyframes support-icon-bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

/* Disable animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {

    .crop-product-visual img,
    .crop-product-badge,
    .crop-challenge-icon,
    .crop-app-step-number,
    .crop-support-icon {
        animation: none !important;
    }
}


/* ===================================
   ABOUT PAGE STYLES
=================================== */

/* About Intro Section */
.about-intro {
    background: var(--color-surface);
}

.about-intro-layout {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: clamp(3rem, 6vw, 5rem);
    align-items: start;
}

.about-intro-image {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
}

.about-intro-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}

.about-intro-content h2 {
    margin: 0 0 1.5rem;
    color: var(--color-blue-deep);
    font-size: clamp(1.65rem, 2.8vw, 2.2rem);
    font-weight: 700;
    line-height: 1.2;
}

.about-intro-content p {
    margin: 0 0 1.25rem;
    color: var(--color-ink);
    font-size: 1.05rem;
    line-height: 1.75;
}

.about-stats-row {
    display: flex;
    gap: 3rem;
    margin: 2.5rem 0;
    padding: 2rem 0;
    border-top: 2px solid rgba(8, 120, 181, 0.1);
    border-bottom: 2px solid rgba(8, 120, 181, 0.1);
}

.about-stat-item {
    text-align: left;
}

.about-stat-number {
    color: var(--color-blue);
    font-size: clamp(2.2rem, 3.5vw, 3rem);
    font-weight: 800;
    line-height: 1;
    margin-bottom: 0.4rem;
}

.about-stat-label {
    color: var(--color-ink);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.about-intro-image-small {
    margin-top: 2rem;
    border-radius: 12px;
    overflow: hidden;
}

.about-intro-image-small img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}

/* About Values Section */
.about-values {
    background: #fff;
}

.about-values-header {
    text-align: center;
    margin-bottom: 3rem;
}

.about-values-header h2 {
    margin: 0;
    color: var(--color-blue-deep);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
}

.about-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.about-value-card {
    background: var(--color-surface);
    padding: 2rem 1.75rem;
    border-radius: 10px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.about-value-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(8, 120, 181, 0.1);
}

.about-value-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(8, 120, 181, 0.1);
    border-radius: 50%;
    color: var(--color-blue);
}

.about-value-icon svg {
    width: 36px;
    height: 36px;
}

.about-value-card h3 {
    margin: 0 0 0.85rem;
    color: var(--color-blue-deep);
    font-size: 1.25rem;
    font-weight: 700;
}

.about-value-card p {
    margin: 0;
    color: var(--color-ink);
    font-size: 0.94rem;
    line-height: 1.6;
}

.about-values-note {
    text-align: center;
    padding: 2rem;
    background: rgba(8, 120, 181, 0.05);
    border-radius: 12px;
}

.about-values-note p {
    margin: 0;
    color: var(--color-ink);
    font-size: 1.05rem;
}

.about-values-note a {
    color: var(--color-blue);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.about-values-note a:hover {
    color: var(--color-red);
}

/* About Process Section */
.about-process {
    background: linear-gradient(135deg, var(--color-blue) 0%, var(--color-blue-deep) 100%);
    position: relative;
    overflow: hidden;
}

.about-process::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('../images/hero-crops.jpg');
    background-size: cover;
    background-position: center;
    opacity: 0.08;
    z-index: 0;
}

.about-process .container {
    position: relative;
    z-index: 1;
}

.about-process-layout {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: clamp(2.5rem, 5vw, 4rem);
    align-items: center;
}

.about-process-content .eyebrow {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.75rem;
    display: block;
}

.about-process-content h2 {
    margin: 0 0 2.5rem;
    color: #fff;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.2;
}

.about-process-steps {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.about-process-step {
    display: flex;
    gap: 1.5rem;
    align-items: start;
}

.about-process-step-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
}

.about-process-step-content h4 {
    margin: 0 0 0.5rem;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
}

.about-process-step-content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.98rem;
    line-height: 1.65;
}

.about-process-image {
    border-radius: 16px;
    overflow: hidden;
}

.about-process-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}

/* About CTA Section */
.about-cta {
    background: linear-gradient(135deg, var(--color-blue) 0%, var(--color-blue-deep) 100%);
    position: relative;
    overflow: hidden;
}

.about-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('../images/hero-crops.jpg');
    background-size: cover;
    background-position: center;
    opacity: 0.08;
    z-index: 0;
}

.about-cta::after {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 50%;
    z-index: 0;
}

.about-cta .container {
    position: relative;
    z-index: 1;
}

.about-cta-wrapper {
    text-align: center;
    padding: 3rem 0;
}

.about-cta-content h2 {
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700;
    margin: 0 0 1rem;
    line-height: 1.2;
}

.about-cta-content>p {
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    max-width: 700px;
    margin: 0 auto 2.5rem;
    line-height: 1.6;
}

.about-cta-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Responsive Styles */
@media (max-width: 991.98px) {
    .about-intro-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .about-stats-row {
        gap: 2rem;
    }

    .about-values-grid {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 1.5rem;
    }

    .about-process-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
}

@media (max-width: 768px) {
    .about-stats-row {
        flex-direction: column;
        gap: 1.5rem;
    }

    .about-value-card {
        padding: 2rem 1.5rem;
    }

    .about-process-step {
        gap: 1rem;
    }

    .about-cta-wrapper {
        padding: 2rem 0;
    }

    .about-cta-actions .btn {
        width: 100%;
        max-width: 320px;
    }
}


/* ===================================
   FOOTER REDESIGN - IMAGE LAYOUT
=================================== */

.footer-main {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.footer-image-section {
    position: relative;
    min-height: 400px;
    overflow: hidden;
}

.footer-image-section img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer-image-overlay {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    min-height: 400px;
    padding: 3rem 2.5rem;
    background: linear-gradient(to top, rgba(23, 56, 77, 0.95) 0%, rgba(23, 56, 77, 0.7) 50%, transparent 100%);
}

.footer-brand-content {
    max-width: 480px;
}

.footer-brand-content .footer-brand-kicker {
    margin: 0 0 0.75rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.footer-brand-content h2 {
    margin: 0 0 0.85rem !important;
    padding: 0 !important;
    color: #fff;
    font-size: clamp(1.75rem, 2.5vw, 2.3rem) !important;
    font-weight: 700;
    line-height: 1.15 !important;
    letter-spacing: -0.02em;
}

.footer-brand-content h2::after {
    display: none !important;
}

.footer-brand-content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
    line-height: 1.6;
}

.footer-content-section {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 3rem;
    padding: 3rem 2.5rem;
    background: var(--color-blue-deep);
}

.footer-contact h3,
.footer-links h3 {
    position: relative;
    margin: 0 0 1.5rem;
    padding-bottom: 0.75rem;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.footer-contact h3::after,
.footer-links h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: var(--color-red);
    border-radius: 2px;
}

.footer-info-link {
    display: flex;
    width: fit-content;
    gap: 0.85rem;
    align-items: start;
    margin-bottom: 1.1rem;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.92rem;
    line-height: 1.65;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.2s ease;
}

.footer-info-link:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-icon {
    display: flex;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    color: var(--color-red);
}

.footer-icon svg {
    width: 18px;
    height: 18px;
}

.footer-links {
    display: flex;
    flex-direction: column;
}

.footer-links a {
    display: flex;
    align-items: center;
    padding: 0.65rem 0;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.92rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-links a:hover {
    color: #fff;
    padding-left: 8px;
    border-bottom-color: var(--color-red);
}

.footer-links a:last-child {
    border-bottom: none;
}

/* Responsive Footer */
@media (max-width: 991.98px) {
    .footer-main {
        grid-template-columns: 1fr !important;
    }

    .footer-image-section {
        min-height: 350px;
    }

    .footer-image-overlay {
        min-height: 350px;
        padding: 2.5rem 2rem;
    }

    .footer-content-section {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        padding: 2.5rem 2rem;
    }
}

@media (max-width: 768px) {
    .footer-image-section {
        min-height: 300px;
    }

    .footer-image-overlay {
        min-height: 300px;
        padding: 2rem 1.5rem;
    }

    .footer-content-section {
        padding: 2rem 1.5rem;
        gap: 2rem;
    }

    .footer-brand-content h2 {
        font-size: 1.65rem !important;
    }
}


/* ===================================
   PARTNERS PAGE REDESIGN - MAGAZINE STYLE
=================================== */

/* Partnership Philosophy Section */
.partners-philosophy {
    background: var(--color-surface);
}

.philosophy-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(3rem, 6vw, 5rem);
    align-items: center;
}

.philosophy-visual {
    position: relative;
}

.philosophy-stat-box {
    position: absolute;
    top: 2rem;
    left: -1rem;
    z-index: 2;
    padding: 2rem 2.5rem;
    background: var(--color-blue);
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(8, 120, 181, 0.25);
    text-align: center;
}

.stat-large {
    color: #fff;
    font-size: clamp(3rem, 5vw, 4.5rem);
    font-weight: 900;
    line-height: 1;
    margin-bottom: 0.5rem;
}

.stat-label {
    color: rgba(255, 255, 255, 0.95);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    max-width: 150px;
}

.philosophy-visual img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.philosophy-content h2 {
    margin: 0 0 1.25rem;
    color: var(--color-blue-deep);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.25;
}

.philosophy-content p {
    margin: 0 0 1.25rem;
    color: var(--color-ink);
    font-size: 1.05rem;
    line-height: 1.75;
}

.philosophy-badges {
    display: flex;
    gap: 1.5rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.philosophy-badge {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.5rem;
    background: rgba(8, 120, 181, 0.08);
    border-radius: 8px;
    border-left: 3px solid var(--color-blue);
}

.philosophy-badge svg {
    width: 24px;
    height: 24px;
    color: var(--color-blue);
    flex-shrink: 0;
}

.philosophy-badge span {
    color: var(--color-blue-deep);
    font-size: 0.92rem;
    font-weight: 600;
}

/* Featured Partners - Magazine Format */
.partners-featured {
    background: #fff;
}

.section-header-center {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 4rem;
}

.section-header-center h2 {
    margin: 0;
    color: var(--color-blue-deep);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    font-weight: 700;
}

.partner-feature {
    margin-bottom: 4rem;
    padding: 3rem;
    background: var(--color-surface);
    border-radius: 16px;
    border-left: 4px solid var(--color-blue);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.partner-feature:hover {
    transform: translateX(4px);
    box-shadow: 0 8px 30px rgba(8, 120, 181, 0.12);
}

.partner-feature:last-child {
    margin-bottom: 0;
}

.partner-feature-reverse {
    border-left: none;
    border-right: 4px solid var(--color-red);
}

.partner-feature-reverse:hover {
    transform: translateX(-4px);
}

.partner-feature-content {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 3rem;
    align-items: start;
}

.partner-feature-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    padding: 2.5rem 2rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.partner-feature-logo img {
    max-width: 220px;
    max-height: 120px;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.partner-feature-info {
    display: flex;
    flex-direction: column;
}

.partner-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.partner-country {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--color-muted);
    font-size: 0.9rem;
    font-weight: 500;
}

.partner-country svg {
    opacity: 0.7;
}

.partner-badge {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    background: var(--color-red);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 4px;
}

.partner-feature-info h3 {
    margin: 0 0 1rem;
    color: var(--color-blue-deep);
    font-size: clamp(1.75rem, 3vw, 2.2rem);
    font-weight: 700;
    line-height: 1.2;
}

.partner-feature-info>p {
    margin: 0 0 1.5rem;
    color: var(--color-ink);
    font-size: 1.05rem;
    line-height: 1.75;
}

.partner-specialties {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.partner-specialties span {
    padding: 0.5rem 1rem;
    background: rgba(8, 120, 181, 0.1);
    color: var(--color-blue);
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 6px;
}

.partner-website-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.75rem;
    background: var(--color-blue);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.3s ease;
    width: fit-content;
}

.partner-website-btn:hover {
    background: var(--color-blue-deep);
    gap: 0.75rem;
    box-shadow: 0 4px 16px rgba(8, 120, 181, 0.3);
}

.partner-website-btn svg {
    transition: transform 0.3s ease;
}

.partner-website-btn:hover svg {
    transform: translate(2px, -2px);
}

/* Partnership Benefits */
.partners-benefits {
    background: var(--color-surface);
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
}

.benefit-card {
    position: relative;
    padding: 2.5rem 2rem;
    background: #fff;
    border-radius: 12px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(8, 120, 181, 0.12);
}

.benefit-number {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    color: rgba(8, 120, 181, 0.15);
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
}

.benefit-icon {
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(8, 120, 181, 0.1);
    border-radius: 50%;
    color: var(--color-blue);
    margin-bottom: 1.5rem;
}

.benefit-icon svg {
    width: 32px;
    height: 32px;
}

.benefit-card h4 {
    margin: 0 0 0.85rem;
    color: var(--color-blue-deep);
    font-size: 1.3rem;
    font-weight: 700;
}

.benefit-card p {
    margin: 0;
    color: var(--color-ink);
    font-size: 0.95rem;
    line-height: 1.65;
}

/* Responsive - Partners Redesign */
@media (max-width: 991.98px) {
    .philosophy-layout {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .philosophy-stat-box {
        position: static;
        margin-bottom: 2rem;
        width: fit-content;
    }

    .partner-feature {
        padding: 2.5rem 2rem;
    }

    .partner-feature-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .partner-feature-logo {
        min-height: 150px;
    }

    .benefits-grid {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }
}

@media (max-width: 768px) {
    .philosophy-badges {
        flex-direction: column;
        gap: 1rem;
    }

    .partner-feature {
        padding: 2rem 1.5rem;
    }

    .benefit-card {
        padding: 2rem 1.5rem;
    }

    .benefit-number {
        font-size: 2.5rem;
    }
}

.site-footer {
    margin-top: 36px;
    border: 0;
    border-top: 3px solid var(--color-red);
    color: #dbe4ea;
    background: #102d40;
    background-image: none;
}
.site-footer::before {
    background: #102d40;
    background-image: none;
}
.site-footer::after {
    right: 8%;
    left: auto;
    width: 76px;
    height: 3px;
    border-radius: 0 0 2px 2px;
    background: var(--color-red);
}
.footer-content-section {
    background: linear-gradient(135deg, #102d40 0%, #15364b 100%);
}
.footer-image-overlay {
    background: linear-gradient(0deg, rgba(13, 38, 54, .94) 0%, rgba(13, 38, 54, .7) 52%, rgba(13, 38, 54, .3) 100%);
}
.footer-contact h3,
.footer-links h3 {
    padding-bottom: .6rem;
    font-size: 1rem;
}
.footer-contact h3::after,
.footer-links h3::after {
    width: 26px;
    height: 2px;
    display: none;
    content: none;
}
.footer-brand-content .footer-brand-kicker,
.footer-brand-link span,
.footer-bottom a span {
    color: var(--color-red);
}
.site-footer .footer-icon { color: var(--color-red) !important; }
.footer-info-link,
.footer-links a {
    color: #dbe4ea;
}
.footer-icon {
    width: 18px;
    height: 20px;
    flex-basis: 18px;
    border: 0;
    border-radius: 0;
    color: #ff8c90;
    background: transparent;
}
.footer-links a {
    padding: .45rem 0;
    border-bottom: 0;
}
.footer-links a:hover {
    padding-left: 4px;
    border-bottom-color: transparent;
}
.footer-bottom {
    border-top-color: rgba(255, 255, 255, .1);
    background: rgba(0, 0, 0, .14);
}

body.inner-page .site-footer,
body.inner-page .site-footer::before {
    background-color: #102d40;
    background-image: none;
}
body.inner-page .site-footer::after {
    background: var(--color-red);
}

@media (max-width: 991.98px) {
    .footer-content-section {
        background: linear-gradient(135deg, #102d40 0%, #15364b 100%);
    }
}

body.inner-page .contact-location-copy .eyebrow,
body.inner-page .contact-location-copy .contact-inline-link {
    color: #ff343d !important;
    font-weight: 800;
}
body.inner-page .contact-location-copy .contact-inline-link {
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}
.site-footer .footer-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 50%;
    color: #fff !important;
    background: var(--color-red);
}
.site-footer .footer-icon svg {
    width: 20px;
    height: 20px;
}
.site-footer .footer-icon svg path,
.site-footer .footer-icon svg circle,
.site-footer .footer-icon svg rect {
    stroke-width: 2.2;
}

/* Use a calmer brand-blue frame around the homepage carousel. */
.home-page .home-slider {
    background: var(--color-blue-deep);
}

.home-page .home-slider::before {
    background: var(--color-blue-deep);
}

.home-page .slider-contact-rail,
.home-page .slider-social-icon {
    background: rgba(12, 45, 64, .42);
    box-shadow: 0 8px 24px rgba(9, 33, 48, .18);
}

/* Shared editorial rhythm and surfaces */
:root {
    --surface-soft: #f3f6f8;
    --surface-line: #e2e8ed;
    --ink-muted: #596b77;
    --section-space: clamp(4rem, 7vw, 6.5rem);
}

html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

.home-page .section-space,
.inner-page main > section.section-space {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
}

.home-page h2,
.inner-page main > section h2 {
    letter-spacing: -.035em;
}

.home-page .eyebrow,
.inner-page main > section .eyebrow {
    color: var(--color-red);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.4;
    text-transform: uppercase;
}

.section-heading,
.section-header-center,
.about-values-header {
    max-width: 740px;
    margin-right: auto;
    margin-left: auto;
}

.section-heading h2,
.section-header-center h2,
.about-values-header h2 {
    margin: .45rem 0 .85rem;
    color: var(--color-blue-deep);
    font-family: var(--font-heading, "Quicksand", sans-serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.12;
}

.section-heading > p:last-child,
.section-header-center > p:last-child {
    color: var(--ink-muted);
    font-size: 1.05rem;
    line-height: 1.75;
}

.welcome-section {
    background: #fff;
}

.welcome-copy h2,
.reach-copy h2 {
    max-width: 620px;
    color: var(--color-blue-deep);
    font-family: var(--font-heading, "Quicksand", sans-serif);
    font-size: clamp(2.3rem, 4.5vw, 3.7rem);
    font-weight: 800;
    line-height: 1.08;
}

.welcome-intro,
.reach-intro {
    max-width: 570px;
    color: var(--ink-muted);
    font-size: 1.08rem;
    line-height: 1.8;
}

.welcome-focus {
    padding: 1rem 0;
    border-bottom: 1px solid var(--surface-line);
}

.welcome-focus > span {
    color: var(--color-red);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.welcome-focus h3 {
    color: var(--color-blue-deep);
    font-size: 1.05rem;
    font-weight: 800;
}

.welcome-focus p {
    color: var(--ink-muted);
    line-height: 1.65;
}

.welcome-image-grid img,
.reach-image,
.category-photo-image {
    transition: transform .65s cubic-bezier(.2, .7, .2, 1);
}

.welcome-image-grid figure,
.reach-visual,
.category-card,
.product-card {
    overflow: hidden;
}

.welcome-image-grid figure:hover img,
.reach-visual:hover .reach-image,
.category-card:hover .category-photo-image,
.product-card:hover .product-image img {
    transform: scale(1.045);
}

.welcome-image-badge {
    border: 5px solid #fff;
    box-shadow: 0 18px 44px rgba(13, 38, 54, .16);
}

.welcome-cta {
    margin-top: clamp(4rem, 7vw, 6rem);
    border-radius: 8px;
    background: #102d40;
    box-shadow: 0 22px 55px rgba(16, 45, 64, .14);
}

.welcome-cta-content {
    padding: clamp(2rem, 5vw, 4rem);
}

.welcome-cta-copy h3 {
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    line-height: 1.15;
}

.welcome-proof-bar {
    border-color: rgba(255, 255, 255, .16);
}

.reach-section,
.about-values,
.partners-benefits {
    background: var(--surface-soft);
}

.reach-layout {
    gap: clamp(3rem, 7vw, 6rem);
}

.reach-points li {
    padding: 1rem 0;
    border-bottom: 1px solid var(--surface-line);
}

.reach-point-icon {
    color: var(--color-red);
}

.reach-image {
    border-radius: 8px;
}

.reach-image-label {
    border-left: 3px solid var(--color-red);
    background: #102d40;
}

.category-card {
    height: 100%;
    border: 1px solid var(--surface-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 45, 64, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(16, 45, 64, .12);
}

.category-photo {
    overflow: hidden;
}

.category-info {
    padding: 1.65rem;
}

.category-info h3 {
    color: var(--color-blue-deep);
    font-weight: 800;
}

.category-info p {
    color: var(--ink-muted);
    line-height: 1.7;
}

.category-info .text-link {
    color: var(--color-red);
    font-weight: 800;
}

.home-cta-panel {
    border-radius: 8px;
    box-shadow: 0 24px 55px rgba(13, 38, 54, .2);
}

/* Make the product finder feel like one considered tool, not separate widgets. */
.products-section {
    background: var(--surface-soft);
}

.product-finder {
    padding: clamp(1.25rem, 3.5vw, 2.75rem);
    border: 1px solid var(--surface-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(16, 45, 64, .07);
}

.product-finder-heading h2 {
    color: var(--color-blue-deep);
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 800;
}

.product-search input {
    min-height: 52px;
    border: 1px solid #d7e0e6;
    border-radius: 5px;
    background: #fbfcfd;
}

.product-search input:focus {
    border-color: var(--color-blue);
    outline: 3px solid rgba(8, 120, 181, .14);
}

.product-filter {
    border: 1px solid #d8e1e7;
    border-radius: 100px;
    color: var(--color-blue-deep);
    background: #fff;
    font-weight: 700;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.product-filter:is(:hover, .is-active) {
    border-color: var(--color-blue-deep);
    color: #fff;
    background: var(--color-blue-deep);
}

.product-card {
    height: 100%;
    border: 1px solid var(--surface-line);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(16, 45, 64, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(16, 45, 64, .12);
}

.product-image {
    overflow: hidden;
    background: var(--surface-soft);
}

.product-card-copy .eyebrow {
    color: var(--color-red);
}

.product-card h2 {
    color: var(--color-blue-deep);
    font-size: 1.35rem;
    font-weight: 800;
}

.product-card-copy > p:not(.eyebrow) {
    color: var(--ink-muted);
    line-height: 1.65;
}

.product-card-link {
    color: var(--color-red);
    font-weight: 800;
}

/* Give existing About and Partners content a consistent, editorial card language. */
.about-intro,
.partners-philosophy {
    background: #fff;
}

.about-intro-layout,
.philosophy-layout {
    gap: clamp(2.5rem, 6vw, 5rem);
}

.about-intro-image,
.about-process-image,
.philosophy-visual {
    overflow: hidden;
    border-radius: 8px;
}

.about-intro-image img,
.about-process-image img,
.philosophy-visual > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-intro-content h2,
.about-process-content h2,
.philosophy-content h2 {
    color: var(--color-blue-deep);
    font-family: var(--font-heading, "Quicksand", sans-serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.12;
}

.about-intro-content > p,
.about-process-content > p,
.philosophy-content > p {
    color: var(--ink-muted);
    line-height: 1.8;
}

.about-intro-image-small {
    display: none;
}

.about-stat-item {
    border-left: 3px solid var(--color-red);
}

.about-values-grid,
.benefits-grid {
    gap: 1.25rem;
}

.about-value-card,
.benefit-card {
    height: 100%;
    padding: 1.75rem;
    border: 1px solid var(--surface-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 45, 64, .045);
    transition: transform .25s ease, box-shadow .25s ease;
}

.about-value-card:hover,
.benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(16, 45, 64, .1);
}

.about-value-icon,
.benefit-icon {
    color: var(--color-red);
}

.about-value-card h3,
.benefit-card h4 {
    color: var(--color-blue-deep);
    font-weight: 800;
}

.about-value-card p,
.benefit-card p {
    color: var(--ink-muted);
    line-height: 1.7;
}

.about-process {
    background: #fff;
}

.about-process-step {
    border-bottom: 1px solid var(--surface-line);
}

.about-process-step-icon {
    color: #fff;
    background: var(--color-red);
}

.about-cta-wrapper,
.partners-cta-wrapper {
    border-radius: 8px;
    background-color: #102d40;
    box-shadow: 0 20px 48px rgba(16, 45, 64, .14);
}

.partners-featured {
    background: #fff;
}

.partners-featured > .container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.partners-featured .section-header-center {
    grid-column: 1 / -1;
    width: 100%;
    margin-bottom: 1rem;
}

.partner-feature {
    height: 100%;
    margin: 0;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border: 1px solid var(--surface-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 45, 64, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.partner-feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(16, 45, 64, .11);
}

.partner-feature-content {
    display: flex;
    height: 100%;
    flex-direction: column;
    gap: 1.25rem;
}

.partner-feature-logo {
    display: grid;
    min-height: 125px;
    padding: 1.25rem;
    place-items: center;
    border: 1px solid var(--surface-line);
    border-radius: 6px;
    background: #f8fafb;
}

.partner-feature-logo img {
    max-width: min(100%, 220px);
    max-height: 82px;
    object-fit: contain;
}

.partner-feature-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
}

.partner-feature-info h3 {
    margin: .5rem 0;
    color: var(--color-blue-deep);
    font-size: 1.5rem;
    font-weight: 800;
}

.partner-feature-info > p {
    color: var(--ink-muted);
    line-height: 1.7;
}

.partner-country,
.partner-badge,
.partner-specialties span {
    color: var(--color-blue-deep);
}

.partner-badge {
    border-color: rgba(199, 25, 32, .22);
    background: rgba(199, 25, 32, .07);
}

.partner-specialties {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: .35rem 0 1.25rem;
}

.partner-specialties span {
    padding: .35rem .65rem;
    border: 1px solid var(--surface-line);
    border-radius: 100px;
    background: #f7f9fa;
    font-size: .76rem;
    font-weight: 700;
}

.partner-website-btn {
    margin-top: auto;
    color: var(--color-red);
    font-weight: 800;
}

.benefit-number {
    color: rgba(8, 120, 181, .12);
}

.contact-section {
    background: var(--surface-soft);
}

.contact-heading-wide {
    margin-bottom: 2rem;
}

.contact-heading-wide h2 {
    color: var(--color-blue-deep);
    font-weight: 800;
    letter-spacing: -.035em;
}

.contact-heading-wide > p {
    color: var(--ink-muted);
    line-height: 1.75;
}

.contact-options {
    gap: 1rem;
}

.contact-option,
.inner-page .contact-option {
    min-height: 100%;
    padding: 1.6rem;
    border: 1px solid var(--surface-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 45, 64, .055);
    transition: transform .25s ease, box-shadow .25s ease;
}

.contact-option:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(16, 45, 64, .1);
}

.contact-option + .contact-option {
    padding-left: 1.6rem;
    border-left: 1px solid var(--surface-line);
}

.contact-option-featured {
    border-top: 3px solid var(--color-red) !important;
}

.contact-icon,
.contact-option-featured .contact-icon {
    color: #fff;
    background: var(--color-blue-deep);
}

.contact-option .eyebrow {
    color: var(--color-red);
}

.contact-option h3 {
    color: var(--color-blue-deep);
    font-weight: 800;
}

.contact-option address,
.contact-option > p:not(.eyebrow),
.contact-fax {
    color: var(--ink-muted);
    line-height: 1.7;
}

.contact-detail-list a,
.contact-inline-link {
    color: var(--color-blue-deep);
}

.contact-detail-list a:hover,
.contact-inline-link:hover {
    color: var(--color-red);
}

.contact-location {
    border-radius: 8px;
}

.contact-location-copy > p:not(.eyebrow) {
    color: rgba(255, 255, 255, .88);
}

.contact-location-copy .contact-location-note {
    color: rgba(255, 255, 255, .68) !important;
}

.contact-location-copy .contact-inline-link {
    color: #ff343d;
}

@media (max-width: 767.98px) {
    .partners-featured > .container {
        grid-template-columns: 1fr;
    }

    .partners-featured .section-header-center {
        grid-column: auto;
    }

    .section-heading,
    .section-header-center,
    .about-values-header {
        text-align: left;
    }

    .section-heading.text-center {
        text-align: center;
    }

    .welcome-cta-content {
        padding: 1.75rem;
    }

    .contact-option,
    .inner-page .contact-option {
        min-height: 0;
    }

    .contact-option + .contact-option {
        border-left: 1px solid var(--surface-line);
    }
}

@media (prefers-reduced-motion: reduce) {
    .welcome-image-grid img,
    .reach-image,
    .category-photo-image,
    .category-card,
    .product-card,
    .about-value-card,
    .benefit-card,
    .partner-feature,
    .contact-option {
        transition: none;
    }
}

/* Compact the blue hero frame and use a softer, photo-led caption panel. */
.home-page .home-slider {
    padding-top: clamp(124px, 10vh, 140px);
    padding-bottom: 16px;
}

.home-page .home-slider #homeCarousel {
    height: min(70svh, 730px);
    min-height: 530px;
}

.home-page .home-slider .carousel-caption {
    left: max(calc((100vw - var(--container-width)) / 2), 8%);
    width: min(620px, 72%);
    padding: clamp(1.5rem, 3vw, 2.5rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 8px;
    background: rgba(7, 91, 139, .76);
    box-shadow: 0 18px 42px rgba(9, 33, 48, .2);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    clip-path: none;
}

.home-page .home-slider .carousel-caption::after {
    content: none;
}

.home-page .home-slider .carousel-caption h1,
.home-page .home-slider .carousel-caption h2 {
    max-width: 550px;
    font-size: clamp(2.1rem, 3vw, 3.1rem);
    line-height: 1.06;
}

.home-page .home-slider .carousel-caption > p:not(.eyebrow) {
    max-width: 440px;
}

.home-page .home-slider .carousel-item > img {
    object-position: center;
}

.home-page .home-slider #homeCarousel .carousel-item:first-child > img {
    object-position: center 28%;
}

@media (max-width: 991.98px) {
    .home-page .home-slider {
        padding-top: 118px;
        padding-bottom: 14px;
    }

    .home-page .home-slider #homeCarousel {
        height: min(70svh, 680px);
        min-height: 500px;
    }
}

@media (max-width: 767.98px) {
    .home-page .home-slider {
        padding-top: 72px;
        padding-bottom: 14px;
    }

    .home-page .home-slider #homeCarousel {
        height: clamp(400px, 80vw, 500px);
    }

    .home-page .home-slider .carousel-caption {
        right: 7%;
        left: 7%;
        width: 86%;
        padding: 1.25rem 1.15rem 1.4rem;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(1.9rem, 7vw, 2.75rem);
    }

    .home-page .home-slider .carousel-caption > p:not(.eyebrow) {
        font-size: .86rem;
        line-height: 1.55;
    }
}

@media (max-width: 480px) {
    .home-page .home-slider {
        padding-top: 64px;
        padding-bottom: 12px;
    }

    .home-page .home-slider #homeCarousel {
        height: 390px;
    }
}

/* Final usability and consistency pass across all site surfaces. */
:root {
    --surface-soft: #f4f7f9;
    --surface-line: #e3e9ed;
    --ink-muted: #5c6d79;
    --section-space: clamp(3.5rem, 6vw, 5.25rem);
}

body {
    color: #263745;
    text-rendering: optimizeLegibility;
}

::selection {
    color: #fff;
    background: var(--color-blue-dark);
}

a,
button,
input,
select,
textarea {
    -webkit-tap-highlight-color: rgba(8, 120, 181, .16);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(8, 120, 181, .55);
    outline-offset: 3px;
}

.skip-link:focus-visible {
    z-index: 1200;
    top: 1rem;
    left: 1rem;
    border-radius: 4px;
    outline-color: #fff;
}

.btn,
.text-link,
.contact-card-link,
.category-back-link {
    min-height: 46px;
    border-radius: 6px;
    box-shadow: 0 6px 16px rgba(139, 19, 27, .16);
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.btn:hover,
.text-link:hover,
.contact-card-link:hover,
.category-back-link:hover {
    box-shadow: 0 9px 20px rgba(139, 19, 27, .2);
    transform: translateY(-2px);
}

.btn:active,
.text-link:active,
.contact-card-link:active,
.category-back-link:active {
    box-shadow: 0 3px 8px rgba(139, 19, 27, .16);
    transform: translateY(0);
}

.site-header .nav-link {
    border-radius: 5px;
    transition: color .2s ease, background-color .2s ease;
}

.site-header .nav-link:hover,
.site-header .nav-link:focus-visible {
    background: rgba(8, 120, 181, .07);
}

.site-header .nav-link.active {
    color: var(--color-blue-dark);
    background: rgba(8, 120, 181, .08);
}

.inner-page .site-header .nav-link:hover,
.inner-page .site-header .nav-link:focus-visible,
.inner-page .site-header .nav-link.active {
    background: rgba(8, 120, 181, .07);
}

.home-page .site-header .nav-link:hover,
.home-page .site-header .nav-link:focus-visible,
.home-page .site-header .nav-link.active {
    background: rgba(8, 120, 181, .07);
}

.home-page .section-space,
.inner-page main > section.section-space {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
}

.section-heading h2,
.section-header-center h2,
.about-values-header h2,
.product-finder-heading h2 {
    text-wrap: balance;
}

.section-heading > p:last-child,
.section-header-center > p:last-child {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
}

.inner-page .inner-hero h1 {
    text-wrap: balance;
}

.inner-page .inner-hero-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .35rem .7rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 4px;
    background: rgba(12, 45, 64, .2);
    font-size: .83rem;
}

.inner-page .inner-hero-breadcrumb a {
    color: #fff;
}

.inner-page .inner-hero-breadcrumb a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.category-card,
.product-card,
.about-value-card,
.benefit-card,
.partner-feature,
.contact-option {
    border-color: var(--surface-line);
    box-shadow: 0 8px 24px rgba(16, 45, 64, .055);
}

.category-card:hover,
.product-card:hover,
.about-value-card:hover,
.benefit-card:hover,
.partner-feature:hover,
.contact-option:hover {
    box-shadow: 0 16px 34px rgba(16, 45, 64, .11);
}

.category-info,
.product-card-copy {
    min-width: 0;
}

.category-info .text-link,
.product-card-link,
.contact-inline-link,
.partner-website-btn {
    text-underline-offset: 3px;
}

.product-finder-heading {
    gap: 1.5rem;
}

.product-search {
    width: min(100%, 430px);
}

.product-search input {
    width: 100%;
    min-height: 50px;
    padding: .7rem 3rem .7rem 1rem;
    color: var(--color-blue-deep);
}

.product-filters {
    row-gap: .65rem;
}

.product-filter {
    min-height: 40px;
    padding: .45rem .95rem;
}

.product-result-count {
    color: var(--ink-muted);
    font-size: .88rem;
}

.product-no-results {
    padding: 1rem;
    border-radius: 6px;
    color: var(--ink-muted);
    background: var(--surface-soft);
}

.product-no-results a {
    color: var(--color-blue-dark);
    font-weight: 700;
}

.product-availability-note {
    margin: 1.5rem 0 0;
    color: var(--ink-muted);
    font-size: .9rem;
}

.product-availability-note a {
    color: var(--color-blue-dark);
    font-weight: 700;
}

.contact-location {
    border: 1px solid var(--surface-line);
    box-shadow: 0 12px 32px rgba(16, 45, 64, .08);
}

.contact-map {
    min-width: 0;
}

.footer-info-link:focus-visible,
.footer-links a:focus-visible,
.footer-bottom a:focus-visible {
    border-radius: 4px;
    outline-color: #fff;
    outline-offset: 4px;
}

.site-footer a {
    text-underline-offset: 3px;
}

.products-page .product-card-link {
    border-color: var(--color-red);
    color: #fff;
    background: var(--color-red);
}

.products-page .product-card-link span {
    border-color: rgba(255, 255, 255, .8);
    color: #fff;
    background: transparent;
}

.products-page .product-card-link:hover {
    color: #fff;
    background: #a31218;
}

.footer-content-section {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .7fr) minmax(0, .85fr);
}

.footer-social h3 {
    position: relative;
    margin: 0 0 1.5rem;
    padding-bottom: .6rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.footer-social-icons {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-social-icon {
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 9px;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.footer-social-icon:hover,
.footer-social-icon:focus-visible {
    border-color: #fff;
    color: #fff;
    background: rgba(255, 255, 255, .16);
    transform: translateY(-2px);
}

.footer-social-instagram > span {
    position: relative;
    width: 17px;
    height: 17px;
    border: 1.5px solid currentColor;
    border-radius: 5px;
}

.footer-social-instagram > span::before {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    border: 1px solid currentColor;
    border-radius: 50%;
    content: "";
}

.footer-social-instagram > span::after {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.farm-solutions-item {
    display: flex;
    align-items: center;
}

.farm-solutions-toggle {
    display: flex;
    flex: 0 0 auto;
    width: 34px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding-right: .65rem !important;
    padding-left: .2rem !important;
    border: 1px solid transparent;
    color: inherit;
    background: transparent;
}

.farm-solutions-toggle.dropdown-toggle::after {
    width: 8px;
    height: 8px;
    position: static;
    display: block;
    margin: 0;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    content: "";
    transform: rotate(45deg);
}

.farm-solutions-item .dropdown-menu {
    min-width: 220px;
    margin-top: .45rem;
    padding: .45rem;
    border: 1px solid rgba(23, 56, 77, .1);
    border-radius: 10px;
    box-shadow: 0 14px 32px rgba(12, 35, 50, .16);
}

.farm-solutions-item .dropdown-item {
    padding: .65rem .8rem;
    border-radius: 6px;
    color: #263745;
    font-size: .9rem;
    font-weight: 600;
}

.farm-solutions-item .dropdown-item:hover,
.farm-solutions-item .dropdown-item:focus,
.farm-solutions-item .dropdown-item.active {
    color: var(--color-blue-deep);
    background: rgba(8, 120, 181, .09);
}

@media (min-width: 992px) {
    .farm-solutions-item > .dropdown-menu {
        top: 100%;
        right: auto;
        bottom: auto;
        left: 0;
        transform: none;
    }

    .farm-solutions-item:hover > .dropdown-menu,
    .farm-solutions-item:focus-within > .dropdown-menu {
        display: block;
        margin-top: 0;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .footer-content-section {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .footer-content-section {
        grid-template-columns: 1fr;
    }

    .farm-solutions-item {
        flex-wrap: wrap;
    }

    .farm-solutions-item .dropdown-menu {
        position: static !important;
        width: 100%;
        margin-top: .1rem;
        border: 0;
        box-shadow: none;
    }
}

@media (max-width: 767.98px) {
    .home-page .section-space,
    .inner-page main > section.section-space {
        padding-top: clamp(3rem, 11vw, 4rem);
        padding-bottom: clamp(3rem, 11vw, 4rem);
    }

    .product-finder {
        padding: 1.15rem;
    }

    .product-finder-heading {
        align-items: stretch;
        flex-direction: column;
        gap: .75rem;
    }

    .product-search {
        width: 100%;
    }

    .product-filters {
        gap: .5rem;
    }

    .contact-heading-wide {
        gap: .5rem;
        margin-bottom: 1.25rem;
    }

    .contact-location {
        grid-template-columns: 1fr;
    }

    .contact-map {
        min-height: 300px;
    }
}

/* Products page: open catalogue on the page surface, using brand colors only. */
.inner-page main.products-page > .products-section {
    background: var(--surface-soft) !important;
}

.products-page .product-finder {
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.products-page .product-finder-heading .eyebrow {
    color: var(--color-blue);
}

.products-page .product-search {
    border-color: #d7e0e6;
    background: #fff;
}

.products-page .product-search:focus-within {
    border-color: var(--color-blue);
    box-shadow: 0 0 0 3px rgba(8, 120, 181, .12);
}

.products-page .product-search,
.products-page .product-search input {
    color: var(--color-blue-deep);
}

.products-page .product-filter:is(:hover, .is-active) {
    border-color: var(--color-blue);
    background: var(--color-blue);
}

.products-page .product-card {
    background: #fff;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Distinctive editorial partner directory */
.partners-featured {
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 8%, rgba(8, 120, 181, .055) 0 1px, transparent 1.5px) 0 0 / 18px 18px,
        #f4f7f9;
}

.partners-featured > .container {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1.25rem;
}

.partners-featured .section-header-center {
    grid-column: 1 / -1;
    max-width: 760px;
    margin: 0 0 1.25rem;
    text-align: left;
}

.partners-featured .section-header-center h2 {
    max-width: 640px;
    margin: .4rem 0 .75rem;
    font-size: clamp(2.15rem, 4.2vw, 3.3rem);
    text-wrap: balance;
}

.partners-featured .section-header-center > p:last-child {
    max-width: 600px;
    margin: 0;
    color: var(--ink-muted);
    line-height: 1.75;
}

.partners-feature {
    position: relative;
    grid-column: span 5;
    min-width: 0;
    padding: 1rem;
    overflow: hidden;
    border: 1px solid #dce5eb;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 45, 64, .065);
}

.partner-feature::before {
    position: absolute;
    z-index: 2;
    top: 1.2rem;
    right: 1.2rem;
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--color-red);
    content: "01";
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.partner-feature:nth-of-type(3)::before {
    content: "02";
}

.partner-feature:nth-of-type(4)::before {
    content: "03";
}

.partner-feature:nth-of-type(5)::before {
    content: "04";
}

.partner-feature:nth-of-type(2),
.partner-feature:nth-of-type(5) {
    grid-column: span 7;
}

.partner-feature-content {
    display: grid;
    height: 100%;
    grid-template-columns: minmax(130px, .72fr) minmax(0, 1.28fr);
    align-items: stretch;
    gap: clamp(1rem, 2.5vw, 2rem);
}

.partner-feature-logo {
    position: relative;
    min-width: 0;
    min-height: 220px;
    align-self: stretch;
    padding: 1rem;
    overflow: hidden;
    border: 0;
    border-radius: 5px;
    background: linear-gradient(145deg, #eaf3f8 0%, #f7fafb 68%, #e2edf3 100%);
}

.partner-feature-logo::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background: var(--color-blue);
    content: "";
}

.partner-feature-logo img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    max-height: 105px;
    padding: .65rem;
    border-radius: 4px;
    background: #fff;
}

.partner-feature-info {
    min-width: 0;
    padding: .85rem .8rem .8rem 0;
}

.partner-meta {
    flex-wrap: wrap;
    gap: .5rem;
    padding-right: 2.5rem;
}

.partner-country {
    font-size: .82rem;
}

.partner-country svg {
    color: var(--color-blue);
}

.partner-badge {
    color: var(--color-red);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.partner-feature-info h3 {
    margin: .75rem 0 .55rem;
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    letter-spacing: -.025em;
}

.partner-feature-info > p {
    max-width: 38rem;
    margin-bottom: .8rem;
    font-size: .94rem;
    line-height: 1.65;
}

.partner-specialties {
    gap: .4rem;
    margin: .2rem 0 1rem;
}

.partner-specialties span {
    padding: .3rem .58rem;
    border-color: #e2e9ed;
    border-radius: 4px;
    color: #415766;
    background: #f7f9fa;
    font-size: .7rem;
    line-height: 1.35;
}

.partner-website-btn {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    margin-top: auto;
    padding: .55rem .85rem;
    border: 1px solid var(--color-red);
    border-radius: 5px;
    color: #fff;
    background: var(--color-red);
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.partner-website-btn:hover {
    border-color: #a31218;
    color: #fff;
    background: #a31218;
    transform: translateY(-2px);
}

.partner-website-btn svg {
    flex: 0 0 auto;
}

.partners-benefits {
    background: #fff;
}

.partners-benefits .section-header-center {
    margin-bottom: 2.25rem;
}

@media (max-width: 991.98px) {
    .partners-featured > .container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partners-feature,
    .partner-feature:nth-of-type(2),
    .partner-feature:nth-of-type(5) {
        grid-column: auto;
    }

    .partner-feature-content {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .partner-feature-logo {
        min-height: 145px;
    }

    .partner-feature-logo img {
        max-width: min(100%, 240px);
    }

    .partner-feature-info {
        padding: .5rem .4rem .35rem;
    }
}

@media (max-width: 767.98px) {
    .partners-featured > .container {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .partners-featured .section-header-center {
        margin-bottom: .5rem;
    }

    .partners-feature {
        padding: .8rem;
    }

    .partner-feature-content {
        grid-template-columns: minmax(96px, .36fr) minmax(0, 1fr);
        gap: .85rem;
    }

    .partner-feature-logo {
        min-height: 180px;
        padding: .6rem;
    }

    .partner-feature-logo img {
        max-height: 80px;
        padding: .4rem;
    }

    .partner-feature-info {
        padding: .45rem .35rem .35rem 0;
    }

    .partner-feature::before {
        top: .9rem;
        right: .9rem;
        width: 1.9rem;
        height: 1.9rem;
        font-size: .62rem;
    }

    .partner-meta {
        padding-right: 2rem;
    }
}

@media (max-width: 480px) {
    .partner-feature-content {
        grid-template-columns: 1fr;
    }

    .partner-feature-logo {
        min-height: 125px;
    }

    .partner-feature-logo img {
        max-height: 70px;
    }

    .partner-feature-info {
        padding: .25rem .3rem .35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .partner-website-btn {
        transition: none;
    }
}

/* Homepage hero and welcome gallery refinements */
.home-page .home-slider {
    min-height: 0;
    padding-bottom: 20px;
    background: var(--color-blue);
}

.home-page .home-slider::before {
    background: var(--color-blue);
}

.home-page .home-slider #homeCarousel {
    margin-bottom: -70px;
}

.home-page .home-slider .carousel-caption {
    background: rgba(7, 91, 139, .58);
}

.home-page .home-slider .carousel-caption h1,
.home-page .home-slider .carousel-caption h2 {
    font-size: clamp(1.85rem, 2.6vw, 2.65rem);
}

.home-page .home-slider .carousel-caption > p:not(.eyebrow) {
    font-size: .92rem;
    line-height: 1.55;
}

.home-page .nav-contact {
    box-shadow: 5px 5px 0 var(--color-blue);
}

.home-page .nav-contact:hover,
.home-page .nav-contact:focus-visible {
    box-shadow: 3px 3px 0 var(--color-blue-dark);
}

.home-page .welcome-images {
    display: flex;
    min-height: 0;
    flex-direction: column;
    gap: 1rem;
}

.home-page .welcome-image-grid {
    height: clamp(360px, 40vw, 500px);
    min-height: 0;
    grid-template-columns: minmax(0, 1.55fr) minmax(130px, .75fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.home-page .welcome-image-large,
.home-page .welcome-image-small {
    border: 1px solid rgba(21, 54, 75, .08);
    border-radius: 12px;
}

.home-page .welcome-image-overlay {
    display: none;
}

.home-page .welcome-image-badge {
    position: static;
    z-index: auto;
    align-self: flex-start;
    flex-direction: row;
    align-items: center;
    gap: .75rem;
    max-width: 100%;
    margin: 0;
    padding: .8rem 1rem;
    border: 1px solid var(--surface-line);
    border-left: 4px solid var(--color-blue);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(13, 38, 54, .1);
}

.home-page .welcome-image-badge span {
    color: var(--color-red);
    white-space: nowrap;
}

.home-page .welcome-image-badge strong {
    color: var(--color-blue-deep);
}

@media (max-width: 767.98px) {
    .home-page .home-slider {
        min-height: 0;
    }

    .home-page .home-slider #homeCarousel {
        margin-bottom: -28px;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(1.55rem, 6vw, 2.2rem);
    }

    .home-page .home-slider .carousel-caption > p:not(.eyebrow) {
        font-size: .82rem;
    }

    .home-page .welcome-images {
        min-height: 0;
    }

    .home-page .welcome-image-grid {
        height: 370px;
        min-height: 0;
        grid-template-columns: minmax(0, 1fr) 110px;
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .home-page .home-slider {
        padding-bottom: 10px;
    }

    .home-page .welcome-image-grid {
        height: 320px;
        grid-template-columns: minmax(0, 1fr) 92px;
        gap: 8px;
    }

    .home-page .home-slider #homeCarousel {
        margin-bottom: -30px;
    }

    .home-page .welcome-image-badge {
        flex-wrap: wrap;
        gap: .25rem .6rem;
        padding: .65rem .8rem;
    }
}

/* Partners page: balanced directory layout with lighter editorial styling. */
.partners-page .partners-philosophy {
    background: #fff;
}

.partners-page .philosophy-layout {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 4.5rem);
}

.partners-page .philosophy-visual {
    aspect-ratio: 1.08;
    border-radius: 8px;
}

.partners-page .philosophy-visual > img {
    display: block;
    height: 100%;
    object-fit: cover;
}

.partners-page .philosophy-badges {
    gap: 0;
    margin-top: 1.5rem;
    border-top: 1px solid var(--surface-line);
}

.partners-page .philosophy-badge {
    flex: 1;
    padding: 1rem 1rem 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.partners-page .philosophy-badge + .philosophy-badge {
    padding-left: 1rem;
    border-left: 1px solid var(--surface-line);
}

.partners-page .partners-featured {
    background: var(--surface-soft);
}

.partners-page .partners-featured > .container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(1rem, 2vw, 1.5rem);
}

.partners-page .partners-featured .section-header-center {
    grid-column: 1 / -1;
    max-width: 720px;
    margin: 0 0 .75rem;
}

.partners-page .partner-feature,
.partners-page .partner-feature:nth-of-type(2),
.partners-page .partner-feature:nth-of-type(5) {
    display: flex;
    min-width: 0;
    min-height: 100%;
    grid-column: auto;
    margin: 0;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid var(--surface-line);
    border-top: 3px solid var(--color-blue);
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    transition: border-color .2s ease, transform .2s ease;
}

.partners-page .partner-feature:nth-of-type(odd) {
    border-top-color: var(--color-red);
}

.partners-page .partner-feature:hover {
    transform: translateY(-3px);
    border-color: rgba(8, 120, 181, .35);
    box-shadow: 0 12px 28px rgba(16, 45, 64, .07);
}

.partners-page .partner-feature::before {
    display: none;
}

.partners-page .partner-feature-content {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(112px, .42fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(.85rem, 1.7vw, 1.35rem);
}

.partners-page .partner-feature-logo {
    display: grid;
    min-width: 0;
    min-height: 150px;
    align-self: stretch;
    padding: .85rem;
    place-items: center;
    border: 1px solid #e6edf1;
    border-radius: 4px;
    background: #f7f9fa;
}

.partners-page .partner-feature-logo::before {
    display: none;
}

.partners-page .partner-feature-logo img {
    display: block;
    width: 100%;
    max-width: 220px;
    max-height: 95px;
    padding: 0;
    object-fit: contain;
    background: transparent;
}

.partners-page .partner-feature-info {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: .25rem 0;
}

.partners-page .partner-feature-info h3 {
    margin: .65rem 0 .45rem;
    font-size: clamp(1.25rem, 1.7vw, 1.6rem);
}

.partners-page .partner-feature-info > p {
    margin-bottom: .7rem;
    font-size: .9rem;
}

.partners-page .partner-meta {
    gap: .4rem .75rem;
    padding-right: 0;
}

.partners-page .partner-country {
    color: var(--ink-muted);
    font-size: .78rem;
}

.partners-page .partner-badge {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: .65rem;
}

.partners-page .partner-specialties {
    gap: .3rem .65rem;
    margin: .15rem 0 .85rem;
}

.partners-page .partner-specialties span {
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--color-blue-deep);
    background: transparent;
    font-size: .72rem;
}

.partners-page .partner-specialties span + span::before {
    margin-right: .55rem;
    color: var(--color-red);
    content: "/";
}

.partners-page .partner-website-btn {
    min-height: 0;
    justify-content: flex-start;
    gap: .45rem;
    margin-top: auto;
    padding: .35rem 0;
    border: 0;
    color: var(--color-red);
    background: transparent;
    font-size: .82rem;
}

.partners-page .partner-website-btn:hover {
    border: 0;
    color: var(--color-blue-deep);
    background: transparent;
    transform: none;
}

.partners-page .partners-benefits {
    background: #fff;
}

.partners-page .partners-benefits .section-header-center {
    max-width: 720px;
    margin: 0 0 2rem;
    text-align: left;
}

.partners-page .benefit-card {
    padding: 1.25rem 0;
    border: 0;
    border-top: 2px solid var(--surface-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.partners-page .benefit-card:hover {
    transform: none;
    box-shadow: none;
}

.partners-page .benefit-number {
    display: none;
}

.partners-page .benefit-icon {
    width: 42px;
    height: 42px;
    justify-content: flex-start;
    margin-bottom: .7rem;
    border-radius: 0;
    color: var(--color-red);
    background: transparent;
}

.partners-page .benefit-icon svg {
    width: 27px;
    height: 27px;
}

@media (max-width: 991.98px) {
    .partners-page .partners-featured > .container {
        grid-template-columns: 1fr;
    }

    .partners-page .partners-featured .section-header-center {
        grid-column: auto;
    }

    .partners-page .partner-feature-content {
        grid-template-columns: minmax(130px, .34fr) minmax(0, 1fr);
    }

    .partners-page .partner-feature-logo {
        min-height: 135px;
    }

    .partners-page .benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .partners-page .philosophy-layout {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .partners-page .philosophy-visual {
        aspect-ratio: 1.25;
    }

    .partners-page .philosophy-badges {
        flex-direction: column;
    }

    .partners-page .philosophy-badge + .philosophy-badge {
        padding-left: 0;
        border-left: 0;
    }

    .partners-page .partner-feature-content {
        grid-template-columns: minmax(92px, .34fr) minmax(0, 1fr);
        gap: .8rem;
    }

    .partners-page .partner-feature-logo {
        min-height: 125px;
        padding: .6rem;
    }

    .partners-page .benefits-grid {
        grid-template-columns: 1fr;
    }
}

/* Homepage overview stats and offset-square button treatment. */
.home-page .welcome-overview {
    max-width: 520px;
    color: var(--ink-muted);
    font-size: .96rem;
    line-height: 1.75;
}

.home-page .welcome-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.6rem;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home-page .welcome-stat {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 1rem 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home-page .welcome-stat + .welcome-stat {
    padding-left: 1rem;
    border: 0;
}

.home-page .welcome-stat-icon {
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: .65rem;
    color: var(--color-red);
}

.home-page .welcome-stat strong {
    color: var(--color-blue-deep);
    font-family: var(--font-heading, "Quicksand", sans-serif);
    font-size: clamp(1.65rem, 2.5vw, 2.2rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.home-page .welcome-stat > span {
    max-width: 250px;
    margin-top: .35rem;
    color: var(--ink-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.home-page .btn,
.home-page .home-slider .carousel-caption .btn,
.home-page .home-cta-panel .btn,
.home-page .welcome-cta-copy .btn,
.home-page .site-footer .btn,
.home-page .nav-contact {
    box-shadow: 5px 5px 0 var(--color-blue);
}

.home-page .btn:hover,
.home-page .btn:focus-visible,
.home-page .home-slider .carousel-caption .btn:hover,
.home-page .home-slider .carousel-caption .btn:focus-visible,
.home-page .home-cta-panel .btn:hover,
.home-page .home-cta-panel .btn:focus-visible,
.home-page .welcome-cta-copy .btn:hover,
.home-page .welcome-cta-copy .btn:focus-visible,
.home-page .site-footer .btn:hover,
.home-page .site-footer .btn:focus-visible,
.home-page .nav-contact:hover,
.home-page .nav-contact:focus-visible {
    box-shadow: 3px 3px 0 var(--color-blue-dark);
}

@media (max-width: 575.98px) {
    .home-page .welcome-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-page .welcome-stat {
        padding: 1rem 0;
    }

    .home-page .welcome-stat + .welcome-stat {
        padding-left: 0;
    }
}

/* Contact options: square panels, with the phone card emphasized by default. */
.inner-page .contact-section .contact-option {
    border-radius: 0;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.inner-page .contact-section .contact-option .contact-icon {
    border-radius: 0;
    transition: color .2s ease, background-color .2s ease;
}

.inner-page .contact-section .contact-option-featured,
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) {
    border-color: var(--color-red);
    color: #fff;
    background-color: var(--color-red) !important;
    box-shadow: 0 16px 34px rgba(139, 19, 27, .18);
}

.inner-page .contact-section .contact-option-featured .contact-icon,
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) .contact-icon {
    color: #fff;
    background: rgba(255, 255, 255, .16);
}

.inner-page .contact-section .contact-option-featured .eyebrow,
.inner-page .contact-section .contact-option-featured h3,
.inner-page .contact-section .contact-option-featured .contact-detail-list a,
.inner-page .contact-section .contact-option-featured .contact-fax,
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) .eyebrow,
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) h3,
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) address,
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) > p:not(.eyebrow),
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) .contact-inline-link {
    color: #fff;
}

.inner-page .contact-section .contact-option-featured .contact-detail-list a:hover,
.inner-page .contact-section .contact-option:not(.contact-option-featured):is(:hover, :focus-within) .contact-inline-link:hover {
    color: #fff;
    text-decoration-color: #fff;
}

/* Use the homepage contact CTA consistently across every inner page. */
.inner-page .inner-page-cta {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    padding: 3.5rem 0;
    background: #f1f6f8;
}

.inner-page .inner-page-cta::before {
    position: absolute;
    top: 0;
    right: 0;
    width: 35%;
    height: 100%;
    background: linear-gradient(160deg, rgba(8, 120, 181, .07), rgba(199, 25, 32, .045));
    clip-path: polygon(32% 0, 100% 0, 100% 100%, 0 100%);
    content: "";
}

.inner-page .inner-page-cta .home-cta-image {
    position: absolute;
    z-index: 0;
    top: 4rem;
    right: max(3%, calc((100vw - var(--container-width)) / 2 - 25px));
    bottom: 4rem;
    width: min(66%, 950px);
}

.inner-page .inner-page-cta .home-cta-image::before {
    position: absolute;
    top: 1.3rem;
    right: -1.1rem;
    bottom: -1.1rem;
    left: 1.3rem;
    background: #c71920;
    clip-path: polygon(13% 0, 100% 0, 100% 87%, 87% 100%, 0 100%, 0 13%);
    content: "";
}

.inner-page .inner-page-cta .home-cta-image > img {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    clip-path: polygon(13% 0, 100% 0, 100% 87%, 87% 100%, 0 100%, 0 13%);
    object-fit: cover;
    object-position: center 47%;
}

.inner-page .inner-page-cta .home-cta-stamp {
    position: absolute;
    z-index: 2;
    right: -1.35rem;
    bottom: 2.4rem;
    display: grid;
    min-width: 155px;
    gap: .2rem;
    padding: .85rem 1.15rem;
    color: #fff;
    background: #0878b5;
    clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
    box-shadow: 0 12px 30px rgba(21, 54, 75, .18);
}

.inner-page .inner-page-cta .home-cta-stamp span {
    color: rgba(255, 255, 255, .75);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.inner-page .inner-page-cta .home-cta-stamp strong {
    color: #fff;
    font-size: .95rem;
    line-height: 1.25;
}

.inner-page .inner-page-cta .home-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 570px;
    align-items: center;
}

.inner-page .inner-page-cta .home-cta-panel {
    position: relative;
    width: min(54%, 610px);
    padding: clamp(2.1rem, 4vw, 3.35rem);
    border: 0;
    border-top: 6px solid #c71920;
    border-radius: 0;
    color: #fff;
    background: linear-gradient(140deg, #0878b5, #075b8b);
    box-shadow: 0 24px 58px rgba(7, 61, 91, .25);
    clip-path: polygon(0 0, 94% 0, 100% 9%, 100% 100%, 0 100%);
}

.inner-page .inner-page-cta .home-cta-panel::after {
    position: absolute;
    top: -74px;
    right: -70px;
    width: 185px;
    height: 185px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    box-shadow: 0 0 0 18px rgba(255, 255, 255, .035), 0 0 0 36px rgba(255, 255, 255, .025);
    content: "";
    pointer-events: none;
}

.inner-page .inner-page-cta .home-cta-panel .eyebrow {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: #fff;
    font-size: .68rem;
    letter-spacing: .16em;
}

.inner-page .inner-page-cta .home-cta-panel .eyebrow span {
    width: 8px;
    height: 8px;
    background: #c71920;
    transform: rotate(45deg);
}

.inner-page .inner-page-cta .home-cta-panel h2 {
    max-width: 510px;
    margin-bottom: 1rem;
    color: #fff;
    font-size: clamp(2.4rem, 4.1vw, 3.9rem);
    letter-spacing: -.06em;
    line-height: 1;
}

.inner-page .inner-page-cta .home-cta-panel > p:not(.eyebrow) {
    max-width: 420px;
    margin-bottom: 1.25rem;
    color: rgba(255, 255, 255, .86);
    line-height: 1.7;
}

.inner-page .inner-page-cta .home-cta-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: 1.5rem;
}

.inner-page .inner-page-cta .home-cta-tags span {
    padding: .38rem .65rem;
    border: 1px solid rgba(255, 255, 255, .32);
    color: #fff;
    background: rgba(255, 255, 255, .07);
    font-size: .69rem;
}

.inner-page .inner-page-cta .home-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
}

.inner-page .inner-page-cta .home-cta-panel .btn {
    flex: 0 0 auto;
    border-color: #c71920;
    color: #fff;
    background: #c71920;
    box-shadow: 5px 5px 0 var(--color-blue);
}

.inner-page .inner-page-cta .home-cta-panel .btn:hover,
.inner-page .inner-page-cta .home-cta-panel .btn:focus-visible {
    border-color: #a31218;
    color: #fff;
    background: #a31218;
    box-shadow: 3px 3px 0 var(--color-blue-dark);
}

.inner-page .inner-page-cta .home-cta-phone {
    display: grid;
    gap: .15rem;
    color: #fff;
    text-decoration: none;
}

.inner-page .inner-page-cta .home-cta-phone span {
    color: rgba(255, 255, 255, .7);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.inner-page .inner-page-cta .home-cta-phone strong {
    color: #fff;
    font-size: .85rem;
}

.inner-page .inner-page-cta .home-cta-phone:hover strong {
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 991.98px) {
    .inner-page .inner-page-cta {
        min-height: 590px;
    }

    .inner-page .inner-page-cta .home-cta-inner {
        min-height: 510px;
    }

    .inner-page .inner-page-cta .home-cta-panel {
        width: min(60%, 590px);
    }

    .inner-page .inner-page-cta .home-cta-image {
        width: 65%;
    }
}

@media (max-width: 767.98px) {
    .inner-page .inner-page-cta {
        min-height: 0;
        padding: 1.75rem 0 3rem;
    }

    .inner-page .inner-page-cta .home-cta-image {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        width: calc(100% - 3rem);
        height: clamp(235px, 54vw, 340px);
        margin: 0 auto;
    }

    .inner-page .inner-page-cta .home-cta-image::before {
        top: .75rem;
        right: -.65rem;
        bottom: -.65rem;
        left: .75rem;
    }

    .inner-page .inner-page-cta .home-cta-stamp {
        right: -.65rem;
        bottom: 1.25rem;
    }

    .inner-page .inner-page-cta .home-cta-inner {
        min-height: 0;
        margin-top: -1.75rem;
    }

    .inner-page .inner-page-cta .home-cta-panel {
        width: min(100%, 620px);
        padding: 2rem 1.5rem 1.7rem;
    }
}

@media (max-width: 480px) {
    .inner-page .inner-page-cta .home-cta-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }

    .inner-page .inner-page-cta .home-cta-panel {
        padding: 1.65rem 1.15rem 1.45rem;
    }
}

/* About page: open editorial sections with responsive, brand-led interactions. */
.about-page .about-intro {
    background: #fff;
}

.about-page .about-intro-layout {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 5.5rem);
}

.about-page .about-intro-image {
    position: relative;
    z-index: 0;
    aspect-ratio: 1.04;
    overflow: visible;
    border-radius: 0;
    isolation: isolate;
}

.about-page .about-intro-image::before {
    position: absolute;
    z-index: -1;
    inset: .9rem -.9rem -.9rem .9rem;
    background: var(--color-blue);
    clip-path: polygon(12% 0, 100% 0, 100% 87%, 87% 100%, 0 100%, 0 12%);
    content: "";
}

.about-page .about-intro-image > img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    clip-path: polygon(12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
    object-fit: cover;
    object-position: center;
}

.about-page .about-intro-content {
    max-width: 650px;
}

.about-page .about-intro-content > .eyebrow {
    margin-bottom: .75rem;
    color: var(--color-red);
}

.about-page .about-intro-content h2 {
    max-width: 560px;
    margin: 0 0 1rem;
    font-size: clamp(1.65rem, 2.8vw, 2.1rem);
    letter-spacing: -.055em;
    line-height: 1.04;
    text-wrap: balance;
}

.about-page .about-intro-content > p:not(.eyebrow) {
    max-width: 570px;
    margin: 0 0 .9rem;
    color: var(--ink-muted);
    font-size: 1rem;
    line-height: 1.8;
}

.about-page .about-intro-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 1.65rem 0 0;
    border-top: 1px solid var(--surface-line);
}

.about-page .about-intro-points span {
    padding: .85rem .7rem .2rem 0;
    border: 0;
    border-radius: 0;
    color: var(--color-blue-deep);
    background: transparent;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.45;
}

.about-page .about-intro-points span + span {
    padding-left: .7rem;
    border-left: 1px solid var(--surface-line);
}

.about-page .about-values {
    background: var(--surface-soft);
}

.about-page .about-values-header {
    max-width: 760px;
    margin: 0 0 2rem;
    text-align: left;
}

.about-page .about-values-header .eyebrow {
    margin-bottom: .55rem;
}

.about-page .about-values-header h2 {
    max-width: 600px;
    margin: 0;
    font-size: clamp(2rem, 3.8vw, 3rem);
    letter-spacing: -.045em;
}

.about-page .about-values-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
}

.about-page .about-value-card {
    position: relative;
    min-width: 0;
    min-height: 250px;
    height: 100%;
    padding: 1.5rem 1.35rem;
    overflow: hidden;
    border: 1px solid #dfe7ec;
    border-top: 3px solid var(--color-blue);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 8px 22px rgba(16, 45, 64, .045);
    text-align: left;
    transition: transform .3s ease, border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
}

.about-page .about-value-card::after {
    position: absolute;
    right: -2.8rem;
    bottom: -3.2rem;
    width: 7rem;
    height: 7rem;
    border: 1px solid rgba(8, 120, 181, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 12px rgba(8, 120, 181, .035), 0 0 0 24px rgba(8, 120, 181, .025);
    content: "";
    pointer-events: none;
    transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.about-page .about-value-icon {
    display: grid;
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 0 1.4rem;
    place-items: center;
    border-radius: 0;
    color: var(--color-red);
    background: rgba(199, 25, 32, .08);
    transition: color .3s ease, background-color .3s ease, transform .3s ease;
}

.about-page .about-value-icon svg {
    width: 1.8rem;
    height: 1.8rem;
    transition: transform .3s ease;
}

.about-page .about-value-card h3 {
    margin: 0 0 .55rem;
    color: var(--color-blue-deep);
    font-size: 1.12rem;
    font-weight: 800;
    transition: color .3s ease;
}

.about-page .about-value-card p {
    max-width: 19rem;
    margin: 0;
    color: var(--ink-muted);
    font-size: .88rem;
    line-height: 1.65;
    transition: color .3s ease;
}

.about-page .about-value-card:hover {
    transform: translateY(-7px);
    border-color: rgba(199, 25, 32, .4);
    border-top-color: var(--color-red);
    background: #fff;
    box-shadow: 0 20px 38px rgba(16, 45, 64, .12);
}

.about-page .about-value-card:hover .about-value-icon {
    transform: translateY(-2px);
    color: #fff;
    background: var(--color-red);
}

.about-page .about-value-card:hover .about-value-icon svg {
    transform: scale(1.08) rotate(-5deg);
}

.about-page .about-value-card:hover::after {
    transform: translate(-.55rem, -.55rem);
    border-color: rgba(199, 25, 32, .2);
    box-shadow: 0 0 0 12px rgba(199, 25, 32, .04), 0 0 0 24px rgba(199, 25, 32, .025);
}

body.inner-page main.about-page > .about-process {
    position: relative;
    overflow: hidden;
    background: #f1f6f8 !important;
    background-image: none !important;
}

body.inner-page main.about-page > .about-process::before {
    display: none;
    background-image: none;
    content: none;
}

.about-page .about-process .container {
    position: relative;
    z-index: 1;
}

.about-page .about-process-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 5rem);
}

.about-page .about-process-content .eyebrow {
    margin-bottom: .65rem;
    color: var(--color-red);
    font-size: .72rem;
}

.about-page .about-process-content h2 {
    max-width: 570px;
    margin: 0 0 1.25rem;
    color: var(--color-blue-deep);
    font-size: clamp(2.15rem, 3.7vw, 3.25rem);
    font-weight: 800;
    letter-spacing: -.05em;
    line-height: 1.08;
}

.about-page .about-process-steps {
    gap: 0;
    border-top: 1px solid #d9e3e8;
}

.about-page .about-process-step {
    position: relative;
    gap: 1.1rem;
    align-items: center;
    padding: 1.05rem .75rem 1.05rem 0;
    border-bottom: 1px solid #d9e3e8;
    transition: padding-left .25s ease, background-color .25s ease;
}

.about-page .about-process-step:hover {
    padding-left: .65rem;
    background: rgba(255, 255, 255, .72);
}

.about-page .about-process-step-icon {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 2.55rem;
    place-items: center;
    border-radius: 0;
    color: #fff;
    background: var(--color-red);
    font-family: var(--font-heading, "Quicksand", sans-serif);
    font-size: .93rem;
    font-weight: 800;
    transition: background-color .25s ease, transform .25s ease;
}

.about-page .about-process-step:hover .about-process-step-icon {
    transform: rotate(-5deg);
    background: var(--color-blue);
}

.about-page .about-process-step-content h4 {
    margin: 0 0 .25rem;
    color: var(--color-blue-deep);
    font-size: 1.02rem;
    font-weight: 800;
}

.about-page .about-process-step-content p {
    max-width: 32rem;
    margin: 0;
    color: var(--ink-muted);
    font-size: .9rem;
    line-height: 1.6;
}

.about-page .about-process-image {
    position: relative;
    z-index: 0;
    aspect-ratio: 1.16;
    overflow: visible;
    border-radius: 0;
    isolation: isolate;
}

.about-page .about-process-image::before {
    position: absolute;
    z-index: -1;
    inset: .85rem .85rem -.85rem -.85rem;
    background: var(--color-red);
    clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
    content: "";
}

.about-page .about-process-image > img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    clip-path: polygon(0 0, 88% 0, 100% 12%, 100% 100%, 12% 100%, 0 88%);
    object-fit: cover;
    object-position: center;
}

@media (max-width: 991.98px) {
    .about-page .about-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-page .about-process-layout {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
        gap: 2.25rem;
    }
}

@media (max-width: 767.98px) {
    .about-page .about-intro-layout {
        grid-template-columns: 1fr;
        gap: 2.4rem;
    }

    .about-page .about-intro-image {
        width: min(100% - .9rem, 560px);
        aspect-ratio: 1.24;
    }

    .about-page .about-intro-image::before {
        inset: .65rem -.65rem -.65rem .65rem;
    }

    .about-page .about-intro-points {
        max-width: 560px;
    }

    .about-page .about-values-header {
        margin-bottom: 1.5rem;
    }

    .about-page .about-value-card {
        min-height: 225px;
    }

    .about-page .about-process-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .about-page .about-process-image {
        width: min(100% - .85rem, 600px);
        aspect-ratio: 1.3;
        margin-left: auto;
    }

    .about-page .about-process-image::before {
        inset: .65rem .65rem -.65rem -.65rem;
    }
}

@media (max-width: 480px) {
    .about-page .about-intro-content h2 {
        font-size: clamp(1.55rem, 7vw, 1.9rem);
    }

    .about-page .about-intro-points span {
        padding-right: .4rem;
        font-size: .69rem;
    }

    .about-page .about-intro-points span + span {
        padding-left: .4rem;
    }

    .about-page .about-values-grid {
        grid-template-columns: 1fr;
    }

    .about-page .about-value-card {
        min-height: 0;
        padding: 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-page .about-value-card,
    .about-page .about-value-card::after,
    .about-page .about-value-icon,
    .about-page .about-value-icon svg,
    .about-page .about-process-step,
    .about-page .about-process-step-icon {
        transition: none;
    }
}

/* Open, image-led homepage introduction without nested cards */
.home-page .welcome-section {
    background: #fff;
}

.home-page .welcome-grid {
    align-items: center;
    gap: clamp(3rem, 7vw, 7rem);
}

.home-page .welcome-copy {
    padding: 0;
}

.home-page .welcome-copy .eyebrow {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: 1rem;
    color: var(--color-blue);
    font-size: .68rem;
    letter-spacing: .14em;
}

.home-page .welcome-copy .eyebrow::after {
    width: 36px;
    height: 2px;
    background: var(--color-red);
    content: "";
}

.home-page .welcome-copy h2 {
    max-width: 540px;
    margin-bottom: 1.1rem;
    font-size: clamp(2.6rem, 4.5vw, 4rem);
    letter-spacing: -.06em;
    text-wrap: balance;
}

.home-page .welcome-copy .welcome-intro {
    max-width: 480px;
    margin-bottom: 1.8rem;
    font-size: 1.06rem;
    line-height: 1.8;
}

.home-page .welcome-focus-list {
    gap: 0;
    margin-top: 1.6rem;
    border-top: 1px solid #dfe7eb;
}

.home-page .welcome-focus {
    grid-template-columns: 5px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 0;
    border: 0;
    border-bottom: 1px solid #dfe7eb;
    border-radius: 0;
    background: transparent;
}

.home-page .welcome-focus:hover {
    transform: none;
}

.home-page .welcome-focus > span {
    width: 4px;
    height: 32px;
    padding: 0;
    background: var(--color-red);
}

.home-page .welcome-focus:nth-child(2) > span {
    background: var(--color-blue);
}

.home-page .welcome-focus:nth-child(3) > span {
    background: var(--color-blue-deep);
}

.home-page .welcome-images {
    padding: 0;
}

.home-page .welcome-image-grid {
    grid-template-columns: minmax(0, 1.65fr) minmax(120px, .75fr);
    gap: 10px;
}

.home-page .welcome-image-large,
.home-page .welcome-image-small {
    border: 0;
    border-radius: 3px;
    box-shadow: none;
}

.home-page .welcome-cta {
    min-height: 0;
    border: 0;
    border-radius: 0;
    background-color: var(--color-blue-dark);
    background-image:
        linear-gradient(100deg, rgba(7, 91, 139, .96), rgba(7, 91, 139, .82)),
        url("../images/hd/crops.jpg");
    box-shadow: none;
    clip-path: none;
}

.home-page .welcome-cta-content {
    min-height: 0;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(2rem, 7vw, 7rem);
    padding: clamp(2.5rem, 5vw, 4.5rem);
}

.home-page .welcome-cta-copy {
    max-width: 560px;
}

.home-page .welcome-cta-aside {
    max-width: 480px;
    margin: 0;
    padding-left: 1.5rem;
    border-left: 1px solid rgba(255, 255, 255, .45);
    color: rgba(255, 255, 255, .9);
    font-size: clamp(1.1rem, 1.7vw, 1.45rem);
    line-height: 1.7;
}

.about-intro-points {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 1.4rem 0;
}

.about-intro-points span {
    padding: .45rem .75rem;
    border: 1px solid #dce6eb;
    border-left: 3px solid var(--color-blue);
    border-radius: 4px;
    color: var(--color-blue-deep);
    background: #f4f7f9;
    font-size: .78rem;
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .home-page .welcome-images {
        padding: 0;
    }

    .home-page .welcome-cta-content {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 2rem 1.4rem;
    }

    .home-page .welcome-cta-aside {
        padding: 1.1rem 0 0;
        border-top: 1px solid rgba(255, 255, 255, .45);
        border-left: 0;
    }
}

/* Match the open editorial hierarchy and shaped photography of "Why Farm Support". */
.home-page .welcome-section {
    background: #fff;
}

.home-page .welcome-copy .eyebrow {
    color: var(--color-red);
}

.home-page .welcome-copy h2 {
    max-width: 520px;
    font-size: clamp(2.3rem, 3.8vw, 3.35rem);
    line-height: 1.08;
}

.home-page .welcome-copy .welcome-intro {
    max-width: 500px;
    margin-bottom: 1.35rem;
    font-size: 1rem;
}

.home-page .welcome-focus {
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 1rem;
    padding: .9rem 0;
}

.home-page .welcome-focus > span {
    width: 6px;
    height: 38px;
    background: var(--color-red);
}

.home-page .welcome-focus:nth-child(2) > span {
    background: var(--color-blue);
}

.home-page .welcome-focus:nth-child(3) > span {
    background: var(--color-blue-deep);
}

.home-page .welcome-images {
    position: relative;
    padding: 1rem 0 1rem 1rem;
    isolation: isolate;
}

.home-page .welcome-images::before {
    position: absolute;
    z-index: -1;
    inset: 0 0 0 1rem;
    background: var(--color-blue);
    clip-path: polygon(12% 0, 100% 0, 100% 86%, 86% 100%, 0 100%, 0 14%);
    content: "";
}

.home-page .welcome-image-grid {
    clip-path: polygon(10% 0, 100% 0, 100% 89%, 89% 100%, 0 100%, 0 10%);
}

.home-page .welcome-image-large,
.home-page .welcome-image-small {
    border-radius: 0;
}

.home-page .welcome-cta {
    border: 0;
    border-top: 4px solid var(--color-red);
    border-radius: 0;
    background-image:
        linear-gradient(100deg, rgba(7, 91, 139, .96), rgba(7, 91, 139, .82)),
        url("../images/hd/crops.jpg");
    clip-path: polygon(0 0, 97% 0, 100% 8%, 100% 100%, 3% 100%, 0 92%);
}

.home-page .welcome-cta-content {
    padding: clamp(2.25rem, 4.5vw, 3.8rem);
}

@media (max-width: 767.98px) {
    .home-page .welcome-images {
        padding: .75rem 0 .75rem .75rem;
    }

    .home-page .welcome-images::before {
        inset: 0 0 0 .75rem;
    }

    .home-page .welcome-image-grid {
        clip-path: polygon(7% 0, 100% 0, 100% 93%, 93% 100%, 0 100%, 0 7%);
    }

    .home-page .welcome-cta {
        clip-path: polygon(0 0, 97% 0, 100% 3%, 100% 100%, 3% 100%, 0 97%);
    }
}

/* Image-led partner tiles with a bold copy panel that shifts on hover and focus. */
.partners-page .partners-showcase {
    background: #f3f6f8;
}

.partners-page .partners-showcase-heading {
    margin-bottom: 2rem;
}

.partners-page .partners-showcase-heading .eyebrow {
    margin-bottom: .6rem;
    color: var(--color-red);
}

.partners-page .partners-showcase-heading h2 {
    margin: 0;
    color: var(--color-blue-deep);
    font-size: clamp(2.2rem, 4vw, 3.25rem);
    letter-spacing: -.055em;
}

.partners-page .partner-tile-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.partners-page .partner-tile {
    position: relative;
    min-width: 0;
    min-height: 430px;
    overflow: hidden;
    background: var(--color-blue-deep);
    isolation: isolate;
}

.partners-page .partner-tile::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 32, 46, .02) 36%, rgba(8, 32, 46, .35) 100%);
    content: "";
    pointer-events: none;
}

.partners-page .partner-tile-image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}

.partners-page .partner-tile-logo {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: grid;
    width: min(166px, calc(100% - 2rem));
    height: 78px;
    padding: .55rem .8rem;
    place-items: center;
    background: #fff;
}

.partners-page .partner-tile-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.partners-page .partner-tile-copy {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 91%;
    min-height: 230px;
    padding: 1.15rem 1.2rem 1rem;
    color: #fff;
    background: #c71920;
    transition: background-color .35s ease, transform .35s ease;
}

.partners-page .partner-tile-country {
    margin: 0 0 .35rem;
    color: rgba(255, 255, 255, .78);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.inner-page main>section:not(.inner-hero).partners-showcase .partner-tile-copy .partner-tile-country {
    color: rgba(255, 255, 255, .78);
}

.partners-page .partner-tile-copy h3 {
    margin: 0 0 .45rem;
    color: #fff;
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -.035em;
}

.inner-page main>section:not(.inner-hero).partners-showcase .partner-tile-copy h3 {
    color: #fff;
}

.partners-page .partner-tile-description {
    min-height: 4.4em;
    margin: 0 0 .8rem;
    color: rgba(255, 255, 255, .9);
    font-size: .81rem;
    line-height: 1.55;
}

.inner-page main>section:not(.inner-hero).partners-showcase .partner-tile-copy .partner-tile-description {
    color: rgba(255, 255, 255, .9);
}

.partners-page .partner-tile-link {
    display: flex;
    min-height: 30px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    color: #fff;
    font-size: .77rem;
    font-weight: 800;
    text-decoration: none;
}

.partners-page .partner-tile-link span {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .68);
    border-radius: 50%;
    transition: color .3s ease, background-color .3s ease, transform .3s ease;
}

.partners-page .partner-tile:hover .partner-tile-image,
.partners-page .partner-tile:focus-within .partner-tile-image {
    transform: scale(1.06);
}

.partners-page .partner-tile:hover .partner-tile-copy,
.partners-page .partner-tile:focus-within .partner-tile-copy {
    transform: translateY(-5px);
    background: #15364b;
}

.partners-page .partner-tile-link:hover span,
.partners-page .partner-tile-link:focus-visible span {
    transform: translate(2px, -2px);
    color: var(--color-blue-deep);
    background: #fff;
}

.partners-page .partner-tile-link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

@media (max-width: 991.98px) {
    .partners-page .partner-tile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partners-page .partner-tile {
        min-height: 410px;
    }
}

@media (max-width: 575.98px) {
    .partners-page .partner-tile-grid {
        grid-template-columns: 1fr;
    }

    .partners-page .partner-tile {
        min-height: 430px;
    }

    .partners-page .partner-tile-logo {
        width: min(174px, calc(100% - 2rem));
        height: 82px;
    }

    .partners-page .partner-tile-copy {
        width: 88%;
        min-height: 215px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .partners-page .partner-tile-image,
    .partners-page .partner-tile-copy,
    .partners-page .partner-tile-link span {
        transition: none;
    }
}

/* Reference-inspired Core Values tiles: vivid icon panels shift to deep blue on hover. */
.about-page .about-values-grid {
    counter-reset: value-card;
    gap: 1.15rem;
}

.about-page .about-value-card {
    display: flex;
    min-height: 280px;
    flex-direction: column;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transition: transform .35s ease;
}

.about-page .about-value-card::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    border-left: 4px solid var(--color-red);
    background: #fff;
    content: "";
    transition: background-color .35s ease, border-color .35s ease;
}

.about-page .about-value-card::after {
    right: 1.2rem;
    bottom: 1.2rem;
    width: 1.15rem;
    height: 1.15rem;
    border: 0;
    border-radius: 0;
    background: var(--color-red);
    box-shadow: none;
    opacity: .85;
    transform: rotate(45deg) scale(.72);
    transition: opacity .35s ease, transform .35s ease;
}

.about-page .about-value-icon {
    position: relative;
    width: 100%;
    height: 112px;
    flex: 0 0 112px;
    margin: 0;
    padding: 1.4rem 1.5rem;
    align-items: center;
    justify-content: flex-start;
    background: var(--color-blue);
    color: #fff;
    transition: background-color .35s ease, color .35s ease;
}

.about-page .about-value-icon::after {
    position: absolute;
    top: .75rem;
    right: 1rem;
    color: rgba(255, 255, 255, .18);
    content: counter(value-card, decimal-leading-zero);
    font-size: 2.7rem;
    font-weight: 800;
    letter-spacing: -.08em;
    line-height: 1;
}

.about-page .about-value-card {
    counter-increment: value-card;
}

.about-page .about-value-icon svg {
    position: relative;
    z-index: 1;
    width: 2.2rem;
    height: 2.2rem;
}

.about-page .about-value-card h3,
.about-page .about-value-card p {
    position: relative;
    z-index: 1;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    transition: color .35s ease;
}

.about-page .about-value-card h3 {
    margin: 1.35rem 0 .55rem;
}

.about-page .about-value-card p {
    padding-bottom: 1.6rem;
}

.about-page .about-value-card:hover {
    transform: translateY(-7px);
    border: 0;
    background: transparent;
    box-shadow: none;
}

.about-page .about-value-card:hover::before {
    border-left-color: var(--color-red);
    background: var(--color-blue-deep);
}

.about-page .about-value-card:hover::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
}

.about-page .about-value-card:hover .about-value-icon {
    background: var(--color-red);
    color: #fff;
}

.about-page .about-value-card:hover h3 {
    color: #fff;
}

.about-page .about-value-card:hover p {
    color: rgba(255, 255, 255, .82);
}

@media (max-width: 480px) {
    .about-page .about-value-card {
        min-height: 245px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-page .about-value-card,
    .about-page .about-value-card::before,
    .about-page .about-value-card::after,
    .about-page .about-value-icon,
    .about-page .about-value-icon::after,
    .about-page .about-value-icon svg,
    .about-page .about-value-card h3,
    .about-page .about-value-card p {
        transition: none;
    }
}

/* Simplified About values: red icons lead concise, open editorial rows. */
.about-page .about-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(2rem, 5vw, 4rem);
}

.about-page .about-value-card,
.about-page .about-value-card:hover {
    display: grid;
    min-height: 0;
    grid-template-columns: 4.25rem minmax(0, 1fr);
    align-content: start;
    column-gap: 1.25rem;
    padding: 1.65rem 0;
    border: 0;
    border-bottom: 1px solid #dce5ea;
    background: transparent;
    box-shadow: none;
    transform: none;
}

.about-page .about-value-card::before,
.about-page .about-value-card::after {
    display: none;
}

.about-page .about-value-icon,
.about-page .about-value-card:hover .about-value-icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: .15rem 0 0;
    padding: 0;
    place-items: center;
    color: #c71920;
    background: rgba(199, 25, 32, .08);
    transform: none;
}

.about-page .about-value-icon::after {
    display: none;
}

.about-page .about-value-icon svg,
.about-page .about-value-card:hover .about-value-icon svg {
    width: 2.55rem;
    height: 2.55rem;
    transform: none;
}

.about-page .about-value-card h3,
.about-page .about-value-card:hover h3 {
    grid-column: 2;
    margin: 0 0 .45rem;
    padding: 0;
    color: var(--color-blue-deep);
    font-size: 1.12rem;
    transition: color .25s ease;
}

.about-page .about-value-card p,
.about-page .about-value-card:hover p {
    grid-column: 2;
    margin: 0;
    padding: 0;
    color: var(--ink-muted);
    font-size: .9rem;
    line-height: 1.7;
    transition: color .25s ease;
}

.about-page .about-value-card:hover h3 {
    color: #c71920;
}

.about-page .about-value-card:hover .about-value-icon {
    background: rgba(199, 25, 32, .12);
}

@media (max-width: 767.98px) {
    .about-page .about-values-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .about-page .about-value-card,
    .about-page .about-value-card:hover {
        grid-template-columns: 3.5rem minmax(0, 1fr);
        column-gap: 1rem;
        padding: 1.25rem 0;
    }

    .about-page .about-value-icon,
    .about-page .about-value-card:hover .about-value-icon {
        width: 3.35rem;
        height: 3.35rem;
    }

    .about-page .about-value-icon svg,
    .about-page .about-value-card:hover .about-value-icon svg {
        width: 2.2rem;
        height: 2.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-page .about-value-card h3,
    .about-page .about-value-card p {
        transition: none;
    }
}

/* Core Values match the image-backed, overlapping-card reference while staying on brand. */
.about-page .about-values {
    position: relative;
    overflow: hidden;
    padding: clamp(3.75rem, 7vw, 5.5rem) 0 clamp(3rem, 6vw, 4.5rem);
    background: #f2f5f7;
    isolation: isolate;
}

.about-page .about-values::before {
    position: absolute;
    z-index: -1;
    inset: 0 0 auto;
    height: min(72%, 470px);
    background:
        linear-gradient(110deg, rgba(7, 48, 75, .93), rgba(8, 91, 139, .84)),
        url("../images/hd/cattle.jpg") center 48% / cover no-repeat;
    content: "";
}

.about-page .about-values-header {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.about-page .about-values-header .eyebrow {
    margin-bottom: .55rem;
    color: #fff;
    letter-spacing: .16em;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}

.about-page .about-values-header h2 {
    max-width: none;
    margin: 0;
    color: #fff;
    font-size: clamp(2.1rem, 4.2vw, 3.2rem);
    letter-spacing: -.05em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .3);
}

body.inner-page main.about-page > section.about-values .about-values-header .eyebrow,
body.inner-page main.about-page > section.about-values .about-values-header h2 {
    color: #fff;
}

.about-page .about-values-grid {
    position: relative;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: clamp(3.5rem, 7vw, 5rem) 0 0;
}

.about-page .about-value-card,
.about-page .about-value-card:hover {
    display: flex;
    min-width: 0;
    min-height: 275px;
    flex-direction: column;
    align-items: center;
    padding: 1.8rem 1.35rem 1.65rem;
    border: 0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(16, 45, 64, .09);
    text-align: center;
    transform: none;
    transition: transform .28s ease, box-shadow .28s ease;
}

.about-page .about-value-card::before,
.about-page .about-value-card::after {
    display: none;
}

.about-page .about-value-icon,
.about-page .about-value-card:hover .about-value-icon {
    display: grid;
    width: 4.5rem;
    height: 4.5rem;
    flex: 0 0 4.5rem;
    margin: 0 auto 1rem;
    padding: 0;
    place-items: center;
    border-radius: 0;
    color: #c71920;
    background: transparent;
    transform: none;
}

.about-page .about-value-icon::after {
    display: none;
}

.about-page .about-value-icon svg,
.about-page .about-value-card:hover .about-value-icon svg {
    width: 2.35rem;
    height: 2.35rem;
    transform: none;
}

.inner-page main > section.about-values .about-value-card h3,
.inner-page main > section.about-values .about-value-card:hover h3 {
    margin: 0 0 .55rem;
    padding: 0;
    color: var(--color-blue-deep);
    font-size: 1.08rem;
    text-align: center;
}

.inner-page main > section.about-values .about-value-card p,
.inner-page main > section.about-values .about-value-card:hover p {
    max-width: 18rem;
    margin: 0;
    padding: 0;
    color: #65727b;
    font-size: .86rem;
    line-height: 1.65;
    text-align: center;
}

.about-page .about-value-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 46px rgba(16, 45, 64, .15);
}

.about-page .about-value-card:hover h3 {
    color: #c71920;
}

.about-page .about-value-card:hover .about-value-icon {
    background: transparent;
}

@media (max-width: 991.98px) {
    .about-page .about-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .about-page .about-values::before {
        height: 62%;
    }
}

@media (max-width: 575.98px) {
    .about-page .about-values {
        padding-top: 3.5rem;
    }

    .about-page .about-values-grid {
        grid-template-columns: 1fr;
        max-width: 430px;
        margin: 3rem auto 0;
    }

    .about-page .about-value-card,
    .about-page .about-value-card:hover {
        min-height: 0;
        padding: 1.6rem 1.35rem;
        border-radius: 18px;
    }

    .about-page .about-values::before {
        height: 430px;
    }
}

.footer-bottom-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.footer-credit {
    color: #c2ced6;
    font-size: .8rem;
}

.footer-bottom .footer-back-to-top {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    padding: .65rem 1rem;
    border: 1px solid var(--color-red);
    color: #fff;
    background: var(--color-red);
    box-shadow: 4px 4px 0 var(--color-blue);
    font-size: .82rem;
    font-weight: 800;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.footer-bottom .footer-back-to-top span {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
}

.footer-bottom .footer-back-to-top:hover,
.footer-bottom .footer-back-to-top:focus-visible {
    border-color: var(--color-blue);
    color: #fff;
    background: var(--color-blue);
    box-shadow: 2px 2px 0 var(--color-red);
    transform: translate(2px, 2px);
}

/* Add soft corners to the Products page's image-and-copy catalogue cards. */
.products-page .product-card {
    border-radius: 12px;
}

.products-page .product-image {
    border-radius: 12px 12px 0 0;
}

.products-page .product-card-copy {
    border-radius: 10px;
}

@media (max-width: 767.98px) {
    .footer-bottom-meta {
        width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-page .about-value-card,
    .products-page .product-card-copy,
    .footer-bottom .footer-back-to-top {
        transition: none;
    }
}

.inner-page .site-header .nav-contact {
    box-shadow: 5px 5px 0 var(--color-blue);
}

.inner-page .site-header .nav-contact:hover,
.inner-page .site-header .nav-contact:focus-visible {
    box-shadow: 3px 3px 0 var(--color-blue-dark);
}

.home-page .home-slider .carousel-caption {
    width: min(520px, 58%);
    border-radius: 0;
    clip-path: polygon(0 0, 97% 0, 100% 8%, 100% 100%, 3% 100%, 0 92%);
}

.site-header .navbar-collapse {
    align-items: center;
}

.site-header .primary-nav-links {
    flex: 1 1 auto;
    gap: 1.25rem;
    justify-content: center;
    margin: 0;
}

.site-header .primary-nav-links .nav-link {
    font-size: 1.05rem;
    text-transform: uppercase;
}

.site-header .nav-contact {
    text-transform: uppercase;
}

.site-header.is-scrolled .primary-nav-links .nav-link {
    font-size: .96rem;
}

.site-header .nav-contact-item {
    flex: 0 0 auto;
}

.orientation-notice {
    display: none;
}

.site-footer {
    border-top: 0;
}

.site-footer::after {
    display: none;
}

@media (max-width: 767.98px) {
    .home-page .home-slider .carousel-caption {
        width: 86%;
        clip-path: polygon(0 0, 97% 0, 100% 3%, 100% 100%, 3% 100%, 0 97%);
    }
}

@media (max-width: 991.98px) {
    .site-header .navbar-collapse {
        flex-basis: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .site-header .primary-nav-links {
        flex: 0 0 auto;
        align-items: center !important;
        gap: .5rem;
    }

    .site-header .primary-nav-links .nav-link {
        text-align: center;
    }

    .site-header .nav-contact-item {
        align-self: center;
        margin: .25rem 0 0;
    }
}

@media (max-width: 991.98px) and (orientation: landscape) {
    .orientation-notice {
        position: fixed;
        z-index: 2000;
        inset: 0;
        display: grid;
        padding: 2rem;
        place-items: center;
        background: #fff;
        text-align: center;
    }

    .orientation-notice-content {
        width: min(100%, 480px);
    }

    .orientation-notice .eyebrow {
        margin-bottom: .75rem;
        color: var(--color-red);
        font-size: .75rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .orientation-notice h2 {
        margin-bottom: .75rem;
        font-size: clamp(1.75rem, 5vw, 2.5rem);
    }

    .orientation-notice-content>p:last-child {
        margin: 0;
    }
}

.home-page .site-header {
    top: clamp(24px, 3.5vh, 40px);
    width: min(82%, 1440px);
}

.home-page .site-header .navbar {
    width: 100%;
    min-height: 112px;
    padding: .65rem 1.4rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(12, 35, 50, .16);
}

.home-page .site-header .navbar > .container {
    max-width: none;
}

.home-page .navbar-brand {
    max-width: 330px;
}

.home-page .navbar-brand img {
    max-height: 64px;
}

.home-page .site-header .nav-link {
    padding: .65rem .7rem !important;
    font-size: 1rem;
}

.home-page .site-header .primary-nav-links {
    gap: 1rem;
}

.home-page .farm-solutions-toggle {
    width: 22px;
    padding: 0 !important;
}

.home-page .farm-solutions-toggle.dropdown-toggle::after {
    position: static;
    display: inline-block;
    width: 0;
    height: 0;
    inset: auto;
    margin: 0;
    vertical-align: middle;
    background: none;
    border-top: .4em solid currentColor;
    border-right: .4em solid transparent;
    border-bottom: 0;
    border-left: .4em solid transparent;
    transform: none;
}

.home-page .nav-contact-item {
    margin-left: .65rem;
}

.home-page .nav-contact {
    padding: .7rem 1rem;
    font-size: .84rem;
}

.home-page .home-slider {
    min-height: 0;
    padding: 64px 0 12px;
    background: var(--color-blue);
}

.home-page .home-slider::before {
    display: none;
}

.home-page .home-slider #homeCarousel {
    width: 94.5%;
    height: clamp(500px, calc(100svh - 77px), 630px);
    min-height: 0;
    margin: 0 3.3% 0 2.2%;
    overflow: hidden;
    border-radius: 14px;
    transform: none;
}

.home-page .home-slider .carousel-item {
    height: 100%;
    min-height: 0;
}

.home-page .home-slider .carousel-item::after {
    background: linear-gradient(90deg, rgba(10, 30, 42, .2), rgba(10, 30, 42, .06) 66%, rgba(10, 30, 42, .02));
}

.home-page .home-slider .carousel-item > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: none;
}

.home-page .home-slider .carousel-caption {
    top: 50%;
    right: auto;
    left: 8%;
    width: min(620px, 72%);
    min-height: 418px;
    padding: clamp(1.75rem, 3vw, 2.8rem);
    padding-top: clamp(3.5rem, 4vw, 3.75rem);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 0;
    background: rgba(7, 75, 111, .78);
    box-shadow: 0 18px 42px rgba(9, 33, 48, .2);
    text-align: left;
    transform: translateY(-50%);
    clip-path: polygon(0 0, 97% 0, 100% 8%, 100% 100%, 3% 100%, 0 92%);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.home-page .home-slider .carousel-caption .eyebrow {
    color: rgba(255, 255, 255, .82);
}

.home-page .home-slider .carousel-caption h1,
.home-page .home-slider .carousel-caption h2 {
    max-width: 550px;
    margin-bottom: .8rem;
    font-size: clamp(2.1rem, 3vw, 3.1rem);
    line-height: 1.06;
}

.home-page .home-slider .carousel-caption > p:not(.eyebrow) {
    max-width: 460px;
    margin: 0 0 1.5rem;
    color: rgba(255, 255, 255, .88);
    font-size: 1.05rem;
    line-height: 1.6;
}

.home-page .home-slider .carousel-indicators {
    right: auto;
    bottom: 24px;
    left: 8%;
    width: auto;
    max-width: none;
    margin: 0;
}

.home-page .home-slider .carousel-indicators [data-bs-target] {
    width: 42px;
    height: 4px;
    margin-right: 8px;
    margin-left: 0;
    background-color: rgba(255, 255, 255, .86);
    opacity: 1;
}

.home-page .home-slider .carousel-indicators .active {
    background-color: var(--color-red);
}

.home-page .slider-contact-rail {
    width: 55px;
    height: 294px;
    border: 1px solid rgba(255, 255, 255, .65);
    border-left: 0;
    border-radius: 0 12px 12px 0;
    background: rgba(7, 91, 139, .72);
}

@media (max-width: 991.98px) {
    .home-page .site-header {
        width: calc(100% - 48px);
    }

    .home-page .site-header .navbar {
        min-height: 78px;
        padding: .35rem 1rem;
        border-radius: 14px;
    }

    .home-page .navbar-brand {
        max-width: 250px;
    }

    .home-page .navbar-brand img {
        max-height: 58px;
    }

    .home-page .site-header .nav-link {
        font-size: .9rem;
    }

    .home-page .site-header .primary-nav-links {
        gap: .5rem;
    }

    .home-page .home-slider {
        padding-top: 108px;
    }

    .home-page .home-slider #homeCarousel {
        height: clamp(500px, calc(100svh - 120px), 630px);
        margin-right: 2.5%;
        margin-left: 2.5%;
        width: 95%;
    }
}

@media (max-width: 767.98px) {
    .home-page .site-header {
        top: 14px;
        width: calc(100% - 28px);
    }

    .home-page .site-header .navbar {
        min-height: 66px;
        padding: .25rem .7rem;
    }

    .home-page .navbar-brand {
        max-width: 205px;
    }

    .home-page .navbar-brand img {
        max-height: 48px;
    }

    .home-page .home-slider {
        padding-top: 78px;
        padding-bottom: 10px;
    }

    .home-page .home-slider #homeCarousel {
        height: clamp(420px, 72svh, 580px);
        min-height: 420px;
        border-radius: 10px;
    }

    .home-page .home-slider .carousel-caption {
        right: 7%;
        left: 7%;
        width: 86%;
        min-height: 0;
        padding: 1.35rem 1.25rem 1.5rem;
    }

    .home-page .home-slider .carousel-caption h1,
    .home-page .home-slider .carousel-caption h2 {
        font-size: clamp(1.8rem, 7vw, 2.5rem);
    }

    .home-page .home-slider .carousel-caption > p:not(.eyebrow) {
        font-size: .9rem;
    }

    .home-page .home-slider .carousel-indicators {
        bottom: 16px;
        left: 7%;
    }

    .home-page .home-slider .carousel-indicators [data-bs-target] {
        width: 24px;
        margin-right: 6px;
    }

    .home-page .slider-contact-rail {
        width: 38px;
        height: 210px;
        font-size: .6rem;
    }
}

.home-page .site-header {
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0;
    transform: none;
    background: transparent;
    box-shadow: none;
    font-family: Arial, Helvetica, sans-serif;
}

.home-page .site-header .navbar {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home-page .site-header .navbar > .container {
    display: flex;
    width: 100%;
    max-width: none;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 20px 5.5vw;
}

.home-page .navbar-brand {
    display: block;
    width: 310px;
    max-width: 31%;
    padding: 0;
}

.home-page .navbar-brand img {
    display: block;
    width: 100%;
    max-height: 72px;
    object-fit: contain;
    object-position: left center;
    mix-blend-mode: multiply;
}

.home-page .site-header .navbar-collapse {
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

.home-page .site-header .primary-nav-links {
    flex: 0 1 auto;
    gap: .25rem;
    justify-content: flex-end;
}

.home-page .site-header .primary-nav-links .nav-link {
    padding: .6rem .55rem !important;
    border-color: transparent;
    color: #176fb1;
    font-size: .83rem;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .5);
}

.home-page .site-header .primary-nav-links .nav-link:hover,
.home-page .site-header .primary-nav-links .nav-link:focus-visible,
.home-page .site-header .primary-nav-links .nav-link.active {
    border-color: rgba(215, 25, 32, .55);
    color: #d71920;
    background: rgba(255, 255, 255, .42);
}

.home-page .farm-solutions-toggle {
    width: 27px;
    padding: 0 !important;
}

.home-page .site-header .primary-nav-links .farm-solutions-toggle {
    font-size: 1rem;
}

.home-page .landing-header-email {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    margin-left: 10px;
    color: #176fb1;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .5);
}

.home-page .landing-header-email:hover {
    color: #d71920;
}

.home-page .landing-header-email-icon {
    color: #d71920;
    font-size: 1rem;
}

.home-page .nav-contact-item {
    flex: 0 0 auto;
    margin-left: 14px;
}

.home-page .site-header .nav-contact {
    min-height: 42px;
    padding: .65rem .9rem;
    border-radius: 0;
    font-size: .75rem;
    letter-spacing: .025em;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
}

.home-page .landing-page {
    position: relative;
    width: 100%;
    height: 100vh;
    height: 100svh;
    min-height: 640px;
    overflow: hidden;
    background: #1d73b7;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}

.home-page .landing-page .background-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.home-page .landing-background-slider {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    background: #1d73b7;
}

.home-page .landing-background-slider .background-image {
    opacity: 0;
    animation-duration: 21s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    will-change: opacity, transform;
}

.home-page .landing-background-slider .background-slide-one {
    opacity: 1;
    animation-name: landing-slide-one, landing-kenburns-one;
}

.home-page .landing-background-slider .background-slide-two {
    animation-name: landing-slide-two, landing-kenburns-two;
}

.home-page .landing-background-slider .background-slide-three {
    animation-name: landing-slide-three, landing-kenburns-three;
}

@keyframes landing-slide-one {
    0%, 28% {
        opacity: 1;
    }

    36%, 96% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes landing-slide-two {
    0%, 28%, 100% {
        opacity: 0;
    }

    36%, 62% {
        opacity: 1;
    }

    70% {
        opacity: 0;
    }
}

@keyframes landing-slide-three {
    0%, 62%, 100% {
        opacity: 0;
    }

    70%, 96% {
        opacity: 1;
    }
}

@keyframes landing-kenburns-one {
    from {
        transform: scale(1.02);
    }

    to {
        transform: scale(1.08) translate3d(1%, -.5%, 0);
    }
}

@keyframes landing-kenburns-two {
    from {
        transform: scale(1.08) translate3d(-1%, .5%, 0);
    }

    to {
        transform: scale(1.02);
    }
}

@keyframes landing-kenburns-three {
    from {
        transform: scale(1.02) translate3d(.5%, 0, 0);
    }

    to {
        transform: scale(1.08) translate3d(-.5%, -.5%, 0);
    }
}

.home-page .landing-page .background-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .82) 8%, rgba(255, 255, 255, .48) 17%, rgba(255, 255, 255, .08) 30%, rgba(29, 115, 183, .12) 55%, rgba(5, 54, 92, .48) 100%),
        linear-gradient(90deg, rgba(5, 54, 92, .78) 0%, rgba(8, 75, 122, .55) 35%, rgba(10, 85, 135, .16) 62%, rgba(0, 0, 0, .04) 100%);
}

.home-page .landing-page .hero {
    position: absolute;
    z-index: 5;
    top: 0;
    bottom: 0;
    left: 5.5vw;
    display: flex;
    width: 52%;
    align-items: center;
}

.home-page .landing-page .hero-inner {
    width: 100%;
    max-width: 650px;
    margin-top: 55px;
}

.home-page .landing-page .eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 15px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .35);
}

.home-page .landing-page .eyebrow-line {
    width: 38px;
    height: 3px;
    flex: 0 0 38px;
    background: #d71920;
}

.home-page .landing-page .title {
    margin: 0;
    color: #fff;
    font-size: clamp(43px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -2.5px;
    line-height: .98;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}

.home-page .landing-page .title span {
    display: block;
    color: #ff2028;
}

.home-page .landing-page .description {
    max-width: 590px;
    margin: 20px 0 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.6;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .45);
}

.home-page .landing-page .services {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 23px;
}

.home-page .landing-page .service {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border-right: 1px solid rgba(255, 255, 255, .45);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .4);
}

.home-page .landing-page .service:first-child {
    padding-left: 0;
}

.home-page .landing-page .service:last-child {
    border-right: 0;
}

.home-page .landing-page .service-icon {
    display: flex;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    align-items: center;
    justify-content: center;
    border: 2px solid #ff2028;
    border-radius: 50%;
    color: #fff;
    background: rgba(29, 115, 183, .7);
    font-size: 14px;
}

.home-page .landing-page .cta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 27px;
}

.home-page .landing-page .cta,
.home-page .landing-page .cta-secondary {
    display: inline-flex;
    min-height: 0;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border-radius: 0;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.home-page .landing-page .cta {
    padding: 13px 22px;
    border: 1px solid #d71920;
    color: #fff;
    background: #d71920;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
    letter-spacing: .4px;
}

.home-page .landing-page .cta:hover {
    color: #fff;
    background: #b81218;
    transform: translateY(-2px);
}

.home-page .landing-page .cta-secondary {
    padding: 12px 21px;
    border: 2px solid #fff;
    color: #fff;
    background: rgba(29, 115, 183, .3);
}

.home-page .landing-page .cta-secondary:hover {
    color: #1d73b7;
    background: #fff;
}

.home-page .landing-page .bottom-blue,
.home-page .landing-page .bottom-red {
    position: absolute;
    bottom: 0;
    height: 7px;
}

.home-page .landing-page .bottom-blue {
    z-index: 4;
    right: 0;
    left: 0;
    background: #1d73b7;
}

.home-page .landing-page .bottom-red {
    z-index: 5;
    left: 0;
    width: 38%;
    background: #d71920;
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .home-page .navbar-brand {
        width: 250px;
    }

    .home-page .site-header .primary-nav-links .nav-link {
        padding-right: .3rem !important;
        padding-left: .3rem !important;
        font-size: .75rem;
    }

    .home-page .landing-header-email {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .home-page .site-header .navbar > .container {
        flex-wrap: wrap;
        padding: 18px 30px;
    }

    .home-page .navbar-brand {
        width: 250px;
        max-width: calc(100% - 56px);
    }

    .home-page .site-header .navbar-toggler {
        margin-left: auto;
        border-color: rgba(23, 111, 177, .45);
        background: rgba(255, 255, 255, .55);
    }

    .home-page .site-header .navbar-collapse {
        flex-basis: 100%;
        flex-direction: column;
        align-items: stretch;
        margin: 12px 0 0;
        padding: 12px;
        border: 1px solid rgba(23, 111, 177, .12);
        border-radius: 8px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 10px 28px rgba(5, 54, 92, .16);
    }

    .home-page .site-header .primary-nav-links {
        width: 100%;
        align-items: stretch !important;
    }

    .home-page .site-header .primary-nav-links .nav-link {
        color: #176fb1;
        text-align: left;
    }

    .home-page .farm-solutions-item {
        flex-wrap: wrap;
    }

    .home-page .farm-solutions-item .dropdown-menu {
        position: static !important;
        width: 100%;
        margin-top: .1rem;
        border: 0;
        box-shadow: none;
    }

    .home-page .landing-header-email {
        align-self: flex-start;
        margin: 12px 8px 4px;
    }

    .home-page .nav-contact-item {
        align-self: flex-start;
        margin: 12px 0 0;
    }

    .home-page .landing-page {
        min-height: 700px;
        height: 100svh;
    }

    .home-page .landing-page .hero {
        left: 30px;
        width: 58%;
    }

    .home-page .landing-page .hero-inner {
        margin-top: 55px;
    }
}

@media (max-width: 700px) {
    .home-page .site-header .navbar > .container {
        padding: 16px 20px;
    }

    .home-page .landing-header-email,
    .home-page .site-header:has(#primaryNavigation.show) + main .landing-page .hero {
        visibility: hidden;
    }

    .home-page .landing-header-email {
        display: none;
    }

    .home-page .navbar-brand {
        width: 205px;
    }

    .home-page .landing-page {
        min-height: 660px;
        height: min(100svh, 760px);
    }

    .home-page .landing-page .background-overlay {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .78) 9%, rgba(255, 255, 255, .3) 20%, rgba(5, 54, 92, .7) 70%, rgba(5, 54, 92, .82) 100%),
            linear-gradient(90deg, rgba(5, 54, 92, .78), rgba(8, 75, 122, .42));
    }

    .home-page .landing-page .hero {
        top: 80px;
        right: 20px;
        bottom: 20px;
        left: 20px;
        width: auto;
        align-items: center;
    }

    .home-page .landing-page .hero-inner {
        margin-top: 0;
    }

    .home-page .landing-page .title {
        font-size: 42px;
        letter-spacing: -1.5px;
    }

    .home-page .landing-page .description {
        font-size: 14px;
        line-height: 1.5;
    }

    .home-page .landing-page .services {
        gap: 11px;
    }

    .home-page .landing-page .service {
        padding: 0 10px;
        font-size: 10px;
    }

    .home-page .landing-page .service:first-child {
        padding-left: 0;
    }

    .home-page .landing-page .cta-row {
        margin-top: 20px;
    }
}

@media (max-width: 480px) {
    .home-page .navbar-brand {
        width: 180px;
    }

    .home-page .landing-page .title {
        font-size: 36px;
    }

    .home-page .landing-page .description {
        font-size: 13px;
    }

    .home-page .landing-page .services {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .home-page .landing-page .service {
        padding: 0;
        border: 0;
    }

    .home-page .landing-page .cta {
        padding: 12px 16px;
    }

    .home-page .landing-page .cta-secondary {
        padding: 11px 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page .landing-background-slider .background-image {
        animation: none;
        opacity: 0;
        transform: none;
    }

    .home-page .landing-background-slider .background-slide-one {
        opacity: 1;
    }
}

@media (min-width: 992px) {
    .home-page .site-header .navbar-collapse {
        position: static;
        flex: 1 1 auto;
        margin-left: 0;
    }

    .home-page .site-header .primary-nav-links {
        position: absolute;
        left: 50%;
        width: max-content;
        transform: translateX(-50%);
    }

    .home-page .site-header .farm-solutions-item {
        gap: 0;
        border: 1px solid transparent;
        border-radius: 5px;
        transition: color .2s ease, border-color .2s ease, background-color .2s ease;
    }

    .home-page .site-header .farm-solutions-item > .nav-link {
        display: flex;
        align-items: center;
        border-color: transparent !important;
        background: transparent !important;
    }

    .home-page .site-header .farm-solutions-item > .farm-solutions-toggle {
        width: 30px;
        height: auto;
        align-self: stretch;
        padding: 0 .55rem !important;
        border-color: transparent !important;
        background: transparent !important;
    }

    .home-page .site-header .farm-solutions-item > .farm-solutions-toggle.dropdown-toggle::after {
        position: static;
        display: inline-block;
        width: 0;
        height: 0;
        inset: auto;
        margin: 0;
        vertical-align: middle;
        background: none;
        border-top: .4em solid currentColor;
        border-right: .4em solid transparent;
        border-bottom: 0;
        border-left: .4em solid transparent;
        transform: none;
    }

    .home-page .site-header .farm-solutions-item:hover,
    .home-page .site-header .farm-solutions-item:focus-within {
        border-color: rgba(215, 25, 32, .55);
        color: #d71920;
        background: rgba(255, 255, 255, .42);
    }

    .home-page .site-header .farm-solutions-item:hover > .nav-link,
    .home-page .site-header .farm-solutions-item:focus-within > .nav-link {
        color: #d71920;
    }

    .home-page .site-header .farm-solutions-item:hover > .farm-solutions-toggle,
    .home-page .site-header .farm-solutions-item:focus-within > .farm-solutions-toggle {
        color: #d71920;
    }
}

.inner-page .site-header {
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    transform: none;
    background: transparent;
    box-shadow: none;
    font-family: Arial, Helvetica, sans-serif;
}

.inner-page .site-header .navbar {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.inner-page .site-header .navbar > .container {
    display: flex;
    width: 100%;
    max-width: none;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 20px 5.5vw;
}

.inner-page .navbar-brand {
    display: block;
    width: 310px;
    max-width: 31%;
    padding: 0;
}

.inner-page .navbar-brand img {
    display: block;
    width: 100%;
    max-height: 72px;
    object-fit: contain;
    object-position: left center;
    mix-blend-mode: multiply;
}

.inner-page .site-header .navbar-collapse {
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

.inner-page .site-header .primary-nav-links {
    flex: 0 1 auto;
    gap: .25rem;
    justify-content: flex-end;
}

.inner-page .site-header .primary-nav-links .nav-link {
    padding: .6rem .55rem !important;
    border-color: transparent;
    color: #176fb1;
    font-size: .83rem;
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .5);
}

.inner-page .site-header .primary-nav-links .nav-link:hover,
.inner-page .site-header .primary-nav-links .nav-link:focus-visible,
.inner-page .site-header .primary-nav-links .nav-link.active {
    border-color: rgba(215, 25, 32, .55);
    color: #d71920;
    background: rgba(255, 255, 255, .42);
}

.inner-page .site-header .primary-nav-links .farm-solutions-toggle {
    width: 30px;
    padding: 0 .55rem !important;
    font-size: 1rem;
}

.inner-page .site-header .farm-solutions-toggle.dropdown-toggle::after {
    position: static;
    display: inline-block;
    width: 0;
    height: 0;
    inset: auto;
    margin: 0;
    vertical-align: middle;
    background: none;
    border-top: .4em solid currentColor;
    border-right: .4em solid transparent;
    border-bottom: 0;
    border-left: .4em solid transparent;
    transform: none;
}

.inner-page .site-header .landing-header-email {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    margin-left: 10px;
    color: #176fb1;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    text-shadow: 0 1px 2px rgba(255, 255, 255, .5);
}

.inner-page .site-header .landing-header-email:hover,
.inner-page .site-header .landing-header-email:focus-visible {
    color: #d71920;
}

.inner-page .site-header .landing-header-email-icon {
    color: #d71920;
    font-size: 1rem;
}

.inner-page .site-header .nav-contact-item {
    flex: 0 0 auto;
    margin-left: 14px;
}

.inner-page .site-header .nav-contact {
    min-height: 42px;
    padding: .65rem .9rem;
    border-radius: 0;
    font-size: .75rem;
    letter-spacing: .025em;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
}

@media (min-width: 992px) {
    .inner-page .site-header .navbar-collapse {
        position: static;
        flex: 1 1 auto;
        margin-left: 0;
    }

    .inner-page .site-header .primary-nav-links {
        position: absolute;
        left: 50%;
        width: max-content;
        transform: translateX(-50%);
    }

    .inner-page .site-header .farm-solutions-item {
        gap: 0;
        border: 1px solid transparent;
        border-radius: 5px;
        transition: color .2s ease, border-color .2s ease, background-color .2s ease;
    }

    .inner-page .site-header .farm-solutions-item > .nav-link {
        display: flex;
        align-items: center;
        border-color: transparent !important;
        background: transparent !important;
    }

    .inner-page .site-header .farm-solutions-item > .farm-solutions-toggle {
        width: 30px;
        height: auto;
        align-self: stretch;
        padding: 0 .55rem !important;
        border-color: transparent !important;
        background: transparent !important;
    }

    .inner-page .site-header .farm-solutions-item:hover,
    .inner-page .site-header .farm-solutions-item:focus-within {
        border-color: rgba(215, 25, 32, .55);
        color: #d71920;
        background: rgba(255, 255, 255, .42);
    }

    .inner-page .site-header .farm-solutions-item:hover > .nav-link,
    .inner-page .site-header .farm-solutions-item:focus-within > .nav-link,
    .inner-page .site-header .farm-solutions-item:hover > .farm-solutions-toggle,
    .inner-page .site-header .farm-solutions-item:focus-within > .farm-solutions-toggle {
        color: #d71920;
    }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .inner-page .navbar-brand {
        width: 250px;
    }

    .inner-page .site-header .primary-nav-links .nav-link {
        padding-right: .3rem !important;
        padding-left: .3rem !important;
        font-size: .75rem;
    }

    .inner-page .site-header .landing-header-email {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .inner-page .site-header .navbar > .container {
        flex-wrap: wrap;
        padding: 18px 30px;
    }

    .inner-page .navbar-brand {
        width: 250px;
        max-width: calc(100% - 56px);
    }

    .inner-page .site-header .navbar-toggler {
        margin-left: auto;
        border-color: rgba(23, 111, 177, .45);
        background: rgba(255, 255, 255, .55);
    }

    .inner-page .site-header .navbar-collapse {
        flex-basis: 100%;
        flex-direction: column;
        align-items: stretch;
        margin: 12px 0 0;
        padding: 12px;
        border: 1px solid rgba(23, 111, 177, .12);
        border-radius: 8px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 10px 28px rgba(5, 54, 92, .16);
    }

    .inner-page .site-header .primary-nav-links {
        width: 100%;
        align-items: stretch !important;
    }

    .inner-page .site-header .primary-nav-links .nav-link {
        color: #176fb1;
        text-align: left;
    }

    .inner-page .site-header .farm-solutions-item {
        flex-wrap: wrap;
    }

    .inner-page .site-header .farm-solutions-item .dropdown-menu {
        position: static !important;
        width: 100%;
        margin-top: .1rem;
        border: 0;
        box-shadow: none;
    }

    .inner-page .site-header .nav-contact-item {
        align-self: flex-start;
        margin: 12px 0 0;
    }

    .inner-page .site-header .landing-header-email {
        align-self: flex-start;
        margin: 12px 8px 4px;
    }

    .inner-page .site-header .nav-contact {
        min-height: 42px;
    }
}

@media (max-width: 700px) {
    .inner-page .site-header .navbar > .container {
        padding: 16px 20px;
    }

    .inner-page .navbar-brand {
        width: 205px;
    }

    .inner-page .site-header .nav-contact-item {
        margin-top: 12px;
    }
}

@media (max-width: 480px) {
    .inner-page .navbar-brand {
        width: 180px;
    }

    .home-page .site-header .farm-solutions-item:hover > .farm-solutions-toggle,
    .home-page .site-header .farm-solutions-item:focus-within > .farm-solutions-toggle {
        color: #d71920;
    }
}

.inner-page .inner-hero-content {
    z-index: 3;
}

.inner-page main > .category-detail-section {
    background: #fff !important;
}

.category-service-layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(2.5rem, 6vw, 5.5rem);
}

@media (min-width: 992px) {
    .site-header.is-scrolled .farm-solutions-item {
        align-items: center;
    }

    .site-header.is-scrolled .farm-solutions-item > .nav-link,
    .site-header.is-scrolled .farm-solutions-item > .farm-solutions-toggle {
        display: flex;
        min-height: 38px;
        align-items: center;
        line-height: 1.2;
    }

    .site-header.is-scrolled .farm-solutions-item > .farm-solutions-toggle {
        width: 30px;
        height: 38px;
        flex: 0 0 30px;
        align-self: auto;
        justify-content: center;
        padding: 0 !important;
    }

    .site-header.is-scrolled .farm-solutions-item > .farm-solutions-toggle.dropdown-toggle::after {
        position: static;
        display: block;
        width: 0;
        height: 0;
        margin: 0;
        vertical-align: middle;
        background: none;
        border-top: .4em solid currentColor;
        border-right: .35em solid transparent;
        border-bottom: 0;
        border-left: .35em solid transparent;
        transform: none;
    }
}

.site-header .navbar .nav-link,
.site-header .navbar .dropdown-item,
.site-header .navbar .landing-header-email {
    font-family: var(--font-body);
}

.category-service-image {
    position: relative;
    z-index: 0;
    aspect-ratio: 1.08;
    margin: 0;
    isolation: isolate;
}

.category-service-image::before {
    position: absolute;
    z-index: -1;
    inset: .9rem -.9rem -.9rem .9rem;
    background: var(--color-blue);
    clip-path: polygon(12% 0, 100% 0, 100% 87%, 87% 100%, 0 100%, 0 12%);
    content: "";
}

.category-service-image img {
    display: block;
    width: 100%;
    height: 100%;
    clip-path: polygon(12% 0, 100% 0, 100% 88%, 88% 100%, 0 100%, 0 12%);
    object-fit: cover;
    object-position: center;
}

.category-service-copy {
    max-width: 650px;
}

.category-service-copy > .eyebrow {
    margin-bottom: .75rem;
    color: var(--color-red);
}

.category-service-copy h2 {
    margin: 0 0 1rem;
    color: #15364b;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    letter-spacing: -.055em;
    line-height: 1.08;
    text-wrap: balance;
}

.category-service-copy > p:not(.eyebrow) {
    margin: 0;
    color: var(--ink-muted);
    font-size: 1rem;
    line-height: 1.8;
}

.category-service-list {
    display: grid;
    gap: .6rem;
    margin: 1.25rem 0 1.5rem;
    padding: 0;
    list-style: none;
}

.category-service-list li {
    position: relative;
    padding-left: 1.35rem;
    color: var(--color-blue-deep);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.55;
}

.category-service-list li::before {
    position: absolute;
    top: .62em;
    left: 0;
    width: .45rem;
    height: .45rem;
    background: var(--color-red);
    content: "";
    transform: rotate(45deg);
}

.category-order-button {
    margin-top: 1.5rem;
}

.category-service-list + .category-order-button {
    margin-top: 0;
}

@media (max-width: 767.98px) {
    .category-service-layout {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .category-service-image {
        width: min(100% - .9rem, 560px);
        aspect-ratio: 1.3;
    }

    .category-service-image::before {
        inset: .65rem -.65rem -.65rem .65rem;
    }
}

@media (max-width: 480px) {
    .category-service-copy h2 {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }
}