@charset "utf-8";

:root {
	--br: 2.4rem;
	--br_less: calc(var(--br) * 0.5);
	--br_more: calc(var(--br) * 1.6);
	
	--m: 94px;
	--n_vpmax: 1700;
	--n_vpmin: 320;
	--n_max: 120;
	--n_min: 50;
	--n: clamp(var(--n_min) * 1px, calc(var(--n_min) * 1px + (var(--n_max) - var(--n_min)) * ((100vw - var(--n_vpmin) * 1px) / (var(--n_vpmax) - var(--n_vpmin)))), var(--n_max) * 1px);
	
	--hmain: 100px;
	--hmain_scrolled: 78px;

	--box_mini: 440px;
	--box_small: 560px;
	--box: 740px;
	--box_medium: 960px;
	--box_large: 1115px;
	--box_full: 1480px;
	
	--h1_base: 5rem;
	
	--move_in: 0.45s cubic-bezier(.65, 0, .3, 1);

	--loader_bg: white;
	--loader_size: 1.7rem;
	--loader_border_width: 0.3rem;
	--loader_color_base: white;
	--loader_color_ind: var(--prim);
	
	--mask_loader_color_base: transparent;
	--mask_loader_color_ind: white;

	--focus_outline_color: var(--prim20);
	--focus_outline_offset: 2px;
	
	--p_fontsize: 1.8rem;
	--p_lineheight: 1.7;

	--tab_fontweight: 525;
	--tab_selected_fontweight: 625;
	--tab_height: 6.2rem;
	--tab_selected_color: var(--prim40);
	
	--bnav_height: 7.7rem;
	--bnav_spacer: 0px;
}
:root.scrolled {
	--hmain: var(--hmain_scrolled);
}
:root {
	--font: #18212d;
	
/* {"cid":"shadow","h":215,"s":25,"l":40,"sdyn":0.2,"opacity":0.1} */
--shadow10: #1014191a;
--shadow20: #2027311a;
--shadow30: #303b4a1a;
--shadow40: #3f4f641a;
--shadow: #4d62801a;
--shadow60: #59759c1a;
--shadow70: #6f89af1a;
--shadow80: #889fbe1a;
--shadow90: #a2b4cd1a;
	
	--mask_background: hsl(220deg 55% 5% / 60%);
	--mask_closable_background: var(--mask_background);
	
/* {"cid":"accent","h":198,"s":77,"l":50,"sdyn":0.3,"double":1} */
--accent5: #061014;
--accent10: #0b1f28;
--accent15: #112f3c;
--accent20: #163f50;
--accent25: #1b4f65;
--accent30: #1f5f7a;
--accent35: #226f91;
--accent40: #2381a9;
--accent45: #2293c3;
--accent: #1da7e2;
--accent55: #2cb3ec;
--accent60: #3fbdf3;
--accent65: #54c7f8;
--accent70: #6acffb;
--accent75: #82d8fc;
--accent80: #9ae0fe;
--accent85: #b3e8fe;
--accent90: #ccf0ff;
--accent95: #e6f7ff;

/* {"cid":"prim","h":235,"s":50,"l":50,"sdyn":0.25,"double":1,"bg":""} */
--prim5: #080912;
--prim10: #101123;
--prim15: #171a35;
--prim20: #1f2247;
--prim25: #262b59;
--prim30: #2d336c;
--prim35: #343a7f;
--prim40: #394193;
--prim45: #3e46a8;
--prim: #404abf;
--prim55: #4f59ca;
--prim60: #6069d2;
--prim65: #727bda;
--prim70: #858de0;
--prim75: #999fe6;
--prim80: #adb2eb;
--prim85: #c1c5f0;
--prim90: #d6d8f5;
--prim95: #eaecfa;

/* {"cid":"red","h":345,"s":65,"l":50,"sdyn":0,"double":1} */
--red5: #150409;
--red10: #2a0911;
--red15: #3f0d1a;
--red20: #541222;
--red25: #69162b;
--red30: #7e1b34;
--red35: #931f3c;
--red40: #a82445;
--red45: #bd284d;
--red: #d22d56;
--red55: #d74267;
--red60: #db5778;
--red65: #e06c89;
--red70: #e4819a;
--red75: #e996ab;
--red80: #edabbb;
--red85: #f2c0cc;
--red90: #f6d5dd;
--red95: #fbeaee;

/* {"cid":"b","h":220,"s":20,"l":90,"sdyn":0} */
--b10: hsl(220deg 20% 82%);
--b20: hsl(220deg 20% 84%);
--b30: hsl(220deg 20% 86%);
--b40: hsl(220deg 20% 88%);
--b: hsl(220deg 20% 90%);
--b60: hsl(220deg 20% 92%);
--b70: hsl(220deg 20% 94%);
--b80: hsl(220deg 20% 96%);
--b90: hsl(220deg 20% 98%);

	/* {"cid":"bg","h":220,"s":35,"l":100,"sdyn":0.25,"double":1,"shades":1} */
	--bg5: #e2e6ee;
	--bg10: #e5e9f0;
	--bg15: #e8ecf2;
	--bg20: #eceef4;
	--bg25: #eff1f6;
	--bg30: #f2f4f8;
	--bg35: #f5f7fa;
	--bg40: #f8f9fb;
	--bg45: #fcfcfd;
	--bg: #ffffff;

	/* {"cid":"soft","h":220,"s":20,"l":50,"sdyn":0.35,"double":1} */
	--soft5: #0b0c0e;
	--soft10: #16181d;
	--soft15: #21252b;
	--soft20: #2c313a;
	--soft25: #373d49;
	--soft30: #414958;
	--soft35: #4b5567;
	--soft40: #556077;
	--soft45: #5e6c87;
	--soft: #667799;
	--soft55: #7384a6;
	--soft60: #8191b1;
	--soft65: #909ebc;
	--soft70: #9facc6;
	--soft75: #afbad0;
	--soft80: #bfc8d9;
	--soft85: #cfd5e3;
	--soft90: #dfe3ec;
	--soft95: #eff1f6;
	
}



