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

@import url("//hello.myfonts.net/count/394a7c");

@font-face {font-family: 'Biotif';font-weight: 800;src: url('webfonts/394A7C_0_0.eot');src: url('webfonts/394A7C_0_0.eot?#iefix') format('embedded-opentype'),url('webfonts/394A7C_0_0.woff2') format('woff2'),url('webfonts/394A7C_0_0.woff') format('woff'),url('webfonts/394A7C_0_0.ttf') format('truetype');}

@font-face {font-family: 'Biotif';font-weight: 700;src: url('webfonts/394A7C_1_0.eot');src: url('webfonts/394A7C_1_0.eot?#iefix') format('embedded-opentype'),url('webfonts/394A7C_1_0.woff2') format('woff2'),url('webfonts/394A7C_1_0.woff') format('woff'),url('webfonts/394A7C_1_0.ttf') format('truetype');}

@font-face {font-family: 'Biotif';src: url('webfonts/394A7C_2_0.eot');src: url('webfonts/394A7C_2_0.eot?#iefix') format('embedded-opentype'),url('webfonts/394A7C_2_0.woff2') format('woff2'),url('webfonts/394A7C_2_0.woff') format('woff'),url('webfonts/394A7C_2_0.ttf') format('truetype');}

@font-face {font-family: 'PPEditorialOld';src: url('webfonts/PPEditorialOld-Ultralight.woff2') format('woff2'),url('webfonts/PPEditorialOld-Ultralight.woff') format('woff'),url('webfonts/PPEditorialOld-Ultralight.ttf') format('truetype');}
 
/* 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, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { 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: 700; }
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"] { -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: #000; 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 neue-haas-grotesk-display, 'Helvetica Neue', Arial, Helvetica, sans-serif; background: #fff; color: #181414; }

@media (pointer: fine) {
	html,
	a,
	button { cursor: none; }
	#cursor { width: 16px; height: 16px; position: fixed; top: -8px; left: -8px; border-radius: 50%; background: #FF4001; z-index: 999; pointer-events: none; display: none; -webkit-transition: width 0.4s ease, height 0.4s ease, top 0.4s ease, left 0.4s ease; transition: width 0.4s ease, height 0.4s ease, top 0.4s ease, left 0.4s ease; }
	#cursor.show { display: block; }
	#cursor.link { width: 26px; height: 26px; top: -13px; left: -13px; }
	#cursor.alt { background: #181414; }
	#CybotCookiebotDialog,
	#CybotCookiebotDialog a,
	#CybotCookiebotDialog button { cursor: default; }
}

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

.btn { font-size: 17px; color: #181414; background: #FF4001; border: 1px solid #181414; border-radius: 0.824em; position: relative; overflow: hidden; text-align: center; display: inline-flex; justify-content: center; align-items: center; }
.btn.small { font-size: 14px; }
@media (pointer: fine) {
	.btn:hover { color: #FFFFFF; border-color: #FF4001; }
}
.btn::before,
.btn::after { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.btn span { position: relative; display: block; transition: none; }
.btn > span { overflow: hidden; }
.btn > span > span { height: 2.471em; padding: 0 1.235em; display: flex; justify-content: center; align-items: center; }
@media (pointer: fine) {
	.btn:hover > span > span { animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s; }
}
.btn::before { width: 100%; height: 0; padding: 0 0 100%; background: #fff; transform: translate3d(0,0,0); transition: transform 0.3s; transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1); content: " "; }
@media (pointer: fine) {
	.btn:hover::before { transform: translate3d(0,100%,0); }
}
@keyframes MoveUpInitial {
	to { transform: translate3d(0,-105%,0); }
}
@keyframes MoveUpEnd {
	from { transform: translate3d(0,100%,0); }
	to { transform: translate3d(0,0,0); }
}

.btn.orange { background: #FFFFFF; }
@media (pointer: fine) {
	.btn.orange:hover { color: #181414; border-color: #FFFFFF; }
}
.btn.orange::before { background: #FF4001; }

.btn.black { color: #FFFFFF; }
.btn.black::before { background: #181414; }

@media only screen and (min-width: 1024px) {
	.btn { font-size: 26px; border-width: 1.5px; border-radius: 0.846em; }
	.btn.small { font-size: 18px; }
	.btn > span > span { height: calc( 2.615em - 3px ); padding: 0 1.308em; }
}

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

html.nav { overflow: hidden; }
body > header { width: 100%; padding: 7px; position: fixed; top: 0; left: 0; display: grid; grid-template-columns: 1fr 94px 1fr; z-index: 99; }
body > header ul:nth-of-type(2) { display: flex; justify-content: flex-end; gap: 10px; }
body > header ul:nth-of-type(2) li + li { display: none; }
body > header ul li .btn { font-size: 14px; border-radius: 11px; }
body > header ul li .btn > span > span { height: 35px; padding: 0 9.5px; }
body > header ul li button.btn span span span { position: relative; display: block; transition: opacity 0.4s ease; }
body > header ul li button.btn span span span:nth-of-type(2) { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; opacity: 0; }
html.nav body > header ul li button.btn span span span:nth-of-type(1) { opacity: 0; }
html.nav body > header ul li button.btn span span span:nth-of-type(2) { opacity: 1; }
body > header h1 { padding: 13px 0 0; }
body > header h1 a { position: relative; display: inline-flex; }
body > header h1 img { width: 100%; height: auto; transition: opacity 0.4s ease; }
body > header h1 a:after { width: 100%; height: 100%; background: url(images/logo-white.svg) no-repeat 50% 50% / cover; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.4s ease; content: " "; display: block; }

html.light:not(.nav) body > header ul li .btn { color: #FFFFFF; background: #FF4001; border-color: #FFFFFF; }
html.light:not(.nav) body > header ul li .btn:hover { color: #FFFFFF; border-color: #FF4001; }
html.light:not(.nav) body > header ul li .btn.btn::before { background: #181414; }
html.light body > header h1 img { opacity: 0; }
html.light body > header h1 a:after { opacity: 1; }

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

@media only screen and (min-width: 1024px) {
	body > header { padding: 27px 29px; grid-template-columns: 1fr 122px 1fr; align-items: center; }
	body > header ul:nth-of-type(2) { gap: 20px; }
	body > header ul:nth-of-type(2) li + li { display: flex; }
	body > header ul li .btn { font-size: 21px; border-width: 1.5px; border-radius: 0.905em; }
	body > header ul li .btn > span > span { height: calc( 2.333em - 3px ); padding: 0 0.929em; }
	body > header h1 { padding: 0; }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 1.406vw 1.51vw; grid-template-columns: 1fr 6.354vw 1fr; }
	body > header ul:nth-of-type(2) { gap: 1.04vw; }
	body > header ul li .btn { font-size: 1.094vw; }
}

body > .overlay { width: 100%; height: 100%; position: fixed; top: 0; left: 0; background: #ADADAD; pointer-events: none; opacity: 0; transition: opacity 0.8s ease; display: block; z-index: 97; }
html.nav body > .overlay { opacity: 0.8; pointer-events: auto; cursor: pointer; }

body > nav { width: calc( 100% - 6px ); max-height: 408px; height: calc( 100% - 6px ); padding: 5px; color: #FFFFFF; background: #181414; border-radius: 14px; position: fixed; top: 3px; left: 3px; display: flex; flex-direction: column; justify-content: flex-end; gap: 25px; transform: translateY( calc( -100% - 6px ) ); transition: transform 0.8s ease; z-index: 98; }
html.nav body > nav { transform: translateY(0); }
body > nav ul.main { padding: 0 3px; font-family: PPEditorialOld, serif; font-size: 38px; line-height: 41px; display: flex; flex-wrap: wrap; counter-reset: ul; }
body > nav ul.main li:after { padding: 0 8px; content: "/"; display: inline-block; }
body > nav ul.main li:last-child:after { display: none; }
body > nav ul.main li a { color: #FFFFFF; }
body > nav ul.main li a:hover { color: #FF4001; }
body > nav ul.main li a:after { padding: 0 0 0 7px; font-size: 0.605em; vertical-align: super; counter-increment: ul; content: counter(ul, decimal-leading-zero); display: inline-block; }
body > nav ul.button li a { display: flex; }

@media only screen and (min-width: 1024px) {
	body > nav { width: 707px; max-height: 100%; height: calc( 100% - 8px - 8px ); padding: 0 0 72px 33px; border-radius: 29px; top: 8px; left: 8px; gap: 0; transform: translateY( calc( -100% - 8px - 8px ) ); }
	html.nav body > nav { transform: translateY(0); }
	body > nav ul.main { padding: 0; font-size: 74px; line-height: 1.108; }
	body > nav ul.main li:after { padding: 0 0.203em; }
	body > nav ul.main li a:after { padding: 0 0 0 0.333em; font-size: 0.605em; }
	body > nav ul.button { display: none; }
}

@media only screen and (min-width: 1024px) {
	body > nav { width: 36.823vw; height: calc( 100% - 0.417vw - 0.417vw ); padding: 0 0 3.75vw 1.719vw; border-radius: 1.51vw; top: 0.417vw; left: 0.417vw; transform: translateY( calc( -100% - 0.417vw - 0.417vw ) ); }
	html.nav body > nav { transform: translateY(0); }
	body > nav ul.main { font-size: 3.854vw; }
}

main { position: relative; }

main img { width: 100%; height: auto; }

main > .banner { padding: 71px 7px 7px; min-height: 100vh; color: #FFFFFF; position: relative; text-align: center; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; }
main > .banner figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .banner figure img,
main > .banner figure video { width: 100%; height: 100%; object-fit: cover; }
main > .banner h1 { grid-row: 3; display: flex; align-items: flex-end; }
main > .banner p { padding 0 20px; font-family: PPEditorialOld, serif; font-size: 24px; line-height: 27px; grid-row: 1; }

@media only screen and (min-width: 1024px) {
	main > .banner { padding: 12px 13px; }
	main > .banner figure:after { width: 100%; height: 54%; background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); position: absolute; top: 0; left: 0; content: " "; display: block; }
	main > .banner p { padding: 8px 650px; font-size: 39px; line-height: 1.179; text-wrap: balance; grid-row: 1; }
	body.home > header h1 { transition: opacity 0.4s ease; }
	html.light body.home > header h1 { opacity: 0; pointer-events: none; }
}

@media only screen and (min-width: 1024px) {
	main > .banner { padding: 0.625vw 0.677vw; }
	main > .banner p { padding: 0.417vw 33.854vw; font-size: 2.031vw; }
}

main > .selected-works { padding: 52px 11px 70px; background: #F8F8F8; border-bottom: 1px solid #181414; position: relative; }
main > .selected-works header { display: none; }
main > .selected-works .grid { position: relative; }
main > .selected-works .grid > h3 { font-family: PPEditorialOld, serif; font-size: 26px; line-height: 27px; }
main > .selected-works .grid > p { margin: 19px 0 0; font-size: 16px; line-height: 19px; }
main > .selected-works .grid > h3 + p { margin: 53px 0 0; }
main > .selected-works .grid > h2 { margin: 147px 0 0; font-size: 16px; line-height: 19px; }
main > .selected-works .grid ul { margin: 18px 0 0; display: grid; grid-template-columns: 1fr; gap: 34px; }
main > .selected-works .grid ul li a { position: relative; display: block; }
main > .selected-works .grid ul li a figure { margin: 0 0 8px; }
main > .selected-works .grid ul li a figure img { height: 65.278vw; object-fit: cover; }
main > .selected-works .grid ul li a figure span.video { position: relative; display: block; }
main > .selected-works .grid ul li a figure span.video video { width: 100%; height: 65.278vw; object-fit: cover; }
main > .selected-works .grid ul li a > span { max-width: 254px; font-size: 16px; line-height: 1.2; display: block; }
main > .selected-works .grid ul li a > span h2 { text-transform: uppercase; }
main > .selected-works .grid ul li a > span p { font-size: 0.75em; line-height: 1.2; /*color: #ADADAD;*/ }
main > .selected-works .highlights { display: none; }

