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

/* resets
--------------------------------------------------------------------------
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; font-size: 100%; }

html { 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; }
[hidden] { display: none; }

img, video, iframe, svg, canvas { display: block; }

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; padding: 0; font: inherit; color: inherit; border-radius: 0; }
textarea { resize: vertical; }
label, button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; }
button[disabled], input[disabled] { cursor: default; }

table { border-collapse: collapse; }
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; }

a { color: inherit; text-decoration: none; }

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

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

body { font: 62.5%/1 cofo-gothic-variable, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; background: #16110A; color: #FFFFFF; position: relative; }

:root {
	--font-scale: scale-variable, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--font-scale-con-med: 'wdth' 50, 'wght' 500;
    --font-mono: "cofo-sans-mono-variable", ui-monospace, monospace;
	--font-11: clamp(8px, 0.573vw, 11px);
    --font-14: clamp(10px, 0.729vw, 14px);
    --font-16: clamp(10px, 0.833vw, 16px);
	--font-20: clamp(10px, 1.042vw, 20px);
	--font-24: clamp(12px, 1.25vw, 24px);
	--font-32: clamp(16px, 1.667vw, 32px);
    --font-36: clamp(18px, 1.875vw, 36px);
	--font-48: clamp(24px, 2.5vw, 48px);
    --font-52: clamp(26px, 2.708vw, 52px);
    --font-60: clamp(30px, 3.125vw, 60px);
	--font-72: clamp(36px, 3.75vw, 72px);
	--font-140: clamp(70px, 7.292vw, 140px);
    --font-180: clamp(90px, 9.375vw, 180px);
}

.anim,
.anim-group > *,
.anim-all > * { transform: translateY(60px); opacity: 0; transition: transform 0.6s ease, opacity 0.6s ease; will-change: transform, opacity; }
.anim.is-visible,
.anim-group > *.is-visible,
.anim-all.is-visible > * { transition-delay: 0.4s; transform: translateY(0); opacity: 1; }

@media only screen and (min-width: 1024px) {
	.anim,
	.anim-group > *,
	.anim-all > * { transform: translateY(3.125vw); }
	.anim.is-visible,
	.anim-group > *.is-visible,
	.anim-all.is-visible > * { transform: translateY(0); }
}

.btn { padding: 2px 2px 2px 8px; font-family: var(--font-mono); font-weight: 500; font-size: 10px; line-height: 1.25; color: #16110A; background: #FFFFFF; border: 0; border-radius: 9px; display: inline-flex; align-items: center; gap: 20px; }
.btn .text { position: relative; overflow: hidden; display: block; }
.btn .text span { width: 100%; text-transform: uppercase; transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1); display: block; }
.btn .text span + span { position: absolute; top: 100%; left: 0; }
.btn:hover .text span { transform: translateY(-100%); }
.btn .icon { width: 35px; height: 35px; position: relative; border-radius: 9px; overflow: hidden; }
.btn .icon span { width: 100%; height: 100%; position: absolute; top: 0; text-align: center; display: flex; justify-content: center; align-items: center; transition: left 0.6s cubic-bezier(.53, 0, 0, 1); }
.btn .icon span svg { width: 8px; height: auto; }
.btn .icon span:nth-child(1) { color: #16110A; background: #F1A806; left: -100%; }
.btn .icon span:nth-child(2) { color: #FFFFFF; background: #16110A; left: 0; }
.btn:hover .icon span:nth-child(1) { left: 0; }
.btn:hover .icon span:nth-child(2) { left: 100%; }

.btn.rv { color: #FFFFFF; background: #16110A; }
.btn.rv .icon span:nth-child(1) { color: #FFFFFF; background: #F1A806; }
.btn.rv .icon span:nth-child(2) { color: #16110A; background: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	.btn { padding: 0.143em 0.143em 0.143em 0.714em; font-size: 14px; line-height: 1.429; border-radius: 0.714em; gap: 1.571em; }
	.btn .icon { width: 3.286em; height: 3.286em; border-radius: 0.714em; }
	.btn .icon span svg { width: 0.714em; }
}

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

body > header { width: 100%; padding: 9px; position: fixed; top: 0; left: 0; display: flex; justify-content: space-between; pointer-events: none; z-index: 99; }
body > header h1 { pointer-events: auto; }
body > header h1 a svg { width: 103px; height: auto; }
body > header h1 a svg g { transition: fill 1s ease; }
body > header.is-dark h1 a svg g { fill: #16110A; }
body > header ul { padding: 2px; background: #FFFFFF; border-radius: 7px; display: flex; gap: 4px; pointer-events: auto; }
body > header ul li { display: flex; }
body > header ul li.menu button { padding: 0 12px; background: none; border: 0; position: relative; }
body > header ul li.menu button img { width: 9px; height: auto; transition: opacity 0.4s ease; }
body > header ul li.menu button img + img { position: absolute; top: 50%; left: 50%; translate: -50% -50%; opacity: 0; }
html.menu-open body > header ul li.menu button img { opacity: 0; }
html.menu-open body > header ul li.menu button img + img { opacity: 1; }
body > header ul li.link a { padding: 0 12px; font-family: var(--font-mono); font-weight: 500; font-size: 10px; text-transform: uppercase; background: #16110A; color: #FFFFFF; border-radius: 7px; display: flex; align-items: center; }
body > header ul li.link a:hover { background: #F1A806; }

@media only screen and (min-width: 1024px) {
	body > header { padding: 28px; align-items: center; }
	body > header h1 a svg { width: 192px; }
	body > header ul { padding: 3px; border-radius: 11px; gap: 0; }
	body > header ul li.menu button { padding: 0 24px; }
	body > header ul li.menu button img { width: 18px; }
	body > header ul li.link a { padding: 1.929em 1.500em; font-size: 14px; border-radius: 0.786em; }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 1.458vw; }
	body > header h1 a svg { width: 10vw; }
	body > header ul { padding: 0.156vw; border-radius: 0.573vw; }
	body > header ul li.menu button { padding: 0 1.25vw; }
	body > header ul li.menu button img { width: 0.938vw; }
	body > header ul li.link a { font-size: var(--font-14); }
}

html.menu-open { overflow: hidden; }
body > .menu { width: 100%; height: 100%; position: fixed; top: 0; right: 0; padding: 7px; transform: translateX(100%); transition: transform 0.4s ease; z-index: 98; }
html.menu-open body > .menu { transform: translateX(0); }
body > .menu .box { padding: 78px 7px 7px; background: #16110A; border-radius: 8px; }
body > .menu .box nav { padding: 0 0 96px; }
body > .menu .box nav ul { font-size: 32px; line-height: 36px; }
body > .menu .box nav ul li a:hover { color: #F1A806; }
body > .menu-overlay { position: fixed; inset: 0; backdrop-filter: blur(15px) brightness(0.9); -webkit-backdrop-filter: blur(15px) brightness(0.9); background: rgba(255, 255, 255, 0); transform: translateX(100%); transition: transform 0.4s ease; z-index: 97; }
html.menu-open body > .menu-overlay { transform: translateX(0); }

@media only screen and (min-width: 1024px) {
	body > .menu { width: 825px; height: auto; padding: 24px; }
	body > .menu .box { padding: 12px 22px 22px; border-radius: 12px; }
	body > .menu .box nav { padding: 0 0 112px; }
	body > .menu .box nav ul { width: 482px; font-size: 32px; line-height: 1.125; column-count: 2; column-gap: 0; }
}

@media only screen and (min-width: 1024px) {
	body > .menu { width: 42.969vw; padding: 1.25vw; }
	body > .menu .box { padding: 0.625vw 1.146vw 1.146vw; border-radius: 0.625vw; }
	body > .menu .box nav { padding: 0 0 5.833vw; }
	body > .menu .box nav ul { width: 25.104vw; font-size: var(--font-32); }
}

main { overflow: hidden; }

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

main > .configurator { padding: 54px 0 26px; background: #FFFFFF; }
main > .configurator iframe { width: 100%; height: calc( 100vh - 54px - 26px ); height: calc( 100dvh - 54px - 26px ); border: 0; }

@media only screen and (min-width: 1024px) {
	main > .configurator { padding: 130px 0 47px; }
	main > .configurator iframe { height: calc( 100vh - 130px - 47px ); height: calc( 100dvh - 130px - 47px ); }
}

main > .showroom-header { padding: 91px 10px 28px; text-align: center; }
main > .showroom-header .heading { padding: 0 0 22px; border-bottom: 1px solid rgba(255,255,255,0.31); }
main > .showroom-header .heading h1 { font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 40px; text-transform: uppercase; }
main > .showroom-header .overview { padding: 6px 0 0; }
main > .showroom-header .overview .count { display: none; }
main > .showroom-header .overview .text p { max-width: 150px; margin: 0 auto; font-size: 12px; }

@media only screen and (min-width: 1024px) {
	main > .showroom-header { padding: 141px 28px 148px; }
	main > .showroom-header .heading { padding: 0 0 16px; border-bottom-width: 1px; }
	main > .showroom-header .heading h1 { font-size: 180px; line-height: 1; }
	main > .showroom-header .overview { padding: 20px 0 0; display: grid; grid-template-columns: 1fr 400px 1fr; }
	main > .showroom-header .overview .count { text-align: left; display: block; }
	main > .showroom-header .overview .count p { font-family: var(--font-mono); font-size: 16px; line-height: 1.25; }
	main > .showroom-header .overview .text p { max-width: 100%; margin: 0; font-size: 20px; }
}

@media only screen and (min-width: 1024px) {
	main > .showroom-header { padding: 7.344vw 1.458vw 7.708vw; }
	main > .showroom-header .heading { padding: 0 0 0.833vw; border-bottom-width: 0.052vw; }
	main > .showroom-header .heading h1 { font-size: var(--font-180); }
	main > .showroom-header .overview { padding: 1.042vw 0 0; grid-template-columns: 1fr 20.833vw 1fr; }
	main > .showroom-header .overview .count p { font-size: var(--font-16); }
	main > .showroom-header .overview .text p { font-size: var(--font-20); }
}

main > .showroom-listing { padding: 0 10px; display: grid; grid-template-columns: 1fr; gap: 10px; }
main > .showroom-listing .model { padding: 7px 7px 10px; color: #16110A; background: #FFFFFF; border-radius: 5px; display: grid; grid-template-columns: 1fr; gap: 12px; }
main > .showroom-listing .model .images { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px 3px; }
main > .showroom-listing .model .images figure:nth-child(1) { grid-column: span 3; }
main > .showroom-listing .model .images figure img { border-radius: 3px; }
main > .showroom-listing .model .details h2 { font-size: 24px; letter-spacing: -0.01em; }
main > .showroom-listing .model .details h2 span { display: block; }
main > .showroom-listing .model .details p.price { margin: 12px 0 0; font-family: var(--font-mono); font-size: 12px; line-height: 14px; }
main > .showroom-listing .model .details .overview { padding: 24px 0 0; }
main > .showroom-listing .model .details .overview p { max-width: 300px; font-family: var(--font-mono); font-size: 12px; line-height: 14px; text-wrap: balance; }
main > .showroom-listing .model .details .overview p + p { margin-top: 14px; }
main > .showroom-listing .model .details .grid { padding: 28px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 11px 9px; }
main > .showroom-listing .model .details .grid .item { padding: 0 0 8px; border-bottom: 1px solid #16110A; }
main > .showroom-listing .model .details .grid .item h3 { font-family: var(--font-mono); font-size: 9px; line-height: 16px; opacity: 0.7; }
main > .showroom-listing .model .details .grid .item p { margin: 1px 0 0; font-size: 12px; line-height: 17px; }
main > .showroom-listing .model .details ul { position: absolute; bottom: 0; right: 0; }

@media only screen and (min-width: 1024px) {
	main > .showroom-listing { padding: 0 28px; gap: 28px; }
	main > .showroom-listing .model { padding: 7px 24px 7px 7px; border-radius: 12px; grid-template-columns: 955px 1fr; gap: 24px; align-items: start; }
	main > .showroom-listing .model .images { gap: 6px; }
	main > .showroom-listing .model .images figure img { border-radius: 6px; }
	main > .showroom-listing .model .details { padding: 8px 0 0; }
	main > .showroom-listing .model .details h2 { font-size: 60px; }
	main > .showroom-listing .model .details p.price { margin: 1.583em 0 0; font-size: 24px; line-height: 1; }
	main > .showroom-listing .model .details .overview { padding: 48px 0 0; }
	main > .showroom-listing .model .details .overview p { max-width: 440px; font-size: 16px; line-height: 1.250; }
	main > .showroom-listing .model .details .overview p + p { margin-top: 1.250em; }
	main > .showroom-listing .model .details .grid { padding: 66px 0 0; grid-template-columns: repeat(3, 1fr); gap: 10px 24px; }
	main > .showroom-listing .model .details .grid .item { padding: 0 0 12px; border-bottom-width: 1px; }
	main > .showroom-listing .model .details .grid .item h3 { font-size: 11px; line-height: 1.455; }
	main > .showroom-listing .model .details .grid .item p { margin: 0.625em 0 0; font-size: 16px; line-height: 1.063; }
	main > .showroom-listing .model .details ul { padding: 44px 12px 0 0; text-align: right; position: relative; bottom: auto; right: auto; }
}

@media only screen and (min-width: 1024px) {
	main > .showroom-listing { padding: 0 1.458vw; gap: 1.458vw; }
	main > .showroom-listing .model { padding: 0.365vw 1.25vw 0.365vw 0.365vw; border-radius: 0.625vw; grid-template-columns: 49.74vw 1fr; gap: 1.25vw; }
	main > .showroom-listing .model .images { gap: 0.313vw; }
	main > .showroom-listing .model .images figure img { border-radius: 0.313vw; }
	main > .showroom-listing .model .details { padding: 0.417vw 0 0; }
	main > .showroom-listing .model .details h2 { font-size: var(--font-60); }
	main > .showroom-listing .model .details p.price { font-size: var(--font-24); }
	main > .showroom-listing .model .details .overview { padding: 2.5vw 0 0; }
	main > .showroom-listing .model .details .overview p { max-width: 22.917vw; font-size: var(--font-16); }
	main > .showroom-listing .model .details .grid { padding: 3.438vw 0 0; gap: 0.521vw 1.25vw; }
	main > .showroom-listing .model .details .grid .item { padding: 0 0 0.625vw; border-bottom-width: 0.052vw; }
	main > .showroom-listing .model .details .grid .item h3 { font-size: var(--font-11); }
	main > .showroom-listing .model .details .grid .item p { font-size: var(--font-16); }
	main > .showroom-listing .model .details ul { padding: 2.292vw 0.625vw 0 0; }
}

main > .showroom-model-header figure img { height: 100vh; height: 100dvh; object-fit: cover; }
main > .showroom-model-header .panel { width: 100%; padding: 0 9px 64px; text-align: center; position: absolute; bottom: 0; left: 0; }
main > .showroom-model-header .panel .heading { padding: 0 0 8px; border-bottom: 1px solid rgba(255,255,255,0.31); }
main > .showroom-model-header .panel .heading h1 { font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 24px; line-height: 32px; text-transform: uppercase; }
main > .showroom-model-header .panel .overview { padding: 12px 0 0; }
main > .showroom-model-header .panel .overview .price { display: none; }
main > .showroom-model-header .panel .overview .text p { max-width: 200px; margin: 0 auto; font-size: 12px; text-wrap: balance; }
main > .showroom-model-header .panel .overview ul { margin: 50px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .showroom-model-header .panel { padding: 0 28px 46px; }
	main > .showroom-model-header .panel .heading { padding: 0 0 10px; border-bottom-width: 1px; }
	main > .showroom-model-header .panel .heading h1 { font-size: 72px; line-height: 1; }
	main > .showroom-model-header .panel .overview { padding: 20px 0 0; display: grid; grid-template-columns: 1fr 400px 1fr; }
	main > .showroom-model-header .panel .overview .price { text-align: left; display: block; }
	main > .showroom-model-header .panel .overview .price p { font-family: var(--font-mono); font-size: 16px; line-height: 1.25; }
	main > .showroom-model-header .panel .overview .text p { max-width: 100%; margin: 0; font-size: 20px; }
	main > .showroom-model-header .panel .overview ul { margin: 0 0 0 auto; }
}

@media only screen and (min-width: 1024px) {
	main > .showroom-model-header .panel { padding: 0 1.458vw 2.396vw; }
	main > .showroom-model-header .panel .heading { padding: 0 0 0.521vw; border-bottom-width: 0.052vw; }
	main > .showroom-model-header .panel .heading h1 { font-size: var(--font-72); }
	main > .showroom-model-header .panel .overview { padding: 1.042vw 0 0; grid-template-columns: 1fr 20.833vw 1fr; }
	main > .showroom-model-header .panel .overview .price p { font-size: var(--font-16); }
	main > .showroom-model-header .panel .overview .text p { font-size: var(--font-20); }
}

main > .showroom-model-details { padding: 52px 9px 0; }
main > .showroom-model-details .overview { padding: 0 37px 0 0; }
main > .showroom-model-details .overview p { margin: 1em 0 0; font-size: 32px; }
main > .showroom-model-details .overview p:first-child { margin: 0; }
main > .showroom-model-details .block { padding: 44px 0 15px; }
main > .showroom-model-details .block h2 { font-size: 24px; letter-spacing: -0.01em; }
main > .showroom-model-details .block h2::after { margin: 0 0 0 6px; font-size: 18px; content: '+'; display: inline-block; }
main > .showroom-model-details .block.is-open h2::after { content: '-'; }
main > .showroom-model-details .block .panel { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.5s ease, opacity 0.3s ease; }
main > .showroom-model-details .block.is-open .panel { max-height: 1000px; opacity: 1; }
main > .showroom-model-details .block .panel .grid { padding: 25px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 11px 9px; }
main > .showroom-model-details .block .panel .grid .item { padding: 0 0 8px; border-bottom: 1px solid #FFFFFF; }
main > .showroom-model-details .block .panel .grid .item.wide { grid-column: span 2; }
main > .showroom-model-details .block .panel .grid .item h3 { font-family: var(--font-mono); font-size: 9px; line-height: 16px; opacity: 0.7; }
main > .showroom-model-details .block .panel .grid .item p { margin: 1px 0 0; font-size: 12px; line-height: 17px; }

@media only screen and (min-width: 1024px) {
	main > .showroom-model-details { padding: 124px 28px 0; }
	main > .showroom-model-details .overview { padding: 0 451px 0 0; }
	main > .showroom-model-details .overview p { margin: 1em 0 0; font-size: 72px; letter-spacing: -0.01em; }
	main > .showroom-model-details .overview p:first-child { margin: 0; }
	main > .showroom-model-details .block { padding: 78px 0 52px; }
	main > .showroom-model-details .block h2 { font-size: 48px; }
	main > .showroom-model-details .block h2::after { display: none; }
	main > .showroom-model-details .block .panel { max-height: none; overflow: visible; opacity: 1; }
	main > .showroom-model-details .block.is-open .panel { max-height: none; opacity: 1; }
	main > .showroom-model-details .block .panel .grid { padding: 44px 0 0; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 14px 24px; }
	main > .showroom-model-details .block .panel .grid .item { padding: 0 0 15px; border-bottom-width: 1px; }
	main > .showroom-model-details .block .panel .grid .item h3 { font-size: 20px; line-height: 1.450; }
	main > .showroom-model-details .block .panel .grid .item p { margin: 0.900em 0 0; font-size: 20px; line-height: 1.450; }
}

@media only screen and (min-width: 1024px) {
	main > .showroom-model-details { padding: 6.458vw 1.458vw 0; }
	main > .showroom-model-details .overview { padding: 0 23.49vw 0 0; }
	main > .showroom-model-details .overview p { font-size: var(--font-72); }
	main > .showroom-model-details .block { padding: 4.063vw 0 2.708vw; }
	main > .showroom-model-details .block h2 { font-size: var(--font-48); }
	main > .showroom-model-details .block .panel .grid { padding: 2.292vw 0 0; gap: 0.729vw 1.25vw; }
	main > .showroom-model-details .block .panel .grid .item { padding: 0 0 0.781vw; border-bottom-width: 0.052vw; }
	main > .showroom-model-details .block .panel .grid .item h3 { font-size: var(--font-20); }
	main > .showroom-model-details .block .panel .grid .item p { font-size: var(--font-20); }
}

main > .showroom-model-gallery { padding: 28px 0 0; }
main > .showroom-model-gallery figure::after { width: 100%; height: 84px; background: linear-gradient(0deg,rgba(22, 17, 10, 1) 0%, rgba(22, 17, 10, 0) 100%); position: absolute; bottom: 0; left: 0; content: ' '; }

@media only screen and (min-width: 1024px) {
	main > .showroom-model-gallery { padding: 116px 0 0; }
	main > .showroom-model-gallery figure::after { height: 542px; }
}

@media only screen and (min-width: 1024px) {
	main > .showroom-model-gallery { padding: 6.042vw 0 0; }
	main > .showroom-model-gallery figure::after { height: 28.229vw; }
}

main > .showroom-model-more { padding: 45px 0 144px; }
main > .showroom-model-more .images { padding: 0 9px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 9px; }
main > .showroom-model-more .images figure img { border-radius: 6px; }
main > .showroom-model-more .image { padding: 9px 0 0; }
main > .showroom-model-more .text { padding: 18px 56px 0 9px; }
main > .showroom-model-more .text p { margin: 14px 0 0; font-family: var(--font-mono); font-size: 12px; line-height: 14px; }
main > .showroom-model-more .text p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .showroom-model-more { padding: 168px 0 468px 28px; display: grid; grid-template-columns: 1fr 974px; gap: 0 31px; }
	main > .showroom-model-more .images { padding: 0; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 29px; grid-column: 1; grid-row: 2; align-self: end; }
	main > .showroom-model-more .images figure img { border-radius: 6px; }
	main > .showroom-model-more .image { padding: 0; grid-column: 2; grid-row: 1 / span 2; }
	main > .showroom-model-more .text { padding: 0 380px 0 0; grid-column: 1; grid-row: 1; }
	main > .showroom-model-more .text p { margin: 1.200em 0 0; font-family: var(--font-mono); font-size: 20px; line-height: 1.2; }
	main > .showroom-model-more .text p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .showroom-model-more { padding: 8.75vw 0 24.375vw 1.458vw; grid-template-columns: 1fr 50.729vw; gap: 0 1.615vw; }
	main > .showroom-model-more .images { gap: 1.51vw; }
	main > .showroom-model-more .images figure img { border-radius: 0.313vw; }
	main > .showroom-model-more .text { padding: 0 19.792vw 0 0; }
	main > .showroom-model-more .text p { font-size: var(--font-20); }
}

main > .process { padding: 140px 9px 152px; display: grid; grid-template-columns: 1fr; gap: 9px; counter-reset: counter; }
main > .process .heading { padding: 0 0 14px; }
main > .process .heading h1 { font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 40px; text-transform: uppercase; letter-spacing: -0.01em; }
main > .process .block { min-height: 348px; padding: 57px 94px 0 7px; color: #16110A; background: url(images/process-m.png) no-repeat 0 0 / cover #D7CBBB; border-radius: 4px; }
main > .process .block::before { position: absolute; inset: 0; background-image: radial-gradient(circle, #16110A 50%, transparent 50%), radial-gradient(circle, #16110A 50%, transparent 50%), radial-gradient(circle, #16110A 50%, transparent 50%), radial-gradient(circle, #16110A 50%, transparent 50%); background-repeat: no-repeat; background-position: 4px 4px, calc(100% - 4px) 4px, 4px calc(100% - 4px), calc(100% - 4px) calc(100% - 4px); background-size: 16px 16px; pointer-events: none; content: ' '; }
main > .process .block h2 { font-weight: 500; font-size: 20px; }
main > .process .block p { margin: 22px 0 0; font-family: var(--font-mono); font-size: 12px; line-height: 14px; }
main > .process .block::after { font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 90px; position: absolute; bottom: 20px; left: 6px; counter-increment: counter; content: counter(counter, decimal-leading-zero); }

@media only screen and (min-width: 1024px) {
	main > .process { padding: 276px 28px 536px; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
	main > .process .heading { padding: 24px 90px 0 0; }
	main > .process .heading h1 { font-size: 140px; line-height: 0.786; }
	main > .process .block { min-height: 571px; padding: 71px 39px 0; background-image: url(images/process-d.png); border-radius: 4px; transition: background-color 0.4s ease, transform 0.6s ease, opacity 0.6s ease; }
	main > .process.anim-all.is-visible > .block { transition-delay: 0s, 0.4s, 0.4s; }
	main > .process.anim-all.is-visible > .block:nth-child(6n-4) { transition-delay: 0s, 0.6s, 0.6s; }
	main > .process.anim-all.is-visible > .block:nth-child(6n-3) { transition-delay: 0s, 0.8s, 0.8s; }
	main > .process.anim-all.is-visible > .block:nth-child(6n-2) { transition-delay: 0s, 1s, 1s; }
	main > .process.anim-all.is-visible > .block:nth-child(6n-1) { transition-delay: 0s, 1.2s, 1.2s; }
	main > .process.anim-all.is-visible > .block:nth-child(6n) { transition-delay: 0s, 1.4, 1.4s; }
	main > .process .block:hover { background-color: #F1A806; }
	main > .process .block::before { background-position: 7px 7px, calc(100% - 7px) 7px, 7px calc(100% - 7px), calc(100% - 7px) calc(100% - 7px); background-size: 24px 24px; }
	main > .process .block h2 { font-size: 32px; }
	main > .process .block p { margin: 1.500em 0 0; padding: 0 4.350em 0 0; font-size: 20px; line-height: 1.200; }
	main > .process .block::after { font-size: 140px; bottom: 0.264em; left: 0.279em; }
}

@media only screen and (min-width: 1024px) {
	main > .process { padding: 14.375vw 1.458vw 27.917vw; gap: 0.833vw; }
	main > .process .heading { padding: 1.25vw 4.688vw 0 0; }
	main > .process .heading h1 { font-size: var(--font-140); }
	main > .process .block { min-height: 29.74vw; padding: 3.698vw 2.031vw 0; border-radius: 0.208vw; }
	main > .process .block::before { background-position: 0.365vw 0.365vw, calc(100% - 0.365vw) 0.365vw, 0.365vw calc(100% - 0.365vw), calc(100% - 0.365vw) calc(100% - 0.365vw); background-size: 1.25vw 1.25vw; }
	main > .process .block h2 { font-size: var(--font-32); }
	main > .process .block p { font-size: var(--font-20); }
	main > .process .block::after { font-size: var(--font-140); }
}

main > .accordions { padding: 0 10px 151px; }
main > .accordions .heading { padding: 100px 0 12px; text-align: center; }
main > .accordions .heading h1 { font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 40px; text-transform: uppercase; letter-spacing: -0.01em; }
main > .accordions .nav { padding: 140px 0 12px; }
main > .accordions .nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
main > .accordions .nav ul li a { padding: 4px 9px; font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 16px; text-transform: uppercase; color: #000000; background: #FFFFFF; border-radius: 5px; opacity: 0.4; display: inline-flex; }
main > .accordions .nav ul li.on a { opacity: 1; }
main > .accordions .overview { padding: 12px 0 92px; text-align: center; border-top: 1px solid rgba(255, 255, 255, 0.31); }
main > .accordions .overview p { max-width: 230px; margin: 1em auto 0; font-size: 12px; line-height: 1; text-wrap: balance; }
main > .accordions .overview p:first-child { margin-top: 0; }
main > .accordions .panels { counter-reset: panel; }
main > .accordions .panels .panel { padding: 7px 0 27px; border-top: 1px solid rgba(255, 255, 255, 0.31);  }
main > .accordions .panels .panel .header { display: grid; grid-template-columns: 1fr auto; align-items: start; cursor: pointer; }
main > .accordions .panels .panel .header h2 { padding: 2px 0 0; font-size: 12px; display: grid; grid-template-columns: 30px 1fr; }
main > .accordions .panels .panel .header h2::before { counter-increment: panel; content: counter(panel, decimal-leading-zero); display: block; }
main > .accordions .panels .panel .header span { width: 23px; height: 23px; background: #FFFFFF; border-radius: 5px; text-align: center; display: flex; justify-content: center; align-items: center; }
main > .accordions .panels .panel .header span img { width: 5px; height: auto; transition: transform 0.4s ease; }
main > .accordions .panels .panel.is-open .header span img { transform: rotate(180deg); }
main > .accordions .panels .panel .text { padding: 0 32px; max-height: 0; overflow: hidden; opacity: 0; transition: max-height 0.5s ease, padding-top 0.3s ease, opacity 0.3s ease; }
main > .accordions .panels .panel.is-open .text { padding-top: 25px; max-height: 500px; opacity: 1; }
main > .accordions .panels .panel .text p { max-width: 250px; margin: 1.2em 0 0; font-family: var(--font-mono); font-size: 10px; line-height: 1.2; }
main > .accordions .panels .panel .text p:first-child { margin: 0; }

main > .accordions.light { color: #16110A; background: #DBCEBE; isolation: isolate; }
main > .accordions.light .overview,
main > .accordions.light .panels .panel { border-top-color: rgba(22, 17, 10, 0.31); }
main > .accordions.light .panels .panel .header span { background: #16110A; }
main > .accordions.light .pattern { width: 228.205vw; height: 340.256vw; position: absolute; left: -76.667vw; top: -29.487vw; background: url(images/accordion-pattern.jpg) no-repeat 0 0 / cover; opacity: 0.18; mix-blend-mode: exclusion; z-index: 1; pointer-events: none; }

@media only screen and (min-width: 1024px) {
	main > .accordions { padding: 0 25px 428px; }
	main > .accordions .heading { padding: 224px 0 16px; }
	main > .accordions .heading h1 { font-size: 180px; }
	main > .accordions .nav { padding: 234px 0 46px; }
	main > .accordions .nav ul { gap: 14px; }
	main > .accordions .nav ul li a { padding: 0.250em 0.313em 0.188em; font-size: 32px; border-radius: 0.313em; }
	main > .accordions .overview { padding: 18px 0 202px; border-top-width: 1px; }
	main > .accordions .overview p { max-width: 584px; font-size: 20px; }
	main > .accordions .panels .panel { padding: 11px 0 35px; border-top-width: 1px; }
	main > .accordions .panels .panel .header h2 { padding: 0; font-size: 32px; grid-template-columns: 359px 1fr; }
	main > .accordions .panels .panel .header span { width: 46px; height: 46px; border-radius: 10px; }
	main > .accordions .panels .panel .header span img { width: 10px; }
	main > .accordions .panels .panel .text { padding: 0 359px; }
	main > .accordions .panels .panel.is-open .text { padding-top: 52px; max-height: 1000px; }
	main > .accordions .panels .panel .text p { max-width: 400px; margin: 1.250em 0 0; font-size: 16px; line-height: 1.25; }
	main > .accordions .panels .panel .text p:first-child { margin: 0; }

	main > .accordions.light .pattern { width: 100%; height: 2863px; left: 0; top: 0; background-image: url(images/accordion-pattern-d.jpg); }
}

@media only screen and (min-width: 1024px) {
	main > .accordions { padding: 0 1.302vw 22.292vw; }
	main > .accordions .heading { padding: 11.667vw 0 0.833vw; }
	main > .accordions .heading h1 { font-size: var(--font-180); }
	main > .accordions .nav { padding: 12.188vw 0 2.396vw; }
	main > .accordions .nav ul { gap: 0.729vw; }
	main > .accordions .nav ul li a { font-size: var(--font-32); }
	main > .accordions .overview { padding: 0.938vw 0 10.521vw; border-top-width: 0.052vw; }
	main > .accordions .overview p { max-width: 30.417vw; font-size: var(--font-20); }
	main > .accordions .panels .panel { padding: 0.573vw 0 1.823vw; border-top-width: 0.052vw; }
	main > .accordions .panels .panel .header h2 { font-size: var(--font-32); grid-template-columns: 18.698vw 1fr; }
	main > .accordions .panels .panel .header span { width: 2.396vw; height: 2.396vw; border-radius: 0.521vw; }
	main > .accordions .panels .panel .header span img { width: 0.521vw; }
	main > .accordions .panels .panel .text { padding: 0 18.698vw; }
	main > .accordions .panels .panel.is-open .text { padding-top: 2.708vw; max-height: 52.083vw; }
	main > .accordions .panels .panel .text p { max-width: 20.833vw; font-size: var(--font-16); }

	main > .accordions.light .pattern { height: 149.115vw; }
}

main > .contact { color: #FFFFFF; background: #16110A; overflow: hidden; }
main > .contact picture { width: 100%; height: 731px; height: 187.436vw; position: absolute; top: -143px; top: -36.667vw; left: 0; }
main > .contact picture img { width: 100%; height: auto; position: absolute; bottom: 0; left: 0; }
main > .contact .heading { padding: 102px 9px 0; height: 588px; height: 150.769vw; color: #16110A; }
main > .contact .heading h1 { font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 40px; line-height: 30px; text-transform: uppercase; letter-spacing: -0.01em; }
main > .contact .heading h2 { width: 140px; margin: 18px 0 0 auto; font-family: var(--font-scale); font-variation-settings: var(--font-scale-con-med); font-size: 40px; line-height: 30px; text-transform: uppercase; letter-spacing: -0.01em; text-align: right; }
main > .contact .form .gform_fields { counter-reset: counter; }
main > .contact .form .gform_fields .gfield { border-top: 1px solid currentColor; }
main > .contact .form .gform_fields .gfield::after { font-family: var(--font-mono); font-size: 16px; position: absolute; top: 6px; left: 9px; counter-increment: counter; content: counter(counter, decimal-leading-zero); }
main > .contact .form .gform_fields .gfield > label { display: none; }
main > .contact .form .gform_fields .gfield .ginput_container input[type="text"],
main > .contact .form .gform_fields .gfield .ginput_container input[type="email"],
main > .contact .form .gform_fields .gfield .ginput_container textarea { width: 100%; padding: 6px 0 18px 69px; font-family: var(--font-mono); font-size: 16px; background: none; border: 0; }
main > .contact .form .gform_fields .gfield .ginput_container textarea { height: 10em; }
main > .contact .form .gform_footer { padding: 24px 9px 0; border-top: 1px solid currentColor; }
main > .contact .content { padding: 68px 45px 134px 9px; }
main > .contact .content a:hover { color: #F1A806; }
main > .contact .content figure { display: none; }
main > .contact .content .col .text p { font-size: 24px; text-wrap: balance; }
main > .contact .content .col .details { padding: 34px 0 0; }
main > .contact .content .col .details ul { font-size: 20px; }
main > .contact .content .col .details ul li { padding: 4px 0 0; display: grid; grid-template-columns: 83px 1fr; }
main > .contact .content .col .details ul li:first-child { padding: 0; }
main > .contact .content .col .details ul li.break { padding: 26px 0 0; }
main > .contact .content .col .hours { padding: 16px 0 0 83px; }
main > .contact .content .col .hours p { font-family: var(--font-mono); font-size: 12px; line-height: 14px; }
main > .contact .content .col .social { padding: 22px 0 0 83px; }
main > .contact .content .col .social ul { font-size: 28px; display: flex; }

@media only screen and (min-width: 1024px) {
	main > .contact::after { width: 2549px; height: 2868px; position: absolute; top: -721px; left: 508px; background: url(images/contact-overlay.png) no-repeat 50% 50% / cover; pointer-events: none; content: ' '; z-index: 4; }
	main > .contact picture { width: 2549px; height: 2868px; top: -1100px; left: -148px; z-index: 1; }
	main > .contact picture img { width: 100%; height: 100%; object-fit: cover; }
	main > .contact .heading { padding: 202px 46px 90px 24px; height: auto; z-index: 3; }
	main > .contact .heading h1 { font-size: 180px; line-height: 0.778; }
	main > .contact .heading h2 { width: 5.556em; margin-top: 0; font-size: 180px; line-height: 0.778; }
	main > .contact .form { width: 923px; min-height: 665px; color: #16110A; z-index: 3; }
	main > .contact .form .gform_fields .gfield { border-top-width: 1px; }
	main > .contact .form .gform_fields .gfield::after { font-size: 16px; top: 0.375em; left: 2.688em; }
	main > .contact .form .gform_fields .gfield .ginput_container input[type="text"],
	main > .contact .form .gform_fields .gfield .ginput_container input[type="email"],
	main > .contact .form .gform_fields .gfield .ginput_container textarea { padding: 0.375em 6.250em 1.125em 11.563em; font-size: 16px; }
	main > .contact .form .gform_footer { padding: 48px 32px 0; border-top-width: 1px; z-index: 5; }
	main > .contact .content { padding: 0 332px 126px 31px; display: grid; grid-template-columns: 521px 1fr; gap: 376px; }
	main > .contact .content .bg { width: 100%; height: calc( 100% - 100px ); position: absolute; left: 0; top: 100px; background: #16110A; pointer-events: none; z-index: 1; }
	main > .contact .content::before { width: 850px; height: 684px; position: absolute; top: -574px; left: 0; background: linear-gradient(0deg,rgba(22, 17, 10, 1) 0%, rgba(22, 17, 10, 0) 100%); content: ' '; pointer-events: none; z-index: 2; }
	main > .contact .content::after { width: calc( 100% - 850px ); height: 684px; position: absolute; top: -574px; right: 0; background: linear-gradient(0deg,rgba(22, 17, 10, 1) 0%, rgba(22, 17, 10, 0) 100%); content: ' '; pointer-events: none; z-index: 5; }
	main > .contact .content figure { display: block; position: relative; z-index: 6; }
	main > .contact .content .col { z-index: 6; }
	main > .contact .content .col .text p { font-size: 36px; text-wrap: balance; }
	main > .contact .content .col .details { padding: 116px 0 0; }
	main > .contact .content .col .details ul { font-size: 32px; }
	main > .contact .content .col .details ul li { padding: 0.219em 0 0; grid-template-columns: 191px 1fr; }
	main > .contact .content .col .details ul li:first-child { padding: 0; }
	main > .contact .content .col .details ul li.break { padding: 1.219em 0 0; }
	main > .contact .content .col .hours { padding: 36px 0 0 191px; }
	main > .contact .content .col .hours p { font-size: 20px; line-height: 1.200; }
	main > .contact .content .col .social { padding: 52px 0 0 191px; }
	main > .contact .content .col .social ul { font-size: 52px; }
}

@media only screen and (min-width: 1024px) {
	main > .contact::after { width: 132.76vw; height: 149.375vw; top: -37.552vw; left: 26.458vw; }
	main > .contact picture { width: 132.76vw; height: 149.375vw; top: -57.292vw; left: -7.708vw; }
	main > .contact .heading { padding: 10.521vw 2.396vw 4.688vw 1.25vw; }
	main > .contact .heading h1 { font-size: 9.375vw; }
	main > .contact .heading h2 { font-size: 9.375vw; }
	main > .contact .form { width: 48.073vw; min-height: 34.635vw; }
	main > .contact .form .gform_fields .gfield { border-top-width: 0.052vw; }
	main > .contact .form .gform_fields .gfield::after { font-size: 0.833vw; }
	main > .contact .form .gform_fields .gfield .ginput_container input[type="text"],
	main > .contact .form .gform_fields .gfield .ginput_container input[type="email"],
	main > .contact .form .gform_fields .gfield .ginput_container textarea { font-size: 0.833vw; }
	main > .contact .form .gform_footer { padding: 2.5vw 1.667vw 0; border-top-width: 0.052vw; }
	main > .contact .content { padding: 0 17.292vw 6.563vw 1.615vw; grid-template-columns: 27.135vw 1fr; gap: 19.583vw; }
	main > .contact .content .bg { height: calc( 100% - 5.208vw ); top: 5.208vw; }
	main > .contact .content::before { width: 44.271vw; height: 35.625vw; top: -29.896vw; }
	main > .contact .content::after { width: calc( 100% - 44.271vw ); height: 35.625vw; top: -29.896vw; }
	main > .contact .content .col .text p { font-size: var(--font-36); }
	main > .contact .content .col .details { padding: 6.042vw 0 0; }
	main > .contact .content .col .details ul { font-size: var(--font-32); }
	main > .contact .content .col .details ul li { grid-template-columns: 9.948vw 1fr; }
	main > .contact .content .col .hours { padding: 1.875vw 0 0 9.948vw; }
	main > .contact .content .col .hours p { font-size: var(--font-20); }
	main > .contact .content .col .social { padding: 2.708vw 0 0 9.948vw; }
	main > .contact .content .col .social ul { font-size: var(--font-52); }
}

main > .image-banner { padding: 10px 10px 46px; }
main > .image-banner .panel { padding: 0 38px; height: 538px; text-align: center; display: flex; flex-direction: column; justify-content: center; gap: 26px; }
main > .image-banner .panel figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
main > .image-banner .panel figure img { width: 100%; height: 100%; border-radius: 19px; object-fit: cover; }
main > .image-banner .panel p { font-size: 32px; letter-spacing: -0.01em; }

@media only screen and (min-width: 1024px) {
	main > .image-banner { padding: 218px 28px 70px; }
	main > .image-banner .panel { padding: 75px 600px; height: 721px; display: grid; grid-template-rows: 1fr auto 1fr; gap: 0; }
	main > .image-banner .panel figure img { border-radius: 19px; }
	main > .image-banner .panel p { font-size: 60px; text-wrap: balance; grid-row: 2; }
	main > .image-banner .panel ul { grid-row: 3; align-self: end; }
}

@media only screen and (min-width: 1024px) {
	main > .image-banner { padding: 11.354vw 1.458vw 3.646vw; }
	main > .image-banner .panel { padding: 3.906vw 31.25vw; height: 37.552vw; }
	main > .image-banner .panel figure img { border-radius: 0.99vw; }
	main > .image-banner .panel p { font-size: var(--font-60); }
}

main > .cta { padding: 144px 68px 108px; color: #FFFFFF; background: #16110A; z-index: 10; }
main > .cta::before { width: 186px; height: 186px; position: absolute; top: -90px; left: -32px; background: url(images/spinner.svg) center / contain no-repeat; animation: rotate 20s linear infinite; transform-origin: center; pointer-events: none; content: ''; }
@keyframes rotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
main > .cta .panel p { font-size: 24px; letter-spacing: -0.01em; }
main > .cta .panel ul { margin: 18px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .cta { padding: 192px 297px 192px 877px; }
	main > .cta::before { width: 580px; height: 580px; top: -272px; left: -134px; }
	main > .cta .panel p { font-size: 60px; }
	main > .cta .panel ul { margin: 62px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .cta { padding: 10vw 15.469vw 10vw 45.677vw; }
	main > .cta::before { width: 30.208vw; height: 30.208vw; top: -14.167vw; left: -6.979vw; }
	main > .cta .panel p { font-size: var(--font-60); }
	main > .cta .panel ul { margin: 3.229vw 0 0; }
}

body > footer { width: 100%; padding: 0 9px; position: absolute; bottom: 0; left: 0; z-index: 98; }
html.ftr-dark body > footer { color: #16110A; }
body > footer a { color: currentColor; }
body > footer a:hover { opacity: 0.5; }
body > footer ul { padding: 10px 0; font-family: var(--font-mono); font-size: 6px; text-transform: uppercase; border-top: 0.4px solid currentColor; display: flex; justify-content: space-between; }
body > footer ul li.coords { display: none; }

@media only screen and (min-width: 1024px) {
	body > footer { padding: 0 26px; }
	body > footer ul { padding: 0.625em 0; font-size: 16px; border-top-width: 0.063em; }
	body > footer ul li.coords { display: block; }
}

@media only screen and (min-width: 1024px) {
	body > footer { padding: 0 1.354vw; }
	body > footer ul { font-size: var(--font-16); }
}