.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(/app/themes/jc-sar_v_sri/public/fonts/matter-regular.woff2?27a8b68aee19e9fbad861b2c8f951fde) format("woff2"), url(/app/themes/jc-sar_v_sri/public/fonts/matter-regular.woff?9e3b13876e0a0fcd57d02e47bce62dde) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: italic;
    font-weight: 400;
    src: url(/app/themes/jc-sar_v_sri/public/fonts/matter-regularitalic.woff2?8f3f58d7be02cde4c50e39101014b8d9) format("woff2"), url(/app/themes/jc-sar_v_sri/public/fonts/matter-regularitalic.woff?bdb4685b7060b6f3ec7fef3e74122886) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 500;
    src: url(/app/themes/jc-sar_v_sri/public/fonts/matter-medium.woff2?7386a39290b930b65e47009437118f3e) format("woff2"), url(/app/themes/jc-sar_v_sri/public/fonts/matter-medium.woff?64d39d9c4de640790e68786074dd7b91) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 700;
    src: url(/app/themes/jc-sar_v_sri/public/fonts/matter-bold.woff2?e314f5ff376ac08d3a59f519a05ad2ee) format("woff2"), url(/app/themes/jc-sar_v_sri/public/fonts/matter-bold.woff?e89a4502babbee127c3db37c79ed9035) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 600;
    src: url(/app/themes/jc-sar_v_sri/public/fonts/matter-semibold.woff2?be09ed58dfcb141874245e2702164d82) format("woff2"), url(/app/themes/jc-sar_v_sri/public/fonts/matter-semibold.woff?f6b9d2fd30703902726113500fbe2283) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Matter;
    font-style: normal;
    font-weight: 300;
    src: url(/app/themes/jc-sar_v_sri/public/fonts/matter-light.woff2?233f31dcdc79e7670c456f7fbc0e3b7a) format("woff2"), url(/app/themes/jc-sar_v_sri/public/fonts/matter-light.woff?132e9201001c28bc686b0a22b7bf39b6) format("woff");
}

@font-face {
    font-display: swap;
    font-family: Iskry;
    font-style: normal;
    font-weight: 400;
    src: url(/app/themes/jc-sar_v_sri/public/fonts/iskry-regular.woff2?7300b3e5fe74f9fe3972565b1dfe99d2) format("woff2");
}

@font-face {
    font-display: swap;
    font-family: Iskry;
    font-style: normal;
    font-weight: 700;
    src: url(/app/themes/jc-sar_v_sri/public/fonts/iskry-bold.woff2?fb4580c63269d6fc92aa2226c9f0020c) 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: #482e05;
    background-color: #482e05;
}

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: #da0517;
    color: #fff;
    text-align: center;
}

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: #f3af42;
}

[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, #f3af42);
    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: #482e05;
    --icon-colour: #482e05;
    --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: #482e05;
    --icon-background: #2f54e6;
    --icon-colour: #482e05;
    --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: #482e05;
    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: #482e05;
}

.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: #482e05;
}

.form-control--pill+.label {
    align-items: center;
    border: .09375rem solid #e8e5e2;
    border-radius: 6.25rem;
    color: #482e05;
    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: #f3af42;
}

.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: #482e05;
}

.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;
    }
}

.banner--archive-designs {
    margin-bottom: clamp(2.625rem, 7.2222222222vw, 6.5rem);
}

.banner--archive-designs .banner__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-top: clamp(2.375rem, 7.5694444444vw, 6.8125rem);
}

.banner--archive-designs .banner__filter {
    flex-grow: 1;
}

.banner--archive-designs .banner__layout-switch {
    align-items: center;
    display: flex;
}

.banner--archive-designs .banner__title {
    flex-shrink: 0;
    font-size: 2.5rem;
    margin-bottom: .9em;
}

.filter--designs {
    --column-gap: 0.3125rem;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0 0 2.5rem;
}

.filter--designs>ul {
    display: flex;
    flex-shrink: 0;
    margin: 0;
    margin-bottom: calc(var(--column-gap)*-1);
    margin-left: calc(var(--column-gap)*-1);
    padding: 0;
}

.filter--designs>ul>li {
    margin: 0;
    margin-bottom: var(--column-gap);
    margin-left: var(--column-gap);
    padding: 0;
}

.filter--designs>ul>li:first-child>a {
    padding: 0 1.125em;
}

