@property --button-gradient-start-stop {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 0%;
}

@property --button-gradient-end {
    syntax: "<color>";
    inherits: false;
    initial-value: #d9c07c;
}

@property --button-outline-gradient-start {
    syntax: "<color>";
    inherits: false;
    initial-value: rgba(220, 175, 158, 0);
}

@property --button-outline-gradient-end {
    syntax: "<color>";
    inherits: false;
    initial-value: rgba(217, 192, 124, 0);
}

@property --header-contact-gradient-start {
    syntax: "<color>";
    inherits: false;
    initial-value: #d9c07c;
}

@property --header-contact-gradient-end {
    syntax: "<color>";
    inherits: false;
    initial-value: #d9c07c;
}

/* Base
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    -moz-osx-font-smoothing: grayscale;
}

body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background: #eaede2;
    color: #658086;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

body>main {
    width: 100%;
    flex: 1 0 auto;
}

body>.footer {
    width: 100%;
    flex: 0 0 auto;
    margin-top: auto;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

svg {
    vertical-align: middle;
}

address {
    font-style: normal;
}

iframe {
    max-width: 100%;
    border: 0;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
    content: none;
}

a,
a::before,
a::after,
button,
[type="submit"],
[type="button"] {
    outline: none;
    transition: all .3s;
}

a {
    color: inherit;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.heading {
    margin: 0;
    color: #1c4954;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-weight: 500;
}

.heading--h1 {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 68px;
    font-style: normal;
    font-weight: 500;
    line-height: 68px;
}

.heading--h2 {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    font-size: 56px;
    line-height: 1;
}

.heading--h3 {
    font-size: 44px;
    line-height: 48px;
}

.heading--h4 {
    font-size: 28px;
    line-height: 32px;
}

p {
    margin: 0;
}

.text-intro {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
    color: #658086;
    font-family: "richmond-text", Georgia, serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;

}

.section--routes .text-intro {
    max-width: 630px;
    margin: auto;
}

.text-intro--large {
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 36px;
}

.hero-panel .text-intro--black {
    color: #000;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #000;
}

.rich-text>*+* {
    margin-top: 16px;
}

.rich-text>:first-child {
    text-box-trim: trim-start;
    text-box-edge: cap alphabetic;
}

.rich-text>:last-child {
    text-box-trim: trim-end;
    text-box-edge: cap alphabetic;
}

.rich-text>:only-child {
    text-box-trim: trim-both;
}

/* Shared components
   ========================================================================== */

.eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    width: fit-content;
    padding: 4px 12px;
    border-radius: 999px;
    background: #d6dcc6;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    color: #1C4954;
}

.insight-card__copy .eyebrow {
    font-weight: 500;
}

.eyebrow--light {
    background: #fff;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: fit-content;
    padding: 13px 16px 13px 24px;
    border: 0;
    border-radius: 48px;
    color: #1c4954;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
}

.route-card__content .eyebrow, .method__copy .eyebrow {
    font-weight: 500;
}

.button:hover,
.button:focus-visible {
    padding-right: 20px;
}

.button--primary {
    --button-gradient-start-stop: 0%;
    --button-gradient-end: #d9c07c;
    background: linear-gradient(90deg, #dcaf9e var(--button-gradient-start-stop), var(--button-gradient-end) 100%);
    color: #1c4954;
    transition: padding-right .3s ease, --button-gradient-start-stop .3s ease, --button-gradient-end .3s ease, color .3s ease;
}

.button--dark {
    background: #1c4954;
    color: #fff;
}

.button--outline {
    --button-outline-gradient-start: rgba(220, 175, 158, 0);
    --button-outline-gradient-end: rgba(217, 192, 124, 0);
    background: linear-gradient(90deg, var(--button-outline-gradient-start) 0%, var(--button-outline-gradient-end) 100%);
    box-shadow: inset 0 0 0 1.5px #dcaf9e;
    color: #1c4954;
    transition: padding-right .3s ease, --button-outline-gradient-start .3s ease, --button-outline-gradient-end .3s ease, box-shadow .3s ease, color .3s ease;
}

.button--primary:hover,
.button--primary:focus-visible {
    --button-gradient-start-stop: 50%;
    --button-gradient-end: #caaa51;
    color: #143b45;
}

.button--outline:hover,
.button--outline:focus-visible {
    --button-outline-gradient-start: #dcaf9e;
    --button-outline-gradient-end: #d9c07c;
    padding-right: 16px;
    box-shadow: none;
    color: #fff;
}

.button--dark:hover,
.button--dark:focus-visible {
    background: #143b45;
    color: #fff;
}

.button__icon {
    display: block;
    width: 15px;
    height: 14px;
    flex: 0 0 15px;
    transition: transform .3s ease;
}

.button:hover .button__icon,
.button:focus-visible .button__icon {
    transform: translateX(4px);
}

.button--dark .button__icon {
    filter: brightness(0) invert(1);
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Header
   ========================================================================== */

.header {
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;
    width: 100%;
    color: #1c4954;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    transition: background-color .3s ease, box-shadow .3s ease;
}

.header.is-scrolled {
    background: #f7f5f1;
    box-shadow: 0 8px 24px rgba(20, 59, 69, .08);
}

.admin-bar .header {
    top: 32px;
}

@media (prefers-reduced-motion: reduce) {
    .header {
        transition: none;
    }
}

.header__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 92px;
    padding: 16px 30px;
}

.header__brand,
.site-logo,
.site-logo__image {
    display: block;
}

.site-logo__image {
    width: auto;
    max-width: 272px;
    height: 61px;
}

.header__navigation,
.header__navigation .menu {
    display: flex;
    align-items: center;
}

.header__navigation {
    gap: 30px;
}

.header__navigation .menu {
    gap: 38px;
    margin: 0;
    list-style: none;
}

.header__navigation a {
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.header__navigation .menu a:focus-visible {
    border-radius: 2px;
    outline: 2px solid #d9c07c;
    outline-offset: 6px;
}

.header__contact {
    --header-contact-gradient-start: #d9c07c;
    --header-contact-gradient-end: #d9c07c;
    display: inline-flex;
    align-items: center;
    padding: 6px 20px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--header-contact-gradient-start), var(--header-contact-gradient-end));
    transition:
        --header-contact-gradient-start .4s ease-in-out,
        --header-contact-gradient-end .4s ease-in-out,
        padding .4s ease-in-out,
        color .4s ease-in-out;
}

.header__contact:hover {
    --header-contact-gradient-start: #99a872;
    --header-contact-gradient-end: #6a7649;
    padding: 8px 24px;
    color: #fff;
}

.header__contact:focus-visible {
    outline: 2px solid #1c4954;
    outline-offset: 3px;
}

.menu-toggle {
    display: none;
}

.menu-overlay {
    display: none;
}

/* Breadcrumbs
   ========================================================================== */

.breadcrumbs {
    padding: 20px 0 0 0;
    color: #658086;
}

.section--hero>.breadcrumbs .breadcrumbs__inner {
    padding-right: 44px;
    padding-left: 44px;
}

.breadcrumbs__list {
    overflow-x: auto;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    scrollbar-width: none;
    white-space: nowrap;
}

.breadcrumbs__list::-webkit-scrollbar {
    display: none;
}

.breadcrumbs__list a {
    color: #658086;
}

.breadcrumbs__list a:hover,
.breadcrumbs__list a:focus-visible,
.breadcrumbs__list .breadcrumb_last {
    color: #1c4954;
}

.breadcrumbs__list a:focus-visible {
    border-radius: 2px;
    outline: 2px solid #d9c07c;
    outline-offset: 3px;
}

/* General sections
   ========================================================================== */

.container {
    width: calc(100% - 120px);
    max-width: 1688px;
    margin-right: auto;
    margin-left: auto;
}

.container--header {
    width: 100%;
    max-width: 1841px;
}

.container--shell {
    width: calc(100% - 32px);
    max-width: 1800px;
}

.container--narrow {
    max-width: 1401px;
}

.container--text {
    max-width: 1125px;
}

.container--conclusion {
    max-width: 1483px;
}

.section {
    position: relative;
    overflow: hidden;
}

.section[id] {
    scroll-margin-top: 16px;
}

.admin-bar .section[id] {
    scroll-margin-top: 48px;
}

.section--page-content {
    padding: 72px 0;
    background: #fff;
}

.page-content__title {
    margin-bottom: 40px;
}

.page-content__body {
    color: #658086;
}