body {
	color: var(--font);
	font-family: 'Figtree';
	font-weight: 400;
	letter-spacing: 0.015em;
}
body::selection {
	color: #000000;
	background-color: var(--accent90);
}
html {
	scrollbar-color: #cfd5e1 transparent;
}
header, .container {
	max-width: 2100px;
}
body {
	background-color: var(--bg);
}
.header_spacer {
	padding-top: var(--hmain);
}
header {
	position: fixed;
	background-color: var(--bg);
	top: 0;
	width: inherit;
	height: var(--hmain);
	border-bottom: 1px solid var(--b);
	z-index: 599;
	transition: 0.25s;
}
main:after {
    content: "";
    position: relative;
    float: left;
    width: 100%;
    height: calc(var(--bnav_height) + var(--bnav_spacer));
}
m, .m {
	font-weight: 500;
}
b, .bold, strong  {
	font-weight: 600;
}
img.full {
	width: 100%;
}
.sheet img {
	display: inline-block;
}
.sheet span {
    font-size: 1em !important;
}
h1, h2, h3, .hero {
	font-family: "Outfit", sans-serif;
	color: var(--font_heading);
}
h1, .hero {
	font-size: var(--h1_base);
    font-weight: 550;
    letter-spacing: -0.015em;
    line-height: 1.35em;
	margin: 0 0 1.0em 0;
}
h2 {
	font-size: var(--h2_base);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.3em;
	margin: 0 0 1em 0;
}
h3 {
    font-size: 1.9rem;
    font-weight: 450;
    letter-spacing: 0;
    line-height: 1.3em;
    margin: 0 0 0.75em 0;
}
h4 {
    font-size: 2rem;
    font-weight: 550;
	line-height: 1.3em;
	margin: 0 0 0.75em 0;
}
h5 {
	font-size: 1.6rem;
    font-weight: 600;
	letter-spacing: 0;
	line-height: 0.9em;
    margin: 0 0 0.75em 0;
}
p, ul, ol {
	font-size: var(--p_fontsize);
	margin: 0 0 1em 0;
	font-weight: 450;
	line-height: var(--p_lineheight);
	padding-left: 0;
	letter-spacing: 0.0125em;
	color: var(--soft30);
}
p:last-child, ul:last-child, ol:last-child {
	margin-bottom: 0;
}
p + h2, ul + h2, ol + h2 {
	margin-top: 1.75em;
}
p + h3, ul + h3, ol + h3 {
	margin-top: 1.3em;
}
p.emph {
	font-weight: 575;
}
small {
    font-size: 1.4rem;
}
.logo, .logo_svg  {
	display: block;
	position: relative;
	width: auto;
}
.logo {
	height: 2.2rem;
}
.logo_svg {
	height: 100%;
}
header nav ul {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    height: var(--header_lineheight);
	display: flex;
	gap: var(--nav_gap);
	padding-left: 4%;
}
header nav ul.sub {
	position: absolute;
    height: auto;
    z-index: -1;
    padding: 25px 0 40px 0;
	display: none;
}
header nav ul.sub:before {
    content: "";
    position: absolute;
    top: -100%;
    left: -100vw;
    height: 200%;
    width: 150vw;
    background-color: white;
	box-shadow: 0 0 60px rgb(0 0 0 / 5%);
	pointer-events: none;
}
header nav ul.sub:after {
	content: "";
	position: absolute;
	left: -20px;
	right: -20px;
	top: -3px;
	bottom: 0;
	z-index: -1;
}
header nav ul.sub li {
	display: block;
	width: max-content;
    margin: 0;
	padding: 0.7em 0;
}
.hidemenu header nav ul.sub li {
	width: auto;
}
header nav ul.sub a {
    font-size: 1.4rem;
    font-weight: 400;
	line-height: 1.6em;
}
header nav li {
	position: relative;
	display: inline-block;
}
header nav li:first-child {
	margin-left: 0px;
}
header nav li:last-child {
	margin-right: 0px;
}
header nav a, header nav a:visited, header nav a:active {
	position: relative;
	display: inline-block;
	height: 100%;
    font-size: var(--header_fontsize);
    font-weight: var(--header_fontweight);
    letter-spacing: var(--header_letterspacing);
	line-height: var(--header_lineheight);
	color: var(--font);
	white-space: nowrap;
}
header nav a:hover, header nav ul.main > li:hover > a {
	color: var(--prim);
	text-decoration: none;
}
header nav a.active {
	color: var(--prim);
}
.hidemenu header nav {
	position: absolute;
	padding: var(--n) var(--m);
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	overflow-y: auto;
	background-color: var(--bg);
	opacity: 0;
	z-index: -1;
	pointer-events: none;
	transition: opacity 0.55s;	
}
@supports (-webkit-touch-callout: none) {
.hidemenu header nav {
	padding-bottom: calc(var(--n) + 50px);
}
}
.hidemenu header nav.triggered {
	opacity: 1;
	pointer-events: auto;
}
.hidemenu header nav ul.main {
	height: auto;
	flex-direction: column;
	align-items: center;
	visibility: hidden;
}
.hidemenu header nav li {
	padding: 1.3rem 0;
	margin: 0;
	display: block;
    opacity: 0;
    transform: translateY(50px);
	transition: 0.5s;
    transition-delay: 0s;
}
.hidemenu header nav.triggered ul li {
	opacity: 1;
    transform: none;
	transition-delay: calc(var(--order) * 100ms);
}
.hidemenu header nav.triggered ul.main {
	visibility: visible;
}
.hidemenu header nav a {
	font-size: 2.0rem;
	line-height: 2em;
}
.hidemenu header nav ul.sub {
    position: relative;
    z-index: 0;
    padding: 0;
    display: block;
}
.hidemenu header nav ul.sub:before, .hidemenu header nav ul.sub:after {
	display: none;
}
.hidemenu header nav ul.sub a {
	font-size: 1.4rem;
	line-height: 1.2em;
}
.center_mum {
	display: flex;
    align-items: center;
    justify-content: center;
}
footer {
	background-color: var(--bg35);
	z-index: 100;
}
footer ul {
	font-size: 1.3rem;
	font-weight: 300;
	line-height: 1.3em;
	letter-spacing: 0.1em;
	padding: 0;
	margin: 0;
}
footer ul li {
	text-align: left;
	padding: 4px 0;
}
footer ul li a:hover {
	color: #FFFFFF;
}
#message {
	font-size: 1.5rem;
	font-weight: 600;
	padding: 15px var(--m);
	border-radius: var(--br);
    transform: translate(-50%, -2.5rem);
}
#message.error {
    background-color: var(--red90);
    color: var(--red10);
}
#message.success {
	background-color: var(--mint80);
    color: var(--mint10);
}
.sumsy_mode_mum {
	position: fixed;
	left: -15px;
	top: 50%;
	margin-top: -22px;
	width: 28px;
	height: 44px;
	background-color: #404751;
	border-radius: 0 5px 5px 0;
	transition: 0.05s linear;
	box-shadow: 0 1px 2px rgb(0 0 0 / 80%);
	z-index: 1;
}
.sumsy_mode_mum:hover {
	background-color: #282E36;
	left: -10px;
}
.sumsy_mode_mum svg {
	fill: #FFFFFF;
	width: 28px;
	height: 44px;
}
.sumsy_mode_mum circle {
	opacity: 0.20;
}
.sumsy_iframe {
	position: fixed;
	top: 0;
	right: -100%;
	margin: 0;
	padding: 0;
	border: 0;
	height: 100%;
	z-index: 999;
	transition: 0.5s ease-in-out;
	box-shadow: 0 0 20px rgb(0 0 0 / 30%);
}
.sumsy_blur {
    opacity: 0.4;
	-webkit-filter: blur(2px) grayscale(100%);
	filter: blur(2px) grayscale(100%);
}
.sumsy_blur .container {
	pointer-events: none;
}
.mask.popup_container {
	transition: opacity 0.2s ease;
    padding-top: var(--n25);
    padding-bottom: var(--n25);
}
.popup {
    max-width: 600px;
	max-height: 100%;
    background-color: var(--bg);
	border-radius: var(--br_more);
    box-shadow: 0 0 20px rgb(0 0 0 / 5%);
}
.popup_header, .popup_content {
	--pu_padding: 3.5rem;
}
@container popup (min-width: 670px) {
	.popup_header, .popup_content { --pu_padding: 4.0rem; }
}
@container popup (max-width: 440px) {
	.popup_header, .popup_content { --pu_padding: 3.2rem; }
}
@container popup (max-width: 400px) {
	.popup_header, .popup_content { --pu_padding: 3.0rem; }
}