.filter--designs a {
    align-items: center;
    border: .09375rem solid #e8e5e2;
    border-radius: 6.25rem;
    color: #482e05;
    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;
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
    transition-duration: .3s;
    transition-property: background, border-color;
    transition-timing-function: ease-in-out;
}

.filter--designs a:hover,
html:not(.no-focus-outline) .filter--designs a:focus {
    background: #e8e5e2;
}

.filter--designs a[aria-current] {
    background: rgba(166, 181, 163, .5);
    border-color: transparent;
    font-weight: 500;
}

.filter--designs h2 {
    color: #482e05;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.125;
    margin-bottom: .625rem;
    padding: 0;
    text-align: center;
    width: 100%;
}

.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;
}

.card--design {
    background: #251e1e;
    color: #fff;
}

.card--design .card__inner {
    height: 100%;
    position: relative;
    z-index: 1;
}

.card--design .card__link {
    color: currentColor;
    text-decoration: none;
}

.card--design .card__caption {
    align-items: flex-start;
    bottom: 0;
    display: block;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    left: 0;
    padding: 1.875rem;
    position: absolute;
    width: 100%;
    z-index: 1;
}

.card--design .card__caption-alt {
    align-items: flex-end;
    bottom: 0;
    display: block;
    display: flex;
    flex-direction: row;
    height: 100%;
    justify-content: space-between;
    left: 0;
    opacity: 0;
    padding: .5rem;
    position: absolute;
    visibility: hidden;
    width: 100%;
    z-index: 1;
}

.card--design .card__caption-alt-inner {
    align-items: center;
    background: #251e1e;
    display: flex;
    padding: .625rem .75rem;
    white-space: nowrap;
}

.card--design .card__caption-alt-icon {
    align-items: center;
    background: hsla(0, 0%, 100%, .1);
    border-radius: 100%;
    color: #fff;
    display: flex;
    flex-shrink: 0;
    font-size: 1.625rem;
    height: 1em;
    justify-content: center;
    margin-left: 1.25rem;
    width: 1em;
}

.card--design .card__caption-alt-icon svg {
    display: block;
    font-size: .75rem;
    height: 1em;
    width: var(--icon-width, 1em);
}

.card--design .card__caption-alt-content {
    flex-grow: 1;
}

.card--design .card__caption-alt-image {
    flex-shrink: 0;
    margin-right: .75rem;
    order: -1;
    position: relative;
    width: 3.3125rem;
}

.card--design .card__caption-alt-image:before {
    content: "";
    display: block;
    padding-top: 84.9056603774%;
    width: 100%;
}

