/*
Theme Name: BRX London
Author: We Are Flourish
Author URI: https://weareflourish.com/
*/

/* resets
--------------------------------------------------------------------------
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; line-height: 1; overflow-y: scroll; box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }

article, aside, details, div, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { position: relative; display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
progress { vertical-align: baseline; }
[hidden], template { display: none; }

svg:not(:root) { overflow: hidden; }

img, iframe { border: 0; vertical-align: middle; }

strong { font-weight: bolder; }
em { font-style: italic; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

button, input, optgroup, select, textarea { margin: 0; font: inherit; font-size: 100%; line-height: 1; vertical-align: baseline; color: inherit; outline: 0; border-radius: 0; }
button, input, textarea { padding: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
label, button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; }
button, input[type="button"], input[type="reset"], input[type="submit"] { vertical-align: bottom; -webkit-appearance: button; }
button[disabled], input[disabled] { cursor: default; }
button { width: auto; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border: 0; padding: 0; }
input[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal { display: none; width: 0; height: 0; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

table { border-collapse: collapse; border-spacing: 0; }
th, td { vertical-align: top; }
th { font-weight: normal; text-align: left; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }

ul, ol { list-style: none; }
li { display: list-item; }

hr { box-sizing: content-box; height: 0; overflow: visible; }

a { color: #1C1C1C; background: transparent; text-decoration: none; cursor: pointer; text-decoration-skip: ink; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }

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

a, span, button { transition: color 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, opacity 0.4s ease, text-decoration-color 0.4s ease; }

/* global
--------------------------------------------------------------------------
*/

