/*
Theme Name: Duo Management 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: #151515; 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: 62.5%/1 indivisible, 'Helvetica Neue', Arial, Helvetica, sans-serif; color: #151515; background: #FFFFFF; }

html.black body { color: #FFFFFF; background: #141414; }
html.black a { color: #FFFFFF; }

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

body > header { width: 100%; padding: 14px 16px; position: fixed; top: 0; left: 0; display: grid; grid-template-columns: 1fr 64px 1fr; align-items: center; z-index: 99; }
body > header ul li button { width: 18px; height: 7px; background: none; border: 0; position: relative; display: flex; align-items: center; }
body > header ul li button span { width: 100%; height: 1px; background: #141414; position: relative; display: block; }
body > header ul li button::before,
body > header ul li button::after { width: 100%; height: 1px; background: #141414; position: absolute; left: 0; transition: all 0.4s ease; content: " "; display: block; }
body > header ul li button::before { top: 0; }
body > header ul li button::after { bottom: 0; }
body > header h1 a { position: relative; display: inline-block; }
body > header h1 a img { width: 100%; height: auto; }
body > header h1 a::after { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url(images/logo-white.svg) no-repeat 50% 50% / cover; opacity: 0; content: " "; display: block; }
body > header form { font-size: 12px; justify-self: end; display: flex; align-items: center; gap: 4px; transition: opacity 0.4s ease; }
body > header form button { padding: 0; background: none; border: 0; }
body > header form label { width: 78px; }
body > header form label input { width: 100%; padding: 0; font-weight: 500; background: none; border: 0; }

html.black body > header ul li button span,
html.black body > header ul li button::before,
html.black body > header ul li button::after { background: #FFFFFF; }
html.black body > header h1 a img { opacity: 0; }
html.black body > header h1 a::after { opacity: 1; }

html.menu body > header ul li button span { opacity: 0; }
html.menu body > header ul li button::before,
html.menu body > header ul li button::after { background: #FFFFFF; }
html.menu body > header ul li button::before { top: 50%; transform: rotate(15deg) translateY(-50%); }
html.menu body > header ul li button::after { bottom: 50%; transform: rotate(-15deg) translateY(50%); }
html.menu body > header form { opacity: 0; }

@media only screen and (max-width: 1023px) {
	html.menu body > header h1 a img { opacity: 0; }
	html.menu body > header h1 a::after { opacity: 1; }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 14px 16px; grid-template-columns: 1fr 64px 1fr; }
	body > header ul li button { width: 30px; height: 7px; }
	body > header ul li button span { height: 1px; }
	body > header ul li button::before,
	body > header ul li button::after { height: 1px; }
	body > header form { font-size: 12px; gap: 0.333em; }
	body > header form label { width: 6.500em; }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 0.729vw 0.833vw; grid-template-columns: 1fr 3.333vw 1fr; }
	body > header ul li button { width: 1.563vw; height: 0.365vw; }
	body > header ul li button span { height: 0.052vw; }
	body > header ul li button::before,
	body > header ul li button::after { height: 0.052vw; }
	body > header form { font-size: var(--fluid-10-12); }
}

html.menu { overflow: hidden; }
body > .menu-overlay { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(255, 255, 255, 0.15); -webkit-backdrop-filter: blur(30px) brightness(1.15); backdrop-filter: blur(30px) brightness(1.15); transform: translateX(-100%); transition: transform 0.4s ease; content: " "; display: block; z-index: 97; }
html.menu body > .menu-overlay { transform: translateX(0); }
body > .menu { height: 100%; position: fixed; top: 0; left: 0; transform: translateX(-100%); transition: transform 0.4s ease; display: flex; z-index: 98; }
html.menu body > .menu { transform: translateX(0); }
body > .menu a { color: #FFFFFF; }
body > .menu .main { width: calc( 50vw + 44px ); padding: 146px 10px 10px; color: #FFFFFF; background: #141414; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto; }
body > .menu .main nav ul { font-family: arnika-variable, serif; font-size: 24px; text-transform: uppercase; display: flex; flex-direction: column; gap: 11px; }
body > .menu .main nav ul li a { text-decoration: underline; text-decoration-color: #141414; text-decoration-thickness: 0.052em; text-underline-offset: 0.052em; }
body > .menu .main nav ul.open > li > a { opacity: 0.34; }
body > .menu .main nav ul.open > li > a:hover { opacity: 1; }
body > .menu .main nav ul.open > li.open > a { text-decoration-color: #FFFFFF; opacity: 1; }
body > .menu .main .follow h2 { font-weight: 500; font-size: 12px; line-height: 16px; }
body > .menu .main .follow ul { margin: 16px 0 0; font-size: 12px; line-height: 14px; }
body > .menu .sub { width: 0; color: #FFFFFF; background: #141414; overflow: hidden; display: flex; transition: width 0.4s ease; }
body > .menu .sub.open { width: calc( 100vw - 50vw - 44px ); }
body > .menu .sub ul { padding: 146px 10px 10px; font-family: arnika-variable, serif; font-size: 24px; text-transform: uppercase; border: 1px solid #FFFFFF; border-width: 0 0 0 1px; white-space: nowrap; display: flex; flex-direction: column; gap: 11px; }
body > .menu .sub .contact { width: calc( 100vw - 50vw - 44px ); padding: 146px 4px 10px; border: 1px solid #FFFFFF; border-width: 0 0 0 1px; }
body > .menu .sub .contact .contact-1 p { margin: 8px 0 0; font-family: arnika-variable, serif; font-size: 9px; line-height: 11px; text-transform: uppercase; }
body > .menu .sub .contact .contact-1 p:first-child { margin: 0; }
body > .menu .sub .contact .contact-2 { padding: 56px 0 0; }
body > .menu .sub .contact .contact-2 h2 { margin: 12px 0 0; font-weight: 500; font-size: 9px; }
body > .menu .sub .contact .contact-2 h2:first-child { margin: 0; }
body > .menu .sub .contact .contact-2 p { font-size: 9px; }

@media only screen and (min-width: 1024px) {
	body > .menu .main { width: 307px; padding: calc( 50vh - 150px ) 15px 15px; }
	body > .menu .main nav ul { font-size: 24px; gap: 0.458em; }
	body > .menu .main .follow h2 { font-size: 12px; line-height: 1.333; }
	body > .menu .main .follow ul { margin: 1.333em 0 0; font-size: 12px; line-height: 1.167; }
	body > .menu .sub.open { width: 307px; }
	body > .menu .sub ul { padding: calc( 50vh - 150px ) 20px 15px; font-size: 24px; border-width: 0 0 0 1px; gap: 0.458em; }
	body > .menu .sub .contact { width: 307px; padding: calc( 50vh - 150px ) 20px 15px; border-width: 0 0 0 1px; display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	body > .menu .sub .contact .contact-1 p { margin: 0.688em 0 0; font-size: 16px; line-height: 1.125; }
	body > .menu .sub .contact .contact-2 { padding: 0; align-self: center; }
	body > .menu .sub .contact .contact-2 h2 { margin: 1em 0 0; font-size: 12px; line-height: 1.500; }
	body > .menu .sub .contact .contact-2 h2:first-child { margin: 0; }
	body > .menu .sub .contact .contact-2 p { font-size: 12px; line-height: 1.500; }
}

@media only screen and (min-width: 1024px) {
	body > .menu .main { width: 15.99vw; padding: calc( 50vh - 7.813vw ) 0.781vw 0.781vw; }
	body > .menu .main nav ul { font-size: 1.25vw; }
	body > .menu .main .follow h2 { font-size: var(--fluid-10-12); }
	body > .menu .main .follow ul { font-size: var(--fluid-10-12); }
	body > .menu .sub.open { width: 15.99vw; }
	body > .menu .sub ul { padding: calc( 50vh - 7.813vw ) 1.042vw 0.781vw; font-size: 1.25vw; border-width: 0 0 0 0.052vw; }
	body > .menu .sub .contact { width: 15.99vw; padding: calc( 50vh - 7.813vw ) 1.042vw 0.781vw; border-width: 0 0 0 0.052vw; }
	body > .menu .sub .contact .contact-1 p { font-size: 0.833vw; }
	body > .menu .sub .contact .contact-2 h2 { font-size: var(--fluid-10-12); }
	body > .menu .sub .contact .contact-2 p { font-size: var(--fluid-10-12); }
}

main > .about { padding: 176px 0 0; }
main > .about h1 { padding: 0 8px; }
main > .about h1 img { width: 258px; height: auto; }
main > .about figure { margin: 10px 0 0; height: 0; padding: 80.51% 0 0; overflow: hidden; }
main > .about figure video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
main > .about .text { padding: 8px 38px 0 6px; }
main > .about .text p { margin: 19px 0 0; font-weight: 500; font-size: 16px; line-height: 19px; }
main > .about .text p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .about { padding: 84px 0 0; display: grid; grid-template-columns: 1161px 1fr; align-items: center; gap: 13px 0; }
	main > .about h1 { padding: 0 14px; grid-column: span 2; }
	main > .about h1 img { width: 516px; }
	main > .about figure { margin: 0; padding: 68.91% 0 0; }
	main > .about .text { padding: 0 235px 0 17px; }
	main > .about .text p { margin: 1.167em 0 0; font-size: 24px; line-height: 1.167; }
	main > .about .text p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .about { padding: 4.375vw 0 0; grid-template-columns: 60.469vw 1fr; gap: 0.677vw 0; }
	main > .about h1 { padding: 0 0.729vw; }
	main > .about h1 img { width: 26.875vw; }
	main > .about .text { padding: 0 12.24vw 0 0.885vw; }
	main > .about .text p { font-size: 1.25vw; }
}

main > .models .heading { padding: 74px 5px 6px; display: grid; grid-template-columns: 1fr auto 1fr; }
main > .models .heading .links ul { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; display: flex; flex-direction: column; gap: 5px; }
main > .models .heading .links ul li a { display: inline-flex; align-items: center; gap: 30px; opacity: 0.36; }
main > .models .heading .links ul li.on a { opacity: 1; }
main > .models .heading .links ul li a::before { width: 4px; height: 4px; background: #FFFFFF; content: " "; display: block; }
main > .models .heading h1 { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; }
main > .models .heading .toggle { justify-self: end; align-self: end; }
main > .models .heading .toggle h2 { margin: 0 0 10px; font-weight: 500; font-size: 12px; }
main > .models .heading .toggle ul { font-size: 12px; display: flex; gap: 15px; }
main > .models .heading .toggle ul li a { display: inline-flex; align-items: center; gap: 6px; }
main > .models .heading .toggle ul li a::before { width: 10px; height: 10px; border: 2px solid #FFFFFF; content: " "; display: block; }
main > .models .heading .toggle ul li.on a::before { background: #FFFFFF; }
main > .models .grid { padding: 0 5px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 5px; }
main > .models .grid.animc > .model.inview:nth-of-type(2n) { transition-delay: 0.6s; }
main > .models .grid .model a { position: relative; display: block; }
main > .models .grid .model a figure { padding: 137.23% 0 0; height: 0; position: relative; display: block; }
main > .models .grid .model a figure img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .models .grid .model a .overlay { display: none; }
main > .models .grid .model a .text { padding: 5px 0 0; position: relative; display: block; }
main > .models .grid .model a .text h2 { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; }
main > .models .grid .model a .text ul { display: none; }
main > .models .grid .model a .text .count { display: none; }

@media only screen and (min-width: 1024px) {
	main > .models .heading { padding: 105px 7px 25px; }
	main > .models .heading .links ul { font-size: 19px; gap: 0.211em; }
	main > .models .heading .links ul li a { gap: 3.158em; }
	main > .models .heading .links ul li a::before { width: 0.368em; height: 0.368em; }
	main > .models .heading h1 { font-size: 18px; }
	main > .models .heading .toggle { display: flex; align-items: center; gap: 25px; }
	main > .models .heading .toggle h2 { margin: 0; font-size: 12px; }
	main > .models .heading .toggle ul { font-size: 12px; gap: 1.250em; }
	main > .models .heading .toggle ul li a { gap: 0.500em; }
	main > .models .heading .toggle ul li a::before { width: 0.833em; height: 0.833em; border-width: 0.167em; }
	main > .models .grid { padding: 0 7px; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 7px; }
	main > .models .grid.animc > .model.inview:nth-of-type(4n-2) { transition-delay: 0.6s; }
	main > .models .grid.animc > .model.inview:nth-of-type(4n-1) { transition-delay: 0.8s; }
	main > .models .grid.animc > .model.inview:nth-of-type(4n) { transition-delay: 1s; }
	main > .models .grid .model a { overflow: hidden; }
	main > .models .grid .model a figure { padding: 136.52% 0 0; }
	main > .models .grid .model a figure img { transition: transform 0.4s ease; }
	main > .models .grid .model a:hover figure img { transform: scale(1.1); }
	main > .models .grid .model a .overlay { width: 100%; height: 100%; position: absolute; top: 0; left: 0; -webkit-backdrop-filter: blur(9px) brightness(0.76); backdrop-filter: blur(9px) brightness(0.76); opacity: 0; transition: opacity 0.4s ease; content: " "; display: block; }
	main > .models .grid .model a:hover .overlay { opacity: 1; }
	main > .models .grid .model a .text { width: 100%; padding: 14px; position: absolute; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr auto; transform: translateY(100%); transition: transform 0.4s ease; }
	main > .models .grid .model a:hover .text { transform: translateY(0); }
	main > .models .grid .model a .text h2 { font-size: 24px; grid-column: span 2; }
	main > .models .grid .model a .text ul { padding: 3.167em 0 0; font-size: 12px; line-height: 1.167; display: block; }
	main > .models .grid .model a .text .count { font-weight: 500; font-size: 12px; line-height: 1.167; align-self: end; display: block; }
}

@media only screen and (min-width: 1024px) {
	main > .models .heading { padding: 5.469vw 0.365vw 1.302vw; }
	main > .models .heading .links ul { font-size: 0.99vw; }
	main > .models .heading h1 { font-size: 0.938vw; }
	main > .models .heading .toggle { gap: 1.302vw; }
	main > .models .heading .toggle h2 { font-size: var(--fluid-10-12); }
	main > .models .heading .toggle ul { font-size: var(--fluid-10-12); }
	main > .models .grid { padding: 0 0.365vw; gap: 0.365vw; }
	main > .models .grid .model a .text { padding: 0.729vw; }
	main > .models .grid .model a .text h2 { font-size: 1.25vw; }
	main > .models .grid .model a .text ul { font-size: var(--fluid-10-12); }
	main > .models .grid .model a .text .count { font-size: var(--fluid-10-12); }
}

main > .model { padding: 52px 5px 0; }
main > .model .desktop { display: none; }
main > .model figure.mobile { padding: 0 0 5px; }
main > .model figure.mobile img { width: 100%; height: auto; }
main > .model .details { padding: 0 0 14px; display: grid; grid-template-columns: 228px 1fr; }
main > .model .details h1 { font-family: arnika-variable, serif; font-size: 24px; text-transform: uppercase; grid-column: span 2; }
main > .model .details ul.stats { padding: 20px 0 62px; font-size: 12px; line-height: 16px; grid-column: span 2; }
main > .model .details ul.anchor { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; }
main > .model .details ul.anchor li a { display: inline-flex; align-items: center; gap: 30px; }
main > .model .details ul.anchor li a::before { width: 4px; height: 4px; background: #FFFFFF; content: " "; display: block; }
main > .model .details ul.social { font-size: 12px; display: flex; gap: 14px; }
main > .model .details ul.social li a { display: inline-flex; align-items: center; gap: 8px; }
main > .model .polaroids { padding: 160px 0 0; }
main > .model .polaroids h2 { font-weight: 500; font-size: 24px; }
main > .model .polaroids h2 a { display: flex; align-items: center; gap: 8px; }
main > .model .polaroids h2 a img { width: auto; height: 18px; }
main > .model .polaroids .grid { margin: 28px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
main > .model .polaroids .grid figure img { width: 100%; height: auto; }

@media only screen and (min-width: 1024px) {
	main > .model { padding: 52px 0 0; }
	main > .model .desktop { display: block; z-index: 2; }
	main > .model .desktop .slides figure { padding: 0 0 19px 7px; }
	main > .model .desktop .slides figure img { width: auto; height: 725px; }
	main > .model .desktop .slides .slick-arrow { background: none; border: 0; -webkit-appearance: none; appearance: none; position: absolute; bottom: 0; z-index: 50; }
	main > .model .desktop .slides .slick-arrow span { width: 18px; height: 12px; background: url(images/arrow.svg) no-repeat 50% 50% / contain; display: block; }
	main > .model .desktop .slides .slick-next { right: 9px; }
	main > .model .desktop .slides .slick-prev { right: 40px; transform: rotate(180deg); opacity: 0.26; }
	main > .model figure.mobile { display: none; }
	main > .model .details { margin: -19px 0 0; padding: 7px 7px 380px; display: grid; grid-template-columns: 1125px 1fr; gap: 72px 0; }
	main > .model .details h1 { font-size: 60px; grid-column: span 1; }
	main > .model .details ul.stats { padding: 0; font-size: 12px; line-height: 1.333; grid-column: span 1; }
	main > .model .details ul.anchor { font-size: 14px; }
	main > .model .details ul.anchor li a { gap: 3.143em; }
	main > .model .details ul.anchor li a::before { width: 0.357em; height: 0.357em; }
	main > .model .details ul.social { font-size: 12px; gap: 1.167em; }
	main > .model .details ul.social li a { gap: 0.667em; }
	main > .model .polaroids { padding: 160px 7px 0; }
	main > .model .polaroids h2 { font-size: 32px; }
	main > .model .polaroids h2 a { gap: 0.500em; }
	main > .model .polaroids h2 a img { height: 0.688em; }
	main > .model .polaroids .grid { margin: 60px 0 0; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 12px; }
}

@media only screen and (min-width: 1024px) {
	main > .model { padding: 2.708vw 0 0; }
	main > .model .desktop .slides figure { padding: 0 0 0.99vw 0.365vw; }
	main > .model .desktop .slides figure img { height: 37.76vw; }
	main > .model .desktop .slides .slick-arrow span { width: 0.938vw; height: 0.625vw; }
	main > .model .desktop .slides .slick-next { right: 0.469vw; }
	main > .model .desktop .slides .slick-prev { right: 2.083vw; }
	main > .model .details { margin: -0.99vw 0 0; padding: 0.365vw 0.365vw 19.792vw; grid-template-columns: 58.594vw 1fr; gap: 3.75vw 0; }
	main > .model .details h1 { font-size: 3.125vw; }
	main > .model .details ul.stats { font-size: var(--fluid-10-12); }
	main > .model .details ul.anchor { font-size: var(--fluid-11-14); }
	main > .model .details ul.social { font-size: var(--fluid-10-12); }
	main > .model .polaroids { padding: 8.333vw 0.365vw 0; }
	main > .model .polaroids h2 { font-size: 1.667vw; }
	main > .model .polaroids .grid { margin: 3.125vw 0 0; gap: 0.625vw; }
}

main > .text-highlight { padding: 119px 39px 31px 5px; }
main > .text-highlight p { margin: 19px 0 0; font-weight: 500; font-size: 16px; line-height: 19px; }
main > .text-highlight p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .text-highlight { width: 808px; padding: 193px 0 143px 22px; }
	main > .text-highlight p { margin: 1.143em 0 0; font-size: 28px; line-height: 1.143; }
	main > .text-highlight p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .text-highlight { width: 42.083vw; padding: 10.052vw 0 7.448vw 1.146vw; }
	main > .text-highlight p { font-size: 1.458vw; }
}

main > .text { padding: 25px 83px 0 5px; }
main > .text p,
main > .text ul { margin: 14px 0 0; font-weight: 500; font-size: 12px; line-height: 14px; }
main > .text p:first-child,
main > .text ul:first-child { margin: 0; }
main > .text ul { display: flex; flex-direction: column; gap: 14px; }
main > .text ul li { padding: 0 0 0 49px; position: relative; }
main > .text ul li::before { width: 5px; height: 5px; position: absolute; top: 5px; left: 0; background: #141414; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .text { width: 623px; padding: 13px 0 136px 22px; }
	main > .text p,
	main > .text ul { margin: 1.111em 0 0; font-size: 18px; line-height: 1.111; }
	main > .text p:first-child,
	main > .text ul:first-child { margin: 0; }
	main > .text ul { gap: 0.444em; }
	main > .text ul li { padding: 0 0 0 2.778em; }
	main > .text ul li::before { width: 0.278em; height: 0.278em; top: 0.278em; }
}

@media only screen and (min-width: 1024px) {
	main > .text { width: 32.448vw; padding: 0.677vw 0 7.083vw 1.146vw; }
	main > .text p,
	main > .text ul { font-size: 0.938vw; }
}

main > .text-blocks { border: 1px solid #141414; border-width: 0 0 1px; }
main > .text-blocks .block { padding: 25px 89px 25px 5px; border: 1px solid #141414; border-width: 1px 0 0; }
main > .text-blocks .block h2 { font-weight: 500; font-size: 12px; line-height: 14px; }
main > .text-blocks .block .text { padding: 36px 0 0; }
main > .text-blocks .block .text p { margin: 14px 0 0; font-weight: 500; font-size: 12px; line-height: 14px; }
main > .text-blocks .block .text p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .text-blocks { width: 808px; border-width: 0; }
	main > .text-blocks .block { padding: 53px 0 54px 22px; border-width: 1px 0 0; display: grid; grid-template-columns: 1fr 492px; }
	main > .text-blocks .block h2 { font-size: 16px; line-height: 1.250; }
	main > .text-blocks .block .text { padding: 0; }
	main > .text-blocks .block .text p { margin: 1.125em 0 0; font-size: 16px; line-height: 1.125; }
	main > .text-blocks .block .text p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .text-blocks { width: 42.083vw; }
	main > .text-blocks .block { padding: 2.76vw 0 2.813vw 1.146vw; border-width: 0.052vw 0 0; grid-template-columns: 1fr 25.625vw; }
	main > .text-blocks .block h2 { font-size: 0.833vw; }
	main > .text-blocks .block .text p { font-size: 0.833vw; }
}

main .side-images { display: none; }

@media only screen and (min-width: 1024px) {
	main .side-images { width: 941px; padding: 193px 11px 0 160px; display: grid; grid-template-columns: 1fr; gap: 10px; float: right; }
	main .side-images figure img { width: 100%; height: auto; }
}

@media only screen and (min-width: 1024px) {
	main .side-images { width: 49.01vw; padding: 10.052vw 0.573vw 0 8.333vw; gap: 0.521vw; }
}

main > .form .gform_wrapper > .gform_heading { display: none; }
main > .form .gform_fields div.gfield { padding: 14px 0 0; }
main > .form .gform_fields div.gfield > label { display: none; }
main > .form .gform_fields div.gfield .ginput_container input,
main > .form .gform_fields div.gfield .ginput_container textarea { width: 100%; padding: 4px 5px; font-weight: 500; font-size: 12px; line-height: 16px; border: 0; border-bottom: 1px solid rgba(20, 20, 20, 0.32); }
main > .form .gform_fields div.gfield .ginput_container textarea { height: 4em; }
main > .form .gform_fields div.gfield .ginput_container input::placeholder,
main > .form .gform_fields div.gfield .ginput_container textarea::placeholder { color: rgba(20, 20, 20, 0.39); }
main > .form .gform_fields div.gfield--type-section { margin: 48px 0 0; padding: 0 5px 18px; border-top: 1px solid #141414; }
main > .form .gform_fields div.gfield--type-section h3 { padding: 25px 0 0; font-weight: 500; font-size: 12px; line-height: 16px; }
main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field label { padding: 4px 80px 4px 5px; font-weight: 500; font-size: 12px; line-height: 16px; color: rgba(20, 20, 20, 0.39); border-bottom: 1px solid rgba(20, 20, 20, 0.32); display: block; }
main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field.selected label { color: #151515; }
main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field span { padding: 4px 5px; font-weight: 500; font-size: 12px; line-height: 16px; color: rgba(20, 20, 20, 0.39); position: absolute; top: 0; right: 0; display: block; }
main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field input[type="file"] { width: 100%; height: 100%; position: absolute; top: 0; left: 0; padding: 0; cursor: pointer; opacity: 0; }
main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .gform_fileupload_rules { display: none; }
main > .form .gform_fields fieldset.gfield.gfield--type-consent + fieldset.gfield.gfield--type-consent { padding: 32px 0 0; }
main > .form .gform_fields fieldset.gfield.gfield--type-consent > legend { display: none; }
main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container { padding: 0 84px 0 5px; }
main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container input[type="checkbox"] { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container label { padding: 0 0 0 32px; font-weight: 500; font-size: 16px; line-height: 18px; position: relative; display: block; }
main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container label::before { width: 14px; height: 14px; border: 2px solid #151515; opacity: 0.45; position: absolute; top: 2px; left: 5px; transition: background 0.4s ease, opacity 0.4s ease; content: " "; display: block; }
main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container input[type="checkbox"]:checked + label::before { background: #151515; opacity: 1; }
main > .form .gform_footer { margin: 50px 0 0; padding: 20px 5px 176px; border-top: 1px solid #141414; }
main > .form .gform_footer button[type="submit"] { margin: 0; padding: 0; background: none; border: 0; -webkit-appearance: none; appearance: none; }
main > .form .gform_footer button[type="submit"] span { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; display: inline-flex; gap: 30px; align-items: center; }
main > .form .gform_footer button[type="submit"] span::before { width: 4px; height: 4px; background: #141414; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .form { width: 808px; }
	main > .form .gform_fields div.gfield { padding: 32px 0 0 315px; }
	main > .form .gform_fields div.gfield .ginput_container input,
	main > .form .gform_fields div.gfield .ginput_container textarea { padding: 0.125em 0; font-size: 16px; line-height: 1.125; }
	main > .form .gform_fields div.gfield--type-section { margin: 46px 0 0; padding: 10px 0 0; border-top: 1px solid #141414; }
	main > .form .gform_fields div.gfield--type-section:first-child { margin: 0; }
	main > .form .gform_fields div.gfield--type-section h3 { width: 9.375em; position: absolute; top: 2.750em; left: 1.375em; padding: 0; font-size: 16px; line-height: 1.125; text-wrap: balance; }
	main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field label { padding: 0.125em 0; font-size: 16px; line-height: 1.125; }
	main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field span { padding: 0.125em 0; font-size: 16px; line-height: 1.125; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent { padding: 42px 0 0; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent + fieldset.gfield.gfield--type-consent { padding: 32px 0 0; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container { padding: 0 192px 0 315px; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container label { padding: 0 0 0 2.000em; font-size: 16px; line-height: 1.125; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container label::before { width: 0.875em; height: 0.875em; top: 0.125em; left: 0.313em; }
	main > .form .gform_footer { margin: 40px 0 0; padding: 30px 0 254px 315px; }
	main > .form .gform_footer button[type="submit"] span { font-size: 18px; gap: 2.444em; }
	main > .form .gform_footer button[type="submit"] span::before { width: 0.278em; height: 0.278em; }
}

@media only screen and (min-width: 1024px) {
	main > .form { width: 42.083vw; }
	main > .form .gform_fields div.gfield { padding: 1.667vw 0 0 16.406vw; }
	main > .form .gform_fields div.gfield .ginput_container input,
	main > .form .gform_fields div.gfield .ginput_container textarea { font-size: 0.833vw; }
	main > .form .gform_fields div.gfield--type-section { margin: 2.396vw 0 0; padding: 0.521vw 0 0; border-top-width: 0.052vw; }
	main > .form .gform_fields div.gfield--type-section:first-child { margin: 0; }
	main > .form .gform_fields div.gfield--type-section h3 { font-size: 0.833vw; }
	main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field label { font-size: 0.833vw; }
	main > .form .gform_fields div.gfield.gfield--type-fileupload .ginput_container .upload-field span { font-size: 0.833vw; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent { padding: 2.188vw 0 0; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent + fieldset.gfield.gfield--type-consent { padding: 1.667vw 0 0; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container { padding: 0 10vw 0 16.406vw; }
	main > .form .gform_fields fieldset.gfield.gfield--type-consent .ginput_container label { font-size: 0.833vw; }
	main > .form .gform_footer { margin: 2.083vw 0 0; padding: 1.563vw 0 13.229vw 16.406vw; }
	main > .form .gform_footer button[type="submit"] span { font-size: 0.938vw; }
}

main > .campaigns { padding: 52px 5px 0; }
main > .campaigns .grid { padding: 0 0 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 5px; overflow: hidden; }
main > .campaigns .grid .campaign:nth-child(2) { width: calc( ( 100% - 5px ) / 2 ); position: absolute; top: calc( 90px - 8px ); right: 0; transform: translateY(-100%); }
main > .campaigns .grid .campaign:nth-child(2n + 3) { top: 90px; }
main > .campaigns .grid .campaign .panel figure { padding: 137.23% 0 0; height: 0; position: relative; display: block; }
main > .campaigns .grid .campaign .panel figure img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .campaigns .grid .campaign .panel .overlay { display: none; }
main > .campaigns .grid .campaign .panel .text { padding: 5px 0 0; position: relative; display: block; }
main > .campaigns .grid .campaign .panel .text h2 { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; }
main > .campaigns .grid .campaign .panel .text ul { display: none; }
main > .campaigns .grid .campaign .popup { display: none; }

@media only screen and (min-width: 1024px) {
	main > .campaigns { padding: 52px 7px 0; }
	main > .campaigns .grid { padding: 0 0 287px; grid-template-columns: 1fr 1fr 1fr; gap: 7px; }
	main > .campaigns .grid .campaign:nth-child(2) { width: calc( ( 100% - 14px ) / 3 ); top: calc( 287px - 7px ); right: auto; left: 50%; transform: translateY(-100%) translateX(-50%); }
	main > .campaigns .grid .campaign:nth-child(2n + 3) { top: auto; }
	main > .campaigns .grid .campaign:nth-child(3n + 3) { top: 287px; }
	main > .campaigns .grid .campaign .panel { overflow: hidden; }
	main > .campaigns .grid .campaign .panel figure { padding: 125.87% 0 0; }
	main > .campaigns .grid .campaign .panel figure img { transition: transform 0.4s ease; }
	main > .campaigns .grid .campaign .panel:hover figure img { transform: scale(1.1); }
	main > .campaigns .grid .campaign .panel .overlay { width: 100%; height: 100%; position: absolute; top: 0; left: 0; -webkit-backdrop-filter: blur(9px) brightness(0.76); backdrop-filter: blur(9px) brightness(0.76); opacity: 0; transition: opacity 0.4s ease; content: " "; display: block; }
	main > .campaigns .grid .campaign .panel:hover .overlay { opacity: 1; }
	main > .campaigns .grid .campaign .panel .text { width: 100%; height: 100%; padding: 132px 20px; position: absolute; bottom: 0; left: 0; text-align: center; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; transform: translateY(100%); transition: transform 0.4s ease; }
	main > .campaigns .grid .campaign .panel:hover .text { transform: translateY(0); }
	main > .campaigns .grid .campaign .panel .text h2 { font-size: 20px; grid-row: 2; }
	main > .campaigns .grid .campaign .panel .text ul { font-weight: 500; font-size: 12px; display: flex; justify-content: center; grid-row: 3; align-self: end; }
	main > .campaigns .grid .campaign .panel .text ul li { display: flex; }
	main > .campaigns .grid .campaign .panel .text ul li a:hover { opacity: 0.5; }
	main > .campaigns .grid .campaign .panel .text ul li + li::before { padding: 0 0.5em; content: "/"; display: block; }
}

@media only screen and (min-width: 1024px) {
	main > .campaigns { padding: 2.708vw 0.365vw 0; }
	main > .campaigns .grid { padding: 0 0 14.948vw; gap: 0.365vw; }
	main > .campaigns .grid .campaign:nth-child(2) { width: calc( ( 100% - 0.729vw ) / 3 ); top: calc( 14.948vw - 0.365vw ); }
	main > .campaigns .grid .campaign:nth-child(2n + 3) { top: auto; }
	main > .campaigns .grid .campaign:nth-child(3n + 3) { top: 14.948vw; }
	main > .campaigns .grid .campaign .panel .text { padding: 6.875vw 1.042vw; }
	main > .campaigns .grid .campaign .panel .text h2 { font-size: 1.042vw; }
	main > .campaigns .grid .campaign .panel .text ul { font-size: var(--fluid-10-12); }
}

main > .instagram-feed .heading { padding: 91px 5px 40px; display: grid; grid-template-columns: 1fr auto; }
main > .instagram-feed .heading h2 { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; }
main > .instagram-feed .heading ul { font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; }
main > .instagram-feed .heading ul li a { display: inline-flex; gap: 4px; }
main > .instagram-feed .heading ul li a:hover { opacity: 0.5; }

@media only screen and (min-width: 1024px) {
	main > .instagram-feed .heading { padding: 252px 12px 108px; grid-template-columns: 51% 1fr; }
	main > .instagram-feed .heading h2 { font-size: 18px; }
	main > .instagram-feed .heading ul { font-size: 18px; }
	main > .instagram-feed .heading ul li a { gap: 0.444em; }
}

@media only screen and (min-width: 1024px) {
	main > .instagram-feed .heading { padding: 13.125vw 0.625vw 5.625vw; }
	main > .instagram-feed .heading h2 { font-size: var(--fluid-12-18); }
	main > .instagram-feed .heading ul { font-size: var(--fluid-12-18); }
}

body > footer { margin: 5px 0 0; padding: 9px 7px; border: 1px solid #141414; border-width: 1px 0 0; display: flex; justify-content: space-between; }
body > footer a:hover { opacity: 0.5; }
body > footer p,
body > footer ul { font-size: 8px; }
body > footer ul { display: flex; gap: 18px; }

html.black body > footer { border-top-color: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	body > footer { margin: 11px 0 0; padding: 14px 7px; border-width: 1px 0 0; }
	body > footer p,
	body > footer ul { font-size: 12px; }
	body > footer ul { gap: 2.917em; }
}

@media only screen and (min-width: 1024px) {
	body > footer { margin: 0.573vw 0 0; padding: 0.729vw 0.365vw; border-width: 0.052vw 0 0; }
	body > footer p,
	body > footer ul { font-size: var(--fluid-10-12); }
}

:root {
  --fluid-10-12: clamp(10px, 0.625vw, 0.625vw);
  --fluid-11-14: clamp(12px, 0.729vw, 0.729vw);
  --fluid-12-18: clamp(12px, 0.938vw, 0.938vw);
}

body > .campaign { width: 100%; height: 100%; position: fixed; top: 100%; left: 0; transition: top 0.4s ease; z-index: 101; }
html.loaded body > .campaign { top: 0; }
body > .campaign .overlay { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(255, 255, 255, 0.1); -webkit-backdrop-filter: blur(35px) brightness(0.74); backdrop-filter: blur(35px) brightness(0.74); display: block; }
body > .campaign .wrap { height: 100%; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; }
body > .campaign .wrap .hold h2 { width: 100%; font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; position: absolute; top: 0; left: 0; }
body > .campaign .wrap .hold .slides { width: 100vw; }
body > .campaign .wrap .hold .slides .slide { }
body > .campaign .wrap .hold .slides .slide figure { width: 100vw; padding: 70px 58px 36px; }
body > .campaign .wrap .hold .slides .slide figure img { width: 100%; height: auto; }
body > .campaign .wrap .hold .slides .slick-arrow { position: absolute; bottom: 0; z-index: 50; background: none; border: 0; -webkit-appearance: none; appearance: none; }
body > .campaign .wrap .hold .slides .slick-arrow { width: 22px; height: 14px; background: url(images/arrow.svg) no-repeat 50% 50% / contain; display: block; }
body > .campaign .wrap .hold .slides .slick-prev { left: 58px; transform: rotate(180deg); }
body > .campaign .wrap .hold .slides .slick-next { right: 58px; }
body > .campaign .wrap .hold ul { width: 100%; font-family: arnika-variable, serif; font-size: 12px; text-transform: uppercase; position: absolute; bottom: 0; left: 0; }
body > .campaign .wrap .hold ul li a:hover { opacity: 0.5; }

@media only screen and (min-width: 1024px) {
	body > .campaign .wrap .hold h2 { font-size: 20px; top: 88px; }
	body > .campaign .wrap .hold .slides .slide figure { padding: 195px; }
	body > .campaign .wrap .hold .slides .slide figure img { width: 100%; height: 690px; object-fit: contain; }
	body > .campaign .wrap .hold .slides .slick-arrow { width: 28px; height: 19px; bottom: 96px; }
	body > .campaign .wrap .hold .slides .slick-prev { left: calc( 50% - 156px ); }
	body > .campaign .wrap .hold .slides .slick-next { right: calc( 50% - 156px ); }
	body > .campaign .wrap .hold ul { font-size: 20px; bottom: 97px; }
}

@media only screen and (min-width: 1024px) {
	body > .campaign .wrap .hold h2 { font-size: 1.852vh; top: 8.148vh; }
	body > .campaign .wrap .hold .slides .slide figure { padding: 18.056vh; }
	body > .campaign .wrap .hold .slides .slide figure img { height: 63.889vh; }
	body > .campaign .wrap .hold .slides .slick-arrow { width: 2.593vh; height: 1.759vh; bottom: 8.889vh; }
	body > .campaign .wrap .hold .slides .slick-prev { left: calc( 50% - 14.444vh ); }
	body > .campaign .wrap .hold .slides .slick-next { right: calc( 50% - 14.444vh ); }
	body > .campaign .wrap .hold ul { font-size: 1.852vh; bottom: 8.981vh; }
}

/* Slider */
.slick-slider
{
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    user-select: text;
    -webkit-touch-callout: 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.draggable {
    cursor: pointer;
    cursor: grab;
    user-select: none;
}
.slick-list.dragging {
    cursor: grabbing;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
            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;
}