.card--design .card__caption-alt-image img {
    -webkit-clip-path: polygon(30.5% 0, 100% 31.4%, 100% 100%, 0 100%, 0 25.6%);
    clip-path: polygon(30.5% 0, 100% 31.4%, 100% 100%, 0 100%, 0 25.6%);
    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--design .card__caption-alt-specifications {
    margin-bottom: 1.125rem;
    opacity: 0;
}

.card--design .card__content {
    align-items: flex-end;
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    width: 100%;
}

.card--design .card__cta {
    align-items: center;
    border: 1px solid hsla(0, 0%, 100%, .2);
    border-radius: 100%;
    display: flex;
    font-size: 1.875rem;
    height: 1em;
    justify-content: center;
    width: 1em;
}

.card--design .card__cta svg {
    display: block;
    font-size: .75rem;
    height: 1em;
    width: var(--icon-width, 1em);
}

.card--design .card__title {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: .0125em;
    line-height: .875;
    margin: 0;
}

.card--design .card__title-inner {
    display: flex;
}

.card--design .card__title .title__icon {
    color: #78260a;
    font-size: .8125em;
}

.card--design .card__title .title__icon svg {
    display: block;
    font-size: 1em;
    height: 1em;
    width: var(--icon-width, 1em);
}

.card--design .card__image {
    background-image: linear-gradient(180deg, transparent 0, rgba(0, 0, 0, .013) 8.1%, rgba(0, 0, 0, .049) 15.5%, rgba(0, 0, 0, .104) 22.5%, rgba(0, 0, 0, .175) 29%, rgba(0, 0, 0, .259) 35.3%, rgba(0, 0, 0, .352) 41.2%, rgba(0, 0, 0, .45) 47.1%, rgba(0, 0, 0, .55) 52.9%, rgba(0, 0, 0, .648) 58.8%, rgba(0, 0, 0, .741) 64.7%, rgba(0, 0, 0, .825) 71%, rgba(0, 0, 0, .896) 77.5%, rgba(0, 0, 0, .951) 84.5%, rgba(0, 0, 0, .987) 91.9%, #000);
    background-position: 0 125%;
    background-repeat: no-repeat;
    background-size: 100% 55%;
    min-height: 100%;
    position: relative;
}

.card--design .card__image:before {
    content: "";
    display: block;
    padding-top: 72.1804511278%;
    width: 100%;
}

.card--design .card__image img {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: var(--pos, left top);
    object-position: var(--pos, left top);
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.card--design .card__image-alt {
    opacity: 0;
}

.card--design .card__specifications {
    display: flex;
    flex-wrap: wrap;
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .0166666667em;
    line-height: 1.5;
    list-style: none;
    margin: 1.1875rem 0 0;
    overflow: hidden;
    padding: 0;
}

.card--design .card__specifications .text--icon {
    --gap: 0.4375rem;
    --icon-color: #a6b5a3;
}

.card--design .card__specifications li {
    display: flex;
    margin: 0;
    padding: 0 1.625rem 0 0;
}

.card--design .card__specifications li+li {
    position: relative;
}

.card--design .card__specifications li+li:before {
    background: hsla(0, 0%, 100%, .2);
    content: "";
    display: block;
    font-size: 1.5833333333em;
    height: 1em;
    left: -.8125rem;
    position: absolute;
    top: calc(50% - .5em);
    width: 1px;
}

.card--design .card__badge {
    background: #251e1e;
    border-radius: 6.25rem;
    display: block;
    line-height: 1;
    margin-left: .4375rem;
    padding: .3333333333em .5833333333em;
}

.card--design .card__description {
    color: #a6b5a3;
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .0166666667em;
    line-height: 1.1666666667;
    margin-top: .3125rem;
}

.card--design .card__readmore {
    display: none;
    margin-top: .8125rem;
}

.card--design .card__readmore .btn {
    font-size: .875rem;
}

.card--design.card--coming-soon {
    color: #482e05;
}

.card--design.card--coming-soon .card__title-inner {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: calc(var(--row-gap, 0)*-1);
    margin-left: calc(var(--column-gap, clamp(.9375rem, 1.8055555556vw, 1.625rem))*-1);
}

.card--design.card--coming-soon .card__title-inner>* {
    margin-bottom: var(--row-gap, 0);
    padding-left: var(--column-gap, clamp(.9375rem, 1.8055555556vw, 1.625rem));
}

.card--design.card--coming-soon .card__image {
    background-image: none;
}

.card--design-active:not(.card--coming-soon) .card__caption-alt-specifications,
.swiper-slide-active .slide--designs .card--design:not(.card--coming-soon) .card__caption-alt-specifications {
    opacity: 1;
}

.card--design-carousel .card__image:before {
    content: "";
    display: block;
    padding-top: 72.1804511278%;
    width: 100%;
}

.loader {
    font-size: 1.875rem;
    z-index: 5;
}

.loader__inner {
    -moz-column-gap: .625rem;
    column-gap: .625rem;
    display: grid;
    grid-template-columns: repeat(4, auto);
    justify-content: center;
}

.loader svg {
    display: block;
    height: 1em;
    width: var(--icon-width, 1em);
}

.slider--designs {
    display: flex;
    flex-direction: column;
}

.slider--designs .swiper-wrapper {
    order: -1;
}

.slider--designs:not(.swiper-initialized) .swiper-wrapper {
    margin-left: -1.125rem;
}

.slider--designs:not(.swiper-initialized) .swiper-wrapper>.swiper-slide {
    padding-left: 1.125rem;
}

.section--designs {
    color: #251e1e;
    margin-bottom: clamp(7.25rem, 9.1666666667vw, 8.25rem);
    overflow: hidden;
}

.section--designs .section__header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 4.375rem;
}

.section--designs .section__title {
    font-size: 2.25rem;
    margin: 0;
}

.section--designs .section__slider {
    position: relative;
}

.section--designs .section__slider .loader {
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.section--designs .section__slider.loading .swiper {
    opacity: .001;
}

.grid--designs {
    -moz-column-gap: 1.125rem;
    column-gap: 1.125rem;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 26.25rem), 1fr));
    justify-content: center;
    margin-bottom: clamp(6.8125rem, 11.1111111111vw, 10rem);
    row-gap: 1.125rem;
}

.grid--designs .grid-item--cta {
    order: 1;
}