@media only screen and (min-width: 1024px) {
	main > .selected-works { padding: 0; border-bottom-width: 1.5px; display: grid; grid-template-columns: auto 734px 966px; }
	main > .selected-works header { padding: 0 0 0 98px; display: block; }
	main > .selected-works header h2 { height: 100vh; font-size: 19px; line-height: 1.211; position: sticky; top: 0; left: 0; display: flex; align-items: center; }
	main > .selected-works .grid { padding: 54px 63px 140px 82px; border-left: 1.5px solid #181414; }
	main > .selected-works .grid > h3 { font-size: 31px; line-height: 1.065; }
	main > .selected-works .grid > p { margin: 1.211em 0 0; font-size: 19px; line-height: 1.211; }
	main > .selected-works .grid > h3 + p { margin: 4.684em 0 0; }
	main > .selected-works .grid > h2 { display: none; }
	main > .selected-works .grid ul { margin: 190px 0 0; gap: 94px; }
	main > .selected-works .grid ul li a figure { margin: 0 0 13px; }
	main > .selected-works .grid ul li a figure img { height: auto; }
	main > .selected-works .grid ul li a figure span.video { height: 0; padding: 0 0 73.5%; }
	main > .selected-works .grid ul li a figure span.video video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
	main > .selected-works .grid ul li a figure span.badge { width: 178px; height: 178px; position: absolute; bottom: -84px; right: -45px; opacity: 0; transition: opacity 0.4s ease; z-index: 2; display: block; }
	main > .selected-works .grid ul li a figure span.badge:before { width: 100%; height: 100%; background: url(images/explore.svg) no-repeat 50% 50% / contain; position: absolute; top: 0; left: 0; animation: rotation 20s infinite linear; content: " "; display: block; }
	@keyframes rotation {
		from { transform: rotate(0deg); }
		to {  transform: rotate(359deg); }
	}
	main > .selected-works .grid ul li a figure span.badge:after { width: 100%; height: 100%; font-family: PPEditorialOld, serif; font-size: 24px; color: #FFFFFF; position: absolute; top: 0; left: 0; content: "Explore"; display: flex; text-align: center; justify-content: center; align-items: center; }
	main > .selected-works .grid ul li:hover a figure span.badge { opacity: 1; }
	main > .selected-works .grid ul li a > span { max-width: 15.238em; font-size: 18px; }
	main > .selected-works .highlights { display: block; }
	main > .selected-works .highlights .slides { position: sticky; top: 0; left: 0; }
	main > .selected-works .highlights .slides .highlight { position: relative; }
	main > .selected-works .highlights .slides .highlight a { color: #FFFFFF; position: relative; display: block; }
	main > .selected-works .highlights .slides .highlight a figure { position: relative; overflow: hidden; }
	main > .selected-works .highlights .slides .highlight a figure img,
	main > .selected-works .highlights .slides .highlight a figure video { height: 100vh; object-fit: cover; transition: transform 0.4s ease; }
	main > .selected-works .highlights .slides .highlight a figure video { vertical-align: bottom; display: block; }
	main > .selected-works .highlights .slides .highlight a figure:after { width: 100%; height: 69%; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); position: absolute; bottom: 0; left: 0; content: " "; display: block; }
	main > .selected-works .highlights .slides .highlight a figure span.badge { width: 178px; height: 178px; position: absolute; bottom: 106px; right: 54px; opacity: 0; transition: opacity 0.4s ease; z-index: 2; display: block; }
	main > .selected-works .highlights .slides .highlight a figure span.badge:before { width: 100%; height: 100%; background: url(images/explore.svg) no-repeat 50% 50% / contain; position: absolute; top: 0; left: 0; animation: rotation 20s infinite linear; content: " "; display: block; }
	@keyframes rotation {
		from { transform: rotate(0deg); }
		to {  transform: rotate(359deg); }
	}
	main > .selected-works .highlights .slides .highlight a figure span.badge:after { width: 100%; height: 100%; font-family: PPEditorialOld, serif; font-size: 24px; color: #FFFFFF; position: absolute; top: 0; left: 0; content: "Explore"; display: flex; text-align: center; justify-content: center; align-items: center; }
	main > .selected-works .highlights .slides .highlight a:hover figure span.badge { opacity: 1; }
	main > .selected-works .highlights .slides .highlight a > span { width: 15.238em; font-size: 18px; line-height: 1.2; position: absolute; bottom: 40px; left: 40px; }
	main > .selected-works .highlights .slides .highlight a > span h2 { text-transform: uppercase; }
	main > .selected-works .highlights .slides .highlight a > span p { font-size: 0.75em; line-height: 1.2; /*color: #ADADAD;*/ }
	main > .selected-works .highlights .slick-dots { position: absolute; bottom: 66px; right: 54px; z-index: 10; display: flex; gap: 10px; }
	main > .selected-works .highlights .slick-dots li button { width: 117px; height: 5px; background: #FFFFFF; border-radius: 3px; border: 0; opacity: 0.35; text-indent: -9999px; position: relative; display: block; }
	main > .selected-works .highlights .slick-dots li.slick-active button { opacity: 1; }
}

@media only screen and (min-width: 1024px) {
	main > .selected-works { grid-template-columns: auto 38.229vw 50.313vw; }
	main > .selected-works header { padding: 0 0 0 5.104vw; }
	main > .selected-works header h2 { font-size: 0.99vw; }
	main > .selected-works .grid { padding: 2.813vw 3.281vw 7.292vw 4.271vw; }
	main > .selected-works .grid > h3 { font-size: 1.615vw; }
	main > .selected-works .grid > p { font-size: 0.99vw; }
	main > .selected-works .grid ul { margin: 9.896vw 0 0; gap: 4.896vw; }
	main > .selected-works .grid ul li a figure { margin: 0 0 0.677vw; }
	main > .selected-works .grid ul li a figure span.badge { width: 9.271vw; height: 9.271vw; bottom: -4.375vw; right: -2.344vw; }
	main > .selected-works .grid ul li a figure span.badge:after { font-size: 1.25vw; }
	main > .selected-works .grid ul li a > span { font-size: 0.938vw; }
	main > .selected-works .highlights .slides .highlight a figure span.badge { width: 9.271vw; height: 9.271vw; bottom: 5.521vw; right: 2.813vw; }
	main > .selected-works .highlights .slides .highlight a figure span.badge:after { font-size: 1.25vw; }
	main > .selected-works .highlights .slides .highlight a > span { font-size: 0.938vw; bottom: 2.083vw; left: 2.083vw; }
	main > .selected-works .highlights .slick-dots { bottom: 3.438vw; right: 2.813vw; gap: 0.521vw; }
	main > .selected-works .highlights .slick-dots li button { width: 6.094vw; height: 0.26vw; border-radius: 0.156vw; }
}

main > .home-expertise { padding: 51px 11px 127px; position: relative; }
main > .home-expertise .images { position: relative; }
main > .home-expertise .images .slick-dots { position: absolute; bottom: 18px; left: 18px; z-index: 10; display: flex; gap: 5px; }
main > .home-expertise .images .slick-dots li button { width: 54px; height: 3px; background: #FFFFFF; border-radius: 2px; border: 0; opacity: 0.35; text-indent: -9999px; position: relative; display: block; }
main > .home-expertise .images .slick-dots li.slick-active button { opacity: 1; }
main > .home-expertise .text { margin: 80px 0 0; padding: 28px 0 0; border-top: 1px solid #181414; position: relative; }
main > .home-expertise .text h2 { font-size: 16px; line-height: 19px; }
main > .home-expertise .text ul.list { margin: 54px 0 0; font-family: PPEditorialOld, serif; font-size: 28px; line-height: 30px; }
main > .home-expertise .text ul.list li { display: inline; }
main > .home-expertise .text ul.list li:before { padding: 0 6px; content: "|"; display: inline-block; }
main > .home-expertise .text ul.list li:first-child:before { display: none; }
main > .home-expertise ul.buttons { margin: 49px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }

@media only screen and (min-width: 1024px) {
	main > .home-expertise { padding: 84px 100px 134px 16px; display: grid; grid-template-columns: 744px auto; gap: 138px; }
	main > .home-expertise .images .slick-dots { bottom: 38px; left: 38px; }
	main > .home-expertise .images .slick-dots li button { width: 117px; height: 5px; border-radius: 3px; }
	main > .home-expertise .text { margin: 0; padding: 45px 0 0; border-top-width: 1.5px solid #181414; }
	main > .home-expertise .text h2 { font-size: 19px; line-height: 1.211; }
	main > .home-expertise .text ul.list { margin: 1.297em 0 0; font-size: 74px; line-height: 1.054; }
	main > .home-expertise .text ul.list li:before { padding: 0 0.205em; }
	main > .home-expertise ul.buttons { margin: 102px 0 0; gap: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-expertise { padding: 4.375vw 5.208vw 6.979vw 0.833vw; grid-template-columns: 38.75vw auto; gap: 7.188vw; }
	main > .home-expertise .images .slick-dots { bottom: 1.979vw; left: 1.979vw; }
	main > .home-expertise .images .slick-dots li button { width: 6.094vw; height: 0.26vw; border-radius: 0.156vw; }
	main > .home-expertise .text { padding: 2.344vw 0 0; }
	main > .home-expertise .text h2 { font-size: 0.99vw; }
	main > .home-expertise .text ul.list { font-size: 3.854vw; }
	main > .home-expertise ul.buttons { margin: 5.313vw 0 0; gap: 1.042vw; }
}

main > .home-studio { padding: 0 11px 228px; position: relative; }
main > .home-studio p { font-size: 18px; line-height: 22px; }
main > .home-studio ul.buttons { margin: 38px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }
main > .home-studio:before { width: 160px; height: 200px; background: url(images/mushroom.svg) no-repeat 50% 50% / contain; position: absolute; bottom: 77px; right: 20px; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .home-studio { padding: 115px 944px 215px 248px; }
	main > .home-studio p { font-size: 25px; line-height: 1.200; }
	main > .home-studio ul.buttons { margin: 108px 0 0; flex-wrap: wrap; gap: 20px; }
	main > .home-studio:before { width: 310px; height: 388px; bottom: auto; top: 0; right: 302px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-studio { padding: 5.99vw 49.167vw 11.198vw 12.917vw; }
	main > .home-studio p { font-size: 1.302vw; }
	main > .home-studio ul.buttons { margin: 5.625vw 0 0; gap: 1.042vw; }
	main > .home-studio:before { width: 16.146vw; height: 20.208vw; right: 15.729vw; }
}

main > .work { position: relative; }
main > .work header { padding: 76px 11px 0; text-align: right; position: sticky; top: 0; left: 0; }
main > .work header h1 { font-weight: 700; font-size: 78px; letter-spacing: -0.05em; text-transform: uppercase; }
main > .work .grid { padding: 0 11px 60px; position: relative; overflow: hidden; }
main > .work .grid .filter { padding: 30px 0 8px; }
main > .work .grid .filter h2 { font-size: 16px; line-height: 19px; }
main > .work .grid .filter ul { max-width: 250px; margin: 14px 0 0; font-family: PPEditorialOld, serif; font-size: 28px; line-height: 30px; }
main > .work .grid .filter ul li { display: inline; }
main > .work .grid .filter ul li:before { padding: 0 4.5px; content: "/"; display: inline-block; }
main > .work .grid .filter ul li:first-child:before { display: none; }
main > .work .grid .filter ul li:first-child + li:before { content: "|"; }
main > .work .grid .filter ul li a { white-space: nowrap; }
main > .work .grid .filter ul li a span { font-size: 0.605em; vertical-align: super; }
main > .work .grid .filter ul li.on a,
main > .work .grid .filter ul li a:hover { color: #FF4001; }
main > .work .grid .project { padding: 36px 0 0; }
main > .work .grid .project a { position: relative; display: block; }
main > .work .grid .project a figure { margin: 0 0 8px; }
main > .work .grid .project a figure img { height: 65.278vw; object-fit: cover; }
main > .work .grid .project a figure span.video { position: relative; display: block; }
main > .work .grid .project a figure span.video video { width: 100%; height: 65.278vw; object-fit: cover; }
main > .work .grid .project a > span { max-width: 254px; font-size: 16px; line-height: 1.2; display: block; }
main > .work .grid .project a > span h2 { text-transform: uppercase; }
main > .work .grid .project a > span p { font-size: 0.8em; line-height: 1.2; /*color: #ADADAD;*/ }

@media only screen and (min-width: 1024px) {
	main > .work header { padding: 112px 51px 12px; }
	main > .work header h1 { font-size: 293px; }
	main > .work .grid { padding: 0 51px 282px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 94px; }
	main > .work .grid .filter { padding: 0; grid-column: 1 / span 2; }
	main > .work .grid .filter h2 { font-size: 19px; line-height: 1.211; }
	main > .work .grid .filter ul { max-width: 580px; margin: 0.297em 0 0; font-size: 74px; line-height: 1.108; }
	main > .work .grid .filter ul li:before { padding: 0 0.203em; }
	main > .work .grid .project { padding: 0; }
	main > .work .grid .project a figure { margin: 0 0 13px; }
	main > .work .grid .project a figure img { height: auto; }
	main > .work .grid .project a figure span.video { height: 0; padding: 0 0 73.5%; }
	main > .work .grid .project a figure span.video video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
	main > .work .grid .project a figure span.badge { width: 178px; height: 178px; position: absolute; bottom: -84px; right: -45px; opacity: 0; transition: opacity 0.4s ease; z-index: 2; display: block; }
	main > .work .grid .project a figure span.badge:before { width: 100%; height: 100%; background: url(images/explore.svg) no-repeat 50% 50% / contain; position: absolute; top: 0; left: 0; animation: rotation 20s infinite linear; content: " "; display: block; }
	@keyframes rotation {
		from { transform: rotate(0deg); }
		to {  transform: rotate(359deg); }
	}
	main > .work .grid .project a figure span.badge:after { width: 100%; height: 100%; font-family: PPEditorialOld, serif; font-size: 24px; color: #FFFFFF; position: absolute; top: 0; left: 0; content: "Explore"; display: flex; text-align: center; justify-content: center; align-items: center; }
	main > .work .grid .project:hover a figure span.badge { opacity: 1; }
	main > .work .grid .project a > span { max-width: 15.238em; font-size: 18px; }
	main > .work header,
	main > .work .grid .filter,
	main > .work .grid .project { transition: opacity 0.4s ease; }
	main > .work.hover header,
	main > .work.hover .grid .filter,
	main > .work.hover .grid .project { opacity: 0.33; }
	main > .work.hover .grid .project:hover { opacity: 1; }
}

@media only screen and (min-width: 1024px) {
	main > .work header { padding: 5.833vw 2.656vw 0.625vw; }
	main > .work header h1 { font-size: 15.26vw; }
	main > .work .grid { padding: 0 2.656vw 14.688vw; grid-gap: 4.896vw; }
	main > .work .grid .filter h2 { font-size: 0.99vw; }
	main > .work .grid .filter ul { max-width: 30.208vw; font-size: 3.854vw; }
	main > .work .grid .project a figure { margin: 0 0 0.677vw; }
	main > .work .grid .project a figure span.badge { width: 9.271vw; height: 9.271vw; bottom: -4.375vw; right: -2.344vw; }
	main > .work .grid .project a figure span.badge:after { font-size: 1.25vw; }
	main > .work .grid .project a > span { font-size: 0.938vw; }
}

main > .project { padding: 0 0 70px; position: relative; }
main > .project > header { padding: 84px 11px 37px; text-align: center; border-bottom: 1px solid #010101; position: relative; }
main > .project > header h1 { font-weight: 700; font-size: 42px; line-height: 35px; letter-spacing: -0.05em; text-transform: uppercase; }
main > .project > header p { margin: 22px 0 0; font-family: PPEditorialOld, serif; font-size: 25px; line-height: 29px; }
main > .project .overview { padding: 24px 11px 109px; position: relative; display: grid; grid-template-columns: 1fr 1fr; }
main > .project .overview .col h2 { font-size: 16px; line-height: 19px; color: #ADADAD; }
main > .project .overview .col ul:not(.buttons) { font-size: 16px; line-height: 19px; }
main > .project .overview .col ul.buttons { margin: 19px 0 0; }
main > .project .overview .text { padding: 60px 0 0; position: relative; display: none; grid-column: span 2; }
main > .project .overview .text p { margin: 19px 0 0; font-size: 16px; line-height: 19px; }
main > .project .overview .text p:first-child { margin: 0; }
main > .project .overview > ul.buttons { padding: 56px 0 0; position: relative; grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
main > .project .overview > ul.buttons li a.btn { display: flex; }
main > .project .overview > ul.buttons li.toggle a.btn > span > span > span { transition: opacity 0.4s ease; }
main > .project .overview > ul.buttons li.toggle a.btn > span > span > span + span { width: 100%; height: 100%; padding: 0.2em 0 0; position: absolute; top: 0; left: 0; opacity: 0; display: flex; justify-content: center; align-items: center; }
main > .project .overview > ul.buttons li.toggle a.btn.open > span > span > span { opacity: 0; }
main > .project .overview > ul.buttons li.toggle a.btn.open > span > span > span + span { opacity: 1; }
main > .project .images { padding: 0 11px 76px; position: relative; display: grid; grid-template-columns: 1fr; gap: 8px; }
main > .project .images figure > div { height: 0; padding: 0 0 56.25%; position: relative; }
main > .project .images figure > div video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
main > .project .quote { padding: 0 11px 0; }
main > .project .quote header h2 { font-weight: 700; font-size: 16px; line-height: 19px; }
main > .project .quote .wrap { padding: 54px 0 0; position: relative; }
main > .project .quote blockquote { position: relative; display: block; }
main > .project .quote blockquote q { font-family: PPEditorialOld, serif; font-size: 20px; line-height: 22px; quotes: none; }
main > .project .quote blockquote cite { margin: 32px 0 0; font-size: 16px; line-height: 19px; display: block; }

@media only screen and (min-width: 1024px) {
	main > .project { padding: 0 0 368px; display: grid; grid-template-columns: 630px auto; }
	main > .project > header { padding: 112px 210px 62px; border-bottom-width: 1.5px; grid-column: span 2; }
	main > .project > header h1 { font-size: 125px; line-height: 1.088; }
	main > .project > header p { margin: 0.158em 0 0; font-size: 38px; line-height: 1.184; }
	main > .project .overview { padding: 36px 106px 36px 52px; grid-template-rows: auto auto 1fr; position: sticky; top: 102px; align-self: start; }
	main > .project .overview .col h2 { font-size: 16px; line-height: 1.188; }
	main > .project .overview .col ul:not(.buttons) { font-size: 16px; line-height: 1.188; }
	main > .project .overview .col ul.buttons { margin: 40px 0 0; }
	main > .project .overview .text { padding: 100px 0 0; }
	main > .project .overview .text.mobile { height: 0; overflow: hidden; }
	main > .project .overview .text.desktop { display: block; }
	main > .project .overview .text p { margin: 1.188em 0 0; font-size: 14px; line-height: 1.188; }
	main > .project .overview .text p:first-child { margin: 0; }
	main > .project .overview > ul.buttons { padding: 78px 0 0; display: block;}
	main > .project .overview > ul.buttons li a.btn { display: inline-flex; }
	main > .project .overview > ul.buttons li.toggle { display: none; }
	main > .project .images { padding: 0 51px 174px 138px; border-left: 1.5px solid #010101; grid-template-columns: 1fr 1fr; gap: 10px; }
	main > .project .images figure.full { grid-column: span 2; }
	main > .project .images figure:not(.full) > div { height: 100%; padding: 0; }
	main > .project .images figure:not(.full) > div video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
	main > .project .quote { padding: 0; grid-column: span 2; position: relative; }
	main > .project .quote header { margin: 0 0 0 630px; padding: 0 74px 46px; border-left: 1.5px solid #010101; }
	main > .project .quote header h2 { font-size: 18px; line-height: 1.222; }
	main > .project .quote .wrap { padding: 100px 240px 0 702px; border-top: 1.5px solid #010101; background: #FFFFFF; }
	main > .project .quote blockquote q { font-size: 40px; line-height: 1.125; }
	main > .project .quote blockquote cite { margin: 3.722em 0 0; font-size: 18px; line-height: 1.222; }
}

@media only screen and (min-width: 1024px) {
	main > .project { padding: 0 0 19.167vw; grid-template-columns: 32.813vw auto; }
	main > .project > header { padding: 5.833vw 10.938vw 3.229vw; }
	main > .project > header h1 { font-size: 6.51vw; }
	main > .project > header p { font-size: 1.979vw; }
	main > .project .overview { padding: 1.875vw 5.521vw 1.875vw 2.708vw; top: 5.313vw; }
	main > .project .overview .col h2 { font-size: 0.833vw; }
	main > .project .overview .col ul:not(.buttons) { font-size: 0.833vw; }
	main > .project .overview .col ul.buttons { margin: 2.08vw 0 0; }
	main > .project .overview .text { padding: 5.208vw 0 0; }
	main > .project .overview .text p { font-size: 0.73vw; }
	main > .project .overview > ul.buttons { padding: 4.063vw 0 0; }
	main > .project .images { padding: 0 2.656vw 9.063vw 7.188vw; gap: 0.521vw; }
	main > .project .quote header { margin: 0 0 0 32.813vw; padding: 0 3.854vw 2.396vw; }
	main > .project .quote header h2 { font-size: 0.938vw; }
	main > .project .quote .wrap { padding: 5.208vw 12.5vw 0 36.563vw; }
	main > .project .quote blockquote q { font-size: 2.083vw; }
	main > .project .quote blockquote cite { font-size: 0.938vw; }
}

main > .next { background: #F8F8F8; position: relative; }
main > .next a { font-size: 46px; line-height: 43px; letter-spacing: -0.04em; position: relative; overflow: hidden; display: block; }
main > .next a > span { padding: 12px 3px 124px; position: relative; display: block; }
main > .next a > span > span.next { display: block; }
main > .next a > span img { width: 235px; position: absolute; bottom: -20px; right: 18px; transform: rotate(-7deg); }
main > .next a > span > span.badge { display: none; }

@media only screen and (min-width: 1024px) {
	main > .next:before { width: 310px; height: 388px; background: url(images/mushroom.svg) no-repeat 50% 50% / contain; position: absolute; top: 118px; right: 238px; content: " "; display: block; }
	main > .next a { font-size: 130px; line-height: 0.946; }
	main > .next a > span { padding: 0.246em 0.046em 2.646em; display: inline-block; }
	main > .next a > span img { width: 5.077em; bottom: -0.431em; right: -3.754em; }
	main > .next a > span > span.badge { width: 178px; height: 178px; position: absolute; bottom: 301px; right: -535px; opacity: 0; transition: opacity 0.4s ease; z-index: 2; display: block; }
	main > .next a > span > span.badge:before { width: 100%; height: 100%; background: url(images/explore.svg) no-repeat 50% 50% / contain; position: absolute; top: 0; left: 0; animation: rotation 20s infinite linear; content: " "; display: block; }
	@keyframes rotation {
		from { transform: rotate(0deg); }
		to {  transform: rotate(359deg); }
	}
	main > .next a > span > span.badge:after { width: 100%; height: 100%; font-family: PPEditorialOld, serif; font-size: 24px; line-height: 1; letter-spacing: 0; color: #FFFFFF; position: absolute; top: 0; left: 0; content: "Explore"; display: flex; text-align: center; justify-content: center; align-items: center; }
	main > .next a:hover > span > span.badge { opacity: 1; }
}

@media only screen and (min-width: 1024px) {
	main > .next:before { width: 16.146vw; height: 20.208vw; top: 6.146vw; right: 12.396vw; }
	main > .next a { font-size: 6.771vw; }
	main > .next a > span > span.badge { width: 9.271vw; height: 9.271vw; bottom: 15.677vw; right: -27.865vw; }
	main > .next a > span > span.badge:after { font-size: 1.25vw; }
}

main > .expertise { padding: 3px; background: #181414; position: relative; }
main > .expertise .select { padding: 122px 14px 20px; background: #FFFFFF; border-radius: 14px; }
main > .expertise .select h1 { margin: 0 0 20px; font-size: 16px; line-height: 19px; }
main > .expertise .select h2 { padding: 21px 3px 8px; font-size: 32px; border-top: 1px solid #181414; position: relative; cursor: pointer; }
main > .expertise .select h1 + h2 { border-top: 0; }
main > .expertise .select h2 span { width: 33px; height: 33px; border: 1px solid #181414; border-radius: 50%; position: absolute; top: 15px; right: 0; transition: transform 0.4s ease; display: block; }
main > .expertise .select h2.open span { background: #181414; transform: rotate(45deg); }
main > .expertise .select h2 span:before,
main > .expertise .select h2 span:after { width: 13px; height: 1px; background: #181414; position: absolute; top: 50%; left: 9px; transition: background-color 0.4s ease; content: " "; display: block; }
main > .expertise .select h2 span:after { transform: rotate(90deg); }
main > .expertise .select h2.open span:before,
main > .expertise .select h2.open span:after { background: #FFFFFF; }
main > .expertise .select .panel { padding: 10px 0 32px; position: relative; }
main > .expertise .select .panel ~ .panel { display: none; }
main > .expertise .select ul { display: flex; flex-wrap: wrap; gap: 5px; }
main > .expertise .select ul li a.btn { font-size: 12px; border-radius: 11px; }
main > .expertise .select ul li a.btn > span > span { height: 35px; padding: 0 11px; }
main > .expertise .slides { width: 100%; height: 100%; padding: 3px; background: #181414; position: absolute; top: 0; left: 0; opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
main > .expertise .slides.open { opacity: 1; pointer-events: auto; }
main > .expertise .slides .slick-list,
main > .expertise .slides .slick-track { height: 100%; }
main > .expertise .slides .slide { height: 100%; display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 3px; text-align: center; }
main > .expertise .slides .slide .title { padding: 90px 22px 68px; background: #FFFFFF; border-radius: 14px; }
main > .expertise .slides .slide .title h2 { font-size: 16px; line-height: 19px; }
main > .expertise .slides .slide .title h3 { margin: 11px 0 0; font-family: PPEditorialOld, serif; font-size: 28px; line-height: 27px; }
main > .expertise .slides .slide .text { padding: 22px; color: #FFFFFF; border: 1px solid #FFFFFF; border-radius: 14px; display: flex; flex-direction: column; justify-content: center; }
main > .expertise .slides .slide .text p { font-family: PPEditorialOld, serif; font-size: 18px; line-height: 22px; }
main > .expertise .slides .slide .text > span { display: none; }
main > .expertise .slides .slide .text ul { margin: 45px 0 0; }
main > .expertise .slides .slide .text ul li { display: flex; justify-content: center; }
main > .expertise .slides .slide .text ul li button { width: 33px; height: 33px; background: #FFFFFF; border: 0; border-radius: 50%; position: relative; display: flex; justify-content: center; align-items: center; }
main > .expertise .slides .slide .text ul li button span { width: 13px; height: 1px; background: #010101; position: absolute; top: 50%; left: calc( 50% - ( 13px / 2 ) ); transform: rotate(45deg); transition: background-color 0.4s ease; display: block; }
main > .expertise .slides .slide .text ul li button span:before { width: 100%; height: 1px; background: #010101; position: absolute; top: 0; left: 0;  transform: rotate(90deg); transition: background-color 0.4s ease; content: " "; display: block; }
main > .expertise .slides .slide .text ul li button:hover { background: #FF4001; }
main > .expertise .slides .slide .text ul li button:hover span:before,
main > .expertise .slides .slide .text ul li button:hover span:before { background: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	main > .expertise { min-height: 100vh; padding: 8px; display: grid; grid-template-columns: auto 700px; grid-gap: 8px; }
	main > .expertise .select { padding: 216px 82px 70px 75px; border-radius: 29px; }
	main > .expertise .select h1 { margin: 0 0 3.789em; padding: 0 2.263em; font-size: 19px; line-height: 1.211; }
	main > .expertise .select h2 { padding: 0.297em 0.938em 0.219em 0.672em; font-size: 64px; border-top-width: 1.5px; }
	main > .expertise .select h1 + h2 { border-top-width: 0; }
	main > .expertise .select h2 span { width: 0.891em; height: 0.891em; border-width: 0.023em; top: 0.266em; }
	main > .expertise .select h2 span:before,
	main > .expertise .select h2 span:after { width: 0.391em; height: 0.023em; left: 0.227em; }
	main > .expertise .select .panel { padding: 20px 80px 92px 43px; }
	main > .expertise .select ul { gap: 9px; }
	main > .expertise .select ul li a.btn { font-size: 18px; border-radius: 1.000em; }
	main > .expertise .select ul li a.btn > span > span { height: 2.556em; padding: 0 1.417em; }
	main > .expertise .select ul li.on a.btn { color: #FFFFFF; }
	main > .expertise .select ul li.on a.btn::before { background: #181414; }
	main > .expertise .slides { width: auto; height: auto; padding: 0; position: relative; top: auto; left: auto; opacity: 1; pointer-events: auto; }
	main > .expertise .slides .slide { gap: 8px; }
	main > .expertise .slides .slide .title { padding: 130px 9px 120px; border-radius: 29px; }
	main > .expertise .slides .slide .title h2 { font-size: 19px; line-height: 1.211; }
	main > .expertise .slides .slide .title h3 { margin: 0.286em 0 0; font-size: 56px; line-height: 1.179; }
	main > .expertise .slides .slide .text { padding: 0 90px; border-width: 1.5px; border-radius: 29px; }
	main > .expertise .slides .slide .text p { font-size: 29px; line-height: 1.138; }
	main > .expertise .slides .slide .text > span { font-family: PPEditorialOld, serif; font-size: 39px; position: absolute; bottom: 0.641em; right: 0.462em; display: block; }
	main > .expertise .slides .slide .text ul { display: none; }
}

@media only screen and (min-width: 1024px) {
	main > .expertise { padding: 0.417vw; grid-template-columns: auto 36.458vw; grid-gap: 0.417vw; }
	main > .expertise .select { padding: 11.25vw 4.271vw 3.646vw 3.906vw; border-radius: 1.51vw; }
	main > .expertise .select h1 { font-size: 0.99vw; }
	main > .expertise .select h2 { font-size: 3.333vw; }
	main > .expertise .select .panel { padding: 1.042vw 4.167vw 4.792vw 2.24vw; }
	main > .expertise .select ul { gap: 0.469vw; }
	main > .expertise .select ul li a.btn { font-size: 0.938vw; }
	main > .expertise .slides .slide { gap: 0.417vw; }
	main > .expertise .slides .slide .title { padding: 6.771vw 0.469vw 6.25vw; border-radius: 1.51vw; }
	main > .expertise .slides .slide .title h2 { font-size: 0.99vw; }
	main > .expertise .slides .slide .title h3 { font-size: 2.917vw; }
	main > .expertise .slides .slide .text { padding: 0 4.688vw; border-radius: 1.51vw; }
	main > .expertise .slides .slide .text p { font-size: 1.51vw; }
	main > .expertise .slides .slide .text > span { font-size: 2.031vw; }
}

main > .studio-header { padding: 127px 14px 42px; min-height: 100vh; color: #FFFFFF; /*background: #181414;*/ position: relative; text-align: center; display: flex; flex-direction: column; justify-content: space-between; }
main > .studio-header figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .studio-header figure img { height: 100%; object-fit: cover; }
main > .studio-header p { font-size: 20px; line-height: 22px; text-wrap: balance; }
main > .studio-header h1 { font-family: PPEditorialOld, serif; font-size: 128px; }

@media only screen and (min-width: 1024px) {
	main > .studio-header { padding: 0; color: inherit; display: grid; grid-template-columns: 1fr 826px; grid-template-rows: auto 1fr; }
	main > .studio-header figure { height: auto; position: relative; top: auto; left: auto; grid-column: 2; grid-row: 1 / span 2; }
	main > .studio-header p { padding: 275px 174px 0; font-size: 24px; line-height: 1.250; grid-column: 1; grid-row: 1; }
	main > .studio-header h1 { padding: 0 0 118px; font-size: 312px; grid-column: 1; grid-row: 2; align-self: end; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-header { grid-template-columns: 1fr 43.021vw;  }
	main > .studio-header p { padding: 14.323vw 9.063vw 0; font-size: 1.25vw; }
	main > .studio-header h1 { padding: 0 0 6.146vw; font-size: 16.25vw; }
}

main > .studio-overview { padding: 42px 11px 98px; /*color: #FFFFFF; background: #181414;*/ text-align: center; border-top: 1px solid #FFFFFF; position: relative; }
main > .studio-overview h2 { font-size: 16px; line-height: 19px; }
main > .studio-overview .text-1 { position: relative; }
main > .studio-overview .text-1 p { margin: 19px 0 0; font-size: 16px; line-height: 19px; text-wrap: balance; }
main > .studio-overview .text-1 p:first-child { margin: 0; }
main > .studio-overview .text-2 { margin: 108px 0 0; position: relative; }
main > .studio-overview .text-2 p { margin: 18px 0 0; font-family: PPEditorialOld, serif; font-size: 38px; line-height: 35px; }
main > .studio-overview .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .studio-overview { padding: 76px 220px 110px; border-top-width: 1.5px; }
	main > .studio-overview h2 { font-size: 19px; line-height: 1.211; }
	main > .studio-overview .text-1 { padding: 0 250px; }
	main > .studio-overview .text-1 p { margin: 1.263em 0 0; font-size: 38px; line-height: 1.263; }
	main > .studio-overview .text-1 p:first-child { margin: 0; }
	main > .studio-overview .text-2 { margin: 446px 0 0; }
	main > .studio-overview .text-2 p { margin: 0.466em 0 0; font-size: 116px; line-height: 0.931; }
	main > .studio-overview .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-overview { padding: 3.958vw 11.458vw 5.729vw; }
	main > .studio-overview h2 { font-size: 0.99vw; }
	main > .studio-overview .text-1 { padding: 0 13.021vw; }
	main > .studio-overview .text-1 p { font-size: 1.979vw; }
	main > .studio-overview .text-2 { margin: 23.229vw 0 0; }
	main > .studio-overview .text-2 p { font-size: 6.042vw; }
}

main > .studio-images { padding: 0 0 96px; /*color: #FFFFFF; background: #181414;*/ position: relative; }
main > .studio-images > figure:nth-of-type(1) { position: relative; }
main > .studio-images > figure:nth-of-type(1) img { height: 507px; /*opacity: 0.59;*/ object-fit: cover; }
main > .studio-images > figure:nth-of-type(2) { margin: -57px 0 0 98px; position: relative; }
main > .studio-images .text { padding: 78px 11px 104px; position: relative; }
main > .studio-images .text h2 { font-size: 16px; line-height: 19px; }
main > .studio-images .text p { margin: 19px 0 0; font-size: 16px; line-height: 19px; }
main > .studio-images .text p:first-child { margin: 0; }
main > .studio-images .slides { padding: 0 7px 0 13px; }
main > .studio-images .slides .slick-dots { position: absolute; bottom: 14px; left: 29px; z-index: 10; display: flex; flex-wrap: wrap; gap: 5px; }
main > .studio-images .slides .slick-dots li button { width: 54px; height: 3px; background: #FFFFFF; border-radius: 2px; border: 0; opacity: 0.35; text-indent: -9999px; position: relative; display: block; }
main > .studio-images .slides .slick-dots li.slick-active button { opacity: 1; }

@media only screen and (min-width: 1024px) {
	main > .studio-images { padding: 0 0 166px; display: grid; grid-template-columns: 956px auto; grid-template-rows: auto auto 1fr; }
	main > .studio-images > figure:nth-of-type(1) { grid-column: 1 / span 2; }
	main > .studio-images > figure:nth-of-type(1) img { height: auto; }
	main > .studio-images > figure:nth-of-type(2) { margin: 0; padding: 0 51px 0 399px; top: -144px; grid-column: 2; grid-row: 2; }
	main > .studio-images .text { padding: 18px 122px 0 72px; grid-column: 2; grid-row: 3; }
	main > .studio-images .text h2 { font-size: 19px; line-height: 1.211; }
	main > .studio-images .text p { margin: 1.200em 0 0; font-size: 25px; line-height: 1.200; }
	main > .studio-images .text p:first-child { margin: 0; }
	main > .studio-images .slides { padding: 61px 0 0 181px; grid-column: 1; grid-row: 2 / span 2; }
	main > .studio-images .slides .slick-dots { bottom: 50px; left: 228px; gap: 10px; }
	main > .studio-images .slides .slick-dots li button { width: 117px; height: 5px; border-radius: 3px; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-images { padding: 0 0 8.646vw; grid-template-columns: 49.792vw auto; }
	main > .studio-images > figure:nth-of-type(2) { padding: 0 2.656vw 0 20.781vw; top: -7.5vw; }
	main > .studio-images .text { padding: 0.938vw 6.354vw 0 3.75vw; }
	main > .studio-images .text h2 { font-size: 0.99vw; }
	main > .studio-images .text p { font-size: 1.302vw; }
	main > .studio-images .slides { padding: 3.177vw 0 0 9.427vw; }
	main > .studio-images .slides .slick-dots { bottom: 2.604vw; left: 11.875vw; gap: 0.521vw; }
	main > .studio-images .slides .slick-dots li button { width: 6.094vw; height: 0.26vw; border-radius: 0.156vw; }
}

main > .studio-expertise { padding: 64px 13px 132px; /*color: #FFFFFF; background: #181414; border-top: 1px solid #FFFFFF;*/ border-top: 1px solid #181414; position: relative; }
main > .studio-expertise h2 { font-size: 16px; line-height: 19px; }
main > .studio-expertise ul.list { margin: 54px 0 0; font-family: PPEditorialOld, serif; font-size: 28px; line-height: 30px; }
main > .studio-expertise ul.list li { display: inline; }
main > .studio-expertise ul.list li:after { padding: 0 6px; content: "|"; display: inline-block; }
main > .studio-expertise ul.list li:last-child:after { display: none; }
main > .studio-expertise ul.buttons { margin: 49px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }

@media only screen and (min-width: 1024px) {
	main > .studio-expertise { padding: 98px 320px 292px 180px; border-top-width: 1.5px; }
	main > .studio-expertise h2 { font-size: 19px; line-height: 1.211; }
	main > .studio-expertise ul.list { margin: 1.301em 0 0; font-size: 73px; line-height: 1.055; }
	main > .studio-expertise ul.list li:after { padding: 0 0.205em; }
	main > .studio-expertise ul.buttons { margin: 115px 0 0; gap: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-expertise { padding: 5.104vw 16.667vw 15.208vw 9.375vw; }
	main > .studio-expertise h2 { font-size: 0.99vw; }
	main > .studio-expertise ul.list { font-size: 3.802vw; }
	main > .studio-expertise ul.buttons { margin: 5.99vw 0 0; gap: 1.042vw; }
}

main > .studio-values { padding: 0 13px 113px; /*color: #FFFFFF; background: #181414;*/ position: relative; }
main > .studio-values h2 { font-size: 16px; line-height: 19px; }
main > .studio-values .text { margin: 54px 0 0; }
main > .studio-values .text p { margin: 19px 0 0; font-size: 16px; line-height: 19px; }
main > .studio-values .text p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .studio-values { padding: 0 448px 302px 180px; display: flex; justify-content: space-between; }
	main > .studio-values h2 { font-size: 19px; line-height: 1.211; }
	main > .studio-values .text { width: 770px; margin: 0; }
	main > .studio-values .text p { margin: 1.200em 0 0; font-size: 25px; line-height: 1.200; }
	main > .studio-values .text p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-values { padding: 0 23.333vw 15.729vw 9.375vw; }
	main > .studio-values h2 { font-size: 0.99vw; }
	main > .studio-values .text { width: 40.104vw; }
	main > .studio-values .text p { font-size: 1.302vw; }
}

main > .studio-quotes { padding: 0 0 74px; /*color: #FFFFFF; background: #181414; */position: relative; }
main > .studio-quotes h2 { padding: 0 11px; font-weight: 700; font-size: 16px; line-height: 19px; }
main > .studio-quotes .quotes { margin: 25px 0 0; padding: 28px 11px 0; /*border-top: 1px solid #FFFFFF;*/ border-top: 1px solid #181414; position: relative; }
main > .studio-quotes .quotes .quote { position: relative; }
main > .studio-quotes .quotes .quote blockquote { position: relative; display: block; }
main > .studio-quotes .quotes .quote blockquote q { font-family: PPEditorialOld, serif; font-size: 20px; line-height: 22px; quotes: none; }
main > .studio-quotes .quotes .quote blockquote cite { margin: 36px 0 0; font-size: 16px; line-height: 19px; display: block; }
main > .studio-quotes .quotes .slick-dots { margin: 98px 0 0; display: flex; flex-wrap: wrap; gap: 5px; }
main > .studio-quotes .quotes .slick-dots li button { width: 54px; height: 3px; /*background: #FFFFFF;*/ background: #181414; border-radius: 2px; border: 0; opacity: 0.35; text-indent: -9999px; position: relative; display: block; }
main > .studio-quotes .quotes .slick-dots li.slick-active button { opacity: 1; }
main > .studio-quotes:after { width: 160px; height: 200px; margin: 12px 14px 0 auto; background: url(images/mushroom.svg) no-repeat 50% 50% / contain; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .studio-quotes { padding: 0 0 238px; }
	main > .studio-quotes h2 { padding: 0 214px 0 702px; font-size: 19px; line-height: 1.211; }
	main > .studio-quotes .quotes { margin: 45px 0 0; padding: 102px 214px 0 702px; border-top-width: 1.5px; }
	main > .studio-quotes .quotes .quote blockquote q { font-size: 41px; line-height: 1.098; }
	main > .studio-quotes .quotes .quote blockquote cite { margin: 5.895em 0 0; font-size: 19px; line-height: 1.211; }
	main > .studio-quotes .quotes .slick-dots { margin: 102px 0 0; gap: 10px; }
	main > .studio-quotes .quotes .slick-dots li button { width: 117px; height: 5px; border-radius: 3px; }
	main > .studio-quotes:after { width: 310px; height: 388px; margin: 0; position: absolute; top: 136px; left: 180px; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-quotes { padding: 0 0 12.396vw; }
	main > .studio-quotes h2 { padding: 0 11.146vw 0 36.563vw; font-size: 0.99vw; }
	main > .studio-quotes .quotes { margin: 2.344vw 0 0; padding: 5.313vw 11.146vw 0 36.563vw; }
	main > .studio-quotes .quotes .quote blockquote q { font-size: 2.135vw; }
	main > .studio-quotes .quotes .quote blockquote cite { font-size: 0.99vw; }
	main > .studio-quotes .quotes .slick-dots { margin: 5.313vw 0 0; gap: 0.521vw; }
	main > .studio-quotes .quotes .slick-dots li button { width: 6.094vw; height: 0.26vw; border-radius: 0.156vw; }
	main > .studio-quotes:after { width: 16.146vw; height: 20.208vw; top: 7.083vw; left: 9.375vw; }
}

main > .faqs { padding: 124px 11px 62px; background: #F8F8F8; position: relative; }
main > .faqs header { position: relative; }
main > .faqs header h1 { font-weight: 700; font-size: 33px; line-height: 26px; letter-spacing: -0.02em; text-transform: uppercase; }
main > .faqs .questions { padding: 60px 0 0; position: relative; }
main > .faqs .questions h2 { margin: 50px 0 0; font-family: PPEditorialOld, serif; font-size: 25px; line-height: 27px; }
main > .faqs .questions h2:first-child { margin: 0; }
main > .faqs .questions ul { margin: 15px 0 0; padding: 12px 0 0; border-top: 1px solid #161414; display: flex; flex-wrap: wrap; gap: 4px; }
main > .faqs .questions ul li button.btn { font-size: 12px; border-radius: 11px; }
main > .faqs .questions ul li button.btn > span > span { height: 35px; padding: 0 12px; }
main > .faqs .questions ul li button.btn:hover { color: #F8F8F8; }
main > .faqs .questions ul li button.btn::before { background: #F8F8F8; }
main > .faqs .questions ul li .answer { display: none; }

@media only screen and (min-width: 1024px) {
	main > .faqs { padding: 225px 53px 219px; display: flex; justify-content: space-between; }
	main > .faqs header { width: 700px; padding: 22px 0 0; }
	main > .faqs header h1 { font-size: 89px; line-height: 0.787; }
	main > .faqs .questions { width: 986px; padding: 0; }
	main > .faqs .questions h2 { margin: 1.568em 0 0; font-size: 37px; line-height: 1.054; }
	main > .faqs .questions h2:first-child { margin: 0; }
	main > .faqs .questions ul { margin: 17px 0 0; padding: 31px 0 0; border-top-width: 1.5px; gap: 10px; }
	main > .faqs .questions ul li button.btn { font-size: 19px; border-radius: 1.000em; }
	main > .faqs .questions ul li button.btn > span > span { height: 2.368em; padding: 0 1.132em; }
}

@media only screen and (min-width: 1024px) {
	main > .faqs { padding: 11.719vw 2.76vw 11.406vw; }
	main > .faqs header { width: 36.458vw; padding: 1.146vw 0 0; }
	main > .faqs header h1 { font-size: 4.635vw; }
	main > .faqs .questions { width: 51.354vw; }
	main > .faqs .questions h2 { font-size: 1.927vw; }
	main > .faqs .questions ul { margin: 0.885vw 0 0; padding: 1.615vw 0 0; border-top-width: 1.5px; gap: 0.521vw; }
	main > .faqs .questions ul li button.btn { font-size: 0.99vw; }
}

html.faq { overflow: hidden; }
body > .faq { width: 100%; height: 100%; position: fixed; top: 0; left: 0; display: none; z-index: 100; }
body > .faq .overlay { width: 100%; height: 100%; background: #ADADAD; opacity: 0.8; mix-blend-mode: multiply; position: absolute; top: 0; left: 0; }
body > .faq .panel { width: 100%; height: 100%; position: absolute; top: 0; right: 0; padding: 3px; display: flex; align-items: stretch; }
body > .faq .panel .wrap { padding: 62px 30px 36px; color: #F8F8F8; background: #010101; border-radius: 14px; text-align: center; overflow: auto; display: flex; flex-direction: column; }
body > .faq .panel h2 { font-size: 16px; line-height: 19px; }
body > .faq .panel h3 { max-width: 260px; margin: 23px auto 0; font-family: PPEditorialOld, serif; font-size: 28px; line-height: 27px; }
body > .faq .panel .text { padding: 44px 0 66px; position: relative; }
body > .faq .panel .text p { margin: 19px 0 0; font-size: 16px; line-height: 19px; }
body > .faq .panel .text p:first-child { margin: 0; }
body > .faq .panel ul { margin: auto 0 0; }
body > .faq .panel ul li { display: flex; justify-content: center; }
body > .faq .panel ul li button { width: 33px; height: 33px; background: #FFFFFF; border: 0; border-radius: 50%; position: relative; display: flex; justify-content: center; align-items: center; }
body > .faq .panel ul li button span { width: 13px; height: 1px; background: #010101; position: absolute; top: 50%; left: calc( 50% - ( 13px / 2 ) ); transform: rotate(45deg); transition: background-color 0.4s ease; display: block; }
body > .faq .panel ul li button span:before { width: 100%; height: 1px; background: #010101; position: absolute; top: 0; left: 0;  transform: rotate(90deg); transition: background-color 0.4s ease; content: " "; display: block; }
body > .faq .panel ul li button:hover { background: #FF4001; }
body > .faq .panel ul li button:hover span,
body > .faq .panel ul li button:hover span:before { background: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	body > .faq .panel { width: 724px; padding: 8px; }
	body > .faq .panel .wrap { padding: 164px 59px 0 19px; border-radius: 29px; text-align: left; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: flex-start; align-content: flex-start; gap: 35px 0; }
	body > .faq .panel h2 { width: 100%; font-size: 19px; line-height: 1.211; }
	body > .faq .panel h3 { /*max-width: 308px;*/ max-width: 100%; width: 100%; margin: 0; font-size: 37px; line-height: 1.054; }
	body > .faq .panel .text { /*width: 238px;*/ width: 100%; padding: 6px 0 60px; }
	body > .faq .panel .text p { margin: 1.364em 0 0; font-size: 19px; line-height: 1.364; }
	body > .faq .panel .text p:first-child { margin: 0; }
	body > .faq .panel ul { width: 100%; position: absolute; bottom: 75px; left: 0; }
	body > .faq .panel ul li button { width: 57px; height: 57px; }
	body > .faq .panel ul li button span { width: 24px; height: 2px; left: calc( 50% - ( 24px / 2 ) ); }
	body > .faq .panel ul li button span:before { height: 2px; }
}

@media only screen and (min-width: 1024px) {
	body > .faq .panel { width: 37.708vw; padding: 0.417vw; }
	body > .faq .panel .wrap { padding: 8.542vw 3.073vw 0 0.99vw; border-radius: 1.51vw; gap: 1.823vw 0; }
	body > .faq .panel h2 { font-size: 0.99vw; }
	body > .faq .panel h3 { /*max-width: 16.042vw;*/ font-size: 1.927vw; }
	body > .faq .panel .text { /*width: 12.396vw;*/ padding: 0.313vw 0 3.125vw; }
	body > .faq .panel .text p { font-size: 0.99vw; }
	body > .faq .panel ul { bottom: 3.906vw; }
	body > .faq .panel ul li button { width: 2.969vw; height: 2.969vw; }
	body > .faq .panel ul li button span { width: 1.25vw; height: 0.104vw; left: calc( 50% - ( 1.25vw / 2 ) ); }
	body > .faq .panel ul li button span:before { height: 0.104vw; }
}

main > .lozenge { padding: 62px 11px 75px; position: relative; text-align: center; }
main > .selected-works + .lozenge { background: #F8F8F8; }
main > .work + .lozenge { padding-top: 0; }
main > .lozenge h2 { max-width: 200px; margin: 0 auto 32px; font-weight: 700; font-size: 19px; line-height: 15px; letter-spacing: -0.02em; text-transform: uppercase; text-wrap: balance; }
main > .lozenge ul { padding: 0 7px 0 0; }
main > .lozenge ul li a.btn { font-family: PPEditorialOld, serif; font-size: 26px; border-width: 1.5px; border-radius: 30px; background: #181414; display: flex; }
main > .lozenge ul li a.btn > span > span { height: 87px; padding: 0 1em; }
main > .lozenge ul li a.btn:hover { border-color: #181414; }
main > .lozenge ul li a.btn::before { background: #FFFFFF; }
main > .lozenge ul li:before { width: 100%; height: 100%; position: absolute; top: 7px; left: 7px; background: #181414; border-radius: 30px; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .lozenge { padding: 176px 340px 200px; }
	main > .work + .lozenge { padding-top: 0; }
	main > .lozenge h2 { max-width: 400px; margin: 0 auto 1.667em; font-size: 39px; line-height: 1; }
	main > .lozenge ul { padding: 0 11px 0 0; }
	main > .lozenge ul li a.btn { font-size: 55px; border-width: 2px; border-radius: 1.509em; }
	main > .lozenge ul li a.btn > span > span { height: 4.473em; }
	main > .lozenge ul li:before { top: 11px; left: 11px; border-radius: 83px; }
}
@media only screen and (min-width: 1024px) {
	main > .lozenge { padding: 9.167vw 17.708vw 10.417vw; }
	main > .work + .lozenge { padding-top: 0; }
	main > .lozenge h2 { max-width: 20.833vw; font-size: 2.031vw; }
	main > .lozenge ul { padding: 0 0.573vw 0 0; }
	main > .lozenge ul li a.btn { font-size: 2.865vw; }
	main > .lozenge ul li:before { top: 0.573vw; left: 0.573vw; border-radius: 4.323vw; }
}

main > .contact { position: relative; display: flex; flex-direction: column; }
main > .contact > header { padding: 68px 13px 0; text-align: center; position: relative; display: flex; flex-direction: column; order: 2; }
main > .contact > header h1 { font-weight: 700; font-size: 78px; text-transform: uppercase; letter-spacing: -0.05em; order: 2; }
main > .contact > header ul { order: 1; }
main > .contact > header ul li a.btn { display: flex; }
main > .contact > .details { padding: 102px 13px 0; text-align: center; position: relative; order: 1; }
main > .contact > .details h2 { margin: 32px 0 0; font-size: 16px; }
main > .contact > .details h2:first-child { margin: 0; }
main > .contact > .details ul { margin: 12px 0 0; font-family: PPEditorialOld, serif; font-size: 25px; line-height: 27px; }
main > .contact > .details ul li a:hover { color: #FF4001; }
main > .contact > .form { padding: 43px 11px 0; position: relative; order: 3; }
main > .contact > .form  .gform_wrapper > .gform_validation_errors { display: none; }
main > .contact > .form .gfield { padding: 3px 0 0; position: relative; }
main > .contact > .form .gfield > label { display: none; }
main > .contact > .form .gfield .ginput_container input { width: 100%; padding: 20px 3px; font-size: 16px; line-height: 19px; background: #fff; border: 0; border-bottom: 1px solid #161414; }
main > .contact > .form .gfield.gfield_error.ginput_container input { border-bottom-color: #FF4001; }
main > .contact > .form .gfield .gfield_description { padding: 0.5em 0 0; font-weight: 700; font-size: 16px; line-height: 19px; display: block; }
main > .contact > .form .gfield .gfield_description.validation_message { color: #FF4001; }
main > .contact > .form .gform_footer { padding: 23px 0 54px; position: relative; text-align: right; }
main > .contact > .form .gform_footer button[type="submit"] { font-family: PPEditorialOld, serif; font-size: 25px; background: none; border: 0; }
main > .contact > .form .gform_footer button[type="submit"]:hover { color: #FF4001; }

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 8px 6px; background: #FF4001; display: grid; grid-template-columns: 688px auto; grid-gap: 8px; }
	main > .contact > header { padding: 33px 0; background: #FFFFFF; border-radius: 29px; order: 3; grid-column: span 2; }
	main > .contact > header h1 { margin: 0 0 -0.079em; font-size: 390px; }
	main > .contact > header ul { display: none; }
	main > .contact > .details { padding: 138px 0 100px; background: #FFFFFF; border-radius: 29px; }
	main > .contact > .details h2 { margin: 2.632em 0 0; font-size: 19px; }
	main > .contact > .details h2:first-child { margin: 0; }
	main > .contact > .details ul { margin: 0.444em 0 0; font-size: 36px; line-height: 1.056; }
	main > .contact > .details ul li a span { display: block; transition: none; }
	main > .contact > .form { padding: 60px 78px 60px 92px; background: #FFFFFF; border-radius: 29px; display: flex; align-items: flex-end; order: 2; }
	main > .contact > .form .gform_wrapper { width: 100%; }
	main > .contact > .form .gform_fields { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px 8px; }
	main > .contact > .form .gfield { padding: 0; grid-column: span 2; }
	main > .contact > .form .gfield.gfield--width-half { grid-column: span 1; }
	main > .contact > .form .gfield .ginput_container input { padding: 0.526em 0; font-size: 19px; line-height: 1.211; }
	main > .contact > .form .gfield .gfield_description { font-size: 11px; line-height: 1.364; }
	main > .contact > .form .gform_footer { padding: 44px 0 0; }
	main > .contact > .form .gform_footer button[type="submit"] { font-size: 41px; }
}

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 0.417vw 0.313vw; grid-template-columns: 35.833vw auto; grid-gap: 0.417vw; }
	main > .contact > header { padding: 1.719vw 0; border-radius: 1.51vw; }
	main > .contact > header h1 { font-size: 20.313vw; }
	main > .contact > .details { padding: 7.188vw 0 5.208vw; border-radius: 1.51vw; }
	main > .contact > .details h2 { font-size: 0.99vw; }
	main > .contact > .details ul { font-size: 1.875vw; }
	main > .contact > .form { padding: 3.125vw 4.063vw 3.125vw 4.792vw; border-radius: 1.51vw; }
	main > .contact > .form .gform_fields { grid-gap: 0.521vw 0.417vw; }
	main > .contact > .form .gfield .ginput_container input { font-size: 0.99vw; }
	main > .contact > .form .gfield .gfield_description { font-size: 0.573vw; }
	main > .contact > .form .gform_footer { padding: 2.292vw 0 0; }
	main > .contact > .form .gform_footer button[type="submit"] { font-size: 2.135vw; }
}

main > .thanks { padding: 97px 13px 70px; text-align: center; position: relative; }
main > .thanks h1 { font-family: PPEditorialOld, serif; font-size: 100px; line-height: 156px; }
main > .thanks p { max-width: 275px; margin: 16px auto; font-size: 18px; line-height: 22px; text-wrap: balance; }
main > .thanks ul { margin: 40px 0 0; position: relative; z-index: 2; }
main > .thanks ul li a.btn { display: flex; }

@media only screen and (min-width: 1024px) {
	main > .thanks { padding: 270px 364px 169px; display: flex; flex-direction: column; }
	main > .thanks h1 { font-size: 369px; line-height: 1; order: 3; }
	main > .thanks p { max-width: 100%; margin: 0; font-size: 64px; line-height: 1; order: 1; }
	main > .thanks ul { margin: 52px 0 24px; order: 2; }
	main > .thanks ul li a.btn { display: inline-flex; }
}

@media only screen and (min-width: 1024px) {
	main > .thanks { padding: 14.063vw 18.958vw 8.802vw; }
	main > .thanks h1 { font-size: 19.219vw; }
	main > .thanks p { font-size: 3.333vw; }
	main > .thanks ul { margin: 2.708vw 0 1.25vw; }
}

main > .legal { padding: 158px 11px 118px; position: relative; }
main > .legal h1 { font-family: PPEditorialOld, serif; font-size: 38px; line-height: 35px; }
main > .legal p { margin: 16px 0 0; font-size: 12px; line-height: 16px; }
main > .legal h1 + p { margin: 44px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 245px 416px 314px 246px; }
	main > .legal h1 { font-size: 116px; line-height: 0.931; }
	main > .legal p { margin: 1.278em 0 0; font-size: 18px; line-height: 1.278; }
	main > .legal h1 + p { margin: 5.444em 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 12.76vw 21.667vw 16.354vw 12.813vw; }
	main > .legal h1 { font-size: 6.042vw; }
	main > .legal p { font-size: 0.938vw; }
}

main > .notice { padding: 97px 13px 60px; text-align: center; position: relative; }
main > .notice header { position: relative; }
main > .notice header h1 { font-family: PPEditorialOld, serif; font-size: 100px; line-height: 156px; }
main > .notice div { padding: 16px 0 0; position: relative; }
main > .notice div p { max-width: 275px; margin: 0 auto; font-size: 18px; line-height: 22px; text-wrap: balance; }
main > .notice div ul { margin: 30px 0 0; }
main > .notice div ul li a.btn { display: flex; }

@media only screen and (min-width: 1024px) {
	main > .notice { padding: 231px 164px 424px 39px; text-align: left; display: flex; justify-content: space-between; }
	main > .notice:after { width: 310px; height: 388px; background: url(images/mushroom.svg) no-repeat 50% 50% / contain; position: absolute; bottom: 129px; right: 164px; content: " "; display: block; }
	main > .notice header h1 { font-size: 369px; line-height: 1; }
	main > .notice div { width: 759px; padding: 162px 0 0; }
	main > .notice div p { max-width: 100%; margin: 0; font-size: 64px; line-height: 1; }
	main > .notice div ul { margin: 72px 0 0; }
	main > .notice div ul li a.btn { display: inline-flex; }
}

@media only screen and (min-width: 1024px) {
	main > .notice { padding: 12.031vw 8.542vw 22.083vw 2.031vw; }
	main > .notice:after { width: 16.146vw; height: 20.208vw; bottom: 6.719vw; right: 8.542vw; }
	main > .notice header h1 { font-size: 19.219vw; }
	main > .notice div { width: 39.531vw; padding: 8.438vw 0 0; }
	main > .notice div p { font-size: 3.333vw; }
	main > .notice div ul { margin: 3.75vw 0 0; }
}

main > .journal header { padding: 160px 7px 14px; border-bottom: 1px solid #181414; }
main > .journal header h1 { font-weight: 500; font-size: 32px; letter-spacing: -0.025em; }
main > .journal header ul { margin: 35px 0 0; font-weight: 500; font-size: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
main > .journal header ul li a { padding: 11px 12px 12px; border: 1px solid #181414; border-radius: 11px; display: inline-flex; }
main > .journal header ul li.on a { color: #fff; background: #181414; }
main > .journal .grid .post { padding: 0 10px 100px; }
main > .journal .grid .post a { position: relative; display: block; }
main > .journal .grid .post a figure img { width: 100%; height: 439px; object-fit: cover; }
main > .journal .grid .post a span { padding: 21px 0 0; position: relative; display: block; }
main > .journal .grid .post a span ul { margin: 0 0 28px; font-weight: 500; font-size: 16px; line-height: 21px; display: flex; gap: 14px; }
main > .journal .grid .post a span ul li + li { color: #ADADAD; }
main > .journal .grid .post a span h2 { font-weight: 500; font-size: 21px; line-height: 1; }
main > .journal .grid .post.p-1 { padding: 14px 0 52px; }
main > .journal .grid .post.p-1 a figure { position: relative; display: block; }
main > .journal .grid .post.p-1 a figure img { height: 685px; }
main > .journal .grid .post.p-1 a figure::after { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #000; opacity: 0.14; content: " "; display: block; }
main > .journal .grid .post.p-1 a span { width: 100%; padding: 17px 14px; color: #fff; position: absolute; bottom: 0; left: 0; }
main > .journal .grid .post.p-1 a span ul li + li { color: #ADADAD; }

@media only screen and (min-width: 1024px) {
	main > .journal { padding: 0 29px; }
	main > .journal header { padding: 211px 0 25px; border-bottom-width: 1px; }
	main > .journal header h1 { font-size: 72px; }
	main > .journal header ul { margin: 2.500em 0 0; font-size: 18px; gap: 0.500em; }
	main > .journal header ul li a { padding: 0.778em 1.167em; border-width: 0.056em; border-radius: 1.000em; }
	main > .journal .grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0 19px; }
	main > .journal .grid .post { padding: 0 0 195px; }
	main > .journal .grid .post a figure img { height: 694px; }
	main > .journal .grid .post a span { padding: 21px 0 0; }
	main > .journal .grid .post a span ul { margin: 0 0 1.750em; font-size: 16px; line-height: 1.313; gap: 0.875em; }
	main > .journal .grid .post a span h2 { width: 15.238em; font-size: 21px; }
	main > .journal .grid .post.p-1 { padding: 28px 0 52px; grid-column: span 3; }
	main > .journal .grid .post.p-1 a figure img { height: 934px; }
	main > .journal .grid .post.p-1 a span { padding: 44px 39px; }
}

@media only screen and (min-width: 1024px) {
	main > .journal { padding: 0 1.51vw; }
	main > .journal header { padding: 10.99vw 0 1.302vw; border-bottom-width: 0.052vw; }
	main > .journal header h1 { font-size: 3.75vw; }
	main > .journal header ul { font-size: 0.938vw; }
	main > .journal .grid { gap: 0 0.99vw; }
	main > .journal .grid .post { padding: 0 0 10.156vw; }
	main > .journal .grid .post a figure img { height: 36.146vw; }
	main > .journal .grid .post a span { padding: 1.094vw 0 0; }
	main > .journal .grid .post a span ul { font-size: 0.833vw; }
	main > .journal .grid .post a span h2 { font-size: 1.094vw; }
	main > .journal .grid .post.p-1 { padding: 1.458vw 0 2.708vw; }
	main > .journal .grid .post.p-1 a figure img { height: 48.646vw; }
	main > .journal .grid .post.p-1 a span { padding: 2.292vw 2.031vw; }
}

main > .journal-post { padding: 148px 0 128px; }
main > .journal-post header h1 { padding: 0 7px; font-weight: 600; font-size: 32px; line-height: 1; letter-spacing: -0.025em; text-wrap: balance; }
main > .journal-post header figure { margin: 8px 0 0; position: relative; display: block; }
main > .journal-post header figure img { width: 100%; height: 685px; object-fit: cover; }
main > .journal-post header figure::after { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #000; opacity: 0.14; content: " "; display: block; }
main > .journal-post .content { padding: 14px 14px 0; }
main > .journal-post .content .hdr ul { margin: 0 0 28px; font-weight: 500; font-size: 16px; line-height: 21px; display: flex; gap: 14px; }
main > .journal-post .content .hdr ul li a { color: #ADADAD; }
main > .journal-post .content .hdr ul li a:hover { color: #181414; }
main > .journal-post .content .hdr h2 { font-weight: 500; font-size: 21px; line-height: 1; }
main > .journal-post .blocks { padding: 76px 0 0; }
main > .journal-post .blocks .text-intro { padding: 65px 0 30px; }
main > .journal-post .blocks .text-intro:first-child { padding-top: 0; }
main > .journal-post .blocks .text-intro p { margin: 34px 0 0; font-weight: 500; font-size: 28px; line-height: 34px; }
main > .journal-post .blocks .text-intro p:first-child { margin: 0; }
main > .journal-post .blocks .text-highlight { padding: 65px 0 0; }
main > .journal-post .blocks .text-highlight:first-child { padding-top: 0; }
main > .journal-post .blocks .text-highlight p { margin: 40px 0 0; font-weight: 500; font-size: 34px; line-height: 40px; }
main > .journal-post .blocks .text-highlight p:first-child { margin: 0; }
main > .journal-post .blocks .text { padding: 65px 0 0; }
main > .journal-post .blocks .text:first-child { padding-top: 0; }
main > .journal-post .blocks .text h2 { margin: 34px 0 0; font-weight: 500; font-size: 28px; line-height: 34px; }
main > .journal-post .blocks .text h2:first-child { margin: 0; }
main > .journal-post .blocks .text p { margin: 25px 0 0; font-weight: 500; font-size: 21px; line-height: 25px; color: #ADADAD; }
main > .journal-post .blocks .text p:first-child { margin: 0; }
main > .journal-post .blocks .text h2 + p { margin: 56px 0 0; }
main > .journal-post .blocks figure { padding: 65px 0 0; }
main > .journal-post .blocks figure:first-child { padding-top: 0; }
main > .journal-post .blocks figure img { width: 100%; height: 439px; object-fit: cover; }

@media only screen and (min-width: 1024px) {
	main > .journal-post { padding: 300px 0 198px; }
	main > .journal-post header h1 { padding: 0 29px; font-size: 100px; line-height: 1; letter-spacing: 0; }
	main > .journal-post header figure { margin: 12px 0 0; }
	main > .journal-post header figure img { height: auto; }
	main > .journal-post .content { padding: 0 29px 0 29px; }
	main > .journal-post .content .hdr { width: 320px; padding: 32px 0 0; position: sticky; top: 102px; float: left; }
	main > .journal-post .content .hdr ul { margin: 0 0 1.750em; font-size: 16px; line-height: 1.313; gap: 0.875em; }
	main > .journal-post .content .hdr h2 { font-size: 21px; line-height: 1; }
	main > .journal-post .blocks { margin: 0 0 0 608px; padding: 32px 0 0; }
	main > .journal-post .blocks .text-intro { padding: 118px 133px 0 251px; }
	main > .journal-post .blocks .text-intro:first-child { padding-top: 0; }
	main > .journal-post .blocks .text-intro p { margin: 1.263em 0 0; font-size: 38px; line-height: 1.263; }
	main > .journal-post .blocks .text-highlight { padding: 118px 0 0; }
	main > .journal-post .blocks .text-highlight:first-child { padding-top: 0; }
	main > .journal-post .blocks .text-highlight p { margin: 1.100em 0 0; font-size: 60px; line-height: 1.100; }
	main > .journal-post .blocks .text-highlight p:first-child { margin: 0; }
	main > .journal-post .blocks .text { padding: 118px 133px 0 251px; }
	main > .journal-post .blocks .text:first-child { padding-top: 0; }
	main > .journal-post .blocks .text h2 { margin: 1.263em 0 0; font-size: 38px; line-height: 1.263; }
	main > .journal-post .blocks .text h2:first-child { margin: 0; }
	main > .journal-post .blocks .text p { margin: 1.200em 0 0; font-size: 25px; line-height: 1.200; }
	main > .journal-post .blocks .text p:first-child { margin: 0; }
	main > .journal-post .blocks .text h2 + p { margin: 1.920em 0 0; }
	main > .journal-post .blocks figure { padding: 118px 0 0; }
	main > .journal-post .blocks figure:first-child { padding-top: 0; }
	main > .journal-post .blocks figure img { height: auto; }
}

@media only screen and (min-width: 1024px) {
	main > .journal-post { padding: 15.625vw 0 10.313vw; }
	main > .journal-post header h1 { padding: 0 1.51vw; font-size: 5.208vw; }
	main > .journal-post header figure { margin: 0.625vw 0 0; }
	main > .journal-post .content { padding: 0 1.51vw 0 29px; }
	main > .journal-post .content .hdr { width: 16.667vw; padding: 1.667vw 0 0; top: 5.31vw; }
	main > .journal-post .content .hdr ul { font-size: 0.833vw; }
	main > .journal-post .content .hdr h2 { font-size: 1.094vw; }
	main > .journal-post .blocks { margin: 0 0 0 31.667vw; padding: 1.667vw 0 0; }
	main > .journal-post .blocks .text-intro { padding: 6.146vw 6.927vw 0 13.073vw; }
	main > .journal-post .blocks .text-intro:first-child { padding-top: 0; }
	main > .journal-post .blocks .text-intro p { font-size: 1.979vw; }
	main > .journal-post .blocks .text-highlight { padding: 6.146vw 0 0; }
	main > .journal-post .blocks .text-highlight:first-child { padding-top: 0; }
	main > .journal-post .blocks .text-highlight p { font-size: 3.125vw; }
	main > .journal-post .blocks .text { padding: 6.146vw 6.927vw 0 13.073vw; }
	main > .journal-post .blocks .text:first-child { padding-top: 0; }
	main > .journal-post .blocks .text h2 { font-size: 1.979vw; }
	main > .journal-post .blocks .text p { font-size: 1.302vw; }
	main > .journal-post .blocks figure { padding: 6.146vw 0 0; }
	main > .journal-post .blocks figure:first-child { padding-top: 0; }
}

body > footer { padding: 0 4.5px 30px; color: #181414; background: #FF4001; position: relative; }
body > footer a:hover { color: #FFFFFF; }
body > footer .email { min-height: 160px; padding: 20px 7.5px 16px; border-bottom: 1px solid #181414; position: relative; display: flex; flex-direction: column; }
body > footer .email h2 { font-weight: 700; font-size: 16px; line-height: 19px; }
body > footer .email p { font-size: 16px; line-height: 19px; }
body > footer .email ul { margin: auto 0 0; font-size: 16px; line-height: 19px; }
body > footer .contact { padding: 20px 7.5px 37px; border-bottom: 1px solid #181414; text-align: center; position: relative; }
body > footer .contact > h2 { font-family: PPEditorialOld, serif; font-size: 132px; line-height: 156px; }
body > footer .contact ul.buttons { margin: 18px 0 0; display: flex; flex-direction: column; gap: 3px; position: relative; }
body > footer .contact .addresses { padding: 30px 0 0; display: grid; grid-template-columns: 1fr 1fr; }
body > footer .contact .addresses .address { display: flex; flex-direction: column; }
body > footer .contact .addresses .address h3 { margin: 20px 0 0; font-size: 9px; line-height: 8px; text-transform: uppercase; order: 2; }
body > footer .contact .addresses .address h3:before { content: "["; display: inline; }
body > footer .contact .addresses .address h3:after { content: "]"; display: inline; }
body > footer .contact .addresses .address p { font-size: 13px; line-height: 16px; order: 1; }
body > footer .contact .addresses h2 { display: none; }
body > footer .legal { padding: 22px 7.5px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 34px 0; position: relative; }
body > footer .legal .links { text-align: center; display: flex; flex-direction: column; }
body > footer .legal .links h3 { margin: 20px 0 0; font-size: 9px; line-height: 8px; text-transform: uppercase; order: 2; }
body > footer .legal .links h3:before { content: "["; display: inline; }
body > footer .legal .links h3:after { content: "]"; display: inline; }
body > footer .legal .links ul { font-size: 13px; line-height: 16px; display: flex; justify-content: center; order: 1; }
body > footer .legal .links ul li + li:before { padding: 0 0.25em 0 0; content: ","; display: inline-block; }
body > footer .legal h2 { padding: 0 8px; }
body > footer .legal h2 img { width: 92px; height: auto; }
body > footer .legal p { padding: 0 8px; font-size: 13px; justify-self: end; align-self: end; }

@media only screen and (min-width: 1024px) {
	body > footer { padding: 32px 15px 48px; display: grid; grid-template-columns: 1fr 1fr; }
	body > footer .email { min-height: 560px; padding: 0 37px 40px; border-bottom-width: 1.5px; }
	body > footer .email + .email:after { width: 1.5px; height: calc( 100% - 26px ); background: #181414; position: absolute; top: 0; left: 0; content: " "; display: block; }
	body > footer .email h2 { font-size: 19px; line-height: 1.211; }
	body > footer .email p { font-size: 19px; line-height: 1.211; }
	body > footer .email ul { font-size: 44px; line-height: 1.205; }
	body > footer .contact { padding: 86px 0 45px 12px; border-bottom-width: 1.5px; text-align: left; grid-column: 1 / span 2; display: flex; }
	body > footer .contact > h2 { font-size: 369px; line-height: 1; }
	body > footer .contact ul.buttons { margin: 0 0 0 -63px; padding: 0; gap: 13px; align-self: center; }
	body > footer .contact .addresses { width: 288px; margin: 0 0 0 auto; padding: 20px 0 0; display: block; }
	body > footer .contact .addresses .address { padding: 71px 0 0; }
	body > footer .contact .addresses .address:first-child { padding: 0; }
	body > footer .contact .addresses .address h3 { margin: 2.727em 0 0; font-size: 11px; line-height: 1; }
	body > footer .contact .addresses .address p { font-size: 19px; line-height: 1.211; }
	body > footer .contact .addresses h2 { padding: 70px 0 0; display: block; }
	body > footer .contact .addresses h2 img { width: 92px; height: auto; }
	body > footer .legal { padding: 56px 0 0 38px; display: flex; gap: 0 124px; grid-column: 1 / span 2; }
	body > footer .legal .links { text-align: left; }
	body > footer .legal .links h3 { margin: 2.727em 0 0; font-size: 11px; line-height: 1; }
	body > footer .legal .links ul { font-size: 19px; line-height: 1.211; }
	body > footer .legal h2 { display: none; }
	body > footer .legal p { width: 288px; margin: 0 0 0 auto; padding: 0; font-size: 19px; align-self: start; }
}

@media only screen and (min-width: 1024px) {
	body > footer { padding: 1.667vw 0.781vw 2.5vw; }
	body > footer .email { min-height: 29.167vw; padding: 0 1.927vw 2.083vw; }
	body > footer .email + .email:after { height: calc( 100% - 1.354vw ); }
	body > footer .email h2 { font-size: 0.99vw; }
	body > footer .email p { font-size: 0.99vw; }
	body > footer .email ul { font-size: 2.292vw; }
	body > footer .contact { padding: 4.479vw 0 2.344vw 0.625vw; }
	body > footer .contact > h2 { font-size: 19.219vw; }
	body > footer .contact ul.buttons { margin: 0 0 0 -3.281vw; padding: 0; gap: 0.677vw; }
	body > footer .contact .addresses { width: 15vw; padding: 1.042vw 0 0; }
	body > footer .contact .addresses .address { padding: 3.698vw 0 0; }
	body > footer .contact .addresses .address:first-child { padding: 0; }
	body > footer .contact .addresses .address h3 { font-size: 0.573vw; }
	body > footer .contact .addresses .address p { font-size: 0.99vw; }
	body > footer .contact .addresses h2 { padding: 3.646vw 0 0; }
	body > footer .contact .addresses h2 img { width: 4.792vw; }
	body > footer .legal { padding: 2.917vw 0 0 1.979vw; gap: 0 6.458vw; }
	body > footer .legal .links h3 { font-size: 0.573vw; }
	body > footer .legal .links ul { font-size: 0.99vw; }
	body > footer .legal p { width: 15vw; font-size: 0.99vw; }
}

/* 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;
}
