/*
Theme Name: Geo
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: #4C331C; 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 sole-serif-small-variable, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-variation-settings: "opsz" 500, "wght" 200; background: var(--background); color: #4C331C; }

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

body > header { width: 100%; padding: 19px 16px 0; position: fixed; top: 0; left: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; z-index: 99; }
body > header > ul li button { width: 30px; height: 30px; background: none; border: 0; position: relative; display: block; -webkit-appearance: none; appearance: none; }
body > header > ul li button span { width: 100%; height: 2px; background: #4C331C; position: absolute; top: calc( 50% - 1px ); left: 0; transition: all 0.4s ease; display: block; }
body > header > ul li button span::before,
body > header > ul li button span::after { width: 100%; height: 2px; background: #4C331C; position: absolute; top: -7px; left: 0; transition: all 0.4s ease; content: " "; display: block; }
body > header > ul li button span::after { top: 7px; }
body > header h1 a { position: relative; display: inline-flex; }
body > header h1 a img { width: auto; height: 36px; transition: opacity 0.4s ease; }
body > header h1 a::before,
body > header h1 a::after { width: 100%; height: 100%; background: url(images/logo-brown.svg) 50% 50% / contain no-repeat; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.4s ease; z-index: 2; content: " "; display: block; }
body > header h1 a::after { background-image: url(images/logo-white.svg) }
body > header nav ul { display: flex; flex-wrap: wrap; justify-content: flex-end; }
body > header nav ul li { display: none; }
body > header nav ul li:last-child { display: block; }
body > header nav ul li a { padding: 8px 12px 9px; font-family: stratos, sans-serif; font-size: 15px; color: #4C331C; background: #FFFFFF; border-radius: 5px; display: inline-flex; }
body > header nav ul li:last-child a { color: var(--highlight-text); background: var(--highlight); }
body > header nav ul li a:hover span { opacity: 0.45; }

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

@media only screen and (max-width: 1023px) {
	html.menu body > header > ul li button span { background: #F1EFE8; }
	html.menu body > header > ul li button span::before,
	html.menu body > header > ul li button span::after { background: #4C331C; }
	html.menu body > header > ul li button span::before { top: 0; transform: rotate(-45deg); }
	html.menu body > header > ul li button span::after { top: 0; transform: rotate(45deg); }
	html.menu body > header h1 a::before { opacity: 1; }
	html.menu body > header h1 a::after { opacity: 0; }
	html.menu body > header nav ul li:last-child a { color: #FFFFFF; background: #4C331C; }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 59px 85px 0; gap: 400px; }
	body > header > ul { display: none; }
	body > header h1 { grid-column: 2; }
	body > header h1 a img { height: 49px; }
	body > header nav ul li { display: block; }
	body > header nav ul li a { padding: 0.353em 0.882em 0.471em; font-size: 17px; border: 0.059em solid #F1EFE8; border-radius: 0.588em; }
	body > header nav ul li:last-child a { border-color: var(--highlight); }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 3.07vw 4.43vw 0; gap: 20.83vw; }
	body > header h1 a img { height: 2.55vw; }
	body > header nav ul li a { font-size: 0.89vw; }
}

html.services body > header > ul li button span,
html.services body > header > ul li button span::before,
html.services body > header > ul li button span::after,
html.sectors body > header > ul li button span,
html.sectors body > header > ul li button span::before,
html.sectors body > header > ul li button span::after { background: #4C331C; }
html.services body > header h1 a::before,
html.sectors body > header h1 a::before { opacity: 1; }
html.services body > header h1 a::after,
html.sectors body > header h1 a::after { opacity: 0; }
html.services body > header nav ul li:last-child a,
html.sectors body > header nav ul li:last-child a { color: #FFFFFF; background: #4C331C; }

body > .menu { width: 100%; height: 100%; padding: 16px; background: #F1EFE8; position: fixed; top: 0; left: -100%; display: flex; align-items: end; transition: left 0.4s ease; z-index: 98; }
html.menu body > .menu { left: 0; }
body > .menu ul { display: flex; flex-wrap: wrap; gap: 5px; }
body > .menu ul li a { padding: 12px 24px; font-family: stratos, sans-serif; font-size: 25px; color: #4C331C; background: #FFFFFF; border-radius: 10px; display: inline-flex; }
body > .menu ul li:last-child a { color: #FFFFFF; background: #4C331C; }

@media only screen and (min-width: 1024px) {
	body > .menu { display: none; }
}

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

main .btn { font-size: 13px; background: none; border: 0; -webkit-appearance: none; appearance: none; position: relative; display: inline-flex; }
main .btn > span { padding: 14px 14px 14px 21px; font-family: stratos, sans-serif; color: #4C331C; background: #FFFFFF; border: 1px solid #4C331C; border-radius: 7px; position: relative; top: 0; left: 0; display: inline-flex; align-items: center; gap: 30px; transition: top 0.4s ease, left 0.4s ease; }
main .btn svg { width: auto; height: 10px; }
main .btn::before { width: 100%; height: 100%; background: #4C331C; border-radius: 7px; position: absolute; top: 0; left: 0; content: " "; display: block; }
main .btn:hover > span,
main a:hover .btn > span,
.gform_drop_area:hover .btn > span { top: -2px; left: -2px; }

@media only screen and (min-width: 1024px) {
	main .btn { font-size: 18px; }
	main .btn > span { padding: 0.889em 1.000em 1.000em 1.556em; border-width: 0.056em; border-radius: 0.556em; gap: 2.333em; }
	main .btn svg { height: 0.667em; }
	main .btn::before { border-radius: 0.556em; }
	main .btn:hover > span,
	main a:hover .btn > span,
	.gform_drop_area:hover .btn > span { top: -0.167em; left: -0.167em; }
}

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

main > .home-header::before { width: 622px; height: 678px; position: absolute; top: -42px; left: -262px; background: url(images/home-header-g.svg) no-repeat 50% 50% / contain; content: " "; display: block; }
main > .home-header .slides .slide { padding: 125px 16px 18px; }
main > .home-header .slides .slide h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 32px; line-height: 40px; }
main > .home-header .slides .slide .overview { padding: 24px 0 0; }
main > .home-header .slides .slide .overview p { font-size: 13px; line-height: 19px; }
main > .home-header .slides .slide .overview ul { margin: 30px 0 0; }
main > .home-header .slides .slide figure { padding: 36px 0 0; }
main > .home-header .slides .slide figure img { border-radius: 10px; }
main > .home-header .slides .slick-arrow { width: 88px; height: 88px; position: absolute; bottom: 88px; right: 4px; background: none; border: 0; -webkit-appearance: none; appearance: none; z-index: 50; }
main > .home-header .slides .slick-arrow::before,
main > .home-header .slides .slick-arrow::after { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url(images/home-header-arrow-h.svg) no-repeat 50% 50% / contain; transition: opacity 0.4s ease; content: " "; display: block; }
main > .home-header .slides .slick-arrow::after { background-image: url(images/home-header-arrow.svg); }
@media(hover: hover) and (pointer: fine) {
	main > .home-header .slides .slick-arrow:hover::after { opacity: 0; }
} 

@media only screen and (min-width: 1024px) {
	main > .home-header::before { width: 1830px; height: 1996px; top: -144px; left: -228px; }
	main > .home-header .slides .slide { padding: 332px 415px 141px 45px; display: grid; grid-template-columns: 599px 1fr; gap: 60px 139px; }
	main > .home-header .slides .slide h2 { font-size: 117px; line-height: 1.026; text-wrap: balance; grid-column: span 2; }
	main > .home-header .slides .slide .overview { padding: 0; grid-column: 2; grid-row: 2; }
	main > .home-header .slides .slide .overview p { font-size: 29px; line-height: 1.483; }
	main > .home-header .slides .slide .overview ul { margin: 104px 0 0; }
	main > .home-header .slides .slide figure { padding: 12px 0 0; grid-column: 1; grid-row: 2; }
	main > .home-header .slides .slide figure img { border-radius: 22px; }
	main > .home-header .slides .slick-arrow { width: 198px; height: 198px; bottom: 258px; right: 46px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-header::before { width: 95.31vw; height: 103.96vw; top: -7.5vw; left: -11.88vw; }
	main > .home-header .slides .slide { padding: 17.29vw 21.61vw 7.34vw 2.34vw; grid-template-columns: 31.2vw 1fr; gap: 3.13vw 7.24vw; }
	main > .home-header .slides .slide h2 { font-size: 6.09vw; }
	main > .home-header .slides .slide .overview p { font-size: 1.51vw; }
	main > .home-header .slides .slide .overview ul { margin: 5.42vw 0 0; }
	main > .home-header .slides .slide figure { padding: 0.63vw 0 0; }
	main > .home-header .slides .slide figure img { border-radius: 1.15vw; }
	main > .home-header .slides .slick-arrow { width: 10.31vw; height: 10.31vw; bottom: 13.44vw; right: 2.4vw; }
}

main > .home-overview { margin: 0 4px; padding: 52px 12px 44px; background: #FFFFFF; border-radius: 10px; }
main > .home-overview h2 { font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }
main > .home-overview .text-1 { padding: 20px 0 0; }
main > .home-overview .text-1 p { margin: 25px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 18px; line-height: 25px; }
main > .home-overview .text-1 p:first-child { margin: 0; }
main > .home-overview .text-2 { padding: 30px 0 0; }
main > .home-overview .text-2 p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .home-overview .text-2 p:first-child { margin: 0; }
main > .home-overview .text-2 ul { margin: 64px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .home-overview { margin: 0 45px; padding: 164px 122px 145px; border-radius: 22px; display: grid; grid-template-columns: 1fr 599px; gap: 35px 139px; }
	main > .home-overview h2 { font-size: 30px; line-height: 1.167; grid-column: span 2; }
	main > .home-overview .text-1 { padding: 0; }
	main > .home-overview .text-1 p { margin: 1.316em 0 0; font-size: 38px; line-height: 1.316; }
	main > .home-overview .text-1 p:first-child { margin: 0; }
	main > .home-overview .text-2 { padding: 0; }
	main > .home-overview .text-2 p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .home-overview .text-2 p:first-child { margin: 0; }
	main > .home-overview .text-2 ul { margin: 72px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .home-overview { margin: 0 2.34vw; padding: 8.54vw 6.35vw 7.55vw; border-radius: 1.15vw; grid-template-columns: 1fr 31.2vw; gap: 1.82vw 7.24vw; }
	main > .home-overview h2 { font-size: 1.56vw; }
	main > .home-overview .text-1 p { font-size: 1.98vw; }
	main > .home-overview .text-2 p { font-size: 0.99vw; }
	main > .home-overview .text-2 ul { margin: 3.75vw 0 0; }
}

main > .home-sectors { padding: 62px 0 0 16px; }
main > .home-sectors h2 { width: 200px; font-family: stratos, sans-serif; font-weight: 500; font-size: 29px; line-height: 26px; }
main > .home-sectors .slides .slide { width: 295px; padding: 40px 4px 0 0; }
main > .home-sectors .slides .slide a { height: 289px; padding: 0 0 18px; border-radius: 10px; display: flex; flex-direction: column; }
main > .home-sectors .slides .slide.blue a { background: #6CC2C6; }
main > .home-sectors .slides .slide.orange a { background: #F7BCA3; }
main > .home-sectors .slides .slide.yellow a { background: #FAEB68 }
main > .home-sectors .slides .slide.green a { background: #B7ED8B; }
main > .home-sectors .slides .slide a h3 { min-height: 86px; padding: 20px 18px 19px; font-family: stratos, sans-serif; font-size: 20px; line-height: 23px; text-wrap: balance; border: 1px solid #4C331C; border-width: 0 0 1px; }
main > .home-sectors .slides .slide a p { padding: 6px 18px; font-size: 13px; line-height: 19px; }
main > .home-sectors .slides .slide a figure { display: none; }
main > .home-sectors .slides .slide a .btn { margin: auto 18px 0; align-self: start; }
main > .home-sectors .slides .slide.blue a .btn > span { background: #6CC2C6; }
main > .home-sectors .slides .slide.orange a .btn > span { background: #F7BCA3; }
main > .home-sectors .slides .slide.yellow a .btn > span { background: #FAEB68 }
main > .home-sectors .slides .slide.green a .btn > span { background: #B7ED8B; }
main > .home-sectors .slides .slick-arrow { width: 42px; height: 13px; position: absolute; top: -32px; background: none; border: 0; -webkit-appearance: none; appearance: none; z-index: 50; }
main > .home-sectors .slides .slick-arrow::before { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url(images/arrow-brown.svg) no-repeat 50% 50% / contain; content: " "; display: block; }
main > .home-sectors .slides .slick-prev { right: 64px; transform: rotate(180deg); }
main > .home-sectors .slides .slick-next { right: 16px; }

@media only screen and (min-width: 1024px) {
	main > .home-sectors { padding: 174px 0 0 45px; }
	main > .home-sectors h2 { width: 100%; font-size: 90px; line-height: 1; }
	main > .home-sectors .slides .slide { width: 615px; padding: 55px 16px 0 0; }
	main > .home-sectors .slides .slide a { height: 597px; padding: 0 0 16px; border-radius: 22px; display: grid; grid-template-columns: 386px 1fr; grid-template-rows: 145px 1fr auto; }
	main > .home-sectors .slides .slide a h3 { min-height: none; padding: 1.029em 3.514em 0 0.886em; font-size: 35px; line-height: 1.143; border-width: 0 0 1px; grid-column: span 2; }
	main > .home-sectors .slides .slide a p { padding: 1.250em 6.150em 0 1.550em; font-size: 20px; line-height: 1.250; grid-column: span 2; }
	main > .home-sectors .slides .slide a figure { padding: 0 0 0 18px; display: block; align-self: end; }
	main > .home-sectors .slides .slide a .btn { margin: 0 16px 0 0; align-self: end; justify-self: end; }
	main > .home-sectors .slides .slick-arrow { width: 98px; height: 29px; top: -32px; }
	main > .home-sectors .slides .slick-prev { right: 170px; }
	main > .home-sectors .slides .slick-next { right: 46px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-sectors { padding: 9.06vw 0 0 2.34vw; }
	main > .home-sectors h2 { font-size: 4.69vw; }
	main > .home-sectors .slides .slide { width: 32.03vw; padding: 2.86vw 0.83vw 0 0; }
	main > .home-sectors .slides .slide a { height: 31.09vw; padding: 0 0 0.83vw; border-radius: 1.15vw; grid-template-columns: 20.1vw 1fr; grid-template-rows: 7.55vw 1fr auto; }
	main > .home-sectors .slides .slide a h3 { font-size: 1.82vw; border-width: 0 0 0.05vw; }
	main > .home-sectors .slides .slide a p { font-size: 1.04vw; }
	main > .home-sectors .slides .slide a figure { padding: 0 0 0 0.94vw; }
	main > .home-sectors .slides .slide a .btn { margin: 0 0.83vw 0 0; }
	main > .home-sectors .slides .slick-arrow { width: 5.1vw; height: 1.51vw; top: -1.67vw; }
	main > .home-sectors .slides .slick-prev { right: 8.85vw; }
	main > .home-sectors .slides .slick-next { right: 2.4vw; }
}

main > .home-services { padding: 74px 16px 8px; overflow: hidden; }
main > .home-services .header h2 { font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }
main > .home-services .slides .slide { padding: 20px 0 32px; }
main > .home-services .slides .slide h3 { font-family: stratos, sans-serif; font-weight: 600; font-size: 28px; line-height: 31px; }
main > .home-services .slides .slide p { margin: 20px 0 0; font-size: 13px; line-height: 19px; }
main > .home-services .button ul li a.btn > span { background: #F1EFE8; }
main > .home-services .links { padding: 120px 0 0; }
main > .home-services .links ul { position: relative; }
main > .home-services .links ul li a { padding: 12px; font-family: stratos, sans-serif; font-size: 17px; background: #FFFFFF; border-radius: 12px; display: inline-flex; }
main > .home-services .links ul li:nth-of-type(1) { position: relative; top: -15px; left: 5px; transform: rotate(-21deg); transform-origin: bottom left; }
main > .home-services .links ul li:nth-of-type(2) { position: absolute; top: -67px; left: 136px; transform: rotate(48deg); }
main > .home-services .links ul li:nth-of-type(3) { position: absolute; top: 0; left: 112px; }
main > .home-services .links ul li:nth-of-type(4) { position: absolute; top: -35px; left: 226px; transform: rotate(31deg); }
main > .home-services .links ul li.on a { background: #F7BCA3; }

@media only screen and (min-width: 1024px) {
	main > .home-services { padding: 0; }
	main > .home-services .header { padding: 191px 1152px 0 168px; }
	main > .home-services .header h2 { font-size: 30px; line-height: 1.167; }
	main > .home-services .slides .slide { padding: 49px 1152px 64px 168px; }
	main > .home-services .slides .slide h3 { font-size: 61px; line-height: 1.082; }
	main > .home-services .slides .slide p { margin: 2.182em 0 0; font-size: 22px; line-height: 1.364; }
	main > .home-services .button { padding: 0 168px; }
	main > .home-services .links { padding: 220px 0 0 165px; }
	main > .home-services .links ul li a { padding: 0.707em 0.829em; font-size: 82px; border-radius: 0.671em; }
	main > .home-services .links ul li:nth-of-type(1) { top: 0; left: 0; }
	main > .home-services .links ul li:nth-of-type(2) { top: -300px; left: 567px;  }
	main > .home-services .links ul li:nth-of-type(3) { top: 67px; left: 511px; }
	main > .home-services .links ul li:nth-of-type(4) { top: -60px; left: 1184px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-services .header { padding: 9.95vw 60vw 0 8.75vw; }
	main > .home-services .header h2 { font-size: 1.56vw; }
	main > .home-services .slides .slide { padding: 2.55vw 60vw 3.33vw 8.75vw; }
	main > .home-services .slides .slide h3 { font-size: 3.18vw; }
	main > .home-services .slides .slide p { font-size: 1.15vw; }
	main > .home-services .button { padding: 0 8.75vw; }
	main > .home-services .links { padding: 11.46vw 0 0 8.59vw; }
	main > .home-services .links ul li a { font-size: 4.27vw; }
	main > .home-services .links ul li:nth-of-type(2) { top: -15.63vw; left: 29.53vw;  }
	main > .home-services .links ul li:nth-of-type(3) { top: 3.49vw; left: 26.61vw; }
	main > .home-services .links ul li:nth-of-type(4) { top: -3.13vw; left: 61.67vw; }
}

main > .home-languages { padding: 73px 16px 212px; color: #FFFFFF; background: #4C331C; }
main > .home-languages .header h2 { font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }
main > .home-languages .header p { margin: 30px 0 0; font-family: stratos, sans-serif; font-size: 28px; line-height: 32px; }
main > .home-languages .header p strong { font-family: sole-serif-small-variable; font-style: italic; font-weight: 400; font-size: 30px; line-height: 32px; }
main > .home-languages .stats { padding: 70px 0 0; }
main > .home-languages .stats table { width: 100%; }
main > .home-languages .stats table tr { border: 1px solid #FFFFFF; border-width: 1px 0 0; }
main > .home-languages .stats table tr th { padding: 5px 52px 10px 0; font-family: stratos, sans-serif; font-weight: 800; font-size: 32px; line-height: 40px; }
main > .home-languages .stats table tr td { width: 100%; padding: 13px 0; font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }
main > .home-languages .text { padding: 63px 0 0; }
main > .home-languages .text p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .home-languages .text p:first-child { margin: 0; }
main > .home-languages .text ul { margin: 44px 0 0; }
main > .home-languages .text ul li a.btn > span { color: #FFFFFF; background: #4C331C; border-color: #FFFFFF; }
main > .home-languages .text ul li a.btn svg g { stroke: #FFFFFF; }
main > .home-languages .text ul li a.btn::before { background: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	main > .home-languages { padding: 185px 351px 554px 168px; display: grid; grid-template-columns: 476px 1fr; gap: 210px 139px; }
	main > .home-languages .header { grid-column: span 2; }
	main > .home-languages .header h2 { font-size: 30px; line-height: 1.167; }
	main > .home-languages .header p { margin: 0.667em 0 0; font-size: 69px; line-height: 1.130; text-wrap: balance; }
	main > .home-languages .header p strong { font-size: 1.087em; line-height: 1.040; }
	main > .home-languages .stats { padding: 0; }
	main > .home-languages .stats table tr { border-width: 1px 0 0; }
	main > .home-languages .stats table tr th { padding: 0.275em 1.294em 0.314em 0; font-size: 51px; line-height: 1; }
	main > .home-languages .stats table tr td { padding: 0; font-size: 22px; line-height: 1; vertical-align: middle; }
	main > .home-languages .text { padding: 8px 0 0; }
	main > .home-languages .text p { margin: 1.231em 0 0; font-size: 39px; line-height: 1.231; }
	main > .home-languages .text p:first-child { margin: 0; }
	main > .home-languages .text ul { margin: 45px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .home-languages { padding: 9.64vw 18.28vw 28.85vw 8.75vw; grid-template-columns: 24.79vw 1fr; gap: 10.94vw 7.24vw; }
	main > .home-languages .header h2 { font-size: 1.56vw; }
	main > .home-languages .header p { font-size: 3.59vw; }
	main > .home-languages .stats table tr { border-width: 0.05vw 0 0; }
	main > .home-languages .stats table tr th { font-size: 2.66vw; }
	main > .home-languages .stats table tr td { font-size: 1.15vw; }
	main > .home-languages .text { padding: 0.42vw 0 0; }
	main > .home-languages .text p { font-size: 2.03vw; }
	main > .home-languages .text ul { margin: 2.34vw 0 0; }
}

main > .home-technology { margin: -108px 4px 0; background: #FAEB68; border-radius: 10px; }
main > .home-technology .header { padding: 40px 12px 0; }
main > .home-technology .header h2 { font-family: stratos, sans-serif; font-weight: 800; font-size: 35px; line-height: 29px; text-wrap: balance; text-transform: uppercase; }
main > .home-technology .text { padding: 39px 12px 0; }
main > .home-technology .text p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .home-technology .text p:first-child { margin: 0; font-family: stratos, sans-serif; font-size: 20px; line-height: 23px; }
main > .home-technology .text p:first-child + p { margin: 24px 0 0; }
main > .home-technology .text ul { margin: 54px 0 0; }
main > .home-technology .text ul li a.btn > span { background: #FAEB68; }
main > .home-technology figure { padding: 70px 0 0; }
main > .home-technology figure img { border-radius: 0 0 10px 10px; }

@media only screen and (min-width: 1024px) {
	main > .home-technology { margin: -359px 168px 0 12px; background: #FAEB68; border-radius: 22px; display: grid; grid-template-columns: 1002px 1fr; grid-template-rows: 359px 1fr; gap: 0 139px; }
	main > .home-technology .header { padding: 125px 157px 0; grid-column: 1; grid-row: 1; }
	main > .home-technology .header h2 { font-size: 69px; line-height: 0.841; }
	main > .home-technology .text { padding: 238px 123px 0 0; grid-column: 2; grid-row: 1 / span 2; }
	main > .home-technology .text p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .home-technology .text p:first-child { margin: 0; font-size: 30px; line-height: 1.167; }
	main > .home-technology .text p:first-child + p { margin: 3.474em 0 0; }
	main > .home-technology .text ul { margin: 72px 0 0; }
	main > .home-technology figure { padding: 0; grid-column: 1; grid-row: 2; }
	main > .home-technology figure img { border-radius: 0 22px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-technology { margin: -18.7vw 8.75vw 0 0.63vw; border-radius: 1.15vw; grid-template-columns: 52.19vw 1fr; grid-template-rows: 18.7vw 1fr; gap: 0 7.24vw; }
	main > .home-technology .header { padding: 6.51vw 8.18vw 0; }
	main > .home-technology .header h2 { font-size: 3.59vw; }
	main > .home-technology .text { padding: 12.4vw 6.41vw 0 0; }
	main > .home-technology .text p { font-size: 0.99vw; }
	main > .home-technology .text p:first-child { font-size: 1.56vw; }
	main > .home-technology .text ul { margin: 3.75vw 0 0; }
	main > .home-technology figure img { border-radius: 0 1.15vw; }
}

main > .about-header { padding: 134px 16px 132px; background: #6CC2C6; text-align: center; }
main > .about-header h1 { font-family: stratos, sans-serif; font-weight: 500; font-size: 35px; line-height: 40px; text-wrap: balance; }
main > .about-header figure { padding: 34px 0 0; }
main > .about-header figure img { width: 120px; transform: rotate(7deg); }
main > .about-header .text-1 { padding: 42px 0 0; }
main > .about-header .text-1 p { margin: 22px 0 0; font-size: 18px; line-height: 22px; }
main > .about-header .text-1 p:first-child { margin: 0; }
main > .about-header .text-1 p strong { font-family: stratos, sans-serif; font-weight: 500; }
main > .about-header .text-2 { padding: 80px 0 0; }
main > .about-header .text-2 p { margin: 24px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 21px; line-height: 24px; text-wrap: balance; }
main > .about-header .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .about-header { padding: 302px 113px 212px; display: grid; grid-template-columns: 1fr 778px; }
	main > .about-header h1 { font-size: 110px; line-height: 1.091; grid-column: span 2; }
	main > .about-header figure { padding: 69px 0 0 167px; text-align: left; }
	main > .about-header figure img { width: 344px; }
	main > .about-header .text-1 { padding: 132px 52px 0 0; text-align: left; }
	main > .about-header .text-1 p { margin: 1.206em 0 0; font-size: 34px; line-height: 1.206; }
	main > .about-header .text-1 p:first-child { margin: 0; }
	main > .about-header .text-2 { padding: 296px 0 0; grid-column: span 2; }
	main > .about-header .text-2 p { margin: 0.725em 0 0; font-size: 69px; line-height: 0.725; }
	main > .about-header .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .about-header { padding: 15.73vw 5.89vw 11.04vw; grid-template-columns: 1fr 40.52vw; }
	main > .about-header h1 { font-size: 5.73vw; }
	main > .about-header figure { padding: 3.59vw 0 0 8.7vw; }
	main > .about-header figure img { width: 17.92vw; }
	main > .about-header .text-1 { padding: 6.88vw 2.71vw 0 0; }
	main > .about-header .text-1 p { font-size: 1.77vw; }
	main > .about-header .text-2 { padding: 15.42vw 0 0; }
	main > .about-header .text-2 p { font-size: 3.59vw; }
}

main > .about-overview-1 { margin: -61px 4px 0; padding: 52px 12px 84px; background: #FFFFFF; border-radius: 10px; display: grid; grid-template-columns: 1fr; gap: 94px; counter-reset: counter; }
main > .about-overview-1 .col h2 { padding: 0 0 0 84px; font-style: italic; font-size: 26px; position: relative; }
main > .about-overview-1 .col h2::before { font-style: normal; position: absolute; top: 0; left: 0; counter-increment: counter; content: counter(counter, decimal-leading-zero); display: block; }
main > .about-overview-1 .col h2 strong { font-family: stratos, sans-serif; font-weight: 500; font-style: normal; }
main > .about-overview-1 .col p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .about-overview-1 .col h2 + p { margin: 36px 0 0; font-family: stratos, sans-serif; font-size: 20px; line-height: 23px; }
main > .about-overview-1 .col h2 + p + p { margin: 30px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .about-overview-1 { margin: -100px 45px 0; padding: 168px 123px; border-radius: 22px; grid-template-columns: 1fr 1fr; gap: 316px; }
	main > .about-overview-1 .col h2 { padding: 0 0 0 2.000em; font-size: 38px; }
	main > .about-overview-1 .col p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .about-overview-1 .col h2 + p { margin: 1.900em 0 0; font-size: 30px; line-height: 1.167; }
	main > .about-overview-1 .col h2 + p + p { margin: 1.895em 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .about-overview-1 { margin: -5.21vw 2.34vw 0; padding: 8.75vw 6.41vw; border-radius: 1.15vw; gap: 16.46vw; }
	main > .about-overview-1 .col h2 { font-size: 1.98vw; }
	main > .about-overview-1 .col p { font-size: 0.99vw; }
	main > .about-overview-1 .col h2 + p { font-size: 1.56vw; }
}

main > .about-overview-2 { padding: 74px 16px 44px; text-align: center; }
main > .about-overview-2 p { margin: 22px 0 0; font-family: stratos, sans-serif; font-size: 17px; line-height: 22px; }
main > .about-overview-2 p:first-child { margin: 0; }
main > .about-overview-2 p strong { font-weight: 600; }
main > .about-overview-2 ul { margin: 62px 0 0; }
main > .about-overview-2 ul li a.btn > span { background: var(--background); }

@media only screen and (min-width: 1024px) {
	main > .about-overview-2 { padding: 243px 292px 134px; }
	main > .about-overview-2 p { margin: 1.316em 0 0; font-size: 38px; line-height: 1.316; }
	main > .about-overview-2 p:first-child { margin: 0; }
	main > .about-overview-2 ul { margin: 92px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .about-overview-2 { padding: 12.66vw 15.21vw 6.98vw; }
	main > .about-overview-2 p { font-size: 1.98vw; }
	main > .about-overview-2 ul { margin: 4.79vw 0 0; }
}

main > .about-principles { padding: 60px 16px 196px; color: #FFFFFF; background: #4C331C; }
main > .about-principles .header h2 { font-family: stratos, sans-serif; font-size: 29px; line-height: 32px; text-wrap: balance; }
main > .about-principles .header p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .about-principles .header h2 + p { margin: 33px 0 0; }
main > .about-principles .principles { padding: 71px 0 0; }
main > .about-principles .principles h3 { margin: 52px 0 0; font-family: stratos, sans-serif; font-size: 20px; line-height: 23px; }
main > .about-principles .principles h3:first-child { margin: 0; }
main > .about-principles .principles h3::before { padding: 0 5px 0 0; content: "—"; display: inline-block; }
main > .about-principles .principles p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .about-principles .stats { padding: 88px 0 0; }
main > .about-principles .stats table { width: 100%; }
main > .about-principles .stats table tr { border-top: 1px solid #FFFFFF; }
main > .about-principles .stats table tr th { padding: 10px 20px 9px 0; font-family: stratos, sans-serif; font-weight: 800; font-size: 25px; line-height: 32px; }
main > .about-principles .stats table tr td { width: 100%; padding: 17px 0 9px; font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }

@media only screen and (min-width: 1024px) {
	main > .about-principles { padding: 72px 292px 647px 45px; display: grid; grid-template-columns: 1fr 599px; grid-template-rows: 1fr auto; gap: 0 262px; }
	main > .about-principles .header { padding: 30px 0 0 123px; grid-column: 1; grid-row: 1; }
	main > .about-principles .header h2 { font-size: 55px; line-height: 1; }
	main > .about-principles .header p { margin: 1.286em 0 0; font-size: 35px; line-height: 1.286; text-wrap: balance; }
	main > .about-principles .header h2 + p { margin: 1.486em 0 0; }
	main > .about-principles .principles { padding: 0; grid-column: 2; grid-row: 1 / span 2; }
	main > .about-principles .principles h3 { margin: 3.000em 0 0; font-size: 30px; line-height: 1.167; }
	main > .about-principles .principles h3:first-child { margin: 0; }
	main > .about-principles .principles h3::before { padding: 0 0.267em 0 0; }
	main > .about-principles .principles p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .about-principles .principles h3 + p { margin: 1.053em 0 0; } 
	main > .about-principles .stats { padding: 0; grid-column: 1; grid-row: 2; }
	main > .about-principles .stats table tr { border-top-width: 1px; }
	main > .about-principles .stats table tr th { width: 12.300em; padding: 0.200em 0.667em 0.200em 0; font-size: 30px; line-height: 1.267; }
	main > .about-principles .stats table tr td { width: auto; padding: 0.524em 0; font-size: 21px; line-height: 1.238; }
}

@media only screen and (min-width: 1024px) {
	main > .about-principles { padding: 3.75vw 15.21vw 33.7vw 2.34vw; grid-template-columns: 1fr 31.2vw; gap: 0 13.65vw; }
	main > .about-principles .header { padding: 1.56vw 0 0 6.41vw; }
	main > .about-principles .header h2 { font-size: 2.86vw; }
	main > .about-principles .header p { font-size: 1.82vw; }
	main > .about-principles .principles h3 { font-size: 1.56vw; }
	main > .about-principles .principles p { font-size: 0.99vw; } 
	main > .about-principles .stats table tr { border-top-width: 0.05vw; }
	main > .about-principles .stats table tr th { font-size: 1.56vw; }
	main > .about-principles .stats table tr td { font-size: 1.09vw; }
}

main > .testimonials { margin: 56px 4px 0; background: #FFFFFF; border-radius: 10px; }
main > .about-principles + .testimonials { margin-top: -67px; }
main > .testimonials header { padding: 34px 12px 0; }
main > .testimonials header h2 { font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }
main > .testimonials header p { width: 250px; margin: 20px 0 0; font-family: stratos, sans-serif; font-weight: 800; font-size: 35px; line-height: 29px; text-transform: uppercase; text-wrap: balance; }
main > .testimonials .quotes .quote .wrap { padding: 88px 2px 78px; transition: padding 0.4s ease; transition-delay: 500ms; }
main > .testimonials .quotes .quote blockquote { width: calc( 100vw - 32px ); height: 356px; padding: 20px 16px 32px; border-radius: 10px; text-align: center; display: flex; flex-direction: column; justify-content: space-between; }
main > .testimonials .quotes .quote.blue blockquote { background: #6CC2C6; }
main > .testimonials .quotes .quote.orange blockquote { background: #F7BCA3; }
main > .testimonials .quotes .quote.yellow blockquote { background: #FAEB68 }
main > .testimonials .quotes .quote.green blockquote { background: #B7ED8B; }
main > .testimonials .quotes .quote blockquote q { font-family: stratos, sans-serif; font-size: 16px; line-height: 19px; }
main > .testimonials .quotes .quote blockquote cite strong { font-weight: 400; font-size: 16px; line-height: 22px; display: block; }
main > .testimonials .quotes .quote blockquote cite span { padding: 2px 0 0; font-family: stratos, sans-serif; font-weight: 400; font-size: 13px; line-height: 16px; display: block; }
main > .testimonials .quotes .slick-arrow { width: 42px; height: 13px; position: absolute; top: -32px; background: none; border: 0; -webkit-appearance: none; appearance: none; z-index: 50; }
main > .testimonials .quotes .slick-arrow::before { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url(images/arrow-brown.svg) no-repeat 50% 50% / contain; content: " "; display: block; }
main > .testimonials .quotes .slick-prev { right: 64px; transform: rotate(180deg); }
main > .testimonials .quotes .slick-next { right: 16px; }

main > .testimonials.brown { color: #FFFFFF; background: #2F1F10; }
main > .testimonials.brown .quotes { color: #4C331C; }
main > .testimonials.brown .quotes .slick-arrow::before { background-image: url(images/arrow-white.svg); }

@media only screen and (min-width: 1024px) {
	main > .testimonials { margin: 109px 12px 0; border-radius: 22px; }
	main > .about-principles + .testimonials { margin-top: -425px; }
	main > .testimonials header { padding: 172px 35px 0; }
	main > .testimonials header h2 { font-size: 30px; line-height: 1.167; }
	main > .testimonials header p { width: 100%; margin: 0.652em 0 0; font-size: 69px; line-height: 1.130; }
	main > .testimonials .quotes .quote .wrap { padding: 92px 5px 154px; }
	main > .testimonials .quotes .quote.slick-center .wrap { padding-top: 160px; padding-bottom: 86px; }
	main > .testimonials .quotes .quote blockquote { width: 631px; height: 379px; padding: 19px 40px 34px; border-radius: 10px; }
	main > .testimonials .quotes .quote blockquote q { font-size: 22px; line-height: 1.136; }
	main > .testimonials .quotes .quote blockquote cite strong { font-size: 22px; line-height: 1.364; }
	main > .testimonials .quotes .quote blockquote cite span { padding: 0.111em 0 0; font-size: 18px; line-height: 1.278; }
	main > .testimonials .quotes .slick-arrow { width: 98px; height: 29px; top: -32px; }
	main > .testimonials .quotes .slick-prev { right: 162px; }
	main > .testimonials .quotes .slick-next { right: 38px; }
}

@media only screen and (min-width: 1024px) {
	main > .testimonials { margin: 5.68vw 0.63vw 0; border-radius: 1.15vw; }
	main > .about-principles + .testimonials { margin-top: -22.14vw; }
	main > .testimonials header { padding: 8.96vw 1.82vw 0; }
	main > .testimonials header h2 { font-size: 1.56vw; }
	main > .testimonials header p { font-size: 3.59vw; }
	main > .testimonials .quotes .quote .wrap { padding: 4.79vw 0.26vw 8.02vw; }
	main > .testimonials .quotes .quote.slick-center .wrap { padding-top: 8.33vw; padding-bottom: 4.48vw; }
	main > .testimonials .quotes .quote blockquote { width: 32.86vw; height: 19.74vw; padding: 0.99vw 2.08vw 1.77vw; border-radius: 0.52vw; }
	main > .testimonials .quotes .quote blockquote q { font-size: 1.15vw; }
	main > .testimonials .quotes .quote blockquote cite strong { font-size: 1.15vw; }
	main > .testimonials .quotes .quote blockquote cite span { font-size: 0.94vw; }
	main > .testimonials .quotes .slick-arrow { width: 5.1vw; height: 1.51vw; top: -1.67vw; }
	main > .testimonials .quotes .slick-prev { right: 8.44vw; }
	main > .testimonials .quotes .slick-next { right: 1.98vw; }
}

main > .sectors-header { padding: 120px 16px 133px; }
main > .sectors-header.blue { background: #6CC2C6; }
main > .sectors-header.orange { background: #F7BCA3; }
main > .sectors-header.yellow { background: #FAEB68 }
main > .sectors-header.green { background: #B7ED8B; }
main > .sectors-header .overview p { font-family: stratos, sans-serif; font-weight: 500; font-size: 32px; line-height: 36px; }
main > .sectors-header .text { padding: 140px 0 0; }
main > .sectors-header .text h1 { font-family: stratos, sans-serif; font-weight: 800; font-size: 23px; line-height: 19px; text-transform: uppercase; }
main > .sectors-header .text p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .sectors-header .text h1 + p { margin: 43px 0 0; }
main > .sectors-header .explore { padding: 55px 0 0; }
main > .sectors-header .explore h2 { margin: 0 22px 26px; font-family: stratos, sans-serif; font-weight: 600; font-size: 18px; line-height: 25px; }
main > .sectors-header .explore ul { display: flex; flex-wrap: wrap; gap: 7px; }
main > .sectors-header.blue .explore ul li a.btn > span { background: #6CC2C6; }
main > .sectors-header.orange .explore ul li a.btn > span { background: #F7BCA3; }
main > .sectors-header.yellow .explore ul li a.btn > span { background: #FAEB68 }
main > .sectors-header.green .explore ul li a.btn > span { background: #B7ED8B; }

@media only screen and (min-width: 1024px) {
	main > .sectors-header { min-height: calc( 100vh + 112px ); padding: 185px 45px 199px; display: grid; grid-template-columns: 1fr 722px; grid-template-rows: 1fr auto; gap: 0 450px; }
	main > .sectors-header .overview { padding: 0 267px; text-align: center; grid-column: 1 / span 2; grid-row: 1; }
	main > .sectors-header .overview p { font-size: 80px; line-height: 1.063; }
	main > .sectors-header .text { padding: 0 0 34px; text-align: right; grid-column: 2; grid-row: 2; align-self: end; }
	main > .sectors-header .text h1 { font-size: 38px; line-height: 0.842; }
	main > .sectors-header .text p { margin: 1.200em 0 0; font-size: 40px; line-height: 1.200; }
	main > .sectors-header .text h1 + p { margin: 0.475em 0 0; }
	main > .sectors-header .explore { padding: 0; align-self: end; }
	main > .sectors-header .explore h2 { margin: 0 1.133em 1.600em; font-size: 30px; line-height: 1.167; }
	main > .sectors-header .explore ul { gap: 12px; }
	main > .sectors-header .explore ul li a.btn { font-size: 22px; }
}

@media only screen and (min-width: 1024px) {
	main > .sectors-header { min-height: calc( 100vh + 5.83vw ); padding: 9.64vw 2.34vw 10.36vw; grid-template-columns: 1fr 37.6vw; gap: 0 23.44vw; }
	main > .sectors-header .overview { padding: 0 13.91vw; }
	main > .sectors-header .overview p { font-size: 4.17vw; }
	main > .sectors-header .text { padding: 0 0 1.77vw; }
	main > .sectors-header .text h1 { font-size: 1.98vw; }
	main > .sectors-header .text p { font-size: 2.08vw; }
	main > .sectors-header .explore h2 { font-size: 1.56vw; }
	main > .sectors-header .explore ul { gap: 0.63vw; }
	main > .sectors-header .explore ul li a.btn { font-size: 1.15vw; }
}

main > .sectors-overview-1 { margin: -62px 4px 0; padding: 22px 12px 12px; background: #FFFFFF; border-radius: 10px; }
main > .sectors-overview-1 .text p { margin: 22px 0 0; font-family: stratos, sans-serif; font-size: 17px; line-height: 22px; }
main > .sectors-overview-1 .text p:first-child { margin: 0; }
main > .sectors-overview-1 .text p strong { font-weight: 600; }
main > .sectors-overview-1 .text p em { font-weight: 500; }
main > .sectors-overview-1 figure { padding: 85px 0 0; }
main > .sectors-overview-1 figure img { border-radius: 10px; }

@media only screen and (min-width: 1024px) {
	main > .sectors-overview-1 { margin: -100px 12px 0; padding: 12px 12px 12px 33px; border-radius: 22px; display: grid; grid-template-columns: 1fr 621px; gap: 0 360px; }
	main > .sectors-overview-1 .text { padding: 30px 0 0; }
	main > .sectors-overview-1 .text p { margin: 1.167em 0 0; font-size: 30px; line-height: 1.167; }
	main > .sectors-overview-1 .text p:first-child { margin: 0; }
	main > .sectors-overview-1 figure { padding: 0; }
	main > .sectors-overview-1 figure img { border-radius: 22px; }
}

@media only screen and (min-width: 1024px) {
	main > .sectors-overview-1 { margin: -5.21vw 0.63vw 0; padding: 0.63vw 0.63vw 0.63vw 1.72vw; border-radius: 1.15vw; grid-template-columns: 1fr 32.34vw; gap: 0 18.75vw; }
	main > .sectors-overview-1 .text { padding: 1.56vw 0 0; }
	main > .sectors-overview-1 .text p { font-size: 1.56vw; }
	main > .sectors-overview-1 figure img { border-radius: 1.15vw; }
}

main > .sectors-overview-2 { margin: 4px 4px 0; padding: 19px 12px 51px; background: #4C331C; border-radius: 10px; }
main > .sectors-header.blue ~ .sectors-overview-2 { color: #6CC2C6; }
main > .sectors-header.orange ~ .sectors-overview-2 { color: #F7BCA3; }
main > .sectors-header.yellow ~ .sectors-overview-2 { color: #FAEB68 }
main > .sectors-header.green ~ .sectors-overview-2 { color: #B7ED8B; }
main > .sectors-overview-2 .text-1 p { margin: 29px 0 0; font-family: stratos, sans-serif; font-size: 29px; line-height: 29px; }
main > .sectors-overview-2 .text-1 p:first-child { margin: 0; }
main > .sectors-overview-2 .text-2 { padding: 120px 0 0; }
main > .sectors-overview-2 .text-2 p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .sectors-overview-2 .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .sectors-overview-2 { margin: 12px 12px 0; padding: 33px 157px 110px 33px; border-radius: 22px; }
	main > .sectors-overview-2 .text-1 { padding: 0 845px 0 0; }
	main > .sectors-overview-2 .text-1 p { margin: 1.066em 0 0; font-size: 61px; line-height: 1.066; }
	main > .sectors-overview-2 .text-1 p:first-child { margin: 0; }
	main > .sectors-overview-2 .text-2 { padding: 270px 0 0 985px; }
	main > .sectors-overview-2 .text-2 p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .sectors-overview-2 .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .sectors-overview-2 { margin: 0.63vw 0.63vw 0; padding: 1.72vw 8.18vw 5.73vw 1.72vw; border-radius: 1.15vw; }
	main > .sectors-overview-2 .text-1 { padding: 0 44.01vw 0 0; }
	main > .sectors-overview-2 .text-1 p { font-size: 3.18vw; }
	main > .sectors-overview-2 .text-2 { padding: 14.06vw 0 0 51.3vw; }
	main > .sectors-overview-2 .text-2 p { font-size: 0.99vw; }
}

main > .sectors-explore { margin: 4px 4px 0; padding: 24px 12px 70px; border-radius: 10px; }
main > .sectors-header.blue ~ .sectors-explore { background: #6CC2C6; }
main > .sectors-header.orange ~ .sectors-explore { background: #F7BCA3; }
main > .sectors-header.yellow ~ .sectors-explore { background: #FAEB68 }
main > .sectors-header.green ~ .sectors-explore { background: #B7ED8B; }
main > .sectors-explore h2 { margin: 0 0 98px; font-family: stratos, sans-serif; font-weight: 800; font-size: 27px; line-height: 22px; text-transform: uppercase; }
main > .sectors-explore ul { display: flex; flex-wrap: wrap; gap: 7px; }
main > .sectors-header.blue ~ .sectors-explore ul li a.btn > span { background: #6CC2C6; }
main > .sectors-header.orange ~ .sectors-explore ul li a.btn > span { background: #F7BCA3; }
main > .sectors-header.yellow ~ .sectors-explore ul li a.btn > span { background: #FAEB68 }
main > .sectors-header.green ~ .sectors-explore ul li a.btn > span { background: #B7ED8B; }

@media only screen and (min-width: 1024px) {
	main > .sectors-explore { margin: 12px 12px 0; padding: 44px 33px 38px; border-radius: 22px; }
	main > .sectors-explore h2 { width: 50%; margin: 0 0 4.196em; font-size: 102px; line-height: 0.843; text-wrap: balance; }
	main > .sectors-explore ul { flex-wrap: wrap; gap: 21px; }
	main > .sectors-explore ul li a.btn { font-size: 39px; }
}

@media only screen and (min-width: 1024px) {
	main > .sectors-explore { margin: 0.63vw 0.63vw 0; padding: 2.29vw 1.72vw 1.98vw; border-radius: 1.15vw; }
	main > .sectors-explore h2 { font-size: 5.31vw; }
	main > .sectors-explore ul { gap: 1.09vw; }
	main > .sectors-explore ul li a.btn { font-size: 2.03vw; }
}

main > .client-logos { padding: 100px 0 68px; }
main > .client-logos header { padding: 0 16px; }
main > .client-logos header h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; line-height: 26px; text-wrap: balance; }
main > .client-logos header p { margin: 23px 0 0; font-family: stratos, sans-serif; font-size: 18px; line-height: 25px; }
main > .client-logos .logos .logo { padding: 34px 6px 0 0; }
main > .client-logos .logos .logo .wrap { width: 190px; height: 112px; background: #FFFFFF; border-radius: 10px; text-align: center; display: flex; justify-content: center; align-items: center; }
main > .client-logos .logos .logo .wrap img { width: 104px; height: 36px; object-fit: contain; }

@media only screen and (min-width: 1024px) {
	main > .client-logos { padding: 194px 0 160px; }
	main > .client-logos header { padding: 0 45px; }
	main > .client-logos header h2 { font-size: 55px; line-height: 1.091; }
	main > .client-logos header p { margin: 1.000em 0 0; font-size: 30px; line-height: 1.167; }
	main > .client-logos .logos .logo { padding: 106px 10px 0 0; }
	main > .client-logos .logos .logo .wrap { width: 348px; height: 205px; border-radius: 10px; }
	main > .client-logos .logos .logo .wrap img { width: 168px; height: 66px; }
}

@media only screen and (min-width: 1024px) {
	main > .client-logos { padding: 10.1vw 0 8.33vw; }
	main > .client-logos header { padding: 0 2.34vw; }
	main > .client-logos header h2 { font-size: 2.86vw; }
	main > .client-logos header p { font-size: 1.56vw; }
	main > .client-logos .logos .logo { padding: 5.52vw 0.52vw 0 0; }
	main > .client-logos .logos .logo .wrap { width: 18.13vw; height: 10.68vw; border-radius: 0.52vw; }
	main > .client-logos .logos .logo .wrap img { width: 8.75vw; height: 3.44vw; }
}

main > .client-quotes header { padding: 76px 0 0; text-align: center; }
main > .client-quotes header h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; line-height: 26px; }
main > .client-quotes .quotes .quote { width: calc( 100vw - 32px + 2px + 2px ); padding: 82px 2px 0; }
main > .client-quotes .quotes .quote blockquote { height: 356px; padding: 20px 16px 32px; background: #FFFFFF; border-radius: 10px; text-align: center; display: flex; flex-direction: column; justify-content: space-between; transition: color 0.4s ease, background-color 0.4s ease; }
main > .client-quotes .quotes .quote.blue.slick-active blockquote { background: #6CC2C6; }
main > .client-quotes .quotes .quote.orange.slick-active blockquote { background: #F7BCA3; }
main > .client-quotes .quotes .quote.yellow.slick-active blockquote { background: #FAEB68 }
main > .client-quotes .quotes .quote.green.slick-active blockquote { background: #B7ED8B; }
main > .client-quotes .quotes .quote blockquote q { font-family: stratos, sans-serif; font-size: 16px; line-height: 19px; }
main > .client-quotes .quotes .quote blockquote cite strong { font-weight: 400; font-size: 16px; line-height: 22px; display: block; }
main > .client-quotes .quotes .quote blockquote cite span { padding: 2px 0 0; font-family: stratos, sans-serif; font-weight: 400; font-size: 13px; line-height: 16px; display: block; }
main > .client-quotes .quotes .slick-arrow { width: 42px; height: 13px; position: absolute; top: 28px; background: none; border: 0; -webkit-appearance: none; appearance: none; z-index: 50; }
main > .client-quotes .quotes .slick-arrow::before { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url(images/arrow-brown.svg) no-repeat 50% 50% / contain; content: " "; display: block; }
main > .client-quotes .quotes .slick-prev { left: 19px; transform: rotate(180deg); }
main > .client-quotes .quotes .slick-next { right: 19px; }

@media only screen and (min-width: 1024px) {
	main > .client-quotes header { padding: 289px 45px 0; text-align: left; }
	main > .client-quotes header h2 { font-size: 55px; line-height: 1.091; }
	main > .client-quotes .quotes .slick-track { display: flex !important; }
	main > .client-quotes .quotes .quote { width: 1593px; padding: 70px 6px; }
	main > .client-quotes .quotes .quote blockquote { height: 693px; padding: 36px 244px 63px; border-radius: 10px; }
	main > .client-quotes .quotes .quote blockquote q { font-size: 35px; line-height: 1.114; text-wrap: balance; }
	main > .client-quotes .quotes .quote blockquote cite strong { font-size: 31px; line-height: 1.387; }
	main > .client-quotes .quotes .quote blockquote cite span { padding: 0.080em 0 0; font-size: 25px; line-height: 1.280; }
	main > .client-quotes .quotes .slick-arrow { width: 98px; height: 29px; top: calc( 50% - 15px ); }
	main > .client-quotes .quotes .slick-prev { left: 122px; }
	main > .client-quotes .quotes .slick-next { right: 122px; }
}

@media only screen and (min-width: 1024px) {
	main > .client-quotes header { padding: 15.05vw 2.34vw 0; }
	main > .client-quotes header h2 { font-size: 2.86vw; }
	main > .client-quotes .quotes .quote { width: 82.969vw; padding: 3.65vw 0.31vw; }
	main > .client-quotes .quotes .quote blockquote { height: 36.09vw; padding: 1.88vw 12.71vw 3.28vw; border-radius: 0.52vw; }
	main > .client-quotes .quotes .quote blockquote q { font-size: 1.82vw; }
	main > .client-quotes .quotes .quote blockquote cite strong { font-size: 1.61vw; }
	main > .client-quotes .quotes .quote blockquote cite span { font-size: 1.3vw; }
	main > .client-quotes .quotes .slick-arrow { width: 5.1vw; height: 1.51vw; top: calc( 50% - 0.78vw ); }
	main > .client-quotes .quotes .slick-prev { left: 6.35vw; }
	main > .client-quotes .quotes .slick-next { right: 6.35vw; }
}

main > .standards { padding: 70px 16px 0; }
main > .standards header h2 { font-family: stratos, sans-serif; font-size: 29px; line-height: 32px; }
main > .standards header p { margin: 38px 0 0; font-size: 24px; line-height: 29px; }
main > .standards table { width: 100%; margin: 82px 0 0; font-size: 16px; line-height: 20px; }
main > .standards table tr { border-top: 1px solid #4B331C; }
main > .standards table tr th { padding: 11px 0 0; font-weight: 400; font-variation-settings: "opsz" 500, "wght" 400; }
main > .standards table tr td { padding: 20px 0 38px; font-family: stratos, sans-serif; }

@media only screen and (max-width: 1023px) {
	main > .standards table tr th,
	main > .standards table tr td { display: block; }
}

@media only screen and (min-width: 1024px) {
	main > .standards { padding: 135px 45px 126px; }
	main > .standards header { padding: 0 247px 0 0; display: grid; grid-template-columns: 1fr 845px; gap: 280px; }
	main > .standards header h2 { font-size: 55px; line-height: 1; }
	main > .standards header p { margin: 0; font-size: 35px; line-height: 1.286; }
	main > .standards table { margin: 8.182em 0 0; font-size: 22px; line-height: 1.318; }
	main > .standards table tr { border-top-width: 0.045em; }
	main > .standards table tr th { width: 33.545em; }
	main > .standards table tr th,
	main > .standards table tr td { padding: 0.682em 0 0.909em; }
}

@media only screen and (min-width: 1024px) {
	main > .standards { padding: 7.03vw 2.34vw 6.56vw; }
	main > .standards header { padding: 0 12.86vw 0 0; grid-template-columns: 1fr 44.01vw; gap: 14.58vw; }
	main > .standards header h2 { font-size: 2.86vw; }
	main > .standards header p { font-size: 1.82vw; }
	main > .standards table { font-size: 1.15vw; }
}

main > .institutions { margin: 4px 4px 0; padding: 43px 12px 79px; background: #FFFFFF; border-radius: 10px; }
main > .institutions.blue { background: #6CC2C6; }
main > .institutions.orange { background: #F7BCA3; }
main > .institutions.yellow { background: #FAEB68 }
main > .institutions.green { background: #B7ED8B; }
main > .institutions h2 { font-size: 24px; line-height: 29px; }
main > .institutions ul { margin: 51px 0 0; font-family: stratos, sans-serif; font-size: 16px; line-height: 23px; display: flex; flex-direction: column; gap: 23px; }
main > .institutions ul li { padding: 0 0 0 55px; position: relative; display: block; }
main > .institutions ul li::before { position: absolute; top: 0; left: 0; content: "—"; display: block; }

@media only screen and (min-width: 1024px) {
	main > .institutions { margin: 12px 12px 0; padding: 148px 460px 188px 156px; border-radius: 22px; display: grid; grid-template-columns: 1fr 664px; gap: 0 140px; }
	main > .institutions h2 { font-size: 35px; line-height: 1.286; }
	main > .institutions ul { margin: 0; font-size: 21px; line-height: 1.333; gap: 1.333em; }
	main > .institutions ul li { padding: 0 0 0 2.619em; }
}

@media only screen and (min-width: 1024px) {
	main > .institutions { margin: 0.63vw 0.63vw 0; padding: 7.71vw 23.96vw 9.79vw 8.13vw; border-radius: 1.15vw; grid-template-columns: 1fr 34.58vw; gap: 0 7.29vw; }
	main > .institutions h2 { font-size: 1.82vw; }
	main > .institutions ul { font-size: 1.09vw; }
}

main > .sector-header { min-height: 100vh; min-height: 100svh; padding: 242px 16px 52px; color: #FFFFFF; background: #4C331C; display: flex; flex-direction: column; }
main > .sector-header h1 { font-family: stratos, sans-serif; font-weight: 800; font-size: 23px; line-height: 19px; text-transform: uppercase; }
main > .sector-header > p { margin: 38px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 32px; line-height: 36px; }
main > .sector-header .text { margin: auto 0 0; }
main > .sector-header .text p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .sector-header .text p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .sector-header { padding: 208px 532px 206px; }
	main > .sector-header::before { width: 1px; height: 100%; background: #F1EFE8; position: absolute; top: 0; left: 521px; content: " "; display: block; }
	main > .sector-header h1 { padding: 0 6px; font-size: 38px; line-height: 0.842; }
	main > .sector-header > p { margin: 0.450em 0 0; font-size: 80px; line-height: 1.063; text-wrap: balance; }
	main > .sector-header .text { padding: 0 6px; }
	main > .sector-header .text p { margin: 1.200em 0 0; font-size: 40px; line-height: 1.200; }
	main > .sector-header .text p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .sector-header { padding: 10.83vw 27.71vw 10.73vw; }
	main > .sector-header::before { width: 0.05vw; left: 27.14vw; }
	main > .sector-header h1 { padding: 0 0.31vw; font-size: 1.98vw; }
	main > .sector-header > p { font-size: 4.17vw; }
	main > .sector-header .text { padding: 0 0.31vw; }
	main > .sector-header .text p { font-size: 2.08vw; }
}

main > .sector-overview { margin: 4px 4px 0; padding: 0 0 62px; background: #FFFFFF; border-radius: 10px; }
main > .sector-overview .text-1 { padding: 32px 12px 0; }
main > .sector-overview .text-1 p { margin: 26px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; line-height: 26px; }
main > .sector-overview .text-1 p:first-child { margin: 0; }
main > .sector-overview .text-2 { padding: 35px 12px 38px; }
main > .sector-overview .text-2 p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .sector-overview .text-2 p:first-child { margin: 0; }
main > .sector-overview .text-3 { padding: 31px 12px 0; border: 1px solid #4C331C; border-width: 1px 0 0; }
main > .sector-overview .text-3 h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; line-height: 26px; text-wrap: balance; }
main > .sector-overview .text-3 .text { padding: 32px 0 0; }
main > .sector-overview .text-3 .text p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .sector-overview .text-3 .text p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .sector-overview { margin: 12px 12px 0; padding: 0 0 284px; border-radius: 22px; }
	main > .sector-overview .text-1 { padding: 33px 402px 0 33px; }
	main > .sector-overview .text-1 p { margin: 1.066em 0 0; font-size: 61px; line-height: 1.066; }
	main > .sector-overview .text-1 p:first-child { margin: 0; }
	main > .sector-overview .text-2 { padding: 265px 280px 177px 1018px; }
	main > .sector-overview .text-2 p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .sector-overview .text-2 p:first-child { margin: 0; }
	main > .sector-overview .text-3 { padding: 44px 280px 0 33px; border-width: 1px 0 0; display: grid; grid-template-columns: 1fr 599px; gap: 262px; }
	main > .sector-overview .text-3 h2 { font-size: 55px; line-height: 1; }
	main > .sector-overview .text-3 .text { padding: 0; }
	main > .sector-overview .text-3 .text p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .sector-overview .text-3 .text p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .sector-overview { margin: 0.63vw 0.63vw 0; padding: 0 0 14.79vw; border-radius: 1.15vw; }
	main > .sector-overview .text-1 { padding: 1.72vw 20.94vw 0 1.72vw; }
	main > .sector-overview .text-1 p { font-size: 3.18vw; }
	main > .sector-overview .text-2 { padding: 13.8vw 14.58vw 9.22vw 53.02vw; }
	main > .sector-overview .text-2 p { font-size: 0.99vw; }
	main > .sector-overview .text-3 { padding: 2.29vw 14.58vw 0 1.72vw; border-width: 0.05vw 0 0; grid-template-columns: 1fr 31.2vw; gap: 13.65vw; }
	main > .sector-overview .text-3 h2 { font-size: 2.86vw; }
	main > .sector-overview .text-3 .text p { font-size: 0.99vw; }
}

main > .sector-disciplines { margin: 4px 4px 0; padding: 25px 12px 63px; background: var(--highlight); border-radius: 10px; }
main > .sector-disciplines .header h2 { font-family: stratos, sans-serif; font-weight: 800; font-size: 27px; line-height: 22px; text-transform: uppercase; }
main > .sector-disciplines .header p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .sector-disciplines .header h2 + p { margin: 42px 0 0; }
main > .sector-disciplines .list { padding: 63px 0 0; }
main > .sector-disciplines .list h3 { margin: 54px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 13px; line-height: 19px; }
main > .sector-disciplines .list h3:first-child { margin: 0; }
main > .sector-disciplines .list p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .sector-disciplines .list h3 + p { margin: 14px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .sector-disciplines { margin: 12px 12px 0; padding: 144px 280px 151px 33px; border-radius: 22px; display: flex; justify-content: space-between; }
	main > .sector-disciplines::before { width: 1px; height: 100%; background: #4C331C; position: absolute; top: 0; left: 878px; content: " "; display: block; }
	main > .sector-disciplines .header { width: 722px; }
	main > .sector-disciplines .header h2 { font-size: 38px; line-height: 0.842; text-wrap: balance; }
	main > .sector-disciplines .header p { margin: 1.196em 0 0; font-size: 46px; line-height: 1.196; }
	main > .sector-disciplines .header h2 + p { margin: 1.130em 0 0; }
	main > .sector-disciplines .list { width: 476px; padding: 0; }
	main > .sector-disciplines .list h3 { margin: 2.947em 0 0; font-size: 19px; line-height: 1.316; }
	main > .sector-disciplines .list h3:first-child { margin: 0; }
	main > .sector-disciplines .list p { margin: 1.316em 0 0; font-size: 19px; line-height: 1.316; }
	main > .sector-disciplines .list h3 + p { margin: 0.895em 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .sector-disciplines { margin: 0.63vw 0.63vw 0; padding: 7.5vw 14.58vw 7.86vw 1.72vw; border-radius: 1.15vw; }
	main > .sector-disciplines::before { width: 0.05vw; left: 45.73vw; }
	main > .sector-disciplines .header { width: 37.6vw; }
	main > .sector-disciplines .header h2 { font-size: 1.98vw; }
	main > .sector-disciplines .header p { font-size: 2.4vw; }
	main > .sector-disciplines .list { width: 24.79vw; }
	main > .sector-disciplines .list h3 { font-size: 0.99vw; }
	main > .sector-disciplines .list p { font-size: 0.99vw; }
}

main > .services-header { padding: 4px 4px 0; }
main > .services-header header { padding: 110px 12px 38px; color: #FFFFFF; background: #4C331C; border-radius: 10px; }
main > .services-header header h1 { font-family: stratos, sans-serif; font-weight: 800; font-size: 23px; line-height: 19px; text-transform: uppercase; }
main > .services-header header p { margin: 84px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 29px; line-height: 35px; }
main > .services-header .text { margin: 4px 0 0; padding: 16px 12px 12px; background: #FFFFFF; border-radius: 10px; }
main > .services-header .text p { margin: 20px 0 0; font-size: 17px; line-height: 20px; }
main > .services-header .text p:first-child { margin: 0; }
main > .services-header .text ul { margin: 52px 0 0; }
main > .services-header figure { margin: 4px 0 0; }
main > .services-header figure img { height: 267px; border-radius: 10px; object-fit: cover; }

@media only screen and (min-width: 1024px) {
	main > .services-header { padding: 12px 12px 0; display: grid; grid-template-columns: 1129px 1fr; grid-template-rows: 629px 1fr; gap: 12px; }
	main > .services-header header { padding: 142px 35px 40px; border-radius: 22px; display: flex; flex-direction: column; justify-content: space-between; grid-column: 1; grid-row: 1; }
	main > .services-header header h1 { font-size: 38px; line-height: 0.842; }
	main > .services-header header p { margin: 0; font-size: 80px; line-height: 1.063; }
	main > .services-header .text { margin: 0; padding: 25px 35px 31px; border-radius: 22px; display: flex; flex-direction: column; grid-column: 1; grid-row: 2; }
	main > .services-header .text p { margin: 1.206em 0 0; font-size: 34px; line-height: 1.206; }
	main > .services-header .text p:first-child { margin: 0; }
	main > .services-header .text ul { margin: auto 0 0; }
	main > .services-header figure { margin: 0; grid-column: 2; grid-row: 1 / span 2; }
	main > .services-header figure img { height: 1056px; border-radius: 22px; }
}

@media only screen and (min-width: 1024px) {
	main > .services-header { padding: 0.63vw 0.63vw 0; grid-template-columns: 58.8vw 1fr; grid-template-rows: 32.76vw 1fr; gap: 0.63vw; }
	main > .services-header header { padding: 7.4vw 1.82vw 2.08vw; border-radius: 1.15vw; }
	main > .services-header header h1 { font-size: 1.98vw; }
	main > .services-header header p { font-size: 4.17vw; }
	main > .services-header .text { padding: 1.3vw 1.82vw 1.61vw; border-radius: 1.15vw; }
	main > .services-header .text p { font-size: 1.77vw; }
	main > .services-header figure img { height: 55vw; border-radius: 1.15vw; }
}

main > .services-overview { margin: 4px 4px 0; padding: 18px 12px 64px; border-radius: 10px; }
main > .services-header.blue ~ .services-overview { background: #6CC2C6; }
main > .services-header.orange ~ .services-overview { background: #F7BCA3; }
main > .services-header.yellow ~ .services-overview { background: #FAEB68 }
main > .services-header.green ~ .services-overview { background: #B7ED8B; }
main > .services-overview .text-1 p { margin: 26px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; line-height: 26px; }
main > .services-overview .text-1 p:first-child { margin: 0; }
main > .services-overview .text-2 { padding: 91px 0 0; }
main > .services-overview .text-2 p { margin: 19px 0 0; font-family: stratos, sans-serif; font-size: 13px; line-height: 19px; }
main > .services-overview .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .services-overview { margin: 12px 12px 0; padding: 38px 157px 119px 33px; border-radius: 22px; }
	main > .services-overview .text-1 { padding: 0 295px 0 0; }
	main > .services-overview .text-1 p { margin: 1.066em 0 0; font-size: 61px; line-height: 1.066; }
	main > .services-overview .text-1 p:first-child { margin: 0; }
	main > .services-overview .text-2 { padding: 378px 0 0 984px; }
	main > .services-overview .text-2 p { margin: 1.167em 0 0; font-size: 30px; line-height: 1.167; }
	main > .services-overview .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .services-overview { margin: 0.63vw 0.63vw 0; padding: 1.98vw 8.18vw 6.2vw 1.72vw; border-radius: 1.15vw; }
	main > .services-overview .text-1 { padding: 0 15.36vw 0 0; }
	main > .services-overview .text-1 p { font-size: 3.18vw; }
	main > .services-overview .text-2 { padding: 19.69vw 0 0 51.25vw; }
	main > .services-overview .text-2 p { font-size: 1.56vw; }
}

main > .services-offering { padding: 72px 16px 88px; }
main > .services-offering h2 { font-family: stratos, sans-serif; font-weight: 800; font-size: 23px; line-height: 19px; text-transform: uppercase; }
main > .services-offering p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .services-offering h2 + p { margin: 39px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .services-offering { padding: 372px 292px 239px 660px; }
	main > .services-offering::before { width: 1px; height: 100%; background: #4C331C; position: absolute; top: 0; left: 644px; content: " "; display: block; }
	main > .services-offering h2 { font-size: 38px; line-height: 0.842em; }
	main > .services-offering p { margin: 1.196em 0 0; font-size: 46px; line-height: 1.196; }
	main > .services-offering h2 + p { margin: 1.130em 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .services-offering { padding: 19.38vw 15.21vw 12.45vw 34.38vw; }
	main > .services-offering::before { width: 0.05vw; left: 33.54vw; }
	main > .services-offering h2 { font-size: 1.98vw; }
	main > .services-offering p { font-size: 2.4vw; }
}

main > .languages-header { padding: 137px 16px 78px; }
main > .languages-header figure { padding: 0 0 47px; text-align: center; }
main > .languages-header figure img { width: auto; height: 93px; }
main > .languages-header h1 { font-family: stratos, sans-serif; font-weight: 500; font-size: 45px; line-height: 40px; text-align: center; }
main > .languages-header .text-1 { padding: 64px 0 0; }
main > .languages-header .text-1 p { margin: 21px 0 0; font-size: 18px; line-height: 21px; }
main > .languages-header .text-1 p:first-child { margin: 0; }
main > .languages-header .text-1 p strong { font-family: stratos, sans-serif; font-weight: 400; }
main > .languages-header .text-1 ul { margin: 52px 0 0; }
main > .languages-header .text-1 ul li a.btn > span { background: #F1EFE8; }
main > .languages-header .text-2 { padding: 82px 0 0; }
main > .languages-header .text-2 p { font-family: stratos, sans-serif; margin: 23px 0 0; font-size: 20px; line-height: 23px; }
main > .languages-header .text-2 p:first-child { margin: 0; }
main > .languages-header .text-3 { padding: 25px 0 0; }
main > .languages-header .text-3 p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .languages-header .text-3 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .languages-header { padding: 215px 0 214px; display: grid; grid-template-columns: 906px 1fr; }
	main > .languages-header figure { padding: 112px 0 0 244px; text-align: left; grid-column: 1; grid-row: 2; }
	main > .languages-header figure img { height: 288px; }
	main > .languages-header h1 { font-size: 280px; line-height: 1; grid-column: 1 / span 2; grid-row: 1; }
	main > .languages-header .text-1 { padding: 104px 292px 0 0; grid-column: 2; grid-row: 2; }
	main > .languages-header .text-1 p { margin: 1.206em 0 0; font-size: 34px; line-height: 1.206; }
	main > .languages-header .text-1 p:first-child { margin: 0; }
	main > .languages-header .text-1 ul { margin: 98px 0 0; }
	main > .languages-header .text-2 { padding: 224px 118px 0 66px; grid-column: 1; grid-row: 3; }
	main > .languages-header .text-2 p { margin: 1.167em 0 0; font-size: 30px; line-height: 1.167; }
	main > .languages-header .text-2 p:first-child { margin: 0; }
	main > .languages-header .text-3 { padding: 236px 292px 0 0; }
	main > .languages-header .text-3 p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .languages-header .text-3 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .languages-header { padding: 11.2vw 0 11.15vw; grid-template-columns: 47.19vw 1fr; }
	main > .languages-header figure { padding: 5.83vw 0 0 12.71vw; }
	main > .languages-header figure img { height: 15vw; }
	main > .languages-header h1 { font-size: 14.58vw; }
	main > .languages-header .text-1 { padding: 5.42vw 15.21vw 0 0;  }
	main > .languages-header .text-1 p { font-size: 1.77vw; }
	main > .languages-header .text-1 ul { margin: 5.1vw 0 0; }
	main > .languages-header .text-2 { padding: 11.67vw 6.15vw 0 3.44vw; }
	main > .languages-header .text-2 p { font-size: 1.56vw; }
	main > .languages-header .text-3 { padding: 12.29vw 15.21vw 0 0; }
	main > .languages-header .text-3 p { font-size: 0.99vw; }
}

main > .languages .nav { padding: 0 0 20px; overflow: auto; }
main > .languages .nav ul { display: flex; gap: 1px; white-space: nowrap; }
main > .languages .nav ul li a { width: 47px; height: 44px; font-family: stratos, sans-serif; font-weight: 800; font-size: 24px; background: #FFFFFF; border-radius: 10px; text-align: center; display: inline-flex; justify-content: center; align-items: center; }
main > .languages .nav ul li.on a { color: #FFFFFF; background: #4C331C; }
main > .languages .panels { margin: 0 4px; padding: 32px 0 10px; border: 1px solid #4C331C; border-width: 1px 0 0; }
main > .languages .panels .panel .box { padding: 38px 12px 62px; background: #FFFFFF; border-radius: 10px; }
main > .languages .panels .panel + .panel { display: none; }
main > .languages .panels .panel h2 { margin: 0 0 18px; font-family: stratos, sans-serif; font-weight: 800; font-size: 70px; }
main > .languages .panels .panel ul li a { padding: 18px 0 12px; border: 1px solid #4C331C; border-width: 1px 0 0; display: grid; grid-template-columns: 1fr auto; gap: 10px; }
main > .languages .panels .panel ul li:first-child a { border-width: 0; }
main > .languages .panels .panel ul li a h3 { font-family: stratos, sans-serif; font-size: 19px; line-height: 22px; }

@media only screen and (min-width: 1024px) {
	main > .languages { padding: 0 12px; }
	main > .languages .nav { padding: 0 0 35px; overflow: visible; }
	main > .languages .nav ul { display: grid; grid-template-columns: repeat(26, 1fr); gap: 1px; }
	main > .languages .nav ul li a { width: auto; height: 1.700em; font-size: 40px; border-radius: 0.250em; display: flex; }
	main > .languages .panels { margin: 0; padding: 35px 0 12px; border-width: 1px 0 0; }
	main > .languages .panels .panel .box { padding: 86px 42px 88px 33px; border-radius: 22px; display: grid; grid-template-columns: 1fr 1256px; gap: 131px; }
	main > .languages .panels .panel h2 { margin: 0; font-size: 283px; text-align: center; }
	main > .languages .panels .panel ul li a { padding: 24px 0 28px; border-width: 1px 0 0; gap: 20px; }
	main > .languages .panels .panel ul li:first-child a { border-width: 0; }
	main > .languages .panels .panel ul li a h3 { font-size: 38px; line-height: 1; }
}

@media only screen and (min-width: 1024px) {
	main > .languages { padding: 0 0.63vw; }
	main > .languages .nav { padding: 0 0 1.82vw; }
	main > .languages .nav ul { gap: 0.05vw; }
	main > .languages .nav ul li a { font-size: 2.08vw; }
	main > .languages .panels { padding: 1.82vw 0 0.63vw; border-width: 0.05vw 0 0; }
	main > .languages .panels .panel .box { padding: 4.48vw 2.19vw 4.58vw 1.72vw; border-radius: 1.15vw; grid-template-columns: 1fr 65.42vw; gap: 6.82vw; }
	main > .languages .panels .panel h2 { font-size: 14.74vw; }
	main > .languages .panels .panel ul li a { padding: 1.25vw 0 1.46vw; border-width: 0.05vw 0 0; gap: 1.04vw; }
	main > .languages .panels .panel ul li:first-child a { border-width: 0; }
	main > .languages .panels .panel ul li a h3 { font-size: 1.98vw; }
}

main > .language-details { padding: 118px 4px 71px; color: var(--highlight); background: #4C331C; }
main > .language-details h1 { padding: 0 12px; font-family: stratos, sans-serif; font-weight: 800; font-size: 42px; line-height: 36px; text-transform: uppercase; }
main > .language-details .text { padding: 54px 12px 50px; border: 1px solid var(--highlight); border-width: 0; }
main > .language-details .text p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .language-details .text p:first-child { margin: 0; }
main > .language-details .text ul { margin: 60px 0 0; }
main > .language-details .text ul li a.btn > span { color: var(--highlight); background: #4C331C; border-color: var(--highlight); }
main > .language-details .text ul li a.btn svg g { stroke: var(--highlight); }
main > .language-details .text ul li a.btn::before { background: var(--highlight); }
main > .language-details .info { padding: 66px 12px 0; border: 1px solid var(--highlight); border-width: 1px 0 0; }
main > .language-details .info ul { font-size: 13px; line-height: 17px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto auto; gap: 17px; }
main > .language-details .info ul li h2 { font-family: stratos, sans-serif; font-weight: 500; }
main > .language-details .info ul li:nth-of-type(1),
main > .language-details .info ul li:nth-of-type(2),
main > .language-details .info ul li:nth-of-type(3),
main > .language-details .info ul li:nth-of-type(4) { grid-column: 1; }
main > .language-details .info ul li:nth-of-type(5) { grid-column: 2; grid-row: 1; }
main > .language-details .info ul li:nth-of-type(6) { grid-column: 2; grid-row: 2; }
main > .language-details .info ul li:nth-of-type(7) { grid-column: 2; grid-row: 3; }

@media only screen and (min-width: 1024px) {
	main > .language-details { padding: 252px 45px 0px; display: grid; grid-template-columns: 1092px 1fr; gap: 80px 0; }
	main > .language-details h1 { padding: 0 0.735em 0 0; font-size: 136px; line-height: 0.838; grid-column: span 2; }
	main > .language-details .text { padding: 80px 244px 80px 0; border-width: 1px 0 0; }
	main > .language-details .text p { margin: 1.200em 0 0; font-size: 40px; line-height: 1.200; }
	main > .language-details .text p:first-child { margin: 0; }
	main > .language-details .text ul { margin: 60px 0 0; }
	main > .language-details .info { padding: 60px 15px; border-width: 1px 0 0 1px; }
	main > .language-details .info ul { font-size: 22px; line-height: 1.318; gap: 1.318em; }
	main > .language-details .info ul li:nth-of-type(6) { grid-row: 2 / span 2; }
}

@media only screen and (min-width: 1024px) {
	main > .language-details { padding: 13.13vw 2.34vw 0px; grid-template-columns: 56.88vw 1fr; gap: 4.17vw 0; }
	main > .language-details h1 { font-size: 7.08vw; }
	main > .language-details .text { padding: 4.17vw 12.71vw 4.17vw 0; border-width: 0.05vw 0 0; }
	main > .language-details .text p { font-size: 2.08vw; }
	main > .language-details .text ul { margin: 3.13vw 0 0; }
	main > .language-details .info { padding: 3.13vw 0.78vw; border-width: 0.05vw 0 0 0.05vw; }
	main > .language-details .info ul { font-size: 1.15vw; }
}

main > .language-overview { margin: 4px 4px 0; padding: 45px 12px 66px; background: #FFFFFF; border-radius: 10px; }
main > .language-overview h2 { font-family: stratos, sans-serif; font-size: 16px; line-height: 17px; }
main > .language-overview figure { display: none; }
main > .language-overview .text-1 { padding: 22px 0 0; }
main > .language-overview .text-1 p { margin: 25px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 18px; line-height: 25px; }
main > .language-overview .text-1 p:first-child { margin: 0; }
main > .language-overview .text-2 { padding: 35px 0 0; }
main > .language-overview .text-2 p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .language-overview .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .language-overview { margin: 12px 12px 0; padding: 30px 159px 134px 33px; border-radius: 22px; display: grid; grid-template-columns: 1fr 1089px; }
	main > .language-overview h2 { font-size: 29px; line-height: 1; grid-column: span 2; }
	main > .language-overview figure { padding: 216px 0 0 122px; display: block; grid-column: 1; grid-row: 2 / span 2; }
	main > .language-overview figure img { width: 278px; height: auto; }
	main > .language-overview .text-1 { padding: 162px 0 0; grid-column: 2; grid-row: 2; }
	main > .language-overview .text-1 p { margin: 1.222em 0 0; font-size: 45px; line-height: 1.222; }
	main > .language-overview .text-1 p:first-child { margin: 0; }
	main > .language-overview .text-2 { padding: 170px 367px 0 0; grid-column: 2; grid-row: 3; }
	main > .language-overview .text-2 p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .language-overview .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .language-overview { margin: 0.63vw 0.63vw 0; padding: 1.56vw 8.28vw 6.98vw 1.72vw; border-radius: 1.15vw; grid-template-columns: 1fr 56.72vw; }
	main > .language-overview h2 { font-size: 1.51vw; }
	main > .language-overview figure { padding: 11.25vw 0 0 6.35vw; }
	main > .language-overview figure img { width: 14.48vw; }
	main > .language-overview .text-1 { padding: 8.44vw 0 0; }
	main > .language-overview .text-1 p { font-size: 2.34vw; }
	main > .language-overview .text-2 { padding: 8.85vw 19.11vw 0 0; }
	main > .language-overview .text-2 p { font-size: 0.99vw; }
}

main > .language-services { margin: 4px 4px 0; padding: 19px 12px 65px; background: var(--highlight); border-radius: 10px; }
main > .language-services h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 29px; line-height: 1; text-wrap: balance; }
main > .language-services p { margin: 74px 0 0; font-size: 17px; line-height: 20px; }

@media only screen and (min-width: 1024px) {
	main > .language-services { margin: 12px 12px 0; padding: 38px 33px 86px; border-radius: 22px; }
	main > .language-services h2 { width: 50%; font-size: 80px; line-height: 1.063; }
	main > .language-services p { margin: 10.450em 0 0; font-size: 40px; line-height: 1.125; text-align: right; }
}

@media only screen and (min-width: 1024px) {
	main > .language-services { margin: 0.63vw 0.63vw 0; padding: 1.98vw 1.72vw 4.48vw; border-radius: 1.15vw; }
	main > .language-services h2 { font-size: 4.17vw; }
	main > .language-services p { font-size: 2.08vw; }
}

main > .language-fact { margin: 4px 4px 0; padding: 19px 12px 62px; color: var(--highlight); background: #4C331C; border-radius: 10px; text-align: center; }
main > .language-fact h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 29px; line-height: 1; text-wrap: balance; }
main > .language-fact p { margin: 130px 0 0; font-size: 24px; line-height: 29px; }

@media only screen and (min-width: 1024px) {
	main > .language-fact { margin: 12px 12px 0; padding: 56px 300px 82px; border-radius: 22px; }
	main > .language-fact h2 { font-size: 80px; line-height: 1.063; }
	main > .language-fact p { margin: 11.385em 0 0; font-size: 39px; line-height: 1.231; text-wrap: balance; }
}

@media only screen and (min-width: 1024px) {
	main > .language-fact { margin: 0.63vw 0.63vw 0; padding: 2.92vw 15.63vw 4.27vw; border-radius: 1.15vw; }
	main > .language-fact h2 { font-size: 4.17vw; }
	main > .language-fact p { font-size: 2.03vw; }
}

main  > .text-overview { padding: 120px 16px 58px; }
main  > .text-overview h1 { font-family: stratos, sans-serif; font-weight: 800; font-size: 23px; line-height: 19px; text-transform: uppercase; }
main  > .text-overview .text-1 { padding: 70px 0 0; }
main  > .text-overview .text-1 p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main  > .text-overview .text-1 p:first-child { margin: 0; }
main  > .text-overview .text-2 { padding: 56px 0 0; }
main  > .text-overview .text-2 p { margin: 19px 0 0; font-family: stratos, sans-serif; font-size: 13px; line-height: 19px; }
main  > .text-overview .text-2 p:first-child { margin: 0; }
main  > .text-overview .text-2 h3 { margin: 44px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 13px; line-height: 19px; }
main  > .text-overview .text-2 ul { margin: 18px 0 0; }
main  > .text-overview .text-2 ul li a.btn > span { background: var(--background); }

@media only screen and (min-width: 1024px) {
	main  > .text-overview { padding: 209px 45px 178px; }
	main  > .text-overview h1 { max-width: 500px; margin: 0 auto; font-size: 38px; line-height: 0.842; text-align: center; text-wrap: balance; }
	main  > .text-overview .text-1 { padding: 236px 247px 0 0; }
	main  > .text-overview .text-1 p { margin: 1.196em 0 0; font-size: 46px; line-height: 1.196; }
	main  > .text-overview .text-1 p:first-child { margin: 0; }
	main  > .text-overview .text-2 { padding: 108px 247px 0 984px; }
	main  > .text-overview .text-2 p { margin: 1.227em 0 0; font-size: 22px; line-height: 1.227; }
	main  > .text-overview .text-2 p:first-child { margin: 0; }
	main  > .text-overview .text-2 h3 { margin: 1.909em 0 0; font-size: 22px; line-height: 1.227; }
	main  > .text-overview .text-2 ul { margin: 30px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main  > .text-overview { padding: 10.89vw 2.34vw 9.27vw; }
	main  > .text-overview h1 { max-width: 26.04vw; font-size: 1.98vw; }
	main  > .text-overview .text-1 { padding: 12.29vw 12.86vw 0 0; }
	main  > .text-overview .text-1 p { font-size: 2.4vw; }
	main  > .text-overview .text-2 { padding: 5.63vw 12.86vw 0 51.25vw; }
	main  > .text-overview .text-2 p { font-size: 1.15vw; }
	main  > .text-overview .text-2 h3 { font-size: 1.15vw; }
	main  > .text-overview .text-2 ul { margin: 1.56vw 0 0; }
}

main  > .text-blocks { margin: 0 4px; background: #FFFFFF; border-radius: 10px; }
main  > .text-blocks .block { padding: 31px 12px 40px; border-top: 1px solid #4C331C; }
main  > .text-blocks .block:first-child { border-top-width: 0; }
main  > .text-blocks .block h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; line-height: 1.083; text-wrap: balance; }
main  > .text-blocks .block .text { padding: 32px 0 0; }
main  > .text-blocks .block .text:first-child { padding: 0; }
main  > .text-blocks .block .text h3 { margin: 56px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 13px; line-height: 19px; }
main  > .text-blocks .block .text p,
main  > .text-blocks .block .text ul { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main  > .text-blocks .block .text ul li { padding: 0 0 0 34px; position: relative; display: block; }
main  > .text-blocks .block .text ul li::before { position: absolute; top: 0; left: 0; content: "—"; display: block; }
main  > .text-blocks .block .text h3 + p,
main  > .text-blocks .block .text h3 + ul { margin: 14px 0 0; }
main  > .text-blocks .block .text p:first-child,
main  > .text-blocks .block .text ul:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main  > .text-blocks { margin: 0 12px; border-radius: 22px; }
	main  > .text-blocks .block { padding: 52px 280px 154px 33px; border-top-width: 1px; display: grid; grid-template-columns: 1fr 599px; gap: 0 262px; }
	main  > .text-blocks .block:first-child { border-top-width: 0; }
	main  > .text-blocks .block h2 { font-size: 55px; line-height: 1; }
	main  > .text-blocks .block .text { padding: 0; grid-column: 2; }
	main  > .text-blocks .block .text h3 { margin: 2.947em 0 0; font-size: 19px; line-height: 1.316; }
	main  > .text-blocks .block .text p,
	main  > .text-blocks .block .text ul { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main  > .text-blocks .block .text ul li { padding: 0 0 0 1.474em; }
	main  > .text-blocks .block .text h3 + p,
	main  > .text-blocks .block .text h3 + ul { margin: 0.474em 0 0; }
	main  > .text-blocks .block .text p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main  > .text-blocks { margin: 0 0.63vw; border-radius: 1.15vw; }
	main  > .text-blocks .block { padding: 2.71vw 14.58vw 8.02vw 1.72vw; border-top-width: 0.05vw; grid-template-columns: 1fr 31.2vw; gap: 0 13.65vw; }
	main  > .text-blocks .block:first-child { border-top-width: 0; }
	main  > .text-blocks .block h2 { font-size: 2.86vw; }
	main  > .text-blocks .block .text h3 { font-size: 0.99vw; }
	main  > .text-blocks .block .text p,
	main  > .text-blocks .block .text ul { font-size: 0.99vw; }
}

main > .technology-header { padding: 118px 16px 104px; background: #6CC2C6; text-align: center; }
main > .technology-header h1 { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
main > .technology-header .text-1 p { margin: 22px 0 0; font-size: 18px; line-height: 22px; }
main > .technology-header .text-1 p:first-child { margin: 0; }
main > .technology-header .text-1 p strong { font-family: stratos, sans-serif; font-weight: 400; }
main > .technology-header figure { margin: 35px 0 0; }
main > .technology-header figure img { width: auto; height: 128px; }
main > .technology-header .text-2 { margin: 22px 0 0; }
main > .technology-header .text-2 p { margin: 40px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 35px; line-height: 40px; }
main > .technology-header .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .technology-header { padding: 178px 48px 202px; }
	main > .technology-header .text-1 { padding: 0 245px; }
	main > .technology-header .text-1 p { margin: 1.206em 0 0; font-size: 34px; line-height: 1.206; }
	main > .technology-header .text-1 p:first-child { margin: 0; }
	main > .technology-header figure { margin: 58px 0 0; }
	main > .technology-header figure img { height: 338px; }
	main > .technology-header .text-2 { margin: 52px 0 0; }
	main > .technology-header .text-2 p { margin: 1.091em 0 0; font-size: 110px; line-height: 1.091; }
	main > .technology-header .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .technology-header { padding: 9.27vw 2.5vw 10.52vw; }
	main > .technology-header .text-1 { padding: 0 12.76vw; }
	main > .technology-header .text-1 p { font-size: 1.77vw; }
	main > .technology-header figure { margin: 3.02vw 0 0; }
	main > .technology-header figure img { height: 17.6vw; }
	main > .technology-header .text-2 { margin: 2.71vw 0 0; }
	main > .technology-header .text-2 p { font-size: 5.73vw; }
}

main > .technology-overview { margin: -59px 4px 0; padding: 39px 12px 85px; background: #FFFFFF; border-radius: 10px; text-align: center; }
main > .technology-overview .text p { margin: 22px 0 0; font-family: stratos, sans-serif; font-size: 17px; line-height: 22px; }
main > .technology-overview .text p:first-child { margin: 0; }
main > .technology-overview .text p strong { font-weight: 500; }
main > .technology-overview ul { margin: 48px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .technology-overview { margin: -100px 12px 0; padding: 52px 526px 287px; border-radius: 22px; }
	main > .technology-overview .text p { margin: 1.167em 0 0; font-size: 30px; line-height: 1.167; }
	main > .technology-overview .text p:first-child { margin: 0; }
	main > .technology-overview ul { margin: 108px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .technology-overview { margin: -5.21vw 0.63vw 0; padding: 2.71vw 27.4vw 14.95vw; border-radius: 1.15vw; }
	main > .technology-overview .text p { font-size: 1.56vw; }
	main > .technology-overview ul { margin: 5.63vw 0 0; }
}

main > .text-listing { margin: 8px 4px 0; }
main > .text-listing header { padding: 50px 12px 39px; }
main > .text-listing header h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 27px; line-height: 33px; }
main > .text-listing ul { display: grid; grid-template-columns: 1fr; gap: 4px; }
main > .text-listing ul li a { padding: 15px 12px 12px; background: #FFFFFF; border-radius: 10px; display: grid; grid-template-columns: 1fr; gap: 15px; }
main > .text-listing ul li a h2 { min-height: 66px; font-family: stratos, sans-serif; font-weight: 500; font-size: 18px; line-height: 22px; text-wrap: balance; }
main > .text-listing ul li a span.btn { justify-self: start; }

@media only screen and (min-width: 1024px) {
	main > .text-listing { margin: 12px 12px 0; }
	main > .services-offering + .text-listing { margin-top: 0; }
	main > .text-listing header { padding: 178px 33px 120px; }
	main > .text-listing header h2 { font-size: 55px; line-height: 1.091; }
	main > .text-listing ul { grid-template-columns: 1fr 1fr; gap: 12px; }
	main > .text-listing ul li a { padding: 26px 22px 36px 35px; border-radius: 22px; grid-template-columns: 1fr auto; gap: 40px; }
	main > .text-listing ul li a h2 { min-height: 3.333em; font-size: 45px; line-height: 1.111; }
	main > .text-listing ul li a span.btn { align-self: start; }
}

@media only screen and (min-width: 1024px) {
	main > .text-listing { margin: 0.63vw 0.63vw 0; }
	main > .services-offering + .text-listing { margin-top: 0; }
	main > .text-listing header { padding: 9.27vw 1.72vw 6.25vw; }
	main > .text-listing header h2 { font-size: 2.86vw; }
	main > .text-listing ul { gap: 0.63vw; }
	main > .text-listing ul li a { padding: 1.35vw 1.15vw 1.88vw 1.82vw; border-radius: 1.15vw; gap: 2.08vw; }
	main > .text-listing ul li a h2 { font-size: 2.34vw; }
}

main > .insights-header { padding: 4px 4px 0; display: grid; grid-template-columns: 1fr; gap: 4px; }
main > .insights-header .overview { padding: 104px 12px 75px; border-radius: 10px; text-align: center; }
main > .insights-header .overview header h1,
main > .insights-header .overview header h2 { font-family: stratos, sans-serif; font-weight: 800; font-size: 41px; line-height: 33px; text-transform: uppercase; }
main > .insights-header .overview .text { padding: 55px 0 0; }
main > .insights-header .overview .text p { margin: 0 0 21px; font-family: stratos, sans-serif; font-weight: 600; font-size: 17px; line-height: 22px; }
main > .insights-header .overview .text h1,
main > .insights-header .overview .text h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 32px; line-height: 36px; }
main > .insights-header .overview .text ul { margin: 60px 0 0; }
main > .insights-header .filter { padding: 28px 14px 47px; color: #FFFFFF; background: #4C331C; border-radius: 10px; text-align: center; }
main > .insights-header .filter h2 { margin: 0 0 35px; font-family: stratos, sans-serif; font-weight: 600; font-size: 17px; line-height: 22px; }
main > .insights-header .filter ul { text-align: left; display: flex; flex-wrap: wrap; gap: 7px; }
main > .insights-header .filter ul li a.btn > span { color: #FFFFFF; background: #4C331C; border-color: #FFFFFF; }
main > .insights-header .filter ul li a.btn svg g { stroke: #FFFFFF; }
main > .insights-header .filter ul li a.btn::before { background: #FFFFFF; }
main > .insights-header .filter ul li.on a.btn > span { color: #4C331C; background: #FFFFFF; border-color: #FFFFFF; }
main > .insights-header .filter ul li.on a.btn svg g { stroke: #4C331C; }
main > .insights-header .filter ul li.on a.btn::before { background: #FFFFFF; }

main > .insights-header.blue .overview { background: #6CC2C6; }
main > .insights-header.orange .overview { background: #F7BCA3; }
main > .insights-header.yellow .overview { background: #FAEB68 }
main > .insights-header.green .overview { background: #B7ED8B; }
main > .insights-header.blue .overview .text ul li a.btn > span { background: #6CC2C6; }
main > .insights-header.orange .overview .text ul li a.btn > span { background: #F7BCA3; }
main > .insights-header.yellow .overview .text ul li a.btn > span { background: #FAEB68 }
main > .insights-header.green .overview .text ul li a.btn > span { background: #B7ED8B; }

@media only screen and (min-width: 1024px) {
	main > .insights-header { padding: 12px 12px 0; grid-template-columns: 1127px 1fr; gap: 4px; }
	main > .insights-header .overview { min-height: 1009px; padding: 0 165px; border-radius: 22px; }
	main > .insights-header .overview header { position: absolute; top: 25px; left: 30px; }
	main > .insights-header .overview header h1,
	main > .insights-header .overview header h2 { font-size: 136px; line-height: 0.838; }
	main > .insights-header .overview .text { padding: 352px 0 0; }
	main > .insights-header .overview .text p { margin: 0 0 2.567em; font-size: 30px; line-height: 1; }
	main > .insights-header .overview .text h1,
	main > .insights-header .overview .text h2 { font-size: 61px; line-height: 1.066; }
	main > .insights-header .overview .text ul { margin: 88px 0 0; }
	main > .insights-header .overview:only-child { min-height: 820px; padding: 0 550px; grid-column: span 2; }
	main > .insights-header .overview:only-child .text { padding: 245px 0 0; }
	main > .insights-header .filter { padding: 33px; border-radius: 22px; text-align: right; display: flex; flex-direction: column; justify-content: flex-end; }
	main > .insights-header .filter h2 { margin: 0 0 1.667em; font-size: 30px; line-height: 1; }
	main > .insights-header .filter ul { display: flex; justify-content: flex-end; gap: 12px; }
}

@media only screen and (min-width: 1024px) {
	main > .insights-header { padding: 0.63vw 0.63vw 0; grid-template-columns: 58.7vw 1fr; gap: 0.21vw; }
	main > .insights-header .overview { min-height: 52.55vw; padding: 0 8.59vw; border-radius: 1.15vw; }
	main > .insights-header .overview header { top: 1.3vw; left: 1.56vw; }
	main > .insights-header .overview header h1,
	main > .insights-header .overview header h2 { font-size: 7.08vw; }
	main > .insights-header .overview .text { padding: 18.33vw 0 0; }
	main > .insights-header .overview .text p { font-size: 1.56vw; }
	main > .insights-header .overview .text h1,
	main > .insights-header .overview .text h2 { font-size: 3.18vw; }
	main > .insights-header .overview .text ul { margin: 4.58vw 0 0; }
	main > .insights-header .overview:only-child { min-height: 42.71vw; padding: 0 28.65vw; }
	main > .insights-header .overview:only-child .text { padding: 12.76vw 0 0; }
	main > .insights-header .filter { padding: 1.72vw; border-radius: 1.15vw; }
	main > .insights-header .filter h2 { font-size: 1.56vw; }
	main > .insights-header .filter ul { gap: 0.63vw; }
}

main > .insights-list { padding: 4px 4px 0; display: grid; grid-template-columns: 1fr; gap: 4px; }
main > .insights-list header { padding: 0 12px 12px; }
main > .insights-list header h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; line-height: 26px; }
main > .insights-list .article a { min-height: 346px; padding: 23px 12px 14px; background: #FFFFFF; border-radius: 10px; position: relative; display: flex; flex-direction: column; }
main > .insights-list .article a p.sector { margin: 0 0 18px; font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }
main > .insights-list .article a h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 20px; line-height: 23px; }
main > .insights-list .article a p.excerpt { margin: 37px 0 0; font-size: 13px; line-height: 19px; }
main > .insights-list .article a span.btn { margin: auto 0 0; align-self: start; }
main > .insights-list .paging { padding: 88px 0 78px; border-bottom: 1px solid #4C331C; }
main > .insights-list .paging ul { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 0; }
main > .insights-list .paging ul li:nth-child(2) { font-size: 24px; text-align: center; grid-column: 1 / span 2; grid-row: 1; }
main > .insights-list .paging ul li:nth-child(1) { grid-column: 1; grid-row: 2; }
main > .insights-list .paging ul li:nth-child(3) { grid-column: 2; grid-row: 2; justify-self: end; }
main > .insights-list .paging ul li a.btn > span { background: #F1EFE8; }
main > .insights-list ul.all li a { padding: 22px 12px; font-family: stratos, sans-serif; font-weight: 500; font-size: 24px; background: #FFFFFF; border-radius: 10px; text-align: center; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; }
main > .insights-list ul.all li a span:nth-child(1) { grid-column: 2; }
main > .insights-list ul.all li a span:nth-child(2) { grid-column: 3; }
main > .insights-list ul.all li a svg { width: 100%; height: auto; transition: stroke 0.4s ease; display: block; }
main > .insights-list ul.all li a:hover { color: #FFFFFF; background: #4C331C; }
main > .insights-list ul.all li a:hover svg g { stroke: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	main > .insights-list { padding: 12px 12px 0; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
	main > .insights-list header { padding: 0 45px 58px; grid-column: span 3; }
	main > .insights-list header h2 { font-size: 55px; line-height: 1.091; }
	main > .insights-list .article a { min-height: 619px; padding: 48px 33px 33px; border-radius: 22px; overflow: hidden; }
	main > .insights-list .article.blue a:hover { background: #6CC2C6; }
	main > .insights-list .article.orange a:hover { background: #F7BCA3; }
	main > .insights-list .article.yellow a:hover { background: #FAEB68 }
	main > .insights-list .article.green a:hover { background: #B7ED8B; }
	main > .insights-list .article a p.sector { margin: 0 0 1.318em; font-size: 22px; line-height: 1.273; position: relative; }
	main > .insights-list .article a h2 { min-height: 3.500em; padding: 0 5.000em 0 0; font-size: 30px; line-height: 1.167; text-wrap: balance; position: relative; }
	main > .insights-list .article a p.excerpt { margin: 1.842em 0 0; font-size: 19px; line-height: 1.474; position: relative; }
	main > .insights-list .article a::before { width: 628px; height: 685px; background: url(images/article-hover.svg) no-repeat 50% 50% / contain; position: absolute; bottom: -142px; right: -88px; content: " "; display: block; }
	main > .insights-list .paging { margin: 0 34px; padding: 196px 0 30px; border-bottom-width: 1px; grid-column: span 3; }
	main > .insights-list .paging ul { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; align-items: center; }
	main > .insights-list .paging ul li:nth-child(2) { font-size: 33px; grid-column: 2; grid-row: 1; }
	main > .insights-list .paging ul li:nth-child(1) { grid-column: 1; grid-row: 1; }
	main > .insights-list .paging ul li:nth-child(3) { grid-column: 3; grid-row: 1; }
	main > .insights-list ul.all { grid-column: 1 / span 3; }
	main > .insights-list ul.all li a { padding: 0.680em 1.740em; font-size: 50px; border-radius: 0.200em; grid-template-columns: 1.960em 1fr 1.960em; }
}

@media only screen and (min-width: 1024px) {
	main > .insights-list { padding: 0.63vw 0.63vw 0; gap: 0.63vw; }
	main > .insights-list header { padding: 0 2.34vw 3.02vw; }
	main > .insights-list header h2 { font-size: 2.86vw; }
	main > .insights-list .article a { min-height: 32.24vw; padding: 2.5vw 1.72vw 1.72vw; border-radius: 1.15vw; }
	main > .insights-list .article a p.sector { font-size: 1.15vw; }
	main > .insights-list .article a h2 { font-size: 1.56vw;}
	main > .insights-list .article a p.excerpt { font-size: 0.99vw; }
	main > .insights-list .article a::before { width: 32.71vw; height: 35.68vw; bottom: -7.4vw; right: -4.58vw; }
	main > .insights-list .paging { margin: 0 1.77vw; padding: 10.21vw 0 1.56vw; border-bottom-width: 0.05vw; }
	main > .insights-list .paging ul li:nth-child(2) { font-size: 1.72vw; }
	main > .insights-list ul.all li a { font-size: 2.6vw; }
}

main > .insights-post { padding: 4px 4px 0; display: grid; grid-template-columns: 1fr; gap: 4px; }
main > .insights-post .text { padding: 54px 12px 74px; background: #FFFFFF; border-radius: 10px; }
main > .insights-post .text h2 { margin: 100px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 20px; line-height: 23px; }
main > .insights-post .text h2:first-child { margin-top: 0; }
main > .insights-post .text p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .insights-post .text h2 + p { margin-top: 32px; }
main > .insights-post .text p:first-child { margin-top: 0; }
main > .insights-post .text:first-child p:first-child { font-family: stratos, sans-serif; font-size: 20px; line-height: 23px; text-align: center; }
main > .insights-post .text:first-child p:first-child strong { font-weight: 500; }
main > .insights-post .text:first-child p:first-child + p { margin-top: 62px; }

@media only screen and (min-width: 1024px) {
	main > .insights-post { padding: 12px 12px 0; gap: 12px; }
	main > .insights-post .text { padding: 124px 514px 208px; border-radius: 22px; }
	main > .insights-post .text h2 { max-width: 600px; margin: 4.267em auto 0; font-size: 30px; line-height: 1.167; }
	main > .insights-post .text h2:first-child { margin-top: 0; }
	main > .insights-post .text p { max-width: 600px; margin: 1.474em auto 0; font-size: 19px; line-height: 1.474; }
	main > .insights-post .text h2 + p { margin-top: 1.474em; }
	main > .insights-post .text p:first-child { margin-top: 0; }
	main > .insights-post .text:first-child p:first-child { max-width: 100%; font-size: 30px; line-height: 1.167em; }
	main > .insights-post .text:first-child p:first-child strong { font-weight: 500; }
	main > .insights-post .text:first-child p:first-child + p { margin-top: 9.684em; }
}

@media only screen and (min-width: 1024px) {
	main > .insights-post { padding: 0.63vw 0.63vw 0; gap: 0.63vw; }
	main > .insights-post .text { padding: 6.46vw 26.77vw 10.83vw; border-radius: 1.15vw; }
	main > .insights-post .text h2 { max-width: 31.25vw; font-size: 1.56vw; }
	main > .insights-post .text p { max-width: 31.25vw; font-size: 0.99vw; }
	main > .insights-post .text:first-child p:first-child { max-width: 100%; font-size: 1.56vw; }
}

main > .promo-banner { padding: 4px; display: grid; grid-template-columns: 1fr; }
main > .promo-banner figure { order: 2; }
main > .promo-banner figure img { border-radius: 10px; }
main > .promo-banner .text { padding: 52px 12px 98px; order: 1; }
main > .promo-banner figure + .text { padding-bottom: 56px; }
main > .promo-banner .text h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 27px; line-height: 33px; }
main > .promo-banner .text p { margin: 37px 0 0; font-size: 24px; line-height: 29px; }
main > .promo-banner .text ul { margin: 49px 0 0; }
main > .promo-banner .text p + ul { margin: 60px 0 0; }
main > .promo-banner .text ul li a.btn > span { background: var(--background); }

@media only screen and (min-width: 1024px) {
	main > .promo-banner { padding: 12px; grid-template-columns: 871px 1fr; gap: 0 146px; }
	main > .promo-banner figure { padding: 250px 0 0; order: 1; }
	main > .promo-banner figure img { border-radius: 22px; }
	main > .promo-banner .text { padding: 112px 756px 298px 30px; order: 2; grid-column: span 2; }
	main > .promo-banner.heading-wide .text { padding-right: 92px; }
	main > .promo-banner .text h2 { font-size: 90px; line-height: 1.089; text-wrap: balance; }
	main > .promo-banner .text p { margin: 1.391em 0 0; font-size: 46px; line-height: 1.196; }
	main > .promo-banner .text ul { margin: 78px 0 0; }
	main > .promo-banner .text p + ul { margin: 82px 0 0; }

	main > .promo-banner figure + .text { padding: 65px 92px 0 0; grid-column: span 1; }
	main > .promo-banner figure + .text p { margin: 1.051em 0 0; font-size: 39px; line-height: 1.231; }
}

@media only screen and (min-width: 1024px) {
	main > .promo-banner { padding: 0.63vw; grid-template-columns: 45.36vw 1fr; gap: 0 7.6vw; }
	main > .promo-banner figure { padding: 13.02vw 0 0; }
	main > .promo-banner figure img { border-radius: 1.15vw; }
	main > .promo-banner .text { padding: 5.83vw 39.38vw 15.52vw 1.56vw; }
	main > .promo-banner.heading-wide .text { padding-right: 4.79vw; }
	main > .promo-banner .text h2 { font-size: 4.69vw; }
	main > .promo-banner .text p { font-size: 2.4vw; }
	main > .promo-banner .text ul { margin: 4.06vw 0 0; }
	main > .promo-banner .text p + ul { margin: 4.27vw 0 0; }

	main > .promo-banner figure + .text { padding: 3.39vw 4.79vw 0 0; }
	main > .promo-banner figure + .text p { font-size: 2.03vw; }

}

main > .vacancies { padding: 108px 4px 0; color: #F7BCA3; }
main > .vacancies header { padding: 0 11px 78px; }
main > .vacancies header h1 { font-family: stratos, sans-serif; font-weight: 800; font-size: 41px; line-height: 33px; text-transform: uppercase; }
main > .vacancies .vacancy { padding: 22px 14px 100px; border-top: 1px solid #F7BCA3; }
main > .vacancies .vacancy p.overview { padding: 0 0 28px; font-family: stratos, sans-serif; font-size: 17px; line-height: 22px; }
main > .vacancies .vacancy h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 29px; line-height: 35px; }
main > .vacancies .vacancy .text { padding: 48px 0 0; }
main > .vacancies .vacancy .text p { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .vacancies .vacancy .text p:first-child { margin: 0; }
main > .vacancies .vacancy ul { padding: 48px 0 0; }
main > .vacancies .vacancy ul li a.btn > span { color: #F7BCA3; background: #4C331C; border-color: #F7BCA3; }
main > .vacancies .vacancy ul li a.btn svg g { stroke: #F7BCA3; }
main > .vacancies .vacancy ul li a.btn::before { background: #F7BCA3; }

@media only screen and (min-width: 1024px) {
	main > .vacancies { padding: 38px 45px 222px; }
	main > .vacancies header { padding: 0 0 380px; }
	main > .vacancies header h1 { font-size: 136px; line-height: 0.838; }
	main > .vacancies .vacancy { padding: 15px 0 120px; border-top-width: 1px; display: grid; grid-template-columns: 615px 600px 1fr; }
	main > .vacancies .vacancy p.overview { padding: 0.267em 6.667em 0 0; font-size: 30px; line-height: 1.167; grid-column: 1; grid-row: 1 / span 2; }
	main > .vacancies .vacancy h2 { min-height: 4.436em; padding: 0 3.636em 0 0; font-size: 55px; line-height: 1.091; grid-column: 2 / span 2; grid-row: 1; }
	main > .vacancies .vacancy .text { padding: 0; grid-column: 2; grid-row: 2; }
	main > .vacancies .vacancy .text p { margin: 1.474em 0 0; font-size: 19px; line-height: 1.474; }
	main > .vacancies .vacancy .text p:first-child { margin: 0; }
	main > .vacancies .vacancy ul { padding: 0; grid-column: 3; grid-row: 2; justify-self: end; }
}

@media only screen and (min-width: 1024px) {
	main > .vacancies { padding: 1.98vw 2.34vw 11.56vw; }
	main > .vacancies header { padding: 0 0 19.79vw; }
	main > .vacancies header h1 { font-size: 7.08vw; }
	main > .vacancies .vacancy { padding: 0.78vw 0 6.25vw; border-top-width: 0.05vw; grid-template-columns: 32.03vw 31.25vw 1fr; }
	main > .vacancies .vacancy p.overview { font-size: 1.56vw; }
	main > .vacancies .vacancy h2 { font-size: 2.86vw; }
	main > .vacancies .vacancy .text p { font-size: 0.99vw; }
}

main > .gen { padding: 144px 16px 100px; }
main > .gen a { text-decoration: underline; }
main > .gen a:hover { text-decoration-color: rgba(76,51,28,0); }
main > .gen header { padding: 0 0 28px; }
main > .gen header p { margin: 0 0 38px; font-family: stratos, sans-serif; font-weight: 800; font-size: 23px; line-height: 19px; text-transform: uppercase; }
main > .gen header h1 { font-family: stratos, sans-serif; font-weight: 500; font-size: 32px; line-height: 36px; }
main > .gen .text h2 { margin: 56px 0 0; font-family: stratos, sans-serif; font-size: 17px; line-height: 22px; }
main > .gen .text h2:first-child { margin: 0; }
main > .gen .text p,
main > .gen .text ul { margin: 19px 0 0; font-size: 13px; line-height: 19px; }
main > .gen .text ul { display: flex; flex-direction: column; gap: 19px; }
main > .gen .text ul li { padding: 0 0 0 38px; position: relative; }
main > .gen .text ul li::before { position: absolute; top: 0; left: 0; content: "—"; display: block; }
main > .gen .text p:first-child,
main > .gen .text ul:first-child { margin-top: 0; }
main > .gen .text h2 + p,
main > .gen .text h2 + ul { margin-top: 34px; }

@media only screen and (min-width: 1024px) {
	main > .gen { padding: 154px 660px 306px 45px; }
	main > .gen header { padding: 0 0 186px; }
	main > .gen header p { margin: 0 0 2.737em; font-size: 38px; line-height: 0.842; }
	main > .gen header h1 { font-size: 55px; line-height: 1; }
	main > .gen .text h2 { width: 400px; margin: 4.000em 0 0; font-size: 30px; line-height: 1.167; float: left; }
	main > .gen .text h2:first-child { margin: 0; }
	main > .gen .text p,
	main > .gen .text ul { margin: 1.474em 0 0 616px; font-size: 19px; line-height: 1.474; }
	main > .gen .text ul { gap: 1.474em; }
	main > .gen .text ul li { padding: 0 0 0 1.789em; }
	main > .gen .text p:first-child,
	main > .gen .text ul:first-child { margin-top: 0; }
	main > .gen .text h2 + p,
	main > .gen .text h2 + ul { margin-top: 6.316em; }
	main > .gen .text h2:first-child + p,
	main > .gen .text h2:first-child + ul { margin-top: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .gen { padding: 8.02vw 34.38vw 15.94vw 2.34vw; }
	main > .gen header { padding: 0 0 9.69vw; }
	main > .gen header p { font-size: 1.98vw; }
	main > .gen header h1 { font-size: 2.86vw; }
	main > .gen .text h2 { width: 20.83vw; font-size: 1.56vw; }
	main > .gen .text p,
	main > .gen .text ul { margin-left: 32.08vw; font-size: 0.99vw; }
}

main .gform_wrapper > .gform_heading { display: none; }
main .gform_wrapper > .gform_validation_errors { display: none; }
main .gform_wrapper .gform_fields { display: grid; grid-template-columns: 1fr; gap: 18px; }
main .gform_wrapper .gform_fields div.gfield > label { font-family: stratos, sans-serif; font-weight: 500; font-size: 13px; line-height: 17px; display: block; }
main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"],
main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"],
main .gform_wrapper .gform_fields div.gfield .ginput_container textarea { width: 100%; padding: 0; font-size: 13px; line-height: 17px; background: none; border: 0; }
main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"]::placeholder,
main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"]::placeholder,
main .gform_wrapper .gform_fields div.gfield .ginput_container textarea::placeholder { color: #4C331C; }
main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"]:focus::placeholder,
main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"]:focus::placeholder,
main .gform_wrapper .gform_fields div.gfield .ginput_container textarea:focus::placeholder { color: rgba(76,51,28,0.45); }
main .gform_wrapper .gform_fields div.gfield .gfield_description { font-family: stratos, sans-serif; font-size: 13px; line-height: 17px; }
main .gform_wrapper .gform_fields div.gfield .gfield_description.validation_message { color: #FF0000; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_container { display: flex; flex-direction: column; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_container .gfield_description { padding: 0 0 18px; display: block; order: 1; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_container .gform_fileupload_multifile { order: 2; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_container .gform_drop_area { display: inline-flex; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_container .gform_drop_instructions { display: none; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_container .gform_drop_area button { width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0; z-index: 2; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list { padding: 18px 0 0; font-size: 13px; line-height: 17px; display: flex; flex-direction: column; gap: 4px; order: 4; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list .ginput_preview { display: grid; grid-template-columns: 1fr auto; gap: 0.5em; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list .ginput_preview .gfield_fileupload_filesize,
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list .ginput_preview .gfield_fileupload_progress { display: none; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list .ginput_preview button { background: none; border: 0; -webkit-appearance: none; appearance: none; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list .ginput_preview button .screen-reader-text { display: none; }
main .gform_wrapper .gform_fields div.gfield.gfield--type-hcaptcha > label { display: none; }
main .gform_confirmation_wrapper { display: grid; grid-template-columns: 1fr; gap: 18px; }
main .gform_confirmation_wrapper .gform_confirmation_message { font-family: stratos, sans-serif; font-weight: 500; font-size: 13px; line-height: 17px; display: block; }

@media only screen and (min-width: 1024px) {
	main .gform_wrapper .gform_fields { gap: 37px 0; }
	main .gform_wrapper .gform_fields div.gfield > label { font-size: 19px; line-height: 1.316; }
	main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"],
	main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"],
	main .gform_wrapper .gform_fields div.gfield .ginput_container textarea { font-size: 19px; line-height: 1.316; }
	main .gform_wrapper .gform_fields div.gfield .gfield_description { font-size: 19px; line-height: 1.316; }
	main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_container .gfield_description { padding: 0 0 1.263em; }
	main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list { font-size: 19px; line-height: 1.316; padding: 1.263em 0 0; gap: 0.316em; }
	main .gform_confirmation_wrapper { grid-template-columns: 369px 1fr; gap: 37px 0; }
	main .gform_confirmation_wrapper .gform_confirmation_message { padding: 0 18px; font-size: 19px; line-height: 1.316; }
}

@media only screen and (min-width: 1024px) {
	main .gform_wrapper .gform_fields { gap: 1.93vw 0; }
	main .gform_wrapper .gform_fields div.gfield > label { font-size: 0.99vw; }
	main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"],
	main .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"],
	main .gform_wrapper .gform_fields div.gfield .ginput_container textarea { font-size: 0.99vw; }
	main .gform_wrapper .gform_fields div.gfield .gfield_description { font-size: 0.99vw; }
	main .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload .ginput_preview_list { font-size: 0.99vw; }
	main .gform_confirmation_wrapper { grid-template-columns: 19.22vw 1fr; gap: 1.93vw 0; }
	main .gform_confirmation_wrapper .gform_confirmation_message { padding: 0 0.94vw; font-size: 0.99vw; }
}

main > .contact { padding: 108px 4px 71px; }
main > .contact header { padding: 0 12px 45px; }
main > .contact header h1 { font-family: stratos, sans-serif; font-weight: 800; font-size: 41px; line-height: 33px; text-transform: uppercase; }
main > .contact .text { padding: 0 12px 32px; }
main > .contact .text ul { display: grid; grid-template-columns: 1fr 1fr; }
main > .contact .text ul li h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 13px; line-height: 17px; }
main > .contact .text ul li p { font-size: 13px; line-height: 17px; }
main > .contact .text ul li a:hover { opacity: 0.45; }
main > .contact .text .join { padding: 36px 0 0; }
main > .contact .text .join h2 { font-family: stratos, sans-serif; font-weight: 500; font-size: 13px; line-height: 17px; }
main > .contact .text .join p { margin: 17px 0 0; font-size: 13px; line-height: 17px; }
main > .contact .text .join h2 + p { margin: 0; }
main > .contact .text .join ul { margin: 26px 0 0; }
main > .contact .text .join ul li a.btn > span { background: var(--background); }
main > .contact .form { padding: 30px 0 0; border: 1px solid #4C331C; border-width: 1px 0 0; }
main > .contact .form .heading { padding: 0 12px 36px; }
main > .contact .form .heading h2 { max-width: 130px; font-family: stratos, sans-serif; font-weight: 800; font-size: 27px; line-height: 22px; text-transform: uppercase; }
main > .contact .form .gform_wrapper .gform_fields div.gfield { padding: 0 12px; }
main > .contact .form .gform_wrapper .gform_fields div.gfield.gfield--type-textarea { margin: 15px 0 0; padding-top: 10px; border: 1px solid #4C331C; border-width: 1px 0 0; }
main > .contact .form .gform_footer { padding: 44px 0 0; display: flex; justify-content: flex-end; }
main > .contact .form .gform_footer button.btn > span { background: #FAEB68; }

@media only screen and (min-width: 1024px) {
	main > .contact { margin: 0 0 12px; min-height: 100vh; padding: 0 45px; display: grid; grid-template-columns: 476px 1fr; grid-template-rows: 1fr auto; }
	main > .contact header { padding: 38px 0; border: 1px solid #4D331C; border-width: 0 0 1px; grid-column: span 2; }
	main > .contact header h1 { font-size: 136px; line-height: 0.838; }
	main > .contact .text { padding: 15px 16px 54px 0; display: flex; flex-direction: column; justify-content: space-between; }
	main > .contact .text ul { display: grid; grid-template-columns: 1fr; gap: 25px; }
	main > .contact .text ul li h2 { font-size: 19px; line-height: 1.316; }
	main > .contact .text ul li p { font-size: 19px; line-height: 1.316; }
	main > .contact .text .join { padding: 25px 0 0; }
	main > .contact .text .join h2 { font-size: 19px; line-height: 1.316; }
	main > .contact .text .join p { margin: 1.316em 0 0; font-size: 19px; line-height: 1.316; }
	main > .contact .text .join h2 + p { margin: 0; }
	main > .contact .text .join ul { margin: 55px 0 0; }
	main > .contact .form { padding: 0 0 54px; border-width: 0 0 0 1px; display: grid; grid-template-columns: 490px 1fr; }
	main > .contact .form::before { width: 1px; height: 100%; position: absolute; top: 0; left: 861px; background: #4D331C; content: " "; display: block; }
	main > .contact .form .heading { padding: 12px 15px; }
	main > .contact .form .heading h2 { max-width: 100%; font-size: 83px; line-height: 0.843; text-wrap: balance; }
	main > .contact .form .gform_wrapper .gform_fields { padding: 12px 0 0; display: grid; grid-template-columns: 371px 1fr; }
	main > .contact .form .gform_wrapper .gform_fields div.gfield { padding: 0 18px; grid-column: 1; }
	main > .contact .form .gform_wrapper .gform_fields div.gfield.gfield--type-textarea { margin: 0; padding-top: 0; border-width: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr; grid-column: 2; grid-row: 1 / span 3; }
	main > .contact .form .gform_wrapper .gform_fields div.gfield.gfield--type-textarea textarea { height: 100%; }
	main > .contact .form .gform_wrapper .gform_fields div.gfield.gfield--type-fileupload { grid-column: 2; grid-row: 4; }
	main > .contact .form .gform_wrapper .gform_fields div.gfield.gfield--type-hcaptcha { grid-column: 2; grid-row: 5; }
	main > .contact .form .gform_footer { padding: 48px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .contact { margin: 0 0 0.63vw; padding: 0 2.34vw; grid-template-columns: 24.79vw 1fr; }
	main > .contact header { padding: 1.98vw 0; border-width: 0 0 0.05vw; }
	main > .contact header h1 { font-size: 7.08vw; }
	main > .contact .text { padding: 0.78vw 0.83vw 2.81vw 0; }
	main > .contact .text ul { gap: 1.3vw; }
	main > .contact .text ul li h2 { font-size: 0.99vw; }
	main > .contact .text ul li p { font-size: 0.99vw; }
	main > .contact .text .join { padding: 1.3vw 0 0; }
	main > .contact .text .join h2 { font-size: 0.99vw; }
	main > .contact .text .join p { font-size: 0.99vw; }
	main > .contact .text .join ul { margin: 2.86vw 0 0; }
	main > .contact .form { padding: 0 0 2.81vw; border-width: 0 0 0 0.05vw; grid-template-columns: 25.52vw 1fr; }
	main > .contact .form::before { width: 0.05vw; left: 44.84vw; }
	main > .contact .form .heading { padding: 0.63vw 0.78vw; }
	main > .contact .form .heading h2 { font-size: 4.32vw; }
	main > .contact .form .gform_wrapper .gform_fields { padding: 0.63vw 0 0; grid-template-columns: 19.32vw 1fr; }
	main > .contact .form .gform_wrapper .gform_fields div.gfield { padding: 0 0.94vw; }
	main > .contact .form .gform_footer { padding: 2.5vw 0 0; }
}

main > .apply { padding: 0 16px 78px; }
main > .apply a:hover { opacity: 0.45; }
main > .apply .text-1 p { margin: 33px 0 0; font-family: stratos, sans-serif; font-weight: 500; font-size: 27px; line-height: 33px; }
main > .apply .text-1 p:first-child { margin: 0; }
main > .apply .text-2 { padding: 35px 0 0; }
main > .apply .text-2 p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .apply .text-2 p:first-child { margin: 0; }
main > .apply .text-3 { padding: 48px 0 0; }
main > .apply .text-3 p { margin: 15px 0 0; font-family: stratos, sans-serif; font-size: 13px; line-height: 15px; }
main > .apply .text-3 p:first-child { margin: 0; }
main > .apply .text-3 p strong { font-weight: 500; }

@media only screen and (min-width: 1024px) {
	main > .apply { padding: 0 42px 310px; }
	main > .apply .text-1 p { margin: 1.089em 0 0; font-size: 90px; line-height: 1.089; }
	main > .apply .text-1 p:first-child { margin: 0; }
	main > .apply .text-2 { width: 1108px; padding: 146px 0 0; }
	main > .apply .text-2 p { margin: 1.196em 0 0; font-size: 46px; line-height: 1.196; }
	main > .apply .text-2 p:first-child { margin: 0; }
	main > .apply .text-3 { width: 600px; padding: 78px 0 0; }
	main > .apply .text-3 p { margin: 1.227em 0 0; font-size: 22px; line-height: 1.227; }
	main > .apply .text-3 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .apply { padding: 0 2.19vw 16.15vw; }
	main > .apply .text-1 p { font-size: 4.69vw; }
	main > .apply .text-2 { width: 57.71vw; padding: 7.6vw 0 0; }
	main > .apply .text-2 p { font-size: 2.4vw; }
	main > .apply .text-3 { width: 31.25vw; padding: 4.06vw 0 0; }
	main > .apply .text-3 p { font-size: 1.15vw; }
}

main > .apply-form { padding: 143px 4px 59px; }
main > .apply-form .heading { padding: 0 12px 38px; }
main > .apply-form .heading p { font-family: stratos, sans-serif; font-weight: 800; font-size: 23px; line-height: 19px; text-transform: uppercase; }
main > .apply-form .text { padding: 0 12px 47px; }
main > .apply-form .text h1 { font-family: stratos, sans-serif; font-weight: 500; font-size: 32px; line-height: 36px; }
main > .apply-form .text .text-1 { padding: 36px 0 0; }
main > .apply-form .text .text-1 p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .apply-form .text .text-1 p:first-child { margin: 0; }
main > .apply-form .text .text-2 { padding: 47px 0 0; }
main > .apply-form .text .text-2 p { margin: 19px 0 0; font-family: stratos, sans-serif; font-size: 13px; line-height: 19px; }
main > .apply-form .text .text-2 p:first-child { margin: 0; }
main > .apply-form .form { padding: 32px 12px 0; border: 1px solid #4C331C; border-width: 1px 0 0; }
main > .apply-form .form .gform_footer { padding: 44px 0 0; display: flex; justify-content: flex-end; }
main > .apply-form .form .gform_footer button.btn > span { background: #FAEB68; }

@media only screen and (min-width: 1024px) {
	main > .apply-form { margin: 0 0 12px; min-height: 100vh; padding: 154px 42px 0; display: grid; grid-template-columns: 971px 1fr; grid-template-rows: auto 1fr; }
	main > .apply-form .heading { padding: 0 0 10px; grid-column: span 2; }
	main > .apply-form .heading p { font-size: 38px; line-height: 0.842; }
	main > .apply-form .text { padding: 86px 123px 0 0; }
	main > .apply-form .text h1 { font-size: 90px; line-height: 1.089; }
	main > .apply-form .text .text-1 { padding: 97px 0 0; }
	main > .apply-form .text .text-1 p { margin: 1.196em 0 0; font-size: 46px; line-height: 1.196; }
	main > .apply-form .text .text-1 p:first-child { margin: 0; }
	main > .apply-form .text .text-2 { width: 725px; padding: 78px 0 0; }
	main > .apply-form .text .text-2 p { margin: 1.227em 0 0; font-size: 22px; line-height: 1.227; }
	main > .apply-form .text .text-2 p:first-child { margin: 0; }
	main > .apply-form .form { padding: 116px 0 0; border-width: 0 0 0 1px; }
	main > .apply-form .form::before { width: 1px; height: 100%; position: absolute; top: 0; left: 369px; background: #4D331C; content: " "; display: block; }
	main > .apply-form .form .gform_wrapper .gform_fields { grid-template-columns: 369px 1fr; }
	main > .apply-form .form .gform_wrapper .gform_fields div.gfield { padding: 0 18px; grid-column: 1; }
	main > .apply-form .form .gform_wrapper .gform_fields div.gfield:nth-child(7) { grid-column: 2; grid-row: 1; }
	main > .apply-form .form .gform_wrapper .gform_fields div.gfield:nth-child(8) { grid-column: 2; grid-row: 2; }
	main > .apply-form .form .gform_wrapper .gform_fields div.gfield:nth-child(9) { grid-column: 2; grid-row: 4 / span 3; }
	main > .apply-form .form .gform_wrapper .gform_fields div.gfield:nth-child(10) { grid-column: 2; grid-row: 7; }
	main > .apply-form .form .gform_footer { padding: 48px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .apply-form { margin: 0 0 0.63vw; padding: 8.02vw 2.19vw 0; grid-template-columns: 50.57vw 1fr; }
	main > .apply-form .heading { padding: 0 0 0.52vw; }
	main > .apply-form .heading p { font-size: 1.98vw; }
	main > .apply-form .text { padding: 4.48vw 6.41vw 0 0; }
	main > .apply-form .text h1 { font-size: 4.69vw; }
	main > .apply-form .text .text-1 { padding: 5.05vw 0 0; }
	main > .apply-form .text .text-1 p { font-size: 2.4vw; }
	main > .apply-form .text .text-2 { width: 37.76vw; padding: 4.06vw 0 0; }
	main > .apply-form .text .text-2 p { font-size: 1.15vw; }
	main > .apply-form .form { padding: 6.04vw 0 0; border-width: 0 0 0 0.05vw; }
	main > .apply-form .form::before { width: 0.05vw; left: 19.22vw; }
	main > .apply-form .form .gform_wrapper .gform_fields { grid-template-columns: 19.22vw 1fr; }
	main > .apply-form .form .gform_wrapper .gform_fields div.gfield { padding: 0 0.94vw; }
	main > .apply-form .form .gform_footer { padding: 2.5vw 0 0; }
}

main > .notice { min-height: 100vh; padding: 136px 16px; color: #FFFFFF; }
main > .notice h1 { font-family: stratos, sans-serif; font-weight: 500; font-size: 29px; line-height: 35px; }
main > .notice p { margin: 24px 0 0; font-size: 24px; line-height: 29px; }

@media only screen and (min-width: 1024px) {
	main > .notice { margin: 0 0 12px; padding: 276px 540px 104px 532px; display: flex; flex-direction: column; justify-content: space-between }
	main > .notice::before { width: 1px; height: 100%; position: absolute; top: 0; left: 520px; background: #FFFFFF; content: " "; display: block; }
	main > .notice h1 { font-size: 80px; line-height: 1.063; }
	main > .notice p { margin: 1.200em 0 0; font-size: 40px; line-height: 1.200; }
}

@media only screen and (min-width: 1024px) {
	main > .notice { margin: 0 0 0.63vw; padding: 14.38vw 28.13vw 5.42vw 27.71vw; }
	main > .notice::before { width: 0.05vw; left: 27.08vw; }
	main > .notice h1 { font-size: 4.17vw; }
	main > .notice p { font-size: 2.08vw; }
}

body > footer { padding: 0 4px 4px; }
body > footer .wrap { padding: 20px 17px 50px; background: #FFFFFF; border-radius: 10px; text-align: center; }
body > footer nav ul { padding: 0 20px; display: flex; flex-wrap: wrap; justify-content: center; }
body > footer nav ul li a { padding: 8px 12px 9px; font-family: stratos, sans-serif; font-size: 15px; color: #4C331C; background: #FFFFFF; border: 1px solid #F1EFE8; border-radius: 10px; display: inline-flex; }
body > footer nav ul li:last-child a { color: #FFFFFF; background: #4C331C; border-color: #4C331C; }
body > footer nav ul li a:hover span { opacity: 0.45; }
body > footer p.logo { padding: 38px 0 0; }
body > footer p.logo img { width: auto; height: 52px; }
body > footer p.strapline { padding: 28px 0 0; font-family: stratos, sans-serif; font-size: 25px; line-height: 29px; text-wrap: balance; }
body > footer ul.contact { padding: 30px 0 0; font-size: 15px; line-height: 23px; }
body > footer ul.contact li a:hover { opacity: 0.45; }
body > footer ul.legal { padding: 82px 0 0; font-size: 13px; line-height: 19px; display: flex; justify-content: center; gap: 12px; }
body > footer ul.legal li a:hover { opacity: 0.45; }
body > footer p.copyright { padding: 30px 0 0; font-size: 13px; line-height: 19px; }

@media only screen and (min-width: 1024px) {
	body > footer { padding: 0 12px 12px; }
	body > footer .wrap { padding: 34px; border-radius: 22px; text-align: left; display: grid; grid-template-columns: 500px 1fr 500px; gap: 0 100px; }
	body > footer nav { grid-column: 1; grid-row: 1 / span 2; }
	body > footer nav ul { padding: 0; justify-content: start; }
	body > footer nav ul li a { padding: 0.353em 0.882em 0.471em; font-size: 17px; border-width: 0.059em; border-radius: 0.588em; }
	body > footer p.logo { padding: 0; text-align: center; grid-column: 2; grid-row: 1; }
	body > footer p.logo img { height: 90px; }
	body > footer p.strapline { padding: 2.100em 0 3.350em; font-size: 40px; line-height: 1.175; text-align: center; grid-column: 2; grid-row: 2; }
	body > footer ul.contact { padding: 0 0 0 146px; font-size: 20px; line-height: 1.400; grid-column: 3; grid-row: 1; align-self: center; }
	body > footer ul.legal { padding: 0 0 0 146px; font-size: 14px; line-height: 1; justify-content: start; gap: 1em; grid-column: 3; grid-row: 3; }
	body > footer p.copyright { padding: 0; font-size: 14px; line-height: 1; text-align: center; grid-column: 2; grid-row: 3; }
}

@media only screen and (min-width: 1024px) {
	body > footer { padding: 0 0.63vw 0.63vw; }
	body > footer .wrap { padding: 1.77vw; border-radius: 1.15vw; grid-template-columns: 26.04vw 1fr 26.04vw; gap: 0 5.21vw; }
	body > footer nav ul li a { font-size: 0.89vw; }
	body > footer p.logo img { height: 4.69vw; }
	body > footer p.strapline { font-size: 2.08vw; }
	body > footer ul.contact { padding: 0 0 0 7.6vw; font-size: 1.04vw; }
	body > footer ul.legal { padding: 0 0 0 7.6vw; font-size: 0.73vw; }
	body > footer p.copyright { font-size: 0.73vw; }
}

html.sectors,
html.services { overflow: hidden; }
body > .dropdown-overlay { width: 100%; height: 100%; backdrop-filter: blur(9px) brightness(115%); position: fixed; top: 0; left: 0; transform: translateY(-100%); transition: transform 0.4s ease; z-index: 96; }
html.sectors body > .dropdown-overlay,
html.services body > .dropdown-overlay { transform: translateY(0); }
body > .dropdown { width: 100%; height: 100%; padding: 4px; position: fixed; top: 0; left: 0; overflow: auto; transform: translateY(-100%); transition: transform 0.4s ease; z-index: 97; }
body > .dropdown .wrap { padding: 125px 12px 84px; background: #FFFFFF; border-radius: 10px; }
html.sectors body > .dropdown.sectors { transform: translateY(0); }
html.services body > .dropdown.services { transform: translateY(0); }
body > .dropdown .wrap > ul { font-family: stratos, sans-serif; font-weight: 500; font-size: 17px; line-height: 22px; position: absolute; top: 122px; right: 12px; z-index: 2; }
body > .dropdown .wrap > ul li a:hover { opacity: 0.45; }
body > .dropdown.sectors header { padding: 0 0 91px; }
body > .dropdown.sectors header h2 { max-width: 200px; font-family: stratos, sans-serif; font-weight: 800; font-size: 35px; line-height: 30px; text-transform: uppercase; text-wrap: balance; }
body > .dropdown.services header { padding: 0 0 62px; }
body > .dropdown.services header ul { font-family: stratos, sans-serif; font-weight: 800; font-size: 35px; line-height: 30px; text-transform: uppercase; display: flex; flex-direction: column; gap: 8px; }
body > .dropdown.services header ul li a { padding: 0 0 6px; opacity: 0.21; border-bottom: 3px solid #FFFFFF; display: inline-flex; }
body > .dropdown.services header ul li.on a { opacity: 1; border-bottom-color: #4D331C; }
body > .dropdown.services header ul li a:hover { opacity: 1; }
body > .dropdown .cols { display: grid; grid-template-columns: 1fr; gap: 6px; }
body > .dropdown .cols a:hover { opacity: 0.45; }
body > .dropdown .cols .col h3 { margin: 0 0 10px; font-family: stratos, sans-serif; font-weight: 800; font-size: 17px; line-height: 21px; text-transform: uppercase; text-wrap: balance; }
body > .dropdown .cols .col ul { padding: 0 0 46px; font-family: stratos, sans-serif; font-size: 16px; line-height: 20px; }

@media only screen and (min-width: 1024px) {
	body > .dropdown { padding: 12px; }
	body > .dropdown .wrap { padding: 0; border-radius: 22px; }
	body > .dropdown .wrap > ul { font-size: 65px; line-height: 1; top: auto; bottom: 0.523em; right: 0.831em; }
	body > .dropdown.sectors header { padding: 24px 33px 122px; }
	body > .dropdown.sectors header h2 { max-width: 4.651em; font-size: 86px; line-height: 0.837; }
	body > .dropdown.services header { padding: 202px 156px 85px; }
	body > .dropdown.services header ul { font-size: 59px; line-height: 0.831; flex-direction: row; gap: 0.407em; }
	body > .dropdown.services header ul li a { padding: 0 0 0.169em; border-bottom-width: 0.051em; }
	body > .dropdown .cols { padding: 0 156px 156px; display: block; gap: 0; column-count: 3; column-gap: 0; }
	body > .dropdown .cols .col { padding: 0 0 18px; break-inside: avoid; }
	body > .dropdown .cols .col h3 { margin: 0 0 0.273em; font-size: 22px; line-height: 1.273; }
	body > .dropdown .cols .col ul { padding: 0 0 1.182em; font-size: 22px; line-height: 1.273; }
}

@media only screen and (min-width: 1024px) {
	body > .dropdown { padding: 1.11vh; }
	body > .dropdown .wrap { border-radius: 2.04vh; }
	body > .dropdown .wrap > ul { font-size: 6.02vh; }
	body > .dropdown.sectors header { padding: 2.22vh 3.06vh 11.3vh; }
	body > .dropdown.sectors header h2 { font-size: 7.96vh; }
	body > .dropdown.services header { padding: 18.7vh 14.44vh 7.87vh; }
	body > .dropdown.services header ul { font-size: 5.46vh; }
	body > .dropdown .cols { padding: 0 14.44vh 14.44vh; }
	body > .dropdown .cols .col { padding: 0 0 1.67vh; }
	body > .dropdown .cols .col h3 { font-size: 2.04vh; }
	body > .dropdown .cols .col ul { font-size: 2.04vh; }
}

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