@charset "UTF-8";



@media screen and (min-width: 1921px) {

	body { font-size: 17px; }

	#M-NAV::after {
		grid-area: r;
		content: '';
		display: block;
		position: relative;
		z-index: 5;
		background: var(--color-bg-white);
		border-bottom: 1px solid transparent;
		border-left: 1px dashed var(--color-line);
		transition: all 0.25s;
		box-sizing: border-box;
	}

}


@media screen and (max-width: 1920px) and (min-width: 1680px) {

	body { font-size: 16px; }

}


@media screen and (max-width: 1280px) and (min-width: 720px) {
	:root {
		--space-p-lr: 24px;

		--size-topbar: 48px;
	}

	body { font-size: 13px; line-height: 20px; }
	h3, .h3 { font-size: clamp(18px, 2.4vw, 22px); }
	h1, .h1, h2, .h2 { font-size: clamp(32px, 4.5vmin, 56px); }

	#M-NAV .LOGO svg { height: 16px; }

	.LOGO-WALL li .logo img { height: 32px;}

	.M-CONT .columns { columns: 320px; }
	.M-CONT p { font-size: 18px; }
	.IMG-SPACER { grid-template-rows: min(85vh, 75vw) auto; }

	.BOOK-PAGE {
		grid-template-columns: 1fr 1fr;
		grid-template-areas: 
		'nav nav'
		'person form'
		'title form'
		'subtitle note'
		'footer footer';
		column-gap: 4vw;
		padding: 0 4vw;
	}
	.BOOK-PAGE .SUBTITLE { margin-top: var(--space-s); }
	.BOOK-PAGE .NOTE { margin-top: var(--space-s); }
	.BOOK-PAGE .TITLE { margin-bottom: var(--space-l); }
	.BOOK-PAGE .PERSON { margin-top: var(--space-l); }
	.BOOK-PAGE .FORM {
		max-height: auto;
		position: relative;
		top: 0;
	}

	.M-CONT ul.RESULTS {
		--ch-radius: 40px;
	}
	

	@media (orientation: portrait) {
		:root {
			--space-xs: 2.5vh;
			--space-s: 2.5vh;
			--space-m: 5vh;
			--space-l: 7.5vh;
			--space-xl: 10vh;
			--space-xxl: 15vh;
		}

		#M-NAV {
			grid-template-columns: repeat(4, 1fr);
			grid-template-areas: "logo nav nav cta";
		}
		#M-NAV .NAV {
			-webkit-mask-image: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 120px, rgba(0,0,0,1) calc(100% - var(--space-p-lr)), rgba(0,0,0,0) 100%);
			mask-image: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 120px, rgba(0,0,0,1) calc(100% - var(--space-p-lr)), rgba(0,0,0,0) 100%);
		}

		.M-FRAME { padding: 1vw; border-radius: 3vw; }
		.M-FRAME > div { 	border-radius: 2vw; }
		


		.M.DEF { grid-template-columns: repeat(4, 1fr); }
		.M-TITLE {
			padding: var(--space-xl) var(--space-p-lr) 0;
			grid-column: 1 / span 2;
			grid-row: 1 / span 1;
		}
		.M-CONT { grid-column: 1 / 5; }
		.M-TITLE ~ .M-CONT { grid-column: 1 / 5; }
		.M-CONT.PRETITLE { grid-column: 1 / span 4; }

		:only-child > .GRID-TEXT li { width: 25%; }


		.CS-SLIDER .WRAP {
			scroll-padding-left: calc(25vw + var(--space-p-lr));
		}
		.CS-SLIDER .WRAP .ROW {
			grid-auto-columns: calc(25vw - var(--space-p-lr)*2);
			padding: 0 calc(25vw + var(--space-p-lr));
		}

		.CS-MORE-HEAD { font-size: 64px; }
		.CS-MORE { grid-template-columns: repeat(4, 1fr); }

		.CS-HERO { aspect-ratio: 1/1; 	perspective: 100vmax; }
		.CS-HERO .M-SET .M-FRAME { width: 26%; }
		.CS-HERO .M-SET.wide .M-FRAME { width: 60%; }

		.M-CONT .FIGS figure.W1 { flex-basis: 25svw;  }
		.M-CONT .FIGS figure.W15{ flex-basis: 30svw; }
		.M-CONT .FIGS figure.W2 { flex-basis: 50svw; }
		.M-CONT .FIGS figure.W3 { flex-basis: 75svw; }
		.M-CONT .FIGS figure.W4 { flex-basis: 100%; }

		.TESTIMONIAL { grid-column: 1 / span 4; 	grid-row: auto / span 1; }
		.TESTIMONIAL .IMAGE {
			width: 100%;
			max-height: auto;
			aspect-ratio: 1/2;
			top: calc(50% - 25vw);
			border-radius: 12.5vw;
		}

		/* .IMG-SPACER.H60 { grid-template-rows: 60vh auto; } */



		.IMG-SPACER { 
			display: flex;
			flex-wrap: wrap;
		 }
		.IMG-SPACER > figure { height: auto;  aspect-ratio: 1/1; }
		.IMG-SPACER.ABOUT { height: 160vw; }
	
		.IMG-SPACER .W33 { flex-grow: 1; flex-basis: 50%; order: 2; }
		.IMG-SPACER .W33:nth-child(3) { flex-grow: 1; flex-basis: 100%; order: 1; }
		.IMG-SPACER .W20 { flex-grow: 1; flex-basis: 50%; order: 2;}
		.IMG-SPACER .W40 { flex-grow: 1; flex-basis: 50%; order: 2;}
		.IMG-SPACER .W50 { flex-grow: 1; flex-basis: 50%; order: 2;}
		.IMG-SPACER .W60 { flex-grow: 1; flex-basis: 100%; order: 1;}
		.IMG-SPACER .W60 + :is(.W33, .W20, .W40, .W50):nth-child(2):last-child { aspect-ratio: 2/1;}
		.IMG-SPACER figcaption { grid-column: 1 / span 10; }



		.C2 {
			grid-template-columns: repeat(4, 1fr);
			grid-template-areas: "text text cta cta";
		}
		.C2 .CTA a.C-CTA { border-radius: 12.5vw 12.5vw 12.5vw 0; }
		.C2 .CTA a.C-CTA:hover { border-radius: 12.5vw 0 12.5vw 12.5vw; }

		footer.M {
			grid-template-columns: repeat(4, 1fr);
			grid-template-areas: "foot foot foot foot";
		}
		footer .LINKS {
			grid-template-columns: repeat(4, 1fr);
			grid-template-areas:
				"website social warsaw berlin"
				"code terms . .";
			min-height: auto;
			padding-top: calc(var(--space-xl) * 2);

		}


		.CONTACT-FORM {
			grid-template-columns: 2fr 2fr;
			grid-template-areas: 'text form';
		}

		

		/* .HOME_HEADER .CLAIM {
			width: 80%;
			margin: var(--size-topbar) 20% 0 0;
			min-height: calc(100vh - 48vw - var(--size-topbar)*2);
		}
		.HOME_HEADER .IMAGE { border-radius: 48vw; }
		.HOME_HEADER .INFO .M { width: 30%; } */
	}

}


