/*
Theme Name: Jordan
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: #000001; 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 adobe-garamond-pro, 'Helvetica Neue', Arial, Helvetica, sans-serif; color: #000001; background: #F6F0E6; }

/*
light: font-family: aktiv-grotesk, sans-serif; font-weight: 300;
regular: font-family: aktiv-grotesk, sans-serif;
medium: font-family: aktiv-grotesk, sans-serif; font-weight: 500;
semibold: font-family: aktiv-grotesk, sans-serif; font-weight: 600;
bold: font-family: aktiv-grotesk, sans-serif; font-weight: 700;
*/

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

body > header { width: 100%; padding: 14px 20px; position: fixed; top: 0; left: 0; display: grid; grid-template-columns: 1fr 160px 1fr; align-items: center; z-index: 99; }
body > header ul li button { width: 28px; height: 12px; background: none; border: 0; position: relative; display: block; -webkit-appearance: none; appearance: none; }
body > header ul li button::before,
body > header ul li button::after { width: 100%; height: 1.5px; position: absolute; left: 0; background: #000001; transition: all 0.4s ease; content: " "; display: block; }
body > header ul li button::before { top: calc( 50% + 3px ); }
body > header ul li button::after { bottom: calc( 50% + 3px ); }
body > header h1 a { position: relative; display: block; }
body > header h1 a svg { width: 100%; height: auto; }
body > header h1 a svg path { transition: fill 0.4s ease; }

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%; }
html.menu body > header ul li button::after { bottom: 50%; }
html.menu body > header h1 a svg path { fill: #FFFFFF; }

html.light body > header ul li button::before,
html.light body > header ul li button::after { background: #FFFFFF; }
html.light body > header h1 a svg path { fill: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	body > header { padding: 14px 20px; grid-template-columns: 1fr 208px 1fr; }
	body > header ul li button { width: 28px; height: 12px; }
	body > header ul li button::before,
	body > header ul li button::after { height: 1.5px; }
	body > header ul li button::before { top: calc( 50% + 3px ); }
	body > header ul li button::after { bottom: calc( 50% + 3px ); }

	html.menu body > header ul li button::before { top: 50%; }
	html.menu body > header ul li button::after { bottom: 50%; }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 0.729vw 1.042vw; grid-template-columns: 1fr 10.833vw 1fr; }
	body > header ul li button { width: 1.458vw; height: 0.625vw; }
	body > header ul li button::before,
	body > header ul li button::after { height: 0.078vw; }
	body > header ul li button::before { top: calc( 50% + 0.156vw ); }
	body > header ul li button::after { bottom: calc( 50% + 0.156vw ); }

	html.menu body > header ul li button::before { top: 50%; }
	html.menu body > header ul li button::after { bottom: 50%; }
}

html.menu { overflow: hidden; }
body > .menu { width: 100%; height: 100%; color: #FFFFFF; background: #4D1B12; position: fixed; top: 0; left: -100%; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; transition: left 0.4s ease; z-index: 98; }
html.menu body > .menu { left: 0; }
body > .menu a { color: #FFFFFF; }
body > .menu a:hover { opacity: 0.5; }
body > .menu nav { padding: 0 0 22px; grid-row: 2; }
body > .menu nav ul { font-style: italic; font-size: 36px; line-height: 37px; text-align: center; display: flex; flex-direction: column; gap: 32px; }
body > .menu .contact { padding: 32px 20px; grid-row: 3; align-self: end; }
body > .menu .contact ul.social { padding: 52px 0 0; font-size: 15px; display: flex; gap: 40px; }
body > .menu .contact ul.details { padding: 52px 0 0; font-size: 17px; line-height: 19px; letter-spacing: 0.045em; }

@media only screen and (min-width: 1024px) {
	body > .menu nav { padding: 0 300px; }
	body > .menu nav ul { font-size: 90px; line-height: 1; flex-wrap: wrap; flex-direction: row; justify-content: center; gap: 0.889em 1.556em; }
	body > .menu .contact { padding: 48px 42px; display: flex; gap: 104px; }
	body > .menu .contact ul.social { padding: 0; font-size: 18px; display: flex; gap: 2.222em; }
	body > .menu .contact ul.details { padding: 0; font-size: 22px; line-height: 1; letter-spacing: 0; }
}

@media only screen and (min-width: 1024px) {
	body > .menu nav { padding: 0 15.625vw; }
	body > .menu nav ul { font-size: 4.688vw; }
	body > .menu .contact { padding: 2.5vw 2.188vw; gap: 5.417vw; }
	body > .menu .contact ul.social { font-size: 0.938vw; }
	body > .menu .contact ul.details { font-size: 1.146vw; }
}

main > .home-banner { min-height: 100vh; padding: 100px 20px; color: #FFFFFF; background: #240606; text-align: center; display: flex; justify-content: center; align-items: center; }
main > .home-banner figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .home-banner figure img,
main > .home-banner figure video { width: 100%; height: 100%; opacity: 0.78; object-fit: cover; }
main > .home-banner h1 { font-size: 44px; line-height: 45px; text-wrap: balance; }

@media only screen and (min-width: 1024px) {
	main > .home-banner { padding: 200px; }
	main > .home-banner h1 { font-size: 87px; line-height: 1.460; }
}

@media only screen and (min-width: 1024px) {
	main > .home-banner { padding: 10.417vw; }
	main > .home-banner h1 { font-size: 4.531vw; }
}

main > .home-overview { padding: 34px 0 0; }
main > .home-overview .logo { padding: 0 16px; }
main > .home-overview .logo img { width: 100%; height: auto; }
main > .home-overview .text-1 { padding: 54px 14px 0; }
main > .home-overview .text-1 p { font-size: 34px; }
main > .home-overview .text-1 p span { display: block; }
main > .home-overview .text-1 p span:nth-child(2n) { text-align: right; }
main > .home-overview .text-1 p em { text-decoration: underline; }
main > .home-overview .text-2 { padding: 38px 20px 0; text-align: center; }
main > .home-overview .text-2 p { font-size: 17px; line-height: 21px; }
main > .home-overview .scroller { width: 100%; padding: 88px 0 48px; white-space: nowrap; overflow: hidden; }
main > .home-overview .scroller p { font-style: italic; font-size: 27px; display: inline-flex; animation: scroll 20s linear infinite; }
main > .home-overview .scroller p span { padding: 0 0.25em 0 0; }
@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media only screen and (min-width: 1024px) {
	main > .home-overview { padding: 32px 0 0; }
	main > .home-overview .logo { padding: 0 41px; }
	main > .home-overview .text-1 { padding: 94px 280px 0; }
	main > .home-overview .text-1 p { font-size: 134px; }
	main > .home-overview .text-2 { padding: 112px 41px 0; }
	main > .home-overview .text-2 p { font-size: 30px; line-height: 1.467; }
	main > .home-overview .scroller { padding: 312px 0 76px; }
	main > .home-overview .scroller p { font-size: 47px; animation: scroll 25s linear infinite; }
}

@media only screen and (min-width: 1024px) {
	main > .home-overview { padding: 1.667vw 0 0; }
	main > .home-overview .logo { padding: 0 2.135vw; }
	main > .home-overview .text-1 { padding: 4.896vw 14.583vw 0; }
	main > .home-overview .text-1 p { font-size: 6.979vw; }
	main > .home-overview .text-2 { padding: 5.833vw 2.135vw 0; }
	main > .home-overview .text-2 p { font-size: 1.563vw; }
	main > .home-overview .scroller { padding: 16.25vw 0 3.958vw; }
	main > .home-overview .scroller p { font-size: 2.448vw; }
}

main > .project-highlights { padding: 44px 20px 86px; background: #FFFFFF; }
main > .project-highlights header { padding: 0 0 88px }
main > .project-highlights header h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 300; font-size: 18px; line-height: 19px; letter-spacing: 0.045em; text-transform: uppercase; text-wrap: balance; }
main > .project-highlights header h2 strong { font-weight: 500; }
main > .project-highlights header p { margin: 62px 0 0; font-size: 17px; line-height: 21px; }
main > .project-highlights article { padding: 0 0 80px; }
main > .project-highlights article a { position: relative; display: block; }
main > .project-highlights article figure { padding: 82.63% 0 0; height: 0; position: relative; display: block; }
main > .project-highlights article figure img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
main > .project-highlights article span { padding: 21px 0 0; position: relative; display: block; }
main > .project-highlights article span h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; line-height: 11px; letter-spacing: 0.045em; text-transform: uppercase; }
main > .project-highlights article span h3 { padding: 11px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 17px; line-height: 27px; }
main > .project-highlights article span p { padding: 22px 0 0; font-size: 23px; line-height: 29px; }
main > .project-highlights > ul { padding: 8px 0 0; display: flex; justify-content: flex-end; }
main > .project-highlights > ul li a { padding: 0 0 32px; font-size: 25px; color: #240606; position: relative; display: inline-block; }
main > .project-highlights > ul li a::after { width: 129px; height: 1px; background: #000001; position: absolute; bottom: 0; right: -6px; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .project-highlights { padding: 0 0 138px; display: flex; flex-wrap: wrap; justify-content: space-between; }
	main > .project-highlights header { width: 475px; margin: 0 0 0 42px; padding: 0 0 286px; align-self: end; }
	main > .project-highlights header h2 { font-size: 28px; line-height: 1.036; }
	main > .project-highlights header p { margin: 2.818em 0 0; font-size: 22px; line-height: 1.455; }
	main > .project-highlights article { padding: 0 0 138px; }
	main > .project-highlights article a { color: #FFFFFF; }
	main > .project-highlights article figure::after { width: 100%; height: 0; background: #4D1B12; opacity: 0.51; transition: height 0.4s ease; position: absolute; bottom: 0; left: 0; content: " "; display: block; }
	main > .project-highlights article a:hover figure::after { height: 100%; }
	main > .project-highlights article:nth-of-type(1) { width: 772px; }
	main > .project-highlights article:nth-of-type(1) figure { padding: 84.07% 0 0; }
	main > .project-highlights article:nth-of-type(2) { width: 1091px; margin: 0 0 0 779px; }
	main > .project-highlights article:nth-of-type(2) figure { padding: 67.74% 0 0; }
	main > .project-highlights article:nth-of-type(3) { width: 722px; margin: 0 0 0 169px; }
	main > .project-highlights article:nth-of-type(3) figure { padding: 72.16% 0 0; }
	main > .project-highlights article:nth-of-type(4) { width: 599px; margin: 0 168px 0 0; }
	main > .project-highlights article:nth-of-type(4) figure { padding: 130.88% 0 0; }
	main > .project-highlights article:nth-of-type(5) { width: 1091px; margin: 0 0 0 auto; }
	main > .project-highlights article:nth-of-type(5) figure { padding: 67.74% 0 0; }
	main > .project-highlights article span { width: 100%; padding: 42px 44px; position: absolute; bottom: 0; left: 0; opacity: 0; }
	main > .project-highlights article a:hover span { opacity: 1; }
	main > .project-highlights article span h2 { font-size: 23px; line-height: 1.087; }
	main > .project-highlights article span h3 { padding: 0.650em 0 0; font-size: 20px; line-height: 1.300; }
	main > .project-highlights article span p { padding: 0.921em 0 0; font-size: 38px; line-height: 1.237; }
	main > .project-highlights > ul { width: 100%; padding: 38px 50px 0; }
	main > .project-highlights > ul li a { padding: 0 0 1.184em; font-size: 38px; transition: transform 0.4s ease; }
	main > .project-highlights > ul li a::after { width: 5.000em; height: 0.026em; right: 0; transition: bottom 0.4s ease; }
	main > .project-highlights > ul li a:hover { transform: skewX(-12deg); }
	main > .project-highlights > ul li a:hover::after { bottom: 0.763em; }
}

@media only screen and (min-width: 1024px) {
	main > .project-highlights { padding: 0 0 7.187vw; }
	main > .project-highlights header { width: 24.74vw; margin: 0 0 0 2.188vw; padding: 0 0 14.896vw; }
	main > .project-highlights header h2 { font-size: 1.458vw; }
	main > .project-highlights header p { font-size: 1.146vw; }
	main > .project-highlights article { padding: 0 0 7.187vw; }
	main > .project-highlights article:nth-of-type(1) { width: 40.208vw; }
	main > .project-highlights article:nth-of-type(2) { width: 56.823vw; margin: 0 0 0 40.573vw; }
	main > .project-highlights article:nth-of-type(3) { width: 37.604vw; margin: 0 0 0 8.802vw; }
	main > .project-highlights article:nth-of-type(4) { width: 31.198vw; margin: 0 8.75vw 0 0; }
	main > .project-highlights article:nth-of-type(5) { width: 56.823vw; }
	main > .project-highlights article span { padding: 2.188vw 2.292vw; }
	main > .project-highlights article span h2 { font-size: 1.198vw; }
	main > .project-highlights article span h3 { font-size: 1.042vw; }
	main > .project-highlights article span p { font-size: 1.979vw; }
	main > .project-highlights > ul { padding: 1.979vw 2.604vw 0; }
	main > .project-highlights > ul li a { font-size: 1.979vw; }
}

main > .logos { padding: 76px 0 98px; }
main > .logos .text { padding: 0 20px; text-align: center; }
main > .logos .text p { font-size: 20px; line-height: 23px; }
main > .logos .slides { padding: 100px 0 0; }
main > .logos .slides .slide { padding: 0 34px; }
main > .logos .slides .slide img { width: auto; max-width: 106px; height: 42px; object-fit: contain; }

@media only screen and (min-width: 1024px) {
	main > .logos { padding: 236px 0 332px; }
	main > .logos .text { padding: 0 534px; }
	main > .logos .text p { font-size: 35px; line-height: 1.286; }
	main > .logos .slides { padding: 148px 0 0; }
	main > .logos .slides .slide { padding: 0 80px; }
	main > .logos .slides .slide img { max-width: 244px; height: 96px; }
}

@media only screen and (min-width: 1024px) {
	main > .logos { padding: 12.292vw 0 17.292vw; }
	main > .logos .text { padding: 0 27.813vw; }
	main > .logos .text p { font-size: 1.823vw; }
	main > .logos .slides { padding: 7.708vw 0 0; }
	main > .logos .slides .slide { padding: 0 4.167vw; }
	main > .logos .slides .slide img { max-width: 12.708vw; height: 5vw; }
}

main > .studio-header { padding: 72px 20px 22px; }
main > .studio-header h1 { font-family: aktiv-grotesk, sans-serif; font-weight: 300; font-size: 30px; letter-spacing: 0.04em; text-transform: uppercase; color: #240606; }
main > .studio-header .text-1 { padding: 30px 0 0; }
main > .studio-header .text-1 p { margin: 21px 0 0; font-size: 17px; line-height: 21px; }
main > .studio-header .text-1 p:first-child { margin: 0; }
main > .studio-header .text-2 { padding: 108px 0 0; color: #240606; }
main > .studio-header .text-2 p { margin: 1em 0 0; font-size: 40px; }
main > .studio-header .text-2 p:first-child { margin: 0; }
main > .studio-header figure { width: 247px; padding: 22px 0 0; }
main > .studio-header figure img { width: 100%; height: auto; }

@media only screen and (min-width: 1024px) {
	main > .studio-header { padding: 40px 40px 40px 44px; display: grid; grid-template-columns: 1fr 476px 732px; grid-template-rows: 1fr auto; gap: 0 140px; }
	main > .studio-header h1 { padding: 1.600em 0 0; font-size: 45px; grid-column: 1; grid-row: 1; }
	main > .studio-header .text-1 { padding: 72px 0 0; grid-column: 2; grid-row: 1; }
	main > .studio-header .text-1 p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .studio-header .text-1 p:first-child { margin: 0; }
	main > .studio-header .text-2 { padding: 0; grid-column: 1 / span 2; grid-row: 2; }
	main > .studio-header .text-2 p { margin: 0.934em 0 0; font-size: 91px; line-height: 0.934; }
	main > .studio-header .text-2 p:first-child { margin: 0; }
	main > .studio-header figure { width: auto; padding: 0; grid-column: 3; grid-row: 1 / span 2; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-header { padding: 2.083vw 2.083vw 2.083vw 2.292vw; grid-template-columns: 1fr 24.792vw 38.125vw; gap: 0 7.292vw; }
	main > .studio-header h1 { font-size: 2.344vw; }
	main > .studio-header .text-1 { padding: 3.75vw 0 0; }
	main > .studio-header .text-1 p { font-size: 1.146vw; }
	main > .studio-header .text-2 p { font-size: 4.74vw; }
}

main > .studio-banner { padding: 238px 20px 76px; min-height: 100vh; color: #FFFFFF; background: #240606; display: flex; flex-direction: column; justify-content: space-between; }
main > .studio-banner figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .studio-banner figure img { width: 100%; height: 100%; opacity: 0.53; object-fit: cover; }
main > .studio-banner .text-1 { text-align: center; }
main > .studio-banner .text-1 p { margin: 1em 0 0; font-size: 27px; }
main > .studio-banner .text-1 p:first-child { margin: 0; }
main > .studio-banner .text-2 p { margin: 21px 0 0; font-size: 17px; line-height: 21px; }
main > .studio-banner .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .studio-banner { padding: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; }
	main > .studio-banner .text-1 { grid-row: 2; }
	main > .studio-banner .text-1 p { font-size: 47px; }
	main > .studio-banner .text-2 { padding: 0 542px 0 902px; grid-row: 3; align-self: center; }
	main > .studio-banner .text-2 p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .studio-banner .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-banner .text-1 p { font-size: 2.448vw; }
	main > .studio-banner .text-2 { padding: 0 28.229vw 0 46.979vw; }
	main > .studio-banner .text-2 p { font-size: 1.146vw; }
}

main > .studio-overview { padding: 66px 20px 20px; }
main > .studio-overview h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.045em; text-transform: uppercase; color: #240606; }
main > .studio-overview .text { padding: 38px 0 0; }
main > .studio-overview .text p { margin: 1em 0 0; font-size: 29px; }
main > .studio-overview .text p:first-child { margin: 0; }
main > .studio-overview .text p em { text-decoration: underline; }
main > .studio-overview figure img { width: 100%; height: auto; }
main > .studio-overview figure:nth-of-type(1) { margin: 64px 0 0; padding: 116.72% 0 0; height: 0; }
main > .studio-overview figure:nth-of-type(1) video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
main > .studio-overview figure:nth-of-type(2),
main > .studio-overview figure:nth-of-type(3) { display: none; }

@media only screen and (min-width: 1024px) {
	main > .studio-overview { padding: 40px 0 188px 41px; display: grid; grid-template-columns: 476px 394px 1fr; grid-template-rows: auto auto 1fr; gap: 0 16px; }
	main > .studio-overview h2 { padding: 11.818em 0 0; font-size: 22px; grid-column: 1 / span 2; grid-row: 1; }
	main > .studio-overview .text { padding: 170px 0 138px; grid-column: 1 / span 2; grid-row: 2; }
	main > .studio-overview .text p { font-size: 75px; }
	main > .studio-overview figure:nth-of-type(1) { margin: 0 0 0 9px; padding: 116.74% 0 0; grid-column: 3; grid-row: 1 / span 3; }
	main > .studio-overview figure:nth-of-type(2) { grid-column: 1; grid-row: 3; align-self: end; display: block; }
	main > .studio-overview figure:nth-of-type(3) { grid-column: 2; grid-row: 3; align-self: end; display: block; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-overview { padding: 2.083vw 0 9.792vw 2.135vw; grid-template-columns: 24.792vw 20.521vw 1fr; gap: 0 0.833vw; }
	main > .studio-overview h2 { font-size: 1.146vw; }
	main > .studio-overview .text { padding: 8.854vw 0 7.187vw; }
	main > .studio-overview .text p { font-size: 3.906vw; }
	main > .studio-overview figure:nth-of-type(1) { margin: 0 0 0 0.469vw; }
}

main > .studio-philosophy { padding: 44px 0 64px; background: #FFFFFF; }
main > .studio-philosophy h2 { padding: 0 20px; font-size: 33px; color: #240606; }
main > .studio-philosophy .text-1 { padding: 64px 20px 0; }
main > .studio-philosophy .text-2 { padding: 64px 20px 0; }
main > .studio-philosophy .text h3 { font-style: italic; font-size: 23px; line-height: 29px; }
main > .studio-philosophy .text p { margin: 21px 0 0; font-size: 17px; line-height: 21px; }
main > .studio-philosophy .text h3 + p { margin-top: 29px; }
main > .studio-philosophy figure img { max-width: 100%; height: 382px; object-fit: cover; object-position: right top; }

@media only screen and (min-width: 1024px) {
	main > .studio-philosophy { padding: 96px 50px; display: grid; grid-template-columns: 599px 1fr 599px; gap: 38px 0; }
	main > .studio-philosophy h2 { padding: 0; font-size: 75px; grid-column: 1; grid-row: 1; }
	main > .studio-philosophy .text-1 { padding: 0; grid-column: 3; grid-row: 1; }
	main > .studio-philosophy .text-2 { padding: 0; grid-column: 1; grid-row: 3; }
	main > .studio-philosophy .text h3 { font-size: 40px; line-height: 1; }
	main > .studio-philosophy .text p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .studio-philosophy .text h3 + p { margin-top: 1.364em; }
	main > .studio-philosophy figure { grid-column: 1 / span 3; grid-row: 2; text-align: center; }
	main > .studio-philosophy figure img { max-width: 100%; width: 886px; height: auto; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-philosophy { padding: 5vw 2.604vw; grid-template-columns: 31.198vw 1fr 31.198vw; gap: 1.979vw 0; }
	main > .studio-philosophy h2 { font-size: 3.906vw; }
	main > .studio-philosophy .text h3 { font-size: 2.083vw; }
	main > .studio-philosophy .text p { font-size: 1.146vw; }
	main > .studio-philosophy figure img { width: 46.146vw; }
}

main > .studio-craft { padding: 66px 20px 148px; color: #240606; }
main > .studio-craft .heading h2 { font-size: 33px; text-wrap: balance; }
main > .studio-craft .heading .text { padding: 38px 0 0; }
main > .studio-craft .heading .text p { margin: 35px 0 0; font-size: 25px; line-height: 35px; }
main > .studio-craft .heading .text p:first-child { margin-top: 0; }
main > .studio-craft ol { margin: 102px 0 0; display: grid; grid-template-columns: 1fr; gap: 108px; counter-reset: craft; }
main > .studio-craft ol li::before { margin: 0 0 38px; font-size: 25px; counter-increment: craft; content: counter(craft); display: block; }
main > .studio-craft ol li h3 { font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 17px; line-height: 21px; }
main > .studio-craft ol li p { margin: 21px 0 0; font-size: 17px; line-height: 21px; }
main > .studio-craft ol li h3 + p { margin-top: 48px; }

@media only screen and (min-width: 1024px) {
	main > .studio-craft { padding: 148px 50px 344px 41px; }
	main > .studio-craft .heading { display: grid; grid-template-columns: 1fr 845px; gap: 262px; }
	main > .studio-craft .heading h2 { font-size: 75px; }
	main > .studio-craft .heading .text { padding: 0; }
	main > .studio-craft .heading .text p { margin: 1.222em 0 0; font-size: 45px; line-height: 1.222; }
	main > .studio-craft .heading .text p:first-child { margin-top: 0; }
	main > .studio-craft ol { margin: 228px 0 0; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 139px; }
	main > .studio-craft ol.animc > li:nth-of-type(4n-2).inview { transition-delay: 0.8s; }
	main > .studio-craft ol.animc > li:nth-of-type(4n-1).inview { transition-delay: 1.2s; }
	main > .studio-craft ol.animc > li:nth-of-type(4n).inview { transition-delay: 1.6s; }
	main > .studio-craft ol li::before { margin: 0 0 1.111em; font-size: 45px; }
	main > .studio-craft ol li h3 { font-size: 22px; line-height: 1; }
	main > .studio-craft ol li p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .studio-craft ol li h3 + p { margin-top: 5.545em; }
}

@media only screen and (min-width: 1024px) {
	main > .studio-craft { padding: 7.708vw 2.604vw 17.917vw 2.135vw; }
	main > .studio-craft .heading { grid-template-columns: 1fr 44.01vw; gap: 13.646vw; }
	main > .studio-craft .heading h2 { font-size: 3.906vw; }
	main > .studio-craft .heading .text p { font-size: 2.344vw; }
	main > .studio-craft ol { margin: 11.875vw 0 0; gap: 7.24vw; }
	main > .studio-craft ol li::before { font-size: 2.344vw; }
	main > .studio-craft ol li h3 { font-size: 1.146vw; }
	main > .studio-craft ol li p { font-size: 1.146vw; }
}

body.archive-projects { background: #FFFFFF; }
main > .projects { padding: 183px 20px 27px; }
main > .projects header { padding: 0 0 30px; }
main > .projects header h1 { font-size: 34px; text-wrap: balance; }
main > .projects article { padding: 0 0 80px; }
main > .projects article a { position: relative; display: block; }
main > .projects article figure { padding: 82.63% 0 0; height: 0; position: relative; display: block; }
main > .projects article figure img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
main > .projects article span { padding: 21px 0 0; position: relative; display: block; }
main > .projects article span h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; line-height: 11px; letter-spacing: 0.045em; text-transform: uppercase; }
main > .projects article span h3 { padding: 11px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 17px; line-height: 27px; }
main > .projects article span p { padding: 22px 0 0; font-size: 23px; line-height: 29px; }

@media only screen and (min-width: 1024px) {
	main > .projects { padding: 206px 0 185px 41px; display: flex; flex-wrap: wrap; justify-content: space-between; }
	main > .projects header { width: 100%; padding: 0 0 34px; }
	main > .projects header h1 { font-size: 58px; }
	main > .projects article { width: 968px; padding: 0 0 188px; }
	main > .projects article a { color: #FFFFFF; }
	main > .projects article figure { padding: 66.43% 0 0; }
	main > .projects article figure::after { width: 100%; height: 0; background: linear-gradient(0deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%); opacity: 0.81; transition: height 0.4s ease; position: absolute; bottom: 0; left: 0; content: " "; display: block; }
	main > .projects article a:hover figure::after { height: 422px; }
	main > .projects article:nth-of-type(5n-3) { width: 772px; padding: 0 50px 188px 0; }
	main > .projects.animc > article:nth-of-type(5n-3).inview { transition-delay: 0.4s; }
	main > .projects article:nth-of-type(5n-3) figure { padding: 127.98% 0 0; }
	main > .projects article:nth-of-type(5n-2) { width: 722px; }
	main > .projects article:nth-of-type(5n-2) figure { padding: 72.30% 0 0; }
	main > .projects article:nth-of-type(5n-1) { width: 1018px; }
	main > .projects.animc > article:nth-of-type(5n-1).inview { transition-delay: 0.4s; }
	main > .projects article:nth-of-type(5n-1) figure { padding: 90.77% 0 0; }
	main > .projects article:nth-of-type(5n) { width: 100%; padding: 0 296px 188px 246px; }
	main > .projects article:nth-of-type(5n-1) figure { padding: 69.11% 0 0; }
	main > .projects article span { width: 100%; padding: 42px 44px; position: absolute; bottom: 0; left: 0; opacity: 0; }
	main > .projects article a:hover span { opacity: 1; }
	main > .projects article span h2 { font-size: 23px; line-height: 1.087; }
	main > .projects article span h3 { padding: 0.650em 0 0; font-size: 20px; line-height: 1.300; }
	main > .projects article span p { padding: 0.921em 0 0; font-size: 38px; line-height: 1.237; }
}

@media only screen and (min-width: 1024px) {
	main > .projects { padding: 206px 0 185px 41px; }
	main > .projects header { padding: 0 0 34px; }
	main > .projects header h1 { font-size: 58px; }
	main > .projects article { width: 968px; padding: 0 0 188px; }
	main > .projects article a:hover figure::after { height: 422px; }
	main > .projects article:nth-of-type(5n-3) { width: 772px; padding: 0 50px 188px 0; }
	main > .projects article:nth-of-type(5n-2) { width: 722px; }
	main > .projects article:nth-of-type(5n-1) { width: 1018px; }
	main > .projects article:nth-of-type(5n) { width: 100%; padding: 0 296px 188px 246px; }
	main > .projects article span { padding: 42px 44px; }
	main > .projects article span h2 { font-size: 23px; }
	main > .projects article span h3 { font-size: 20px; }
	main > .projects article span p { font-size: 38px; }
}

@media only screen and (min-width: 1024px) {
	main > .projects { padding: 10.729vw 0 9.635vw 2.135vw; }
	main > .projects header { padding: 0 0 1.771vw; }
	main > .projects header h1 { font-size: 3.021vw; }
	main > .projects article { width: 50.417vw; padding: 0 0 9.792vw; }
	main > .projects article a:hover figure::after { height: 21.979vw; }
	main > .projects article:nth-of-type(5n-3) { width: 40.208vw; padding: 0 2.604vw 9.792vw 0; }
	main > .projects article:nth-of-type(5n-2) { width: 37.604vw; }
	main > .projects article:nth-of-type(5n-1) { width: 53.021vw; }
	main > .projects article:nth-of-type(5n) { width: 100%; padding: 0 15.417vw 9.792vw 12.812vw; }
	main > .projects article span { padding: 2.188vw 2.292vw; }
	main > .projects article span h2 { font-size: 1.198vw; }
	main > .projects article span h3 { font-size: 1.042vw; }
	main > .projects article span p { font-size: 1.979vw; }
}

main > .case-study-header { padding: 56px 20px; min-height: 100vh; height: 100dvh; color: #FFFFFF; background: #000000; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto auto 1fr; gap: 22px; }
main > .case-study-header figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .case-study-header figure img { width: 100%; height: 100%; object-fit: cover; opacity: 0.43; }
main > .case-study-header h1 { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 0.045em; text-transform: uppercase; grid-row: 2; }
main > .case-study-header h2 { font-family: aktiv-grotesk, sans-serif; font-size: 28px; line-height: 27px; grid-row: 3; }
main > .case-study-header p { font-style: italic; font-size: 34px; grid-row: 4; align-self: end; }
main > .case-study { padding: 46px 20px 140px; }
main > .case-study figure { padding: 45px 0 0; }
main > .case-study figure img { width: 100%; height: auto; }
main > .case-study .overview h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 17px; line-height: 27px; }
main > .case-study .overview .text-1 { padding: 35px 0 0; }
main > .case-study .overview .text-1 p { margin: 35px 0 0; font-size: 23px; line-height: 35px; }
main > .case-study .overview .text-1 p:first-child { margin: 0; }
main > .case-study .overview .text-2 { padding: 35px 0 0; }
main > .case-study .overview .text-2 p { margin: 19px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 17px; line-height: 19px; }
main > .case-study .overview .text-2 p:first-child { margin: 0; }
main > .case-study .text-cols { padding: 45px 0 0; display: grid; grid-template-columns: 1fr; gap: 64px; }
main > .case-study .text-cols .col h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 17px; line-height: 27px; }
main > .case-study .text-cols .col p { margin: 21px 0 0; font-size: 17px; line-height: 21px; }
main > .case-study .text-cols .col h2 + p { margin-top: 48px; }
main > .case-study .text-cols .col ul { margin: 52px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 13px; line-height: 18px; }
main > .case-study blockquote { padding: 45px 0 0; position: relative; display: block; }
main > .case-study blockquote::before { width: 1px; height: 128px; background: #000000; content: " "; display: block; }
main > .case-study blockquote q { padding: 23px 0 0; font-size: 23px; line-height: 35px; position: relative; display: block; }
main > .case-study blockquote cite { padding: 43px 0 0; position: relative; display: block; }
main > .case-study blockquote cite strong { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.045em; text-transform: uppercase; position: relative; display: block; }
main > .case-study blockquote cite span { margin: 5px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 17px; line-height: 19px; position: relative; display: block; }
main > .case-study .paging { padding: 118px 0 0; }
main > .case-study .paging ul { font-style: italic; font-size: 19px; display: flex; flex-wrap: wrap; gap: 1em; }
main > .case-study .paging ul li a { text-decoration: underline; }
main > .case-study .paging ul li a:hover { color: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	main > .case-study-header { padding: 0 410px; grid-template-columns: 492px 1fr; grid-template-rows: 1fr auto auto 1fr; gap: 51px 0; }
	main > .case-study-header h1 { font-size: 23px; grid-column: 1; grid-row: 2; }
	main > .case-study-header h2 { padding: 0.200em 0 0; font-size: 50px; line-height: 0.940; grid-column: 1; grid-row: 3; }
	main > .case-study-header p { font-size: 61px; line-height: 1.098; grid-column: 2; grid-row: 3; align-self: start; }
	main > .case-study { padding: 63px 50px 302px 41px; }
	main > .case-study figure { padding: 120px 0 0; }
	main > .case-study .images { display: grid; grid-template-columns: 1fr 1fr; gap: 139px; }
	main > .case-study .overview { display: grid; grid-template-columns: 246px 1fr 845px; grid-template-rows: auto 1fr; }
	main > .case-study .overview h2 { font-size: 22px; line-height: 1.136; grid-column: 1; grid-row: 1; }
	main > .case-study .overview .text-1 { padding: 0 40px 0 0; grid-column: 2; grid-row: 1; }
	main > .case-study .overview .text-1 p { margin: 1.222em 0 0; font-size: 45px; line-height: 1.222; }
	main > .case-study .overview .text-1 p:first-child { margin: 0; }
	main > .case-study .overview .text-2 { padding: 299px 262px 0 0; grid-column: 1 / span 2; grid-row: 2; }
	main > .case-study .overview .text-2 p { margin: 1.136em 0 0; font-size: 22px; line-height: 1.136; }
	main > .case-study .overview .text-2 p:first-child { margin: 0; }
	main > .case-study .overview figure { padding: 0; grid-column: 3; grid-row: 1 / span 2; }
	main > .case-study .text-cols { padding: 58px 0 80px; grid-template-columns: 1fr 1fr; gap: 139px; }
	main > .case-study .text-cols .col { padding: 0 123px 0 0; }
	main > .case-study .text-cols .col h2 { font-size: 22px; line-height: 1.455; }
	main > .case-study .text-cols .col p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .case-study .text-cols .col h2 + p { margin-top: 2.318em; }
	main > .case-study .text-cols .col ul { margin: 4.500em 0 0; font-size: 16px; line-height: 1.313; }
	main > .case-study blockquote { padding: 103px 0 0; }
	main > .case-study blockquote::before { width: 1px; height: 371px; }
	main > .case-study blockquote q { padding: 1.356em 0 0; font-size: 45px; line-height: 1.222; }
	main > .case-study blockquote cite { padding: 93px 0 0; }
	main > .case-study blockquote cite strong { font-size: 13px; }
	main > .case-study blockquote cite span { margin: 0.250em 0 0; font-size: 20px; line-height: 1.300; }
	main > .case-study .paging { padding: 391px 0 0; text-align: center; }
	main > .case-study .paging ul { font-size: 35px; justify-content: center; }
}

@media only screen and (min-width: 1024px) {
	main > .case-study-header { padding: 0 410px; grid-template-columns: 492px 1fr; gap: 51px 0; }
	main > .case-study-header h1 { font-size: 23px; }
	main > .case-study-header h2 { font-size: 50px; }
	main > .case-study-header p { font-size: 61px; }
	main > .case-study { padding: 63px 50px 302px 41px; }
	main > .case-study figure { padding: 120px 0 0; }
	main > .case-study .images { gap: 139px; }
	main > .case-study .overview { grid-template-columns: 246px 1fr 845px; }
	main > .case-study .overview h2 { font-size: 22px; }
	main > .case-study .overview .text-1 { padding: 0 40px 0 0; }
	main > .case-study .overview .text-1 p { font-size: 45px; }
	main > .case-study .overview .text-2 { padding: 299px 262px 0 0; }
	main > .case-study .overview .text-2 p { font-size: 22px; }
	main > .case-study .overview figure { padding: 0; }
	main > .case-study .text-cols { padding: 58px 0 80px; gap: 139px; }
	main > .case-study .text-cols .col { padding: 0 123px 0 0; }
	main > .case-study .text-cols .col h2 { font-size: 22px; }
	main > .case-study .text-cols .col p { font-size: 22px; }
	main > .case-study .text-cols .col ul { font-size: 16px; }
	main > .case-study blockquote { padding: 103px 0 0; }
	main > .case-study blockquote::before { width: 1px; height: 371px; }
	main > .case-study blockquote q { font-size: 45px; }
	main > .case-study blockquote cite { padding: 93px 0 0; }
	main > .case-study blockquote cite strong { font-size: 13px; }
	main > .case-study blockquote cite span { font-size: 20px; }
	main > .case-study .paging { padding: 391px 0 0; }
	main > .case-study .paging ul { font-size: 35px; }
}

@media only screen and (min-width: 1024px) {
	main > .case-study-header { padding: 0 21.354vw; grid-template-columns: 25.625vw 1fr; gap: 2.656vw 0; }
	main > .case-study-header h1 { font-size: 1.198vw; }
	main > .case-study-header h2 { font-size: 2.604vw; }
	main > .case-study-header p { font-size: 3.177vw; }
	main > .case-study { padding: 3.281vw 2.604vw 15.729vw 2.135vw; }
	main > .case-study figure { padding: 6.25vw 0 0; }
	main > .case-study .images { gap: 7.24vw; }
	main > .case-study .overview { grid-template-columns: 12.812vw 1fr 44.01vw; }
	main > .case-study .overview h2 { font-size: 1.146vw; }
	main > .case-study .overview .text-1 { padding: 0 2.083vw 0 0; }
	main > .case-study .overview .text-1 p { font-size: 2.344vw; }
	main > .case-study .overview .text-2 { padding: 15.573vw 13.646vw 0 0; }
	main > .case-study .overview .text-2 p { font-size: 1.146vw; }
	main > .case-study .overview figure { padding: 0; }
	main > .case-study .text-cols { padding: 3.021vw 0 4.167vw; gap: 7.24vw; }
	main > .case-study .text-cols .col { padding: 0 6.406vw 0 0; }
	main > .case-study .text-cols .col h2 { font-size: 1.146vw; }
	main > .case-study .text-cols .col p { font-size: 1.146vw; }
	main > .case-study .text-cols .col ul { font-size: 0.833vw; }
	main > .case-study blockquote { padding: 5.365vw 0 0; }
	main > .case-study blockquote::before { width: 0.052vw; height: 19.323vw; }
	main > .case-study blockquote q { font-size: 2.344vw; }
	main > .case-study blockquote cite { padding: 4.844vw 0 0; }
	main > .case-study blockquote cite strong { font-size: 0.677vw; }
	main > .case-study blockquote cite span { font-size: 1.042vw; }
	main > .case-study .paging { padding: 20.365vw 0 0; }
	main > .case-study .paging ul { font-size: 1.823vw; }
}

main > .expertise-header { padding: 100px 20px; min-height: 100vh; color: #FFFFFF; background: #240606; text-align: center; display: flex; flex-direction: column; justify-content: center; }
main > .expertise-header figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .expertise-header figure img { width: 100%; height: 100%; object-fit: cover; opacity: 0.36; }
main > .expertise-header h1 { font-family: aktiv-grotesk, sans-serif; font-weight: 300; font-size: 30px; letter-spacing: 0.045em; text-indent: 0.045em; text-transform: uppercase; }
main > .expertise-header h2 { padding: 40px 0 0; font-size: 50px; text-wrap: balance; }
main > .expertise-header h2 em { text-decoration: underline; }
main > .expertise-header p { padding: 38px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 17px; line-height: 27px; text-wrap: balance; }

@media only screen and (min-width: 1024px) {
	main > .expertise-header { padding: 100px 279px; }
	main > .expertise-header figure img { opacity: 0.66; }
	main > .expertise-header h1 { font-size: 40px; }
	main > .expertise-header h2 { padding: 0.410em 0 0; font-size: 134px; }
	main > .expertise-header p { padding: 5.455em 0 0; font-size: 22px; line-height: 1.364; }
}

@media only screen and (min-width: 1024px) {
	main > .expertise-header { padding: 5.208vw 14.531vw; }
	main > .expertise-header h1 { font-size: 2.083vw; }
	main > .expertise-header h2 { font-size: 6.979vw; }
	main > .expertise-header p { font-size: 1.146vw; }
}

main > .expertise-services { padding: 45px 6px; display: grid; grid-template-columns: 1fr; gap: 8px; counter-reset: services; }
main > .expertise-services .service { padding: 20px 14px 14px; background: #FFFFFF; }
main > .expertise-services .service::before { font-size: 52px; font-style: italic; position: absolute; top: 10px; right: 25px; counter-increment: services; content: counter(services); display: block; }
main > .expertise-services .service h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.045em; text-transform: uppercase; }
main > .expertise-services .service .text { padding: 78px 0 0; }
main > .expertise-services .service .text p { font-size: 19px; line-height: 27px; }
main > .expertise-services .service .services { margin: 30px 0 0; padding: 22px 0 0; border: 1px solid #000000; border-width: 1px 0 0; }
main > .expertise-services .service .services ul { font-family: aktiv-grotesk, sans-serif; font-size: 13px; line-height: 18px; display: inline; }
main > .expertise-services .service .services ul li { display: inline; }
main > .expertise-services .service .services ul li::after { padding: 0 0.3em 0 0.4em; content: "•"; display: inline-block; }
main > .expertise-services .service .services ul li:last-child::after { display: none; }
main > .expertise-services .service figure { padding: 30px 0 0; }
main > .expertise-services .service figure img { width: 100%; height: auto; }

@media only screen and (min-width: 1024px) {
	main > .expertise-services { padding: 102px 50px 174px 41px; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 12px; align-items: start; }
	main > .expertise-services .service { padding: 20px; }
	main > .expertise-services .service:nth-child(2n) { margin-top: 87px; }
	main > .expertise-services.animc > .service:nth-of-type(4n-2).inview { transition-delay: 0.8s; }
	main > .expertise-services.animc > .service:nth-of-type(4n-1).inview { transition-delay: 1.2s; }
	main > .expertise-services.animc > .service:nth-of-type(4n).inview { transition-delay: 1.6s; }
	main > .expertise-services .service::before { font-size: 85px; top: 0.071em; right: 0.294em; }
	main > .expertise-services .service h2 { font-size: 19px; }
	main > .expertise-services .service .text { padding: 102px 0 0; }
	main > .expertise-services .service .text p { font-size: 23px; line-height: 1.391; }
	main > .expertise-services .service .services { margin: 84px 0 0; padding: 24px 0 0; border-width: 1px 0 0; }
	main > .expertise-services .service .services ul { font-size: 16px; line-height: 1.375; }
	main > .expertise-services .service figure { padding: 58px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .expertise-services { padding: 5.313vw 2.604vw 9.063vw 2.135vw; gap: 0.625vw; }
	main > .expertise-services .service { padding: 1.042vw; }
	main > .expertise-services .service:nth-child(2n) { margin-top: 4.531vw; }
	main > .expertise-services .service::before { font-size: 4.427vw; }
	main > .expertise-services .service h2 { font-size: 0.99vw; }
	main > .expertise-services .service .text { padding: 5.313vw 0 0; }
	main > .expertise-services .service .text p { font-size: 1.198vw; }
	main > .expertise-services .service .services { margin: 4.375vw 0 0; padding: 1.25vw 0 0; border-width: 0.052vw 0 0; }
	main > .expertise-services .service .services ul { font-size: 0.833vw; }
	main > .expertise-services .service figure { padding: 3.021vw 0 0; }
}

main > .expertise-principles { padding: 66px 20px 0; background: #FFFFFF; }
main > .expertise-principles .heading h2 { font-size: 33px; line-height: 29px; color: #240606; }
main > .expertise-principles .heading p { margin: 35px 0 0; font-size: 25px; line-height: 35px; }
main > .expertise-principles .heading h2 + p { margin-top: 39px; }
main > .expertise-principles .principles { margin: 114px 0 0; color: #4D1B12; }
main > .expertise-principles .principles .principle { padding: 30px 0 78px; border: 1px solid #4D1B12; border-width: 4px 0 0; }
main > .expertise-principles .principles .principle:hover { color: #FFFFFF; background: #4D1B12; }
main > .expertise-principles .principles .principle h3 { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 17px; letter-spacing: 0.045em; text-transform: uppercase; }
main > .expertise-principles .principles .principle .text { padding: 38px 0 0; }
main > .expertise-principles .principles .principle .text p { font-size: 19px; line-height: 27px; }
main > .expertise-principles .principles .principle .text p em { font-weight: 600; }
main > .expertise-principles .principles .principle .deliverables { padding: 42px 0 0; }
main > .expertise-principles .principles .principle .deliverables h4 { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.045em; text-transform: uppercase; }
main > .expertise-principles .principles .principle .deliverables p { margin: 5px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 17px; line-height: 19px; }

@media only screen and (min-width: 1024px) {
	main > .expertise-principles { padding: 76px 50px 96px 41px;  }
	main > .expertise-principles .heading { width: 600px; }
	main > .expertise-principles .heading h2 { font-size: 75px; line-height: 1; }
	main > .expertise-principles .heading p { margin: 1.379em 0 0; font-size: 29px; line-height: 1.379; }
	main > .expertise-principles .heading h2 + p { margin-top: 2.207em; }
	main > .expertise-principles .principles { margin: 34px 0 0; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; align-items: end; }
	main > .expertise-principles .principles .principle { padding: 30px 16px 60px; border-width: 4px 0 0 1px; }
	main > .expertise-principles .principles .principle h3 { font-size: 23px; }
	main > .expertise-principles .principles .principle .text { padding: 102px 0 0; }
	main > .expertise-principles .principles .principle:nth-child(4n-2) .text { padding: 162px 0 0; }
	main > .expertise-principles .principles .principle:nth-child(4n-1) .text { padding: 222px 0 0; }
	main > .expertise-principles .principles .principle:nth-child(4n) .text { padding: 282px 0 0; }
	main > .expertise-principles .principles.animc > .principle:nth-of-type(4n-2).inview { transition-delay: 0s, 0s, 0.8s, 0.8s; }
	main > .expertise-principles .principles.animc > .principle:nth-of-type(4n-1).inview { transition-delay: 0s, 0s, 1.2s, 1.2s; }
	main > .expertise-principles .principles.animc > .principle:nth-of-type(4n).inview { transition-delay: 0s, 0s, 1.6s, 1.6s; }
	main > .expertise-principles .principles .principle .text p { font-size: 22px; line-height: 1.455; }
	main > .expertise-principles .principles .principle .deliverables { padding: 96px 0 0; min-height: 166px; }
	main > .expertise-principles .principles .principle .deliverables h4 { font-size: 13px; }
	main > .expertise-principles .principles .principle .deliverables p { margin: 0.250em 0 0; font-size: 20px; line-height: 1.300; }
}

@media only screen and (min-width: 1024px) {
	main > .expertise-principles { padding: 3.958vw 2.604vw 5vw 2.135vw; }
	main > .expertise-principles .heading { width: 31.25vw; }
	main > .expertise-principles .heading h2 { font-size: 3.906vw; }
	main > .expertise-principles .heading p { font-size: 1.51vw; }
	main > .expertise-principles .principles { margin: 1.771vw 0 0; }
	main > .expertise-principles .principles .principle { padding: 1.563vw 0.833vw 3.125vw; border-width: 0.208vw 0 0 0.052vw; }
	main > .expertise-principles .principles .principle h3 { font-size: 1.198vw; }
	main > .expertise-principles .principles .principle .text { padding: 5.313vw 0 0; }
	main > .expertise-principles .principles .principle:nth-child(4n-2) .text { padding: 8.438vw 0 0; }
	main > .expertise-principles .principles .principle:nth-child(4n-1) .text { padding: 11.563vw 0 0; }
	main > .expertise-principles .principles .principle:nth-child(4n) .text { padding: 14.688vw 0 0; }
	main > .expertise-principles .principles .principle .text p { font-size: 1.146vw; }
	main > .expertise-principles .principles .principle .deliverables { padding: 5vw 0 0; min-height: 8.646vw; }
	main > .expertise-principles .principles .principle .deliverables h4 { font-size: 0.677vw; }
	main > .expertise-principles .principles .principle .deliverables p { font-size: 1.042vw; }
}

main > .expertise-map { padding: 46px 0 118px; }
main > .expertise-map h2 { padding: 0 20px; font-size: 34px; }
main > .expertise-map h2 span { display: block; }
main > .expertise-map h2 span:nth-child(2) { padding: 0 0 0 87px; }
main > .expertise-map h2 span em { text-decoration: underline; }
main > .expertise-map .text { padding: 48px 20px 0; }
main > .expertise-map .text p { margin: 21px 0 0; font-size: 17px; line-height: 21px; }
main > .expertise-map .text p:first-child { margin: 0; }
main > .expertise-map figure { padding: 72px 8px 0; }
main > .expertise-map figure img { width: 100%; height: auto; }
main > .expertise-map p.note { margin: 50px 20px 0; padding: 0 0 0 17px; font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; line-height: 15px; letter-spacing: 0.045em; text-transform: uppercase; text-wrap: balance; position: relative; display: block; }
main > .expertise-map p.note::before { width: 6px; height: 6px; background: #000001; border-radius: 50%; position: absolute; top: 5px; left: 0; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .expertise-map { padding: 425px 94px 136px 47px; overflow: hidden; }
	main > .expertise-map h2 { padding: 0; font-size: 146px; text-align: right; position: absolute; top: 1.726em; right: 0.322em; }
	main > .expertise-map h2 span:nth-child(1) { padding: 0 1.966em 0 0; }
	main > .expertise-map h2 span:nth-child(2) { padding: 0; }
	main > .expertise-map .text { width: 460px; padding: 0; position: absolute; top: 625px; right: 66px; }
	main > .expertise-map .text p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .expertise-map .text p:first-child { margin: 0; }
	main > .expertise-map figure { padding: 0 382px 0 0; }
	main > .expertise-map p.note { margin: 8.154em 0 0; padding: 0 0 0 3.077em; font-size: 13px; line-height: 1.154; float: right; }
	main > .expertise-map p.note::before { width: 1.538em; height: 1.538em; top: -0.154em; }
}

@media only screen and (min-width: 1024px) {
	main > .expertise-map { padding: 22.135vw 4.896vw 7.083vw 2.448vw; }
	main > .expertise-map h2 { font-size: 7.604vw; }
	main > .expertise-map .text { width: 23.958vw; top: 32.552vw; right: 3.438vw; }
	main > .expertise-map .text p { font-size: 1.146vw; }
	main > .expertise-map figure { padding: 0 19.896vw 0 0; }
	main > .expertise-map p.note { font-size: 0.677vw; }
}

main > .journal .heading { padding: 93px 20px 38px; }
main > .journal .heading h1 { font-family: aktiv-grotesk, sans-serif; font-weight: 300; font-size: 30px; letter-spacing: 0.045em; text-transform: uppercase; color: #240606; }
main > .journal .heading ul { margin: 51px 0 0; font-size: 19px; line-height: 27px; display: flex; flex-wrap: wrap; gap: 10px 32px; }
main > .journal .heading ul li a { color: #240606; opacity: 0.5; }
main > .journal .heading ul li.on a,
main > .journal .heading ul li a:hover { opacity: 1; }
main > .journal .grid { display: grid; grid-template-columns: 1fr; }
main > .journal .grid .article { border: 1px solid #000000; border-width: 1px 0 0; }
main > .journal .grid .article:first-child { border-width: 0; }
main > .journal .grid .article a { padding: 32px 20px 28px; height: 100%; color: #240606; background: #F6F0E6; display: block; }
main > .journal .grid .article a:hover { color: #FFFFFF; background: #4D1B12; }
main > .journal .grid .article a figure img { width: 100%; height: auto; }
main > .journal .grid .article a p { padding: 22px 0 0; font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.045em; text-transform: uppercase; }
main > .journal .grid .article a h2 { padding: 10px 0 0; font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 17px; line-height: 22px; }
main > .journal .paging { padding: 84px 20px 140px; }
main > .journal .paging ul { font-style: italic; font-size: 19px; display: flex; flex-wrap: wrap; gap: 1em; }
main > .journal .paging ul li a { color: #240606; text-decoration: underline; }
main > .journal .paging ul li a:hover { color: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	main > .journal .heading { padding: 186px 31px 52px; }
	main > .journal .heading h1 { font-size: 40px; letter-spacing: 0.045em; }
	main > .journal .heading ul { margin: 1.182em 0 0; font-size: 22px; line-height: 1.136; gap: 1em 2.909em; }
	main > .journal .grid { grid-template-columns: 1fr 1fr 1fr; }
	main > .journal .grid .article { border-width: 1px 1px 0 0; }
	main > .journal .grid .article:first-child { border-width: 1px 1px 0 0; }
	main > .journal .grid .article:nth-child(3n) { border-width: 1px 0 0; }
	main > .journal .grid .article a { padding: 27px 31px 62px; }
	main > .journal .grid .article a p { padding: 2.368em 0 0; font-size: 19px; }
	main > .journal .grid .article a h2 { padding: 0.938em 0 0; font-size: 16px; line-height: 1.375; }
	main > .journal .paging { padding: 272px 31px 315px; text-align: center; }
	main > .journal .paging ul { font-size: 35px; justify-content: center; }
}

@media only screen and (min-width: 1024px) {
	main > .journal .heading { padding: 9.688vw 1.615vw 2.708vw; }
	main > .journal .heading h1 { font-size: 2.083vw; }
	main > .journal .heading ul { font-size: 1.146vw; }
	main > .journal .grid .article { border-width: 0.052vw 0.052vw 0 0; }
	main > .journal .grid .article:first-child { border-width: 0.052vw 0.052vw 0 0; }
	main > .journal .grid .article:nth-child(3n) { border-width: 0.052vw 0 0; }
	main > .journal .grid .article a { padding: 1.406vw 1.615vw 3.229vw; }
	main > .journal .grid .article a p { font-size: 0.99vw; }
	main > .journal .grid .article a h2 { font-size: 0.833vw; }
	main > .journal .paging { padding: 14.167vw 1.615vw 16.406vw; }
	main > .journal .paging ul { font-size: 1.823vw; }
}

body.single-journal { background: #FFFFFF; }
main > .post { padding: 152px 20px 140px; color: #240606; }
main > .post .heading h1 { font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 22px; line-height: 25px; }
main > .post .heading p { margin: 52px 0 0; font-size: 19px; }
main > .post .category { padding: 84px 0 0; }
main > .post .category p { font-family: aktiv-grotesk, sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 0.045em; text-transform: uppercase; }
main > .post .text { padding: 36px 0 0; }
main > .post .text a { color: #240606; text-decoration: underline; }
main > .post .text a:hover { opacity: 0.5; }
main > .post .text p { margin: 21px 0 0; font-size: 17px; line-height: 21px; }
main > .post .text p:first-child { margin: 0; }
main > .post .details { margin: 62px 0 0; padding: 22px 0 0; border: 1px solid #000000; border-width: 1px 0 0; }
main > .post .details h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 17px; line-height: 22px; }
main > .post .details .info { padding: 26px 0 0; }
main > .post .details .info p,
main > .post .details .info ul { margin: 22px 0 0; font-family: aktiv-grotesk, sans-serif; font-size: 17px; line-height: 22px; opacity: 0.5; }
main > .post .details .info p:first-child,
main > .post .details .info ul:first-child { margin-top: 0; }
main > .post .details .info ul { display: flex; flex-direction: column; gap: 22px; }
main > .post .details .info ul li { padding: 0 0 0 42px; position: relative; display: block; }
main > .post .details .info ul li::before { position: absolute; top: 0; left: 0; content: "•"; display: block; }
main > .post .images { padding: 90px 0 0; display: grid; grid-template-columns: 1fr; gap: 35px; }
main > .post .images figure img { width: 100%; height: auto; }
main > .post .paging { padding: 138px 0 0; }
main > .post .paging ul { font-style: italic; font-size: 19px; display: flex; flex-wrap: wrap; gap: 1em; }
main > .post .paging ul li a { color: #240606; text-decoration: underline; }
main > .post .paging ul li a:hover { color: #F6F0E6; }

@media only screen and (min-width: 1024px) {
	main > .post { padding: 233px 50px 315px 41px; display: grid; grid-template-columns: 1fr 845px; }
	main > .post .heading { grid-column: 1; grid-row: 2; }
	main > .post .heading h1 { width: 600px; font-size: 32px; line-height: 1.156; }
	main > .post .heading p { margin: 5.000em 0 0; font-size: 22px; }
	main > .post .category { padding: 0 0 87px; grid-column: 2; grid-row: 1; }
	main > .post .category p { font-size: 23px; }
	main > .post .text { padding: 0 0 116px; grid-column: 2; grid-row: 2; }
	main > .post .text p { margin: 1.136em 0 0; font-size: 22px; line-height: 1.136; }
	main > .post .text p:first-child { margin: 0; }
	main > .post .details { margin: 0; padding: 24px 0 0; border-width: 1px 0 0; grid-column: 2; grid-row: 3; display: grid; grid-template-columns: 320px 1fr; gap: 20px; }
	main > .post .details h2 { font-size: 22px; line-height: 1.136; }
	main > .post .details .info { padding: 0; }
	main > .post .details .info p,
	main > .post .details .info ul { margin: 1.136em 0 0; font-size: 22px; line-height: 1.136; }
	main > .post .details .info p:first-child,
	main > .post .details .info ul:first-child { margin-top: 0; }
	main > .post .details .info ul { gap: 1.136em; }
	main > .post .details .info ul li { padding: 0 0 0 2.364em; }
	main > .post .images { padding: 112px 0 0; grid-template-columns: 1fr 1fr; gap: 31px 139px; grid-column: 1 / span 2; grid-row: 4; }
	main > .post .images figure.landscape { grid-column: span 2; }
	main > .post .paging { padding: 315px 0 0; text-align: center; grid-column: 1 / span 2; grid-row: 5; }
	main > .post .paging ul { font-size: 35px; justify-content: center; }
}

@media only screen and (min-width: 1024px) {
	main > .post { padding: 12.135vw 2.604vw 16.406vw 2.135vw; grid-template-columns: 1fr 44.01vw; }
	main > .post .heading h1 { width: 31.25vw; font-size: 1.667vw; }
	main > .post .heading p { font-size: 1.146vw; }
	main > .post .category { padding: 0 0 4.531vw; }
	main > .post .category p { font-size: 1.198vw; }
	main > .post .text { padding: 0 0 6.042vw; }
	main > .post .text p { font-size: 1.146vw; }
	main > .post .details { padding: 1.25vw 0 0; border-width: 0.052vw 0 0; grid-template-columns: 16.667vw 1fr; gap: 1.042vw; }
	main > .post .details h2 { font-size: 1.146vw; }
	main > .post .details .info p,
	main > .post .details .info ul { font-size: 1.146vw; }
	main > .post .images { padding: 5.833vw 0 0; gap: 1.615vw 7.24vw; }
	main > .post .paging { padding: 16.406vw 0 0; }
	main > .post .paging ul { font-size: 1.823vw; }
}

main > .contact { padding: 98px 20px 25px; display: grid; grid-template-columns: 1fr auto; }
main > .contact a:not([href^="mailto:"]) { text-decoration: underline; }
main > .contact a:hover { opacity: 0.5; }
main > .contact .heading { grid-column: span 2; }
main > .contact .heading h1 { font-family: aktiv-grotesk, sans-serif; font-weight: 300; font-size: 30px; letter-spacing: 0.045em; text-transform: uppercase; color: #240606; }
main > .contact .general { padding: 52px 0 0; grid-column: span 2; }
main > .contact .general h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 17px; line-height: 27px; color: #240606; }
main > .contact .general ul { margin: 32px 0 0; font-size: 25px; line-height: 35px; }
main > .contact .others { padding: 57px 0 0; display: grid; grid-template-columns: 1fr; gap: 50px; grid-column: span 2; }
main > .contact .others h2 { font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 17px; line-height: 27px; color: #240606; }
main > .contact .others p { margin: 27px 0 0; font-size: 19px; line-height: 27px; text-wrap: balance; }
main > .contact .others h2 + p { margin-top: 20px; }
main > .contact .address { padding: 52px 0 0; }
main > .contact .address p { padding: 0 0 0 30px; font-size: 19px; line-height: 32px; text-wrap: balance; position: relative; display: block; }
main > .contact .address p i { width: auto; position: absolute; top: 0.25em; left: 0; }
main > .contact .social { padding: 60px 0 0; }
main > .contact .social ul { font-size: 15px; display: flex; gap: 25px; }

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 123px 40px 126px; grid-template-columns: 370px 1fr; }
	main > .contact .heading h1 { font-size: 40px; }
	main > .contact .general { padding: 216px 0 0; display: grid; grid-template-columns: 370px 1fr; }
	main > .contact .general h2 { font-family: aktiv-grotesk, sans-serif; font-size: 22px; line-height: 1.455; }
	main > .contact .general ul { margin: 0; font-size: 40px; line-height: 1.125; }
	main > .contact .others { padding: 173px 0 0 370px; grid-template-columns: 370px 440px 1fr; gap: 0; }
	main > .contact .others h2 { font-size: 22px; line-height: 1.455; }
	main > .contact .others p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .contact .others h2 + p { margin-top: 1.909em; }
	main > .contact .address { padding: 118px 0 0; grid-column: 2; grid-row: 4; }
	main > .contact .address p { padding: 0 0 0 2.273em; font-size: 22px; line-height: 1.455; }
	main > .contact .social { padding: 118px 0 0; grid-column: 1; grid-row: 4; }
	main > .contact .social ul { font-size: 18px; gap: 2.222em; }
}

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 6.406vw 2.083vw 6.563vw; grid-template-columns: 19.271vw 1fr; }
	main > .contact .heading h1 { font-size: 2.083vw; }
	main > .contact .general { padding: 11.25vw 0 0; grid-template-columns: 19.271vw 1fr; }
	main > .contact .general h2 { font-size: 1.146vw; }
	main > .contact .general ul { font-size: 2.083vw; }
	main > .contact .others { padding: 9.01vw 0 0 19.271vw; grid-template-columns: 19.271vw 440px 1fr; }
	main > .contact .others h2 { font-size: 1.146vw; }
	main > .contact .others p { font-size: 1.146vw; }
	main > .contact .address { padding: 6.146vw 0 0; }
	main > .contact .address p { font-size: 1.146vw; }
	main > .contact .social { padding: 6.146vw 0 0; }
	main > .contact .social ul { font-size: 0.938vw; }
}

main > .legal { padding: 137px 20px 207px; counter-reset: h2; counter-reset: h2; }
main > .legal a { text-decoration: underline; }
main > .legal a:hover { opacity: 0.5; }
main > .legal h1 { margin: 0 0 46px; font-size: 52px; }
main > .legal h2 { margin: 70px 0 0; font-style: italic; font-size: 26px; line-height: 22px; }
main > .legal h2::before { content: counter(h2) ". "; counter-increment: h2; }
main > .legal p { margin: 22px 0 0; font-size: 17px; line-height: 22px; }
main > .legal ol { margin: 22px 0 0; font-size: 17px; line-height: 22px; counter-reset: ol; display: flex; flex-direction: column; gap: 46px; }
main > .legal h2 + ol { margin-top: 42px; }
main > .legal ol > li { padding: 0 0 0 86px; position: relative; display: block; }
main > .legal ol > li::before { position: absolute; top: 0; left: 0; content: counter(h2) "." counter(ol); counter-increment: ol; }
main > .legal ol > li ul { margin: 22px 0 0; }
main > .legal ol > li ul > li { position: relative; display: block; }
main > .legal ol > li ul > li::before { position: absolute; top: 0; left: -86px; content: "•"; display: block; }

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 159px 50px 170px 40px; }
	main > .legal h1 { margin: 0 0 0.388em; font-size: 98px; }
	main > .legal h2 { margin: 2.571em 0 0; font-size: 35px; line-height: 0.914em; }
	main > .legal h2:first-of-type { margin-top: 1em; }
	main > .legal p { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; }
	main > .legal ol { margin: 1.455em 0 0; font-size: 22px; line-height: 1.455; gap: 2.455em; }
	main > .legal h2 + ol { margin-top: 1.727em; }
	main > .legal ol > li { padding: 0 0 0 5.636em; }
	main > .legal ol > li ul { margin: 1.727em 0 0; }
	main > .legal ol > li ul > li { padding: 0 0 0 5.591em; }
	main > .legal ol > li ul > li::before { left: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 8.281vw 2.604vw 8.854vw 2.083vw; }
	main > .legal h1 { font-size: 5.104vw; }
	main > .legal h2 { font-size: 1.823vw; }
	main > .legal p { font-size: 1.146vw; }
	main > .legal ol { font-size: 1.146vw; }
}

footer { padding: 0 6px 8px; }
footer a { color: #FFFFFF; }
footer a:hover { opacity: 0.5; }
footer .box { padding: 40px 20px 76px; color: #FFFFFF; background: #4D1B12; }
footer .box .logo img { width: 100%; height: auto; }
footer .box .contact { padding: 95px 10px 0; }
footer .box .contact p { font-size: 33px; text-wrap: balance; }
footer .box .contact ul.details { padding: 52px 0 0; font-family: aktiv-grotesk, sans-serif; font-weight: 500; font-size: 15px; line-height: 20px; letter-spacing: 0.045em; text-transform: uppercase; }
footer .box .contact ul.social { padding: 52px 0 0; font-size: 15px; display: flex; gap: 40px; }
footer .box p.address { padding: 52px 10px 0; font-size: 17px; line-height: 19px; }
footer .box ul.legal { padding: 25px 10px 0; font-family: aktiv-grotesk, sans-serif; font-size: 13px; line-height: 15px; display: flex; gap: 32px; }
footer .box p.credit { padding: 25px 10px 0; font-family: aktiv-grotesk, sans-serif; font-size: 13px; line-height: 15px; }

@media only screen and (min-width: 1024px) {
	footer { padding: 0 40px 40px; }
	footer .box { padding: 40px 28px 28px; display: grid; grid-template-columns: 462px 1fr auto; align-items: end; }
	footer .box .logo { grid-column: span 3; }
	footer .box .contact { padding: 154px 522px 228px 462px; display: grid; grid-template-columns: 1fr auto; gap: 102px 0; grid-column: span 3; }
	footer .box .contact p { font-size: 67px; grid-column: span 2; }
	footer .box .contact ul.details { padding: 0; font-size: 19px; line-height: 1.316; grid-column: 2; grid-row: 2; }
	footer .box .contact ul.social { padding: 0; font-size: 18px; gap: 2.222em; grid-column: 1; grid-row: 2; }
	footer .box p.address { padding: 0; font-size: 22px; line-height: 1; grid-column: 2; grid-row: 3; }
	footer .box ul.legal { padding: 0; font-size: 13px; line-height: 1.154; gap: 1.615em; grid-column: 1; grid-row: 3; }
	footer .box p.credit { padding: 0 4.231em 0 0; font-size: 13px; line-height: 1.154; grid-column: 3; grid-row: 3; }
}

@media only screen and (min-width: 1024px) {
	footer { padding: 0 2.083vw 2.083vw; }
	footer .box { padding: 2.083vw 1.458vw 1.458vw; grid-template-columns: 24.063vw 1fr auto; }
	footer .box .contact { padding: 8.021vw 27.187vw 11.875vw 24.063vw; gap: 5.313vw 0; }
	footer .box .contact p { font-size: 3.49vw; }
	footer .box .contact ul.details { font-size: 0.99vw; }
	footer .box .contact ul.social { font-size: 0.938vw; }
	footer .box p.address { font-size: 1.146vw; }
	footer .box ul.legal { font-size: 0.677vw; }
	footer .box p.credit { font-size: 0.677vw; }
}

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