body { font: 500 62.5%/1 articulat-cf, 'Helvetica Neue', Arial, Helvetica, sans-serif; color: #1C1C1C; background: #F7F6F2; }

.anim,
.animc > * { position: relative; transform: translateY(50px); opacity: 0; transition: all 0.6s ease; }
.anim.inview,
.animc > *.inview { transition-delay: 0.4s; transform: translateY(0); opacity: 1; }

@media only screen and (min-width: 1024px) {
	.anim,
	.animc > * { transform: translateY(100px); }
	.anim.inview,
	.animc > *.inview { transform: translateY(0); }
}

@media only screen and (min-width: 1024px) {
	.anim,
	.animc > * { transform: translateY(5.208vw); }
	.anim.inview,
	.animc > *.inview { transform: translateY(0); }
}

.btn { width: 100%; padding: 14px 6px 12px 8px; font-weight: 700; font-size: 12px; color: #1C1C1C; background: none; border: 0.6px solid #1C1C1C; display: flex; justify-content: space-between; align-items: center; }
.btn:hover { color: #F7F6F2; background: #1C1C1C; }
.btn::before { width: 6px; height: 6px; background: #1C1C1C; border-radius: 50%; transition: background-color 0.4s ease; content: " "; display: block; }
.btn:hover::before { background: #F7F6F2; }
.btn.rv { color: #F7F6F2; border-color: #F7F6F2; }
.btn.rv:hover { color: #1C1C1C; background: #F7F6F2; }
.btn.rv::before { background: #F7F6F2; }
.btn.rv:hover::before { background: #1C1C1C; }

@media only screen and (min-width: 1024px) {
	.btn { padding: 1.167em 0.500em 1.000em 0.667em; font-size: 12px; border-width: 0.050em; }
	.btn::before { width: 0.500em; height: 0.500em; }
}

@media only screen and (min-width: 1024px) {
	.btn { font-size: 0.625vw; }
}

body > header { width: 27px; height: 100%; background: #F7F6F2; border-right: 0.6px solid rgba(28, 28, 28, 0.35); position: fixed; top: 0; left: 0; z-index: 50; }
body > header ul { font-weight: 700; font-size: 14px; text-transform: uppercase; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); }
body > header ul li button { background: none; border: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; appearance: none; -webkit-appearance: none; align-self: stretch; }
body > header ul li button .bars { width: 1.5px; height: 29px; background: #1C1C1C; position: relative; }
body > header ul li button .bars::before,
body > header ul li button .bars::after { width: 1.5px; height: 29px; background: #1C1C1C; position: absolute; top: 0; left: -4px; transition: all 0.4s ease; content: " "; display: block; }
body > header ul li button .bars::before { left: 4px; }
html.menu body > header ul li button .bars { background: #F7F6F2; }
html.menu body > header ul li button .bars::before,
html.menu body > header ul li button .bars::after { left: 0; transform: rotate(15deg); }
html.menu body > header ul li button .bars::after { transform: rotate(-15deg); }
body > header ul li button .text { position: relative; writing-mode: vertical-rl; text-orientation: mixed; white-space: nowrap; transform: rotate(180deg); }
body > header ul li button .text span + span { position: absolute; top: 0; left: 0; opacity: 0; }
html.menu body > header ul li button .text span { opacity: 0; }
html.menu body > header ul li button .text span + span { opacity: 1; }
body > header h1 { font-weight: 700; font-size: 16px; letter-spacing: 0.05em; text-transform: uppercase; position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%) rotate(180deg); writing-mode: vertical-lr; text-orientation: mixed; white-space: nowrap; }

@media only screen and (min-width: 1024px) {
	body > header { width: 54px; background: #F7F6F2; border-right-width: 0.6px; }
	body > header ul { font-size: 14px; top: 2.000em; }
	body > header ul li button { gap: 0.571em; }
	body > header ul li button .bars { width: 0.107em; height: 2.071em; }
	body > header ul li button .bars::before,
	body > header ul li button .bars::after { width: 0.107em; height: 2.071em; left: -0.286em; }
	body > header ul li button .bars::before { left: 0.286em; }
	html.menu body > header ul li button .bars::before,
	html.menu body > header ul li button .bars::after { left: 0; }
	body > header h1 { font-size: 16px; bottom: 1.750em; }
}

@media only screen and (min-width: 1024px) {
	body > header { width: 2.813vw; border-right-width: 0.031vw; }
	body > header ul { font-size: 0.729vw; }
	body > header h1 { font-size: 0.833vw; }
}

html.menu { overflow: hidden; }
body > .menu { width: 100%; height: 100%; padding: 20px 20px 20px 47px; background: #887268; position: fixed; top: 0; left: -100%; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; transition: left 0.4s ease-in-out; z-index: 49; }
html.menu body > .menu { left: 0; }
body > .menu nav { grid-row: 2; }
body > .menu nav ul { font-weight: 600; font-size: 48px; display: flex; flex-direction: column; gap: 1px; }
body > .menu nav ul li a { color: #F7F6F2; }
body > .menu nav ul li a:hover { opacity: 0.76; }
body > .menu > ul { grid-row: 3; align-self: end; }
body > .meny-overlay { display: none; }

@media only screen and (min-width: 1024px) {
	body > .menu { width: 581px; padding: 16px 16px 16px 71px; }
	body > .menu nav { padding: 0 12px; }
	body > .menu nav ul { font-size: 48px; gap: 0.021em; }
	body > .menu-overlay { width: 100%; height: 100%; background: rgba(255, 255, 255, 0.13); backdrop-filter: blur(3px) brightness(0.82); -webkit-backdrop-filter: blur(3px) brightness(0.82); position: fixed; top: 0; left: -100%; transition: left 0.4s ease-in-out; z-index: 48; display: block; }
	html.menu body > .menu-overlay { left: 0; }
}

@media only screen and (min-width: 1024px) {
	body > .menu { width: 30.26vw; padding: 0.833vw 0.833vw 0.833vw 3.698vw; }
	body > .menu nav { padding: 0 0.625vw; }
	body > .menu nav ul { font-size: 2.5vw; }
}

@keyframes zoom-in {
	0% { scale: 100%; }
	100% { scale: 250%; }
}
body.home { overflow: hidden; }
html.animated body.home { overflow: hidden; }
body > .landing { width: 100%; height: 100%; color: #F7F6F2; background: #887268; text-align: center; display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; z-index: 99; }
body > .landing p { font-weight: 700; font-size: 24px; text-transform: uppercase; text-indent: 0.05em; letter-spacing: 0.05em; }
html.animating body > .landing p { animation: zoom-in 2s ease; animation-fill-mode: forwards; }

@media (orientation: landscape) {
	body > .landing p { font-size: 48px; }
}

@media (orientation: landscape) {
	body > .landing p { font-size: 2.5vw; }
}

main { z-index: 2; }

main > .home-header { margin: 0 0 0 27px; color: #F7F6F2; background: #1C1C1C; height: 100vh; padding: 0 0 138px; display: flex; flex-direction: column; justify-content: center; }
main > .home-header > figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; }
main > .home-header > figure video { width: 100%; height: 100%; object-fit: cover; }
main > .home-header > figure::after { width: 100%; height: 100%; background: #1C1C1C; opacity: 0.49; position: absolute; top: 0; left: 0; content: " "; display: block; }
main > .home-header .heading { padding: 0 12px; }
main > .home-header .heading h1 { font-weight: 500; font-size: 24px; text-wrap: balance; }
main > .home-header .text { padding: 58px 12px 0; }
main > .home-header .text p { font-size: 14px; text-wrap: balance; }
main > .home-header .selected-work { width: calc( 100% - 8px - 8px ); color: #1C1C1C; background: #E7DFD6; position: absolute; bottom: 8px; right: 8px; }
main > .home-header .selected-work .slides .slide { padding: 14px 32px 4px 4px; }
main > .home-header .selected-work .slides .slide > h2 { padding: 0 0 4px; font-weight: 700; font-size: 14px; }
main > .home-header .selected-work .slides .slide a { display: grid; grid-template-columns: 160px 1fr; grid-template-rows: 1fr auto; gap: 0 4px; }
main > .home-header .selected-work .slides .slide a figure { grid-column: 1; grid-row: 1 / span 2; }
main > .home-header .selected-work .slides .slide a figure img { width: 100%; height: auto; }
main > .home-header .selected-work .slides .slide a p { padding: 0 0 12px; font-size: 11px; opacity: 0.29; grid-column: 2; grid-row: 1; align-self: end; }
main > .home-header .selected-work .slides .slide a h2 { font-size: 14px; grid-column: 2; grid-row: 2; }
main > .home-header .selected-work .slick-arrow { width: 28px; height: 50%; background: none; border: 0.6px solid #1C1C1C; border-width: 0 0 0 0.6px; position: absolute; top: 0; right: 0; text-align: center; display: flex; justify-content: center; align-items: center; z-index: 40; }
main > .home-header .selected-work .slick-arrow:hover { background: #1C1C1C; }
main > .home-header .selected-work .slick-arrow svg { width: 8px; height: auto; }
main > .home-header .selected-work .slick-arrow svg path { transition: fill 0.4s ease }
main > .home-header .selected-work .slick-arrow:hover svg path { fill: #F7F6F2; }
main > .home-header .selected-work .slick-prev { border-width: 0.6px 0 0 0.6px; top: auto; bottom: 0; }
main > .home-header .selected-work .slick-prev svg { transform: rotate(180deg); }

@media only screen and (min-width: 1024px) {
	main > .home-header { margin: 0 0 0 54px; padding: 0; display: grid; grid-template-columns: 1fr 500px; grid-template-rows: 1fr auto 1fr; }
	main > .home-header .heading { padding: 9px 32px; border-bottom: 1px solid rgba(247, 246, 242, 0.23); grid-column: 1; grid-row: 2; }
	main > .home-header .heading h1 { font-size: 60px; }
	main > .home-header .text { padding: 16px 200px 16px 0; border-bottom: 1px solid rgba(247, 246, 242, 0.23); grid-column: 2; grid-row: 2; align-self: end; }
	main > .home-header .text p { font-size: 16px; }
	main > .home-header .selected-work { width: 484px; bottom: 18px; right: 18px; }
	main > .home-header .selected-work .slides .slide { padding: 23px 46px 6px 6px; }
	main > .home-header .selected-work .slides .slide > h2 { padding: 0 0 0.313em; font-size: 16px; }
	main > .home-header .selected-work .slides .slide a { grid-template-columns: 222px 1fr; gap: 0 6px; }
	main > .home-header .selected-work .slides .slide a p { padding: 0 0 1.250em; font-size: 12px; }
	main > .home-header .selected-work .slides .slide a h2 { font-size: 16px; }
	main > .home-header .selected-work .slick-arrow { width: 40px; border-width: 0 0 0 0.6px; }
	main > .home-header .selected-work .slick-arrow svg { width: 8px; height: auto; }
	main > .home-header .selected-work .slick-prev { border-width: 0.6px 0 0 0.6px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-header { margin: 0 0 0 2.813vw; grid-template-columns: 1fr 26.042vw; }
	main > .home-header .heading { padding: 0.469vw 1.667vw; border-bottom-width: 0.052vw; }
	main > .home-header .heading h1 { font-size: 3.125vw; }
	main > .home-header .text { padding: 0.833vw 10.417vw 0.833vw 0; border-bottom-width: 0.052vw; }
	main > .home-header .text p { font-size: 0.833vw; }
	main > .home-header .selected-work { width: 25.208vw; bottom: 0.938vw; right: 0.938vw; }
	main > .home-header .selected-work .slides .slide { padding: 1.198vw 2.396vw 0.313vw 0.313vw; }
	main > .home-header .selected-work .slides .slide > h2 { font-size: 0.833vw; }
	main > .home-header .selected-work .slides .slide a { grid-template-columns: 11.563vw 1fr; gap: 0 0.313vw; }
	main > .home-header .selected-work .slides .slide a p { font-size: 0.625vw; }
	main > .home-header .selected-work .slides .slide a h2 { font-size: 0.833vw; }
	main > .home-header .selected-work .slick-arrow { width: 2.083vw; border-width: 0 0 0 0.031vw; }
	main > .home-header .selected-work .slick-arrow svg { width: 0.417vw; }
	main > .home-header .selected-work .slick-prev { border-width: 0.031vw 0 0 0.031vw; }
}

main > .selected-projects { padding: 45px 0 52px 27px; }
main > .selected-projects .heading { padding: 0 7px; }
main > .selected-projects .heading h2 { font-weight: 700; font-size: 16px; display: flex; align-items: center; gap: 12px; }
main > .selected-projects .heading h2::before { width: 5px; height: 5px; background: #1C1C1C; border-radius: 50%; content: " "; display: block; }
main > .selected-projects .text { padding: 52px 7px 0; }
main > .selected-projects .text p { font-weight: 600; font-size: 28px; text-indent: 78px; }
main > .selected-projects .project a { display: block; }
main > .selected-projects .project a figure img { width: 100%; height: auto; }
main > .selected-projects .project a h2 { padding: 9px 0 0; font-weight: 700; font-size: 16px; }
main > .selected-projects .project a p { font-weight: 700; font-size: 16px; opacity: 0.45; }
main > .selected-projects .project-1 { padding: 74px 136px 0 7px; }
main > .selected-projects .project-2 { padding: 32px 0 0 143px; }
main > .selected-projects .project-3 { padding: 47px 67px 0 61px; }
main > .selected-projects ul { margin: 65px 0 0; display: flex; justify-content: center; }
main > .selected-projects ul li { width: 256px; }

@media only screen and (min-width: 1024px) {
	main > .selected-projects { padding: 315px 17px 392px 78px; display: grid; grid-template-columns: 371px 532px 371px 1fr; }
	main > .selected-projects .heading { padding: 0; grid-column: 1; grid-row: 1; align-self: end; }
	main > .selected-projects .heading h2 { font-size: 24px; gap: 0.500em; }
	main > .selected-projects .heading h2::before { width: 0.250em; height: 0.250em; }
	main > .selected-projects .text { padding: 0; grid-column: 2 / span 2; grid-row: 1; }
	main > .selected-projects .text p { font-size: 72px; text-indent: 2.750em; }
	main > .selected-projects .project a h2 { padding: 0.500em 0 0; font-size: 24px; }
	main > .selected-projects .project a p { font-size: 24px; }
	main > .selected-projects .project-1 { padding: 160px 0 0; grid-column: 1 / span 2; grid-row: 2; }
	main > .selected-projects .project-2 { padding: 462px 0 0; grid-column: 4; grid-row: 2; }
	main > .selected-projects .project-3 { padding: 7px 404px 0 20px; grid-column: 3 / span 2; grid-row: 3; }
	main > .selected-projects ul { margin: 0; display: block; grid-column: 1; grid-row: 3; align-self: end; }
	main > .selected-projects ul li { width: 256px; }
}

@media only screen and (min-width: 1024px) {
	main > .selected-projects { padding: 16.406vw 0.885vw 20.417vw 4.063vw; grid-template-columns: 19.323vw 27.708vw 19.323vw 1fr; }
	main > .selected-projects .heading h2 { font-size: 1.25vw; }
	main > .selected-projects .text p { font-size: 3.75vw; }
	main > .selected-projects .project a h2 { font-size: 1.25vw; }
	main > .selected-projects .project a p { font-size: 1.25vw; }
	main > .selected-projects .project-1 { padding: 8.333vw 0 0; }
	main > .selected-projects .project-2 { padding: 24.063vw 0 0; }
	main > .selected-projects .project-3 { padding: 0.365vw 21.042vw 0 1.042vw; }
	main > .selected-projects ul li { width: 13.333vw; }
}

main > .about-header { padding: 0 0 0 27px; }
main > .about-header header { padding: 73px 47px 68px 48px; }
main > .about-header header h1 { font-weight: 500; font-size: 18px; }
main > .about-header .image { color: #F7F6F2; }
main > .about-header .image figure { position: relative; display: block; }
main > .about-header .image figure img { width: 100%; height: 663px; object-fit: cover; }
main > .about-header .image figure::after { width: 100%; height: 100%; background: #1C1C1C; opacity: 0.49; position: absolute; top: 0; left: 0; content: " "; display: block; }
main > .about-header .image .heading { display: none; }
main > .about-header .image .text { width: 222px; position: absolute; top: 10px; left: 48px; }
main > .about-header .image .text p { font-size: 12px; }

@media only screen and (min-width: 1024px) {
	main > .about-header { padding: 0 0 0 54px; }
	main > .about-header header { padding: 176px 744px 138px 622px; }
	main > .about-header header h1 { font-size: 32px; }
	main > .about-header .image figure img { height: 1204px; }
	main > .about-header .image .heading { position: absolute; top: 22px; left: 20px; display: block; }
	main > .about-header .image .heading h2 { font-weight: 700; font-size: 12px; }
	main > .about-header .image .text { width: 356px; top: 22px; left: 622px; }
	main > .about-header .image .text p { font-size: 16px; }
}

@media only screen and (min-width: 1024px) {
	main > .about-header { padding: 0 0 0 2.813vw; }
	main > .about-header header { padding: 9.167vw 38.75vw 7.187vw 32.396vw; }
	main > .about-header header h1 { font-size: 1.667vw; }
	main > .about-header .image figure img { height: 62.708vw; }
	main > .about-header .image .heading { top: 1.146vw; left: 1.042vw; }
	main > .about-header .image .heading h2 { font-size: 0.625vw; }
	main > .about-header .image .text { width: 18.542vw; top: 1.146vw; left: 32.396vw; }
	main > .about-header .image .text p { font-size: 0.833vw; }
}

main > .full-image { width: 100%; height: auto; }

main > .overview { margin: 0 0 63px; padding: 16px 75px 18px 39px; border-bottom: 0.6px solid rgba(28, 28, 28, 0.35); }
main > .overview .heading h2 { font-weight: 500; font-size: 20px; }
main > .overview .text { padding: 200px 0 0; }
main > .overview .text p { margin: 1em 0 0; font-size: 16px; }
main > .overview .text p:first-child { margin: 0 }
main > .overview .text ul { width: 256px; margin: 22px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .overview { margin: 0 0 119px; padding: 0; border-bottom-width: 0.6px; display: grid; grid-template-columns: 980px 1fr; }
	main > .overview .heading { padding: 27px 352px 18px 75px; }
	main > .overview .heading h2 { font-size: 48px; }
	main > .overview .text { padding: 35px 538px 18px 25px; border-left: 0.6px solid rgba(28, 28, 28, 0.35); }
	main > .overview .text p { font-size: 16px; }
	main > .overview .text ul { width: 256px; margin: 132px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .overview { margin: 0 0 6.198vw; border-bottom-width: 0.031vw; grid-template-columns: 51.042vw 1fr; }
	main > .overview .heading { padding: 1.406vw 18.333vw 0.938vw 3.906vw; }
	main > .overview .heading h2 { font-size: 2.5vw; }
	main > .overview .text { padding: 1.823vw 28.021vw 0.938vw 1.302vw; border-left-width: 0.031vw; }
	main > .overview .text p { font-size: 0.833vw; }
	main > .overview .text ul { width: 13.333vw; margin: 6.875vw 0 0; }
}

main > .text-image-promo { padding: 0 0 0 27px; background: #CEC6C3; }
main > .text-image-promo .text { padding: 74px 38px 12px 12px; }
main > .text-image-promo .text h2 { font-weight: 600; font-size: 12px; }
main > .text-image-promo .text p { margin: 1em 0 0; font-weight: 500; font-size: 20px; }
main > .text-image-promo .text ul { width: 256px; margin: 120px 0 0; }
main > .text-image-promo figure { position: relative; display: block; }
main > .text-image-promo figure img { width: 100%; height: 461px; object-fit: cover; }
main > .text-image-promo figure::after { width: 100%; height: 100%; background: #1C1C1C; opacity: 0.49; position: absolute; top: 0; left: 0; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .text-image-promo { padding: 0 0 0 75px; display: grid; grid-template-columns: 1fr 942px; }
	main > .text-image-promo .text { padding: 187px 196px 21px 0; display: flex; flex-direction: column; }
	main > .text-image-promo .text h2 { font-size: 16px; }
	main > .text-image-promo .text p { font-size: 40px; }
	main > .text-image-promo .text ul { width: 256px; margin: auto 0 0; }
	main > .text-image-promo figure img { height: 1085px; }
	main > .text-image-promo figure::after { display: none; }
}

@media only screen and (min-width: 1024px) {
	main > .text-image-promo { padding: 0 0 0 3.906vw; grid-template-columns: 1fr 49.063vw; }
	main > .text-image-promo .text { padding: 9.74vw 10.208vw 1.094vw 0; }
	main > .text-image-promo .text h2 { font-size: 0.833vw; }
	main > .text-image-promo .text p { font-size: 2.083vw; }
	main > .text-image-promo .text ul { width: 13.333vw; }
	main > .text-image-promo figure img { height: 56.51vw; }
}

main > .team { padding: 0 0 0 27px; border-bottom: 0.6px solid rgba(28, 28, 28, 0.35); }
main > .team .overview { padding: 60px 28px 60px 11px; border-bottom: 0.6px solid rgba(28, 28, 28, 0.35); }
main > .team .overview p { font-size: 16px; }
main > .team .slides .slide { width: calc( 100vw - 27px ); padding: 7px 7px 103px; }
main > .team .slides .slide .image figure img { width: 100%; height: auto; }
main > .team .slides .slide .image .text { width: 100%; height: 100%; padding: 119px 54px 12px 12px; background: #E7DFD6; position: absolute; top: 0; left: 0; display: flex; flex-direction: column; justify-content: flex-end; opacity: 0; transition: opacity 0.4s ease; }
main > .team .slides .slide .image .text h2 { margin: 0 0 auto; font-weight: 600; font-size: 24px; }
main > .team .slides .slide .image .text p { padding: 1em 0 0; font-size: 12px; }
main > .team .slides .slide > h2 { padding: 2px 0 0; font-weight: 600; font-size: 24px; transition: opacity 0.4s ease; }
main > .team .slides .slide > ul { width: 256px; margin: 50px 0 0; }
main > .team .slides .slide > ul li button span + span { display: none; }
main > .team .slides .slide.open .image .text { opacity: 1; }
main > .team .slides .slide.open > h2 { opacity: 0; }
main > .team .slides .slide.open > ul li button span { display: none; }
main > .team .slides .slide.open > ul li button span + span { display: block; }
main > .team .slick-arrow { width: 78px; height: 26px; background: none; border: 0.6px solid #1C1C1C; position: absolute; bottom: 11px; right: 11px; text-align: center; display: flex; justify-content: center; align-items: center; z-index: 40; }
main > .team .slick-arrow:hover { background: #1C1C1C; }
main > .team .slick-arrow svg { width: 8px; height: auto; }
main > .team .slick-arrow svg path { transition: fill 0.4s ease }
main > .team .slick-arrow:hover svg path { fill: #F7F6F2; }
main > .team .slick-prev { border-right-width: 0; right: 89px; }
main > .team .slick-prev svg { transform: rotate(180deg); }
main > .team .count { font-weight: 600; font-size: 48px; position: absolute; bottom: -4px; left: 38px; z-index: 40; }

@media only screen and (min-width: 1024px) {
	main > .team { padding: 0 0 0 53px; border-bottom-width: 0.6px; }
	main > .team .overview { width: 324px; position: absolute; top: 111px; left: 1354px; padding: 0; border-bottom: 0; }
	main > .team .overview p { font-size: 16px; }
	main > .team .slides { width: 1272px; border-right: 0.6px solid #1C1C1C; }
	main > .team .slides .slide { width: 496px; padding: 16px; border-left: 0.6px solid #1C1C1C; }
	main > .team .slides .slide .image .text { padding: 15px 80px 75px 15px; }
	main > .team .slides .slide .image .text h2 { margin: 0 0 1.800em; font-size: 20px; }
	main > .team .slides .slide .image .text p { padding: 1em 0 0; font-size: 16px; }
	main > .team .slides .slide > h2 { padding: 0.500em 0 0; font-size: 24px; height: 4.667em; }
	main > .team .slides .slide > ul { width: 256px; margin: 0; }
	main > .team .slick-arrow { width: 78px; height: 26px; border-width: 0.6px; bottom: 35px; right: 35px; }
	main > .team .slick-arrow svg { width: 8px; }
	main > .team .slick-prev { border-right-width: 0; right: 113px; }
	main > .team .count { font-size: 72px; bottom: 14px; left: 1354px; }
}

@media only screen and (min-width: 1024px) {
	main > .team { padding: 0 0 0 2.76vw; border-bottom-width: 0.031vw; }
	main > .team .overview { width: 16.875vw; top: 5.781vw; left: 70.521vw; }
	main > .team .overview p { font-size: 0.833vw; }
	main > .team .slides { width: 66.25vw; border-right-width: 0.031vw; }
	main > .team .slides .slide { width: 25.833vw; padding: 0.833vw; border-left-width: 0.031vw; }
	main > .team .slides .slide .image .text { padding: 0.781vw 4.167vw 3.906vw 0.781vw; }
	main > .team .slides .slide .image .text h2 { font-size: 1.042vw; }
	main > .team .slides .slide .image .text p { font-size: 0.833vw; }
	main > .team .slides .slide > h2 { font-size: 1.25vw; }
	main > .team .slides .slide > ul { width: 13.333vw; }
	main > .team .slick-arrow { width: 4.063vw; height: 1.354vw; border-width: 0.031vw; bottom: 1.823vw; right: 1.823vw; }
	main > .team .slick-arrow svg { width: 0.417vw; }
	main > .team .slick-prev { border-right-width: 0; right: 5.885vw; }
	main > .team .count { font-size: 3.75vw; bottom: 0.729vw; left: 70.521vw; }
}

main > .about-promo { padding: 76px 0 46px 27px; }
main > .about-promo .heading { padding: 0 28px 0 7px; }
main > .about-promo .heading h2 { font-weight: 500; font-size: 28px; text-wrap: balance; }
main > .about-promo .text { padding: 115px 80px 0 7px; }
main > .about-promo .text p { margin: 1em 0 0; font-size: 16px; }
main > .about-promo figure img { width: 100%; height: auto; }
main > .about-promo figure:nth-of-type(1) { padding: 45px 143px 0 0; }
main > .about-promo figure:nth-of-type(2) { padding: 78px 0 0 142px; }
main > .about-promo figure:nth-of-type(3) { padding: 85px 67px 0 61px; }
main > .about-promo ul { margin: 109px 0 0; display: flex; justify-content: center; }
main > .about-promo ul li { width: 256px; }

@media only screen and (min-width: 1024px) {
	main > .about-promo { padding: 221px 17px 205px 78px; display: grid; grid-template-columns: 903px 1fr; grid-template-rows: auto auto 1fr auto; gap: 0 20px; }
	main > .about-promo .heading { padding: 0 0 232px 371px; grid-column: 1; }
	main > .about-promo .heading h2 { font-size: 72px; }
	main > .about-promo .text { padding: 140px 245px 62px 353px; grid-column: 2; grid-row: 2; align-self: start; }
	main > .about-promo .text p { font-size: 16px; }
	main > .about-promo .text p:first-child { margin: 0; }
	main > .about-promo figure:nth-of-type(1) { padding: 0; grid-column: 1; grid-row: 2 / span 2; }
	main > .about-promo figure:nth-of-type(2) { padding: 0 0 0 353px; grid-column: 2; grid-row: 3; }
	main > .about-promo figure:nth-of-type(3) { padding: 76px 404px 0 0; grid-column: 2; grid-row: 4; }
	main > .about-promo ul { margin: 0; display: block; grid-column: 1; grid-row: 4; align-self: end; }
	main > .about-promo ul li { width: 256px; }
}

@media only screen and (min-width: 1024px) {
	main > .about-promo { padding: 11.51vw 0.885vw 10.677vw 4.063vw; grid-template-columns: 47.031vw 1fr; gap: 0 1.042vw; }
	main > .about-promo .heading { padding: 0 0 12.083vw 19.323vw; }
	main > .about-promo .heading h2 { font-size: 3.75vw; }
	main > .about-promo .text { padding: 7.292vw 12.76vw 3.229vw 18.385vw; }
	main > .about-promo .text p { font-size: 0.833vw; }
	main > .about-promo figure:nth-of-type(2) { padding: 0 0 0 18.385vw; }
	main > .about-promo figure:nth-of-type(3) { padding: 3.958vw 21.042vw 0 0; }
	main > .about-promo ul li { width: 13.333vw; }
}

main > .projects { padding: 16px 8px 154px 35px; }
main > .projects header h1 { font-weight: 600; font-size: 40px; }
main > .projects header ul { margin: 28px 0 0; font-weight: 700; font-size: 12px; display: flex; flex-wrap: wrap; gap: 38px; }
main > .projects header ul li a { opacity: 0.25; display: inline-flex; gap: 6px; }
main > .projects header ul li a span:first-child:after { content: "/"; display: inline; }
main > .projects header ul li a:hover { opacity: 0.5; }
main > .projects header ul li.on a { opacity: 1; }
main > .projects .listing { margin: 28px 0 0; }
main > .projects .listing .project { width: 100%; }
main > .projects .listing .project .wrap { padding: 0 0 24px; }
main > .projects .listing .project a { font-weight: 700; font-size: 16px; display: grid; grid-template-columns: 218px 1fr; gap: 7px 0; }
main > .projects .listing .project a figure { grid-column: span 2; }
main > .projects .listing .project a figure img { width: 100%; height: auto; }
main > .projects .listing .project a h2 { font-weight: 700; }
main > .projects .listing .project a p { opacity: 0.45; }

@media only screen and (min-width: 1024px) {
	main > .projects { padding: 44px 2px 395px 73px; }
	main > .projects header h1 { font-size: 200px; }
	main > .projects header ul { margin: 6.667em 0 0; font-size: 12px; gap: 3.167em; }
	main > .projects header ul li a { gap: 0.500em; }
	main > .projects .listing { margin: 10px 0 0; }
	main > .projects .listing .project { width: 33.33%; }
	main > .projects .listing .project .wrap { padding: 0 15px 18px 0; }
	main > .projects .listing .project a { font-size: 16px; grid-template-columns: 23.500em 1fr; gap: 0.625em 0; }
}

@media only screen and (min-width: 1024px) {
	main > .projects { padding: 2.292vw 0.104vw 20.573vw 3.802vw; }
	main > .projects header h1 { font-size: 10.417vw; }
	main > .projects header ul { font-size: 0.625vw; }
	main > .projects .listing { margin: 0.521vw 0 0; }
	main > .projects .listing .project .wrap { padding: 0 0.781vw 0.938vw 0; }
	main > .projects .listing .project a { font-size: 0.833vw; }
}

main > .project header { min-height: 100vh; height: 100dvh; background: #CEC6C3; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto; }
main > .project header .text { padding: 35px 35px 35px 64px; text-align: center; display: flex; flex-direction: column; justify-content: center; }
main > .project header .text h1 { font-weight: 700; font-size: 12px; }
main > .project header .text p { padding: 30px 0 0; font-weight: 600; font-size: 16px; }
main > .project header ol { font-weight: 600; font-size: 12px; counter-reset: ol; }
main > .project header ol li { padding: 6px 35px 6px 46px; border-top: 1px solid rgba(28, 28, 28, 0.24); display: grid; grid-template-columns: 56px 1fr; }
main > .project header ol li:first-child { border-top-color: #1C1C1C; }
main > .project header ol li::before { counter-increment: ol; content: counter(ol, decimal-leading-zero) "/"; display: block; }
main > .project .details { padding: 4px 0 128px; }
main > .project .details figure { padding: 14px 14px 0 41px; }
main > .project .details figure img { width: 100%; height: auto; }
main > .project .details figure div { height: 0; padding: 0 0 56.25%; }
main > .project .details figure div video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .project .details .text { padding: 54px 62px 38px 41px; }
main > .project .details .text h2 { font-weight: 700; font-size: 12px; }
main > .project .details .text p { margin: 1em 0 0; font-weight: 500; font-size: 16px; }
main > .project .details .text h2 + p { margin-top: 45px; }

@media only screen and (min-width: 1024px) {
	main > .project { padding: 0 0 0 54px; }
	main > .project header { width: 933px; position: sticky; top: 0; float: left; }
	main > .project header .text { padding: 180px; }
	main > .project header .text h1 { font-size: 16px; }
	main > .project header .text p { padding: 3.500em 0 0; font-size: 28px; }
	main > .project header ol { padding: 0 0 0.300em; font-size: 20px; }
	main > .project header ol li { padding: 0.300em 1.000em 0.100em; border-top-width: 0.050em; grid-template-columns: 11.700em 1fr; }
	main > .project .details { margin: 0 0 0 933px; padding: 42px 0 248px; }
	main > .project .details figure { padding: 29px 71px 0; }
	main > .project .details .text { padding: 111px 425px 76px 71px; }
	main > .project .details .text h2 { font-size: 16px; }
	main > .project .details .text p { font-size: 18px; }
	main > .project .details .text h2 + p { margin-top: 2.000em; }
}

@media only screen and (min-width: 1024px) {
	main > .project { padding: 0 0 0 2.813vw; }
	main > .project header { width: 48.594vw; }
	main > .project header .text { padding: 9.375vw; }
	main > .project header .text h1 { font-size: 0.833vw; }
	main > .project header .text p { font-size: 1.458vw; }
	main > .project header ol { font-size: 1.042vw; }
	main > .project .details { margin: 0 0 0 48.594vw; padding: 2.188vw 0 12.917vw; }
	main > .project .details figure { padding: 1.51vw 3.698vw 0; }
	main > .project .details .text { padding: 5.781vw 22.135vw 3.958vw 3.698vw; }
	main > .project .details .text h2 { font-size: 0.833vw; }
	main > .project .details .text p { font-size: 0.938vw; }
}

main > .text-image-banner { margin: 0 0 0 27px; background: #CEC6C3; }
main > .text-image-banner .text { padding: 31px 19px 35px; text-align: center; }
main > .text-image-banner .text::before { width: 0.6px; height: 100%; background: rgba(28, 28, 28, 0.42); position: absolute; top: 0; left: 50%; content: " "; display: block; }
main > .text-image-banner .text h2 { padding: 17px 0 14px; background: #CEC6C3; position: relative; }
main > .text-image-banner .text h2 span { font-weight: 700; font-size: 16px; display: block; }
main > .text-image-banner .text .text-1 { margin: 67px 0 0; padding: 15px 0 12px; background: #CEC6C3; }
main > .text-image-banner .text .text-1 p { margin: 1em 0 0; font-weight: 500; font-size: 24px; line-height: 1; text-wrap: balance; }
main > .text-image-banner .text .text-1 p:first-child { margin: 0; }
main > .text-image-banner .text .text-2 { margin: 59px 0 0; padding: 15px 20px; background: #CEC6C3; }
main > .text-image-banner .text .text-2 p { margin: 1em 0 0; font-size: 16px; line-height: 1; }
main > .text-image-banner .text .text-2 p:first-child { margin: 0; }
main > .text-image-banner figure img { width: 100%; height: auto; }
main > .text-image-banner.button-yes figure::after { width: 100%; height: 100%; background: #1C1C1C; opacity: 0.35; position: absolute; top: 0; left: 0; content: " "; display: block; }
main > .text-image-banner > ul { width: 256px; position: absolute; bottom: 11px; right: 11px; }

main > .text-image-banner.colour-white,
main > .text-image-banner.colour-white .text h2,
main > .text-image-banner.colour-white .text .text-1,
main > .text-image-banner.colour-white .text .text-2 { background: #F7F6F2; }

@media only screen and (min-width: 1024px) {
	main > .text-image-banner { margin: 0 0 0 54px; display: grid; grid-template-columns: 1fr 942px; }
	main > .text-image-banner .text { padding: 51px 166px; display: flex; flex-direction: column; justify-content: space-between; }
	main > .text-image-banner .text::before { width: 0.6px; }
	main > .text-image-banner .text h2 { padding: 35px 0 31px; }
	main > .text-image-banner .text h2 span { font-size: 16px; }
	main > .text-image-banner .text .text-1 { margin: 0; padding: 51px 0 45px; }
	main > .text-image-banner .text .text-1 p { font-size: 32px; }
	body.home main > .text-image-banner .text .text-1 p { font-size: 60px; }
	main > .text-image-banner .text .text-2 { margin: 0; padding: 36px 120px 34px; }
	main > .text-image-banner .text .text-2 p { font-size: 16px; }
	main > .text-image-banner figure img { height: 100vh; }
	main > .text-image-banner > ul { width: 256px; bottom: 34px; right: 28px; }

	main > .text-image-banner.image-left { grid-template-columns: 942px 1fr; }
	main > .text-image-banner.image-left .text { order: 2; }
	main > .text-image-banner.image-left figure { padding: 19px; order: 1; }

	main > .text-image-banner.heading-no .text { display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; }
	main > .text-image-banner.heading-no .text .text-1 { grid-row: 2; }
	main > .text-image-banner.heading-no .text .text-1 p { font-size: 60px; }
	main > .text-image-banner.heading-no .text .text-2 { grid-row: 3; align-self: end; }
}

@media only screen and (min-width: 1024px) {
	main > .text-image-banner { margin: 0 0 0 2.813vw; grid-template-columns: 1fr 49.063vw; }
	main > .text-image-banner .text { padding: 2.656vw 8.646vw; }
	main > .text-image-banner .text::before { width: 0.031vw; }
	main > .text-image-banner .text h2 { padding: 1.823vw 0 1.615vw; }
	main > .text-image-banner .text h2 span { font-size: 0.833vw; }
	main > .text-image-banner .text .text-1 { padding: 2.656vw 0 2.344vw; }
	main > .text-image-banner .text .text-1 p { font-size: 1.667vw; }
	body.home main > .text-image-banner .text .text-1 p { font-size: 3.125vw; }
	main > .text-image-banner .text .text-2 { padding: 1.875vw 6.25vw 1.771vw; }
	main > .text-image-banner .text .text-2 p { font-size: 0.833vw; }
	main > .text-image-banner > ul { width: 13.333vw; bottom: 1.771vw; right: 1.458vw; }

	main > .text-image-banner.image-left { grid-template-columns: 49.063vw 1fr; }
	main > .text-image-banner.image-left figure { padding: 0.99vw; }

	main > .text-image-banner.heading-no .text .text-1 p { font-size: 3.125vw; }
}

main > .services { padding: 15px 0 0 27px; }
main > .services header { padding: 0 12px; }
main > .services header h2 { font-weight: 700; font-size: 12px; }
main > .services .slides .slide { width: 100%; }
main > .services .slides .slide .text { padding: 168px 75px 176px 11px; }
main > .services .slides .slide .text h3 { font-weight: 500; font-size: 24px; }
main > .services .slides .slide .text p { margin: 31px 0 0; font-size: 16px; }
main > .services .slides .slick-arrow { width: 78px; height: 26px; background: none; border: 0.6px solid #1C1C1C; position: absolute; bottom: 11px; right: 11px; text-align: center; display: flex; justify-content: center; align-items: center; z-index: 40; }
main > .services .slides .slick-arrow:hover { background: #1C1C1C; }
main > .services .slides .slick-arrow svg { width: 8px; height: auto; }
main > .services .slides .slick-arrow svg path { transition: fill 0.4s ease }
main > .services .slides .slick-arrow:hover svg path { fill: #F7F6F2; }
main > .services .slides .slick-prev { border-right-width: 0; right: 89px; }
main > .services .slides .slick-prev svg { transform: rotate(180deg); }
main > .services .count { font-weight: 600; font-size: 48px; position: absolute; bottom: -8px; left: 38px; z-index: 40; }

@media only screen and (min-width: 1024px) {
	main > .services { padding: 0; }
	main > .services header { padding: 0; position: absolute; top: 140px; left: 81px }
	main > .services header h2 { font-size: 16px; }
	main > .services .slides { padding: 0 0 0 666px; }
	main > .services .slides .slick-list { border-left: 0.6px solid rgba(28, 28, 28, 0.35); }
	main > .services .slides .slide { width: 516px; }
	main > .services .slides .slide .text { padding: 140px 160px 15px 20px; height: 742px; border-right: 0.6px solid rgba(28, 28, 28, 0.35); display: flex; flex-direction: column; justify-content: space-between; }
	main > .services .slides .slide .text h3 { font-size: 32px; }
	main > .services .slides .slide .text p { margin: 0; font-size: 16px; }
	main > .services .slides .slick-arrow { width: 78px; height: 26px; border-width: 0.6px; bottom: 18px; right: auto; left: 159px; }
	main > .services .slides .slick-arrow svg { width: 8px; }
	main > .services .slides .slick-prev { border-right-width: 0; right: auto; left: 81px; }
	main > .services .count { font-size: 72px; bottom: 56px; left: 74px; }
}

@media only screen and (min-width: 1024px) {
	main > .services header { top: 7.292vw; left: 4.219vw }
	main > .services header h2 { font-size: 0.833vw; }
	main > .services .slides { padding: 0 0 0 34.688vw; }
	main > .services .slides .slick-list { border-left-width: 0.031vw; }
	main > .services .slides .slide { width: 26.875vw; }
	main > .services .slides .slide .text { padding: 7.292vw 8.333vw 0.781vw 1.042vw; height: 38.646vw; border-right-width: 0.031vw; }
	main > .services .slides .slide .text h3 { font-size: 1.667vw; }
	main > .services .slides .slide .text p { font-size: 0.833vw; }
	main > .services .slides .slick-arrow { width: 4.063vw; height: 1.354vw; border-width: 0.031vw; bottom: 0.938vw; left: 8.281vw; }
	main > .services .slides .slick-arrow svg { width: 0.417vw; }
	main > .services .slides .slick-prev { border-right-width: 0; left: 4.219vw; }
	main > .services .count { font-size: 3.75vw; bottom: 2.917vw; left: 3.854vw; }
}

main > .contact { padding: 76px 7px 104px 34px; color: #F7F6F2; background: #887268; }
main > .contact .text .text-1 { padding: 0 25px 0 0; }
main > .contact .text .text-1 p { margin: 1em 0 0; font-weight: 600; font-size: 24px; line-height: 1; }
main > .contact .text .text-1 p:first-child { margin: 0; }
main > .contact .text .text-2 { padding: 38px 92px 0 0; }
main > .contact .text .text-2 p { margin: 1em 0 0; font-weight: 600; font-size: 16px; line-height: 1; }
main > .contact .text .text-2 p:first-child { margin: 0; }
main > .contact .form { padding: 96px 0 0; }
main > .contact .form .gform_wrapper > .gform_heading { display: none; }
main > .contact .form .gform_fields { display: grid; grid-template-columns: 1fr; gap: 28px; }
main > .contact .form .gform_fields div.gfield > label { padding: 0 0 25px; font-weight: 700; font-size: 12px; display: block; }
main > .contact .form .gform_fields div.gfield .ginput_container input[type="text"],
main > .contact .form .gform_fields div.gfield .ginput_container input[type="email"],
main > .contact .form .gform_fields div.gfield .ginput_container textarea { width: 100%; padding: 0; font-weight: 500; font-size: 18px; background: none; border: 0; border-bottom: 1px solid rgba(247, 246, 242, 0.24); }
main > .contact .form .gform_footer { width: 256px; padding: 50px 0 0; }
main > .contact .promo-block { padding: 74px 0 0; }
main > .contact .promo-block .block .text { padding: 17px 14px 14px; height: 412px; color: #1C1C1C; background: #F7F6F2; display: flex; flex-direction: column; }
main > .contact .promo-block .block p { width: 205px; font-weight: 600; font-size: 16px; line-height: 1; }
main > .contact .promo-block .block ul { margin: auto 0 0; }

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 136px 20px 20px 74px; display: grid; grid-template-columns: 1fr 379px; gap: 134px 184px; }
	main > .contact .text { grid-column: span 2; }
	main > .contact .text .text-1 { padding: 0 1120px 0 0; }
	main > .contact .text .text-1 p { font-size: 60px; }
	main > .contact .text .text-2 { padding: 68px 1570px 0 0; }
	main > .contact .text .text-2 p { font-size: 16px; }
	main > .contact .form { padding: 0; }
	main > .contact .form .gform_fields { grid-template-columns: 1fr 1fr; gap: 34px 28px; }
	main > .contact .form .gform_fields div.gfield.gfield--width-full { grid-column: span 2; }
	main > .contact .form .gform_fields div.gfield > label { padding: 0 0 2.167em; font-size: 12px; }
	main > .contact .form .gform_fields div.gfield .ginput_container input[type="text"],
	main > .contact .form .gform_fields div.gfield .ginput_container input[type="email"],
	main > .contact .form .gform_fields div.gfield .ginput_container textarea { padding: 0 0 0.083em; font-size: 24px; border-bottom-width: 0.042em; }
	main > .contact .form .gform_footer { width: 256px; padding: 56px 0 0; }
	main > .contact .promo-block { padding: 0; }
	main > .contact .promo-block .block .text { padding: 20px 25px 25px; height: 476px; }
	main > .contact .promo-block .block p { width: 288px; font-size: 24px; }
}

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 7.083vw 1.042vw 1.042vw 3.854vw; grid-template-columns: 1fr 19.74vw; gap: 6.979vw 9.583vw; }
	main > .contact .text .text-1 { padding: 0 58.333vw 0 0; }
	main > .contact .text .text-1 p { font-size: 3.125vw; }
	main > .contact .text .text-2 { padding: 3.542vw 81.771vw 0 0; }
	main > .contact .text .text-2 p { font-size: 0.833vw; }
	main > .contact .form .gform_fields { gap: 1.771vw 1.458vw; }
	main > .contact .form .gform_fields div.gfield > label { font-size: 0.625vw; }
	main > .contact .form .gform_fields div.gfield .ginput_container input[type="text"],
	main > .contact .form .gform_fields div.gfield .ginput_container input[type="email"],
	main > .contact .form .gform_fields div.gfield .ginput_container textarea { font-size: 1.25vw; }
	main > .contact .form .gform_footer { width: 13.333vw; padding: 2.917vw 0 0; }
	main > .contact .promo-block .block .text { padding: 1.042vw 1.302vw 1.302vw; height: 24.792vw; }
	main > .contact .promo-block .block p { width: 15vw; font-size: 1.25vw; }
}

main > .legal { padding: 85px 0 38px 34px; }
main > .legal h1 { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
main > .legal .overview { padding: 0 54px 0 0; }
main > .legal .overview p { margin: 1em 0 0; font-weight: 600; font-size: 20px; line-height: 1; }
main > .legal .overview p:first-child { margin: 0; }
main > .legal .text { padding: 78px 78px 0 0; }
main > .legal .text h2 { margin: 79px 0 0; font-weight: 600; font-size: 20px; line-height: 1; }
main > .legal .text h2:first-child { margin: 0; }
main > .legal .text p,
main > .legal .text ul { margin: 1em 0 0; font-size: 16px; line-height: 1; }
main > .legal .text ul li::before { padding: 0 0.25em 0 0; content: "–"; display: inline-block; }
main > .legal .text h2 + p,
main > .legal .text h2 + ul { margin-top: 44px; }
main > .legal .text p + ul { margin-top: 0; }

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 188px 543px 152px 70px; }
	main > .legal .overview { padding: 0 187px 0 0; }
	main > .legal .overview p { font-size: 48px; }
	main > .legal .text { padding: 188px 0 0 0; }
	main > .legal .text h2 { width: 760px; margin: 1.917em 0 0; font-size: 48px; float: left; }
	main > .legal .text h2:first-child { margin: 0; }
	main > .legal .text p,
	main > .legal .text ul { margin-left: 931px; font-size: 16px; }
	main > .legal .text h2 + p,
	main > .legal .text h2 + ul { margin-top: 5.750em; }
	main > .legal .text h2:first-child + p,
	main > .legal .text h2:first-child + ul { margin-top: 0; }
	main > .legal .text p + ul { margin-top: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 9.792vw 28.281vw 7.917vw 3.646vw; }
	main > .legal .overview { padding: 0 9.74vw 0 0; }
	main > .legal .overview p { font-size: 2.5vw; }
	main > .legal .text { padding: 9.792vw 0 0 0; }
	main > .legal .text h2 { width: 39.583vw; font-size: 2.5vw; }
	main > .legal .text p,
	main > .legal .text ul { margin-left: 48.49vw; font-size: 0.833vw; }
}

body > footer { padding: 14px 0 0; color: #F7F6F2; background: #887268; }
body > footer .promo-blocks { padding: 0 14px 102px 41px; display: grid; grid-template-columns: 1fr; gap: 14px; }
body > footer .promo-blocks .block figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
body > footer .promo-blocks .block figure img { width: 100%; height: 100%; object-fit: cover; }
body > footer .promo-blocks .block figure::after { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #1C1C1C; opacity: 0.21; content: " "; display: block; }
body > footer .promo-blocks .block .text { padding: 17px 14px 14px; height: 334px; color: #1C1C1C; background: #CEC6C3; display: flex; flex-direction: column; }
body > footer .promo-blocks .block figure + .text { color: #F7F6F2; background: none; }
body > footer .promo-blocks .block h2 { margin: 0 0 57px; font-weight: 700; font-size: 12px; }
body > footer .promo-blocks .block p { width: 269px; font-weight: 600; font-size: 24px; line-height: 1; }
body > footer .promo-blocks .block ul { width: 256px; margin: auto 0 0; align-self: end; }
@keyframes scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
body > footer .strapline { padding: 0 0 120px; overflow: hidden; white-space: nowrap; }
body > footer .strapline .wrap { display: inline-flex; animation: scroll 30s linear infinite; }
body > footer .strapline .wrap p { font-weight: 600; font-size: 32px; padding-right: 1rem; }
body > footer .links { padding: 0 14px 94px 41px; }
body > footer .links ul { border-top: 1px solid #F7F6F2; counter-reset: links; }
body > footer .links ul li { padding: 2px 0 1px; border-bottom: 1px solid rgba(247, 246, 242, 0.24); }
body > footer .links ul li a { font-weight: 500; font-size: 12px; display: grid; grid-template-columns: 108px 1fr; color: #F7F6F2; }
body > footer .links ul li a:hover { opacity: 0.76; }
body > footer .links ul li a::before { counter-increment: links; content: counter(links, decimal-leading-zero); display: block; }
body > footer .promo-block { padding: 0 14px 24px 41px; }
body > footer .promo-block .block .text { padding: 17px 14px 14px; height: 287px; color: #1C1C1C; background: #F7F6F2; display: flex; flex-direction: column; }
body > footer .promo-block .block p { width: 205px; font-weight: 600; font-size: 16px; line-height: 1; }
body > footer .promo-block .block ul { margin: auto 0 0; }
body > footer .legal { padding: 0 14px 8px 41px; }
body > footer .legal a { color: #F7F6F2; }
body > footer .legal a:hover { opacity: 0.76; }
body > footer .legal .wrap { padding: 10px 0 0; border-top: 1px solid rgba(247, 246, 242, 0.24); display: flex; justify-content: space-between; }
body > footer .legal .wrap p { font-weight: 600; font-size: 12px; }

@media only screen and (min-width: 1024px) {
	body > footer { padding: 19px 0 0; display: grid; grid-template-columns: 1530px 1fr; }
	body > footer .promo-blocks { padding: 0 19px 281px 73px; grid-template-columns: 1fr 1fr; gap: 19px; grid-column: span 2; }
	body > footer .promo-blocks .block .text { padding: 48px 27px 27px 39px; height: 899px; }
	body > footer .promo-blocks .block h2 { margin: 0 0 178px; font-size: 16px; }
	body > footer .promo-blocks .block p { width: 647px; font-size: 48px; }
	body > footer .promo-blocks .block ul { width: 256px; }
	body > footer .strapline { padding: 0 0 53px; grid-column: span 2; }
	body > footer .strapline .wrap { animation: scroll 40s linear infinite; }
	body > footer .strapline .wrap p { font-size: 120px; }
	body > footer .links { padding: 32px 0 0 76px; }
	body > footer .links ul { width: 706px; border-top-width: 1px; }
	body > footer .links ul li { padding: 2px 0 1px; border-bottom-width: 1px; }
	body > footer .links ul li a { font-size: 12px; grid-template-columns: 19.500em 1fr; }
	body > footer .promo-block { padding: 0 16px 18px 0; grid-row: span 2; }
	body > footer .promo-block .block .text { padding: 18px 14px 14px; height: 450px; }
	body > footer .promo-block .block p { width: 275px; font-size: 20px; }
	body > footer .legal { padding: 0 22px 30px 76px; align-self: end; }
	body > footer .legal .wrap { padding: 40px 330px 0 0; border-top-width: 1px; }
	body > footer .legal .wrap p { font-size: 12px; }
	body > footer .legal .wrap p:first-child { display: grid; grid-template-columns: 13.333em 1fr; }
}

@media only screen and (min-width: 1024px) {
	body > footer { padding: 0.99vw 0 0; grid-template-columns: 79.688vw 1fr; }
	body > footer .promo-blocks { padding: 0 0.99vw 14.635vw 3.802vw; gap: 0.99vw; }
	body > footer .promo-blocks .block .text { padding: 2.5vw 1.406vw 1.406vw 2.031vw; height: 46.823vw; }
	body > footer .promo-blocks .block h2 { margin: 0 0 9.271vw; font-size: 0.833vw; }
	body > footer .promo-blocks .block p { width: 33.698vw; font-size: 2.5vw; }
	body > footer .promo-blocks .block ul { width: 13.333vw; }
	body > footer .strapline { padding: 0 0 2.76vw; }
	body > footer .strapline .wrap p { font-size: 6.25vw; }
	body > footer .links { padding: 1.667vw 0 0 3.958vw; }
	body > footer .links ul { width: 36.771vw; border-top-width: 0.052vw; }
	body > footer .links ul li { padding: 0.104vw 0 0.052vw; border-bottom-width: 0.052vw; }
	body > footer .links ul li a { font-size: 0.625vw; }
	body > footer .promo-block { padding: 0 0.833vw 0.938vw 0; }
	body > footer .promo-block .block .text { padding: 0.938vw 0.729vw 0.729vw; height: 23.438vw; }
	body > footer .promo-block .block p { width: 14.323vw; font-size: 1.042vw; }
	body > footer .legal { padding: 0 1.146vw 1.563vw 3.958vw; }
	body > footer .legal .wrap { padding: 2.083vw 17.188vw 0 0; border-top-width: 0.052vw; }
	body > footer .legal .wrap p { font-size: 0.625vw; }
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}