main.set {
	margin-top: calc((var(--bnav_height) + var(--bnav_spacer)) * -1);
}
.bottom_nav_container {
	position: sticky;
	top: calc(100dvh - var(--bnav_height) - var(--bnav_spacer));
	padding-bottom: var(--bnav_spacer);
	z-index: 99;
	pointer-events: none;
}
nav.bottom_nav:before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--bg45);
	opacity: 0.9;
	z-index: -1;
}
nav.bottom_nav {
	position: relative;
	width: 100%;
	height: var(--bnav_height);
	border-radius: var(--br) var(--br) 0 0;
	pointer-events: all;
	box-shadow: 0 0 50px var(--shadow60), 0 0 3px var(--shadow70);
	overflow: hidden;
	backdrop-filter: blur(10px);
	transition: opacity 0.35s;
}
body.mask_open nav.bottom_nav {
	opacity: 0;
}
nav.bottom_nav > * {
	flex: 1;
    height: var(--bnav_height);
    font-size: 1.5rem;
    font-weight: 600;
	line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    gap: 1.3rem;
}
nav.bottom_nav .icon {
    color: var(--soft40);
    width: 1.5em;
	stroke-width: 1.6;
}
.bottom_nav_item {
	transition: 0.25s;
}


.eyebrow {
	font-family: 'Outfit';
	position: relative;
    display: inline-block;
    color: var(--prim25);
    font-size: 1.4rem;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    font-weight: 550;
    margin-bottom: 1em;
}