.page-content__body h2,
.page-content__body h3,
.page-content__body h4,
.page-content__body h5,
.page-content__body h6 {
    margin-top: 32px;
    margin-bottom: 16px;
}

.page-content__body h2 {
    font-size: 32px;
    line-height: 40px;
}

.page-content__body h3 {
    font-size: 24px;
    line-height: 32px;
}

.page-content__body a {
    color: #1c4954;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.page-content__body ul,
.page-content__body ol {
    padding-left: 24px;
}

.media-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 320px;
    background: linear-gradient(135deg, #d6dcc6 0%, #ebe7e1 48%, #e0e7e9 100%);
}

/* Hero
   ========================================================================== */

.section--hero {
    padding: 108px 0 16px;
    background: #eaede2;
}

.section--hero--background-light {
    background: #f7f5f1;
}

.section--hero--wide {
    padding: 92px 0 0;
}

.hero-panel {
    display: grid;
    grid-template-columns: minmax(0, 604px) minmax(0, 1fr);
    overflow: hidden;
    border-radius: 32px;
    background: #fff;
}

.hero-panel__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 52px;
    padding: 52px 44px;
}

.hero-panel__copy {
    display: grid;
    gap: 32px;
}

.hero-panel__main {
    display: grid;
    gap: 52px;
}

.hero-panel__text {
    display: grid;
    gap: 32px;
    max-width: 510px;
    color: #658086;
}

.hero-panel__text .text-intro {
    color: inherit;
}

.hero-panel__steps {
    gap: 12px;
    padding-top: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}

.hero-panel__steps .route-steps__item {
    padding: 8px 14px;
    font-weight: 500;
}

.hero-panel__steps .route-steps__arrow img {
    width: 13px;
    height: 12px;
}

.hero-panel__media {
    position: relative;
    min-width: 0;
    min-height: 0;
    margin: 16px 16px 16px 0;
    overflow: hidden;
    border-radius: 16px;
}

.hero-panel__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section--hero--wide .hero-panel {
    grid-template-columns: minmax(0, 59%) minmax(0, 1fr);
    min-height: 514px;
}

.section--hero--wide .hero-panel__content {
    gap: 52px;
    padding: 72px 44px;
}

.section--hero--wide .hero-panel__copy {
    gap: 32px;
}

.section--hero--wide .hero-panel__main {
    gap: 52px;
}

.section--hero--wide .hero-panel__text {
    max-width: 720px;
}

.section--hero--wide .hero-panel__media {
    min-height: 482px;
}

.hero-panel--image-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 604px);
}

.section--hero--wide .hero-panel--image-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 58.7%);
}

.hero-panel--image-left .hero-panel__content {
    order: 2;
}

.hero-panel--image-left .hero-panel__media {
    order: 1;
    margin: 16px 0 16px 16px;
}

/* Signals
   ========================================================================== */

.section--signals {
    padding: 92px 0 0 0;
    background: #eaede2;
}

.signals {
    display: grid;
    grid-template-columns: 424px minmax(0, 536px);
    justify-content: space-between;
    gap: 80px;
    margin-bottom: 72px;
}

.signals__intro {
    display: grid;
    align-content: start;
    gap: 28px;
}

.signal-list {
    display: grid;
    gap: 0;
    margin: 0;
    list-style: none;
}

.signal-list__item {
    display: grid;
    grid-template-columns: 36px 1fr;
    align-items: center;
    gap: 16px;
    min-height: 70px;
    padding: 14px 0;
    border-bottom: 1px solid #E4E0DA;
    font-size: 20px;
    line-height: 26px;
    color: #1C4954;
}

.signal-list__item:first-child {
    border-top: 1px solid #E4E0DA;
}

.signal-list__icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
}

.signal-list__icon img {
    display: block;
    width: 14px;
    height: 12px;
}

