.no-js [data-animaate-child] {
    opacity: 0;
}

html {
    box-sizing: border-box;
    height: 100%;
    line-height: 1.15;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
    margin: 0;
}

*,
:after,
:before {
    box-sizing: inherit;
}

picture {
    display: block;
}

img {
    display: block;
    height: auto;
    margin: 0;
    max-width: 100%;
}

svg {
    display: block;
    min-height: 0;
    min-width: 0;
}

iframe {
    border: none;
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 400;
    src: url(../../fonts/matter-regular.woff2) format("woff2"), url(../../fonts/matter-regular.woff) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: italic;
    font-weight: 400;
    src: url(../../fonts/matter-regularitalic.woff2) format("woff2"), url(../../fonts/matter-regularitalic.woff) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 500;
    src: url(../../fonts/matter-medium.woff2) format("woff2"), url(../../fonts/matter-medium.woff) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 700;
    src: url(../../fonts/matter-bold.woff2) format("woff2"), url(../../fonts/matter-bold.woff) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 600;
    src: url(../../fonts/matter-semibold.woff2) format("woff2"), url(../../fonts/matter-semibold.woff) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 300;
    src: url(../../fonts/matter-light.woff2) format("woff2"), url(../../fonts/matter-light.woff) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Iskry;
    font-style: normal;
    font-weight: 400;
    src: url(../../fonts/iskry-regular.woff2) format("woff2");
}

@font-face {
    font-display: swap;
    font-family: Iskry;
    font-style: normal;
    font-weight: 700;
    src: url(../../fonts/iskry-bold.woff2) format("woff2");
}

body,
html {
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background: #fff;
    color: #251e1e;
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: calc(1em + .625rem);
}

body[data-background-initial=white] {
    --current-background: #fff;
    background-color: #fff;
}

body[data-background-initial=ebb] {
    --current-background: #e8e5e2;
    background-color: #e8e5e2;
}

body[data-background-initial=outerspace] {
    --current-background: #2a3e3e;
    background-color: #2a3e3e;
}

body[data-background-initial=black] {
    --current-background: #000;
    background-color: #000;
}

body[data-background-initial=palmgreen] {
    --current-background: #071e13;
    background-color: #071e13;
}

body[data-background-initial=ebonyclay] {
    --current-background: #252a35;
    background-color: #252a35;
}

body[data-background-initial=thunder] {
    --current-background: #251e1e;
    background-color: #251e1e;
}

body[data-background-initial=mineshaft] {
    --current-background: #272727;
    background-color: #272727;
}

body[data-text=light] {
    color: #fff;
}

p {
    margin: 0 0 calc(1em + .625rem);
}

p:last-child {
    margin: 0;
}

a {
    color: currentColor;
    outline: 0;
    text-decoration: underline;
    -webkit-text-decoration-color: currentColor;
    text-decoration-color: currentColor;
}

::-moz-selection {
    background: #2f54e6;
    color: #fff;
}

::selection {
    background: #2f54e6;
    color: #fff;
}

.panel--dark ::-moz-selection {
    background: #251e1e;
    color: #2f54e6;
}

.panel--dark ::selection {
    background: #251e1e;
    color: #2f54e6;
}

hr {
    background-color: #e8e5e2;
    border: 0;
    display: block;
    height: .125rem;
    margin: 1.4em 0;
    padding: 0;
    position: relative;
    width: 100%;
}

strong {
    font-weight: 700;
}

em,
i {
    font-style: italic;
}

.text--iskry {
    font-family: Iskry, Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}

.text--lead {
    font-size: 1.25rem;
    font-weight: 400;
    line-height: calc(1em + .625rem);
    margin-bottom: 1.85em;
}

[data-critical]>* {
    visibility: hidden;
}

ul {
    list-style: disc;
}

ol,
ul {
    margin: 0 0 1.4em;
    padding-left: 1.4em;
}

ol li,
ul li {
    margin-bottom: .5em;
    padding-left: .5em;
}

ol li::marker,
ul li::marker {
    color: #2f54e6;
    font-weight: 700;
}

ol li:last-child,
ul li:last-child {
    margin-bottom: 0;
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-bottom: .5em;
    margin-top: .5em;
}

table {
    border: 1px solid #e8e5e2;
    border-collapse: collapse;
    margin: 0 0 1.4em;
    min-width: 100%;
}

.table-overflow-container table {
    margin: 0;
}

table td,
table th {
    background: #fff;
    padding: .625rem 1.25rem;
    text-align: left;
}

table th {
    background: #2f54e6;
    color: #fff;
}

table tr:nth-child(2n) td {
    background: #e8e5e2;
}

.table-overflow-container {
    margin: 0 0 1.4em;
}

.h1,
h1 {
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-size: 5rem;
    font-weight: 400;
    letter-spacing: .0025em;
    line-height: .9375;
    margin: 0 0 1.3636363636em;
}

.h2,
.h3,
.h4,
.h5,
.h6,
h2,
h3,
h4,
h5,
h6 {
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-weight: 500;
    line-height: 1.5454545455;
    margin: 0 0 1.3636363636em;
}

.h2,
h2 {
    font-size: 1.375rem;
    line-height: 1.5454545455;
    margin-bottom: .8636363636em;
}

svg.fill [fill] {
    fill: currentColor;
}

svg.stroke [stroke] {
    stroke: currentColor;
}

.mask-arch {
    position: relative;
}

.mask-arch:before {
    content: "";
    display: block;
    padding-top: 130%;
    width: 100%;
}