.avatar {
	position: relative;
	width: 4.0rem;
	height: 4.0rem;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0px 2px 5px var(--shadow);
	background-color: var(--prim);
	background-color: var(--soft70);
}
.avatar_wrap {
	position: relative;
}
.avatar_wrap:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 1.2rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #59c559;
    border: 2px solid var(--bg);
}
.avatar > img {
	position: absolute;
	width: 100%;
    height: 100%;
	object-fit: cover;
	object-position: center;
}
.top {
	height: 60rem;
}
.top.full {
	height: 100vh;
	height: 100svh;
	max-height: 1500px;
}
.top > video {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.darkener {
	background: rgba(0, 0, 0, 0.3);
}


.logo_svg .white {
	fill: #ffffff;
}
.logo_svg .prim {
	fill: var(--accent);
}
.top_logo_wrap > .logo_svg {
	width: 26rem;
	height: auto;
}





#chat {
	--chat_content_fontsize: 1.5rem;
	--chat_content_fontweight: 400;
	--chat_content_color: var(--font);
	--chat_content_lineheight: 1.5;
	--chat_response_bg: var(--bg25);
	--chat_user_message_bg: var(--prim);
	--chat_user_message_color: white;
	--chat_start_message_color: var(--red20);
	--chat_start_message_bg: var(--red95);
}