.conclusion-panel {
    display: grid;
    grid-template-columns: minmax(0, 750px) auto;
    align-items: end;
    justify-content: space-between;
    gap: 48px;
    min-height: 269px;
    padding: 32px 72px 92px 32px;
    border-radius: 8px;
    background: linear-gradient(180deg, #fff 20%, #eaede2 100%);
}

.conclusion-panel p {
    color: #658086;
}

.conclusion-panel__copy {
    display: grid;
    gap: 24px;
}

.conclusion-panel__copy p {
    max-width: 720px;
}

/* Routes
   ========================================================================== */

.section--routes {
    padding: 72px 0;
    background: #fff;
}

.section-heading {
    display: grid;
    gap: 24px;
    margin-bottom: 52px;
}

.section-heading--centered {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.route-list {
    display: grid;
    gap: 24px;
}

.route-card {
    display: grid;
    grid-template-columns: minmax(0, 638px) minmax(0, 1fr);
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(94deg, #dcaf9e 3.39%, #d9c07c 9.74%, #eaede2 16.1%, #eaede2 56.35%);
}

.route-card__media {
    position: relative;
    min-width: 0;
    min-height: 0;
    margin: 10px;
    overflow: hidden;
    border-radius: 8px;
}

.route-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.route-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 52px;
    padding: 32px 32px 52px;
}

.route-card__copy {
    display: grid;
    gap: 24px;
}

.route-card__copy .heading,
.route-card__copy p {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}

.route-card__copy p {
    max-width: 530px;
}

.route-steps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding-top: 4px;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.route-steps__item {
    padding: 6px 12px;
    border-radius: 999px;
    background: #d6dcc6;
    color: #1C4954;
}

.route-steps__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.route-steps__arrow img {
    display: block;
    width: 15px;
    height: 14px;
}

/* Guidance routes
   ========================================================================== */

.section--guidance-routes {
    padding: 92px 0 72px;
    background: #eaede2;
}

.guidance-routes__heading {
    display: grid;
    justify-items: center;
    gap: 52px;
    margin-bottom: 72px;
    text-align: center;
}

.guidance-routes__heading .text-intro {
    max-width: 872px;
}

.guidance-route-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.guidance-route-card {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 10px;
    border-radius: 16px;
    background: #fff;
}

.guidance-route-card__header {
    display: grid;
    gap: 32px;
    padding: 22px 22px 0;
}

.guidance-route-card__title-group {
    display: grid;
    justify-items: start;
    gap: 24px;
}

.guidance-route-card__label {
    font-weight: 500;
}

.guidance-route-card__intro {
    color: #1c4954;
}

.guidance-route-card__details {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 52px;
    padding: 32px;
    border-radius: 12px;
    background: linear-gradient(180deg, #f7f5f1 0%, #fff 100%);
}

.guidance-route-card__questions {
    display: grid;
    gap: 32px;
}

.guidance-route-card__question {
    display: grid;
    gap: 0;
}

.guidance-route-card__question h4 {
    color: #1c4954;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.guidance-route-card__question p {
    color: #658086;
}

.guidance-route-card__duration {
    margin-top: auto;
    color: #99a872;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    text-align: right;
}

/* Method
   ========================================================================== */

.section--method {
    padding: 72px 0;
    background: linear-gradient(180deg, #fff 0%, #f7f5f1 100%);
}

.section--method--light {
    background: #f7f5f1;
}

.method {
    display: grid;
    grid-template-columns: minmax(0, 600px) minmax(0, 536px);
    gap: 72px;
}

.method--image-right {
    grid-template-columns: minmax(0, 536px) minmax(0, 1fr);
}

.method--image-right .method__content {
    order: 1;
}

.method--image-right .method__media {
    order: 2;
}

.method__media {
    overflow: hidden;
    border-radius: 16px;
}

.method__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.method__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    padding: 40px 0;
}

.method__copy {
    display: grid;
    gap: 24px;
}

.method__copy>.heading,
.method__text p {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}

.method__text {
    display: grid;
    gap: 20px;
    max-width: 510px;
}

.method-points {
    display: grid;
    width: 100%;
    max-width: 510px;
    margin-top: 28px;
}

.method-point {
    display: grid;
    gap: 4px;
    padding: 12px 0;
    border-bottom: 1px solid #E4E0DA;
}

.method-point:first-child {
    padding-top: 0;
}

.method-point__title {
    color: #1c4954;
    font-family: "richmond-text", Georgia, serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
}

.method-point p {
    color: #1c4954;
}

/* About
   ========================================================================== */

.section--about {
    padding: 16px 0;
    background: #f7f5f1;
}

.section--about--section-green {
    background: #eaede2;
}

.section--about--all-white,
.section--about--panel-light,
.section--about--panel-green {
    background: #fff;
}

.about-panel {
    display: grid;
    grid-template-columns: minmax(0, 649px) minmax(0, 690px);
    align-items: stretch;
    justify-content: space-between;
    overflow: hidden;
    border-radius: 32px;
    background: #fff;
    gap: 40px;
}

.about-panel--image-height-tall {
    grid-template-columns: minmax(0, 734px) fit-content(616px);
    min-height: 525px;
}

.about-panel--image-height-tall.about-panel--image-left {
    grid-template-columns: fit-content(616px) minmax(0, 734px);
}

.about-panel--image-height-tall .about-panel__content {
    justify-content: center;
}

.about-panel--image-height-tall .about-panel__media {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 493px;
}

.about-panel--image-height-tall .about-panel__image {
    position: static;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    border-radius: 16px;
    object-fit: contain;
}

.section--about--panel-light .about-panel {
    background: #f7f5f1;
}

.section--about--panel-green .about-panel {
    background: #eaede2;
}

.about-panel__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 52px;
    padding: 32px 0 32px 44px;
}

.about-panel__copy {
    display: grid;
    gap: 32px;
    width: 100%;
}

.about-panel__copy .heading--h2 {
    font-size: 44px;
    line-height: 48px;
}

.about-panel__copy .eyebrow {
    background-color: #EAEDE2;
    font-weight: 500;
}

.section--about--panel-green .about-panel__copy .eyebrow {
    background-color: #fff;
}

.about-panel__copy .rich-text {
    display: block;
}

.about-panel__media {
    position: relative;
    min-width: 0;
    min-height: 0;
    margin: 16px 16px 16px 0;
    overflow: hidden;
    border-radius: 16px;
}

.about-panel__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-panel--image-left .about-panel__content {
    order: 2;
    padding: 32px 44px 32px 0;
}

.about-panel--image-left .about-panel__media {
    order: 1;
    margin: 16px 0 16px 16px;
}

/* Testimonials
   ========================================================================== */

.section--testimonials {
    padding: 72px 0;
    background: linear-gradient(180deg, #f7f5f1 0%, #fff 100%);
}

.section-title-center {
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

.testimonials-heading {
    display: grid;
    gap: 52px;
}

.testimonial-slider {
    display: grid;
    gap: 32px;
    margin-top: 52px;
}

.testimonial-slider__toolbar {
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-progress {
    display: grid;
    grid-template-columns: auto 320px auto;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 12px;
}

.slider-progress__track {
    position: relative;
    display: block;
    height: 5px;
    border-radius: 48px;
    background: #ebe7e1;
    cursor: grab;
    touch-action: none;
}

.slider-progress__track::before {
    position: absolute;
    inset: -12px 0;
    content: "";
}

.slider-progress__track.is-dragging {
    cursor: grabbing;
}

.slider-progress__track:focus-visible {
    outline: 2px solid #1c4954;
    outline-offset: 8px;
}

.slider-progress__value {
    position: absolute;
    inset: 0 auto 0 0;
    width: 25%;
    border-radius: 48px;
    background: linear-gradient(90deg, #dcaf9e 0%, #d9c07c 100%);
    pointer-events: none;
    will-change: transform;
}

.testimonial-slider__toolbar .carousel-controls {
    display: none;
}

.testimonial-slider__track {
    display: grid;
    grid-auto-columns: minmax(520px, 536px);
    grid-auto-flow: column;
    gap: 24px;
    width: calc(100% - 120px);
    max-width: 1096px;
    margin: 0 auto;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    cursor: grab;
    touch-action: pan-y;
    will-change: scroll-position;
}

.testimonial-slider__track.is-dragging {
    cursor: grabbing;
    user-select: none;
}

.testimonial-slider__track:focus-visible {
    outline: 2px solid #1c4954;
    outline-offset: 8px;
}

.testimonial-slider__track::-webkit-scrollbar {
    display: none;
}

.testimonial-card {
    display: grid;
    align-content: start;
    gap: 24px;
    margin: 0;
    padding: 32px;
}

.testimonial-card__quote {
    color: #1c4954;
    font-family: "richmond-text", Georgia, serif;
    font-size: 28px;
    font-style: normal;
    line-height: 32px;
}

.testimonial-card p:last-child {
    color: #658086;
    font-size: 16px;
    line-height: 24px;
}

/* Insights
   ========================================================================== */

.section--insights {
    padding: 72px 0 0;
    background: #fff;
}

.insights-heading {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 48px;
    margin-bottom: 48px;
}

.insights-heading__copy {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: 700px;
}

.insights-heading__copy>div {
    display: grid;
    gap: 16px;
}

.carousel-controls {
    display: flex;
    gap: 8px;
}

.carousel-controls[hidden] {
    display: none;
}

.carousel-control {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: #eaede2;
    color: #1c4954;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 20px;
    cursor: pointer;
}

.carousel-control:hover,
.carousel-control:focus-visible {
    background: #eaede2;
    color: #1c4954;
}

.carousel-control img {
    display: block;
    width: 21px;
    height: 20px;
    transition: transform .3s ease;
}

.carousel-control[data-carousel-button="previous"]:hover img,
.carousel-control[data-carousel-button="previous"]:focus-visible img,
.carousel-control[data-slider-button="previous"]:hover img,
.carousel-control[data-slider-button="previous"]:focus-visible img {
    transform: translateX(-4px);
}

.carousel-control[data-carousel-button="next"]:hover img,
.carousel-control[data-carousel-button="next"]:focus-visible img,
.carousel-control[data-slider-button="next"]:hover img,
.carousel-control[data-slider-button="next"]:focus-visible img {
    transform: translateX(4px);
}

.insight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.insight-card {
    display: flex;
    min-height: 570px;
    flex-direction: column;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(148deg, #dcaf9e 0.85%, #d9c07c 8.84%, #eaede2 16.82%, #eaede2 67.4%);
}

.insight-card__media {
    display: block;
    height: 250px;
    min-height: 250px;
    margin: 10px 10px 0;
    overflow: hidden;
    border-radius: 12px;
}

.insight-card__image {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
}

.insight-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 52px;
    padding: 28px 24px 24px;
}

.insight-card__copy {
    display: grid;
    gap: 18px;
}

.insight-card__copy .heading a {
    color: inherit;
}

/* Single insight
   ========================================================================== */

.single-insight {
    background: #fff;
}

.single-insight__header,
.single-insight__featured {
    background: #eaede2;
}

.single-insight__header {
    padding: 160px 0 0;
}

.single-insight__header-inner {
    display: grid;
    justify-items: center;
    gap: 52px;
    text-align: center;
}

.single-insight__title {
    width: 100%;
    text-wrap: balance;
}

.single-insight__header-details {
    display: grid;
    justify-items: center;
    gap: 32px;
    width: 100%;
}

.single-insight__summary {
    max-width: 822px;
}

.single-insight__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    color: #658086;
}

.single-insight__reading-time {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 20px;
}

.single-insight__reading-time img {
    flex: 0 0 auto;
}

.single-insight__featured {
    padding: 32px 0;
}

.single-insight__featured-inner {
    height: 552px;
    overflow: hidden;
    border-radius: 16px;
}

.single-insight__featured-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-insight__content {
    padding: 72px 0;
    background: #fff;
}

.single-insight__article {
    display: grid;
    gap: 52px;
    max-width: 1010px;
}

.article-block--text {
    display: grid;
    gap: 32px;
}

.article-block__text {
    color: #658086;
}

.article-block--text-intro .article-block__text>p:first-child {
    color: #1c4954;
    font-family: "richmond-text", Georgia, serif;
    font-size: 20px;
    line-height: 26px;
}

.article-block__text h2,
.article-block__text h3,
.article-block__text h4 {
    margin-top: 32px;
    color: #1c4954;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-weight: 500;
}

.article-block__text h2 {
    font-size: 28px;
    line-height: 32px;
}

.article-block__text h3,
.article-block__text h4 {
    font-size: 24px;
    line-height: 32px;
}

.article-block__text ul,
.article-block__text ol {
    padding-left: 24px;
}

.article-block__text a {
    color: #d9c07c;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.article-read-more {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #1c4954;
    font-size: 14px;
    line-height: 20px;
}

.article-read-more a {
    color: #d9c07c;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.article-block--button {
    display: flex;
}

.article-gallery {
    display: grid;
    gap: 20px;
}

.article-gallery--1 {
    height: 508px;
}

.article-gallery--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 350px;
}

.article-gallery--3 {
    grid-template-columns: minmax(0, 642px) minmax(0, 1fr);
    grid-template-rows: repeat(2, 1fr);
    height: 508px;
}

.article-gallery--3 .article-gallery__item:first-child {
    grid-row: 1 / -1;
}

.article-gallery__item {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 16px;
}

.article-gallery__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-share {
    display: grid;
    justify-items: center;
    gap: 32px;
    padding: 52px 24px;
    background: #fff;
}

.article-share__title {
    color: #1c4954;
    font-family: "richmond-text", Georgia, serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
}

.article-share__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.article-share__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 18px 12px 12px;
    border: 1.5px solid #dcaf9e;
    border-radius: 16px;
    color: #1c4954;
    font-size: 14px;
    line-height: 1;
}

.article-share__link:hover,
.article-share__link:focus-visible {
    background: #eaede2;
}

.article-share__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.section--related-insights {
    padding-bottom: 72px;
}

.section--related-insights .insights-heading {
    align-items: end;
    margin-bottom: 52px;
}

.section--related-insights .carousel-control {
    width: 60px;
    height: 60px;
}

.section--related-insights .insight-card {
    min-height: 526px;
}

.section--related-insights .insight-card__media {
    height: 230px;
    min-height: 230px;
}

.section--related-insights .insight-card__content {
    gap: 32px;
    padding: 16px 24px 32px;
}

.section--related-insights .insight-card__copy {
    gap: 24px;
}

/* Blog archive
   ========================================================================== */

.blog-archive {
    background: #fff;
}

.blog-archive__hero {
    padding: 160px 0 52px;
    background: #eaede2;
}

.blog-archive__hero-inner {
    display: grid;
    gap: 52px;
}

.blog-archive__introduction {
    display: grid;
    grid-template-columns: minmax(0, 760px) minmax(0, 1fr);
    align-items: end;
    gap: 48px;
}

.blog-archive__copy {
    display: grid;
    gap: 16px;
}

.blog-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.blog-filters__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 16px;
    border-radius: 999px;
    background: #fff;
    color: #1c4954;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}

.blog-filters__item:hover,
.blog-filters__item:focus-visible,
.blog-filters__item.is-active {
    background: #99a872;
    color: #fff;
}

.blog-archive__content {
    padding: 72px 0 92px;
    background: #fff;
}

.blog-archive__grid .insight-card {
    min-height: 526px;
}

.blog-archive__grid .insight-card__media {
    height: 230px;
    min-height: 230px;
}

.blog-archive__grid .insight-card__content {
    gap: 32px;
    padding: 16px 24px 32px;
}

.blog-archive__grid .insight-card__copy {
    gap: 24px;
}

.blog-card__heading {
    display: grid;
    gap: 16px;
}

.blog-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 24px;
    margin-top: 72px;
    color: #1c4954;
}

.blog-pagination__direction {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    font-weight: 500;
}

.blog-pagination__direction--next {
    justify-self: end;
}

.blog-pagination__direction.is-disabled {
    opacity: .4;
}

.blog-pagination__arrow,
.blog-pagination .page-numbers {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #eaede2;
}

.blog-pagination__arrow img {
    width: 21px;
    height: 20px;
}

.blog-pagination__pages {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.blog-pagination .page-numbers.current {
    background: #d9c07c;
}

.blog-pagination a:hover .blog-pagination__arrow,
.blog-pagination a:focus-visible .blog-pagination__arrow,
.blog-pagination a.page-numbers:hover,
.blog-pagination a.page-numbers:focus-visible {
    background: #1c4954;
    color: #fff;
}

.blog-pagination a:hover .blog-pagination__arrow img,
.blog-pagination a:focus-visible .blog-pagination__arrow img {
    filter: brightness(0) invert(1);
}

.blog-archive__empty {
    display: grid;
    justify-items: start;
    gap: 32px;
}

/* Free cards
   ========================================================================== */

.section--free-cards {
    padding: 72px 0;
    background: #fff;
}

.free-cards__heading {
    display: grid;
    gap: 40px;
    max-width: 880px;
    margin-bottom: 52px;
}

.free-cards__introduction {
    display: grid;
    gap: 16px;
}

.section--free-cards .text-intro {
    color: #1c4954;
}

.free-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.section--text-one-column {
    padding: 92px 0;
}

.section--text-one-column--white {
    background: #fff;
}

.section--text-one-column--gradient {
    background: linear-gradient(180deg, #eaede2 0%, #fff 100%);
}

.section--text-one-column--gradient-light {
    background: linear-gradient(180deg, #f7f5f1 0%, #fff 100%);
}

.section--text-one-column--heading-h4 {
    padding-top: 84px;
}

.text-one-column {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.text-one-column--narrow {
    max-width: 872px;
}

.text-one-column--wide {
    max-width: 1096px;
}

.text-one-column--center {
    align-items: center;
    text-align: center;
}

.text-one-column--center .text-one-column__copy {
    justify-items: center;
}

.text-one-column--left {
    align-items: flex-start;
    text-align: left;
}

.text-one-column__copy {
    display: grid;
    gap: 32px;
    width: 100%;
}

.text-one-column__text,
.text-one-column__after-steps {
    color: #658086;
}

.text-one-column__steps {
    padding-top: 0;
    font-weight: 500;
}

.text-one-column>.button {
    margin-top: 20px;
}

/* Call to action
   ========================================================================== */

.section--cta {
    padding: 16px 0;
    background: #fff;
}

.cta-panel {
    display: grid;
    grid-template-columns: minmax(0, 560px) minmax(0, 600px);
    align-items: start;
    justify-content: space-between;
    gap: 64px;
    padding: 112px 92px;
    border-radius: 32px;
    background: #1c4954;
}

.cta-panel .heading {
    color: #eaede2;
    /* text-wrap: balance; */
}


.cta-panel__content {
    display: grid;
    justify-items: start;
    gap: 52px;
    color: #fff;
}

.cta-panel__content .text-intro {
    max-width: 533px;
    color: #eaede2;
}

/* Error page
   ========================================================================== */

.error-page {
    background: #eaede2;
}

.error-page__section {
    padding: 140px 0 72px;
}

.error-page__panel {
    display: grid;
    min-height: 560px;
    place-items: center;
    padding: 92px;
    border-radius: 32px;
    background: #fff;
}

.error-page__content {
    display: grid;
    justify-items: center;
    gap: 32px;
    width: 100%;
    max-width: 900px;
    text-align: center;
}

.error-page__code {
    color: #d9c07c;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 144px;
    font-weight: 500;
    line-height: .8;
}

.error-page__title {
    width: 100%;
    text-wrap: balance;
}

.error-page__text {
    max-width: 640px;
    color: #658086;
}

/* Thank-you page
   ========================================================================== */

.thank-you-page {
    background: #eaede2;
}

.thank-you-page__hero {
    padding: 92px 0 0;
}

.thank-you-page__panel {
    display: flex;
    min-height: 464px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 52px;
    padding: 92px 156px;
    border-radius: 32px;
    background: #fff;
}

.thank-you-page__hero-copy {
    display: grid;
    justify-items: center;
    gap: 52px;
    width: 100%;
    text-align: center;
}

.thank-you-page__hero-copy .heading {
    width: 100%;
    text-wrap: balance;
}

.thank-you-page__message {
    display: grid;
    justify-items: center;
    gap: 32px;
    width: 100%;
}

.thank-you-page__message .text-intro {
    max-width: 1000px;
    text-wrap: balance;
}

.thank-you-page__text {
    max-width: 750px;
    color: #658086;
}

.thank-you-page__information {
    padding: 72px 0;
}

.thank-you-page__information-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 488px));
    justify-content: space-between;
    gap: 120px;
}

.thank-you-page__column {
    display: grid;
    align-content: start;
    gap: 32px;
}

.thank-you-page__column-text {
    color: #658086;
}

/* Contact page
   ========================================================================== */

.contact-page__intro {
    padding: 160px 0 72px;
    background: #fff;
}

.contact-page__intro-inner {
    display: grid;
    justify-items: center;
    gap: 52px;
    text-align: center;
}

.contact-page__intro-copy {
    display: grid;
    justify-items: center;
    gap: 32px;
    width: 100%;
}

.contact-page__main {
    padding: 92px 0 72px;
    background: #eaede2;
}

.contact-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 536px) minmax(0, 760px);
    align-items: start;
    gap: 24px;
}

.contact-page__details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 52px;
}