@media screen and (max-width: 719px) {


	:root {
		--space-p-lr: 24px;
		--space-s: 24px;
		--space-m: 6vh;
		--space-l: 9vh;
		--space-xl: 12vh;
		--space-xxl: 15vh;

		--size-topbar: 48px;
	}




	body { font-size: 14px; line-height: 20px; }

	h1, .h1,
	h2, .h2 { font-size: 28px; }
	h3, .h3 { font-size: 20px; line-height: 28px; }
	.midheader { width: 100%; }
	.midheader.b { width: 90%; }

	a.button { 
		justify-content: space-between;
		gap: 16px;
		padding: 12px 16px;
	}
	a.button + a.button { margin-left: 0; margin-top: -1px; }

	.ar { width: 20px; }
	a:hover > .ar { width: 20px; }


	#M-NAV {
		transition: transform 0.5s;
		grid-template-columns: repeat(4, 1fr);
		grid-template-areas: "logo logo mob mob";
	}
	#M-NAV.dark {background: transparent; }
	#M-NAV .LOGO { transition: all 0.3s; }
	#M-NAV .LOGO svg { height: 15px; }
	#M-NAV .NAV {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		position: fixed;
		overflow: hidden;
		z-index: 100;
		width: 100%;
		height: 100vh;
		top: 0;
		left: 0;
		background: var(--color-bg-white);
		color: var(--color-txt-on-white);
		transform-origin: top right;
		scale: 0.5 1;
		translate: 0 calc(-100% + var(--size-topbar));

		transition:
			scale 0.5s cubic-bezier(.6,0,.1,1) 0.2s,
			translate 0.5s cubic-bezier(.6,0,.1,1) 0s,
			background-color 0.5s cubic-bezier(.6,0,.1,1) 0s,
			height 0.5s linear;
	}
	#M-NAV .NAV .IN {
		justify-content: flex-end;
		min-height: 100dvh;
	}
	#M-NAV .NAV ul {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		overflow: unset;
	}
	#M-NAV .NAV ul li {
		float: none;
		transition: transform 0.5s 0.5s, opacity 0.4s 0s;
		opacity: 0;
	}
	#M-NAV .NAV ul li.mob { display: block; }
	#M-NAV .NAV ul li:nth-child(1) { transform: translate(0,250%) scale(1,1.5); }
	#M-NAV .NAV ul li:nth-child(2) { transform: translate(0,300%) scale(1,1.5); }
	#M-NAV .NAV ul li:nth-child(3) { transform: translate(0,350%) scale(1,1.5); }
	#M-NAV .NAV ul li:nth-child(4) { transform: translate(0,400%) scale(1,1.5); }
	#M-NAV .NAV ul li:nth-child(5) { transform: translate(0,450%) scale(1,1.5); }
	#M-NAV .NAV ul li:nth-child(6) { transform: translate(0,500%) scale(1,1.5); }
	#M-NAV .NAV ul li:nth-child(7) { transform: translate(0,550%) scale(1,1.5); }
	#M-NAV .NAV ul li:nth-child(8) { transform: translate(0,600%) scale(1,1.5); }
	#M-NAV .NAV ul li a {
		font: 500 6vh/6.8vh 'Aeonik';
		display: block;
		text-align: right;
		padding: 8px 0;
		margin-right: 0;
		margin-left: 20px;
		transition: all 0.4s;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	#M-NAV .NAV.on ul li { transition: all 0.75s cubic-bezier(.2,.8,.4,1); }
	#M-NAV .NAV.on ul li:nth-child(1) { transition-delay: 0.5s; }
	#M-NAV .NAV.on ul li:nth-child(2) { transition-delay: 0.55s; }
	#M-NAV .NAV.on ul li:nth-child(3) { transition-delay: 0.6s; }
	#M-NAV .NAV.on ul li:nth-child(4) { transition-delay: 0.65s; }
	#M-NAV .NAV.on ul li:nth-child(5) { transition-delay: 0.7s; }
	#M-NAV .NAV.on ul li:nth-child(6) { transition-delay: 0.75s; }
	#M-NAV .NAV.on ul li:nth-child(7) { transition-delay: 0.8s; }
	#M-NAV .NAV.on ul li:nth-child(8) { transition-delay: 0.85s; }

	#M-NAV.top .NAV { translate: 50% calc(-100% + var(--size-topbar)); }

	#M-NAV:is(.TRANS, .BLACK, .LASER) .NAV { color: var(--color-txt-on-laser); }
	#M-NAV:is(.TRANS, .BLACK, .LASER) .NAV ul li a.sel::after { background-color: var(--color-txt-on-laser); }
	#M-NAV .NAV ul li a:not(.sel):hover { color: var(--color-txt-on-laser-hover); }
	#M-NAV:is(.TRANS, .BLACK, .LASER) .NAV ul li a:not(.sel):hover { color: var(--color-txt-on-laser-hover); }

	#M-NAV .NAV.on {
		background: var(--color-accent);
		backdrop-filter: blur(40px);
		transition:
			scale 0.5s cubic-bezier(.5,0,.1,1) 0s,
			translate 0.75s cubic-bezier(.5,0,.1,1) 0.1s,
			background-color 0.5s cubic-bezier(.5,0,.1,1) 0s;
		scale: 1 1;
		translate: 0 0;
	}

	#M-NAV .NAV.on ul li {
		/* transition: opacity 0.75s 0.4s, transform; */
		transform: translate(0,0);
		opacity: 1; }

	#M-NAV .CTA { display: none; }


	#M-NAV .MOBILE {
		position: static;
		grid-area: mob;
		z-index: 101;
		display: flex;
		align-items: stretch;
	}
	#M-NAV .MOBILE > a {
		display: flex;
		width: 100%;
		height: 100%;
		align-items: center;
		justify-content: flex-end;
	}

	#M-NAV .MOBILE > a div { display: block; }
	#M-NAV .MOBILE > a .burger {
		display: flex;
		position: relative;
		align-items: center;
		width: 23px;
		height: 23px;
		margin-left: 16px;
		flex-grow: 0;
		flex-shrink: 0;
	}
	#M-NAV .MOBILE > a .burger > div {
		width: 24px;
		height: 1px;
		background: var(--color-txt-on-white);
		position: relative;
		transition: all 0.5s cubic-bezier(.6,.6,.4,1);
	}
	#M-NAV .MOBILE > a .burger > div::before,
	#M-NAV .MOBILE > a .burger > div::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 1px;
		background: var(--color-txt-on-white);
		transition: all 0.5s cubic-bezier(.6,.6,.4,1);
	}
	#M-NAV.top .MOBILE > a .burger > div,
	#M-NAV.top .MOBILE > a .burger > div::before,
	#M-NAV.top .MOBILE > a .burger > div::after { background: var(--color-txt); }
	#M-NAV .MOBILE > a .burger > div::before { transform: translateY(-4px);}
	#M-NAV .MOBILE > a .burger > div::after  { transform: translateY(4px);}
	#M-NAV .MOBILE > a:hover .burger > div::before { transform: translateY(-7px);}
	#M-NAV .MOBILE > a:hover .burger > div::after  { transform: translateY(7px);}
	#M-NAV .MOBILE > a .label {
		display: block;
		position: relative;
		transition: all 0.4s;
		color: var(--color-txt-on-white);
		width: calc(100% - 39px);
		flex-shrink: 1;
	}
	#M-NAV.top .MOBILE > a .label { color: var(--color-txt); }
	#M-NAV .MOBILE > a .label .menu {
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		transform: translateY(-100%) scale(0.9,0.35);
		opacity: 0;
		transition: all 0.4s;
	}
	#M-NAV .MOBILE > a .label .page { 
		display: block; 
		transition: all 0.4s; 
		white-space: nowrap;
		text-align: right;
		width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;	
	}
	#M-NAV .MOBILE > a.on .label { transform: translateY(100%);}
	#M-NAV .MOBILE > a.on .label .menu { opacity: 1; transform: translateY(-100%);}
	#M-NAV .MOBILE > a.on .label .page { opacity: 0; transform: scale(0.9,0.35);}

	#M-NAV .MOBILE > a.on .burger > div { transition: all 1.5s cubic-bezier(.6,.6,.4,1); transform: rotate(180deg);}
	#M-NAV .MOBILE > a.on .burger > div::before { transform: translateY(0) rotate(120deg); }
	#M-NAV .MOBILE > a.on .burger > div::after  { transform: translateY(0) rotate(240deg); }



	@supports (height: 100dvh) {
		#M-NAV .NAV {
			align-items: flex-start;
		}
	}

	.M-FRAME { padding: 2vw; border-radius: 6vw; }
	.M-FRAME > div { 	border-radius: 4vw; }

	@container mock (min-width: 10vw)  {
		.M-FRAME { border-radius: 8cqw; padding: 2cqw; }
		.M-FRAME > div { border-radius: 6cqw; }
	}

	.M-MOCK { perspective: 100vmax; }


	.M-MOCK.mixed :is(.m1, .m2) { width: 50%; }
	.M-MOCK.mixed :is(.d1, .d2) { width: 110%; }

	.M-MOCK.mobile :is(.m1, .m2, .m3) { width: 55%; }
	.FOLIO-GRID .M-MOCK.mobile :is(.m1, .m2, .m3) { width: 70%; }



	.M.DEF { grid-template-columns: repeat(4, 1fr); padding-top: var(--space-xl); }

	.M-TITLE {
		grid-column: 1 / 3;
		grid-row: auto / span 1;
		display: flex;
		align-items: center;
		height: var(--size-topbar);
		padding: 0 var(--space-p-lr);
		position: sticky;
		z-index: 50;
		top: var(--size-topbar);
		transition: all 0.5s;
		background: var(--color-bg-rgba-b);

		backdrop-filter: blur(16px); 
		-webkit-backdrop-filter: blur(16px);
	}
	.M-TITLE.XXL { padding-top: 0; padding-bottom: 0;}
	.M-TITLE.nonstick:not(.forced) {
		grid-column: 1 / 4;
		grid-row: auto / span 1;
		display: flow-root;
		position: relative;
		height: auto;
		top: auto;
		padding: 0 var(--space-p-lr);
	}
	.M-TITLE :is(h3, p),
	.M-TITLE:not(.nonstick) :is(h3, p) {
		position: relative;
		font: inherit;
		top: auto;
	}
	.M-TITLE:not(.nonstick) :is(h3, p) {
		text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
	}
	.M[data-bg~="BLACK"] .M-TITLE { background: var(--color-bg-black-rgba-t);  }
	.M[data-bg~="LASER"] .M-TITLE { background: var(--color-accent-rgba-b); }

	.M-CONT { grid-column: 1 / 5; padding-top: var(--space-xl);}
	.M-CONT:not(.NOPAD) { padding-bottom: var(--space-xl); }

	.M-CONT:not(.CS-INFO):first-child { padding-top: 0;}

	.M-CONT.COLS.DOC { padding: 0 0 var(--space-xl) 0;}

	.M-TITLE ~ .M-CONT { grid-column: 1 / 5; margin-top: 0; padding-top: var(--space-m);}
	.M-CONT .CTA { flex-direction: column;}

	.M-CONT .wide .columns { max-width: 100%;}
	.M-CONT .COL:only-child .columns { max-width: 100%;}

	.M-CONT.PRETITLE {
		grid-column: 1 / 5;
		padding-top: 0;
	}

	.M-CONT p {
		font-size: 18px;
		margin: 18px 0;
		columns: 460px;
		column-gap: calc(var(--space-p-lr) * 2);
	}
	.M-CONT ul.grid {
		font-size: 18px;
		grid-template-columns: 1fr 1fr;
		row-gap: var(--space-m);
	}
	.M-CONT ul.grid li:nth-child(even) { border-right: none; }
	.M-CONT ul.grid li .big { line-height: 3vmax; }
	.M-CONT ul.grid li .big em {
		font-size: 14vw;
		line-height: 10px;
	}
	.M-CONT ul.grid li .big.m {font-size: 6vw;}
	.M-CONT ul.grid li .big.l {font-size: 8vw;}

	.M-CONT .COL { width: 100%; }
	.M-CONT .COL.wide h2 { width: 90%; }
	.M-CONT .COL.wide h2:only-child { width: 90%; }
	.M-CONT .COL:only-child h2 { width: 90%; }
	.M-CONT .COL:only-child h2:only-child { width: 90%; }
	.M-CONT .COL.third { width: 100%; }

	.M-CONT .COL.CHAPTER { width: 100%; }
	.M-CONT .COL.CHAPTER:nth-child(n+2) { margin-top: var(--space-m);}
	.M-CONT .COL.CHAPTER :is(h3, .h3, p) { position: relative; top: auto;}
	.M-CONT .COL.CHAPTER ~ .COL:not(.CHAPTER) { width: 100%;}

	.M-CONT .FIGS { width: 100%; }
	.M-CONT .FIGS figure { flex-basis: 50%; }
	.M-CONT .FIGS figure.W1 { flex-basis: 50%;  flex-grow: 0; }
	.M-CONT .FIGS figure.W15{ flex-basis: 60%;  flex-grow: 0; }
	.M-CONT .FIGS figure.W2 { flex-basis: 100%; flex-grow: 0; }
	.M-CONT .FIGS figure.W3 { flex-basis: 100%; flex-grow: 0; }
	.M-CONT .FIGS figure.W4 { flex-basis: 100%; flex-grow: 0; }


	.M-CONT ul.RESULTS {
		--ch-radius: 32px;
	}
	.M-CONT ul.RESULTS > li {
		display: block;
		width: calc((100% - 2 * var(--space-p-lr))/2);
	}
	.M-CONT ul.RESULTS > li:nth-child(4):not(:last-child) { margin-left: 0;}


	body.up .M-TITLE { top: 0;  transition: all 0.2s; }
	body.up #M-NAV .LOGO { transform: translateY(-100%);}
	body.up #M-NAV .BG { transform: translateY(-100%); }



	.IMG-SPACER {
		grid-template-rows: 80vw;
		grid-auto-rows: fit-content(80vw);
	}
	.IMG-SPACER > figure {
		grid-row: auto / span 1;
	}
	.IMG-SPACER.H100 { grid-template-rows: 100vw; }
	.IMG-SPACER .W50 { grid-column: auto / span 11; }
	.IMG-SPACER figcaption { 
		grid-column: 1 / span 11; 
		margin-bottom: 0;
	}




	.HOME_HEADER .CLAIM {
		width: 100%;
		margin: var(--size-topbar) 0 0 0;
		min-height: calc(100vh - 75vw - var(--size-topbar)*2);
	}

	.HOME_HEADER .INFO { 
		align-items: flex-start;  
		align-content: flex-start; 
		height: auto;
		margin-bottom: 24px;
	}
	.HOME_HEADER .INFO .L { width: 100%; }
	.HOME_HEADER .INFO .M { width: 100%; }
	.HOME_HEADER .IMAGE {
		height: 72%;
		border-radius: 16vw;
		pointer-events: none;
	}
	.HOME_HEADER .IMAGE .SUBTITLE { justify-content: flex-start;}
	.HOME_HEADER .IMAGE .SUBTITLE h2 { max-width: 90svw; margin: 0; }

	.HOME_SERVICES { row-gap: var(--space-xxl);}
	.HOME_SERVICES li { width: 100%; }
	.HOME_SERVICES li a {
	
		grid-template-columns: 1fr 1fr;
		grid-template-areas: 
			"title desc"
			"image desc";
		grid-template-rows: auto 1fr;
	}
	.HOME_SERVICES li a > .title {
    min-height: 0;
    margin-bottom: 16px;
	}
	.HOME_SERVICES li a > .image { margin-bottom: 0;}
	.HOME_SERVICES li a > .image svg {
		height: 32px;
		width: 76px;
		stroke: var(--color-txt);
		stroke-width: 1.333px;
	}


	.M.HEADER hgroup { width: 100%; padding-top: 25vh; margin-left: 0; }
	.M.HEADER hgroup .ctas { flex-direction: column;}
	.M.HEADER hgroup .ctas a { width: 100%; padding: 8vw 10vw; }
	.M.HEADER hgroup .ctas a:hover {
		padding-left: 8vw;
		padding-right: 8vw;
	}
	.M.HEADER .SCROLL-NAV { padding-bottom: var(--space-xl); }
	.M.HEADER .SCROLL-NAV > ul { flex-direction: column; }

	.M.HEADER .SCROLL-NAV > ul li:nth-child(n+2) { margin-left: 0; margin-top: 4px; }



	.SERVICE-FORM {
		grid-template-areas: 
		'form form'
		'info info';
		row-gap: var(--space-xl);
	}
	.FORM-BOX label {
		inset: 24px 40px auto;
		color: var(--color-txt-grey);
		transition: all 0.25s;
	}
	.FORM-BOX input[type='text'],
	.FORM-BOX input[type='email'],
	.FORM-BOX input[type='submit'],
	.FORM-BOX textarea,
	.FORM-BOX .autogrow::after {
		padding: 48px 40px 24px;
		border-radius: 50px;
		font-size: 20px; line-height: 28px; 
	}
	.FORM-BOX input[type='submit'] {
		padding: 36px 40px;
	}
	.FORM-BOX input[type='submit']:hover {
		padding-top: 44px;
		padding-bottom: 44px;
		border-radius: 0;
	}
	.FORM-BOX .legal { 
		padding: var(--space-s) 0px 0; 
		font-size: 0.8em;
		line-height: 1.6em;
	}

	.CONTACT-FORM {
		grid-template-columns: 1fr;
		grid-template-areas: 
		'text'
		'form';
	}
	.CONTACT-FORM .TEXT .disclaimer {
		width: 90%;
		margin-top: var(--space-xl);
		margin-bottom: var(--space-s);
	}


	ul.SERVICE-POINTS { 	row-gap: var(--space-xl); padding: 0; }
	ul.SERVICE-POINTS li {
		grid-template-areas:
		'a a'
		'b b';
		row-gap: var(--space-s);
	}
	ul.SERVICE-POINTS li .small {  padding-right: 15%;  }
	


	ul.SERVICE-VALUES { padding: var(--space-m) 0; }
	ul.SERVICE-VALUES li { grid-template-areas: 'title title small small'; }


	ul.SERVICE-STAGES {
		padding-left: calc(var(--space-p-lr) + 8px);
		grid-auto-rows: auto;
		row-gap: var(--space-l);
	}
	ul.SERVICE-STAGES li {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto auto 1fr;
		grid-template-areas: 
			'title title'
			'you ynd'
			'case case';
		row-gap: var(--space-s);
	}
	ul.SERVICE-STAGES li.path {
		inset: 0 auto 0 var(--space-p-lr);
	}
	ul.SERVICE-STAGES li.path > div {
		top: var(--space-xl);
		width: 9px;
		height: calc((100% - var(--space-m)*4)/5);
		padding: 0;
		border-radius: 20px;
		transform: translateX(-50%);
		background: var(--color-accent);
		transition: width 0.2s ease-in-out;
	}
	ul.SERVICE-STAGES li .name { grid-area: title; padding: 0 var(--space-p-lr); }
	ul.SERVICE-STAGES li .name h3 {position: relative; top: auto;}
	ul.SERVICE-STAGES li .you  { padding: 0 var(--space-p-lr); }
	ul.SERVICE-STAGES li .ynd  { padding: 0 var(--space-p-lr); }
	ul.SERVICE-STAGES li .you::before,
	ul.SERVICE-STAGES li .ynd::before {
		position: relative;
		right: auto;
		opacity: 1;
		padding: 0;
		background-color: transparent;
		margin-bottom: 8px;
	}
	ul.SERVICE-STAGES li .you::before { top: 0; }



	.SERVICE-TOOLS {
		display: flex;
		flex-wrap: wrap;
	}
	.SERVICE-TOOLS .title-a { width: 25%; }
	.SERVICE-TOOLS .title-b { width: 60%; }
	.SERVICE-TOOLS .title-c { display: none;}
	.SERVICE-TOOLS :is(.title-a, .title-b) { 
		padding: 0 0 48px var(--space-p-lr); 
		font-size: 11px;
		line-height: 1.5em;
		align-self: flex-end;
	}
	.SERVICE-TOOLS :is(.title-a, .title-b)::before {
		inset: auto auto 10px 16px;
		width: 0;
		height: 28px;
		border-top-left-radius: 0;
	}
	.SERVICE-TOOLS ul.TABLE > li:last-child { border-radius: 0 var(--space-m) var(--space-m); }
	.SERVICE-TOOLS ul.TABLE > li .TOOL { flex-basis: 25%; writing-mode: vertical-lr; }
	.SERVICE-TOOLS ul.TABLE > li .DESC { flex-basis: 75%; }
	.SERVICE-TOOLS ul.TABLE > li .DESC .CARD { 
		flex-direction: column;
		padding: var(--space-s) var(--space-p-lr);
	}
	.SERVICE-TOOLS ul.TABLE > li .DESC .CARD .text { flex-basis: auto; }
	.SERVICE-TOOLS ul.TABLE > li .DESC .CARD .details {
		gap: 16px;
		font-size: 12px;
	}
	.SERVICE-TOOLS ul.TABLE > li .DESC .CARD .details .group { column-gap: var(--space-p-lr); }
	.SERVICE-TOOLS ul.TABLE li.NAV a {
		display: flex;
		align-items: center;
		text-align: center;
		padding: 24px var(--space-p-lr);
		flex-basis: 75%;
	}

	.SERVICE-TOOLS > .NAV {
		top: auto;
		bottom: var(--space-p-lr);
		display: flow-root;
		border-radius: 40px;
		margin: var(--space-p-lr) var(--space-p-lr) 0;
		z-index: 10;
		overflow: hidden;
		background: rgba(72,83,77,0.4);
		-webkit-backdrop-filter: blur(20px);
	}
	.SERVICE-TOOLS > .NAV .fade::-webkit-scrollbar { display: none; }
	.SERVICE-TOOLS > .NAV .fade {
		overflow-x: auto;
		overflow-y: hidden;
		display: flow-root;
		-webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 2%, rgba(0,0,0,1) 30px, rgba(0,0,0,1) calc(100% - 30px), rgba(0,0,0,0) 98%);
	}
	.SERVICE-TOOLS > .NAV ul {
		display: flex;
		padding: 20px 32px;
		gap: 24px;
		width: min-content;
	}
	.SERVICE-TOOLS > .NAV ul li:nth-child(n+2) { margin-top: 0;}
	.SERVICE-TOOLS > .NAV ul li a {
		white-space: nowrap;
		color: var(--color-txt-on-dark);
		opacity: 0.8;
	}

	ul.BIG-BALLS { flex-wrap: wrap; }
	ul.BIG-BALLS li {
		align-items: center;
		border-radius: 25vw;
		min-height: 40vh;
		flex-basis: 50%;
		flex-grow: 0;
		flex-shrink: 0;
	}
	ul.BIG-BALLS li h2 {
		max-width: calc(50vw - var(--space-p-lr)*2);
		font-size: 6vw;
		line-height: 125%;
	}
	ul.BIG-BALLS li:hover {
		flex-basis: 50%;
		background-color: var(--color-accent);
		border-radius: 0;
	}




	.MID-CONTACT {
		grid-template-columns: var(--space-p-lr) 1fr var(--space-p-lr);
		grid-template-areas: '. mid .';
	}
	.MID-CONTACT .mid {
		grid-template-columns: 2fr 1fr;
		grid-template-areas: 
		'text text'
		'pill arrow';
		background-color: var(--color-bg-semi);
		border-radius: 16.666vw;
	}
	.MID-CONTACT .mid:has(.body:only-child) {
		grid-template-areas: 
		'text text'
		'arrow arrow';
	}
	.MID-CONTACT .mid .body { display: contents; }
	.MID-CONTACT .mid .body .text {
		grid-area: text;
		padding: 14vw var(--space-s);
	}
	.MID-CONTACT .mid .body:only-child .text { padding: 14vw var(--space-s) 8vw; }
	.MID-CONTACT .mid .body .arrow {
		grid-area: arrow;
		justify-content: center;
		translate: 0 60px;
	}
	.MID-CONTACT .mid .body:only-child .arrow {
		justify-content: space-between;
		padding: 0 var(--space-s) 14vw;
	}
	.MID-CONTACT .mid .pill {
		grid-area: pill;
		aspect-ratio: 2/1;
	}
	.MID-CONTACT .mid:hover { background-color: var(--color-accent); }




	.CS-PROMO { display: flow-root; }
	.CS-PROMO > .NAV {
		position: sticky;
		z-index: 40;
		bottom: 40%;
		flex-direction: row-reverse;
		padding: 0;
		pointer-events: none;
	}
	.CS-PROMO > .NAV { pointer-events: all; }
	.CS-PROMO > .SLIDES > li { 	flex-direction: column; }
	.CS-PROMO > .SLIDES .TEXT   { width: 100%; padding: 0 var(--space-p-lr) var(--space-l) var(--space-p-lr);}
	.CS-PROMO > .SLIDES .M-MOCK { width: 100%; padding: var(--space-l) 12%; }

	.CS-PROMO > .SLIDES:only-child { 
		display: flex;
		flex-wrap: wrap;
		row-gap: var(--space-m); 
	}
	.CS-PROMO > .SLIDES:only-child li:not(:only-child) { 
		display: flex;
		width: 100%; 
		flex-direction: column;
	}
	.CS-PROMO > .SLIDES:only-child li .TEXT  { padding-top: 0; padding-bottom: 0; }
	.CS-PROMO > .SLIDES:only-child li:not(:only-child) .TEXT  { width: 100%; }
	.CS-PROMO > .SLIDES:only-child li:not(:only-child) .IMAGE { width: 60%;  }

	.CS-PROMO > .SLIDES:only-child li:only-child .TEXT { width: 100%; }
	.CS-PROMO > .SLIDES:only-child li:only-child .IMAGE { width: 100%; }


	.CS-HERO-GROUP .M.DEF {padding-top: 0;}

	.CS-HERO { aspect-ratio: 3/4; 	perspective: 120vmax; }
	.CS-HERO .M-SET .M-FRAME { width: 40%; }
	.CS-HERO .M-SET.wide .M-FRAME { width: 72%; border-radius: 4.75vw; }
	

	.CS-INFO {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas: 
		"logo logo"
		"data scope";
		row-gap: var(--space-m);
		padding-top: 0;
	}
	.CS-INFO ul.logo { width: 100%; }



	.CS-MORE-HEAD { font-size: 48px; }
	.CS-MORE { grid-template-columns: repeat(2, 1fr); }
	.CS-MORE > a {
		row-gap: var(--space-s);
		padding: var(--space-m) var(--space-p-lr);
		border-radius: 0;
	}
	.CS-MORE > a .IMAGE {
		width: 80%;
		aspect-ratio: 1/1.25;
	}



	.GRID-TEXT.half { width: 100%;}
	.GRID-TEXT li { width: 50%; }
	.GRID-TEXT li:last-child:nth-child(odd) { width: 100%;}
	.GRID-TEXT li .i img { height: 32px; }
	.GRID-TEXT li .i svg { height: 32px; width: 76px; stroke-width: 0.66px; }
	.GRID-TEXT li .desc { -webkit-hyphens: auto; hyphens: auto; }
	:only-child .GRID-TEXT li { width: 50%; }




	.M-CONT.F .GRID-TEXT li { width: 50%; }
	.M-CONT.F .GRID-TEXT li:nth-child(-n+2) { margin-top: 0; }
	.M-CONT.F .GRID-TEXT li:nth-child(n+3) { margin-top: var(--space-xl); }


	.LOGO-WALL li { width: 50%; }
	.LOGO-WALL li .logo img { height: 32px;}

	.LOGO-WALL.XS { row-gap: var(--space-l); }
	.LOGO-WALL.XS li { width: 33.333%; display: flex; justify-content: center; }
	.LOGO-WALL.XS li .logo { margin-bottom: 0; }
	.LOGO-WALL.XS li .name { display: none; }
	.LOGO-WALL.XS li .desc { display: none; }


	.FOLIO-GRID {
		padding-top: var(--space-p-lr);
		padding-bottom: var(--space-p-lr);
	}
	.FOLIO-GRID li .I {
		width: 50%;
		min-height: 100vw;
	}
	.FOLIO-GRID li .I .set { max-height: 80vw;}
	.FOLIO-GRID li .I .set.mobile .one,
	.FOLIO-GRID li .I .set.mobile .two,
	.FOLIO-GRID li .I .set.mobile .three { padding: 1vw; border-radius: 2.25vw; }
	.FOLIO-GRID li .I .set.mobile .one div,
	.FOLIO-GRID li .I .set.mobile .two div { border-radius: 3vw; }
	.FOLIO-GRID li .T {
		width: 50%;
		margin-right: 0;
		flex-grow: 0;
		flex-shrink: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
	.FOLIO-GRID li .T .name { margin-bottom: 0; }
	.FOLIO-GRID li .T .btm .h3 { all: inherit; }
	.FOLIO-GRID li .T .btm .button { width: 100%; justify-content: center; }
	.FOLIO-GRID li .T .btm .button .ar { display: none; }
	.FOLIO-GRID li .Y {
		display: none;
	}
	.FOLIO-GRID li:nth-child(n+2) { margin-top: var(--space-xl); }

	.CS-SLIDER .WRAP .ROW { grid-auto-columns: calc(60vw - var(--space-p-lr)*2); }
	.CS-SLIDER .slide .txt { opacity: 0.5; }
	.CS-SLIDER .slide.sel .txt { opacity: 1; }
	.CS-SLIDER .slide.w3 {	grid-column: auto / span 2; }
	.CS-SLIDER .slide.w3 .frame{	grid-column: auto / span 2; }
	.CS-SLIDER .slide.w3 .text {	grid-column: auto / span 2; }

	.CS-SLIDER nav { 
		position: sticky;
		inset: auto auto var(--space-p-lr) auto;
		padding: 0;
		margin-top: var(--space-l);
	}


	.CS-PROMO > .SLIDES .IMAGE::after { transform: translateZ(15vmax); }



	.TESTIMONIALS { display: flow-root; padding-bottom: 0;}
	.TESTIMONIALS > ul.SLIDES li { display: flow-root; }

	.TESTIMONIALS > .NAV {
		top: auto;
		bottom: 0;
	}
	.TESTIMONIALS > .NAV a { border-radius: 80px 0 0 80px;}
	.TESTIMONIALS ul.SLIDES li.incoming .INNER { translate: 0 -10vh; }
	.TESTIMONIALS ul.SLIDES li .INNER{ display: flow-root; }

	.TESTIMONIALS ul.SLIDES li .TEXT { 
		width: 95%; 
		margin-right: 5%;
		padding-bottom: 0;
	}
	.TESTIMONIALS ul.SLIDES li .IMAGE {
		width: calc(100% - 32px);
		margin: var(--space-l) 16px;
		padding-bottom: 0;
	}
	.TESTIMONIALS ul.SLIDES li .IMAGE .I { aspect-ratio: 2/1; border-radius: 25vw; height: auto; }


	.TESTIMONIAL {
		grid-column: 1 / span 4;
		grid-row: auto / span 1;
		grid-template-areas: 
		"text text text text"
		"person person image image";
		justify-items: stretch;
		overflow: hidden;
	}
	.TESTIMONIAL .TEXT { padding-top: var(--space-m); width: 100%; }
	.TESTIMONIAL .IMAGE {
		position: relative;
		top: auto;
		display: flow-root;
		overflow: hidden;
		max-height: none;
		width: 100%;
		aspect-ratio: 1/1;
		border-radius: 25vw
	}
	.TESTIMONIAL .PERSON {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: stretch
	}
	.TESTIMONIAL .PERSON .NAME { 
		flex-grow: 1;
		flex-direction: column;
		align-items: flex-start;
	}
	.TESTIMONIAL .PERSON .NAME::after {
		border-top: none;
		border-left: 1px solid var(--color-txt);
		margin: 16px 0;
		min-height: 16px;
	}
	.TESTIMONIAL .PERSON .POSITION { flex-grow: 0; }







	.ABOUT-BANNER { bottom: 36vw; }
	.ABOUT-BANNER h2 { width: 80%; }
	.ABOUT-POINTS {
		margin: calc(var(--space-xl)*-1 - 88px) 0 -88px 0;
		overflow-y: hidden;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
		-webkit-overflow-scrolling: touch;
	}
	.ABOUT-POINTS::-webkit-scrollbar { display: none; }
	.ABOUT-POINTS li {
		width: 176px;
		padding-top: 22vw;
		padding-bottom: 22vw;
		border-radius: 88px;
		scroll-snap-align: start;
	}

	.ABOUT-AREAS { flex-direction: column; }
	.ABOUT-AREAS li { width: 100%; }
	.ABOUT-AREAS li > a {
		min-height: 0;
		padding: 18vw 10vw;
		border-radius: 24vw;
	}
	.ABOUT-AREAS li .text { padding-top: 10vw; }
	.ABOUT-AREAS li .mark {
		bottom: 10vw;
	}
	.ABOUT-AREAS li:not(:first-child) { margin-left: 0; margin-top: -6vw; }


	.CAREER-POSITIONS li:nth-child(n+2) { margin-top: var(--space-l); }
	.CAREER-POSITIONS li > a { display: flow-root; }
	.CAREER-POSITIONS li > a .name { width: 100%; }
	.CAREER-POSITIONS li > a .name::after { display: none; }
	.CAREER-POSITIONS li > a:hover .name svg { display: none;}
	.CAREER-POSITIONS li > a .details { width: 100%; padding-top: 8px; }

	.CAREER-PROCESS .steps li .label { flex-direction: column; }
	.CAREER-PROCESS .steps li .label::before { width: 1.6em; margin-bottom: 0.5em; }
	.CAREER-PROCESS .steps li:nth-child(n+2) { margin-top: var(--space-l); }

	.CAREER-FAQ li a :is(.answer, .faq) { width: 90%; transition: margin 0.3s; }
	.CAREER-FAQ li a::before { right: auto; left: var(--space-p-lr); }
	.CAREER-FAQ li a.open :is(.faq, .answer) { margin-left: 10%;}


	.CONTACT-LIST li .label { width: 50%; }
	.CONTACT-LIST li .value {
		width: 50%;
		overflow: hidden;
	}

	.CONTACT-LIST li .value:nth-child(2):last-child { width: 50%; }
	.CONTACT-LIST li .value:nth-child(n+3) { width: 50%; margin-left: 50%; margin-top: var(--space-m); }

	.CONTACT-LIST li .value a {
		max-width: 100%;
		padding-right: 0;
	}
	.CONTACT-LIST li .value a.trim {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.CONTACT-LIST li:not(:last-child) { margin-bottom: 16px;}
	.CONTACT-LIST li.gap { margin-top: var(--space-m); }
	.CONTACT-LIST li.line {
		margin-top: var(--space-l);
		margin-bottom: var(--space-l);
	}

	.CONTACT-PEOPLE { flex-wrap: wrap; row-gap: var(--space-l); }
	.CONTACT-PEOPLE li { width: 100%; }
	.CONTACT-PEOPLE li .image .b { display: none;}
	.CONTACT-PEOPLE li .image:hover .p { translate: none; }
	




	.BLOG-GRID li:only-child { width: 100%; }
	.BLOG-GRID li { width: 50%; }
	.BLOG-GRID li .info { margin-top: 8px; }
	.BLOG-GRID li .info .cat:nth-child(n+2) { visibility: hidden; }
	.BLOG-GRID li .info .cat:nth-child(2)::after {
		content: '...';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		visibility: visible;
	}



	article.blog {
		grid-template-columns: 1fr;
		grid-template-areas: 
		"cover"
		"article"
		"details";
		align-items: start;
	}
	.blog .cover { aspect-ratio: 3/2; width: 100%; }
	.blog .cover img { height: 100%; object-fit: cover; }
	
	.blog .content { 
		padding: var(--space-m) var(--space-p-lr); 
		width: 100%;
		overflow: hidden;
	}



	.C2 { grid-template-columns: 1fr; grid-template-areas: "text" "cta"; justify-items: center; }
	.C2 .TEXT { text-align: center; width: 80%; margin-bottom: var(--space-xl); }
	.C2 .CTA a .h3 { text-align: center;}
	.C2 .CTA a.C-CTA { border-radius: 40vw 40vw 40vw 0; }
	.C2 .CTA a.C-CTA:hover { border-radius: 40vw 0 40vw 40vw; }



	#cookie {
		grid-template-columns: auto ;
		grid-template-rows: auto auto auto;
		grid-template-areas: 
		"head"
		"text"
		"buttons";
		bottom: 2vw;
		width: 96vw;
		padding: 8vw 4vw 4vw;
		font-size: 0.9em;
	
		border-radius: 9vw;
	}
	#cookie .head { padding: 0 2vw;}
	#cookie .text { padding: 0 2vw;}
	#cookie .btns {margin-top: 6vw;}
	#cookie .btns a { justify-content: center;}



	footer.M { grid-template-columns: 1fr; 	grid-template-areas: "foot"; }
	footer .LINKS {
		row-gap: var(--space-xl);
		padding-top: var(--space-xxl);
		padding-bottom: var(--space-xxl);
		border-top-right-radius: 25vw;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
		grid-template-areas:
			"warsaw berlin"
			"website social"
			"lang terms"
			"code code";
	}
	footer .LINKS ul li a:not(.h3) { padding: 4px 0; }
	footer .R { display: none; }
	footer::after { display: none; }


	.BOOK-PAGE {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas: 
		'nav'
		'person'
		'title'
		'form'
		'subtitle'
		'note'
		'footer';
		column-gap: var(--space-p-lr);
		padding: 0 var(--space-p-lr);
	}

	.BOOK-PAGE .SUBTITLE { margin-top: var(--space-s); }
	.BOOK-PAGE .NOTE { margin-top: var(--space-s); }
	.BOOK-PAGE .TITLE { margin-bottom: var(--space-m); }
	.BOOK-PAGE .PERSON { 
		margin-top: var(--space-m); 
		grid-template-columns: 3fr 5fr;
	}
	.BOOK-PAGE .PERSON .avatar {
		aspect-ratio: 1/1;
	}

	.BOOK-PAGE .FORM {
		min-height: 600px;
		max-height: auto;
		position: relative;
		top: 0;
	}
}


@media screen and (max-width: 480px) {
	:root {
		--space-p-lr: 16px;
	}
}