@media screen and (hover: hover) and (pointer: fine) {
.bottom_nav_item:hover {
    background-color: rgb(255 255 255 / 35%);
	box-shadow: 0 0 30px var(--shadow70);
}
}
@media screen and (max-width: 1260px) {
:root {
	--m: 55px;
}
}
@media screen and (max-width: 1200px) {
:root {
	--hmain: 86px;
}
}
@media screen and (max-width: 1100px) {
:root {
	--m: 5.5vw;
}
}
@media screen and (max-width: 999px) {
.dn999 {
	display: none;
}
.d999 {
    display: unset;
}
}
@media screen and (max-width: 880px) {
body {
    -webkit-text-size-adjust: 100%;
}
.dn880 {
	display: none;
}
.d880 {
    display: unset;
}
}
@media screen and (max-width: 740px) {
:root {
	--m: 37px;
}
.dn740 {
	display: none;
}
.d740 {
    display: unset;
}
}
@media screen and (max-width: 696px) {
:root {
	--m: 35px;
}
.dn696, .sumsy_iframe, .sumsy_mode_mum {
	display: none;
}
.d696 {
    display: unset;
}
.mask.popup_container {
    padding: var(--n) 0 0 0;
	justify-content: flex-end;
}
.popup {
    max-width: none;
	border-radius: var(--br) var(--br) 0 0;
}
}
@media screen and (max-width: 620px) {
:root {
	--m: 31px;
}
html {
	font-size: 9.5px;
	font-size: 59.375%;
}
.dn620 {
	display: none;
}
.d620 {
    display: unset;
}
.mask.popup_container {
    padding: 2.5rem 0 0 0;
}
}
@media screen and (max-width: 506px) {
:root {
	--m: 25px;
}
.dn506 {
	display: none;
}
.d506 {
    display: unset;
}
.popup_header, .popup_content {
	--pu_padding: var(--m);
}
}
@media screen and (max-width: 475px) {
:root {
	--m: 23px;
}
html {
	font-size: 9px;
	font-size: 56.25%;
}
.dn475 {
	display: none;
}
.d475 {
    display: unset;
}
}
@media screen and (max-width: 413px) {
:root {
	--m: 20px;
}
.dn413 {
	display: none;
}
.d413 {
    display: unset;
}
}
@media screen and (max-width: 380px) {
:root {
	--m: 18px;
}
.dn380 {
	display: none;
}
.d380 {
    display: unset;
}
}
@media screen and (max-width: 355px) {
:root {
	--m: 17px;
}
.dn355 {
	display: none;
}
.d355 {
    display: unset;
}
}