.contact-page__data {
    width: 100%;
}

.contact-page__data-row {
    display: flex;
    align-items: baseline;
    padding: 12px 0;
}

.contact-page__data-row dt {
    width: 72px;
    flex: 0 0 72px;
    color: #658086;
    font-size: 14px;
    line-height: 20px;
}

.contact-page__data-row dd {
    min-width: 0;
    flex: 1;
    color: #1c4954;
    font-size: 16px;
    line-height: 24px;
}

.contact-page__data-row a:hover,
.contact-page__data-row a:focus-visible {
    color: #2f5e6a;
}

.contact-page__image {
    width: 420px;
    height: 399px;
    overflow: hidden;
    border-radius: 16px;
}

.contact-page__image-element {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-page__form-card {
    display: grid;
    gap: 24px;
    padding: 48px;
    border-radius: 16px;
    background: #fff;
}

.contact-page__form-heading {
    display: grid;
    gap: 12px;
}

.contact-page__form-eyebrow {
    color: #ab8b36;
    font-size: 12px;
    line-height: 20px;
}

.contact-page__form .gform_wrapper,
.contact-page__form .gform_wrapper form,
.contact-page__form .gform_wrapper .gform_body {
    margin: 0;
}

.contact-page__form .gform_wrapper .gform_fields {
    column-gap: 24px;
    row-gap: 24px;
}

.contact-page__form .gform_wrapper .gfield {
    position: relative;
    margin: 0;
}

.contact-page__form .gform_wrapper .gfield_label,
.contact-page__form .gform_wrapper .ginput_complex label {
    display: block;
    margin: 0 0 12px;
    color: #1c4954;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

.contact-page__form .gform_wrapper input[type="text"],
.contact-page__form .gform_wrapper input[type="email"],
.contact-page__form .gform_wrapper input[type="tel"],
.contact-page__form .gform_wrapper input[type="number"],
.contact-page__form .gform_wrapper input[type="url"],
.contact-page__form .gform_wrapper select,
.contact-page__form .gform_wrapper textarea {
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 16px;
    border: 1px solid #ededed;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
    color: #1c4954;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.contact-page__form .gform_wrapper textarea {
    height: 92px !important;
    min-height: 92px !important;
    resize: vertical;
}

.contact-page__form .gform_wrapper input::placeholder,
.contact-page__form .gform_wrapper textarea::placeholder {
    color: #afafaf !important;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    opacity: 1 !important;
}

.contact-page__form .gform_wrapper select {
    height: 56px !important;
    min-height: 56px !important;
    appearance: none !important;
    padding: 15px 48px 15px 16px !important;
    background-color: #fff !important;
    background-image: url("../images/crossmediahouse/gf_dropdown.svg") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 11px 5px !important;
    line-height: 24px !important;
}

.contact-page__form .gform_wrapper select:invalid,
.contact-page__form .gform_wrapper select:has(option[value=""]:checked),
.contact-page__form .gform_wrapper select:has(option:first-child:checked) {
    color: #afafaf !important;
}

.contact-page__form .gform_wrapper select option {
    color: #1c4954;
}

@supports (appearance: base-select) {
    .contact-page__form .gform_wrapper select,
    .contact-page__form .gform_wrapper select::picker(select) {
        appearance: base-select !important;
    }

    .contact-page__form .gform_wrapper select::picker(select) {
        margin-top: 4px;
        padding: 4px;
        border: 1px solid #ededed;
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(20, 59, 69, .12);
    }

    .contact-page__form .gform_wrapper select::picker-icon {
        display: none;
    }

    .contact-page__form .gform_wrapper select option::checkmark {
        display: none;
    }

    .contact-page__form .gform_wrapper select option {
        padding: 8px 12px;
        border-radius: 6px;
        background: #fff;
    }

    .contact-page__form .gform_wrapper select option:hover,
    .contact-page__form .gform_wrapper select option:focus,
    .contact-page__form .gform_wrapper select option:checked {
        background: #eaede2;
        color: #1c4954;
    }
}

.contact-page__form .gform_wrapper input:focus,
.contact-page__form .gform_wrapper select:focus,
.contact-page__form .gform_wrapper textarea:focus,
.contact-page__form .gform_wrapper input:focus-visible,
.contact-page__form .gform_wrapper select:focus-visible,
.contact-page__form .gform_wrapper textarea:focus-visible {
    border-color: #99a872 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 2px rgba(153, 168, 114, .24) !important;
}

.contact-page__form .gform_wrapper .gfield_required {
    color: #c5533e;
}

.contact-page__form .gform_wrapper .gfield--type-text.gfield_contains_required>.gfield_label,
.contact-page__form .gform_wrapper .gfield--type-name.gfield_contains_required>.gfield_label,
.contact-page__form .gform_wrapper .gfield--type-email.gfield_contains_required>.gfield_label,
.contact-page__form .gform_wrapper .gfield--type-phone.gfield_contains_required>.gfield_label {
    position: static;
}

.contact-page__form .gform_wrapper .gfield--type-text.gfield_contains_required>.gfield_label>.gfield_required,
.contact-page__form .gform_wrapper .gfield--type-name.gfield_contains_required>.gfield_label>.gfield_required,
.contact-page__form .gform_wrapper .gfield--type-email.gfield_contains_required>.gfield_label>.gfield_required,
.contact-page__form .gform_wrapper .gfield--type-phone.gfield_contains_required>.gfield_label>.gfield_required {
    position: absolute;
    z-index: 1;
    top: auto;
    right: 16px;
    bottom: 12px;
    margin: 0;
    line-height: 20px;
}

.contact-page__form .gform_wrapper .gfield--type-text.gfield_contains_required input,
.contact-page__form .gform_wrapper .gfield--type-name.gfield_contains_required input,
.contact-page__form .gform_wrapper .gfield--type-email.gfield_contains_required input,
.contact-page__form .gform_wrapper .gfield--type-phone.gfield_contains_required input {
    padding-right: 40px;
}

.contact-page__form .gform_wrapper .gfield_checkbox,
.contact-page__form .gform_wrapper .gfield_consent_label {
    color: #658086;
    font-size: 12px;
    line-height: 20px;
    cursor: pointer;
}

.contact-page__form .gform_wrapper .gfield_consent_label a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.contact-page__form .gform_wrapper .gfield_consent_label a:hover {
    text-decoration: none;
}

.contact-page__form .gform_wrapper .gfield--type-consent>.gfield_label {
    display: none;
}

.contact-page__form .gform_wrapper .ginput_container_consent {
    display: flex;
    align-items: center;
    gap: 16px;
}

.contact-page__form .gform_wrapper .ginput_container_consent input[type="checkbox"] {
    display: grid !important;
    place-content: center;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px;
    margin: 0 !important;
    appearance: none !important;
    border: 1px solid #ededed !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: none !important;
    cursor: pointer;
}

.contact-page__form .gform_wrapper .ginput_container_consent input[type="checkbox"]::before {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #99a872;
    content: "";
    transform: scale(0);
    transition: transform .2s ease;
}

.contact-page__form .gform_wrapper .ginput_container_consent input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.contact-page__form .gform_wrapper .ginput_container_consent input[type="checkbox"]:focus,
.contact-page__form .gform_wrapper .ginput_container_consent input[type="checkbox"]:focus-visible {
    border-color: #99a872 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 2px rgba(153, 168, 114, .24) !important;
}

.contact-page__form .gform_wrapper .gform_footer {
    margin: 32px 0 0;
    padding: 0;
}

.contact-page__form .gform_wrapper .gform_footer input[type="submit"].gform_button,
.contact-page__form .gform_wrapper .gform_footer button.gform_button {
    --button-gradient-start-stop: 0%;
    --button-gradient-end: #d9c07c;
    display: inline-block !important;
    width: auto !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 13px 48px 13px 24px !important;
    appearance: none !important;
    border: 0 !important;
    border-radius: 48px !important;
    background: url("../images/crossmediahouse/performwell_btn_arrow.svg") no-repeat right 16px center / 15px 14px, linear-gradient(90deg, #dcaf9e var(--button-gradient-start-stop), var(--button-gradient-end) 100%) !important;
    box-shadow: none !important;
    color: #1c4954 !important;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    cursor: pointer;
    transition: padding-right .3s ease, --button-gradient-start-stop .3s ease, --button-gradient-end .3s ease !important;
}

.contact-page__form .gform_wrapper .gform_footer input[type="submit"].gform_button:hover,
.contact-page__form .gform_wrapper .gform_footer input[type="submit"].gform_button:focus-visible,
.contact-page__form .gform_wrapper .gform_footer button.gform_button:hover,
.contact-page__form .gform_wrapper .gform_footer button.gform_button:focus-visible {
    --button-gradient-start-stop: 50%;
    --button-gradient-end: #caaa51;
    padding-right: 52px !important;
}

.contact-page__form .gform_wrapper .gform_footer input[type="submit"].gform_button:focus,
.contact-page__form .gform_wrapper .gform_footer input[type="submit"].gform_button:focus-visible,
.contact-page__form .gform_wrapper .gform_footer button.gform_button:focus,
.contact-page__form .gform_wrapper .gform_footer button.gform_button:focus-visible {
    outline: 0 !important;
    box-shadow: 0 0 0 2px rgba(153, 168, 114, .24) !important;
}

.contact-page__form .gform_wrapper .gform_validation_errors,
.contact-page__form .gform_wrapper .validation_message {
    border-color: #dcaf9e;
    border-radius: 8px;
    background: #f7f5f1;
    color: #1c4954;
}

.contact-page__form .gform_wrapper .validation_message {
    width: 100%;
    margin: 0 0 8px !important;
    padding: 6px 10px !important;
    border: 1px solid #c5533e !important;
    background: #fff !important;
    color: #c5533e !important;
    font-size: 14px !important;
    line-height: 20px !important;
}

.contact-page__form .gform_wrapper .gfield_error input[type="text"],
.contact-page__form .gform_wrapper .gfield_error input[type="email"],
.contact-page__form .gform_wrapper .gfield_error input[type="tel"],
.contact-page__form .gform_wrapper .gfield_error input[type="number"],
.contact-page__form .gform_wrapper .gfield_error input[type="url"],
.contact-page__form .gform_wrapper .gfield_error select,
.contact-page__form .gform_wrapper .gfield_error textarea {
    border-color: #c5533e !important;
    box-shadow: 0 0 0 1px rgba(197, 83, 62, .16) !important;
}

.contact-page__form .gform_wrapper .gfield_error input:focus,
.contact-page__form .gform_wrapper .gfield_error input:focus-visible,
.contact-page__form .gform_wrapper .gfield_error select:focus,
.contact-page__form .gform_wrapper .gfield_error select:focus-visible,
.contact-page__form .gform_wrapper .gfield_error textarea:focus,
.contact-page__form .gform_wrapper .gfield_error textarea:focus-visible {
    border-color: #c5533e !important;
    box-shadow: 0 0 0 2px rgba(197, 83, 62, .24) !important;
}

.contact-page__form .gform_wrapper .gform_required_legend {
    display: none;
}

/* Footer
   ========================================================================== */

.footer {
    padding: 52px 0 32px;
    background: #143b45;
    color: #e0e7e9;
}

.footer a:hover,
.footer a:focus-visible {
    color: #d9c07c;
}

.footer__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 948px;
    align-items: start;
    gap: 24px;
    min-height: 161px;
    margin-bottom: 56px;
}

.footer__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}

.footer__logo,
.footer__logo img {
    display: block;
    width: 64px;
    height: 61px;
}

.footer__logo {
    flex: 0 0 auto;
}

.footer__brand p {
    max-width: 210px;
    color: #eaede2;
    font-family: "richmond-text", Georgia, serif;
    font-size: 24px;
    line-height: 32px;
}

.footer__navigation {
    display: grid;
    grid-template-columns: 215px 152px 119px max-content;
    align-items: start;
    justify-content: space-between;
    gap: 24px;
    width: 948px;
    padding-top: 14px;
}

.footer__label {
    margin-bottom: 12px;
    color: #d9c07c;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
}

.footer-menu,
.footer__column--menu .menu {
    display: grid;
    gap: 12px;
    margin: 0;
    list-style: none;
}

.footer-menu a,
.footer__column--menu .menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #eaede2;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 14px;
    line-height: 16px;
}