@media (min-width:768px) {
    .slider--designs:not(.swiper-initialized) .swiper-wrapper {
        margin-left: -1.4375rem;
    }

    .slider--designs:not(.swiper-initialized) .swiper-wrapper>.swiper-slide {
        padding-left: 1.4375rem;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .grid--designs {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width:992px) {
    .banner--archive-designs .banner__inner {
        align-items: flex-end;
        flex-direction: row;
    }

    .banner--archive-designs .banner__header {
        flex-grow: 1;
        max-width: calc(50% - 3.625rem);
    }

    .banner--archive-designs .banner__filter {
        margin-bottom: .375rem;
        order: 1;
    }

    .banner--archive-designs .banner__title {
        font-size: 3.0138888889rem;
    }

    .banner--archive-designs .banner__title {
        margin: 0;
    }

    .filter--designs {
        flex-direction: row;
        margin: 0 0 0 auto;
        order: 1;
    }

    .filter--designs h2 {
        flex-grow: 1;
        margin-bottom: 0;
        margin-right: 1.25rem;
        text-align: right;
        width: auto;
    }

    .card--design.card--coming-soon .card__title-inner {
        justify-content: flex-start;
    }

    .card--design-active:not(.card--coming-soon) .card__caption,
    .swiper-slide-active .slide--designs .card--design:not(.card--coming-soon) .card__caption {
        opacity: 0;
        visibility: hidden;
    }

    .card--design-active:not(.card--coming-soon) .card__caption-alt,
    .swiper-slide-active .slide--designs .card--design:not(.card--coming-soon) .card__caption-alt {
        opacity: 1;
        visibility: visible;
    }

    .slider--designs .swiper-wrapper {
        margin-left: -7.65625rem;
    }
}

@media (min-width:1200px) {
    .banner--archive-designs .banner__title {
        font-size: 3.6458333333rem;
    }

    .section--designs .section__title {
        font-size: 2.6041666667rem;
    }
}

@media (min-width:1440px) {
    .banner--archive-designs .banner__title {
        font-size: 4.375rem;
    }

    .section--designs .section__title {
        font-size: 3.125rem;
    }
}

@media (max-width:991px) {

    .card--design-active.card--design-carousel .card__caption,
    .swiper-slide-active .slide--designs .card--design-carousel.card--design .card__caption {
        opacity: 1;
        transform: translateY(0);
    }

    .card--design-carousel {
        background: transparent;
        color: #251e1e;
    }

    .card--design-carousel .card__inner {
        display: flex;
        flex-direction: column;
    }

    .card--design-carousel .card__readmore {
        display: block;
    }

    .card--design-carousel .card__caption {
        align-items: stretch;
        height: auto;
        opacity: 0;
        padding-bottom: 0;
        padding-top: .9375rem;
        position: unset;
        text-align: center;
    }

    .card--design-carousel .card__content {
        display: none;
    }

    .card--design-carousel .card__title {
        font-size: 1.25rem;
        line-height: 1.5;
    }

    .card--design-carousel .card__title-inner {
        justify-content: center;
        transform: none !important;
    }

    .card--design-carousel .card__image {
        background-image: none;
        min-height: 0;
        order: -1;
    }

    .card--design-carousel .card__image:before {
        content: "";
        display: block;
        padding-top: 72.1804511278%;
        width: 100%;
    }

    .section--designs .section__header {
        clip: rect(0 0 0 0);
        border: 0;
        height: 1px;
        margin: -1px !important;
        overflow: hidden;
        padding: 0;
        position: absolute !important;
        width: 1px;
    }

    .section--designs .section__cta {
        display: none;
    }
}

@media (max-width:991px) and (prefers-reduced-motion:no-preference) {
    .card--design-carousel .card__caption {
        transform: translateY(.625rem);
    }
}

@media (prefers-reduced-motion:no-preference) {
    .card--design .card__content {
        opacity: 0;
    }

    .card--design .card__cta {
        transform: translateX(-.625rem);
    }

    .card--design .card__title-inner {
        transform: translateY(2.625em);
    }

    .card--design.card--coming-soon .card__title-inner {
        transform: none;
    }

    .card--design-active:not(.card--coming-soon) .card__caption-alt-specifications,
    .swiper-slide-active .slide--designs .card--design:not(.card--coming-soon) .card__caption-alt-specifications {
        transition-delay: .5s;
    }
}

@media screen and (min-width: 768px) {
    .page-template-template-awards-archive .about-header {
        margin-block-end: 0;
    }
}