/*
Theme Name: Seven Video
Author: Future
Author URI: https://designbyfuture.co.uk/
*/

@font-face {
    font-family: 'Barlow Semi Condensed';
    src: url('fonts/BarlowSemiCondensed-Regular.woff2') format('woff2'),
        url('fonts/BarlowSemiCondensed-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Barlow Semi Condensed';
    src: url('fonts/BarlowSemiCondensed-SemiBold.woff2') format('woff2'),
        url('fonts/BarlowSemiCondensed-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Corporate Mono';
    src: url('fonts/CorporateMonoRegularSWFTE.woff2') format('woff2'),
        url('fonts/CorporateMonoRegularSWFTE.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Corporate Mono';
    src: url('fonts/CorporateMonoBoldSWFTE.woff2') format('woff2'),
        url('fonts/CorporateMonoBoldSWFTE.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Corporate Mono';
    src: url('fonts/CorporateMonoExtraBoldRegularSWFTE.woff2') format('woff2'),
        url('fonts/CorporateMonoExtraBoldRegularSWFTE.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* 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: #000; background: transparent; text-decoration: none; cursor: pointer; text-decoration-skip: ink; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }

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

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

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

:root {
  --white: #FFFFFF;
  --black: #131413;
  --grey: #A7B1A7;
  --lavender: #F3BEFF;
  --fluid-12: clamp(10px, 7.7143px + 0.2232vw, 12px);
  --fluid-16: clamp(12px, 7.4286px + 0.4464vw, 16px);
  --fluid-18: clamp(12px, 0.8571px + 0.8929vw, 18px);
  --fluid-20: clamp(12px, 2.8571px + 0.8929vw, 20px);
}

body { font: 62.5%/1 'Barlow Semi Condensed', 'Helvetica Neue', Arial, Helvetica, sans-serif; color: var(--black); background: var(--black); }

/* images */
.anim.soft { opacity: 0; transform: translateY(2rem) scale(0.96); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); will-change: transform, opacity; }
.anim.soft.inview { transition-delay: 0.4s; opacity: 1; transform: translateY(0) scale(1); }

/* headings */
.anim.snap { opacity: 0; transform: translateY(1rem); transition: opacity 0.55s ease-out, transform 0.55s ease-out; will-change: transform, opacity; }
.anim.snap.inview { transition-delay: 0.4s; opacity: 1; transform: translateY(0); }

/* text */
.anim.child > * { opacity: 0; transform: translateY(0.75rem); transition: opacity 1s ease, transform 1s ease; will-change: transform, opacity; }
.anim.child > *.inview { transition-delay: 0.4s; opacity: 1; transform: translateY(0); }

.btn { padding: 0; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; background: var(--black); border: 0; position: relative; display: inline-flex; -webkit-appearance: none; appearance: none; }
.btn > span { padding: 12px 20px; background: var(--white); color: var(--black); border: 1px solid var(--black); position: relative; top: 0; left: 0; display: inline-flex; transition: top 0.4s ease, left 0.4s ease, background-color 0.4s ease, border-color 0.4s ease; }
.btn:hover > span { top: -2px; left: -2px; }

.btn.rv { background: var(--lavender);}
.btn.rv > span { background: var(--black); color: var(--lavender); border-color: var(--lavender); }

.btn.black { background: var(--black);}
.btn.black > span { background: var(--black); color: var(--white); border-color: var(--black); }

.btn.lavender > span { background: var(--lavender); }

@media only screen and (min-width: 1024px) {
	.btn { font-size: 18px; }
	.btn > span { padding: 0.667em 1.111em; border-width: 0.056em; }
	.btn:hover > span { top: -0.222em; left: -0.222em; }
}

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

.form-theme .gform_confirmation_message { font-weight: 600; font-size: 16px; line-height: 22px; }
.form-theme .gform_wrapper > .gform_heading { display: none; }
.form-theme .gform_wrapper > .gform_validation_errors { padding: 0 0 24px; }
.form-theme .gform_wrapper > .gform_validation_errors h2 { font-weight: 600; font-size: 16px; line-height: 22px; color: #FF0000; }
.form-theme .gform_fields { display: grid; grid-template-columns: 1fr; gap: 8px; }
.form-theme .gform_fields div.gfield > label { display: none; }
.form-theme .gform_fields div.gfield .ginput_container input[type="text"],
.form-theme .gform_fields div.gfield .ginput_container input[type="email"],
.form-theme .gform_fields div.gfield .ginput_container textarea { width: 100%; padding: 13px 18px; font-family: 'Corporate Mono', monospace; font-size: 16px; background: rgba(255, 255, 255, 0.20); border: 1px solid var(--black); }
.form-theme .gform_fields div.gfield .ginput_container input[type="text"]::placeholder,
.form-theme .gform_fields div.gfield .ginput_container input[type="email"]::placeholder,
.form-theme .gform_fields div.gfield .ginput_container textarea::placeholder { text-transform: uppercase; }
.form-theme .gform_fields div.gfield.gfield_error .ginput_container input[type="text"],
.form-theme .gform_fields div.gfield.gfield_error .ginput_container input[type="email"],
.form-theme .gform_fields div.gfield.gfield_error .ginput_container textarea { border-color: #FF0000; }
.form-theme .gform_fields div.gfield .gfield_description { padding: 0.25em 0 0; font-weight: 600; font-size: 16px; line-height: 22px; }
.form-theme .gform_fields div.gfield .gfield_description.validation_message { color: #FF0000; }
.form-theme .gform_fields fieldset.gfield--type-checkbox { margin: 10px 0; }
.form-theme .gform_fields fieldset.gfield--type-checkbox > legend { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox { padding: 24px 0 0; display: flex; flex-wrap: wrap; gap: 24px; }
.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox .gchoice input[type="checkbox"] { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox .gchoice label { padding: 0 0 0 1.900em; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; position: relative; display: block; }
.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox .gchoice label::before { width: 1.000em; height: 1.000em; position: absolute; top: 0; left: 0; background: rgba(255, 255, 255, 0.20); border: 1px solid #231D1B; content: " "; display: block; }
.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox .gchoice label::after { width: 0.25em; height: 0.5em; border: solid #231D1B; border-width: 0 0.083em 0.083em 0; transform: rotate(45deg); position: absolute; top: 0.175em; left: 0.375em; content: " "; display: none; }
.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox .gchoice input[type="checkbox"]:checked + label::after { display: block; }
.form-theme .gform_fields fieldset.gfield--type-consent { padding: 4px 0; display: flex; flex-direction: column; gap: 10px; }
.form-theme .gform_fields fieldset.gfield--type-consent > legend { display: none; }
.form-theme .gform_fields fieldset.gfield--type-consent .gfield_description { font-size: 14px; line-height: 1.125; order: 1; }
.form-theme .gform_fields fieldset.gfield--type-consent .gfield_description.validation_message { font-weight: 600; font-size: 16px; line-height: 22px; color: #FF0000; order: 3; }
.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container { order: 2; }
.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container input[type="checkbox"] { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container label { padding: 0 0 0 2.250em; font-size: 14px; line-height: 1.1; position: relative; display: block; }
.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container label::before { width: 1.250em; height: 1.250em; position: absolute; top: -0.125em; left: 0.125em; border: 1px solid #231D1B; content: " "; display: block; }
.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container label::after { width: 0.375em; height: 0.750em; border: solid #231D1B; border-width: 0 0.125em 0.125em 0; transform: rotate(45deg); position: absolute; top: 0.063em; left: 0.563em; content: " "; display: none; }
.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container input[type="checkbox"]:checked + label::after { display: block; }
.form-theme .gform_footer { padding: 14px 0 0; }

@media only screen and (min-width: 1024px) {
	.form-theme .gform_confirmation_message { font-size: 20px; line-height: 1.3; }
	.form-theme .gform_wrapper > .gform_validation_errors { padding: 0 0 24px; }
	.form-theme .gform_wrapper > .gform_validation_errors h2 { font-size: 20px; line-height: 1.3; }
	.form-theme .gform_fields { gap: 12px; }
	.form-theme .gform_fields div.gfield .ginput_container input[type="text"],
	.form-theme .gform_fields div.gfield .ginput_container input[type="email"],
	.form-theme .gform_fields div.gfield .ginput_container textarea { padding: 0.850em 1.200em; font-size: 20px; border-width: 0.050em; }
	.form-theme .gform_fields div.gfield .gfield_description { font-size: 20px; line-height: 1.3; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox { margin: 14px 0 22px; justify-content: space-between; gap: 34px; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox > legend { font-size: 20px; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox { padding: 30px 280px 0 0; gap: 34px; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox .gchoice label { font-size: 20px; }
	.form-theme .gform_fields fieldset.gfield--type-consent { padding: 8px 0; gap: 20px; }
	.form-theme .gform_fields fieldset.gfield--type-consent .gfield_description { font-size: 16px; }
	.form-theme .gform_fields fieldset.gfield--type-consent .gfield_description.validation_message { font-size: 20px; line-height: 1.3; }
	.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container label { font-size: 16px; }
	.form-theme .gform_footer { padding: 20px 0 0; }
}

@media only screen and (min-width: 1024px) {
	.form-theme .gform_confirmation_message { font-size: 1.042vw; }
	.form-theme .gform_wrapper > .gform_validation_errors { padding: 0 0 1.25vw; }
	.form-theme .gform_wrapper > .gform_validation_errors h2 { font-size: 1.042vw; }
	.form-theme .gform_fields { gap: 0.625vw; }
	.form-theme .gform_fields div.gfield .ginput_container input[type="text"],
	.form-theme .gform_fields div.gfield .ginput_container input[type="email"],
	.form-theme .gform_fields div.gfield .ginput_container textarea { font-size: 1.042vw; }
	.form-theme .gform_fields div.gfield .gfield_description { font-size: 1.042vw; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox { margin: 0.729vw 0 1.146vw; gap: 1.771vw; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox > legend { font-size: 1.042vw; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox { padding: 1.563vw 14.583vw 0 0; gap: 1.771vw; }
	.form-theme .gform_fields fieldset.gfield--type-checkbox .gfield_checkbox .gchoice label { font-size: 1.042vw; }
	.form-theme .gform_fields fieldset.gfield--type-consent { padding: 0.417vw 0; gap: 1.042vw; }
	.form-theme .gform_fields fieldset.gfield--type-consent .gfield_description { font-size: 0.833vw; }
	.form-theme .gform_fields fieldset.gfield--type-consent .gfield_description.validation_message { font-size: 1.042vw; }
	.form-theme .gform_fields fieldset.gfield--type-consent .ginput_container label { font-size: 0.833vw; }
	.form-theme .gform_footer { padding: 1.042vw 0 0; }
}

html.start-a-project { overflow: hidden; }
body > .start-a-project { width: 100%; height: 100%; overflow: auto; background: var(--lavender); position: fixed; top: 0; left: 0; transform: translateY(-100%); transition: transform 0.4s ease; z-index: 100; }
html.start-a-project body > .start-a-project { transform: translateY(0); }
body > .start-a-project .wrap { min-height: 100%; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; }
body > .start-a-project ul.close { padding: 24px; text-align: right; }
body > .start-a-project ul.close li a.btn span { width: 2.222em; height: 2.222em; padding: 0; justify-content: center; align-items: center; }
body > .start-a-project ul.close li a.btn > span img { width: 1.056em; height: auto; }
body > .start-a-project .hold { padding: 48px 24px; display: grid; grid-template-columns: 1fr; gap: 48px; }
body > .start-a-project .hold .text h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; text-wrap: balance; }
body > .start-a-project .hold .text p { margin: 1.071em 0 0; font-family: 'Corporate Mono', monospace; font-size: 18px; line-height: 1.25; text-transform: uppercase; text-wrap: balance; }
body > .start-a-project .hold .text h3 { margin: 1.364em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 600; font-size: 18px; line-height: 1.25; text-transform: uppercase; text-wrap: balance; }
body > .start-a-project .hold .text ol { margin: 1em 0 0; font-size: 16px; line-height: 1.3; counter-reset: ol; display: flex; flex-direction: column; gap: 1.3em; }
body > .start-a-project .hold .text ol li { padding: 0 0 0 1.500em; position: relative; }
body > .start-a-project .hold .text ol li::before { position: absolute; top: 0; left: 0.500em; counter-increment: ol; content: counter(ol) "."; display: block; }

@media only screen and (min-width: 1024px) {
	body > .start-a-project ul.close { padding: 34px 48px; }
	body > .start-a-project .hold { padding: 48px; grid-template-columns: 1fr 1054px; gap: 48px; }
	body > .start-a-project .hold .text h2 { font-size: 48px; }
	body > .start-a-project .hold .text p { width: 480px; font-size: 28px; }
	body > .start-a-project .hold .text h3 { font-size: 22px; }
	body > .start-a-project .hold .text ol { width: 510px; font-size: 20px; }
	body > .start-a-project .hold .form .gform_fields { grid-template-columns: 1fr 1fr; gap: 20px 28px; }
	body > .start-a-project .hold .form .gform_fields .gfield.gfield--width-full { grid-column: span 2; }
}

@media only screen and (min-width: 1024px) {
	body > .start-a-project ul.close { padding: 1.771vw 2.5vw; }
	body > .start-a-project .hold { padding: 2.5vw; grid-template-columns: 1fr 54.896vw; gap: 2.5vw; }
	body > .start-a-project .hold .text h2 { font-size: 2.5vw; }
	body > .start-a-project .hold .text p { width: 25vw; font-size: 1.458vw; }
	body > .start-a-project .hold .text h3 { font-size: 1.146vw; }
	body > .start-a-project .hold .text ol { width: 26.563vw; font-size: 1.042vw; }
	body > .start-a-project .hold .form .gform_fields { gap: 1.042vw 1.458vw; }
}

body > header { width: 100%; position: fixed; top: 0; left: 0; border-bottom: 1px solid var(--black); z-index: 99; }
body > header .notice { background: var(--white); border-bottom: 1px solid var(--black); max-height: 50px; overflow: hidden; text-align: center; transition: max-height 0.4s ease-in; }
body > header.headroom--not-top .notice { max-height: 0; }
body > header .notice p { font-size: 12px; text-wrap: balance; }
body > header .notice p a { padding: 6px 20px; display: block; transition: transform 0.2s ease, background-color 0.4s ease; }
body > header .notice p a:hover { background: var(--lavender); transform: scale(1.02); }
body > header .header { padding: 12px 20px; background: var(--lavender); display: flex; justify-content: space-between; align-items: center; }
body > header .header h1 img { width: 54px; height: auto; }
body > header .header h1 a { position: relative; display: block; }
body > header .header h1 a::after { width: 53px; height: 22px; position: absolute; top: 0; left: 0; background: url(images/header-seven.svg) no-repeat 0 0 / contain; transform-origin: bottom left; transition: transform 0.1s linear; content: " "; display: block; }
body > header .header h1 a:hover::after { transform: rotate(11deg); }
body > header .header > ul li button { width: 26px; height: 26px; background: none; border: 0; position: relative; -webkit-appearance: none; appearance: none; display: flex; align-items: center; }
body > header .header > ul li button span { width: 100%; height: 2px; background: var(--black); border-radius: 2px; position: relative; display: block; transition: transform 0.4s ease; }
body > header .header > ul li button span::before,
body > header .header > ul li button span::after { width: 100%; height: 2px; background: var(--black); border-radius: 2px; position: absolute; left: 0; content: " "; display: block; transition: top 0.4s ease, transform 0.4s ease; }
body > header .header > ul li button span::before { top: -8px; }
body > header .header > ul li button span::after { top: 8px; }
html.menu body > header .header > ul li button span { transform: rotate(45deg); }
html.menu body > header .header > ul li button span::before { top: 0; }
html.menu body > header .header > ul li button span::after { top: 0; transform: rotate(-90deg); }
body > header .header nav { display: none; }

@media only screen and (min-width: 1024px) {
	body > header { border-bottom-width: 1px; }
	body > header .notice { border-bottom-width: 1px; }
	body > header .notice p { font-size: 16px; }
	body > header .notice p a { padding: 0.500em 3.375em; }
	body > header .header { padding: 0 48px 0 54px; }
	body > header .header h1 img { width: 100px; }
	body > header .header h1 a::after { width: 98px; height: 40px; }
	body > header .header > ul { display: none; }
	body > header .header nav { display: flex; align-items: center; gap: 20px; }
	body > header .header nav ul:nth-child(1) { display: flex; }
	body > header .header nav ul:nth-child(1) a { text-decoration: underline; text-decoration-color: var(--lavender); text-underline-offset: 0.25em; }
	body > header .header nav ul:nth-child(1) li.current-menu-item > a,
	body.tax-project_services > header .header nav ul:nth-child(1) li.menu-item-object-projects > a,
	body.single-projects > header .header nav ul:nth-child(1) li.menu-item-object-projects > a,
	body.single-services > header .header nav ul:nth-child(1) li.menu-item-object-services > a,
	body.single-sectors > header .header nav ul:nth-child(1) li.menu-item-object-sectors > a,
	body.tax-insights_categories > header .header nav ul:nth-child(1) li.menu-item-object-insights > a,
	body.single-insights > header .header nav ul:nth-child(1) li.menu-item-object-insights > a,
	body > header .header nav ul:nth-child(1) a:hover { text-decoration-color: var(--black); }
	body > header .header nav ul:nth-child(1) > li { position: relative; }
	body > header .header nav ul:nth-child(1) > li > a { padding: 2.250em 1.125em; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: inline-flex; gap: 0.500em; }
	body > header .header nav ul:nth-child(1) > li.menu-item-has-children > a::after { width: 0.813em; height: 0.813em; background: url(images/menu-arrow.svg) no-repeat 50% 50% / contain; transition: transform 0.4s ease; content: " "; display: block; }
	body > header .header nav ul:nth-child(1) > li:hover.menu-item-has-children > a::after { transform: rotate(180deg); }
	body > header .header nav ul:nth-child(1) > li > ul { padding: 22px 0; background: var(--lavender); position: absolute; top: calc( 100% + 1px ); left: -18px; opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
	body > header .header nav ul:nth-child(1) > li:hover > ul { opacity: 1; pointer-events: auto; }
	body > header .header nav ul:nth-child(1) > li > ul > li a { padding: 0.750em 2.250em; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; white-space: nowrap; display: block; }
	body > header .header nav ul:nth-child(2) li a.btn > span { padding: 0.417em 0.972em; }
}

@media only screen and (min-width: 1024px) {
	body > header { border-bottom-width: 0.052vw; }
	body > header .notice { border-bottom-width: 0.052vw; }
	body > header .notice p { font-size: var(--fluid-16); }
	body > header .header { padding: 0 2.5vw 0 2.813vw; }
	body > header .header h1 img { width: clamp(50px, 5.208vw, 100px); }
	body > header .header h1 a::after { width: clamp(49px, 5.104vw, 98px); height: clamp(20px, 2.083vw, 40px); }
	body > header .header nav { gap: 1.042vw; }
	body > header .header nav ul:nth-child(1) > li > a { font-size: var(--fluid-16); }
	body > header .header nav ul:nth-child(1) > li > ul { padding: 1.146vw 0; top: calc( 100% + 0.052vw ); left: -0.938vw; }
	body > header .header nav ul:nth-child(1) > li > ul > li a { font-size: var(--fluid-16); }
}

@media screen {
	body.admin-bar > header { top: 32px; }
}
@media screen and ( max-width: 782px ) {
	body.admin-bar > header { top: 46px; }
}

html.menu { overflow-y: hidden; }
body > .menu { width: 100%; height: 100%; position: fixed; top: 0; left: -100%; background: var(--lavender); overflow: auto; transition: left 0.4s ease; z-index: 98; }
html.menu body > .menu { left: 0; }
body > .menu nav { height: 100%; padding: 155px 20px 0; display: flex; flex-direction: column; justify-content: space-between; }
body > .menu nav ul:nth-child(1) { display: flex; flex-direction: column; gap: 30px; }
body > .menu nav ul:nth-child(1) > li > a { font-family: 'Corporate Mono', monospace; font-size: 20px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 14px; }
body > .menu nav ul:nth-child(1) > li.menu-item-has-children > a::after { width: 15px; height: 15px; background: url(images/menu-arrow.svg) no-repeat 50% 50% / contain; transition: transform 0.4s ease; content: " "; display: block; }
body > .menu nav ul:nth-child(1) > li.menu-item-has-children.open > a::after { transform: rotate(180deg); }
body > .menu nav ul:nth-child(1) > li > ul { padding: 13px 0 4px; display: none; }
body > .menu nav ul:nth-child(1) > li > ul > li { padding: 15px 0 0; }
body > .menu nav ul:nth-child(1) > li > ul > li:first-child { padding: 0; }
body > .menu nav ul:nth-child(1) > li > ul > li > a { font-size: 16px; }
body > .menu nav ul:nth-child(2) { padding: 60px 0 40px; }
body > .menu nav ul:nth-child(2) li a,
body > .menu nav ul:nth-child(2) li a span { width: 100%; display: flex; }
body > .menu nav ul:nth-child(2) li a span { text-align: center; justify-content: center; }

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

html.preloader { overflow-y: hidden; }
html.preloader.finished { overflow-y: visible; }
body > .preloader { width: 100%; height: 100%; background: var(--black); position: fixed; top: 0; left: 0; transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1); z-index: 9999; }
body > .preloader::before { width: 215px; height: 88px; position: absolute; top: calc( 50% - 73px ); left: calc( 50% - 109px ); background: url(images/seven.svg) no-repeat 50% 50% / contain; transform-origin: bottom left; transition: transform 0.1s linear; content: " "; display: block; }
html.snap body > .preloader::before { transform: rotate(11deg); }
body > .preloader::after { width: 217px; height: 53px; position: absolute; top: calc( 50% + 19px ); left: calc( 50% - 107px ); background: url(images/video.svg) no-repeat 50% 50% / contain; content: " "; display: block; }

body > .preloader + main { transform: translateY(100dvh); transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1); }

html.loaded body > .preloader { transform: translateY(-100%); }
html.loaded body > .preloader + main { transform: translateY(0); }

main { background: var(--white); }

main .underline-links a:not(.btn) { text-decoration: underline; text-underline-offset: 0.25em; }
main .underline-links a:not(.btn):hover { color: var(--lavender); }

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

main figure.gen { height: 0; }
main figure.gen a { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; }
main figure.gen img,
main figure.gen video,
main figure.gen iframe { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }

main > .video-banner { color: var(--white); background: var(--black); overflow: hidden; }
main > .video-banner figure video { width: 100%; height: 100vh; height: 100dvh; object-fit: cover; }
main > .video-banner .grid { width: 100%; position: absolute; bottom: 42px; left: 0; }
main > .video-banner .grid .heading { padding: 0 18px; }
main > .video-banner .grid .heading h1 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 46px; font-size: 11.795vw; text-transform: uppercase; position: relative; mix-blend-mode: difference; }
main > .video-banner .grid .heading h1 > span { display: flex; justify-content: space-between; }
main > .video-banner .grid .line { margin: 15px 18px; height: 1px; background: var(--white); content: " "; display: block; }
main > .video-banner .grid .text p { font-family: 'Corporate Mono', monospace; font-size: 21px; line-height: 30px; text-transform: uppercase; text-align: center; }
main > .video-banner .grid ul { padding: 30px 0 0 18px; }
main > .video-banner .grid::after { width: 48px; height: 42px; background: url(images/video-banner-arrow.svg) no-repeat 50% 50% / contain; position: absolute; bottom: 0; right: 18px; animation: video-banner-bounce 2s ease-in-out infinite; content: " "; display: block; }
@keyframes video-banner-bounce {
	0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
	40% { transform: translateY(-20%); }
	60% { transform: translateY(-10%); }
}

@media only screen and (min-width: 1024px) {
	main > .video-banner .grid { bottom: 52px; }
	main > .video-banner .grid .heading { padding: 0; }
	main > .video-banner .grid .heading h1 { font-size: 122px; text-align: center; }
	main > .video-banner .grid .heading h1 > span { display: inline; }
	main > .video-banner .grid .line { margin: 30px 48px 42px; height: 1px; }
	main > .video-banner .grid .text p { font-size: 28px; line-height: 1.071; }
	main > .video-banner .grid ul { padding: 0; position: absolute; bottom: 6px; left: 48px; }
	main > .video-banner .grid::after { width: 58px; height: 52px; right: 48px; }
}

@media only screen and (min-width: 1024px) {
	main > .video-banner .grid { bottom: 2.708vw; }
	main > .video-banner .grid .heading h1 { font-size: 6.354vw; }
	main > .video-banner .grid .line { margin: 1.563vw 2.5vw 2.188vw; height: 0.052vw; }
	main > .video-banner .grid .text p { font-size: 1.458vw; }
	main > .video-banner .grid ul { bottom: 0.313vw; left: 2.5vw; }
	main > .video-banner .grid::after { width: 3.021vw; height: 2.708vw; right: 2.5vw; }
}

main > .logos { padding: 48px 0; }
main > .logos .scroll-wrapper { overflow: hidden; }
main > .logos .scroll { display: flex; width: max-content; animation: scroll-left 25s linear infinite; }
main > .logos.rv .scroll { animation: scroll-right 25s linear infinite; }
@keyframes scroll-left {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@keyframes scroll-right {
	0% { transform: translateX(-50%); }
	100% { transform: translateX(0); }
}
main > .logos .scroll .logo { height: 48px; padding: 0 44px; display: flex; align-items: center; justify-content: center; }
main > .logos .scroll .logo img { width: auto; max-width: 90px; height: 100%; object-fit: contain; }
main > .logos .scroll .logo img { filter: brightness(0) saturate(100%) invert(95%) sepia(8%) saturate(107%) hue-rotate(7deg) brightness(95%) contrast(89%); }

@media only screen and (min-width: 1024px) {
	main > .logos { padding: 62px 0; }
	main > .logos .scroll { animation: scroll-left 30s linear infinite; }
	main > .logos .scroll .logo { height: 70px; padding: 0 70px; }
	main > .logos .scroll .logo img { max-width: 180px; }
}

@media only screen and (min-width: 1024px) {
	main > .logos { padding: 3.229vw 0; }
	main > .logos .scroll .logo { height: 3.646vw; padding: 0 3.646vw; }
	main > .logos .scroll .logo img { max-width: 9.375vw; }
}

main > .image-scroller { padding: 0 0 48px; background: var(--black); }
main > .image-scroller .scroll-wrapper { overflow: hidden; }
main > .image-scroller .scroll { display: flex; width: max-content; animation: scroll-left 25s linear infinite; }
main > .image-scroller.rv .scroll { animation: scroll-right 25s linear infinite; }
main > .image-scroller .scroll .image { width: 231px; padding: 0 6px; }
main > .image-scroller .scroll .image figure.gen { padding: 68.49% 0 0; }

@media only screen and (min-width: 1024px) {
	main > .image-scroller { padding: 0 0 162px; }
	main > .image-scroller .scroll .image { width: 462px; padding: 0 12px; }
}

@media only screen and (min-width: 1024px) {
	main > .image-scroller { padding: 0 0 8.438vw; }
	main > .image-scroller .scroll .image { width: 24.063vw; padding: 0 0.625vw; }
}

main > .sector-header { padding: 184px 24px 0; color: var(--white); background: var(--black); }
main > .sector-header .wrap { padding: 0 0 48px; border-bottom: 1px solid var(--white); }
main > .sector-header figure { width: 45px; position: absolute; top: 0px; right: 0; }
main > .sector-header h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .sector-header h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .sector-header h1 { margin: 1.208em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; line-height: 1.04; text-transform: uppercase; color: var(--lavender); }
main > .sector-header p { margin: 0.786em 0 0; font-size: 20px; line-height: 1.25; }

@media only screen and (min-width: 1024px) {
	main > .sector-header { padding: 190px 48px 0; }
	main > .sector-header .wrap { padding: 0 924px 106px 0; border-bottom-width: 1px; }
	main > .sector-header figure { width: 180px; top: 40px; }
	main > .sector-header h2 { font-size: 20px; gap: 0.700em; }
	main > .sector-header h2::before { width: 0.900em; height: 0.900em; }
	main > .sector-header h1 { font-size: 96px; }
	main > .sector-header p { font-size: 28px; }
}

@media only screen and (min-width: 1024px) {
	main > .sector-header { padding: clamp( calc( 91px + 5.156vw ), 9.896vw, calc( 122px + 3.542vw ) ) 2.5vw 0; }
	main > .sector-header .wrap { padding: 0 48.125vw 5.521vw 0; border-bottom-width: 0.052vw; }
	main > .sector-header figure { width: 9.375vw; top: 2.083vw; }
	main > .sector-header h2 { font-size: 1.042vw; }
	main > .sector-header h1 { font-size: 5vw; }
	main > .sector-header p { font-size: 1.458vw; }
}

main > .intro { height: 2392px; overflow: hidden; }
main > .intro .text { width: 100%; text-align: center; position: absolute; top: 568px; left: 0; z-index: 3; }
main > .intro .text h2 { max-width: 390px; margin: 0 auto; font-family: 'Corporate Mono', monospace; font-size: 20px; text-transform: uppercase; text-wrap: balance; }
main > .intro .text h3 { max-width: 390px; margin: 22px auto 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; line-height: 48px; text-transform: uppercase; text-wrap: balance; }
main > .intro .text p { max-width: 390px; margin: 15px auto 0; font-size: 20px; line-height: 26px; text-wrap: balance; }
main > .intro .text ul { margin: 112px 0 0; }
main > .intro figure.boom { width: 311px; position: absolute; top: 0; left: 50%; z-index: 1; }
main > .intro figure.boom img { width: 100%; height: auto; }
main > .intro figure.camera { width: 389px; position: absolute; top: 1161px; left: 0; z-index: 1; }
main > .intro figure.camera img { width: 100%; height: auto; }
main > .intro .grid { width: 100%; height: 100%; position: absolute; top: 0; left: 0; overflow: hidden; z-index: 2; }
main > .intro .grid figure { position: absolute; will-change: transform; transition: transform 0.1s linear; --speed: 0.15; }
main > .intro .grid figure.parallax.slow { --speed: 250; }
main > .intro .grid figure.parallax.medium { --speed: 500; }
main > .intro .grid figure.parallax.fast { --speed: 1000; }
main > .intro .grid figure.parallax.reverse { --speed: -250; }
main > .intro .grid figure .parallax-inner { width: 100%; height: 100%; }
main > .intro .grid figure .parallax-inner img,
main > .intro .grid figure .parallax-inner video { width: 100%; height: 100%; object-fit: cover; }
main > .intro .grid figure { width: var(--w); height: var(--h); top: var(--t); left: calc( ( ( var(--l) + ( var(--w) / 2 ) ) / 390px ) * 100% ); transform: translateX(-50%); }

@media only screen and (min-width: 1024px) {
	main > .intro { height: 2610px; padding: 0 0 378px; overflow: visible; }
	main > .intro .text { width: 500px; margin: 0 auto; padding: 378px 0 0; position: sticky; top: 0; left: auto; }
	main > .intro .text h2 { max-width: 100%; margin: 0; font-size: 20px; }
	main > .intro .text h3 { max-width: 100%; margin: 0.458em 0 0; font-size: 48px; line-height: 1; }
	main > .intro .text p { max-width: 100%; margin: 1.200em 0 0; font-size: 20px; line-height: 1.3; }
	main > .intro .text ul { margin: 40px 0 0; }
	main > .intro figure.boom { width: 701px; margin: 0 0 0 auto; position: sticky; top: 0; left: auto; }
	main > .intro figure.camera { width: 782px; position: sticky; top: 0; left: auto; float: left; overflow: hidden; }
	main > .intro figure.camera img { position: relative; left: -52px; }
	main > .intro .grid figure { transform: translateX(0); }
	main > .intro .grid figure:nth-child(1) { width: 284px; height: 348px; top: 52px; left: 1194px; }
	main > .intro .grid figure:nth-child(2) { width: 284px; height: 348px; top: 370px; left: 1434px; }
	main > .intro .grid figure:nth-child(3) { width: 352px; height: 271px; top: 273px; left: 288px; }
	main > .intro .grid figure:nth-child(4) { width: 352px; height: 271px; top: 699px; left: 48px; }
	main > .intro .grid figure:nth-child(5) { width: 284px; height: 369px; top: 820px; left: 356px; }
	main > .intro .grid figure:nth-child(6) { width: 438px; height: 271px; top: 1261px; left: 1434px; }
	main > .intro .grid figure:nth-child(7) { width: 271px; height: 352px; top: 1378px; left: 126px; }
	main > .intro .grid figure:nth-child(8) { width: 284px; height: 369px; top: 1773px; left: 1434px; }
	main > .intro .grid figure:nth-child(9) { width: 352px; height: 271px; top: 2037px; left: 1126px; }
}

@media only screen and (min-width: 1024px) {
	main > .intro { height: 135.938vw; padding: 0 0 19.6875vw; }
	main > .intro .text { width: 26.0417vw; padding: 19.6875vw 0 0; }
	main > .intro .text h2 { font-size: 1.0417vw; }
	main > .intro .text h3 { font-size: 2.5vw; }
	main > .intro .text p { font-size: 1.0417vw; }
	main > .intro .text ul { margin: 2.0833vw 0 0; }
	main > .intro figure.boom { width: 36.5104vw; }
	main > .intro figure.camera { width: 40.7292vw; }
	main > .intro figure.camera img { left: -2.7083vw; }
	main > .intro .grid figure:nth-child(1) { width: 14.7917vw; height: 18.125vw; top: 2.7083vw; left: 62.2917vw; }
	main > .intro .grid figure:nth-child(2) { width: 14.7917vw; height: 18.125vw; top: 19.2708vw; left: 74.6875vw; }
	main > .intro .grid figure:nth-child(3) { width: 18.3333vw; height: 14.1146vw; top: 14.2188vw; left: 15vw; }
	main > .intro .grid figure:nth-child(4) { width: 18.3333vw; height: 14.1146vw; top: 36.4063vw; left: 2.5vw; }
	main > .intro .grid figure:nth-child(5) { width: 14.7917vw; height: 19.2188vw; top: 42.7083vw; left: 18.5417vw; }
	main > .intro .grid figure:nth-child(6) { width: 22.8125vw; height: 14.1146vw; top: 65.6771vw; left: 74.6875vw; }
	main > .intro .grid figure:nth-child(7) { width: 14.1146vw; height: 18.3333vw; top: 71.7708vw; left: 6.5625vw; }
	main > .intro .grid figure:nth-child(8) { width: 14.7917vw; height: 19.2188vw; top: 92.3438vw; left: 74.6875vw; }
	main > .intro .grid figure:nth-child(9) { width: 18.3333vw; height: 14.1146vw; top: 106.1719vw; left: 58.6458vw; }
}

main > .scrolling-intro {
	position: relative;
	height: 350vh;
	text-align: center;
	z-index: 1;
}

main > .scrolling-intro .text p:first-of-type {
	opacity: 1;
	transform: translateY(0);
}

main > .scrolling-intro .scene {
	position: sticky;
	top: 0;
	/* height: 100vh;
	overflow: hidden;
	z-index: 1; */
}

main > .scrolling-intro .grid {
	position: absolute;
	inset: 0;
}

main > .scrolling-intro .text {
	position: absolute;
	top: 40vh;
	left: 0;
	width: 100%;
	z-index: 4;
}

main > .scrolling-intro .text h2,
main > .scrolling-intro .text p {
	position: static;
	margin: 0;
}

main > .scrolling-intro .text h2 {
	margin-bottom: 30px;
	font-family: 'Corporate Mono', monospace;
}

main > .scrolling-intro .text p {
	font-family: 'Corporate Mono', monospace;
	font-weight: 800;
	font-size: clamp(2.25rem, 1.9091rem + 0.9091vw, 3rem);
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s ease, transform .6s ease;
}

main > .scrolling-intro .text p.visible {
	opacity: 1;
	transform: translateY(0);
}

main > .scrolling-intro .text p + p {
	margin-top: 10px;
}

main > .scrolling-intro .scroll-triggers {
	position: absolute;
	top: 20vh;
	left: 0;
	width: 100%;
	z-index: 10;
	pointer-events: none;
}

main > .scrolling-intro .scroll-triggers span {
	display: block;
	height: 80vh;
}

.scrolling-intro .image-1,
.scrolling-intro .image-2,
.scrolling-intro .image-3,
.scrolling-intro .image-4,
.scrolling-intro .image-5,
.scrolling-intro .image-6 {
	position: absolute;
}

.scrolling-intro .image-2 {
	z-index: 2;
}

.scrolling-intro .image-4 {
        right: 0;
        z-index: 1;
}

.scrolling-intro .text h2 {
	font-size: 20px;
	text-transform: uppercase;
}

main > .scrolling-intro + section {
    position: relative;
    z-index: 10;
    background: #fff;
}

@media only screen and (min-width: 1024px) {
	main > .scrolling-intro .grid { top: 0; }
	main > .scrolling-intro .grid .image-1 { width: 438px; top: 162px; left: 292px; }
	main > .scrolling-intro .grid .image-1 figure.gen { padding: 61.87% 0 0; }
	main > .scrolling-intro .grid .image-2 { width: 284px; top: 458px; right: 48px; }
	main > .scrolling-intro .grid .image-2 figure.gen { padding: 122.54% 0 0; }
	main > .scrolling-intro .grid .image-3 { width: 782px; top: 536px; }
	main > .scrolling-intro .grid .image-3 img { left: -120px; }
	main > .scrolling-intro .grid .image-4 { width: 816px; top: -60px; }
	main > .scrolling-intro .grid .image-4 img { right: -80px; }
	main > .scrolling-intro .grid .image-5 { width: 438px; top: 394px; left: 44px; }
	main > .scrolling-intro .grid .image-5 figure.gen { padding: 61.87% 0 0; }
	main > .scrolling-intro .grid .image-6 { width: 438px; top: 770px; right: 202px; }
	main > .scrolling-intro .grid .image-6 figure.gen { padding: 61.87% 0 0; }
	/* main > .scrolling-intro .text { height: 350vh; padding: 429px 0 0; }
	main > .scrolling-intro .text h2 { margin: 0 0 60vh; font-size: 20px; top: 429px; }
	main > .scrolling-intro .text p { margin: 0 0 60vh; font-size: 48px; top: calc( 40vh + 34px ); }
	main > .scrolling-intro .text p:nth-of-type(2) { top: calc( 40vh + 34px + ( 72px * 1 ) ); }
	main > .scrolling-intro .text p:nth-of-type(3) { top: calc( 40vh + 34px + ( 72px * 2 ) ); } */
}

@media only screen and (min-width: 1024px) {
	main > .scrolling-intro .grid .image-1 { width: 40.556vh; top: 15vh; left: 27.037vh; }
	main > .scrolling-intro .grid .image-2 { width: 26.296vh; top: 42.407vh; right: 4.444vh; }
	main > .scrolling-intro .grid .image-3 { width: 60vh; top: 50vh; }
	main > .scrolling-intro .grid .image-3 img { left: -11.111vh; }
	main > .scrolling-intro .grid .image-4 { width: 60vh; top: 0vh; }
	main > .scrolling-intro .grid .image-4 img { right: -7.407vh; }
	main > .scrolling-intro .grid .image-5 { width: 40.556vh; top: 36.481vh; left: 4.074vh; }
	main > .scrolling-intro .grid .image-6 { width: 40.556vh; top: 71.296vh; right: 18.704vh; }
	/* main > .scrolling-intro .text { padding: 39.722vh 0 0; }
	main > .scrolling-intro .text h2 { font-size: 1.852vh; top: 39.722vh; }
	main > .scrolling-intro .text p { font-size: 4.444vh; top: calc( 40vh + 3.148vh ); }
	main > .scrolling-intro .text p:nth-of-type(2) { top: calc( 40vh + 3.148vh + ( 6.667vh * 1 ) ); }
	main > .scrolling-intro .text p:nth-of-type(3) { top: calc( 40vh + 3.148vh + ( 6.667vh * 2 ) ); } */
}

/* Scroll Trigger Changes */

.scrolling-intro .text p {
  transform: translateY(100vh);
  opacity: 0;
  will-change: transform, opacity;
}

.scrolling-intro .text p {
  opacity: 0;
  transition: opacity .6s ease;
}

.scrolling-intro .text p.visible {
  opacity: 1;
}

main > .how-we-help-listing .grid ul li a figure.gen video {
	opacity: 0;
	transition: opacity 0.4s ease;
}

main > .how-we-help-listing .grid ul li a:hover figure.gen video {
	opacity: 1;
}

main > .how-we-help-listing { padding: 48px 20px 0; background: var(--white); z-index: 2; }
main > .how-we-help-listing .heading a { text-decoration: underline; text-underline-offset: 0.25em; }
main > .how-we-help-listing .heading a:hover { color: var(--lavender); }
main > .how-we-help-listing .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .how-we-help-listing .heading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .how-we-help-listing .text-1 { padding: 26px 0 0; }
main > .how-we-help-listing .text-1 p { margin: 1em 0 0; font-size: 28px; line-height: 36px; }
main > .how-we-help-listing .text-1 p:first-child { margin: 0; }
main > .how-we-help-listing .text-2 { padding: 20px 0 0; }
main > .how-we-help-listing .text-2 p { margin: 1.5em 0 0; font-size: 16px; line-height: 1.5; }
main > .how-we-help-listing .text-2 p:first-child { margin: 0; }
main > .how-we-help-listing .grid { padding: 32px 0 40px; border-bottom: 1px solid var(--black); }
main > .how-we-help-listing .grid ul { display: grid; grid-template-columns: 1fr; gap: 32px; }
main > .how-we-help-listing .grid ul li a { position: relative; display: block; }
main > .how-we-help-listing .grid ul li a h3 { margin: 0 0 12px; padding: 0 40px 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 26px; text-transform: uppercase; text-wrap: balance; position: relative; }
main > .how-we-help-listing .grid ul li a h3::after { width: 18px; position: absolute; bottom: 4px; right: 0; height: 17px; background: url(images/how-we-help-listing-arrow.svg) no-repeat 50% 50% / contain; transition: transform 0.4s ease; content: " "; display: block; }
main > .how-we-help-listing .grid ul li a:hover h3::after { transform: rotate(45deg); }
main > .how-we-help-listing .grid ul li a figure.gen { padding: 57.14% 0 0; }

@media only screen and (min-width: 1024px) {
	main > .how-we-help-listing { padding: 120px 48px; }
	main > .how-we-help-listing .heading { width: 550px; padding: 14px 0 0; position: sticky; top: 136px; float: left; }
	main > .how-we-help-listing .heading h2 { font-size: 20px; gap: 0.700em; }
	main > .how-we-help-listing .heading h2::before { width: 0.900em; height: 0.900em; }
	main > .how-we-help-listing .text-1 { padding: 26px 0 0; }
	main > .how-we-help-listing .text-1 p { margin: 1em 0 0; font-size: 28px; line-height: 1.286; }
	main > .how-we-help-listing .text-1 p:first-child { margin: 0; }
	main > .how-we-help-listing .text-2 { padding: 20px 0 0; }
	main > .how-we-help-listing .text-2 p { margin: 1.300em 0 0; font-size: 20px; line-height: 1.3; }
	main > .how-we-help-listing .text-2 p:first-child { margin: 0; }
	main > .how-we-help-listing .grid { margin: 0 0 0 616px; padding: 0; border-bottom: 0; }
	main > .how-we-help-listing .grid ul { grid-template-columns: 1fr 1fr; gap: 74px 24px; }
	main > .how-we-help-listing .grid ul li a h3 { margin: 0 0 0.526em; padding: 0 1.053em 0 0; font-size: 38px; }
	main > .how-we-help-listing .grid ul li a h3::after { width: 0.737em; bottom: 0.132em; height: 0.711em; }
	main > .how-we-help-listing .grid ul li a figure.gen { padding: 59.12% 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .how-we-help-listing { padding: 6.25vw 2.5vw; }
	main > .how-we-help-listing .heading { width: 28.646vw; padding: 0.729vw 0 0; top: 7.083vw; }
	main > .how-we-help-listing .heading h2 { font-size: 1.042vw; }
	main > .how-we-help-listing .text-1 { padding: 1.354vw 0 0; }
	main > .how-we-help-listing .text-1 p { font-size: 1.458vw; }
	main > .how-we-help-listing .text-2 { padding: 1.042vw 0 0; }
	main > .how-we-help-listing .text-2 p { font-size: 1.042vw; }
	main > .how-we-help-listing .grid { margin: 0 0 0 32.083vw; }
	main > .how-we-help-listing .grid ul { gap: 3.854vw 1.25vw; }
	main > .how-we-help-listing .grid ul li a h3 { font-size: 1.979vw; }
}

main > .projects { padding: 0 0 84px; }
main > .projects .main-heading { padding: 184px 20px 32px; }
main > .projects .main-heading .heading h1 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .projects .main-heading .heading h1::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .projects .main-heading .heading p { margin: 34px 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; text-transform: uppercase; text-wrap: balance; }
main > .projects .main-heading .filter { padding: 40px 0 0; }
main > .projects .main-heading .filter .form form { position: relative; display: block; }
main > .projects .main-heading .filter .form form::after { width: 16px; height: 10px; background: url(images/projects-filter-arrow.svg) no-repeat 50% 50% / contain; position: absolute; top: calc( 50% - 5px ); right: 16px; pointer-events: none; content: " "; display: block; z-index: 2; }
main > .projects .main-heading .filter .form form  select { width: 100%; padding: 12px 16px; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; background: var(--white); border: 1px solid var(--black); -webkit-appearance: none; appearance: none; }
main > .projects .main-heading .filter .links { display: none; }
main > .projects .related-heading { padding: 0 20px 24px; }
main > .projects .related-heading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 26px; text-transform: uppercase; }
main > .projects .featured-heading { padding: 84px 20px 14px; }
main > .projects .featured-heading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 26px; text-transform: uppercase; }
main > .projects .featured-heading ul { display: none; }
main > .projects .grid { padding: 0 20px; display: grid; grid-template-columns: 1fr; gap: 40px; }
main > .projects .grid .item a { position: relative; display: block; }
main > .projects .grid .item a figure.gen { padding: 57.14% 0 0; }
main > .projects .grid .item a figure.gen video { opacity: 0; transition: opacity 0.4s ease; }
main > .projects .grid .item a h3 { margin: 14px 0 0;font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 16px; text-transform: uppercase; }
main > .projects .grid .item a p { margin: 10px 0 0; font-size: 20px; }
main > .projects .paging { padding: 48px 0 0; text-align: center; }

.cursor-button { width: 8.750em; height: 8.750em; font-family: 'Corporate Mono', monospace; font-size: 16px; font-size: clamp(10px, 0.833vw, 0.833vw); text-transform: uppercase; background: rgba(243, 190, 255, 0.8); border-radius: 50%; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(0); position: fixed; top: 0; left: 0; z-index: 9999; text-align: center; display: flex; align-items: center; justify-content: center; gap: 0.500em; transition: opacity 0.2s ease, transform 0.2s ease; }
.cursor-button::after { width: 0.750em; height: 0.750em; background: url(images/view-more.svg) no-repeat 50% 50% / contain; content: " "; display: block; }
.cursor-button.active { opacity: 1; transform: translate(-50%, -50%) scale(1); }

@media (hover: hover) and (pointer: fine) {
	main > .projects .grid .item a { cursor: none; }
	.cursor-button { display: flex; }
}
@media (hover: none) {
	.cursor-button { display: none; }
}

@media only screen and (min-width: 1024px) {
	main > .projects { padding: 0 0 84px; }
	main > .projects .main-heading { padding: 192px 48px 48px; }
	main > .projects .main-heading .heading h1 { font-size: 20px; gap: 0.700em; }
	main > .projects .main-heading .heading h1::before { width: 0.900em; height: 0.900em; }
	main > .projects .main-heading .heading p { margin: 0.542em 0 0; font-size: 96px; line-height: 1.042; }
	main > .projects .main-heading .filter { padding: 58px 0 0; }
	main > .projects .main-heading .filter .form { display: none; }
	main > .projects .main-heading .filter .links { display: block; }
	main > .projects .main-heading .filter .links ul { display: flex; flex-wrap: wrap; gap: 18px; }
	main > .projects .main-heading .filter .links ul li a.btn { font-size: 16px; }
	main > .projects .main-heading .filter .links ul li a.btn > span span.count { margin: 0 0 -0.021em 1em; font-size: 0.625em; position: relative; align-self: end; }
	main > .projects .related-heading { padding: 94px 48px 48px; }
	main > .projects .related-heading h2 { font-size: 48px; }
	main > .projects .featured-heading { padding: 84px 48px 38px; display: flex; justify-content: space-between; align-items: end; }
	main > .projects .featured-heading h2 { font-size: 48px; }
	main > .projects .featured-heading ul { display: block; }
	main > .projects .grid { padding: 0 48px; grid-template-columns: 1fr 1fr 1fr; gap: 84px 24px; }
	main > .projects .grid.anim.child > .item.inview:nth-child(3n-1) { transition-delay: 0.6s; }
	main > .projects .grid.anim.child > .item.inview:nth-child(3n) { transition-delay: 0.8s; }
	main > .projects .grid .item a figure.gen { padding: 59.12% 0 0; }
	main > .projects .grid .item a:hover figure.gen video { opacity: 1; }
	main > .projects .grid .item a h3 { margin: 1em 0 0; font-size: 20px; }
	main > .projects .grid .item a p { margin: 0.500em 0 0; font-size: 28px; }
	main > .projects .grid .item.full { grid-column: span 3; }
	main > .projects .grid .item.full a figure.gen { padding: 35.64% 0 0; }
	main > .projects .paging { padding: 110px 0 0; }

	.cursor-button { font-size: 16px; }
}

@media only screen and (min-width: 1024px) {
	main > .projects { padding: 0 0 4.375vw; }
	main > .projects .main-heading { padding: clamp( calc( 91px + 5.260vw ), 10.000vw, calc( 122px + 3.646vw ) ) 2.5vw 2.5vw; }
	main > .projects .main-heading .heading h1 { font-size: 1.042vw; }
	main > .projects .main-heading .heading p { font-size: 5vw; }
	main > .projects .main-heading .filter { padding: 3.021vw 0 0; }
	main > .projects .main-heading .filter .links ul { gap: 0.938vw; }
	main > .projects .main-heading .filter .links ul li a.btn { font-size: 0.833vw; }
	main > .projects .related-heading { padding: 4.896vw 2.5vw 2.5vw; }
	main > .projects .related-heading h2 { font-size: 2.5vw; }
	main > .projects .featured-heading { padding: 4.375vw 2.5vw 1.979vw; }
	main > .projects .featured-heading h2 { font-size: 2.5vw; }
	main > .projects .grid { padding: 0 2.5vw; gap: 4.375vw 1.25vw; }
	main > .projects .grid .item a h3 { font-size: 1.042vw; }
	main > .projects .grid .item a p { font-size: 1.458vw; }
	main > .projects .paging { padding: 5.729vw 0 0; }

	.cursor-button { font-size: 0.833vw; }
}

main > .project-header { padding: 184px 20px 60px; background: var(--lavender); }
main > .project-header .all ul li a { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 20px; }
main > .project-header .all ul li a::before { width: 14px; height: 15px; background: url(images/projects-back.svg) no-repeat 50% 50% / contain; content: " "; display; block; }
main > .project-header .heading { padding: 34px 0 0; }
main > .project-header .heading h1 { font-size: 28px; line-height: 34px; }
main > .project-header .media { padding: 26px 0 0; }
main > .project-header .media figure.gen { padding: 57.71% 0 0; }
main > .project-header .media.video figure.gen::after { width: 100%; height: 72px; background: url(images/quote-play-pink.svg) no-repeat 50% 50% / contain; position: absolute; top: 50%; left: 0; transform: translateY(-50%); transition: color 0.4s ease; pointer-events: none; content: " "; display: block; }
main > .project-header .media.replaced figure.gen::after { opacity: 0; }
main > .project-header .media ul { margin: 8px 0 0; }
main > .project-header .media ul.hide { opacity: 0; transition-delay: 0s; pointer-events: none; }
main > .project-header .media ul.anim.soft.inview.hide { opacity: 0; transition-delay: 0s; }
main > .project-header .details { padding: 28px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
main > .project-header .details .col h2 { font-weight: 600; font-size: 20px; }
main > .project-header .details .col p,
main > .project-header .details .col ul { margin: 0.300em 0 0; font-family: 'Corporate Mono', monospace; font-size: 16px; line-height: 1.25; text-transform: uppercase; }

@media only screen and (min-width: 1024px) {
	main > .project-header { padding: 192px 0 140px; display: grid; grid-template-columns: 1126px 1fr; }
	main > .project-header .all { padding: 0 48px; grid-column: 1 / span 2; grid-row: 1; }
	main > .project-header .all ul li a { font-size: 20px; gap: 1em; }
	main > .project-header .all ul li a::before { width: 0.700em; height: 0.750em; }
	main > .project-header .heading { padding: 38px 200px; grid-column: 1; grid-row: 2; }
	main > .project-header .heading h1 { font-size: 52px; line-height: 1.192; text-wrap: balance; }
	main > .project-header .media { margin: 0 214px; padding: 0; grid-column: 1 / span 2; grid-row: 3; }
	main > .project-header .media figure.gen { padding: 51.61% 0 0; }
	main > .project-header .media.video figure.gen::after { height: 110px; }
	main > .project-header .media ul { margin: 0; position: absolute; bottom: 24px; right: 24px; }
	main > .project-header .details { padding: 48px 200px 104px 0; gap: 48px 24px; grid-column: 2; grid-row: 2; align-content: start; }
	main > .project-header .details .col h2 { font-size: 22px; }
	main > .project-header .details .col p,
	main > .project-header .details .col ul { margin: 0.300em 0 0; font-size: 20px; line-height: 1.25; }
}

@media only screen and (min-width: 1024px) {
	main > .project-header { padding: clamp( calc( 91px + 5.260vw ), 10.000vw, calc( 122px + 3.646vw ) ) 0 7.292vw; grid-template-columns: 58.646vw 1fr; }
	main > .project-header .all { padding: 0 2.5vw; }
	main > .project-header .all ul li a { font-size: 1.042vw; }
	main > .project-header .heading { padding: 1.979vw 10.417vw; }
	main > .project-header .heading h1 { font-size: 2.708vw; }
	main > .project-header .media { margin: 0 11.146vw; }
	main > .project-header .media.video figure.gen::after { height: 5.729vw; }
	main > .project-header .media ul { bottom: 1.25vw; right: 1.25vw; }
	main > .project-header .details { padding: 2.5vw 10.417vw 5.417vw 0; gap: 2.5vw 1.25vw; }
	main > .project-header .details .col h2 { font-size: 1.146vw; }
	main > .project-header .details .col p,
	main > .project-header .details .col ul { font-size: 1.042vw; }
}

main > .project-text { padding: 44px 20px; }
main > .project-text a { text-decoration: underline; text-underline-offset: 0.25em; }
main > .project-text a:hover { color: var(--lavender); }
main > .project-text h2 { margin: 44px 0 0; font-family: 'Corporate Mono', monospace; font-size: 28px; text-transform: uppercase; }
main > .project-text p { margin: 22px 0 0; font-size: 16px; line-height: 22px; }
main > .project-text h2 + p { margin-top: 12px; }
main > .project-text p:first-child { margin: 0; font-size: 22px; line-height: 26px; }

@media only screen and (min-width: 1024px) {
	main > .project-text { padding: 138px 668px 138px 202px; }
	main > .project-text h2 { margin: 1.357em 0 0; font-size: 28px; }
	main > .project-text p { margin: 1.300em 0 0; font-size: 20px; line-height: 1.3; }
	main > .project-text h2 + p { margin-top: 0.600em; }
	main > .project-text p:first-child { margin: 0; font-size: 28px; line-height: 1.214; }
}

@media only screen and (min-width: 1024px) {
	main > .project-text { padding: 7.187vw 34.792vw 7.187vw 10.521vw; }
	main > .project-text h2 { font-size: 1.458vw; }
	main > .project-text p { font-size: 1.042vw; }
	main > .project-text p:first-child { font-size: 1.458vw; }
}

main > .project-images { padding: 0 20px 62px; display: grid; grid-template-columns: 1fr; gap: 18px; }
main > .project-images figure.gen { padding: 67.02% 0 0; }
main > .project-images figure.gen.full { padding: 42.88% 0 0; }

@media only screen and (min-width: 1024px) {
	main > .project-images { padding: 138px 202px 144px; grid-template-columns: 1fr 1fr; gap: 25px; }
	main > .project-text + .project-images { padding-top: 0; }
	main > .project-images figure.gen.full { grid-column: span 2; }
}

@media only screen and (min-width: 1024px) {
	main > .project-images { padding: 7.187vw 10.521vw 7.5vw; gap: 1.302vw; }
	main > .project-text + .project-images { padding-top: 0; }
}

main > .project-stats { padding: 34px 20px 42px; background: var(--lavender); }
main > .project-stats h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; text-transform: uppercase; }
main > .project-stats .grid { padding: 25px 0 0; display: grid; grid-template-columns: 1fr; gap: 22px; }
main > .project-stats .grid .box { padding: 20px 30px 20px 20px; height: 280px; border: 1px solid var(--black); display: flex; flex-direction: column; justify-content: flex-end; }
main > .project-stats .grid .box h3 { margin: 0 0 auto; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
main > .project-stats .grid .box p.stat { font-family: 'Corporate Mono', monospace; font-size: 64px; }
main > .project-stats .grid .box p.details { margin: 8px 0 0; font-family: 'Corporate Mono', monospace; font-size: 16px; line-height: 18px; text-transform: uppercase; }

@media only screen and (min-width: 1024px) {
	main > .project-stats { padding: 134px 48px 144px; }
	main > .project-stats h2 { font-size: 48px; }
	main > .project-stats .grid { padding: 68px 0 0; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
	main > .project-stats .grid .box { padding: 26px 62px 26px 30px; height: 340px; border-width: 1px; }
	main > .project-stats .grid .box h3 { font-size: 20px; }
	main > .project-stats .grid .box p.stat { font-size: 96px; }
	main > .project-stats .grid .box p.details { margin: 0.900em 0 0; font-size: 20px; line-height: 1.2; }
}

@media only screen and (min-width: 1024px) {
	main > .project-stats { padding: 6.979vw 2.5vw 7.5vw; }
	main > .project-stats h2 { font-size: 2.5vw; }
	main > .project-stats .grid { padding: 3.542vw 0 0; gap: 1.25vw; }
	main > .project-stats .grid .box { padding: 1.354vw 3.229vw 1.354vw 1.563vw; height: 17.708vw; border-width: 0.052vw; }
	main > .project-stats .grid .box h3 { font-size: 1.042vw; }
	main > .project-stats .grid .box p.stat { font-size: 5vw; }
	main > .project-stats .grid .box p.details { font-size: 1.042vw; }
}

main > .sectors-listing { padding: 42px 20px; }
main > .sectors-listing .heading { padding: 0 0 42px; }
main > .sectors-listing .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .sectors-listing .heading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .sectors-listing .links ul { border-bottom: 1px solid var(--black); }
main > .sectors-listing .links ul li { border-top: 1px solid var(--black); }
main > .sectors-listing .links ul li a { padding: 12px 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; display: flex; align-items: center; }
main > .sectors-listing .links ul li a::after { width: 35px; height: 38px; margin: 0 0 0 auto; background: url(images/sectors-listing-arrow.svg) no-repeat 50% 50% / contain; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .sectors-listing { padding: 96px 48px; display: grid; grid-template-columns: 1fr 1362px; }
	main > .sectors-listing .heading { padding: 0; }
	main > .sectors-listing .heading h2 { font-size: 20px; gap: 0.700em; }
	main > .sectors-listing .heading h2::before { width: 0.900em; height: 0.900em; }
	main > .sectors-listing .links ul { border-bottom-width: 1px; }
	main > .sectors-listing .links ul li { border-top-width: 1px; }
	main > .sectors-listing .links ul li a { padding: 0.229em 0; font-size: 96px; transition: padding 0.4s ease; }
	main > .sectors-listing .links ul li a:hover { padding-left: 1.250em; }
	main > .sectors-listing .links ul li a.inview:hover { transition-delay: 0s; }
	main > .sectors-listing .links ul li a::before { width: 0.813em; height: 0.813em; background: var(--lavender); border-radius: 50%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); opacity: 0; transition: opacity 0.4s ease; content: " "; display: block; }
	main > .sectors-listing .links ul li a:hover::before { opacity: 1; }
	main > .sectors-listing .links ul li a::after { width: 0.760em; height: 0.833em; }
}

@media only screen and (min-width: 1024px) {
	main > .sectors-listing { padding: 5vw 2.5vw; grid-template-columns: 1fr 70.938vw; }
	main > .sectors-listing .heading h2 { font-size: 1.042vw; }
	main > .sectors-listing .links ul { border-bottom-width: 0.052vw; }
	main > .sectors-listing .links ul li { border-top-width: 0.052vw; }
	main > .sectors-listing .links ul li a { font-size: 5vw; }
}

main > .quotes { padding: 42px 0; }
main > .quotes .quote { padding: 0 20px; }
main > .quotes .quote .hold { width: calc( 100vw - 40px ); color: var(--lavender); background: var(--black); }
main > .quotes .quote .hold blockquote { padding: 38px 24px 26px; position: relative; display: block; }
main > .quotes .quote .hold blockquote::before { width: 49px; height: 35px; margin: 0 0 30px; background: url(images/quote-pink.svg) no-repeat 50% 50% / contain; content: " "; display: block; }
main > .quotes .quote .hold blockquote q { font-size: 18px; line-height: 1.33; quotes: none; display: block; }
main > .quotes .quote .hold blockquote cite { margin: 54px 0 0; display: grid; grid-template-columns: 78px 1fr; gap: 18px; align-items: center; }
main > .quotes .quote .hold blockquote cite figure img { border: 2px solid var(--lavender); border-radius: 50%; }
main > .quotes .quote .hold blockquote cite div strong { font-family: 'Corporate Mono', monospace; font-weight: 400; font-size: 16px; text-transform: uppercase; display: block; }
main > .quotes .quote .hold blockquote cite div span { margin: 2px 0 0; font-weight: 600; font-size: 18px; line-height: 22px; display: block; }
main > .quotes .quote .hold ul { display: none; }
main > .quotes .quote .hold ul li .btn { background: var(--lavender);}
main > .quotes .quote .hold ul li .btn > span { background: var(--black); color: var(--lavender); border-color: var(--lavender); }

main > .quotes .quote.pink .hold { color: var(--black); background: var(--lavender); }
main > .quotes .quote.pink .hold blockquote::before { background-image: url(images/quote-black.svg); }
main > .quotes .quote.pink .hold blockquote cite figure img { border-color: var(--black); }
main > .quotes .quote.pink .hold ul li .btn { background: var(--black);}
main > .quotes .quote.pink .hold ul li .btn > span { background: var(--lavender); color: var(--black); border-color: var(--black); }

main > .quotes .video { padding: 0 20px; }
main > .quotes .video .hold { width: calc( 100vw - 40px ); color: var(--lavender); background: var(--black); }
main > .quotes .video .hold .wrap { padding: 103px 24px 26px; position: relative; display: block; }
main > .quotes .video .hold .wrap::before { width: 49px; height: 35px; background: url(images/quote-pink.svg) no-repeat 50% 50% / contain; position: absolute; top: 38px; left: 24px; content: " "; display: block; }
main > .quotes .video .hold .wrap figure.gen { padding: 48.90% 0 0; }
main > .quotes .video .hold .wrap figure.gen::after { width: 100%; height: 27.36%; background: url(images/quote-play-pink.svg) no-repeat 50% 50% / contain; position: absolute; top: 50%; left: 0; transform: translateY(-50%); pointer-events: none; content: " "; display: block; }
main > .quotes .video .hold .wrap .text p.description { margin: 24px 0 0; font-size: 18px; line-height: 1.33; }
main > .quotes .video .hold .wrap .text p.name { margin: 54px 0 0; font-family: 'Corporate Mono', monospace; font-weight: 400; font-size: 16px; text-transform: uppercase; }
main > .quotes .video .hold .wrap .text p.position { margin: 2px 0 0; font-weight: 600; font-size: 18px; line-height: 22px; }
main > .quotes .video .hold ul { display: none; }
main > .quotes .video .hold ul li .btn { background: var(--lavender);}
main > .quotes .video .hold ul li .btn > span { background: var(--black); color: var(--lavender); border-color: var(--lavender); }

main > .quotes .video.pink .hold { color: var(--black); background: var(--lavender); }
main > .quotes .video.pink .hold .wrap::before { background-image: url(images/quote-black.svg); }
main > .quotes .video.pink .hold .wrap figure.gen::after { background-image: url(images/quote-play-black.svg); }
main > .quotes .video.pink .hold ul li .btn { background: var(--black);}
main > .quotes .video.pink .hold ul li .btn > span { background: var(--lavender); color: var(--black); border-color: var(--black); }

main > .quotes .slides { padding: 0 0 58px; }
main > .quotes .slides .slick-arrow.btn { width: 38px; height: 38px; position: absolute; bottom: 0; right: 20px; -webkit-appearance: none; appearance: none; z-index: 50; }
main > .quotes .slides .slick-arrow.btn > span { width: 100%; height: 100%; padding: 0; background: url(images/quotes-arrow.svg) no-repeat 50% 50% / 18px auto var(--white); }
main > .quotes .slides .slick-prev.btn { right: 64px; }
main > .quotes .slides .slick-prev.btn > span { background-image: url(images/quotes-arrow-prev.svg); }
main > .quotes .slides .slick-track { display: flex; }
main > .quotes .slides .slick-track .slick-slide { height: auto; }
main > .quotes .slides .slick-track .slick-slide > div { height: 100%; }
main > .quotes .slides .slick-track .slick-slide .quote,
main > .quotes .slides .slick-track .slick-slide .quote .hold,
main > .quotes .slides .slick-track .slick-slide .video,
main > .quotes .slides .slick-track .slick-slide .video .hold { height: 100%; }

@media only screen and (min-width: 1024px) {
	main > .quotes { padding: 55px 0; }
	main > .quotes .single .quote,
	main > .quotes .single .video { margin: 0 auto; }
	main > .quotes .quote { width: 1540px; padding: 0 12px; }
	main > .quotes .quote .hold { width: 1516px; }
	main > .quotes .quote .hold blockquote { height: 650px; padding: 80px 78px 68px; display: flex; flex-direction: column; }
	main > .quotes .quote .hold blockquote::before { width: 73px; height: 52px; margin: 0 0 38px; }
	main > .quotes .quote .hold blockquote q { font-size: 28px; line-height: 1.214; }
	main > .quotes .quote .hold blockquote cite { margin: auto 0 0; grid-template-columns: 136px 1fr; gap: 24px; }
	main > .quotes .quote .hold blockquote cite figure img { border-width: 2px; }
	main > .quotes .quote .hold blockquote cite div strong { font-size: 20px; }
	main > .quotes .quote .hold blockquote cite div span { margin: 0.182em 0 0; font-size: 22px; line-height: 1; }
	main > .quotes .quote .hold ul { position: absolute; bottom: 78px; right: 78px; display: block; }

	main > .quotes .video { width: 1540px; padding: 0 12px; }
	main > .quotes .video .hold { width: 1516px; }
	main > .quotes .video .hold .wrap { padding: 170px 130px 78px 78px; display: grid; grid-template-columns: 822px 1fr; gap: 24px; align-items: center; }
	main > .quotes .video .hold .wrap::before { width: 73px; height: 52px; top: 80px; left: 78px; }
	main > .quotes .video .hold .wrap .text p.description { margin: 0; font-size: 28px; line-height: 1; }
	main > .quotes .video .hold .wrap .text p.name { margin: 1.900em 0 0; font-size: 20px; }
	main > .quotes .video .hold .wrap .text p.position { margin: 0.182em 0 0; font-size: 22px; line-height: 1; }
	main > .quotes .video .hold ul { position: absolute; bottom: 78px; right: 78px; display: block; }

	main > .quotes .slides { padding: 0 0 90px; }
	main > .quotes .slides .slick-arrow.btn { width: 60px; height: 60px; right: 202px; }
	main > .quotes .slides .slick-arrow.btn > span { background-size: 28px auto; }
	main > .quotes .slides .slick-prev.btn { right: 272px; }
}

@media only screen and (min-width: 1024px) {
	main > .quotes { padding: 2.865vw 0; }
	main > .quotes .quote { width: 80.208vw; padding: 0 0.625vw; }
	main > .quotes .quote .hold { width: 78.958vw; }
	main > .quotes .quote .hold blockquote { height: 33.854vw; padding: 4.167vw 4.063vw 3.542vw; }
	main > .quotes .quote .hold blockquote::before { width: 3.802vw; height: 2.708vw; margin: 0 0 1.979vw; }
	main > .quotes .quote .hold blockquote q { font-size: 1.458vw; }
	main > .quotes .quote .hold blockquote cite { grid-template-columns: 7.083vw 1fr; gap: 1.25vw; }
	main > .quotes .quote .hold blockquote cite figure img { border-width: 0.104vw; }
	main > .quotes .quote .hold blockquote cite div strong { font-size: 1.042vw; }
	main > .quotes .quote .hold blockquote cite div span { font-size: 1.146vw; }
	main > .quotes .quote .hold ul { bottom: 4.063vw; right: 4.063vw; }

	main > .quotes .video { width: 80.208vw; padding: 0 0.625vw; }
	main > .quotes .video .hold { width: 78.958vw; }
	main > .quotes .video .hold .wrap { padding: 8.854vw 6.771vw 4.063vw 4.063vw; grid-template-columns: 42.813vw 1fr; gap: 1.25vw; }
	main > .quotes .video .hold .wrap::before { width: 3.802vw; height: 2.708vw; top: 4.167vw; left: 4.063vw; }
	main > .quotes .video .hold .wrap .text p.description { font-size: 1.458vw; }
	main > .quotes .video .hold .wrap .text p.name { font-size: 1.042vw; }
	main > .quotes .video .hold .wrap .text p.position { font-size: 1.146vw; }
	main > .quotes .video .hold ul { bottom: 4.063vw; right: 4.063vw; }

	main > .quotes .slides { padding: 0 0 4.688vw; }
	main > .quotes .slides .slick-arrow.btn { width: 3.125vw; height: 3.125vw; right: 10.521vw; }
	main > .quotes .slides .slick-arrow.btn > span { background-size: 1.458vw auto; }
	main > .quotes .slides .slick-prev.btn { right: 14.167vw; }
}

main > .highlight { padding: 42px 20px; }
main > .highlight .box { padding: 24px; border: 1px solid var(--black); }
main > .highlight .box figure.gen { padding: 104.28% 0 0; }
main > .highlight .box .hold { padding: 20px 0 0; }
main > .highlight .box .hold a:not(.btn) { text-decoration: underline; text-underline-offset: 0.25em; }
main > .highlight .box .hold a:not(.btn):hover { color: var(--lavender); }
main > .highlight .box .hold .subheading p { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
main > .highlight .box .hold h2 { margin: 16px 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; line-height: 32px; text-transform: uppercase; text-wrap: balance; }
main > .highlight .box .hold .text { padding: 14px 0 0; }
main > .highlight .box .hold .text p { font-size: 20px; line-height: 24px; }
main > .highlight .box .hold ul { margin: 44px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .highlight { padding: 90px 48px; }
	main > .highlight .box { padding: 24px 120px 24px 24px; border-width: 1px; display: grid; grid-template-columns: 722px 1fr; align-items: center; gap: 65px; }
	main > .highlight .box figure.gen { padding: 78.67% 0 0; }
	main > .highlight .box .hold { padding: 0; }
	main > .highlight .box .hold .subheading p { font-size: 20px; }
	main > .highlight .box .hold h2 { margin: 0.5em 0 0; font-size: 48px; line-height: 1; }
	main > .highlight .box .hold .text { padding: 18px 0 0; }
	main > .highlight .box .hold .text p { font-size: 28px; line-height: 1.214; }
	main > .highlight .box .hold ul { margin: 66px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .highlight { padding: 4.688vw 2.5vw; }
	main > .highlight .box { padding: 1.25vw 6.25vw 1.25vw 1.25vw; border-width: 0.052vw; grid-template-columns: 37.604vw 1fr; align-items: center; gap: 3.385vw; }
	main > .highlight .box .hold .subheading p { font-size: 1.042vw; }
	main > .highlight .box .hold h2 { font-size: 2.5vw; }
	main > .highlight .box .hold .text { padding: 0.938vw 0 0; }
	main > .highlight .box .hold .text p { font-size: 1.458vw; }
	main > .highlight .box .hold ul { margin: 3.438vw 0 0; }
}

main > .founders { padding: 48px 24px; }
main > .founders .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .founders .heading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .founders .heading p { margin: 0.958em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .founders .grid { margin: 24px 0 0; display: grid; grid-template-columns: 1fr; gap: 24px; }
main > .founders .grid .col figure { position: relative; z-index: 1; display: block; }
main > .founders .grid .col .panel { width: 100%; height: 100%; padding: 24px; background: var(--lavender); position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.4s ease; z-index: 2; }
main > .founders .grid .col:hover .panel { opacity: 1; }
main > .founders .grid .col .panel p { margin: 1.300em 0 0; font-size: 12px; line-height: 1.300; }
main > .founders .grid .col .panel p:first-child { margin: 0; font-weight: 600; font-size: 14px; line-height: 1.25; }
main > .founders .grid .col .details { padding: 24px; z-index: 3; }
main > .founders .grid .col .details h3 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .founders .grid .col .details p { margin: 0.143em 0 0; font-size: 20px; line-height: 1.25; }
main > .founders .grid .col .details ul { margin: 2.000em 0 0; font-family: 'Corporate Mono', monospace; font-size: 16px; line-height: 1.25; text-transform: uppercase; display: flex; gap: 1.900em; }
main > .founders .grid .col .details ul li a { text-decoration: underline; text-underline-offset: 0.25em;  text-decoration-color: rgba(0,0,0,0); }
main > .founders .grid .col .details ul li a:hover { text-decoration-color: var(--black); }

@media only screen and (min-width: 1024px) {
	main > .founders { padding: 48px 48px 140px; }
	main > .founders .heading h2 { font-size: 20px; gap: 0.700em; }
	main > .founders .heading h2::before { width: 0.900em; height: 0.900em; }
	main > .founders .heading p { font-size: 48px; }
	main > .founders .grid { margin: 44px 0 0; grid-template-columns: 1fr 1fr 1fr; gap: 48px 24px; }
	main > .founders .grid .col .panel { padding: 24px; }
	main > .founders .grid .col .panel p { font-size: 20px; }
	main > .founders .grid .col .panel p:first-child { font-size: 22px; }
	main > .founders .grid .col .details { padding: 35px 24px; }
	main > .founders .grid .col .details h3 { font-size: 48px; }
	main > .founders .grid .col .details p { font-size: 28px; }
	main > .founders .grid .col .details ul { font-size: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .founders { padding: 2.5vw 2.5vw 7.292vw; }
	main > .founders .heading h2 { font-size: 1.042vw; }
	main > .founders .heading p { font-size: 2.5vw; }
	main > .founders .grid { margin: 2.292vw 0 0; grid-template-columns: 1fr 1fr 1fr; gap: 2.5vw 1.25vw; }
	main > .founders .grid .col .panel { padding: 1.25vw; }
	main > .founders .grid .col .panel p { font-size: 1.042vw; }
	main > .founders .grid .col .panel p:first-child { font-size: 1.146vw; }
	main > .founders .grid .col .details { padding: 1.823vw 1.25vw; }
	main > .founders .grid .col .details h3 { font-size: 2.5vw; }
	main > .founders .grid .col .details p { font-size: 1.458vw; }
	main > .founders .grid .col .details ul { font-size: 1.042vw; }
}

main > .clients { padding: 48px 24px; display: grid; grid-template-columns: 1fr; gap: 24px 0; }
main > .clients .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .clients .heading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .clients .subheading h3 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .clients .subheading p { margin: 0.800em 0 0; font-size: 16px; line-height: 1.3; }
main > .clients .logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px 0; }
main > .clients .logos .logo { width: 50%; height: 48px; padding: 0 44px; display: flex; align-items: center; justify-content: center; }
main > .clients .logos .logo img { width: auto; max-width: 90px; height: 100%; object-fit: contain; }

@media only screen and (min-width: 1024px) {
	main > .clients { padding: 204px 48px 368px; grid-template-columns: 738px 1fr; gap: 62px 0; }
	main > .clients .heading { grid-column: span 2; }
	main > .clients .heading h2 { font-size: 20px; gap: 0.700em; }
	main > .clients .heading h2::before { width: 0.900em; height: 0.900em; }
	main > .clients .subheading h3 { font-size: 48px; }
	main > .clients .subheading p { width: 636px; font-size: 20px; }
	main > .clients .logos { padding: 0 80px; gap: 100px 0; }
	main > .clients .logos .logo { width: calc( 100% / 3 ); height: 70px; padding: 0 70px; }
	main > .clients .logos .logo img { max-width: 180px; }
}

@media only screen and (min-width: 1024px) {
	main > .clients { padding: 10.625vw 2.5vw 19.167vw; grid-template-columns: 38.438vw 1fr; gap: 3.229vw 0; }
	main > .clients .heading h2 { font-size: 1.042vw; }
	main > .clients .subheading h3 { font-size: 2.5vw; }
	main > .clients .subheading p { width: 33.125vw; font-size: 1.042vw; }
	main > .clients .logos { padding: 0 4.167vw; gap: 5.208vw 0; }
	main > .clients .logos .logo { height: 3.646vw; padding: 0 3.646vw; }
	main > .clients .logos .logo img { max-width: 9.375vw; }
}

main > .founder-quote { color: var(--lavender); background: var(--black); display: grid; grid-template-columns: 1fr; }
main > .founder-quote .quote { padding: 48px 24px; }
main > .founder-quote .quote blockquote::before { width: 100%; height: 26px; margin: 0 0 48px; background: url(images/vision-quote.svg) no-repeat 0 0 / auto 100%; content: " "; display: block; }
main > .founder-quote .quote blockquote q { font-family: 'Corporate Mono', monospace; font-size: 28px; line-height: 1.083; text-transform: uppercase; color: var(--white); quotes: none; }
main > .founder-quote .quote blockquote q strong { padding: 0 0 0.375em; font-weight: 800; display: block; }
main > .founder-quote .quote blockquote cite { display: block; }
main > .founder-quote .quote blockquote cite strong { padding: 1em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 400; font-size: 16px; line-height: 1.25; text-transform: uppercase; display: block; }
main > .founder-quote .quote blockquote cite span { font-size: 18px; font-weight: 600; line-height: 1.25; display: block; }

@media only screen and (min-width: 1024px) {
	main > .founder-quote { grid-template-columns: 1fr 638px; }
	main > .founder-quote figure { grid-column: 2; grid-row: 1; }
	main > .founder-quote .quote { padding: 110px 48px; grid-column: 1; grid-row: 1; align-self: end; }
	main > .founder-quote .quote blockquote::before { height: 52px; margin: 0 0 104px; }
	main > .founder-quote .quote blockquote q { font-size: 48px; }
	main > .founder-quote .quote blockquote cite strong { font-size: 20px; }
	main > .founder-quote .quote blockquote cite span { font-size: 22px; }
}

@media only screen and (min-width: 1024px) {
	main > .founder-quote { grid-template-columns: 1fr 33.229vw; }
	main > .founder-quote .quote { padding: 5.729vw 2.5vw; }
	main > .founder-quote .quote blockquote::before { height: 2.708vw; margin: 0 0 5.417vw; }
	main > .founder-quote .quote blockquote q { font-size: 2.5vw; }
	main > .founder-quote .quote blockquote cite strong { font-size: 1.042vw; }
	main > .founder-quote .quote blockquote cite span { font-size: 1.146vw; }
}

main > .ticker { padding: 48px 0; background: var(--lavender); }
main > .ticker .heading { padding: 0 24px; }
main > .ticker .heading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .ticker .scroll-wrapper { margin: 24px 0 0; overflow: hidden; }
main > .ticker .scroll { display: flex; width: max-content; animation: scroll-left 40s linear infinite; }
main > .ticker .scroll .item { width: 308px; padding: 0 12px; }
main > .ticker .scroll .item .box { height: 100%; padding: 24px; background: var(--lavender); border: 1px solid var(--black); }
main > .ticker .scroll .item .box h3 { margin: 0 0 1.200em; font-family: 'Corporate Mono', monospace; font-size: 16px; line-height: 1.25; text-transform: uppercase; }
main > .ticker .scroll .item .box figure { text-align: center; mix-blend-mode: multiply; }
main > .ticker .scroll .item .box figure img { width: auto; height: 184px; }
main > .ticker .scroll .item .box p.stat { margin: 0.167em 0 0; font-family: 'Corporate Mono', monospace; font-size: 28px; }
main > .ticker .scroll .item .box p.text { margin: 1.100em 0 0; font-family: 'Corporate Mono', monospace; font-size: 16px; line-height: 1.25; text-transform: uppercase; text-wrap: balance; }

@media only screen and (min-width: 1024px) {
	main > .ticker { padding: 70px 0 142px; }
	main > .ticker .heading { padding: 0 48px; }
	main > .ticker .heading h2 { font-size: 48px; }
	main > .ticker .scroll-wrapper { margin: 44px 0 0; }
	main > .ticker .scroll .item { width: 616px; padding: 0 12px; }
	main > .ticker .scroll .item .box { padding: 24px 30px 56px; border-width: 1px; }
	main > .ticker .scroll .item .box h3 { font-size: 20px; }
	main > .ticker .scroll .item .box figure img { height: 368px; }
	main > .ticker .scroll .item .box p.stat { font-size: 96px; }
	main > .ticker .scroll .item .box p.text { font-size: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .ticker { padding: 3.646vw 0 7.396vw; }
	main > .ticker .heading { padding: 0 2.5vw; }
	main > .ticker .heading h2 { font-size: 2.5vw; }
	main > .ticker .scroll-wrapper { margin: 2.292vw 0 0; }
	main > .ticker .scroll .item { width: 32.083vw; padding: 0 0.625vw; }
	main > .ticker .scroll .item .box { padding: 1.25vw 1.563vw 2.917vw; border-width: 0.052vw; }
	main > .ticker .scroll .item .box h3 { font-size: 1.042vw; }
	main > .ticker .scroll .item .box figure img { height: 19.167vw; }
	main > .ticker .scroll .item .box p.stat { font-size: 5vw; }
	main > .ticker .scroll .item .box p.text { font-size: 1.042vw; }
}

/* main > .insights { padding: 0 0 24px; } */
main > .insights { padding: 24px 0 24px; }
main > .insights .main-heading { padding: 184px 20px 32px; }
main > .insights .main-heading .drone { display: none; }
main > .insights .main-heading .heading h1 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .insights .main-heading .heading h1::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .insights .main-heading .heading h2 { margin: 34px 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; line-height: 48px; text-transform: uppercase; text-wrap: balance; }
main > .insights .main-heading .text { padding: 10px 0 0; }
main > .insights .main-heading .text p { font-size: 20px; }
main > .insights .main-heading .filter { padding: 40px 0 0; }
main > .insights .main-heading .filter .form form { position: relative; display: block; }
main > .insights .main-heading .filter .form form::after { width: 16px; height: 10px; background: url(images/projects-filter-arrow.svg) no-repeat 50% 50% / contain; position: absolute; top: calc( 50% - 5px ); right: 16px; pointer-events: none; content: " "; display: block; z-index: 2; }
main > .insights .main-heading .filter .form form select { width: 100%; padding: 12px 16px; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; background: var(--white); border: 1px solid var(--black); -webkit-appearance: none; appearance: none; }
main > .insights .main-heading .filter .links { display: none; }
main > .insights .related-heading { padding: 48px 20px 24px; }
main > .insights .related-heading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 26px; text-transform: uppercase; }
main > .insights .subheading { padding: 0 20px 24px; }
main > .insights .paging + .subheading { padding-top: 48px; }
main > .insights .subheading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .insights .latest { padding: 42px 20px 24px; }
main > .insights .latest h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .insights .latest h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .insights .grid { padding: 0 20px; display: grid; grid-template-columns: 1fr; gap: 34px; }
main > .insights .grid .item a { position: relative; display block; }
main > .insights .grid .item a figure.gen { padding: 57.14% 0 0; }
main > .insights .grid .item a figure.gen span { padding: 6px; font-family: 'Corporate Mono', monospace; font-size: 14px; text-transform: uppercase; background: var(--lavender); position: absolute; top: 9px; left: 9px; display: inline-flex; }
main > .insights .grid .item a time { margin: 15px 0 0; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: block; }
main > .insights .grid .item a h3 { margin: 8px 0 0; font-size: 20px; line-height: 24px; }
main > .insights .paging { padding: 48px 0 0; text-align: center; }

main > .insights.page-listing .grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
main > .insights.page-listing .grid .item a figure.gen { padding: 92.48% 0 0; }

@media only screen and (min-width: 1024px) {
	main > .insights { padding: 0 0 118px; }
	main > .insights .main-heading { padding: 192px 48px 92px; }
	main > .insights .main-heading .drone { width: 670px; height: 306px; position: absolute; top: 184px; right: 58px; display: block; }
	main > .insights .main-heading .drone img { animation: droneHover 8s ease-in-out infinite; }
	@keyframes droneHover {
		0% { transform: translate(0, 0) rotate(0deg); }
		20% { transform: translate(18px, -12px) rotate(1deg); }
		40% { transform: translate(42px, 8px) rotate(-1deg); }
		60% { transform: translate(12px, 22px) rotate(0.5deg); }
		80% { transform: translate(-14px, 4px) rotate(-0.5deg);  }
		100% { transform: translate(0, 0) rotate(0deg); }
	}
	main > .insights .main-heading .heading h1 { font-size: 20px; gap: 0.700em; }
	main > .insights .main-heading .heading h1::before { width: 0.900em; height: 0.900em; }
	main > .insights .main-heading .heading h2 { margin: 0.854em 0 0; font-size: 96px; line-height: 1.042; }
	main > .insights .main-heading .text { width: 744px; padding: 22px 0 0; }
	main > .insights .main-heading .text p { font-size: 28px; line-height: 1.286; text-wrap: balance; }
	main > .insights .main-heading .filter { padding: 36px 0 0; }
	main > .insights .main-heading .filter .form { display: none; }
	main > .insights .main-heading .filter .links { display: block; }
	main > .insights .main-heading .filter .links h2 { margin: 0 0 1em; font-family: 'Corporate Mono', monospace; font-size: 20px; text-transform: uppercase; }
	main > .insights .main-heading .filter .links ul { display: flex; flex-wrap: wrap; gap: 12px; }
	main > .insights .related-heading { padding: 0px 48px 0px; }
	main > .insights .related-heading h2 { font-size: 48px; }
	main > .insights .subheading { padding: 0 48px 48px; }
	main > .insights .paging + .subheading { padding-top: 92px; }
	main > .insights .subheading h2 { font-size: 48px; }
	main > .insights .latest { padding: 70px 48px 48px; }
	main > .insights .latest h2 { font-size: 20px; gap: 0.700em; }
	main > .insights .latest h2::before { width: 0.900em; height: 0.900em;  }
	main > .insights .grid { padding: 0 48px; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 48px 24px; }
	main > .insights .grid .item a figure.gen { padding: 73.06% 0 0; background: var(--lavender); }
	main > .insights .grid .item a figure.gen img { transition: left 0.4s ease, top 0.4s ease; }
	main > .insights .grid .item a:hover figure.gen img { top: -6px; left: -6px; }
	main > .insights .grid .item a figure.gen span { padding: 0.500em; font-size: 16px; top: 0.625em; left: 0.625em; }
	main > .insights .grid .item a time { margin: 0.700em 0 0; font-size: 20px; }
	main > .insights .grid .item a h3 { margin: 0.429em 0 0; font-size: 28px; line-height: 1.214; }
	main > .insights .paging { padding: 70px 0 0; text-align: center; }

	main > .insights.page-listing .grid { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; gap: 48px 24px; }
	main > .insights.page-listing .grid .item a figure.gen { padding: 92.48% 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .insights { padding: 6.146vw 0 6.146vw; }
	main > .insights .main-heading { padding: clamp( calc( 91px + 5.260vw ), 10.000vw, calc( 122px + 3.646vw ) )
 2.5vw 4.792vw; }
	main > .insights .main-heading .drone { width: 34.896vw; height: 15.937vw; top: clamp( calc( 91px + 4.844vw ), 9.583vw, calc( 122px + 3.229vw ) )
; right: 3.021vw; }
	@keyframes droneHover {
		0% { transform: translate(0, 0) rotate(0deg); }
		20% { transform: translate(0.938vw, -0.625vw) rotate(1deg); }
		40% { transform: translate(2.188vw, 0.417vw) rotate(-1deg); }
		60% { transform: translate(0.625vw, 1.146vw) rotate(0.5deg); }
		80% { transform: translate(-0.729vw, 0.208vw) rotate(-0.5deg);  }
		100% { transform: translate(0, 0) rotate(0deg); }
	}
	main > .insights .main-heading .heading h1 { font-size: 1.042vw; }
	main > .insights .main-heading .heading h2 { font-size: 5vw; }
	main > .insights .main-heading .text { width: 38.75vw; padding: 1.146vw 0 0; }
	main > .insights .main-heading .text p { font-size: 1.458vw; }
	main > .insights .main-heading .filter { padding: 1.875vw 0 0; }
	main > .insights .main-heading .filter .links h2 { font-size: 1.042vw; }
	main > .insights .main-heading .filter .links ul { gap: 0.625vw; }
	main > .insights .subheading { padding: 0 2.5vw 2.5vw; }
	main > .insights .paging + .subheading { padding-top: 4.792vw; }
	main > .insights .subheading h2 { font-size: 2.5vw; }
	main > .insights .latest { padding: 3.646vw 2.5vw 2.5vw; }
	main > .insights .latest h2 { font-size: 1.042vw; }
	main > .insights .grid { padding: 0 2.5vw; gap: 2.5vw 1.25vw; }
	main > .insights .grid .item a:hover figure.gen img { top: -0.313vw; left: -0.313vw; }
	main > .insights .grid .item a figure.gen span { font-size: 0.833vw; }
	main > .insights .grid .item a time { font-size: 1.042vw; }
	main > .insights .grid .item a h3 { font-size: 1.458vw; }
	main > .insights .paging { padding: 3.646vw 0 0; }

	main > .insights.page-listing .grid { gap: 2.5vw 1.25vw; }
}

main > .insight-header { padding: 184px 20px 0; }
main > .insight-header .back ul li a { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: inline-flex; align-items: center; gap: 20px; }
main > .insight-header .back ul li a::before { width: 14px; height: 15px; background: url(images/projects-back.svg) no-repeat 50% 50% / contain; content: " "; display; block; }
main > .insight-header .heading { padding: 34px 0 0; }
main > .insight-header .heading time { margin: 0 0 14px; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: block; }
main > .insight-header .heading h1 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; text-wrap: balance; }
main > .insight-header .heading .overview { padding: 14px 0 0; }
main > .insight-header .heading .overview p { font-size: 20px; line-height: 24px; }
main > .insight-header .heading .overview a { text-decoration: underline; text-underline-offset: 0.25em; }
main > .insight-header .heading .overview a:hover { color: var(--lavender); }
main > .insight-header .author { padding: 34px 0 0; display: flex; align-items: center; gap: 12px; }
main > .insight-header .author figure { width: 58px; height: 58px; }
main > .insight-header .author figure img { width: 100%; height: 100%; border: 1px solid var(--black); border-radius: 50%; object-fit: cover; }
main > .insight-header .author .text strong { font-family: 'Corporate Mono', monospace; font-weight: 400; font-size: 16px; text-transform: uppercase; display: block; }
main > .insight-header .author .text span { padding: 2px 0 0; font-weight: 600; font-size: 18px; display: block; }
main > .insight-header .image { padding: 34px 0 0; }
main > .insight-header .image figure.gen { padding: 37.34% 0 0; }

@media only screen and (min-width: 1024px) {
	main > .insight-header { padding: 192px 0 0; }
	main > .insight-header .back { padding: 0 48px; }
	main > .insight-header .back ul li a { font-size: 20px; gap: 1em; }
	main > .insight-header .back ul li a::before { width: 0.700em; height: 0.750em; }
	main > .insight-header .heading { padding: 56px 202px 0; }
	main > .insight-header .heading time { margin: 0 0 1.250em; font-size: 20px; }
	main > .insight-header .heading h1 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 48px; text-transform: uppercase; text-wrap: balance; }
	main > .insight-header .heading .overview { padding: 18px 0 0; }
	main > .insight-header .heading .overview p { font-size: 28px; line-height: 1.214; }
	main > .insight-header .author { padding: 50px 202px 0; gap: 24px; }
	main > .insight-header .author figure { width: 116px; height: 116px; }
	main > .insight-header .author figure img { border-width: 1px; }
	main > .insight-header .author .text strong { font-size: 20px; }
	main > .insight-header .author .text span { padding: 0.182em 0 0; font-size: 22px; }
	main > .insight-header .image { padding: 56px 202px 0; }
}

@media only screen and (min-width: 1024px) {
	main > .insight-header { padding: clamp( calc( 91px + 5.260vw ), 10.000vw, calc( 122px + 3.646vw ) ) 0 0; }
	main > .insight-header .back { padding: 0 2.5vw; }
	main > .insight-header .back ul li a { font-size: 1.042vw; }
	main > .insight-header .heading { padding: 2.917vw 10.521vw 0; }
	main > .insight-header .heading time { font-size: 1.042vw; }
	main > .insight-header .heading h1 { font-size: 2.5vw; }
	main > .insight-header .heading .overview { padding: 0.938vw 0 0; }
	main > .insight-header .heading .overview p { font-size: 1.458vw; }
	main > .insight-header .author { padding: 2.604vw 10.521vw 0; gap: 1.25vw; }
	main > .insight-header .author figure { width: 6.042vw; height: 6.042vw; }
	main > .insight-header .author figure img { border-width: 0.052vw; }
	main > .insight-header .author .text strong { font-size: 1.042vw; }
	main > .insight-header .author .text span { font-size: 1.146vw; }
	main > .insight-header .image { padding: 2.917vw 10.521vw 0; }
}

main > .insight-content { padding: 48px 20px; }
main > .insight-content aside { display: none; }
main > .insight-content .content a { text-decoration: underline; text-underline-offset: 0.25em; }
main > .insight-content .content a:hover { color: var(--lavender); }
main > .insight-content .content h2 { margin: 2em 0 0; font-size: 20px; }
main > .insight-content .content h2:first-child { margin: 0; }
main > .insight-content .content h3 { margin: 1.273em 0 0; font-weight: 600; font-size: 18px; }
main > .insight-content .content h3:first-child { margin: 0; }
main > .insight-content .content p,
main > .insight-content .content ul { margin: 1.300em 0 0; font-size: 16px; line-height: 1.3; }
main > .insight-content .content ul li { padding: 0 0 0 1.700em; position: relative; }
main > .insight-content .content ul li::before { position: absolute; top: 0; left: 0.600em; content: "•"; display: block; }
main > .insight-content .content p strong,
main > .insight-content .content ul strong { font-weight: 600; }
main > .insight-content .content p + ul { margin-top: 0; }
main > .insight-content .content h2 + p,
main > .insight-content .content h2 + ul { margin-top: 0.500em; }
main > .insight-content .content h3 + p,
main > .insight-content .content h3 + ul { margin-top: 0.100em; }
main > .insight-content .content figure { margin: 48px 0 0; }
main > .insight-content .content blockquote { margin: 48px 0; display: block; }
main > .insight-content .content blockquote::before { width: 100; height: 18px; margin: 0 0 12px; background: url(images/blog-quote.svg) no-repeat 0 0 / contain; content: " "; display: block; }
main > .insight-content .content blockquote q { font-size: 18px; line-height: 1.33; quotes: none; display: block; }

@media only screen and (min-width: 1024px) {
	main > .insight-content { padding: 118px 0 168px; }
	main > .insight-content aside { width: 396px; margin: 0 0 0 202px; padding: 40px 0 0; position: sticky; top: 118px; float: left; display: block; }
	main > .insight-content aside h2 { font-family: 'Corporate Mono', monospace; font-size: 20px; text-transform: uppercase; }
	main > .insight-content aside ol { margin: 1.273em 0 0; font-weight: 600; font-size: 22px; line-height: 1.182; display: flex; flex-direction: column; gap: 1.182em; }
	main > .insight-content aside ol li a { color: var(--grey); }
	main > .insight-content aside ol li a.active { color: var(--black); }
	main > .insight-content .content { margin: 0 360px; }
	main > .insight-content aside + .content { margin: 0 200px 0 664px; }
	main > .insight-content .content h2 { font-size: 28px; }
	main > .insight-content .content h3 { font-size: 22px; }
	main > .insight-content .content p,
	main > .insight-content .content ul { font-size: 20px; }
	main > .insight-content .content figure { margin: 78px 0 0; }
	main > .insight-content .content blockquote { margin: 54px 0; padding: 0 280px 0 0; }
	main > .insight-content .content blockquote::before { height: 34px; margin: 0 0 18px; }
	main > .insight-content .content blockquote q { font-size: 28px; line-height: 1.214; }
}

@media only screen and (min-width: 1024px) {
	main > .insight-content { padding: 6.146vw 0 8.75vw; }
	main > .insight-content aside { width: 20.625vw; margin: 0 0 0 10.521vw; padding: 2.083vw 0 0; top: 6.146vw; }
	main > .insight-content aside h2 { font-size: 1.042vw; }
	main > .insight-content aside ol { font-size: 1.146vw; }
	main > .insight-content .content { margin: 0 18.75vw; }
	main > .insight-content aside + .content { margin: 0 10.417vw 0 34.583vw; }
	main > .insight-content .content h2 { font-size: 1.458vw; }
	main > .insight-content .content h3 { font-size: 1.146vw; }
	main > .insight-content .content p,
	main > .insight-content .content ul { font-size: 1.042vw; }
	main > .insight-content .content figure { margin: 4.063vw 0 0; }
	main > .insight-content .content blockquote { margin: 2.813vw 0; padding: 0 14.583vw 0 0; }
	main > .insight-content .content blockquote::before { height: 1.771vw; margin: 0 0 0.938vw; }
	main > .insight-content .content blockquote q { font-size: 1.458vw; }
}

main > .download-resource { margin: 48px 24px 0; background: var(--lavender); display: grid; grid-template-columns: 1fr; }
main > .download-resource .form { padding: 24px; }
main > .download-resource .form h2 { margin: 0 0 1.200em; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
main > .download-resource .form .download-confirmation p { margin: 1.300em 0 0; font-size: 16px; line-height: 1.3; }
main > .download-resource .form .download-confirmation p:first-child { margin: 0; }
main > .download-resource .form .download-confirmation p a { text-decoration: underline; text-underline-offset: 0.25em; }
main > .download-resource .form .download-confirmation p a:hover { text-decoration-color: var(--lavender); }
main > .single-download { margin-bottom: 48px; }

@media only screen and (min-width: 1024px) {
	main > .download-resource { margin: 48px 202px 0; grid-template-columns: 747px 1fr; }
	main > .download-resource figure img { height: 100%; object-fit: cover; }
	main > .download-resource .form { padding: 34px 24px; }
	main > .download-resource .form h2 { font-size: 20px; }
	main > .download-resource .form .download-confirmation p { font-size: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .download-resource { margin: 2.5vw 10.521vw 0; grid-template-columns: 38.906vw 1fr; }
	main > .download-resource .form { padding: 1.771vw 1.25vw; }
	main > .download-resource .form h2 { font-size: 1.042vw; }
	main > .download-resource .form .download-confirmation p { font-size: 1.042vw; }


	main > .single-download { margin-bottom: 2.5vw; }

}

main > .image-header { padding: 84px 0 0; overflow: hidden; }
main > .image-header figure img,
main > .image-header figure video { width: 100%; height: calc( 100vh - 84px ); height: calc( 100dvh - 84px ); object-fit: cover; }
main > .image-header figure::after { width: 100%; height: 73.26%; background: linear-gradient(0deg, rgba(0, 0, 0, 0.90) 0%, rgba(217, 217, 217, 0.00) 100%); background-blend-mode: multiply; position: absolute; bottom: 0; left: 0; content: " "; display: block; }
main > .image-header .text { width: 100%; padding: 0 24px 48px; color: var(--white); position: absolute; bottom: 0; left: 0; }
main > .image-header .text h1 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 48px; line-height: 0.896; text-transform: uppercase; text-wrap: balance; }
main > .image-header .text p { margin: 0.786em 0 0; font-size: 18px; line-height: 1.2; }
main > .image-header .text ul { margin: 24px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .image-header { padding: 115px 0 0; }
	main > .image-header figure img,
	main > .image-header figure video { height: calc( 100vh - 115px ); height: calc( 100dvh - 115px ); }
	main > .image-header .text { padding: 0 48px 100px; }
	main > .image-header .text h1 { width: 1100px; font-size: 96px; }
	main > .image-header .text p { width: 720px; font-size: 28px; }
	main > .image-header .text ul { margin: 36px 0 0; }
	main > .image-header.show-arrow::after { width: 58px; height: 52px; background: url(images/video-banner-arrow.svg) no-repeat 50% 50% / contain; position: absolute; bottom: 100px; right: 48px; animation: video-banner-bounce 2s ease-in-out infinite; content: " "; display: block; }
}

@media only screen and (min-width: 1024px) {
	main > .image-header { padding: clamp( 91px, 5.990vw, 122px ) 0 0; }
	main > .image-header figure img,
	main > .image-header figure video { height: calc( 100vh - clamp( 91px, 5.990vw, 122px ) ); height: calc( 100dvh - clamp( 91px, 5.990vw, 122px ) ); }
	main > .image-header .text { padding: 0 2.5vw 5.208vw; }
	main > .image-header .text h1 { width: 57.292vw; font-size: 5vw; }
	main > .image-header .text p { width: 37.5vw; font-size: 1.458vw; }
	main > .image-header .text ul { margin: 1.875vw 0 0; }
	main > .image-header.show-arrow::after { width: 3.021vw; height: 2.708vw; bottom: 5.208vw; right: 2.5vw; }
}

main > .text-overview { padding: 48px 24px; display: grid; grid-template-columns: 1fr; gap: 24px; }
main > .logos + .text-overview { padding-top: 24px; }
main > .text-overview .subheading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .text-overview .subheading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .text-overview .overview h3 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; } 
main > .text-overview .overview p { margin: 1.2em 0 0; font-size: 16px; line-height: 1.3; }
main > .text-overview .overview p:first-child { margin-top: 0.714em; font-size: 18px; line-height: 1.2; }
main > .text-overview .overview p:first-child + p { margin-top: 0.400em; }

main > .sector-header + .text-overview,
main > .approach-heading + .text-overview { color: var(--white); background: var(--black); }
main > .sector-header + .text-overview .underline-links a,
main > .approach-heading + .text-overview .underline-links a { color: var(--white); }
main > .sector-header + .text-overview .underline-links a:hover,
main > .approach-heading + .text-overview .underline-links a:hover { color: var(--lavender); }

@media only screen and (min-width: 1024px) {
	main > .text-overview { padding: 94px 202px 184px 48px; grid-template-columns: 1fr 900px; gap: 0; }
	main > .logos + .text-overview { padding-top: 50px; }
	main > .text-overview .subheading h2 { font-size: 20px; gap: 0.700em; }
	main > .text-overview .subheading h2::before { width: 0.900em; height: 0.900em; }
	main > .text-overview .overview:only-child { padding: 0 616px 0 0; grid-column: span 2; }
	main > .text-overview .overview h3 { font-size: 48px; } 
	main > .text-overview .overview p { font-size: 20px; }
	main > .text-overview .overview p:first-child { font-size: 28px; }
	
	main > .approach-heading + .text-overview { padding-bottom: 94px; }
}

@media only screen and (min-width: 1024px) {
	main > .text-overview { padding: 4.896vw 10.521vw 9.583vw 2.5vw; grid-template-columns: 1fr 46.875vw; }
	main > .logos + .text-overview { padding-top: 2.604vw; }
	main > .text-overview .subheading h2 { font-size: 1.042vw; }
	main > .text-overview .overview:only-child { padding: 0 32.083vw 0 0; }
	main > .text-overview .overview h3 { font-size: 2.5vw; } 
	main > .text-overview .overview p { font-size: 1.042vw; }
	main > .text-overview .overview p:first-child { font-size: 1.458vw; }
	
	main > .approach-heading + .text-overview { padding-bottom: 4.896vw; }
}

main > .scrolling-steps { padding: 48px 24px; background: var(--lavender); }
main > .scrolling-steps .heading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; } 
main > .scrolling-steps .grid { padding: 24px 0 0; display: grid; grid-template-columns: 1fr; gap: 24px; }
main > .scrolling-steps .grid .box { padding: 24px; background: var(--lavender); border: 1px solid var(--black); }
main > .scrolling-steps .grid .box h3 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
main > .scrolling-steps .grid .box figure { margin: 16px 0 0; text-align: center; mix-blend-mode: multiply; }
main > .scrolling-steps .grid .box figure img { width: auto; height: 214px; }
main > .scrolling-steps .grid .box h4 { margin: 16px 0 0; font-family: 'Corporate Mono', monospace; font-size: 28px; line-height: 1.25; text-transform: uppercase; text-wrap: balance; }
main > .scrolling-steps .grid .box p { margin: 0.800em 0 0; font-size: 16px; line-height: 1.3; }
main > .scrolling-steps .grid .box ul { margin: 0.800em 0 0; font-size: 16px; line-height: 1.3; display: flex; flex-direction: column; gap: 0.600em; }
main > .scrolling-steps .grid .box ul li { padding: 0 0 0 1.500em; position: relative; display: block; }
main > .scrolling-steps .grid .box ul li::before { width: 0.450em; height: 0.450em; position: absolute; top: 0.500em; left: 0.100em; background: var(--white); border-radius: 50%; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .scrolling-steps { padding: 208px 48px 100px; }
	main > .scrolling-steps .heading { height: 92px; position: sticky; top: 158px; }
	main > .scrolling-steps .heading h2 { font-size: 48px; } 
	main > .scrolling-steps .grid { padding: 0; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
	main > .scrolling-steps .grid .box { padding: 25px 30px 35px; background: var(--lavender); border-width: 1px; position: sticky; top: 258px; }
	main > .scrolling-steps .grid .box::before { width: 24px; height: 100%; background: var(--lavender); position: absolute; top: 0; right: -25px; content: " "; display: block; }
	main > .scrolling-steps .grid .box:nth-of-type(1) { grid-column: 1; grid-row: 1; }
	main > .scrolling-steps .grid .box:nth-of-type(2) { grid-column: 2; grid-row: 2; }
	main > .scrolling-steps .grid .box:nth-of-type(3) { grid-column: 3; grid-row: 3; }
	main > .scrolling-steps .grid .box h3 { font-size: 20px; }
	main > .scrolling-steps .grid .box figure { margin: 20px 0 0; }
	main > .scrolling-steps .grid .box figure img { height: 286px; }
	main > .scrolling-steps .grid .box h4 { min-height: 2.500em; margin: 0.550em 0 0; padding: 0 2.000em 0 0; font-size: 40px; }
	main > .scrolling-steps .grid .box p,
	main > .scrolling-steps .grid .box ul { font-size: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .scrolling-steps { padding: 10.833vw 2.5vw 5.208vw; }
	main > .scrolling-steps .heading { height: 4.792vw;top: 8.229vw; }
	main > .scrolling-steps .heading h2 { font-size: 2.5vw; } 
	main > .scrolling-steps .grid { gap: 1.25vw; }
	main > .scrolling-steps .grid .box { padding: 1.302vw 1.563vw 1.823vw; border-width: 0.052vw; top: 13.438vw; }
	main > .scrolling-steps .grid .box::before { width: 1.25vw; right: -1.302vw; }
	main > .scrolling-steps .grid .box h3 { font-size: 1.042vw; }
	main > .scrolling-steps .grid .box figure { margin: 1.042vw 0 0; }
	main > .scrolling-steps .grid .box figure img { height: 14.896vw; }
	main > .scrolling-steps .grid .box h4 { font-size: 2.083vw; }
	main > .scrolling-steps .grid .box p,
	main > .scrolling-steps .grid .box ul { font-size: 1.042vw; }
}

main > .image-banner { padding: 48px 24px; }
main > .image-banner > figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .image-banner > figure img,
main > .image-banner > figure video { width: 100%; height: 100%; object-fit: cover; }
main > .image-banner .box { padding: 24px; background: var(--white); display: grid; grid-template-columns: 1fr; gap: 24px; }
main > .image-banner .box figure.gen { padding: 56.20% 0 0; }
main > .image-banner .box .text h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .image-banner .box .text p { margin: 0.750em 0 0; font-size: 16px; line-height: 1.3; }
main > .image-banner .box .text ul { margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }

@media only screen and (min-width: 1024px) {
	main > .image-banner { padding: 190px 123px; }
	main > .products-list + .image-banner { margin-top: 116px; }
	main > .image-banner .box { padding: 118px 34px 118px 78px; grid-template-columns: 1fr 822px; gap: 146px; align-items: center; }
	main > .image-banner .box figure.gen { grid-column: 2; grid-row: 1; }
	main > .image-banner .box .text { grid-column: 1; grid-row: 1; }
	main > .image-banner .box .text h2 { font-size: 48px; }
	main > .image-banner .box .text p { font-size: 20px; }
	main > .image-banner .box .text ul { margin: 60px 0 0; }
	main > .image-banner .box .text ul { gap: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .image-banner { padding: 9.896vw 6.406vw; }
	main > .products-list + .image-banner { margin-top: 6.042vw; }
	main > .image-banner .box { padding: 6.146vw 1.771vw 6.146vw 4.063vw; grid-template-columns: 1fr 42.813vw; gap: 7.604vw; }
	main > .image-banner .box .text h2 { font-size: 2.5vw; }
	main > .image-banner .box .text p { font-size: 1.042vw; }
	main > .image-banner .box .text ul { margin: 3.125vw 0 0; }
	main > .image-banner .box .text ul { gap: 1.042vw; }
}

main > .products-list { padding: 48px 24px; }
main > .products-list .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .products-list .heading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .products-list .heading p { margin: 1.429em 0 0; font-size: 18px; line-height: 1.25; }
main > .products-list .list { padding: 24px 0 0; }
main > .products-list .list .item { padding: 24px 0; border-bottom: 1px solid var(--black); }
main > .products-list .list .item h3 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .products-list .list .item p { margin: 1.3em 0 0; font-size: 16px; line-height: 1.3; }
main > .products-list .list .item h3 + p { margin-top: 1.600em; }

@media only screen and (min-width: 1024px) {
	main > .products-list { padding: 144px 48px 32px; display: grid; grid-template-columns: 1fr 1208px; gap: 154px; align-items: start; }
	main > .products-list .heading { position: sticky; top: 144px; }
	main > .products-list .heading h2 { font-size: 20px; gap: 0.700em; }
	main > .products-list .heading h2::before { width: 0.900em; height: 0.900em; }
	main > .products-list .heading p { font-size: 28px; }
	main > .products-list .list { padding: 18px 0 0; }
	main > .products-list .list .item { padding: 32px 0; border-bottom-width: 1px; }
	main > .products-list .list .item:first-child { padding-top: 0; }
	main > .products-list .list .item h3 { font-size: 48px; }
	main > .products-list .list .item p { font-size: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .products-list { padding: 7.5vw 2.5vw 1.667vw; display: grid; grid-template-columns: 1fr 62.917vw; gap: 8.021vw; }
	main > .products-list .heading { top: clamp( calc( 91px + 2.760vw ), 7.500vw, calc( 122px + 1.146vw ) ); }
	main > .products-list .heading h2 { font-size: 1.042vw; }
	main > .products-list .heading p { font-size: 1.458vw; }
	main > .products-list .list { padding: 0.938vw 0 0; }
	main > .products-list .list .item { padding: 1.667vw 0; border-bottom-width: 0.052vw; }
	main > .products-list .list .item:first-child { padding-top: 0;; }
	main > .products-list .list .item h3 { font-size: 2.5vw; }
	main > .products-list .list .item p { font-size: 1.042vw; }
}

main > .videos-text-highlight { padding: 48px 24px; text-align: center; }
main > .videos-text-highlight h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
main > .videos-text-highlight p { margin: 0.313em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; line-height: 1.04; text-transform: uppercase; text-wrap: balance; }
main > .videos-text-highlight p > span { width: 1.500em; margin: -0.104em 0.156em 0; position: relative; display: inline-block; vertical-align: middle; }
main > .videos-text-highlight p > span span { padding: 69.44% 0 0; height: 0; position: relative; display: block; }
main > .videos-text-highlight p > span video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; }
main > .videos-text-highlight ul { margin: 24px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .videos-text-highlight { padding: 214px 120px 276px; }
	main > .videos-text-highlight h2 { font-size: 20px; }
	main > .videos-text-highlight p { font-size: 96px; }
	main > .videos-text-highlight ul { margin: 90px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .videos-text-highlight { padding: 11.146vw 6.25vw 14.375vw; }
	main > .videos-text-highlight h2 { font-size: 1.042vw; }
	main > .videos-text-highlight p { font-size: 5vw; }
	main > .videos-text-highlight ul { margin: 4.688vw 0 0; }
}

main > .packages { padding: 48px 24px; color: var(--white); background: var(--black); }
main > .packages .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .packages .heading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .packages .heading h3 { margin: 1.125em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; text-wrap: balance; }
main > .packages .heading p { margin: 0.286em 0 0; font-size: 18px; line-height: 1.25; }
main > .packages .grid { margin: 48px 0 0; display: grid; grid-template-columns: 1fr; gap: 24px; }
main > .packages .grid .box { padding: 24px; background: #2b2c2b; border: 1px solid var(--white); transition: border-color 0.4s ease; }
main > .packages .grid .box .highlight-text { padding: 0.300em 0.750em; font-family: 'Corporate Mono', monospace; font-weight: 700; font-size: 16px; text-transform: uppercase; white-space: nowrap; color: var(--black); background: var(--lavender); position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); display: inline-flex; }
main > .packages .grid .box .header { padding: 0 0 8px; border-bottom: 1px solid rgba(255, 255, 255, 0.50); }
main > .packages .grid .box .header p { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
main > .packages .grid .box .header h3 { margin: 0.225em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; text-wrap: balance; }
main > .packages .grid .box .list { margin: 24px 0 0; }
main > .packages .grid .box .list h4 { font-weight: 600; font-size: 18px; line-height: 1.25; color: var(--lavender); }
main > .packages .grid .box .list ul { margin: 0.400em 0 0; font-size: 16px; line-height: 1.5; }
main > .packages .grid .box .list ul li { padding: 0 0 0 1.600em; position: relative; }
main > .packages .grid .box .list ul li::before { width: 0.400em; height: 0.400em; background: var(--lavender); border-radius: 50%; position: absolute; top: 0.600em; left: 0.800em; content: " "; display: block; }
main > .packages .grid .box .list ul li strong { font-weight: 600; }
main > .packages .grid .box .price { margin: 24px 0 0; }
main > .packages .grid .box .price p { display: flex; align-items: end; }
main > .packages .grid .box .price p strong { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .packages .grid .box .price p span { padding: 0 0 0.200em 0.600em; font-family: 'Corporate Mono', monospace; font-size: 20px; text-transform: uppercase; }
main > .packages .grid .box .price p span { padding: 0 0 0.200em 0.600em; font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; }
main > .packages .grid .box > ul { margin: 24px 0 0; }
main > .packages .grid .box > ul li a.btn { background: var(--white); display: flex; }
main > .packages .grid .box > ul li a.btn > span { width: 100%; background: #2b2c2b; color: var(--white); border-color: var(--white); text-align: center; justify-content: center; }

main > .packages .grid .box.highlight { background: var(--black); border-color: var(--lavender); }
main > .packages .grid .box.highlight > ul li a.btn { background: var(--white); }
main > .packages .grid .box.highlight > ul li a.btn > span { background: var(--lavender); color: var(--black); border-color: var(--lavender); }

main > .packages .grid .box:hover { border-color: var(--lavender); }
main > .packages .grid .box:hover > ul li a.btn { background: var(--white); }
main > .packages .grid .box:hover > ul li a.btn > span { background: var(--lavender); color: var(--black); border-color: var(--lavender); }

main > .packages .grid .box.highlight:hover { border-color: var(--white); }
main > .packages .grid .box.highlight:hover > ul li a.btn { background: var(--white); }
main > .packages .grid .box.highlight:hover > ul li a.btn > span { background: #2b2c2b; color: var(--white); border-color: var(--white); }

@media only screen and (min-width: 1024px) {
	main > .packages { padding: 64px 48px 74px; }
	main > .packages .heading h2 { font-size: 20px; gap: 0.700em; }
	main > .packages .heading h2::before { width: 0.900em; height: 0.900em; }
	main > .packages .heading h3 { font-size: 48px; }
	main > .packages .heading p { width: 1100px; font-size: 28px; }
	main > .packages .grid { margin: 62px 0 0; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
	main > .packages .grid .box { padding: 38px 30px 30px; border-width: 1px; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s ease; }
	main > .packages .grid .box:hover { transform: scale(1.04); }
	main > .packages .grid .box .highlight-text { font-size: 20px; }
	main > .packages .grid .box .header { padding: 0 0 12px; border-bottom: 1px; }
	main > .packages .grid .box .header p { font-size: 20px; }
	main > .packages .grid .box .header h3 { min-height: 2.000em; font-size: 40px; }
	main > .packages .grid .box .list { margin: 30px 0 0; }
	main > .packages .grid .box .list + .list { margin: 14px 0 0; }
	main > .packages .grid .box .list h4 { font-size: 22px; }
	main > .packages .grid .box .list ul { min-height: 6.000em; font-size: 20px; }
	main > .packages .grid .box .price { margin: 34px 0 0; }
	main > .packages .grid .box .price p strong { font-size: 40px; }
	main > .packages .grid .box .price p span { font-size: 20px; }
	main > .packages .grid .box > ul { margin: 14px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .packages { padding: 3.333vw 2.5vw 3.854vw; }
	main > .packages .heading h2 { font-size: 1.042vw; }
	main > .packages .heading h3 { font-size: 2.5vw; }
	main > .packages .heading p { width: 57.292vw; font-size: 1.458vw; }
	main > .packages .grid { margin: 3.229vw 0 0; gap: 1.25vw; }
	main > .packages .grid .box { padding: 1.979vw 1.563vw 1.563vw; border-width: 0.052vw; }
	main > .packages .grid .box .highlight-text { font-size: 1.042vw; }
	main > .packages .grid .box .header { padding: 0 0 0.625vw; border-bottom: 0.052vw; }
	main > .packages .grid .box .header p { font-size: 1.042vw; }
	main > .packages .grid .box .header h3 { font-size: 2.083vw; }
	main > .packages .grid .box .list { margin: 1.563vw 0 0; }
	main > .packages .grid .box .list + .list { margin: 0.729vw 0 0; }
	main > .packages .grid .box .list h4 { font-size: 1.146vw; }
	main > .packages .grid .box .list ul { font-size: 1.042vw; }
	main > .packages .grid .box .price { margin: 1.771vw 0 0; }
	main > .packages .grid .box .price p strong { font-size: 2.083vw; }
	main > .packages .grid .box .price p span { font-size: 1.042vw; }
	main > .packages .grid .box > ul { margin: 0.729vw 0 0; }
}

main > .approach-heading { min-height: 700px; padding: 134px 24px 48px; background: var(--lavender); display: flex; flex-direction: column; justify-content: space-between; }
main > .approach-heading h1 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .approach-heading h1::before { width: 18px; height: 18px; background: var(--white); border-radius: 50%; content: " "; display: block; }
main > .approach-heading figure { width: 250px; position: absolute; top: 150px; right: 0; mix-blend-mode: multiply; }
main > .approach-heading p { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; text-transform: uppercase; text-wrap: balance; }

@media only screen and (min-width: 1024px) {
	main > .approach-heading { min-height: 830px; padding: 190px 328px 58px 48px; }
	main > .approach-heading h1 { font-size: 20px; gap: 0.700em; }
	main > .approach-heading h1::before { width: 0.900em; height: 0.900em; }
	main > .approach-heading figure { width: 659px; top: 122px; }
	main > .approach-heading p { font-size: 96px; }
}

@media only screen and (min-width: 1024px) {
	main > .approach-heading { min-height: 43.229vw; padding: clamp( calc( 91px + 5.156vw ), 9.896vw, calc( 122px + 3.542vw ) ) 17.083vw 3.021vw 2.5vw; }
	main > .approach-heading h1 { font-size: 1.042vw; }
	main > .approach-heading figure { width: 34.323vw; top: 6.354vw; }
	main > .approach-heading p { font-size: 5vw; }
}

main > .stages { padding: 48px 24px; background: var(--lavender); display: grid; grid-template-columns: 1fr; gap: 48px; align-items: start; }
main > .stages .heading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; line-height: 0.89; text-transform: uppercase; }
main > .stages .heading h2 img { width: 3.760em; margin: 0 0 0.396em; display: block; }
main > .stages .heading p { margin: 0.571em 0 0; font-size: 18px; line-height: 1.25; }
main > .stages .cards { counter-reset: card; }
main > .stages .cards .card { margin: 0 0 24px; padding: 24px; border: 1px solid var(--black); background: var(--lavender); }
main > .stages .cards .card:last-child { margin: 0; }
main > .stages .cards .card .text::before { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; position: absolute; top: 0; left: 0; counter-increment: card; content: counter(card, decimal-leading-zero); display: block; }
main > .stages .cards .card .text h3 { padding: 0 0 0 48px; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .stages .cards .card .text p { margin: 1.3em 0 0; font-size: 16px; line-height: 1.3; }
main > .stages .cards .card .text h3 + p { margin-top: 1.700em; }
main > .stages .cards .card figure { padding: 48px 0 0; mix-blend-mode: multiply; }

@media only screen and (min-width: 1024px) {
	main > .stages { padding: 142px 48px; grid-template-columns: 1fr 1208px; gap: 100px; align-items: start; }
	main > .stages .heading { position: sticky; top: 142px; float: left; }
	main > .stages .heading h2 { font-size: 96px; }
	main > .stages .heading p { font-size: 28px; }
	main > .stages .cards::after { height: 100vh; content: ''; display: block; }
	main > .stages .cards .card { margin: 0 0 50vh; padding: 0 90px 32px 24px; border-width: 1px; position: sticky; top: 142px; display: grid; grid-template-columns: 1fr 320px; gap: 70px; }
	main > .stages .cards .card:nth-child(2) { top: calc( 142px + ( 64px * 1 ) ); }
	main > .stages .cards .card:nth-child(3) { top: calc( 142px + ( 64px * 2 ) ); }
	main > .stages .cards .card:nth-child(4) { top: calc( 142px + ( 64px * 3 ) ); }
	main > .stages .cards .card:nth-child(5) { top: calc( 142px + ( 64px * 4 ) ); }
	main > .stages .cards .card:nth-child(6) { top: calc( 142px + ( 64px * 5 ) ); }
	main > .stages .cards .card:nth-child(7) { top: calc( 142px + ( 64px * 6 ) ); }
	main > .stages .cards .card:last-child { margin-bottom: 50vh; }
	main > .stages .cards .card .text { padding: 16px 0 0 88px; }
	main > .stages .cards .card .text::before { font-size: 48px; top: 16px; }
	main > .stages .cards .card .text h3 { padding: 0; font-size: 48px; }
	main > .stages .cards .card .text p { font-size: 20px; }
	main > .stages .cards .card figure { padding: 98px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .stages { padding: 7.396vw 2.5vw; grid-template-columns: 1fr 62.917vw; gap: 5.208vw; }
	main > .stages .heading { top: clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ); }
	main > .stages .heading h2 { font-size: 5vw; }
	main > .stages .heading p { font-size: 1.458vw; }
	main > .stages .cards .card { padding: 0 4.688vw 1.667vw 1.25vw; border-width: 0.052vw; top: clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ); grid-template-columns: 1fr 16.667vw; gap: 3.646vw; }
	main > .stages .cards .card:nth-child(2) { top: calc( clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ) + ( 3.333vw * 1 ) ); }
	main > .stages .cards .card:nth-child(3) { top: calc( clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ) + ( 3.333vw * 2 ) ); }
	main > .stages .cards .card:nth-child(4) { top: calc( clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ) + ( 3.333vw * 3 ) ); }
	main > .stages .cards .card:nth-child(5) { top: calc( clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ) + ( 3.333vw * 4 ) ); }
	main > .stages .cards .card:nth-child(6) { top: calc( clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ) + ( 3.333vw * 5 ) ); }
	main > .stages .cards .card:nth-child(7) { top: calc( clamp( calc( 91px + 2.656vw ), 7.396vw, calc( 122px + 1.042vw ) ) + ( 3.333vw * 6 ) ); }
	main > .stages .cards .card .text { padding: 0.833vw 0 0 4.583vw; }
	main > .stages .cards .card .text::before { font-size: 2.5vw; top: 0.833vw; }
	main > .stages .cards .card .text h3 { font-size: 2.5vw; }
	main > .stages .cards .card .text p { font-size: 1.042vw; }
	main > .stages .cards .card figure { padding: 5.104vw 0 0; }
}

main > .faqs { padding: 48px 24px; display: grid; grid-template-columns: 1fr; gap: 24px; }
main > .faqs .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 16px; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
main > .faqs .heading h2::before { width: 18px; height: 18px; background: var(--lavender); border-radius: 50%; content: " "; display: block; }
main > .faqs .heading p { margin: 0.833em 0 0; font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; text-wrap: balance; }
main > .faqs .heading ul { margin: 24px 0 0; }
main > .faqs .questions { border-bottom: 1px solid var(--black); }
main > .faqs .questions .question { border-top: 1px solid var(--black); }
main > .faqs .questions .question h3 { padding: 1.000em 2.286em 1.000em 0; font-size: 18px; line-height: 1.25; cursor: pointer; }
main > .faqs .questions .question h3::after { width: 1.571em; height: 1.429em; background: url(images/faqs.svg) no-repeat 50% 50% / contain; position: absolute; top: 0.893em; right: 0; transition: transform 0.4s ease; content: " "; display: block; }
main > .faqs .questions .question.open h3::after { transform: rotate(180deg); }
main > .faqs .questions .question .answer { padding: 24px 0 48px; display: none; }
main > .faqs .questions .question .answer p { margin: 1.3em 0 0; font-size: 16px; line-height: 1.3; }
main > .faqs .questions .question .answer p:first-child { margin: 0; }
main > .faqs .questions .question.first .answer { display: block; }

@media only screen and (min-width: 1024px) {
	main > .faqs { padding: 144px 48px 134px; grid-template-columns: 1fr 1054px; gap: 100px; align-items: start; }
	main > .faqs .heading h2 { font-size: 20px; gap: 0.700em; }
	main > .faqs .heading h2::before { width: 0.900em; height: 0.900em; }
	main > .faqs .heading p { font-size: 48px; }
	main > .faqs .heading ul { margin: 45px 0 0; }
	main > .faqs .questions { border-bottom-width: 1px; }
	main > .faqs .questions .question { border-top-width: 1px; }
	main > .faqs .questions .question h3 { font-size: 28px; }
	main > .faqs .questions .question .answer { padding: 18px 154px 54px 0; }
	main > .faqs .questions .question .answer p { font-size: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .faqs { padding: 7.5vw 2.5vw 6.979vw; grid-template-columns: 1fr 54.896vw; gap: 5.208vw; }
	main > .faqs .heading h2 { font-size: 1.042vw; }
	main > .faqs .heading p { font-size: 2.5vw; }
	main > .faqs .heading ul { margin: 2.344vw 0 0; }
	main > .faqs .questions { border-bottom-width: 0.052vw; }
	main > .faqs .questions .question { border-top-width: 0.052vw; }
	main > .faqs .questions .question h3 { font-size: 1.458vw; }
	main > .faqs .questions .question .answer { padding: 0.938vw 8.021vw 2.813vw 0; }
	main > .faqs .questions .question .answer p { font-size: 1.042vw; }
}

main > .contact { padding: 134px 24px 48px; background: var(--lavender); display: grid; grid-template-columns: 1fr; gap: 24px; }
main > .contact .left h1 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; line-height: 1.04; text-transform: uppercase; text-wrap: balance; }
main > .contact .left ul { padding: 48px 0 0; font-family: 'Corporate Mono', monospace; font-size: 16px; line-height: 1.25; text-transform: uppercase; display: flex; flex-direction: column; gap: 12px; }
main > .contact .left ul li a:hover { color: var(--white); }
main > .contact .right .text { padding: 0 0 24px; }
main > .contact .right .text p { font-size: 18px; line-height: 1.25; }

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 208px 234px 196px 224px; grid-template-columns: 1fr 868px; gap: 48px; }
	main > .contact .left { display: flex; flex-direction: column; justify-content: space-between; }
	main > .contact .left h1 { font-size: 96px; }
	main > .contact .left ul { padding: 48px 0 0; font-size: 20px; gap: 1.900em; }
	main > .contact .right .text { padding: 0 120px 64px 0; }
	main > .contact .right .text p { font-size: 28px; }
}

@media only screen and (min-width: 1024px) {
	main > .contact { padding: clamp( calc( 91px + 6.094vw ), 10.833vw, calc( 122px + 4.479vw ) )12.188vw 10.208vw 11.667vw; grid-template-columns: 1fr 45.208vw; gap: 2.5vw; }
	main > .contact .left h1 { font-size: 5vw; }
	main > .contact .left ul { padding: 2.5vw 0 0; font-size: 1.042vw; }
	main > .contact .right .text { padding: 0 6.25vw 3.333vw 0; }
	main > .contact .right .text p { font-size: 1.458vw; }
}

main > .legal { padding: 134px 24px 48px; }
main > .legal h1 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 28px; text-transform: uppercase; }
main > .legal h2 { margin: 2em 0 0; font-weight: 600; font-size: 18px; line-height: 1.25; }
main > .legal h1 + h2 { margin-top: 2.182em; }
/* main > .legal table th {font-weight: 700;} */
main > .legal table th,
main > .legal table td {
    padding: 12px 16px;
    border-bottom: 1px solid #ddd;}
main > .legal p,

main > .legal ul:not(.buttons),
main > .legal ol { margin: 1.300em 0 0; font-size: 16px; line-height: 1.3; }
main > .legal h2 + p,
main > .legal h2 + ul:not(.buttons) { margin-top: 0; }
main > .legal ul:not(.buttons) li,
main > .legal ol li { padding: 0 0 0 1.600em; position: relative; }
main > .legal ul:not(.buttons) li::before { width: 0.400em; height: 0.400em; background: var(--lavender); border-radius: 50%; position: absolute; top: 0.600em; left: 0.800em; content: " "; display: block; }
main > .legal ol { counter-reset: ol; }
main > .legal ol li::before { position: absolute; top: 0; left: 0.800em; counter-increment: ol; content: counter(ol) "."; display: block; }
main > .legal ul.buttons { margin: 48px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 208px 356px 96px; }
	main > .legal h1 { font-size: 48px; }
	main > .legal h2 { font-size: 22px; }
	main > .legal table {font-size: 16px;}
	main > .legal table th {font-weight: 700;}
	main > .legal p,
	main > .legal ul:not(.buttons),
	main > .legal ol { font-size: 20px; }
	main > .legal .columns { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
	main > .legal ul.buttons { margin: 76px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .legal { padding: clamp( calc( 91px + 6.094vw ), 10.833vw, calc( 122px + 4.479vw ) ) 18.542vw 5vw; }
	main > .legal h1 { font-size: 2.5vw; }
	main > .legal h2 { font-size: 1.146vw; }
	main > .legal p,
	main > .legal ul:not(.buttons),
	main > .legal ol { font-size: 1.042vw; }
	main > .legal .columns { gap: 1.25vw; }
	main > .legal ul.buttons { margin: 3.958vw 0 0; }
}

main > .message { padding: 98px 24px 0; min-height: 100vh; background: var(--lavender); text-align: center; display: flex; flex-direction: column; justify-content: center; }
main > .message h1 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; text-transform: uppercase; }
main > .message h1 img { width: 2.156em; margin: 0 auto 0.333em; display: block; }
main > .message p { margin: 1.786em 0 1.571em; font-size: 18px; line-height: 1.25; }

@media only screen and (min-width: 1024px) {
	main > .message { padding: 6.25vw 2.5vw 0; }
	main > .message h1 { font-size: 96px; }
	main > .message p { font-size: 28px; }
}

@media only screen and (min-width: 1024px) {
	main > .message { padding: 6.25vw 0 0; }
	main > .message h1 { font-size: 5vw; }
	main > .message p { font-size: 1.458vw; }
}

main > .contact-promo { padding: 64px 20px; overflow: hidden; }
main > .contact-promo .box { padding: 32px 0 28px; background: var(--lavender); }
main > .contact-promo .box .content { padding: 0 24px 24px; }
main > .contact-promo .box .content .heading h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; text-transform: uppercase; text-wrap: balance; }
main > .contact-promo .box .content .heading p { margin: 14px 0 0; font-size: 20px; line-height: 26px; }
main > .contact-promo .box .content .form { padding: 24px 0 0; }
main > .contact-promo .box .logo { width: 294px; height: 294px; margin: 0 auto; }
main > .contact-promo .box .logo::before { width: 100%; height: 100%; background: url(images/contact-promo-text.svg) no-repeat 50% 50% / contain; position: absolute; top: 0; left: 0; animation: contact-promo 20s linear infinite; content: " "; display: block; }
@keyframes contact-promo {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
main > .contact-promo .box .logo::after { width: 172px; height: 185px; background: url(images/contact-promo-camera.png) no-repeat 50% 50% / contain; position: absolute; top: 50px; left: 73px; mix-blend-mode: multiply; content: " "; display: block; }

@media only screen and (min-width: 1024px) {
	main > .contact-promo { padding: 76px 48px; }
	main > .contact-promo .box { padding: 94px 165px 96px 84px; display: grid; grid-template-columns: 452px 1fr; gap: 80px; }
	main > .contact-promo .box .content { padding: 0; }
	main > .contact-promo .box .content .heading h2 { font-size: 48px; }
	main > .contact-promo .box .content .heading p { margin: 0.700em 0 0; font-size: 20px; line-height: 1.3; }
	main > .contact-promo .box .content .form { padding: 24px 0 0; }
	main > .contact-promo .box .content .form .gform_fields { grid-template-columns: 1fr 438px; gap: 14px; }
	main > .contact-promo .box .content .form .gform_fields div.gfield { grid-column: 1; }
	main > .contact-promo .box .content .form .gform_fields div.gfield.gfield--type-textarea { grid-column: 2; grid-row: 1 / span 4; }
	main > .contact-promo .box .content .form .gform_fields div.gfield.gfield--type-textarea .ginput_container,
	main > .contact-promo .box .content .form .gform_fields div.gfield.gfield--type-textarea .ginput_container textarea { height: 100%; }
	main > .contact-promo .box .logo { width: auto; height: 452px; margin: 0; grid-column: 1; grid-row: 1; }
	main > .contact-promo .box .logo::after { width: 265px; height: 286px; top: 76px; left: 113px; }
}

@media only screen and (min-width: 1024px) {
	main > .contact-promo { padding: 3.958vw 2.5vw; }
	main > .contact-promo .box { padding: 4.896vw 8.594vw 5vw 4.375vw; grid-template-columns: 23.542vw 1fr; gap: 4.167vw; }
	main > .contact-promo .box .content .heading h2 { font-size: 2.5vw; }
	main > .contact-promo .box .content .heading p { font-size: 1.042vw; }
	main > .contact-promo .box .content .form { padding: 1.25vw 0 0; }
	main > .contact-promo .box .content .form .gform_fields { grid-template-columns: 1fr 22.813vw; gap: 0.729vw; }
	main > .contact-promo .box .logo { height: 23.542vw; }
	main > .contact-promo .box .logo::after { width: 13.802vw; height: 14.896vw; top: 3.958vw; left: 5.885vw; }
}

body > footer { padding: 62px 0 0; color: var(--white); background: var(--black); overflow: hidden; }
body > footer .clients { padding: 0 20px; }
body > footer .clients h2 { font-family: 'Corporate Mono', monospace; font-weight: 800; font-size: 42px; text-transform: uppercase; color: var(--lavender); text-wrap: balance; }
body > footer .clients p { margin: 18px 0 0; font-size: 20px; }
body > footer .clients ul { margin: 14px 0 0; }
body > footer .clients ul li a.btn { font-size: 15px; }
body > footer .clients ul li a.btn > span { padding: 12px 14px; }
body > footer .columns { padding: 45px 20px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 32px 0; }
body > footer .columns .col a { color: var(--white); }
body > footer .columns .col a:hover { opacity: 0.5; }
body > footer .columns .col h2 { font-weight: 600; font-size: 22px; color: var(--lavender); }
body > footer .columns .col ul { margin: 2px 0 0; font-size: 20px; line-height: 26px; }
body > footer .signup { padding: 40px 20px 0; }
body > footer .signup .heading h2 { font-family: 'Corporate Mono', monospace; font-size: 26px; text-transform: uppercase; }
body > footer .signup .heading p { margin: 3px 0 0; font-family: 'Corporate Mono', monospace; font-size: 18px; text-transform: uppercase; }
body > footer .signup .form { padding: 20px 0 0; }
body > footer .signup .form .gform_confirmation_message { font-weight: 600; font-size: 16px; line-height: 22px; }
body > footer .signup .form .gform_wrapper > .gform_heading { display: none; }
body > footer .signup .form .gform_wrapper > .gform_validation_errors { padding: 0 0 24px; }
body > footer .signup .form .gform_wrapper > .gform_validation_errors h2 { font-weight: 600; font-size: 16px; line-height: 22px; color: #FF0000; }
body > footer .signup .form form { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: start; }
body > footer .signup .form form .gfield > label { display: none; }
body > footer .signup .form form .gfield .ginput_container input { width: 100%; height: 48px; padding: 0 14px; font-family: 'Corporate Mono', monospace; font-size: 16px; background: var(--black); border: 1px solid var(--white); }
body > footer .signup .form form .gfield .ginput_container input::placeholder { text-transform: uppercase; }
body > footer .signup .form form .gfield.gfield_error .ginput_container input { border-color: #FF0000; }
body > footer .signup .form form .gfield .gfield_description { padding: 0.25em 0 0; font-weight: 600; font-size: 16px; line-height: 22px; }
body > footer .signup .form form .gfield .gfield_description.validation_message { color: #FF0000; }
body > footer .signup .form form .gform_footer { background: var(--white); }
body > footer .signup .form form .gform_footer button[type="submit"] { width: 48px; height: 48px; background: var(--black); border: 1px solid var(--white); position: relative; top: 0; left: 0; -webkit-appearance: none; appearance: none; transition: top 0.4s ease, left 0.4s ease; }
body > footer .signup .form form .gform_footer button[type="submit"]:hover { top: -2px; left: -2px; }
body > footer .signup .form form .gform_footer button[type="submit"] span { width: 100%; height: 100%; background: url(images/ftr-submit.svg) no-repeat 50% 50% / 22px auto; display: block; }
body > footer .legal { padding: 16px 20px 0; }
body > footer .legal a { color: var(--white); }
body > footer .legal a:hover { opacity: 0.5; }
body > footer .legal p,
body > footer .legal ul { font-size: 12px; }
body > footer .legal ul { margin: 14px 0 0; display: flex; gap: 24px; }
body > footer h1 { margin: -6px 0 0; position: relative; pointer-events: none; }
body > footer h1 img { width: 100%; height: auto; }

@media only screen and (min-width: 1024px) {
	body > footer { padding: 128px 0 0; display: grid; grid-template-columns: 1fr 842px; }
	body > footer .clients { padding: 0 48px; grid-column: 1; grid-row: 1 / span 2; }
	body > footer .clients h2 { width: 600px; font-size: 48px; }
	body > footer .clients p { margin: 1em 0 0; font-size: 28px; }
	body > footer .clients ul { margin: 46px 0 0; }
	body > footer .clients ul li a.btn { font-size: 18px; }
	body > footer .clients ul li a.btn > span { padding: 0.667em 1.111em; }
	body > footer .columns { padding: 9px 48px 0; display: flex; gap: 0 70px; grid-column: 2; grid-row: 1; }
	body > footer .columns .col h2 { font-size: 22px; }
	body > footer .columns .col ul { margin: 0.100em 0 0; font-size: 20px; line-height: 1.3; }
	body > footer .signup { padding: 45px 48px 0; grid-column: 2; grid-row: 2; }
	body > footer .signup .heading h2 { font-size: 28px; }
	body > footer .signup .heading p { margin: 0.150em 0 0; font-size: 20px; }
	body > footer .signup .form { padding: 20px 0 0; }
	body > footer .signup .form .gform_confirmation_message { font-size: 20px; line-height: 1.3; }
	body > footer .signup .form .gform_wrapper > .gform_validation_errors { padding: 0 0 24px; }
	body > footer .signup .form .gform_wrapper > .gform_validation_errors h2 { font-size: 20px; line-height: 1.3; }
	body > footer .signup .form form { gap: 10px; }
	body > footer .signup .form form .gfield .ginput_container input { height: 3.000em; padding: 0 0.800em; font-size: 20px; border-width: 0.050em; }
	body > footer .signup .form form .gfield .gfield_description { font-size: 20px; line-height: 1.3; }
	body > footer .signup .form form .gform_footer button[type="submit"] { width: 60px; height: 60px; }
	body > footer .signup .form form .gform_footer button[type="submit"] span { background-size: 28px; border-width: 1px; }
	body > footer .signup .form form .gform_footer button[type="submit"]:hover span { top: -2px; left: -2px; }
	body > footer .legal { padding: 30px 48px 0; grid-column: 2; grid-row: 3; display: flex; flex-wrap: wrap; gap: 24px; }
	body > footer .legal p,
	body > footer .legal ul { font-size: 12px; }
	body > footer .legal ul { margin: 0; gap: 2.000em; }
	body > footer h1 { margin: 0; padding: 22px 0 0; grid-column: 1 / span 2; grid-row: 4; }
}

@media only screen and (min-width: 1024px) {
	body > footer { padding: 6.6667vw 0 0; grid-template-columns: 1fr 43.8542vw; }
	body > footer .clients { padding: 0 2.5vw; }
	body > footer .clients h2 { width: 31.25vw; font-size: 2.5vw; }
	body > footer .clients p { font-size: 1.4583vw; }
	body > footer .clients ul { margin: 2.3958vw 0 0; }
	body > footer .clients ul li a.btn { font-size: 0.9375vw; }
	body > footer .columns { padding: 0.4688vw 2.5vw 0; gap: 0 3.6458vw; }
	body > footer .columns .col h2 { font-size: 1.1458vw; }
	body > footer .columns .col ul { font-size: 1.0417vw; }
	body > footer .signup { padding: 2.3438vw 2.5vw 0; }
	body > footer .signup .heading h2 { font-size: 1.4583vw; }
	body > footer .signup .heading p { font-size: 1.0417vw; }
	body > footer .signup .form { padding: 1.0417vw 0 0; }
	body > footer .signup .form .gform_wrapper > .gform_validation_errors { padding: 0 0 1.25vw; }
	body > footer .signup .form .gform_wrapper > .gform_validation_errors h2 { font-size: 1.042vw; }
	body > footer .signup .form form { gap: 0.5208vw; }
	body > footer .signup .form form .gfield .ginput_container input { font-size: 1.0417vw; }
	body > footer .signup .form form .gfield .gfield_description { font-size: 1.042vw; }
	body > footer .signup .form form .gform_footer button[type="submit"] { width: 3.125vw; height: 3.125vw; }
	body > footer .signup .form form .gform_footer button[type="submit"] span { background-size: 1.4583vw; border-width: 0.0521vw; }
	body > footer .signup .form form .gform_footer button[type="submit"]:hover span { top: -0.1042vw; left: -0.1042vw; }
	body > footer .legal { padding: 1.5625vw 2.5vw 0; gap: 1.25vw; }
	body > footer .legal p,
	body > footer .legal ul { font-size: var(--fluid-12); }
	body > footer h1 { padding: 1.1458vw 0 0; }
}

/* Slider */
.slick-slider
{
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    user-select: text;
    -webkit-touch-callout: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.draggable {
    cursor: pointer;
    cursor: grab;
    user-select: none;
}
.slick-list.dragging {
    cursor: grabbing;
}

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

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

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

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

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

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

    height: auto;

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

.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}

.cky-consent-bar .cky-notice-group .cky-btn-customize {
	    color: #000000 !important;
    background-color: transparent !important;
    border-color: #F3BEFF !important;
}

.cky-consent-bar .cky-notice-group .cky-btn-reject  {
	color: #000000 !important;
    background-color: #F3BEFF !important;
    border-color: #F3BEFF !important;
}

.cky-consent-bar .cky-notice-group .cky-btn-accept {
		color: #000000 !important;
    background-color: #F3BEFF !important;
    border-color: #F3BEFF !important;
}

.cky-footer-wrapper button {
	    background-color: #F3BEFF !important;
    border-color: #F3BEFF !important;
			color: #000000 !important;

}