.footer-menu a::before,
.footer__column--menu .menu a::before {
    content: "\203A";
    flex: 0 0 auto;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1;
}

.footer__column address {
    color: #e0e7e9;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
}

.footer__contact {
    display: grid;
    align-content: start;
    gap: 20px;
    padding-top: 20px;
}

.footer__contact a {
    color: #d9c07c;
    font-family: "richmond-text", Georgia, serif;
    font-size: 20px;
    line-height: 26px;
    white-space: nowrap;
}

.footer__bottom {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
    padding-top: 24px;
    border-top: 1px solid #2f5e6a;
    color: #658086;
    font-family: "neue-haas-grotesk-text", Arial, sans-serif;
    font-size: 12px;
    line-height: 20px;
    white-space: nowrap;
}

/* Responsive
   ========================================================================== */

@media (min-width: 1441px) {
    .footer__columns {
        grid-template-columns: minmax(0, 29fr) minmax(0, 79fr);
    }

    .footer__navigation {
        width: 100%;
    }
}

@media (max-width: 1199px) {
    .header__navigation .menu {
        gap: 22px;
    }

    .header__navigation {
        gap: 20px;
    }

    .cta-panel {
        padding-right: 72px;
        padding-left: 72px;
    }

    .route-card,
    .route-card:nth-child(even) {
        grid-template-columns: 1fr 1fr;
    }

    .footer__columns {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .footer__navigation {
        grid-template-columns: minmax(170px, 1fr) minmax(120px, .75fr) 119px max-content;
        width: 100%;
    }

}

@media (max-width: 1023px) {
    .container {
        width: calc(100% - 80px);
    }

    .section--hero>.breadcrumbs .breadcrumbs__inner {
        padding-right: 40px;
        padding-left: 40px;
    }

    .single-insight__header {
        padding-top: 140px;
    }

    .single-insight__featured-inner {
        height: auto;
        aspect-ratio: 1096 / 552;
    }

    .single-insight__content {
        padding: 64px 0;
    }

    .single-insight__article {
        gap: 72px;
    }

    .article-gallery--1,
    .article-gallery--3 {
        height: auto;
        aspect-ratio: 1010 / 508;
    }

    .section--related-insights {
        padding-bottom: 64px;
    }

    .container--header {
        width: 100%;
    }

    .container--shell {
        width: calc(100% - 32px);
    }

    .heading--h1,
    .heading--h2 {
        font-size: 36px;
        line-height: 40px;
    }

    .header__inner {
        min-height: 84px;
        padding: 14px 40px;
    }

    .site-logo__image {
        max-width: 220px;
        height: auto;
    }

    .menu-toggle {
        position: relative;
        z-index: 4;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 7px;
        width: 48px;
        height: 48px;
        padding: 10px;
        border: 0;
        border-radius: 50%;
        background: #1c4954;
        cursor: pointer;
    }

    .menu-toggle>span:not(.screen-reader-text) {
        width: 100%;
        height: 2px;
        background: #fff;
        transition: transform .3s ease;
    }

    .menu-toggle[aria-expanded="true"]>span:nth-of-type(2) {
        transform: translateY(4.5px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"]>span:nth-of-type(3) {
        transform: translateY(-4.5px) rotate(-45deg);
    }

    .header__navigation {
        position: absolute;
        z-index: 3;
        top: calc(100% - 4px);
        right: 40px;
        left: 40px;
        display: flex;
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
        padding: 28px;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 16px 40px rgba(20, 59, 69, .14);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-12px);
        transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
        visibility: hidden;
    }

    .header__navigation.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
        visibility: visible;
    }

    .header__navigation .menu {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .header__contact {
        align-self: flex-start;
        margin: 0;
    }

    .menu-overlay {
        position: fixed;
        z-index: 19;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: rgba(28, 73, 84, .32);
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s ease, visibility 0s linear .3s;
        visibility: hidden;
    }

    body.menu-is-open .menu-overlay {
        opacity: 1;
        pointer-events: auto;
        transition-delay: 0s;
        visibility: visible;
    }

    body.menu-is-open {
        overflow: hidden;
    }

    .section--hero {
        padding-top: 96px;
    }

    .section--hero--wide {
        padding-top: 84px;
    }

    .hero-panel {
        grid-template-columns: 1fr;
    }

    .section--hero--wide .hero-panel,
    .hero-panel--image-left,
    .section--hero--wide .hero-panel--image-left {
        grid-template-columns: 1fr;
    }

    .hero-panel__content {
        min-height: 560px;
        padding: 48px 40px;
    }

    .hero-panel__media {
        min-height: 520px;
        margin: 0 16px 16px;
    }

    .hero-panel--image-left .hero-panel__media {
        margin: 16px 16px 0;
    }

    .section--hero--wide .hero-panel__content {
        min-height: auto;
        padding: 48px 40px;
    }

    .section--hero--wide .hero-panel__media {
        min-height: 480px;
    }

    .signals {
        grid-template-columns: 1fr 1fr;
    }

    .section--signals {
        padding: 72px 0;
    }

    .conclusion-panel {
        grid-template-columns: 1fr;
        align-items: start;
        padding: 32px;
    }

    .section--routes {
        padding: 64px 0;
    }

    .route-card {
        min-height: 430px;
    }

    .route-card__content {
        padding: 40px 32px;
    }

    .section--guidance-routes {
        padding: 64px 0;
    }

    .guidance-routes__heading {
        gap: 40px;
        margin-bottom: 56px;
    }

    .guidance-route-card__details {
        padding: 24px;
    }

    .section--method {
        padding: 64px 0;
    }

    .method {
        grid-template-columns: 1fr;
    }

    .method__media {
        min-height: 520px;
    }

    .method__content {
        padding: 0;
    }

    .method-points p {
        color: #1c4954;
    }

    .about-panel {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .about-panel--image-height-tall,
    .about-panel--image-height-tall.about-panel--image-left {
        grid-template-columns: 1fr;
    }

    .about-panel--image-height-tall .about-panel__content {
        justify-content: flex-start;
    }

    .about-panel--image-height-tall .about-panel__media {
        height: 520px;
    }

    .about-panel__content {
        order: 1;
        min-height: 0;
        padding: 52px 40px;
    }

    .about-panel__copy .heading--h2 {
        font-size: 36px;
        line-height: 40px;
    }

    .about-panel--image-left .about-panel__content {
        order: 1;
        padding: 52px 40px;
    }

    .about-panel__media {
        order: 2;
        min-height: 520px;
        margin: 0 16px 16px;
    }

    .about-panel--image-left .about-panel__media {
        order: 2;
        margin: 0 16px 16px;
    }

    .testimonial-slider__track {
        width: calc(100% - 80px);
    }

    .section--insights {
        padding: 64px 0 0;
    }

    .insights-heading__copy {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .insight-grid {
        grid-auto-columns: minmax(330px, 45vw);
        grid-template-columns: none;
        grid-auto-flow: column;
        overflow-x: auto;
        padding-bottom: 12px;
        scroll-snap-type: inline mandatory;
        scrollbar-width: none;
    }

    .insight-card {
        scroll-snap-align: start;
    }

    .section--free-cards {
        padding: 64px 0;
    }

    .section--text-one-column,
    .section--text-one-column--heading-h4 {
        padding: 72px 0;
    }

    .cta-panel {
        grid-template-columns: 1fr 1fr;
        padding: 72px 56px;
    }

    .footer {
        padding: 48px 0 28px;
    }

    .footer__columns {
        grid-template-columns: 1fr;
        gap: 56px;
        min-height: 0;
    }

    .footer__navigation {
        grid-template-columns: repeat(3, 1fr);
        padding-top: 0;
    }

    .footer__contact {
        grid-column: 1/-1;
        grid-auto-flow: column;
        justify-content: start;
        gap: 28px;
    }

}

@media (max-width: 767px) {
    .container {
        width: calc(100% - 48px);
    }

    .section--hero>.breadcrumbs .breadcrumbs__inner {
        padding-right: 16px;
        padding-left: 16px;
    }

    .single-insight__header {
        padding-top: 120px;
    }

    .single-insight__header-inner,
    .single-insight__header-details {
        gap: 32px;
    }

    .single-insight__meta {
        flex-wrap: wrap;
        gap: 16px 24px;
    }

    .single-insight__featured {
        padding: 24px 0;
    }

    .single-insight__featured-inner {
        border-radius: 12px;
    }

    .section--related-insights .insights-heading {
        margin-bottom: 20px;
    }

    .single-insight__content {
        padding: 56px 0;
    }

    .single-insight__article {
        gap: 30px;
    }


    .cta-panel__content {
    gap: 20px;
    }

    .article-block--text {
        gap: 24px;
    }

    .article-gallery--1,
    .article-gallery--2,
    .article-gallery--3 {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        height: auto;
        aspect-ratio: auto;
    }

    .article-gallery--3 .article-gallery__item:first-child {
        grid-row: auto;
    }

    .article-gallery__item {
        aspect-ratio: 16 / 10;
        border-radius: 12px;
    }

    .article-share {
        padding: 0 0 30px 0;
    }

    .article-share__links {
        max-width: 360px;
    }

    .section--related-insights {
        padding-bottom: 56px;
    }

    .container--header {
        width: 100%;
    }

    .container--shell {
        width: calc(100% - 16px);
    }

    .heading--h1,
    .heading--h2 {
        font-size: 32px;
        line-height: 36px;
    }

    .heading--h3 {
        font-size: 28px;
        line-height: 36px;
    }

    .heading--h4 {
        font-size: 24px;
        line-height: 26px;
    }

    .text-intro--large {
        font-size: 20px;
        line-height: 26px;
    }

    .text-intro {
        font-size: 16px;
    }

    .header__inner {
        min-height: 76px;
        padding: 12px 24px;
    }

    .site-logo__image {
        max-width: 180px;
        height: auto;
    }

    .header__navigation {
        right: 16px;
        left: 16px;
    }

    .header__contact {
        margin: 0;
    }

    .section--hero {
        padding: 84px 0 8px;
    }

    .section--hero--wide {
        padding: 76px 0 0;
    }

    .hero-panel {
        border-radius: 24px;
    }

    .hero-panel__content {
        min-height: 500px;
        padding: 40px 24px;
        gap: 20px;
    }

    .hero-panel__copy {
        gap: 32px;
    }

    .hero-panel__main,
    .section--hero--wide .hero-panel__main {
        gap: 32px;
    }

    .hero-panel__media {
        min-height: 400px;
        margin: 0 8px 8px;
    }

    .hero-panel--image-left .hero-panel__media {
        margin: 8px 8px 0;
    }

    .section--hero--wide .hero-panel__content {
        min-height: auto;
        padding: 40px 24px;
        gap: 20px;
    }

    .section--hero--wide .hero-panel__media {
        min-height: 400px;
    }

    .section--signals {
        padding: 35px 0;
    }

    .signals {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 50px;
    }

    .signals__intro {
        gap: 20px;
    }

    .signal-list__item {
        font-size: 18px;
        line-height: 24px;
    }

    .conclusion-panel {
        gap: 32px;
        min-height: auto;
        padding: 24px;
    }

    .section--routes {
        padding: 35px 0;
    }

    .section-heading {
        margin-bottom: 36px;
    }

    .route-card,
    .route-card:nth-child(even) {
        grid-template-columns: 1fr;
        background: linear-gradient(148deg, #dcaf9e 0.85%, #d9c07c 8.84%, #eaede2 16.82%, #eaede2 67.4%);
    }

    .route-card:nth-child(even) .route-card__media {
        order: 0;
    }

    .route-card__media {
        min-height: 300px;
        margin-bottom: 0;
    }

    .route-card__content {
        padding: 32px 24px;
        gap: 20px;
    }

    .route-steps {
        gap: 8px;
    }

    .route-steps__arrow {
        display: none;
    }

    .section--guidance-routes {
        padding: 24px 0;
    }

    .guidance-routes__heading {
        gap: 24px;
        margin-bottom: 40px;
    }

    .guidance-route-grid {
        grid-template-columns: 1fr;
    }

    .guidance-route-card {
        gap: 24px;
    }

    .guidance-route-card__header {
        gap: 24px;
        padding: 14px 14px 0;
    }

    .guidance-route-card__title-group {
        gap: 16px;
    }

    .guidance-route-card__details {
        gap: 32px;
        padding: 24px;
    }

    .guidance-route-card__questions {
        gap: 24px;
    }

    .section--method {
        padding: 35px 0;
    }

    .method {
        gap: 40px;
    }

    .method-points {
        margin-top: 0;
    }

    .method__media {
        min-height: 0;
    }

    .method__image {
        height: auto;
    }

    .section--about {
        padding: 24px 0;
    }

    .about-panel {
        border-radius: 24px;
        gap: 0;
    }

    .about-panel__content {
        min-height: 0;
        justify-content: flex-start;
        padding: 24px;
        gap: 20px;
    }

    .about-panel__copy .heading--h2 {
        font-size: 32px;
        line-height: 36px;
    }

    .about-panel--image-left .about-panel__content,
    .about-panel--image-height-tall .about-panel__content {
        min-height: 0;
        justify-content: flex-start;
        padding: 24px;
    }

    .about-panel__media {
        min-height: 400px;
        margin: 0 8px 8px;
    }

    .about-panel--image-left .about-panel__media {
        margin: 0 8px 8px;
    }

    .about-panel--image-height-tall .about-panel__media {
        height: 400px;
    }

    .section--testimonials {
        padding: 35px 0;
    }

    .section-title-center {
        margin-bottom: 0;
    }

    .testimonials-heading {
        gap: 32px;
    }

    .testimonial-slider__toolbar {
        align-items: center;
        flex-direction: row;
        justify-content: center;
    }

    .testimonial-slider__toolbar .carousel-controls {
        display: none;
    }

    .testimonial-slider__track {
        grid-auto-columns: 100%;
        width: calc(100% - 48px);
        padding: 0;
    }

    .testimonial-card {
        padding: 32px 0 0 0;
        text-align: center;
    }

    .testimonial-card__quote {
        font-size: 20px;
        line-height: 28px;
    }

    .section--insights {
        padding: 35px 0;
    }

    .insights-heading {
        grid-template-columns: 1fr;
        margin-bottom: 36px;
    }

    .carousel-controls {
        display: none;
    }

    .insight-grid {
        grid-auto-columns: calc(100vw - 64px);
    }

    .insight-card {
        min-height: 530px;
    }

    .section--free-cards {
        padding: 24px 0;
    }

    .free-cards__heading {
        gap: 32px;
        margin-bottom: 36px;
    }

    .free-card-grid {
        grid-template-columns: 1fr;
    }

    .section--text-one-column,
    .section--text-one-column--heading-h4 {
        padding: 35px 0;
    }

    .text-one-column,
    .text-one-column__copy {
        gap: 24px;
    }

    .text-one-column>.button {
        margin-top: 8px;
    }

    .section--cta {
        padding: 24px 0 8px 0;
    }

    .cta-panel {
        grid-template-columns: 1fr;
        align-content: start;
        gap: 32px;
        min-height: 0;
        padding: 48px 24px;
        border-radius: 24px;
    }

    .footer {
        padding: 48px 0 28px;
    }

    .footer__brand {
        flex-direction: column;
    }

    .footer__navigation {
        grid-template-columns: 1fr 1fr;
    }

    .footer__column:last-of-type {
        grid-column: 1/-1;
    }

    .footer__contact {
        grid-auto-flow: row;
        gap: 8px;
    }

    .footer__bottom {
        align-items: center;
        flex-direction: row;
        gap: 24px;
    }

}

@media (max-width: 782px) {
    .admin-bar .section[id] {
        scroll-margin-top: 62px;
    }

    .admin-bar .header {
        top: 46px;
    }

}

@media (max-width: 1023px) {
    .blog-archive__hero {
        padding: 140px 0 48px;
    }

    .blog-archive__hero-inner {
        gap: 40px;
    }

    .blog-archive__introduction {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .blog-filters {
        justify-content: flex-start;
    }

    .blog-archive__grid {
        grid-auto-flow: row;
        grid-auto-columns: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
        padding-bottom: 0;
        scroll-snap-type: none;
    }
}

@media (max-width: 767px) {
    .blog-archive__hero {
        padding: 100px 0 40px;
    }

    .blog-archive__hero-inner {
        gap: 32px;
    }

    .blog-archive__content {
        padding: 50px 0 35px;
    }

    .blog-archive__grid {
        grid-template-columns: 1fr;
    }

    .blog-archive__grid .insight-card {
        min-height: 0;
    }

    .blog-archive__grid .insight-card__media {
        height: 220px;
        min-height: 220px;
    }

    .blog-pagination {
        grid-template-columns: 1fr 1fr;
        margin-top: 56px;
    }

    .blog-pagination__pages {
        grid-column: 1 / -1;
        grid-row: 2;
        flex-wrap: wrap;
    }
}

@media (max-width: 1199px) {
    .contact-page__grid {
        grid-template-columns: minmax(0, .75fr) minmax(0, 1.1fr);
    }

    .contact-page__image {
        max-width: 100%;
    }
}

@media (max-width: 1023px) {
    .contact-page__intro {
        padding: 140px 0 64px;
    }

    .contact-page__main {
        padding: 72px 0;
    }

    .contact-page__grid {
        grid-template-columns: 1fr;
        gap: 64px;
    }

    .contact-page__details {
        max-width: 640px;
    }

    .contact-page__form .gform_wrapper textarea {
        height: 124px !important;
        min-height: 124px !important;
    }
}

@media (max-width: 767px) {
    .contact-page__intro {
        padding: 120px 0 35px;
    }

    .contact-page__intro-inner {
        gap: 32px;
    }

    .contact-page__intro-copy {
        gap: 24px;
    }

    .contact-page__main {
        padding: 35px 0 70px;
    }

    .contact-page__grid {
        gap: 48px;
    }

    .contact-page__details {
        gap: 20px;
    }

    .contact-page__image {
        width: 100%;
        height: auto;
        aspect-ratio: 420 / 399;
    }

    .contact-page__data-row {

    padding: 5px 0;
    }

    .contact-page__form-card {
        padding: 32px 24px;
    }

    .contact-page__form .gform_wrapper .gfield--width-half {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1023px) {
    .error-page__section {
        padding-top: 120px;
    }

    .error-page__panel {
        min-height: 480px;
        padding: 72px 56px;
    }

    .error-page__code {
        font-size: 112px;
    }

    .thank-you-page__hero {
        padding-top: 84px;
    }

    .thank-you-page__panel {
        min-height: 440px;
        padding: 72px 56px;
    }

    .thank-you-page__information-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 64px;
    }
}

@media (max-width: 767px) {
    .error-page__section {
        padding: 100px 0 35px;
    }

    .error-page__panel {
        min-height: 0;
        padding: 56px 24px;
        border-radius: 24px;
    }

    .error-page__content {
        gap: 24px;
    }

    .error-page__code {
        font-size: 88px;
    }

    .thank-you-page__hero {
        padding: 76px 0 0;
    }

    .thank-you-page__panel {
        min-height: 0;
        gap: 40px;
        padding: 56px 24px;
        border-radius: 24px;
    }

    .thank-you-page__hero-copy {
        gap: 32px;
    }

    .thank-you-page__message {
        gap: 24px;
    }

    .thank-you-page__information {
        padding: 56px 0 64px;
    }

    .thank-you-page__information-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .thank-you-page__column {
        gap: 24px;
    }
}

@media (max-width: 767px) {
    .hero-panel__copy,
    .section--hero--wide .hero-panel__copy,
    .hero-panel__main,
    .section--hero--wide .hero-panel__main,
    .hero-panel__text,
    .signals__intro,
    .conclusion-panel__copy,
    .section-heading,
    .route-card__copy,
    .guidance-routes__heading,
    .guidance-route-card__header,
    .guidance-route-card__title-group,
    .guidance-route-card__questions,
    .method__copy,
    .method__text,
    .about-panel__copy,
    .testimonials-heading,
    .testimonial-card,
    .insights-heading__copy,
    .insights-heading__copy>div,
    .insight-card__copy,
    .section--related-insights .insight-card__copy,
    .free-cards__heading,
    .free-cards__introduction,
    .text-one-column,
    .text-one-column__copy,
    .cta-panel,
    .single-insight__header-inner,
    .single-insight__header-details,
    .article-block--text,
    .blog-archive__hero-inner,
    .blog-archive__introduction,
    .blog-archive__copy,
    .blog-card__heading,
    .contact-page__intro-inner,
    .contact-page__intro-copy,
    .thank-you-page__hero-copy,
    .thank-you-page__message,
    .thank-you-page__column {
        gap: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .header__navigation,
    .header__contact,
    .menu-overlay,
    .button,
    .button__icon,
    .carousel-control img,
    .contact-page__form .gform_wrapper .gform_footer input[type="submit"].gform_button,
    .contact-page__form .gform_wrapper .gform_footer button.gform_button,
    .menu-toggle>span:not(.screen-reader-text) {
        transition: none !important;
    }
}