.mask-arch img {
    -webkit-clip-path: url(#arch);
    clip-path: url(#arch);
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    position: absolute;
    top: 0;
    width: 100%;
}

.mask-window img {
    -webkit-clip-path: url(#card-article-window);
    clip-path: url(#card-article-window);
}

.mask-semi-alt img {
    -webkit-clip-path: url(#card-article-semi-alt);
    clip-path: url(#card-article-semi-alt);
}

.mask-semi img {
    -webkit-clip-path: url(#card-article-semi);
    clip-path: url(#card-article-semi);
}

.mask-house {
    position: relative;
}

.mask-house:before {
    content: "";
    display: block;
    padding-top: 85.4%;
    width: 100%;
}

.mask-house img {
    -webkit-clip-path: url(#house);
    clip-path: url(#house);
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    position: absolute;
    top: 0;
    width: 100%;
}

blockquote {
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.4444444444;
    margin: 0;
    padding: 0;
}

blockquote p:not(:last-child) {
    margin-bottom: 1.0555555556em;
}

.text--cite {
    color: currentColor;
    font-size: .875rem;
    font-weight: 400;
    letter-spacing: .0142857143em;
    line-height: 1.7142857143;
}

.text--cite>span {
    display: block;
    opacity: .5;
}

.text--cite>span:first-child {
    color: #a6c2f0;
    font-weight: 700;
    opacity: 1;
}

.container {
    margin-left: auto;
    margin-right: auto;
    max-width: 84.375rem;
    padding-left: 2.1875rem;
    padding-right: 2.1875rem;
    width: 100%;
}

.container-page {
    min-height: 100vh;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.container--narrow {
    max-width: 70.625rem;
}

.container--100 {
    max-width: 100%;
}

.container--610 {
    max-width: 42.5rem;
}

.container--665 {
    max-width: 45.9375rem;
}

.container--1280 {
    max-width: 84.375rem;
}

.container--1330 {
    max-width: 87.5rem;
}

.container--1420 {
    max-width: 93.125rem;
}

.container--1490 {
    max-width: 97.5rem;
}

.container--1500 {
    max-width: 98.125rem;
}

.container--1520 {
    max-width: 99.375rem;
}

.container--2030 {
    max-width: 131.25rem;
}

.container--lg {
    max-width: 84.375rem;
}

.container--std {
    max-width: 70.625rem;
}

.container--sm {
    max-width: 42.5rem;
}

.hidden {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px !important;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

nav ul li {
    margin: 0;
    padding: 0;
}

.ratio {
    max-height: calc(var(--height)*1px);
    max-width: calc(var(--width)*1px);
    overflow: hidden;
    position: relative;
    width: 100%;
}

.ratio:before {
    content: "";
    display: block;
    padding-top: calc(var(--height)/var(--width)*100%);
    width: 100%;
}

.ratio img {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    position: absolute;
    top: 0;
    width: 100%;
}

.iframe-wrapper {
    margin: 0 0 1.4em;
    position: relative;
}

.iframe-wrapper:before {
    content: "";
    display: block;
    padding-top: 56.25%;
    width: 100%;
}

.iframe-wrapper iframe {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.hide {
    display: none;
}

[data-aspect-ratio]:before {
    content: "";
    display: block;
    padding-top: var(--aspect-ratio, 0);
    width: 100%;
}

button {
    background-color: transparent;
    border: none;
    border-radius: 0;
    color: currentColor;
    cursor: pointer;
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    outline: none;
    padding: 0;
    text-decoration: none;
}

input[type=text],
textarea {
    -webkit-appearance: none;
    appearance: none;
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}

input[type=text]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    transition-duration: .3s;
    -webkit-transition-property: color;
    transition-property: color;
    transition-timing-function: ease-in-out;
}

.notification-no-js,
.notification-outdated-browser {
    background-color: #2f54e6;
    bottom: 0;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    left: 0;
    line-height: 1;
    padding: 1.1111111111em 1.6666666667em;
    position: fixed;
    text-align: center;
    width: 100%;
    z-index: 9999;
}

.skip-to-link {
    position: fixed;
}

.skip-to-link:not(:focus) {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px !important;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
}

.btn {
    display: inline-block;
    font-size: 1.125rem;
    padding: .5555555556em 1.0555555556em;
    text-align: center;
    text-decoration: none;
}

.btn .btn__inner {
    align-items: center;
    -moz-column-gap: var(--column-gap, .625rem);
    column-gap: var(--column-gap, .625rem);
    display: grid;
    grid-template-columns: repeat(var(--columns, 2), auto);
    row-gap: var(--row-gap, 0);
    width: 100%;
}

.btn .btn__label {
    text-align: left;
}

.btn .btn__label:only-child {
    text-align: center;
}

.btn.btn--icon-right {
    padding-right: .7777777778em;
}

.btn.btn--icon-left {
    padding-left: .7777777778em;
}

.btn.btn--square {
    border-radius: 0;
}

.btn.btn--rounded {
    border-radius: .625rem;
}

.btn.btn--full {
    display: block;
    width: 100%;
}

.btn.btn--medium {
    font-weight: 500;
}

.btn.btn--semibold {
    font-weight: 600;
}

.buttons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: calc(var(--row-gap, .9375rem)*-1);
    margin-left: calc(var(--column-gap, .75rem)*-1);
}

.buttons>* {
    margin-bottom: var(--row-gap, .9375rem);
    padding-left: var(--column-gap, .75rem);
}

.buttons--centre {
    justify-content: center;
}

.btn--icon {
    transition-duration: .3s;
    transition-property: color, background;
    transition-timing-function: ease-in-out;
}

.btn--icon .btn__inner {
    display: grid;
    grid-template-areas: "label icon";
    grid-template-columns: 1fr auto;
}

.btn--icon .btn__label {
    grid-area: label;
}

.btn--icon .btn__icon {
    color: var(--icon-color, currentColor);
    font-size: var(--icon-height, .75rem);
    grid-area: icon;
}

.btn--icon .btn__icon-inner {
    align-items: center;
    background: var(--icon-background, rgba(37, 30, 30, .1));
    border-radius: 100%;
    box-shadow: inset 0 0 0 .0625rem var(--icon-border-color, transparent);
    display: flex;
    height: var(--icon-o, 2.0833333333em);
    justify-content: center;
    position: relative;
    width: var(--icon-o, 2.0833333333em);
}

.btn--icon .btn__icon .btn__icon-hover {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.btn--icon .btn__icon svg {
    display: block;
    font-size: 1em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.btn--icon-left .btn__inner {
    grid-template-areas: "icon label";
    grid-template-columns: auto 1fr;
}

.btn--icon-no-bg .btn__icon-inner {
    --icon-background: transparent;
    width: auto;
}

.btn--icon.btn--md .btn__icon-inner {
    --icon-o: 1.875rem;
}

.btn--icon.btn--lg .btn__icon-inner {
    --icon-o: 2.75rem;
}

.btn--solid {
    background: var(--background, #e6f132);
    border-radius: 6.25rem;
    color: var(--color, #251e1e);
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-size: 1rem;
    font-weight: 400;
}

.btn--solid-royalblue {
    --background: #2f54e6;
    --color: #fff;
    --icon-background: hsla(0, 0%, 100%, .1);
}

.btn--solid-royalblue.btn--icon-o {
    --icon-background: transparent;
    --icon-border-color: hsla(0, 0%, 100%, .1);
}

.btn--solid-thunder {
    --background: #251e1e;
    --color: #fff;
    --icon-background: hsla(0, 0%, 100%, .1);
}

.btn--solid-thunder.btn--icon-o {
    --icon-background: transparent;
    --icon-border-color: rgba(37, 30, 30, .1);
}

.btn--solid-norway {
    --background: #a6b5a3;
    --color: #251e1e;
}

.btn--solid-ebonyclay {
    --background: #252a35;
    --color: #fff;
    --icon-background: hsla(0, 0%, 100%, .1);
}

.btn--cta {
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-size: 1.1875rem;
    font-weight: 600;
    letter-spacing: .0526315789em;
    line-height: .9473684211;
    text-transform: uppercase;
}

.btn--cta.btn--icon .btn__icon-inner {
    --icon-background: transparent;
    background: transparent;
    border-radius: 0;
    height: auto;
    width: auto;
}

.btn--link {
    color: var(--color, #251e1e);
    font-family: Matter, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
    font-size: 1rem;
    font-weight: 400;
}

.btn--link-thunder {
    --color: #251e1e;
    --icon-color: #251e1e;
    --icon-background: rgba(37, 30, 30, .1);
}

[data-text=light] .btn--link-thunder {
    --color: #fff;
    --icon-color: #fff;
}

.panel--light .btn--link-thunder {
    --color: #251e1e;
    --icon-color: #251e1e;
    --icon-background: rgba(37, 30, 30, .1);
}

.btn--link-thunder.btn--icon-o {
    --icon-background: transparent;
    --icon-border-color: rgba(37, 30, 30, .1);
}

[data-text=light] .btn--link-thunder.btn--icon-o {
    --icon-border-color: hsla(0, 0%, 100%, .1);
}

.btn--link-white {
    --color: #fff;
    --icon-color: #251e1e;
    --icon-background: #a6b5a3;
}

.btn--link-white.btn--icon-no-bg {
    --icon-color: #fff;
}

.btn--link-lavender {
    --color: #fff;
    --icon-color: #251e1e;
    --icon-background: #a5a5e4;
}

[data-text=dark] .btn--link-lavender {
    --color: #251e1e;
}

.panel--outerspace .btn--link-lavender {
    --icon-color: #fff;
    --icon-background: hsla(0, 0%, 100%, .1);
}

[data-text=dark] .panel--outerspace .btn--link-lavender {
    --icon-color: #251e1e;
    --icon-background: rgba(37, 30, 30, .1);
}

.btn--pause-video {
    background: var(--background, #2a3e3e);
    border-radius: 7.5rem 7.5rem 0 0;
    color: #fff;
    font-size: .75rem;
    font-weight: 400;
    letter-spacing: .0125em;
    line-height: 1.125;
    min-width: 7.25rem;
    padding: 2.0625rem 1.125rem 2.1875rem;
    text-align: center;
}

.btn--pause-video .btn__inner {
    display: grid;
    grid-template-areas: "icon""label";
    grid-template-columns: 1fr;
    justify-content: center;
    row-gap: 2.3125rem;
}

.btn--pause-video .btn__icon {
    color: var(--icon-colour, #2a3e3e);
    grid-area: icon;
}

.btn--pause-video .btn__icon-play {
    display: flex;
}

.btn--pause-video .btn__icon-inner {
    align-items: center;
    background: var(--icon-background, #a5a5e4);
    border-radius: 6.25rem;
    display: flex;
    font-size: var(--icon-height, clamp(2.1875rem, 3.4722222222vw, 3.125rem));
    height: 1em;
    justify-content: center;
    margin: 0 auto;
    width: 1em;
}

.btn--pause-video .btn__icon svg {
    display: block;
    font-size: .36em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.btn--pause-video .btn__label {
    display: block;
    grid-area: label;
    padding: 0 .125rem;
    text-align: center;
}

.btn--pause-video[aria-pressed=true] [data-pressed=false] {
    display: none;
}

.btn--pause-video[aria-pressed=false] [data-pressed=true] {
    display: none;
}

.btn--pause-video-alt,
.section--video .btn--pause-video {
    --background: #071e13;
    --icon-colour: #071e13;
    --icon-background: #2f54e6;
    --icon-height: clamp(3rem, 4.8611111111vw, 4.375rem);
}

.btn--pause-video-alt .btn__inner,
.section--video .btn--pause-video .btn__inner {
    row-gap: clamp(.75rem, 1.4583333333vw, 1.3125rem);
}

.btn--pause-video-hide-mobile-label .btn__icon {
    margin-bottom: 0;
}

.btn--pause-video-padding {
    min-width: unset;
    padding: 0;
}

.btn--pause-video-padding .btn__icon {
    --icon-height: clamp(2.25rem, 4.8611111111vw, 4.375rem);
    padding: clamp(1.25rem, 3.4722222222vw, 3.125rem) clamp(1.25rem, 3.4722222222vw, 3.125rem) 0;
}

.btn--pause-video-padding .btn__inner {
    row-gap: clamp(.6875rem, 1.4583333333vw, 1.3125rem);
}

.banner--our-process .btn--pause-video {
    --background: #071e13;
    --icon-background: #2f54e6;
    --icon-colour: #071e13;
    --icon-height: 2.5rem;
    margin-top: -3rem;
    min-width: 6.25rem;
    padding: 0;
    width: auto;
}

.banner--our-process .btn--pause-video .btn__inner {
    row-gap: clamp(.875rem, 1.4583333333vw, 1.3125rem);
}

.banner--our-process .btn--pause-video .btn__icon {
    padding: 1.875rem 1.875rem 0;
}

.banner--our-process .btn--pause-video .btn__label {
    text-align: center;
}

.btn--filter-pill {
    align-items: center;
    border-radius: 6.25rem;
    color: #071e13;
    display: flex;
    font-size: 1rem;
    font-weight: 400;
    height: 2.5em;
    justify-content: center;
    letter-spacing: .0125em;
    line-height: 1.125;
    padding: 0 .75em;
}

.btn--filter-pill .btn__icon {
    color: #e4d7cc;
    display: flex;
    font-size: 1.125em;
    justify-content: center;
    min-width: 2rem;
}

.btn--filter-pill .btn__icon svg {
    display: block;
    font-size: 1em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.btn--filter-pill-active {
    background: rgba(166, 181, 163, .5);
    border-color: transparent;
    font-weight: 500;
}

.btn--filter-pill-active .btn__icon {
    color: #071e13;
}

.btn--toggle {
    background: #fff;
    border: 1px solid #e8e5e2;
    border-radius: 3.5rem;
    color: rgba(37, 30, 30, .5);
    font-size: .875rem;
    font-weight: 400;
    letter-spacing: .0125em;
    line-height: 1.125;
    padding: 1em 1.4375em;
}

.btn--toggle-active {
    background: #d0825a;
    border-color: #d0825a;
    color: #fff;
}

.btn--back {
    --icon-height: 0.75em;
    --column-gap: 0.5833333333em;
    font-size: .75rem;
    padding-left: 0;
    padding-right: 0;
}

.btn--back.btn--icon-left {
    padding-left: 0;
}

.btn--contact-detail {
    --column-gap: 0.7777777778em;
    font-weight: 400;
    line-height: calc(1em + .625rem);
    padding: 0;
}

.btn--contact-detail .btn__label span {
    color: #251e1e;
    display: block;
    font-weight: 500;
    transition: color .3s ease-in-out;
}

[data-text=light] .btn--contact-detail .btn__label span {
    color: #fff;
}

.btn--contact-detail.btn--icon-left {
    padding: 0;
}

.btn--contact-detail .btn__icon {
    --icon-background: #fff;
    --icon-color: #251e1e;
    --icon-height: 0.8333333333em;
    --icon-o: 3.3333333333em;
}

.gfield_label,
.label--std {
    background-color: var(--current-background);
    border-radius: .375rem;
    bottom: calc(100% - .61538em);
    display: inline-block;
    font-size: .8125rem;
    font-weight: 400;
    letter-spacing: .0153846154em;
    line-height: 1.3846153846;
    margin-left: .9375rem;
    max-width: calc(100% - 1.875rem - var(--column-gap, 1.25rem));
    padding: 0 .7692307692em;
    position: absolute;
    z-index: 1;
}

.panel--white .gfield_label,
.panel--white .label--std {
    background-color: #fff;
}

.fields .field--error label .label--std,
.gfield_label-error,
.label--std-error {
    color: #c64f40;
}

.label--checkbox {
    color: rgba(37, 30, 30, .8);
    display: block;
    font-size: .8125rem;
    font-weight: 400;
    letter-spacing: .0142857143em;
    line-height: 1.3846153846;
}

.panel--black .label--checkbox,
.panel--dark .label--checkbox,
[data-text=light] .label--checkbox {
    color: hsla(0, 0%, 100%, .8);
}

.panel--light .label--checkbox,
.panel--white .label--checkbox,
[data-text=dark] .label--checkbox {
    color: rgba(37, 30, 30, .8);
}

.label--error,
.label--success {
    border-radius: .25rem;
    color: #c64f40;
    display: block;
    font-size: .875rem;
    letter-spacing: .0142857143em;
    line-height: 1.2857142857;
    margin-top: .3125rem;
}

.form--subscribe .label--error,
.form--subscribe .label--success,
.form-control--naked+.label--error,
.form-control--naked+.label--success {
    margin-top: 0;
    padding: 0 1.7857142857em .6428571429em;
}

.label--success {
    color: #b6d71e;
}

.fields {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: calc(var(--row-gap, 2.375rem)*-1);
    margin-left: calc(var(--column-gap, 1.25rem)*-1);
}

.fields>* {
    margin-bottom: var(--row-gap, 2.375rem);
    padding-left: var(--column-gap, 1.25rem);
}

.fields--nowrap {
    flex-wrap: nowrap;
}

.fields label {
    display: block;
    width: 100%;
}

.field {
    position: relative;
}

.field--half {
    width: 100%;
}

.field--full {
    width: 100%;
}

.field--grow {
    flex-grow: 1;
}

.field--flex {
    display: flex;
}

.field--flex-center {
    align-items: center;
}

.field--row-padding-sm {
    margin-bottom: 1rem;
}

.field--row-padding-md {
    margin-bottom: 1.1875rem;
}

.field--row-padding-none {
    margin-bottom: 0;
}

.field--submit .btn {
    height: 100%;
}

.form-control--pill {
    opacity: 0;
    position: absolute;
}

.form-control--pill-checked+.label,
.form-control--pill:checked+.label {
    background: rgba(166, 181, 163, .5);
    border-color: transparent;
    font-weight: 500;
}

.form-control--pill-checked+.label .label__icon,
.form-control--pill:checked+.label .label__icon {
    color: #071e13;
}

.form-control--pill+.label {
    align-items: center;
    border: .09375rem solid #e8e5e2;
    border-radius: 6.25rem;
    color: #071e13;
    display: flex;
    font-size: 1rem;
    font-weight: 400;
    height: 2.5em;
    justify-content: center;
    letter-spacing: .0125em;
    line-height: 1.125;
    min-width: 2.5em;
    padding: 0 .75em;
}

.form-control--pill+.label .label__icon {
    color: #e4d7cc;
    font-size: 1.125em;
}

.form-control--pill+.label .label__icon svg {
    display: block;
    font-size: 1em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.form-control--pill-alt+.label {
    border: none;
    padding: 0 1.1875em;
}

.form-control--pill-wide+.label {
    padding: 0 1.125em;
}

.form-control--wedge {
    opacity: 0;
    position: absolute;
}

.form-control--wedge+.label {
    align-items: center;
    border-radius: .1875rem;
    color: rgba(37, 30, 30, .5);
    display: flex;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1;
    padding: 1.2142857143em 1.5em;
}

.form-control--wedge+.label .label__icon {
    color: rgba(37, 30, 30, .1);
    font-size: .8571428571em;
    margin-right: 1.2857142857em;
    order: -1;
}

.form-control--wedge+.label .label__icon svg {
    display: block;
    font-size: 1em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.form-control--wedge-checked+.label,
.form-control--wedge:checked+.label {
    color: #251e1e;
}

.form-control--wedge-checked+.label .label__icon,
.form-control--wedge:checked+.label .label__icon {
    color: #251e1e;
}

.swiper-arrow {
    display: block;
}

.swiper-arrow .swiper-arrow__icon {
    display: block;
    font-size: .875rem;
}

.swiper-arrow .swiper-arrow__icon svg {
    display: block;
    font-size: 1em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.swiper-arrow--prev .swiper-arrow__icon {
    transform: scaleX(-1);
}

.swiper-arrow--plain .swiper-arrow__icon {
    align-items: center;
    background: transparent;
    border-radius: 100%;
    display: flex;
    font-size: clamp(.625rem, .9722222222vw, .875rem);
    height: 1.5625rem;
    height: auto;
    justify-content: center;
    justify-content: flex-end;
    width: 1.5625rem;
    width: auto;
}

.swiper-arrow--arrow {
    background: var(--current-background);
}

.swiper-arrow--arrow .swiper-arrow__icon {
    align-items: center;
    display: flex;
    font-size: .75rem;
    height: 1.875rem;
    justify-content: center;
    width: clamp(1.4375rem, 3.5416666667vw, 3.1875rem);
}

.shape[data-colour=lavender] {
    color: #a5a5e4;
}

.shape[data-colour=perano] {
    color: #a6c2f0;
}

.shape[data-colour=japonica] {
    color: #d0825a;
}

.shape[data-colour=royalblue] {
    color: #2f54e6;
}

.shape[data-colour=white] {
    color: #fff;
}

.shape[data-colour=thunder] {
    color: #251e1e;
}

.shape[data-colour=norway] {
    color: #a6b5a3;
}

.shape[data-colour=outerspace] {
    color: #2a3e3e;
}

.shape[data-colour=bayofmany] {
    color: #233185;
}

.shape[data-colour=palmgreen] {
    color: #071e13;
}

.shape[data-colour=ebonyclay] {
    color: #252a35;
}

.shape svg {
    display: block;
    height: auto;
    width: 100%;
}

.main-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.main-wrapper main {
    flex-grow: 1;
}

.hamburger {
    align-items: center;
    display: flex;
    font-size: 1.5rem;
    position: relative;
}

.hamburger svg {
    display: block;
    font-size: 1em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.hamburger svg [fill] {
    fill: var(--text-color, #251e1e);
}

.hamburger__label {
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: .0526315789em;
    line-height: .9473684211;
    order: 1;
    padding-left: .8333333333em;
    text-transform: uppercase;
}

.mega-menu {
    left: 0;
    position: fixed;
    top: 0;
    width: auto;
}

[data-menu-open=false] .mega-menu {
    opacity: 0;
    visibility: hidden;
}

.logo {
    display: block;
    max-width: clamp(5.3125rem, 10.4166666667vw, 9.375rem);
    position: relative;
    width: 100%;
}

.logo:before {
    content: "";
    display: block;
    padding-top: 25.3333333333%;
    width: 100%;
}

.logo svg {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    position: absolute;
    top: 0;
    width: 100%;
}

.logo svg.fill [fill] {
    fill: var(--text-color, currentColor);
}

[data-header-spacer] {
    padding-top: var(--header-height, 3.875rem);
}

.header-main {
    color: var(--text-color, #251e1e);
    left: 0;
    padding: 1.0625rem 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
}

.is-intro .header-main {
    transform: translateY(-100%);
}

[data-header-colour=light] .header-main {
    --text-color: #fff;
    color: var(--text-color, #fff);
}

.header-main .header__inner {
    display: grid;
    grid-template-areas: "hamburger logo cta""menu menu menu";
    grid-template-columns: 1fr auto 1fr;
}

.header-main .header__hamburger {
    grid-area: hamburger;
    position: relative;
}

.header-main .header__logo {
    grid-area: logo;
    min-width: 9.375rem;
    position: relative;
    z-index: 1;
}

.header-main .header__cta {
    grid-area: cta;
    text-align: right;
}

.header-main .header__cta .btn--cta {
    --icon-height: 0.7894736842em;
    color: var(--text-color, #251e1e);
    padding-right: .25rem;
    transition: none;
}

.header-main .header__cta .btn--cta svg.fill [fill] {
    fill: var(--text-color, #251e1e);
}

.header-main .header__cta .btn--cta.btn--icon .btn__icon-inner {
    position: unset;
}

.header-main .header__menu {
    grid-area: menu;
}

@media (min-width:768px) {
    .container {
        width: 90%;
    }

    .container--full {
        width: 100%;
    }

    .show-break {
        display: none;
    }

    .banner--our-process .btn--pause-video {
        --icon-height: 4.375rem;
        --background: #000;
        --icon-background: #2f54e6;
        --icon-colour: #000;
        margin-top: -5.25rem;
        min-width: 10.5rem;
    }

    .banner--our-process .btn--pause-video .btn__icon {
        padding: 3rem 3rem 0;
    }
}

@media (min-width:992px) {
    .text--lead {
        margin-bottom: 2.2307692308em;
    }

    .h2,
    h2 {
        margin-bottom: 1.0909090909em;
    }

    blockquote {
        letter-spacing: .0083333333em;
        line-height: 1.5;
    }

    .show-mobile {
        display: none !important;
    }

    .btn--pause-video {
        border-radius: 6.25rem 6.25rem 0 0;
        min-width: 11.25rem;
        padding: 4.0625rem 2.375rem 3.875rem;
    }

    .btn--pause-video-alt,
    .section--video .btn--pause-video {
        min-width: 10.5rem;
        padding: 3.125rem .625rem 3.5rem;
    }

    .btn--pause-video-padding {
        min-width: unset;
        padding: 0;
    }

    .field--half {
        width: 50%;
    }

    .hamburger {
        font-size: 1.6791666667rem;
    }

    .hamburger__label {
        font-size: 1.1875rem;
    }

    [data-header-spacer] {
        padding-top: var(--header-height, 5.0625rem);
    }

    .header-main .container {
        padding-left: 1.6875rem;
        padding-right: 1.6875rem;
    }

    .header-main .header__hamburger {
        z-index: 1;
    }
}

@media (min-width:1200px) {
    .text--lead {
        font-size: 1.3541666667rem;
    }

    blockquote {
        font-size: 1.25rem;
    }

    .btn--pause-video {
        font-size: .8333333333rem;
    }

    .hamburger {
        font-size: 2.03125rem;
    }
}

@media (min-width:1440px) {
    body {
        font-size: 1.125rem;
    }

    .text--lead {
        font-size: 1.625rem;
    }

    blockquote {
        font-size: 1.5rem;
    }

    .btn--solid {
        font-size: 1.125rem;
    }

    .btn--link {
        font-size: 1.125rem;
    }

    .btn--pause-video {
        font-size: 1rem;
    }

    .btn--toggle {
        font-size: 1rem;
    }

    .hamburger {
        font-size: 2.4375rem;
    }
}

@media (max-width:991px) {
    .container--gutter-sm {
        padding-left: .9375rem;
        padding-right: .9375rem;
    }

    .hide-mobile {
        display: none;
    }

    .btn--pause-video-alt,
    .section--video .btn--pause-video {
        bottom: 0;
        height: calc(100% + 3.6875rem);
        left: 0;
        min-height: 9.3125rem;
        position: absolute;
    }

    .btn--pause-video-hide-mobile-label {
        border-radius: 6.25rem;
        min-width: 0;
        padding: 1.25rem;
    }

    .btn--pause-video-hide-mobile-label .btn__inner {
        grid-template-areas: "icon";
    }

    .btn--pause-video-padding.btn--pause-video-hide-mobile-label {
        padding: 0;
    }

    .mega-menu {
        opacity: 1;
        visibility: visible;
        width: 100%;
    }

    .header-main,
    .header-main-mobile {
        padding: .9375rem 0;
    }

    .header-main .container,
    .header-main-mobile .container {
        padding-left: .9375rem;
        padding-right: .9375rem;
    }

    .header-main .header__inner,
    .header-main-mobile .header__inner {
        grid-template-areas: "hamburger logo""menu menu";
        grid-template-columns: auto 1fr;
    }

    .header-main .header__cta,
    .header-main-mobile .header__cta {
        display: none;
    }

    .header-main .header__logo,
    .header-main-mobile .header__logo {
        align-self: flex-start;
        padding-left: .25rem;
    }

    .header-main .header__logo .logo,
    .header-main-mobile .header__logo .logo {
        margin-left: auto;
    }
}

@media (max-width:767px) {
    .hide-break {
        display: none;
    }
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
    .notification-outdated-browser {
        display: block;
    }
}

.card--article-banner {
    background: var(--background, #071e13);
    color: var(--colour, #a6b5a3);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5555555556;
}

.card--article-banner .card__inner {
    -moz-column-gap: .9375rem;
    column-gap: .9375rem;
    display: grid;
    grid-template-areas: "content""image";
    row-gap: 1.4375rem;
}

.card--article-banner .card__link a {
    --column-gap: 0.8125rem;
    border: 1px solid var(--outline, hsla(0, 0%, 100%, .1));
    border-radius: 6.25rem;
    font-size: .875rem;
    letter-spacing: .0142857143em;
    padding: .7857142857em 1.0714285714em .7857142857em 1.5em;
}

.card--article-banner .card__content {
    grid-area: content;
}

.card--article-banner .card__content-inner {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    max-width: 21.875rem;
}

.card--article-banner .card__meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: .875rem;
    margin-bottom: clamp(1.5rem, 2.9861111111vw, 2.6875rem);
    margin-left: calc(var(--column-gap, .9375rem)*-1);
    order: -1;
}

.card--article-banner .card__meta>* {
    margin-bottom: var(--row-gap, .3125rem);
    padding-left: var(--column-gap, .9375rem);
}

.card--article-banner .card__meta p {
    margin: 0;
    opacity: .7;
}

.card--article-banner .card__meta .card__category {
    font-weight: 500;
    opacity: 1;
}

.card--article-banner .card__meta .card__category a {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
}

.card--article-banner .card__meta .bullet-wedge {
    display: block;
    font-size: .7142857143em;
}

.card--article-banner .card__meta .bullet-wedge svg {
    display: block;
    font-size: 1em;
    height: 1em;
    position: relative;
    top: .3em;
    width: var(--icon-width, 1em);
}

.card--article-banner .card__title {
    font-size: 1.875rem;
    font-weight: 400;
    line-height: calc(1em + .625rem);
    margin-bottom: .7666666667em;
}

.card--article-banner .card__image {
    position: relative;
    width: 100%;
}

.card--article-banner .card__image-mask {
    position: relative;
    z-index: 1;
}

.card--article-banner .card__image-mask:before {
    content: "";
    display: block;
    padding-top: 80.6451612903%;
    width: 100%;
}

.card--article-banner .card__image-wrap {
    grid-area: image;
}

.card--article-banner .card__image img {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

.card--article-banner .card__image-shape {
    display: block;
    height: auto;
    position: absolute;
}

.card--article-banner .card__image-shape:before {
    content: "";
    display: block;
    padding-top: 98.8313856427%;
    width: 100%;
}

.card--article-banner .card__image-shape svg {
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.card--article-banner .card__image-shape svg [fill] {
    fill: var(--shape-colour, currentColor);
}

.card--article-banner[data-theme=palmgreen] {
    --background: #071e13;
    --colour: #a6b5a3;
}

.card--article-banner[data-theme=bayofmany] {
    --background: #233185;
    --colour: #a6c2f0;
    --outline: rgba(166, 194, 240, .29);
}

.card--article-banner[data-theme=thunder] {
    --background: #251e1e;
    --colour: #d0825a;
}

f .card--article-banner[data-theme=pearlbush] {
    --background: #e4d7cc;
    --colour: #251e1e;
    --outline: rgba(37, 30, 30, .1);
}

.card--article-banner[data-theme=mojo] {
    --background: #e4d7cc;
    --colour: #78260a;
    --shape-colour: #c64f40;
    --outline: rgba(120, 38, 10, .1);
}

.card--article-banner[data-theme=norway] {
    --background: #a6b5a3;
    --colour: #464226;
    --outline: rgba(70, 66, 38, .2);
}

.card--article-banner[data-theme=sandybrown] {
    --background: #ed9b53;
    --colour: #78260a;
    --outline: rgba(120, 38, 10, .1);
}

.card--article-banner[data-theme=lavender] {
    --background: #a5a5e4;
    --colour: #3f4ab2;
    --outline: rgba(63, 74, 178, .1);
}

.card--article-banner[data-shape=arch] .card__image {
    max-width: none;
    width: 100%;
}

.card--article-banner[data-shape=arch] .card__image-mask {
    -webkit-clip-path: url(#banner-article-arch);
    clip-path: url(#banner-article-arch);
    position: relative;
}

.card--article-banner[data-shape=arch] .card__image-mask:before {
    content: "";
    display: block;
    padding-top: 128.8888888889%;
    width: 100%;
}

.card--article-banner[data-shape=arch] .card__image-wrap {
    margin-left: auto;
    max-width: 28.125rem;
    width: 85.4651162791%;
}

.card--article-banner[data-shape=arch] .card__image .card__image-shape {
    left: 27.8911564626%;
    top: 22.7748691099%;
    width: 83.6734693878%;
}

.card--article-banner[data-shape=window] .card__image {
    width: 100%;
}

.card--article-banner[data-shape=window] .card__image-mask {
    -webkit-clip-path: url(#banner-article-window);
    clip-path: url(#banner-article-window);
    position: relative;
}

.card--article-banner[data-shape=window] .card__image-mask:before {
    content: "";
    display: block;
    padding-top: 130.2222222222%;
    width: 100%;
}

.card--article-banner[data-shape=window] .card__image-wrap {
    margin-left: auto;
    max-width: 28.125rem;
    width: 85.4651162791%;
}

.card--article-banner[data-shape=window] .card__image .card__image-shape {
    left: 27.8911564626%;
    top: 22.7748691099%;
    width: 83.6734693878%;
}

.card--article-banner[data-shape=semi] .card__image {
    max-width: 100%;
    width: 100%;
}

.card--article-banner[data-shape=semi] .card__image-mask {
    -webkit-clip-path: url(#banner-article-semi);
    clip-path: url(#banner-article-semi);
    position: relative;
}

.card--article-banner[data-shape=semi] .card__image-mask:before {
    content: "";
    display: block;
    padding-top: 50%;
    width: 100%;
}

.card--article-banner[data-shape=semi] .card__image-wrap {
    display: block;
    margin: 0 auto;
    max-width: 45.375rem;
    padding-bottom: 12.213740458%;
    padding-top: 16.9211195929%;
    width: 85.4651162791%;
}

.card--article-banner[data-shape=semi] .card__image .card__image-shape {
    bottom: auto;
    left: 2.3774145617%;
    right: auto;
    top: -27.9761904762%;
    width: 82.5068870523%;
}

.card--article-banner[data-shape=house] .card__image {
    width: 100%;
}

.card--article-banner[data-shape=house] .card__image-mask {
    -webkit-clip-path: url(#banner-article-house);
    clip-path: url(#banner-article-house);
    position: relative;
}

.card--article-banner[data-shape=house] .card__image-mask:before {
    content: "";
    display: block;
    padding-top: 85.5513307985%;
    width: 100%;
}

.card--article-banner[data-shape=house] .card__image-wrap {
    margin: 0 auto;
    max-width: 32.875rem;
    padding-bottom: 16.6454891995%;
    width: 79.0697674419%;
}

.card--article-banner[data-shape=house] .card__image .card__image-shape {
    bottom: auto;
    left: 45.2205882353%;
    max-width: none;
    right: auto;
    top: 42.2413793103%;
    width: 80.8823529412%;
}

.card--article-banner[data-shape=house] .card__image .card__image-shape svg {
    transform: scale(-1);
}

.banner--single {
    background: var(--background, #071e13);
    color: var(--colour, #a6b5a3);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5555555556;
    overflow: hidden;
}

.banner--single .banner__inner {
    -moz-column-gap: .9375rem;
    column-gap: .9375rem;
    display: grid;
    grid-template-areas: "breadcrumbs""card";
    height: 100%;
    padding-bottom: 1.5rem;
    padding-top: .5rem;
    row-gap: 2.0625rem;
}

.banner--single .banner__breadcrumbs {
    grid-area: breadcrumbs;
}

.banner--single .banner__back-link {
    min-height: calc(var(--title-height, 7.625rem));
    position: relative;
}

.banner--single .banner__back-link>.text--rotate {
    display: block;
    position: absolute;
    top: 0;
    transform: rotate(-90deg) translateX(-100%);
    transform-origin: left top;
    white-space: nowrap;
}

.banner--single .banner__back-link .btn--link {
    --icon-height: 0.8571428571em;
    font-size: .75rem;
    opacity: .7;
    padding: 0 .5em 0 0;
}

.banner--single[data-theme=palmgreen] {
    --background: #071e13;
    --colour: #a6b5a3;
}

.banner--single[data-theme=bayofmany] {
    --background: #233185;
    --colour: #a6c2f0;
    --outline: rgba(166, 194, 240, .29);
}

.banner--single[data-theme=thunder] {
    --background: #251e1e;
    --colour: #d0825a;
}

.banner--single[data-theme=pearlbush] {
    --background: #e4d7cc;
    --colour: #251e1e;
    --outline: rgba(37, 30, 30, .1);
}

.banner--single[data-theme=mojo] {
    --background: #e4d7cc;
    --colour: #78260a;
    --shape-colour: #c64f40;
    --outline: rgba(120, 38, 10, .1);
}

.banner--single[data-theme=norway] {
    --background: #a6b5a3;
    --colour: #464226;
    --outline: rgba(70, 66, 38, .2);
}

.banner--single[data-theme=sandybrown] {
    --background: #ed9b53;
    --colour: #78260a;
    --outline: rgba(120, 38, 10, .1);
}

.banner--single[data-theme=lavender] {
    --background: #a5a5e4;
    --colour: #3f4ab2;
    --outline: rgba(63, 74, 178, .1);
}

.share-icons__inner {
    align-items: center;
    display: flex;
}

.share-icons .share-icons__title {
    color: #251e1e;
    font-size: .875rem;
    font-weight: 500;
    line-height: .1428571429em;
    margin: 0 1.25rem 0 0;
}

.share-icons ul {
    --column-gap: 1.5625rem;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    margin-left: calc(var(--column-gap, 0)*-1);
    padding: 0;
}

.share-icons ul li {
    margin: 0;
    padding: 0;
    padding-left: var(--column-gap, 0);
}

.share-icons .share-icon {
    color: #251e1e;
    font-size: 1.0625rem;
}

.share-icons .share-icon svg {
    display: block;
    font-size: 1em;
    height: auto;
    max-height: 1em;
    max-width: 1em;
    width: var(--icon-width, 1em);
}

.section--single-menu {
    margin-bottom: clamp(2.6875rem, 6.6666666667vw, 6rem);
    position: relative;
    z-index: 5;
}

.section--single-menu .section__inner {
    background: #e8e5e2;
    border-bottom: 1px solid rgba(37, 30, 30, .06);
    padding: 1.5rem 0 1.5rem 2.1875rem;
    position: relative;
}

.section--single-menu .section__inner:before {
    background: #e8e5e2;
    content: "";
    display: block;
    height: .125rem;
    left: 0;
    position: absolute;
    top: calc(100% - 1px);
    width: 100%;
    z-index: -1;
}

.breadcrumbs {
    color: rgba(37, 30, 30, .5);
    font-size: .875rem;
    font-weight: 400;
    letter-spacing: .0142857143em;
    line-height: 1.2857142857;
    position: relative;
}

.panel--light .breadcrumbs,
[data-text=light] .breadcrumbs {
    color: hsla(0, 0%, 100%, .5);
}

.breadcrumbs ol {
    display: flex;
    list-style: none;
    margin: 0 0 0 -.5rem;
    padding: 0;
}

.breadcrumbs ol a {
    text-decoration: none;
}

.breadcrumbs ol li {
    margin: 0;
    padding: 0 0 0 .5rem;
}

.breadcrumbs ol li+li {
    display: flex;
}

.breadcrumbs ol li+li:before {
    content: "/";
    padding-right: .5rem;
}

.breadcrumbs ol li:last-child a {
    color: #251e1e;
}

.panel--light .breadcrumbs ol li:last-child a,
[data-text=light] .breadcrumbs ol li:last-child a {
    color: #fff;
}

.breadcrumbs--rotated {
    min-height: var(--title-height, 7.8125rem);
    width: 1.2857142857em;
}

.breadcrumbs--rotated ol {
    position: absolute;
    transform: rotate(-90deg) translateX(-100%) translateY(50%);
    transform-origin: top left;
    white-space: nowrap;
}

.template-specifications .breadcrumbs--rotated {
    min-height: var(--title-height, 15rem);
}

.template-discover .breadcrumbs--rotated {
    min-height: var(--title-height, 7.8125rem);
}

.archive .breadcrumbs--rotated {
    min-height: var(--title-height, 11rem);
}

.section--related-article {
    background: var(--background, #071e13);
    color: var(--colour, #a6b5a3);
    overflow: hidden;
    padding-bottom: 6rem;
    padding-top: 1.875rem;
}

.section--related-article .section__inner {
    display: grid;
    grid-template-areas: "title card";
    grid-template-columns: auto 1fr;
    height: 100%;
}

.section--related-article .section__title {
    font-size: .875rem;
    font-weight: 500;
    grid-area: title;
    letter-spacing: .0142857143em;
    line-height: 1.2857142857;
    margin: 0;
    max-width: 12.8125rem;
    min-height: var(--title-height, 9.1875rem);
    min-width: 1.2857142857em;
    padding-top: 3.125rem;
    position: relative;
    width: 1.2857142857em;
    width: calc(50vw - 35.3125rem);
}

.section--related-article .section__title>.text--rotate {
    bottom: -.5714285714em;
    display: block;
    position: absolute;
    transform: rotate(-90deg) translateX(-.5714285714em);
    transform-origin: left top;
    white-space: nowrap;
}

.section--related-article .section__back-link {
    min-height: calc(var(--title-height, 0) + 4em);
    position: relative;
}

.section--related-article .section__back-link>.text--rotate {
    bottom: -.6666666667em;
    display: block;
    position: absolute;
    transform: rotate(-90deg);
    transform-origin: left top;
    white-space: nowrap;
}

.section--related-article .section__back-link .btn--link {
    --icon-height: 0.8571428571em;
    font-size: .75rem;
    opacity: .7;
}

.section--related-article[data-theme=palmgreen] {
    --background: #071e13;
    --colour: #a6b5a3;
}

.section--related-article[data-theme=bayofmany] {
    --background: #233185;
    --colour: #a6c2f0;
    --outline: rgba(166, 194, 240, .29);
}

.section--related-article[data-theme=thunder] {
    --background: #251e1e;
    --colour: #d0825a;
}

.section--related-article[data-theme=pearlbush] {
    --background: #e4d7cc;
    --colour: #251e1e;
    --outline: rgba(37, 30, 30, .1);
}

.section--related-article[data-theme=mojo] {
    --background: #e4d7cc;
    --colour: #78260a;
    --shape-colour: #c64f40;
    --outline: rgba(120, 38, 10, .1);
}

.section--related-article[data-theme=norway] {
    --background: #a6b5a3;
    --colour: #464226;
    --outline: rgba(70, 66, 38, .2);
}

.section--related-article[data-theme=sandybrown] {
    --background: #ed9b53;
    --colour: #78260a;
    --outline: rgba(120, 38, 10, .1);
}

.section--related-article[data-theme=lavender] {
    --background: #a5a5e4;
    --colour: #3f4ab2;
    --outline: rgba(63, 74, 178, .1);
}

@media (min-width:480px) {
    .card--article-banner[data-shape=arch] .card__image-wrap {
        margin: 0 auto;
    }

    .card--article-banner[data-shape=window] .card__image-wrap {
        margin: 0 auto;
    }
}

@media (min-width:768px) {
    .card--article-banner .card__inner {
        grid-template-areas: "content image";
        grid-template-columns: 50% 1fr;
    }

    .card--article-banner .card__link {
        margin-top: .75rem;
    }

    .card--article-banner .card__content {
        padding-bottom: 2.5rem;
        padding-top: clamp(3.9375rem, 9.8611111111vw, 8.875rem);
    }

    .card--article-banner .card__title {
        margin-bottom: .775em;
    }

    .card--article-banner .card__image-wrap {
        align-items: center;
        display: flex;
        flex-grow: 1;
        justify-content: center;
    }

    .card--article-banner[data-shape=arch] .card__image .card__image-shape {
        left: -21.1111111111%;
        top: 1.724137931%;
        width: 133.1111111111%;
    }

    .card--article-banner[data-shape=window] .card__image .card__image-shape {
        left: -21.1111111111%;
        top: 2.7303754266%;
        width: 133.1111111111%;
    }

    .card--article-banner[data-shape=semi] .card__image {
        margin: 0;
    }

    .card--article-banner[data-shape=house] .card__image {
        margin: clamp(1.9375rem, 4.0277777778vw, 3.625rem) 0 0;
    }

    .card--article-banner[data-shape=house] .card__image .card__image-shape {
        left: 46.5779467681%;
        top: 44.2222222222%;
        width: 72.8136882129%;
    }

    .banner--single {
        padding-bottom: 4.125rem;
    }

    .banner--single .banner__inner {
        grid-template-areas: "breadcrumbs card";
        grid-template-columns: auto 1fr;
        padding-top: 0;
    }

    .banner--single .banner__breadcrumbs {
        max-width: 12.8125rem;
        min-width: 5vw;
        padding-top: clamp(3.9375rem, 9.8611111111vw, 8.875rem);
        width: calc(50vw - 35.125rem);
    }

    .section--single-menu {
        margin-top: calc(var(--height, 4.125rem)*-1);
    }

    .section--single-menu .section__inner {
        max-width: calc(53.39623% + 2.1875rem);
        padding-left: calc(5vw + 2.1875rem);
        width: calc(95% - 2.1875rem);
    }

    .section--related-article .section__title {
        min-width: 5vw;
        padding-top: clamp(3.9375rem, 9.8611111111vw, 8.875rem);
    }
}

@media (min-width:768px) and (max-width:1199px) {
    .card--article-banner[data-shape=semi] .card__image-wrap {
        align-self: center;
    }
}

@media (min-width:992px) {
    .banner--single {
        padding-bottom: 5.1875rem;
    }

    .banner--single .banner__inner {
        padding-top: clamp(.5rem, 4.0972222222vw, 3.6875rem);
    }

    .share-icons ul {
        --column-gap: 1.8125rem;
    }

    .section--single-menu {
        margin-top: calc(var(--height, 5rem)*-1);
    }

    .section--single-menu .section__inner {
        padding-bottom: 1.9375rem;
        padding-top: 1.9375rem;
    }

    .section--related-article {
        padding-bottom: 2.125rem;
        padding-top: clamp(1.875rem, 9.0277777778vw, 8.125rem);
    }

    .section--related-article .section__inner {
        -moz-column-gap: .9375rem;
        column-gap: .9375rem;
    }
}

@media (min-width:1200px) {
    .card--article-banner .card__inner {
        grid-template-columns: 37.2881355932% 1fr;
    }

    .card--article-banner .card__content-inner {
        max-width: 22.9166666667rem;
    }

    .card--article-banner .card__title {
        font-size: 2.0833333333rem;
    }
}

@media (min-width:1247px) {
    .section--single-menu .section__inner {
        max-width: calc(50vw + 2.25rem);
        padding-left: calc(50vw - 33.125rem);
    }
}

@media (min-width:1440px) {
    .card--article-banner {
        font-size: 1.125rem;
    }

    .card--article-banner .card__content-inner {
        max-width: 27.5rem;
    }

    .card--article-banner .card__title {
        font-size: 2.5rem;
    }

    .banner--single {
        font-size: 1.125rem;
    }

    .banner--single .banner__back-link .btn--link {
        font-size: .875rem;
    }

    .share-icons .share-icon {
        font-size: 1.25rem;
    }

    .section--related-article .section__back-link .btn--link {
        font-size: .875rem;
    }
}

@media (max-width:991px) {
    .section--related-article>.container {
        padding-left: 1.625rem;
    }
}

@media (max-width:767px) {
    .card--article-banner .card__content-inner {
        max-width: 100%;
    }

    .card--article-banner[data-shape=semi] .card__image-wrap {
        align-items: center;
        display: flex;
    }

    .section--related-article .card--article-banner .card__inner {
        grid-template-areas: "image""content";
    }

    .section--related-article .card--article-banner .card__image {
        margin-left: .8125rem;
        margin-top: 0;
    }

    .section--related-article .card--article-banner .card__image-wrap {
        width: 68.9552238806%;
    }
}

.card--landing-cta {
    color: rgba(37, 30, 30, .7);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

[data-text=light] .card--landing-cta {
    color: hsla(0, 0%, 100%, .7);
}

.card--landing-cta .card__inner {
    display: grid;
    grid-template-areas: "image""content";
    position: relative;
    row-gap: clamp(.8125rem, 1.8055555556vw, 1.625rem);
}

.card--landing-cta .card__content {
    -moz-column-gap: .3125rem;
    column-gap: .3125rem;
    display: grid;
    grid-area: content;
    grid-template-areas: "title readmore""description description";
    grid-template-columns: 1fr auto;
}

.card--landing-cta .card__title {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.6;
    margin-bottom: .55em;
}

.card--landing-cta .card__image {
    background: rgba(37, 30, 30, .1);
    grid-area: image;
    overflow: hidden;
    position: relative;
}

.card--landing-cta .card__image:before {
    content: "";
    display: block;
    padding-top: 100%;
    width: 100%;
}

.card--landing-cta .card__image img {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    position: absolute;
    top: 0;
    width: 100%;
}

.card--landing-cta .card__link {
    text-decoration: none;
}

.card--landing-cta .card__title {
    color: #251e1e;
    grid-area: title;
}

[data-text=light] .card--landing-cta .card__title {
    color: #fff;
}

.card--landing-cta .card__description {
    grid-area: description;
}

.card--landing-cta .card__readmore {
    align-items: center;
    align-self: flex-start;
    background: rgba(37, 30, 30, .1);
    border-radius: 100%;
    color: #251e1e;
    display: flex;
    font-size: 1.875rem;
    grid-area: readmore;
    height: 1em;
    justify-content: center;
    width: 1em;
}

[data-text=light] .card--landing-cta .card__readmore {
    background: hsla(0, 0%, 100%, .1);
    color: #fff;
}

.card--landing-cta .card__readmore svg {
    display: block;
    font-size: .4em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.card--landing-cta-large .card__inner {
    row-gap: clamp(.8125rem, 1.3194444444vw, 1.1875rem);
}

.block-cta-grid .block__title {
    font-size: 1.875rem;
    font-weight: 400;
    letter-spacing: .004em;
    line-height: 1.1;
    margin-bottom: .72em;
}

.block-cta-grid .block__header {
    margin-bottom: clamp(3.125rem, 5.2777777778vw, 4.75rem);
    max-width: 39.875rem;
}

.block-cta-grid .block__ctas {
    -moz-column-gap: clamp(1.25rem, 2.7777777778vw, 2.5rem);
    column-gap: clamp(1.25rem, 2.7777777778vw, 2.5rem);
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 18.75rem), 1fr));
    justify-content: center;
    row-gap: clamp(3.125rem, 5.1388888889vw, 4.625rem);
}

@media (min-width:768px) and (max-width:1199px) {
    .block-cta-grid .block__ctas {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width:992px) {
    .card--landing-cta {
        line-height: 1.5555555556;
    }

    .card--landing-cta .card__content {
        padding: 0 .8125rem;
    }

    .card--landing-cta .card__title {
        margin-bottom: .9em;
    }

    .card--landing-cta-large .card__content {
        padding: 0;
    }

    .card--landing-cta-large .card__title {
        margin-bottom: .4em;
    }

    .block-cta-grid .block__title {
        font-size: 2.1527777778rem;
    }
}

@media (min-width:1200px) {
    .block-cta-grid .block__title {
        font-size: 2.6041666667rem;
    }
}

@media (min-width:1440px) {
    .card--landing-cta {
        font-size: 1.125rem;
    }

    .block-cta-grid .block__title {
        font-size: 3.125rem;
    }
}

@media screen and (min-width: 768px) {
    .page-template-template-awards-archive .about-header {
        margin-block-end: 0;
    }
}