
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/onest-latin-ext-v11.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/fonts/onest-latin-v11.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html {
	margin: 0;
	font-family: "Onest", sans-serif;
	text-align:center;
	height: 100%;
	line-height: 0;
	background: radial-gradient(50.23% 51.83% at 90% 1.97%, #220D22 0%, rgba(17, 16, 23, 0.00) 100%), radial-gradient(73.9% 84.66% at -19.33% -1.78%, #101427 0%, #111017 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.10) 0%, rgba(0, 0, 0, 0.10) 100%), #111017;
	background-attachment: fixed;
	color:white;
}

body {
	margin: 0;
}

a {
	color: #12C4FF;
	text-decoration: none;
}

p {
	font-size: 14px;
	letter-spacing: 3%;
}

.container {
	padding: 0 40px;
	max-width: 1680px;
	margin: 0 auto;
	box-sizing: border-box;
	line-height: 140%;
}

.menu-helper {
	display: none;
}

body {
	line-height: 140%;
}

.logo {
	display:flex;
}

.logo a img {
	cursor: pointer;
}

.logo>img {
	margin-left: 20px;
}

nav a {
	color:white;
	padding: 10px 25px;
}

nav a:hover {
	color: #12C4FF;
}

#head {
	padding: 20px 0;
	position: relative;
	z-index: 1;
}

nav ul {
	margin: 0;
	padding: 0;
	display: flex;
}

nav ul li {
	display:flex;
}

#head .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

#claim .container {
	display: flex;
	align-items: center;
	margin-top: 0;
	padding: 0 100px;
}

#claim img {
}

#claim h1 {
	font-size: 72px;
	font-weight: 100;
	letter-spacing: -4%;
	line-height: 100%;
	text-align: left;
}

#claim p {
	font-size: 32px;
	font-weight: 200;
	text-align: left;
	line-height: 140%;
	letter-spacing: 0;
}

#claim h1 strong {
	font-weight: 600;
}

#claim .container>div {
	width: 40%;
}

#claim .container>div:nth-child(2) {
	width: 60%;
}

.btn {
	font-size: 18px;
	color:white;
	padding: 15px 30px;
	border: 1px solid white;
	border-radius: 4px;
}

.btn:hover {
	border-color: #12C4FF;
}

.fast-contact {
	display: block;
	position: absolute;
	top: 80px;
	right: 0;
	background-color: rgba(255, 255, 255, 0.05);
	margin-right: 65px;
	border-radius: 4px;
	padding: 10px 0;
}

.fast-contact li {
	display: flex;
}

.fast-contact>li a {
	padding-right:0;
}

.fast-contact>li {
	padding-right: 30px;
}

.fast-contact>li a:before {
	content:"";
	width: 24px;
	height: 24px;
	background-size: contain;
	display:inline-flex;
	margin-bottom: -5px;
	margin-right:10px;
}

.fast-contact>li.phone a:before {
	background-image: url(images/icon-phone.svg);
}

.fast-contact>li.mail a:before {
	background-image: url(images/icon-mail.svg);
}

#benefit p {
	font-size: 14px;
	text-align: left;
	margin:0;
	padding-left: 80px;
	letter-spacing: 1%;
}

#benefit p strong {
	font-size: 22px;
	font-weight: 600;
	display:block;
	margin-bottom: 15px;
	letter-spacing: 0;
}

#benefit ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#benefit li {
	display: block;
	width: calc(25% - 20px);
	background-color: rgba(255, 255, 255, 0.05);
	border-radius: 4px;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
}

.design #benefit li {
	display: block;
	width: calc(33.333% - 20px);
	background-color: rgba(255, 255, 255, 0.05);
	border-radius: 4px;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
}

#benefit ul li:before {
	content: "";
	display: inline-flex;
	width: 50px;
	height:50px;
	background-size: contain;
	position: absolute;
	top: 20px;
	left:20px;
}

#benefit {
	padding-top: 20px;
}

#benefit ul li:nth-child(1):before {
	background-image: url(images/rychlost-komunikace.svg);
}

#benefit ul li:nth-child(2):before {
	background-image: url(images/cena-predem.svg);
}

#benefit ul li:nth-child(3):before {
	background-image: url(images/optimalizace-telefonu.svg);
}

#benefit ul li:nth-child(4):before {
	background-image: url(images/neni-predstava.svg);
}

#services .container {
	display: flex;
	padding: 0 100px;
}

#services {
	padding: 80px 0;
}

#services p {
	display: none;
}

#services h2 {
	width: 100%;
	position: relative;
	display: block;
}

#services h2:after {
	content:"";
	display: block;
	width: 24px;
	height:24px;
	background-image: url(images/arrow.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	right: 0;
}

#services>div.container>div {
	width: 50%;
}

#services li {
	display: block;
	text-align: left;
	padding: 1px 0;
}

#services ul {
	padding-left: 10px;
	margin-top: 150px;
}

#services li.active p {
	display: block;
}

#services h2 {
	cursor: pointer;
}

#services h2:hover {
	color: #12C4FF;
}

#services li.active h2 {
	color: #12C4FF;
}

#partner .container {
	display: flex;
}

#partner .container>div:nth-child(1) p strong {
	font-size: 64px;
	line-height: 100%;
	position: relative;
	display: block;
	margin-bottom: 60px;
	letter-spacing: 0;
}

#partner .container>div:nth-child(1) p strong span {
	font-weight: 200;
}

#partner p {
	text-align: left;
}

#partner .container>div:nth-child(1) p strong:before {
	content:"";
	width: 66px;
	height: 66px;
	background-image: url(images/logo-shoptet-vector-tomashlad.svg);
	display: block;
	position: absolute;
	top:0;
	left: -90px;
}

#partner .container>div:nth-child(1) p {
	padding-left: 90px;
	display: block;
}

#partner .container>div:nth-child(2)>p {
	font-size: 22px;
	line-height: 160%;
}

#partner .container>div:nth-child(2) {
	padding-left: 20px;
}

#partner .container>div {
	width: 50%;
	padding-right: 50px;
}

#partner ul strong {
	font-size: 50px;
	font-weight: 200;
	color: #12C4FF;
	letter-spacing: 0;
}

#partner ul li {
	display: block;
	width: 230px;
	margin-right: 30px;
	box-sizing: border-box;
}

#partner ul {
	margin: 0;
	display: flex;
	padding: 0;
	margin-top: 40px;
}

#partner li a:hover {
	text-decoration: underline;
}

#client ul {
	padding: 0;
	display: flex;
	justify-content: space-between;
}

#client ul li {
	margin: 0;
	padding: 0;
	display: block;
	flex-flow: row wrap;
	width: calc(50% - 10px);
	background: white;
	border-radius: 4px;
	color: black;
	text-align: center;
	padding: 40px;
	box-sizing: border-box;
}

#client {
	padding: 140px 0;
	padding-bottom: 60px;
}

#client .stars {
	display: block;
	width: 100%;
	padding-bottom: 15px;
}

#client p {
	width: 100%;
}

#client p strong {
	font-size: 22px;
	letter-spacing: 0;
	padding-bottom: 15px;
	display: block;
}

#client p strong a:hover {
	text-decoration: underline;
}

#client p strong a {
	color: #0899C9;
}

#client p i {
	font-weight: 300;
	font-style: normal;
}

#client p.ext {
	margin-top: 40px;
	display: block;
}

#client p.ext a:after {
	content: "";
	width: 18px;
	height: 18px;
	display: inline-flex;
	background-image: url(images/link.svg);
	position: relative;
	top: 3px;
	margin-left: 8px;
}

#client p.ext a:hover {
	text-decoration: underline;
}

#kontakt .container>div strong {
	font-size: 64px;
	letter-spacing: 0;
	line-height: 100%;
	padding-bottom: 40px;
	display: block;
}

#kontakt .container>div {
	position: relative;
}

#kontakt .container>div strong:before {
	width: 62px;
	height: 62px;
	display: block;
	position: absolute;
	top:20px;
	left:0;
	content:"";
	background-image: url(images/send.svg);
}

#kontakt .container>div strong span {
	font-weight: 200;
}

#kontakt .container {
	display: flex;
	align-items: center;
	text-align: left;
}

#kontakt .container>div {
	width: 50%;
	text-align: center;
}

#kontakt .container>div:nth-child(1) {
	padding-left: 90px;
	max-width: 100%;
	width: 680px;
	text-align: left;
}

#kontakt .container>div ul {
	margin: 0;
	padding: 0;
	display: block;
	padding-bottom: 40px;
	padding-top: 40px;
}

#kontakt .container>div ul li {
	width: 100%;
	display: block;
	font-size: 32px;
	padding: 10px 0px;
}

#kontakt .container>div ul li a {
	font-weight: 300;
	color: white;
}

#kontakt .container>div ul li:before {
	content: "";
	width: 45px;
	height: 45px;
	display: inline-flex;
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
	top: 10px;
	margin-right: 10px;
}

#kontakt .container>div ul li.phone:before {
	background-image: url(images/icon-phone.svg);
}

#kontakt .container>div ul li.mail:before {
	background-image: url(images/icon-mail.svg);
}

#kontakt .container>div ul li a:hover {
	color: #12C4FF;
}

#signature {
	padding: 80px 0;
}

#signature ul {
	padding: 0;
	margin: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-top: 80px;
	padding-bottom: 30px;
}

#signature li {
	display: inline-flex;
	margin: 0 20px;
	font-size: 14px;
}

#signature li a {
	color: white;
	padding: 5px;
	display:block;
}

#signature li a:hover {
	color: #12C4FF;	
}

.subpage #claim .container {
	align-items: flex-start;
}

.subpage #services {
	padding: 0;
}

.subpage #services ul {
	margin-top: 60px;
	margin-left: 0;
	padding-left: 0;
}

.subpage #services li {
	font-size: 15px;
}

.subpage #services li p {
	font-size: 14px;
	padding-right:40px;
}

.subpage #claim h1 {
	padding-top: 80px;
}

#websites div.container>div>a {
	display: block;
	width: calc(33% - 10px);
	margin-bottom: 20px;
}

#websites div.container>div {
	padding-top: 20px;
}

#websites div.container>div>a img {
	width: 100%;
	border-radius: 4px;
}

#websites div.container>div {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#websites h2 {
	font-size: 42px;
	font-weight: 200;
}

#websites h2 strong {
	font-weight: 600;
}

#websites {
	padding-top: 80px;
	padding-bottom: 80px;
}

.secret {
	display: none !important;
}

.secret.active {
	display: flex !important;
}

div.btn {
	display: inline-block !important;
	width: auto;
	cursor: pointer;
	margin: 0 auto;
}

div.btn.active {
	display: none !important;
}

.points h2 {
	font-size: 42px;
	font-weight: 200;
}

.points h2 strong {
	font-weight: 600;
}

.points ul {
	margin:0;
	padding:0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.points h3 {
	font-size: 22px;
	font-weight: 600;
	margin-top:0;
	margin-top: 10px;
}

.points img {
	margin-top: 10px;
}

.points p {
	font-size: 14px;
}

.points li {
	padding: 20px;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.05);
	width: calc(25% - 20px);
	border-radius: 4px;
	display: flex;
	align-items: flex-start;
}

.points li div {
	margin-left: 20px;
	text-align: left;
}

.points {
	padding-bottom: 80px;
	padding-top:0px;
}

.points.two {
	padding-bottom: 140px;
}

#kontakt .container>div:nth-child(2) img {
	width: 100%;
}

.wordpress #client {
	padding-top:0;
}

@media (max-width:1560px) {
	#claim h1, #partner .container>div:nth-child(1) p strong, #kontakt .container>div strong {
		font-size: 52px;
	}

	#claim p {
		font-size: 22px;
	}

	#benefit p strong {
		font-size: 18px;
		line-height: 110%;
	}

	#benefit p {
		font-size: 13px;
		line-height: 140%;
	}

	#services li h2 {
		font-size: 22px;
	}

	#partner .container>div:nth-child(2)>p {
		font-size: 18px;
	}

	#claim img {
		width: 100%;
	}

	#services img, #kontakt .container img {
		max-width: 100%;
	}
}

@media (max-width:1200px) {
	nav a {
		padding: 10px 15px;
	}

	#claim h1, #partner .container>div:nth-child(1) p strong, #kontakt .container>div strong {
		font-size: 42px;
	}

	#claim .container {
		padding: 0 40px;
	}

	#benefit p {
		padding-left: 0;
		text-align: center;
	}

	#benefit ul li:before {
		left: 50%;
		margin-left:-25px;
	}

	#benefit p strong {
		margin-top:70px;
	}

	#services ul {
		margin-top: 0;
	}

	#services li h2 {
		font-size: 18px;
	}

	#services li {
		padding:0;
	}
}

@media (max-width:1040px) {

	.container {
		padding: 0 20px;
	}

	.fast-contact {
		position: relative;
		top:0;
		right:0;
		background:none;
	}

	#menu {
		position: absolute;
		top:80px;
		right:0;
		background-color: rgba(41, 31, 45, 0.98);
		padding: 40px;
		width: calc(100% - 40px);
		margin: 0 20px;
		box-sizing: border-box;
		border-radius: 4px;
		display: none;
	}

	#menu li {
		display: block;
		line-height: 250%;
	}

	#menu ul {
		display:block;
	}

	.fast-contact {
		margin-right: 0;
	}

	.menu-helper {

	}

	.free {
		display: none;
	}

	.free2 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		background: linear-gradient(91deg, rgba(0, 226, 90, 0.70) 0.8%, rgba(0, 226, 90, 0.35) 99.56%);
		display:flex;
		justify-content: center;
	}

	.free2 p {
		padding: 0;
		margin:5px;
	}

	#head {
		margin-top:40px;
	}

	.navigation {
		position: absolute;
		top: 75px;
		right: 20px;
		z-index: 1;
	}

	.navigation>* {
		margin-left: 20px;
		cursor: pointer;
	}

	#menu.active {
		display: block;
	}

	.menu-helper {
		display: block;
	}

	#partner .container>div {
		width: 100%;
	}

	#partner .container {
		flex-flow: row wrap;
	}

	#kontakt .container>div:nth-child(1) {
		padding-left: 0;
	}

	#benefit li {
		width: 100%;
		margin-bottom: 20px;
	}

	#claim h1, #partner .container>div:nth-child(1) p strong, #kontakt .container>div strong {
		font-size: 34px;
	}

	#partner .container>div:nth-child(1) p {
		padding-left: 0;
	}

	#partner .container>div:nth-child(1) p strong:before {
		left: 0;
		top: -80px;
	}

	#partner {
		padding-top: 40px;
	}

	#partner .container>div {
		padding-right: 0;
	}

	.logo a img {
		max-width: 170px;
	}

	#claim .container {
		padding: 0 20px;
	}

	#claim .container {
		flex-flow: row wrap;
	}

	#claim .container>div {
		width: 100%;
	}

	#claim {
		padding-top: 40px;
	}

	#claim p {
		font-size: 18px;
		padding: 10px 0;
	}

	#claim .container>div:nth-child(2) {
		width: 100%;
	}


	#benefit p {
		padding-left: 70px;
		text-align: left;
	}

	#benefit ul li:before {
		left: 20px;
		margin-left:0;
	}

	#benefit p strong {
		margin-top:0px;
	}

	#services>div.container>div:nth-child(1) {
		display: none;
	}

	#services .container {
		padding: 0 20px;
	}

	#services>div.container>div {
		width: 100%;
	}

	#services li h2 {
		padding-right: 40px;
		display: block;
		box-sizing: border-box;
	}

	#services li p {
		padding-right: 40px;
	}

	#services li h2 {
		margin:0;
	}

	#services li {
		padding: 15px 0;
	}

	#partner .container>div:nth-child(1) p strong:before {
		height: 33px;
		width: 33px;
		background-size: contain;
		top: -45px;
	}

	#partner .container>div:nth-child(2) {
		padding-left: 0;
	}

	#partner .container>div:nth-child(2)>p {
		font-size: 14px;
		padding-top: 20px;
	}

	#client ul li {
		width: 100%;
		margin-bottom: 20px;
		padding: 40px 20px;
	}

	#client ul {
		flex-flow: row wrap;
	}

	#client {
		padding-top: 60px;
	}

	#client p.ext {
		margin-top: 0;
	}

	#kontakt .container>div:nth-child(1) {
		width: 100%;
	}

	#kontakt .container {
		flex-flow: row wrap;
	}

	#kontakt .container>div strong:before {
		top: -60px;
	}

	#kontakt {
		padding-top: 80px;
	}

	.btn {
		font-size: 15px;
	}

	#kontakt .container>div ul li {
		font-size: 22px;
	}

	#kontakt .container>div ul li:before {
		width: 32px;
		height: 32px;
		background-size: contain;
	}

	#kontakt .container>div {
		width: 100%;
	}

	#signature {
		padding: 0 20px;
		padding-bottom: 80px;
	}

	#signature li {
		display: block;
	}

	.points li {
		width: 100%;
		margin-bottom: 20px;
	}

	.points h2 {
		font-size: 32px;
		line-height: 100%;
	}

	.points {
		padding-bottom:20px;
	}

	.points.two {
		padding-bottom:80px;
	}

	#websites h2 {
		line-height: 100%;
		font-size: 32px;
	}

	#websites div.container>div>a {
		width: 100%;
	}

	.subpage #claim h1 {
		font-size: 44px;
		padding-top: 0px;
	}

}


img { max-width: 100%; height: auto; }
button { font-family: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #12c4ff; outline-offset: 5px; border-radius: 3px; }
[hidden] { display: none !important; }
.skip-link { position: absolute; left: 20px; top: 10px; z-index: 20; padding: 12px 18px; background: #fff; color: #101427; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.nav-menu { padding: 0; border: 0; background: transparent; color: inherit; line-height: 1; vertical-align: middle; }
.nav-menu img { display: block; }
#services summary { cursor: pointer; list-style: none; }
#services summary::-webkit-details-marker { display: none; }
#services summary h2 { box-sizing: border-box; padding-right: 38px; font-weight: 600; }
#services summary h2:after { pointer-events: none; }
#services details[open] summary h2 { color: #12c4ff; }
#services details[open] summary h2:after { transform: rotate(180deg); }
#services details .answer p { display: block; }
#services li { scroll-margin-top: 24px; }
#services .answer-link { font-size: 12px; }
#services .answer-link a { text-decoration: underline; }
#websites .secret { display: flex !important; }
#websites .secret[hidden] { display: none !important; }
button.btn { background: transparent; font-family: inherit; cursor: pointer; }
#websites button.btn { margin: 0 auto; }
#websites .related-links { font-size: 16px; }
.breadcrumb { font-size: 13px; line-height: 1.6; text-align: left; padding-top: 24px; padding-bottom: 4px; color: #c8c6cf; }
.breadcrumb a { padding: 0; }
.breadcrumb span { margin-left: 5px; }
#claim .intro-copy { font-size: 19px; line-height: 1.6; }
#claim .related-links { font-size: 15px; line-height: 1.8; }
.faq-jump { margin: 24px 0; padding: 16px; border: 1px solid #454052; border-radius: 8px; text-align: left; }
#claim .faq-jump p { font-size: 14px; padding: 0; margin: 0 0 10px; }
.faq-jump ul { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; margin: 0; }
.faq-jump a { padding: 4px 0; color: #12c4ff; font-size: 14px; display: inline-block; }
.editorial { text-align: left; }
.editorial>.container { padding-top: 32px; padding-bottom: 28px; }
.editorial>.breadcrumb { padding-top: 24px; padding-bottom: 0; }
.editorial h1 { font-size: clamp(32px, 5vw, 52px); line-height: 1.12; max-width: 900px; }
.editorial h2 { font-size: 28px; line-height: 1.25; margin-top: 36px; }
.editorial h3 { font-size: 21px; line-height: 1.4; }
.editorial p, .editorial li { font-size: 17px; line-height: 1.7; }
.editorial .lead { font-size: 22px; line-height: 1.55; max-width: 850px; }
.editorial .btn { display: inline-block; margin: 12px 0; }
.editorial .contact-link { font-size: clamp(18px, 3vw, 26px); overflow-wrap: anywhere; }
.editorial #kontakt { padding-top: 0; }
.content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.reference-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.reference-card { border-radius: 8px; overflow: hidden; background: rgba(255,255,255,.05); }
.reference-card img { display: block; width: 100%; }
.reference-card h3, .reference-card p { margin: 16px 20px; }
.reference-card h3 { color: white; }
.reference-card p { font-size: 14px; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; color: #12c4ff; }
@media (max-width:1040px) {
  #menu { display: block; }
  .menu-ready #menu:not(.active) { display: none; }
  html:not(.js) body #head .container { display: block; }
  html:not(.js) body #menu { position: static; width: 100%; margin: 20px 0 0; }
  .reference-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .content-grid, .reference-grid { grid-template-columns: 1fr; gap: 16px; }
  .editorial .lead { font-size: 19px; }
  .editorial p, .editorial li { font-size: 16px; }
  #partner ul { flex-wrap: wrap; gap: 20px; }
  #partner ul li { max-width: 100%; margin-right: 0; }
  #services summary h2 { overflow-wrap: break-word; }
}
@media (max-width:370px) {
  .logo a img { max-width: 125px; }
  .navigation>* { margin-left: 10px; }
}

html:not(.js) body button.nav-menu { display: none; }
@media (max-width:1040px) {
  .design #benefit li { width: 100%; }
}


.contact-page #kontakt { padding: 62px 0 38px; }
.contact-page #kontakt .container { gap: 40px; align-items: center; }
.contact-page #kontakt .container>div:nth-child(1) { width: 55%; padding-left: 40px; }
.contact-page #kontakt .container>div:nth-child(2) { width: 45%; }
.contact-page #kontakt h1 { margin: 0 0 24px; font-size: clamp(40px, 4.6vw, 68px); line-height: 1.08; font-weight: 650; letter-spacing: -.035em; }
.contact-page #kontakt h1 span { display: block; font-weight: 200; }
.contact-page #kontakt .contact-intro { max-width: 490px; margin: 0; font-size: 18px; line-height: 1.65; color: #d6d2dc; }
.contact-page #kontakt .container>div ul { padding: 20px 0 24px; }
.contact-page #kontakt .container>div ul li { font-size: clamp(23px, 2.4vw, 34px); }
.contact-page #kontakt .container>div ul li:before { width: 30px; height: 30px; top: 5px; margin-right: 14px; }
.contact-page #kontakt .contact-availability { display: block; width: 190px; }
.contact-page #kontakt .contact-profile { margin: 28px 0 0; }
.contact-page #kontakt .contact-profile .btn { display: inline-block; font-size: 15px; padding: 14px 20px; border-color: #716977; }
.contact-page #kontakt .contact-profile .btn:hover { border-color: #12c4ff; }
.contact-followup { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; padding-top: 40px; padding-bottom: 50px; text-align: left; }
.contact-brief { padding: 32px; border: 1px solid #38323e; border-radius: 12px; background: rgba(255,255,255,.025); }
.contact-followup h2 { font-size: 25px; line-height: 1.3; margin: 0 0 16px; }
.contact-followup p { font-size: 16px; line-height: 1.7; color: #d6d2dc; }
.contact-followup .contact-kicker { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #12c4ff; margin: 0 0 12px; }
.contact-followup .contact-note { font-size: 14px; color: #aba6b5; margin-bottom: 0; }
.contact-more { padding: 32px 0; }
.contact-more a { display: flex; justify-content: space-between; gap: 15px; padding: 17px 0; border-bottom: 1px solid #38323e; color: white; font-size: 16px; }
.contact-more a:hover { color: #12c4ff; }
.contact-more a span { color: #12c4ff; }
.contact-page #signature { padding-top: 40px; }
@media (max-width:1040px) and (min-width:801px) {
  .contact-page #kontakt .container { flex-wrap: nowrap; gap: 24px; }
  .contact-page #kontakt .container>div:nth-child(1) { padding-left: 0; }
}
@media (max-width:800px) {
  .contact-page #kontakt { padding-top: 40px; padding-bottom: 0; }
  .contact-page #kontakt .container { flex-direction: column; gap: 28px; }
  .contact-page #kontakt .container>div:nth-child(1), .contact-page #kontakt .container>div:nth-child(2) { width: 100%; padding-left: 0; }
  .contact-page #kontakt .container>div:nth-child(2) { max-width: 460px; }
  .contact-page #kontakt h1 { font-size: clamp(38px, 7vw, 52px); }
  .contact-page #kontakt .contact-intro { font-size: 16px; }
  .contact-followup { grid-template-columns: 1fr; gap: 8px; padding-top: 24px; padding-bottom: 20px; }
  .contact-brief { padding: 24px; }
  .contact-more { padding: 24px 4px; }
  .contact-page #signature { padding-top: 24px; }
}


.analysis-main { text-align: left; }
.analysis-main h1, .analysis-main h2, .analysis-main h3 { letter-spacing: -.025em; }
.analysis-main h2 { font-size: clamp(30px,3.3vw,48px); line-height: 1.15; margin: 0 0 24px; }
.analysis-main h2 span { font-weight: 200; }
.analysis-main p { line-height: 1.7; }
.analysis-main .analysis-eyebrow { color: #12c4ff; font-size: 12px; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 20px; }
.analysis-hero { display: grid; grid-template-columns: 1.12fr 1fr; gap: 50px; align-items: center; padding-top: 70px; padding-bottom: 36px; }
.analysis-hero-copy { padding-left: 40px; }
.analysis-hero h1 { font-size: clamp(42px,4.3vw,68px); line-height: 1.08; font-weight: 650; margin: 0 0 28px; }
.analysis-hero h1 span { display: block; font-weight: 200; }
.analysis-main .analysis-lead { font-size: 20px; color: #d6d2dc; max-width: 620px; margin-bottom: 30px; }
.analysis-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.analysis-main .btn { display: inline-block; font-size: 16px; text-align: center; line-height: 1.5; }
.analysis-main .analysis-primary { background: #12c4ff; border-color: #12c4ff; color: #111017; font-weight: 600; padding: 16px 26px; }
.analysis-main .analysis-primary:hover { background: #74dcff; border-color: #74dcff; }
.analysis-text-link { font-size: 15px; display: inline-flex; align-items: center; gap: 12px; padding: 8px 0; }
.analysis-main .analysis-hero-note { font-size: 13px; color: #aaa5b4; margin-top: 24px; max-width: 480px; }
.analysis-portrait { position: relative; text-align: center; isolation: isolate; }
.analysis-portrait>img { display: block; width: 100%; max-width: 480px; margin: auto; }
.analysis-portrait-glow { position: absolute; z-index: -1; inset: 15% 0 5%; border-radius: 50%; background: radial-gradient(ellipse,rgba(18,196,255,.12),transparent 67%); }
.analysis-author { position: absolute; bottom: 20px; left: 4%; background: rgba(29,26,38,.94); border: 1px solid #443b50; border-radius: 8px; padding: 17px 24px; text-align: left; }
.analysis-author strong { display: block; font-size: 19px; }
.analysis-author span { display: block; color: #c4bece; font-size: 12px; }
.analysis-focus { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; padding-top: 30px; padding-bottom: 30px; }
.analysis-focus>div { display: flex; gap: 22px; border-top: 1px solid #393240; padding-top: 26px; align-items: flex-start; }
.analysis-focus-code { color: #12c4ff; font-size: 23px; line-height: 1.4; font-weight: 500; min-width: 48px; }
.analysis-focus p { margin: 0; color: #bcb6c6; font-size: 14px; }
.analysis-focus strong { color: white; display: block; font-size: 17px; margin-bottom: 4px; }
.analysis-section { padding-top: 86px; padding-bottom: 40px; scroll-margin-top: 30px; }
.analysis-section-heading { display: flex; gap: 70px; justify-content: space-between; align-items: end; margin-bottom: 20px; }
.analysis-section-heading>p { max-width: 420px; color: #bcb6c6; font-size: 16px; }
.analysis-deliverables { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.analysis-deliverables article { background: linear-gradient(140deg,rgba(255,255,255,.055),rgba(255,255,255,.02)); border: 1px solid #393240; border-radius: 12px; padding: 32px; }
.analysis-card-label { font-size: 11px; letter-spacing: .12em; color: #aaa5b4; }
.analysis-card-symbol { color: #12c4ff; font-size: 36px; font-weight: 200; line-height: 1.3; padding: 36px 0 26px; }
.analysis-main h3 { font-size: 23px; line-height: 1.3; margin: 0 0 14px; }
.analysis-deliverables p { color: #c6c0cd; font-size: 16px; margin-bottom: 0; }
.analysis-context { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding-top: 100px; padding-bottom: 30px; }
.analysis-context>div>p:not(.analysis-eyebrow) { max-width: 600px; color: #c6c0cd; font-size: 17px; }
.analysis-scenarios { margin: 0; padding: 0; list-style: none; }
.analysis-scenarios li { display: flex; gap: 24px; padding: 24px 0; border-bottom: 1px solid #393240; }
.analysis-scenarios li:first-child { padding-top: 0; }
.analysis-scenarios li>span { color: #12c4ff; font-size: 14px; padding-top: 4px; }
.analysis-scenarios h3 { font-size: 21px; margin-bottom: 8px; }
.analysis-scenarios p { font-size: 15px; color: #bcb6c6; margin: 0; }
.analysis-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px; list-style: none; padding: 0; margin: 38px 0 0; }
.analysis-process li { border-top: 1px solid #393240; padding-top: 24px; }
.analysis-process li>span { color: #12c4ff; display: block; margin-bottom: 20px; font-size: 15px; }
.analysis-process h3 { font-size: 21px; }
.analysis-process p { color: #bcb6c6; font-size: 16px; }
.analysis-cta { padding-top: 50px; padding-bottom: 20px; }
.analysis-cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 48px; border: 1px solid #30515c; border-radius: 12px; background: radial-gradient(ellipse at 100% 100%,rgba(18,196,255,.09),transparent 70%),rgba(255,255,255,.025); }
.analysis-cta-panel p { color: #c6c0cd; font-size: 17px; }
.analysis-cta-panel h2 { margin-bottom: 18px; }
.analysis-cta-actions { display: flex; flex-direction: column; align-items: center; gap: 20px; flex-shrink: 0; }
.analysis-main .analysis-expectation { color: #9e98a9; font-size: 13px; max-width: 900px; margin: 24px 0 12px; }
.analysis-related { display: flex; flex-wrap: wrap; gap: 12px 28px; font-size: 14px; }
.analysis-page #signature { padding-top: 48px; }
@media (max-width:1100px) {
 .analysis-hero-copy { padding-left: 0; }
 .analysis-hero { gap: 20px; }
 .analysis-focus { gap: 24px; }
 .analysis-focus>div { gap: 12px; }
 .analysis-context { gap: 40px; }
 .analysis-deliverables article { padding: 24px; }
 .analysis-section-heading { gap: 32px; }
}
@media (max-width:800px) {
 .analysis-hero { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 0; gap: 20px; }
 .analysis-hero h1 { font-size: clamp(38px,7vw,54px); }
 .analysis-main .analysis-lead { font-size: 17px; }
 .analysis-portrait { width: 100%; max-width: 430px; justify-self: center; }
 .analysis-author { left: 0; bottom: 8px; padding: 12px 18px; }
 .analysis-focus, .analysis-deliverables, .analysis-context, .analysis-process { grid-template-columns: 1fr; }
 .analysis-focus { gap: 22px; padding-top: 30px; }
 .analysis-focus>div { padding-top: 20px; gap: 22px; }
 .analysis-section { padding-top: 46px; padding-bottom: 12px; }
 .analysis-section-heading { display: block; margin-bottom: 24px; }
 .analysis-section-heading>p { max-width: none; }
 .analysis-section-heading h2 { margin-bottom: 14px; }
 .analysis-deliverables { gap: 16px; }
 .analysis-card-symbol { padding: 22px 0; }
 .analysis-context { padding-top: 60px; gap: 32px; }
 .analysis-process { gap: 20px; margin-top: 28px; }
 .analysis-cta { padding-top: 32px; }
 .analysis-cta-panel { padding: 26px; flex-direction: column; align-items: flex-start; gap: 20px; }
 .analysis-cta-actions { align-items: flex-start; }
 .analysis-cta-panel h2 { font-size: 32px; }
 .analysis-actions { gap: 14px; }
}


:root { --v2-accent: #28c8fa; --v2-text: #f6f5f9; --v2-muted: #b9b6c4; --v2-line: #343341; --v2-panel: rgba(255,255,255,.035); --v2-radius: 14px; }

html { color: var(--v2-text); }
body.v2 { line-height: 1.6; }
.v2 p { letter-spacing: normal; }
.v2 a { text-underline-offset: 4px; }
.v2 main a:not(.btn):hover { color: #8be4ff; }
.v2 h1,.v2 h2,.v2 h3 { letter-spacing: -.025em; }
.v2 .container { max-width: 1680px; }
.v2 .btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 50px; padding: 13px 24px; border: 1px solid #696472; border-radius: 8px; font-size: 15px; font-weight: 500; line-height: 1.5; text-decoration: none; transition: background .18s,border-color .18s,color .18s; }
.v2 .btn:hover { background: rgba(40,200,250,.08); border-color: var(--v2-accent); color: white; }
.v2 .btn-primary,.v2 .analysis-main .analysis-primary { color: #0d1720; background: var(--v2-accent); border-color: var(--v2-accent); font-weight: 600; }
.v2 .btn-primary:hover,.v2 .analysis-main .analysis-primary:hover { color: #0d1720; background: #8be4ff; border-color: #8be4ff; }
.v2 #head { padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.v2 .logo { align-items: center; gap: 24px; }
.v2 .logo a img { width: 210px; }
.v2 .logo>img { width: 155px; margin: 0; }
.v2 #menu { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.v2 #menu>.menu-services { gap: 8px; }
.v2 #menu>.menu-services a { padding: 8px 13px; font-size: 15px; border-radius: 6px; }
.v2 #menu a[aria-current="page"] { background: rgba(40,200,250,.07); color: var(--v2-accent); }
.v2 #menu .fast-contact { display: flex; position: static; padding: 0; margin: 0; gap: 22px; background: none; }
.v2 #menu .fast-contact li { padding: 0; }
.v2 #menu .fast-contact a { font-size: 12px; color: var(--v2-muted); padding: 0; }
.v2 #menu .fast-contact a:hover { color: var(--v2-accent); }
.v2 #menu .fast-contact a:before { width: 17px; height: 17px; margin: 0 7px -3px 0; }
.v2 .breadcrumb { font-size: 12px; padding-top: 26px; padding-bottom: 12px; color: #a8a4b4; }
.v2 #claim .container { display: grid; grid-template-columns: 1.08fr 1fr; gap: 48px; padding: 42px 40px 36px; align-items: center; }
.v2 #claim .container>div,.v2 #claim .container>div:nth-child(2) { width: 100%; min-width: 0; }
.v2 #claim h1 { font-size: clamp(40px,4.2vw,68px); font-weight: 250; letter-spacing: -.035em; line-height: 1.1; margin: 0 0 26px; padding: 0; }
.v2 #claim h1 strong { font-weight: 650; }
.v2 #claim p { font-size: 20px; line-height: 1.7; color: #d4d0dc; }
.v2 #claim>div>div>p { max-width: 640px; }
.v2.subpage #claim .container { align-items: start; padding-top: 30px; }
.v2.subpage #claim .container>div:nth-child(2) img { max-height: 650px; width: 100%; object-fit: contain; object-position: top center; }
.v2 #benefit { padding: 30px 0; }
.v2 #benefit li,.v2.design #benefit li { background: var(--v2-panel); border: 1px solid var(--v2-line); border-radius: var(--v2-radius); padding: 26px; }
.v2 #benefit p { color: var(--v2-muted); line-height: 1.65; }
.v2 #benefit p strong { font-size: 18px; color: var(--v2-text); line-height: 1.3; }
.v2 #services { padding: 68px 0; }
.v2 #services .container { padding: 0 40px; gap: 50px; align-items: center; }
.v2 #services>div.container>div { width: calc(50% - 25px); }
.v2 #services ul { padding: 0; margin: 0; }
.v2 #services li { padding: 0; border-bottom: 1px solid var(--v2-line); }
.v2 #services li:first-child { border-top: 1px solid var(--v2-line); }
.v2 #services summary { padding: 21px 0; }
.v2 #services summary h2 { margin: 0; font-size: 20px; line-height: 1.4; font-weight: 500; }
.v2 #services summary h2:after { top: 3px; width: 20px; height: 20px; opacity: .7; }
.v2 #services details[open] summary h2 { color: var(--v2-accent); }
.v2 #services .answer { padding: 0 34px 20px 0; }
.v2 #services .answer p { font-size: 15px; line-height: 1.75; margin: 0 0 12px; padding: 0; color: #c5c1cf; }
.v2 #services .answer p:last-child { margin-bottom: 0; }
.v2.subpage #services { padding: 20px 0 0; }
.v2 #claim .intro-copy { font-size: 18px; }
.v2 #claim .related-links { font-size: 14px; }
.v2 .faq-jump { background: var(--v2-panel); border-color: var(--v2-line); border-radius: 10px; padding: 18px; }
.v2 #claim .faq-jump p { font-size: 13px; }
.v2 .faq-jump a { color: var(--v2-accent); font-size: 13px; }
.v2 #websites { padding: 64px 0; }
.v2 #websites h2,.v2 .points h2 { font-size: clamp(30px,3.1vw,46px); line-height: 1.2; font-weight: 250; margin: 0 0 32px; }
.v2 #websites div.container>div { gap: 22px; }
.v2 #websites div.container>div>a { width: calc((100% - 44px)/3); margin: 0; border-radius: var(--v2-radius); overflow: hidden; border: 1px solid var(--v2-line); box-sizing: border-box; }
.v2 #websites div.container>div>a img { display: block; border-radius: 0; transition: transform .25s; }
.v2 #websites div.container>div>a:hover img { transform: scale(1.015); }
.v2 #websites .related-links { margin-top: 26px; color: var(--v2-muted); }
.v2 .points { padding: 48px 0; }
.v2 .points.two { padding-bottom: 64px; }
.v2 .points li { border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: var(--v2-panel); padding: 24px; }
.v2 .points h3 { font-size: 20px; line-height: 1.35; }
.v2 .points p { color: var(--v2-muted); line-height: 1.75; }
.v2 #partner { padding: 64px 0 24px; }
.v2 #partner .container>div { min-width: 0; }
.v2 #partner .container>div:nth-child(1) p strong { font-size: clamp(36px,3.6vw,54px); line-height: 1.12; font-weight: 600; }
.v2 #partner .container>div:nth-child(2)>p { font-size: 18px; color: #c5c1cf; }
.v2 #partner ul strong { color: var(--v2-accent); font-size: 48px; }
.v2 #client { padding: 72px 0; }
.v2 #client ul { gap: 24px; }
.v2 #client ul li { flex: 1; padding: 36px; border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: var(--v2-panel); color: var(--v2-text); text-align: left; }
.v2 #client p { color: #c5c1cf; font-size: 15px; line-height: 1.8; }
.v2 #client p strong { font-size: 18px; line-height: 1.6; font-weight: 600; padding-bottom: 0; color: var(--v2-text); }
.v2 #client p i { color: var(--v2-muted); }
.v2 #client p strong a { color: var(--v2-accent); }
.v2 #client .stars { padding-bottom: 4px; }
.v2 #client .stars img { width: 18px; }
.v2:not(.contact-page) #kontakt { padding: 36px 0 0; }
.v2:not(.contact-page) #kontakt .container { border-top: 1px solid var(--v2-line); padding-top: 65px; gap: 40px; }
.v2 #kontakt .container>div strong { font-size: clamp(38px,3.6vw,58px); line-height: 1.12; }
.v2 #kontakt .container>div ul li { font-size: clamp(23px,2.4vw,34px); }
.v2 #signature { max-width: 1680px; margin: 60px auto 0; box-sizing: border-box; padding: 40px; border-top: 1px solid var(--v2-line); text-align: left; }
.v2 #signature>p { color: #aaa6b5; font-size: 13px; line-height: 1.7; }
.v2 #signature ul { display: flex; flex-wrap: wrap; gap: 10px 26px; padding: 18px 0 24px; margin: 0; }
.v2 #signature li { display: block; margin: 0; font-size: 13px; }
.v2 #signature li a { padding: 4px 0; color: #d4d0dc; }
.v2 #signature>p:last-child { font-size: 12px; margin-bottom: 0; }
.v2 .editorial>.container { padding-top: 36px; padding-bottom: 36px; }
.v2 .editorial h1 { font-size: clamp(38px,4.2vw,64px); line-height: 1.12; font-weight: 600; }
.v2 .editorial .lead { color: #c5c1cf; font-size: 20px; line-height: 1.7; }
.v2 .editorial h2 { font-size: clamp(30px,3vw,44px); font-weight: 500; }
.v2 .reference-grid { gap: 24px; }
.v2 .reference-card { border: 1px solid var(--v2-line); border-radius: var(--v2-radius); background: var(--v2-panel); }
.v2 .reference-card img { transition: transform .25s; }
.v2 .reference-card>a { display: block; overflow: hidden; }
.v2 .reference-card:hover img { transform: scale(1.012); }
.v2 .reference-card h3 { font-size: 20px; font-weight: 500; }
.v2 .reference-card p { color: var(--v2-muted); }
.v2 .contact-followup .contact-brief,.v2 .analysis-deliverables article,.v2 .analysis-cta-panel { border-radius: var(--v2-radius); }
.v2 .contact-page .btn { border-radius: 8px; }
.v2 .analysis-main h2 { font-size: clamp(30px,3.1vw,46px); }
.v2 .analysis-main .analysis-primary { border-radius: 8px; }
@media (max-width:1200px) {
 .v2 .logo>img { width: 140px; }
 .v2 .logo { gap: 16px; }
 .v2 #menu>.menu-services a { font-size: 14px; padding: 8px 10px; }
 .v2 .points li { width: calc(50% - 12px); margin-bottom: 24px; }
 .v2 #claim .container { gap: 28px; }
}
@media (max-width:1040px) {
 .v2 #head { padding: 20px 0; }
 .v2 .logo a img { width: 170px; }
 .v2 #menu { display: none; position: absolute; align-items: stretch; top: 75px; padding: 24px; border: 1px solid var(--v2-line); background: #1b1c27; box-shadow: 0 20px 50px rgba(0,0,0,.3); border-radius: 12px; }
 .v2 #menu.active,html:not(.js) .v2 #menu { display: flex; }
 html:not(.js) .v2 #menu { position: static; }
 .v2 #menu>.menu-services a { display: block; font-size: 16px; padding: 8px 14px; }
 .v2 #menu .fast-contact { display: flex; flex-direction: column; gap: 12px; padding: 12px 14px 4px; }
 .v2 #menu .fast-contact a { font-size: 14px; }
 .v2 #claim .container { grid-template-columns: 1fr; gap: 20px; padding: 28px 20px; }
 .v2 #claim { padding-top: 20px; }
 .v2 #claim h1 { font-size: clamp(36px,6vw,52px); }
 .v2 #claim p { font-size: 18px; }
 .v2 #claim .container>div:nth-child(2) { max-width: 600px; justify-self: center; }
 .v2.subpage #claim .container { padding-top: 8px; }
 .v2 #services .container { padding: 0 20px; }
 .v2 #services>div.container>div { width: 100%; }
 .v2 #services summary h2 { font-size: 18px; }
 .v2 #services { padding: 38px 0; }
 .v2 #benefit li,.v2.design #benefit li { width: 100%; padding: 22px; }
 .v2 #benefit p strong { margin-bottom: 9px; }
 .v2 #partner { padding-top: 65px; }
 .v2 #partner ul { flex-wrap: wrap; gap: 20px; }
 .v2 #partner ul li { margin-right: 0; }
 .v2 #client { padding: 40px 0; }
 .v2 #client ul li { flex-basis: 100%; margin: 0; padding: 26px; }
 .v2:not(.contact-page) #kontakt .container { padding-top: 70px; }
 .v2 #signature { padding: 30px 20px; margin-top: 30px; }
 .v2 #signature ul { gap: 8px 22px; }
 .v2 .editorial .lead { font-size: 18px; }
}
@media (max-width:600px) {
 .v2 #websites div.container>div>a { width: 100%; }
 .v2 #websites { padding: 36px 0; }
 .v2 .points li { width: 100%; margin-bottom: 16px; }
 .v2 .points { padding: 26px 0; }
 .v2 .points.two { padding-bottom: 32px; }
 .v2 #services .answer { padding-right: 8px; }
 .v2 #services summary { padding: 18px 0; }
 .v2 #services .answer p { font-size: 14px; }
 .v2 #client p { font-size: 14px; }
 .v2 #claim .btn { max-width: 100%; }
 .v2 .btn { font-size: 14px; padding: 13px 20px; }
}
@media (max-width:370px) { .v2 .logo a img { width: 125px; } }
@media (prefers-reduced-motion:reduce) { .v2 .btn,.v2 .reference-card img,.v2 #websites div.container>div>a img { transition: none; } }


.v2 #signature.site-footer { padding: 52px 40px 26px; margin-top: 64px; border-top: 1px solid #3b3644; position: relative; }
.v2 #signature.site-footer:before { content: ""; position: absolute; top: -1px; left: 40px; width: 80px; height: 2px; background: var(--v2-accent); }
.v2 .footer-top { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.1fr; gap: 44px; padding-bottom: 46px; }
.v2 .footer-brand img { width: 200px; height: auto; display: block; }
.v2 .footer-brand p,.v2 .footer-talk p { color: var(--v2-muted); font-size: 15px; line-height: 1.7; margin: 22px 0; }
.v2 .footer-availability { display: inline-flex; align-items: center; gap: 9px; color: #bbd9bf; font-size: 12px; }
.v2 .footer-availability>span { width: 6px; height: 6px; border-radius: 50%; background: #71cb7c; box-shadow: 0 0 0 4px #71cb7c12; }
.v2 #signature h2 { margin: 0 0 21px; font-size: 13px; letter-spacing: .02em; font-weight: 600; color: #f6f5f9; line-height: 1.6; }
.v2 #signature .footer-nav ul { display: flex; flex-direction: column; gap: 9px; padding: 0; margin: 0; }
.v2 #signature .footer-nav li { margin: 0; font-size: 14px; line-height: 1.6; }
.v2 #signature .footer-nav a { display: inline-block; padding: 3px 0; color: var(--v2-muted); }
.v2 #signature a:hover { color: var(--v2-accent); }
.v2 .footer-nav a span { font-size: 12px; color: #706b7d; margin-left: 5px; }
.v2 .footer-talk { padding-left: 26px; border-left: 1px solid var(--v2-line); }
.v2 .footer-talk p { font-size: 23px; font-weight: 400; line-height: 1.4; color: #eeebf3; margin: 0 0 20px; letter-spacing: -.025em; }
.v2 .footer-contact-link { font-size: 15px; display: inline-flex; align-items: center; gap: 30px; border-bottom: 1px solid #28c8fa66; padding-bottom: 8px; }
.v2 .footer-contact-link span { font-size: 24px; line-height: 1; }
.v2 .footer-faq { display: block; margin-top: 18px; font-size: 12px; color: var(--v2-muted); }
.v2 .footer-contact-row { padding: 24px 0; border-top: 1px solid var(--v2-line); border-bottom: 1px solid var(--v2-line); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.v2 .footer-contact-row>a:first-child { font-size: clamp(24px,3vw,42px); letter-spacing: -.035em; font-weight: 450; color: #f6f5f9; }
.v2 .footer-contact-row>a:first-child span { color: var(--v2-accent); margin-left: 12px; }
.v2 .footer-contact-row>a:last-child { font-size: 20px; color: #d4d0dc; white-space: nowrap; }
.v2 .footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding-top: 22px; color: #9993a6; }
.v2 .footer-bottom p,.v2 .footer-bottom a { margin: 0; font-size: 12px; line-height: 1.8; color: inherit; }
.v2 .footer-bottom p span { padding: 0 8px; }
.v2 .footer-bottom a { padding: 5px 0; }
.v2 .footer-bottom a span { margin-left: 8px; color: var(--v2-accent); }
@media(max-width: 1100px) { .v2 .footer-top { grid-template-columns: 1.2fr 1fr; gap: 36px; } .v2 .footer-talk { padding-left: 0; border: 0; } }
@media(max-width: 600px) {
 .v2 #signature.site-footer { padding: 36px 20px 24px; margin-top: 40px; }
 .v2 #signature.site-footer:before { left: 20px; }
 .v2 .footer-top { grid-template-columns: 1fr 1fr; gap: 32px 18px; padding-bottom: 32px; }
 .v2 .footer-brand,.v2 .footer-talk { grid-column: 1/-1; }
 .v2 #signature h2 { font-size: 12px; margin-bottom: 14px; }
 .v2 #signature .footer-nav li { font-size: 13px; }
 .v2 .footer-brand p { margin: 18px 0; }
 .v2 .footer-talk { padding: 24px; border: 1px solid var(--v2-line); border-radius: 14px; background: var(--v2-panel); }
 .v2 .footer-contact-row { flex-direction: column; align-items: flex-start; gap: 12px; }
 .v2 .footer-contact-row>a:last-child { font-size: 17px; }
 .v2 .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
 .v2 .footer-bottom p:nth-child(2) { max-width: 260px; }
}


.v2 .header-availability { display: inline-flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid #72c58b30; border-radius: 10px; background: #72c58b08; text-align: left; flex-shrink: 0; }
.v2 .availability-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #8bd7a0; box-shadow: 0 0 0 4px #8bd7a010; flex-shrink: 0; }
.v2 .availability-label { display: block; font-size: 10px; font-weight: 500; line-height: 1.4; color: #a7b8ac; margin-bottom: 3px; }
.v2 .availability-copy { display: block; font-size: 11px; line-height: 1.5; font-weight: 500; color: #d6e8db; white-space: nowrap; }
@media(max-width:1200px) and (min-width:1041px) { .v2 .header-availability { padding: 9px 10px; gap: 9px; } }
@media(max-width:1040px) {
 .v2 .header-availability { display: none; }
 .v2 .menu-helper .free2 { background: #141a19; border-bottom: 1px solid #72c58b25; box-sizing: border-box; min-height: 32px; align-items: center; gap: 11px; }
 .v2 .menu-helper .free2 p { font-size: 11px; line-height: 1.5; font-weight: 500; color: #cce1d2; margin: 7px 0; letter-spacing: .01em; }
}


.v2 .availability-badge { display: inline-flex; align-items: center; gap: 12px; box-sizing: border-box; width: fit-content; max-width: 100%; padding: 12px 16px; border: 1px solid #62d68c65; border-radius: 10px; background: linear-gradient(120deg,#214936b3,#183328a6); text-align: left; vertical-align: middle; }
.v2 .availability-badge .availability-dot { width: 7px; height: 7px; background: #8dedac; box-shadow: 0 0 0 4px #8dedac18; }
.v2 .availability-badge .availability-label { font-size: 10px; line-height: 1.4; font-weight: 500; color: #b4d3bf; margin-bottom: 3px; }
.v2 .availability-badge .availability-copy { font-size: 12px; line-height: 1.5; font-weight: 600; color: #ebfff1; white-space: nowrap; }
.v2 .footer-status { margin-top: 2px; }
@media(max-width:1200px) and (min-width:1041px) { .v2 .availability-badge.header-availability { padding: 10px 12px; gap: 10px; } }
@media(max-width:1040px) {
 .v2 .availability-badge.header-availability { display: none; }
 .v2 .menu-helper .free2 { background: linear-gradient(110deg,#214936,#183328); border-bottom-color: #62d68c65; }
 .v2 .menu-helper .free2 p { color: #ebfff1; font-weight: 600; font-size: 12px; }
 .v2 .menu-helper .free2 .availability-dot { background: #8dedac; box-shadow: 0 0 0 4px #8dedac18; }
}

.v2 .mobile-only { display: none; }
@media(max-width:1040px) {
 html.mobile-menu-open,html.mobile-menu-open body { overflow: hidden; }
 .v2 #head .logo a img { width: 156px; max-width: 156px; height: auto; }
 .v2 .menu-helper .navigation { top: 57px; right: 20px; display: flex; align-items: center; }
 .v2 .menu-helper .navigation>* { margin: 0; }
 .v2 .nav-menu { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-width: 96px; height: 46px; padding: 0 16px; color: #f4f0f8; background: #ffffff08; border: 1px solid #494251; border-radius: 9px; font: 500 14px 'Onest',sans-serif; }
 .v2 .mobile-menu-icon { position: relative; width: 18px; height: 12px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; box-sizing: border-box; }
 .v2 .mobile-menu-icon:after { content: ''; position: absolute; left: 0; top: 4px; width: 13px; border-top: 1.5px solid currentColor; }
 .v2.menu-ready #menu { position: fixed; inset: 0; width: 100%; height: 100dvh; max-height: none; box-sizing: border-box; margin: 0; padding: 0 24px max(28px,env(safe-area-inset-bottom)); border: 0; border-radius: 0; z-index: 1000; background: #15131d; overflow-y: auto; overscroll-behavior: contain; box-shadow: none; gap: 0; text-align: left; }
 .v2 #menu .mobile-only { display: block; }
 .v2 #menu .mobile-menu-top { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; position: sticky; top: 0; background: #15131d; z-index: 1; padding: max(18px,env(safe-area-inset-top)) 0 18px; margin-bottom: 12px; border-bottom: 1px solid var(--v2-line); }
 .v2 .mobile-menu-top>span { font-size: 24px; line-height: 1.2; font-weight: 250; letter-spacing: -.04em; }
 .v2 .mobile-menu-top b { font-weight: 600; }
 .v2 .menu-close { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #494251; border-radius: 9px; color: #f4f0f8; background: #ffffff08; cursor: pointer; font-size: 30px; line-height: 1; }
 .v2 #menu .mobile-menu-label { color: #958caa; font-size: 10px; letter-spacing: .13em; line-height: 1.6; font-weight: 600; margin: 16px 0 10px; }
 .v2 #menu .menu-services { display: block; margin: 0; padding: 0; }
 .v2 #menu .menu-services li { line-height: 1.5; }
 .v2 #menu .menu-services a,.v2 #menu .mobile-analysis { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-radius: 0; border-bottom: 1px solid #ffffff0c; font-size: 20px; line-height: 1.3; font-weight: 500; color: #f0ebf6; }
 .v2 #menu .menu-services a:after { content: '↗'; font-size: 17px; color: #6b637c; margin-left: 12px; }
 .v2 #menu .desktop-contact { display: none; }
 .v2 #menu a[aria-current='page'] { color: var(--v2-accent); background: transparent; }
 .v2 #menu .mobile-analysis span { color: #6b637c; font-size: 17px; }
 .v2 #menu .mobile-menu-extra>.mobile-menu-label { margin-top: 26px; }
 .v2 .mobile-secondary-links { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 24px; }
 .v2 #menu .mobile-secondary-links a { padding: 13px 0; font-size: 15px; line-height: 1.4; color: #cdc5da; }
 .v2 #menu .mobile-contact-cta { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding: 17px 20px; border-radius: 9px; font-size: 15px; line-height: 1.5; font-weight: 600; background: var(--v2-accent); color: #101822; }
 .v2 #menu .fast-contact { display: flex; flex-direction: row; flex-wrap: wrap; gap: 2px 22px; margin-top: 18px; padding: 0; }
 .v2 #menu .fast-contact a { padding: 12px 0; font-size: 13px; line-height: 1.5; }
 .v2 #menu .fast-contact a:before { display: none; }
 html:not(.js) .v2 #menu { position: static; width: 100%; padding: 20px 0; }
 html:not(.js) .v2 #menu .menu-close { display: none; }
}
@media(max-width:1040px) { .mobile-menu-open .v2 .menu-helper { visibility: hidden; } }

@media(max-width:1040px) {
 .mobile-menu-open .v2 .menu-helper { visibility: visible; }
 .mobile-menu-open .v2 .menu-helper .navigation { visibility: hidden; }
 .mobile-menu-open .v2 .menu-helper .free2 { position: fixed; top: 0; left: 0; z-index: 1100; height: 34px; min-height: 34px; }
 .v2 .menu-helper .free2 { height: 34px; min-height: 34px; }
 .v2.menu-ready #menu { top: 34px; height: calc(100dvh - 34px); }
}

@media(max-width:1040px) { .mobile-menu-open .v2 .menu-helper .free2 { padding-right: var(--menu-scrollbar-width,0px); } }


.home-page .home-eyebrow { font-size: 11px !important; font-weight: 600; letter-spacing: .13em !important; line-height: 1.6 !important; color: #74d8f8 !important; margin: 0 0 22px !important; padding: 0 !important; }
.home-page #claim .container { grid-template-columns: 1.12fr 1fr; gap: 35px; padding-top: 58px; padding-bottom: 56px; }
.home-page #claim h1 { font-size: clamp(42px,4.7vw,76px); line-height: 1.06; letter-spacing: -.045em; margin-bottom: 28px; }
.home-page #claim h1 strong { font-weight: 620; }
.home-page #claim h1 span { display: block; font-weight: 250; font-size: .79em; color: #ccc7d5; margin-top: 12px; }
.home-page #claim p { max-width: 530px; font-size: 17px; line-height: 1.8; }
.home-page #claim .container>div:nth-child(2) img { width: 100%; max-width: 660px; }
.home-page .home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 32px; }
.home-page .home-actions .btn { gap: 30px; }
.home-page .home-text-link { display: inline-flex; align-items: center; gap: 18px; color: #ece8f3; font-size: 14px; line-height: 1.6; padding: 10px 0; }
.home-page .home-text-link span { color: var(--v2-accent); }
.home-page #claim .home-hero-note { font-size: 12px; color: #9892a4; margin-top: 22px; max-width: 440px; }
.home-page #benefit { padding: 0 0 60px; }
.home-page #benefit ul { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-top: 1px solid var(--v2-line); border-bottom: 1px solid var(--v2-line); }
.home-page #benefit li { width: auto; border: 0; border-right: 1px solid var(--v2-line); background: none; border-radius: 0; padding: 28px; }
.home-page #benefit li:first-child { padding-left: 0; }
.home-page #benefit li:last-child { border-right: 0; padding-right: 0; }
.home-page #benefit li:before { display: none; }
.home-page #benefit p { padding: 0; font-size: 13px; line-height: 1.7; }
.home-page #benefit strong { font-size: 16px; font-weight: 550; margin-bottom: 12px; }
.home-page .home-benefit-number { display: block; color: #74d8f8; font-size: 11px; margin-bottom: 18px; }
.home-page .home-work { padding-top: 36px; padding-bottom: 70px; text-align: left; }
.home-page .home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 36px; }
.home-page .home-section-heading h2,.home-page .home-section-title { font-size: clamp(30px,3.4vw,48px); line-height: 1.15; font-weight: 450; letter-spacing: -.035em; margin: 0; }
.home-page .home-section-heading>p { font-size: 14px; color: var(--v2-muted); line-height: 1.8; margin: 0; }
.home-page .home-work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.home-page .home-project { display: block; min-width: 0; }
.home-page .home-project-image { border: 1px solid #3b3644; border-radius: 12px; overflow: hidden; }
.home-page .home-project img { display: block; width: 100%; height: auto; transition: transform .25s; }
.home-page .home-project:hover img { transform: scale(1.025); }
.home-page .home-project-caption { display: flex; justify-content: space-between; align-items: center; padding: 19px 0; color: #f6f5f9; }
.home-page .home-project-caption h3 { font-size: 20px; font-weight: 500; margin: 0 0 6px; }
.home-page .home-project-caption p { font-size: 12px; color: var(--v2-muted); margin: 0; }
.home-page .home-project-caption>span { width: 36px; height: 36px; border: 1px solid var(--v2-line); border-radius: 50%; display: grid; place-items: center; color: var(--v2-accent); }
.home-page #services { padding: 40px 0 76px; }
.home-page #services .container { align-items: flex-start; gap: 80px; }
.home-page #services .container>div { width: calc(50% - 40px); }
.home-page #services .container>div:first-child { text-align: left; }
.home-page .home-service-intro { max-width: 420px; font-size: 15px; line-height: 1.8; color: var(--v2-muted); margin: 24px 0; }
.home-page #services .container>div:first-child img { display: block; width: 72%; max-width: 350px; margin: 20px auto 0; }
.home-page #services summary { display: block; position: relative; padding: 24px 36px 24px 0; list-style: none; cursor: pointer; }
.home-page #services summary::-webkit-details-marker { display: none; }
.home-page #services summary:after { content: '+'; position: absolute; right: 3px; top: 21px; color: var(--v2-accent); font-size: 24px; font-weight: 300; }
.home-page #services details[open] summary:after { content: '−'; }
.home-page #services summary h3 { font-size: 19px; font-weight: 500; line-height: 1.5; margin: 0; color: #ece8f3; }
.home-page #services details[open] h3 { color: var(--v2-accent); }
.home-page #services .answer { padding-right: 20px; }
.home-page #client { padding: 40px 0 70px; text-align: left; }
.home-page #client ul { align-items: stretch; }
.home-page #client li { padding: 32px; }
.home-page #client .stars { margin-bottom: 22px; }
.home-page #client .ext { text-align: left; margin-top: 24px; font-size: 13px; }
.home-page #kontakt .container { padding-top: 60px; align-items: center; }
.home-page .home-contact-title { font-size: clamp(42px,5vw,72px); font-weight: 500; line-height: 1.07; margin: 0 0 24px; letter-spacing: -.04em; }
.home-page .home-contact-title span { font-weight: 250; }
.home-page #kontakt .home-contact-intro { font-size: 16px; color: var(--v2-muted); line-height: 1.8; max-width: 420px; }
@media(max-width:1040px) {
 .home-page #claim .container { grid-template-columns: 1.1fr 1fr; gap: 20px; padding: 40px 20px; }
 .home-page #claim h1 { font-size: clamp(36px,5.4vw,56px); }
 .home-page #claim p { font-size: 15px; }
 .home-page #benefit li { padding: 22px 16px; }
 .home-page #services .container { gap: 36px; }
 .home-page #services .container>div { width: calc(50% - 18px); }
 .home-page .home-work-grid { gap: 18px; }
}
@media(max-width:700px) {
 .home-page #claim .container { grid-template-columns: 1fr; padding-top: 32px; padding-bottom: 30px; }
 .home-page #claim h1 { font-size: clamp(39px,8.5vw,56px); }
 .home-page #claim .container>div:nth-child(2) img { max-width: 420px; }
 .home-page .home-actions { gap: 12px 22px; margin-top: 24px; }
 .home-page #benefit { padding-bottom: 35px; }
 .home-page #benefit ul { grid-template-columns: 1fr 1fr; }
 .home-page #benefit li { padding: 22px 16px !important; }
 .home-page #benefit li:nth-child(2) { border-right: 0; }
 .home-page #benefit li:nth-child(-n+2) { border-bottom: 1px solid var(--v2-line); }
 .home-page #benefit strong { font-size: 15px; }
 .home-page #benefit p { font-size: 12px; }
 .home-page .home-work { padding-top: 20px; padding-bottom: 32px; }
 .home-page .home-section-heading { flex-direction: column; align-items: flex-start; gap: 15px; margin-bottom: 25px; }
 .home-page .home-work-grid { grid-template-columns: 1fr; gap: 20px; }
 .home-page #services { padding: 24px 0 42px; }
 .home-page #services .container { display: flex; flex-direction: column; gap: 28px; }
 .home-page #services .container>div { width: 100%; }
 .home-page #services .container>div:first-child img { display: none; }
 .home-page #services summary h3 { font-size: 17px; }
 .home-page #client { padding: 20px 0 40px; }
 .home-page #client li { padding: 24px; }
 .home-page #kontakt .container { padding-top: 36px; }
}
@media(prefers-reduced-motion:reduce) { .home-page .home-project img { transition: none; } }
.home-page .home-benefit-number { text-align: left; }
.home-page #services .home-eyebrow,.home-page #services .home-service-intro { display: block; }
.home-page #services .home-section-title { cursor: default; color: var(--v2-text); }
.home-page #services .home-section-title:after { display: none; }


.home-page #kontakt .container>div:nth-child(2) img { display: block; width: 82%; max-width: 540px; height: auto; margin: 0 auto; }


.v2 a, .v2 button, .v2 summary, .v2 .btn {
 transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.v2 button:not(:disabled), .v2 summary { cursor: pointer; }
.v2 :is(a,button,summary):focus-visible {
 outline: 2px solid #8be4ff; outline-offset: 5px;
}
.v2 :is(.home-project-image,.portfolio-image,.portfolio-arrow,.home-project-caption>span),
.v2 :is(.btn,.footer-contact-link,.home-text-link,.portfolio-service-link)>span[aria-hidden],
.v2 .about-timeline summary span {
 transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.v2 :is(.home-project,.portfolio-card>a,.about-focus>a,#websites .container>div>a):focus-visible {
 border-radius: 12px;
}
.v2 :is(.home-project,.portfolio-card>a):focus-visible :is(.home-project-image,.portfolio-image) {
 border-color: var(--v2-accent);
}
.v2 summary:focus-visible { color: #8be4ff; }
.v2 #services summary:focus-visible :is(h2,h3) { color: #8be4ff; }
@media (hover: hover) and (pointer: fine) {
 .v2 a:hover { color: #8be4ff; }
 .v2 #menu :is(.menu-services a,.mobile-analysis,.mobile-secondary-links a):hover {
  color: #8be4ff; background-color: #28c8fa0d;
 }
 .v2 :is(.btn,.nav-menu,.menu-close):hover {
  border-color: var(--v2-accent); background-color: #28c8fa12;
  color: #f6f5f9; transform: translateY(-2px); box-shadow: 0 6px 20px #00000024;
 }
 .v2 .btn.btn-primary:hover, .v2 #menu .mobile-contact-cta:hover {
  background-color: #8be4ff; border-color: #8be4ff; color: #0d1720;
  box-shadow: 0 6px 22px #28c8fa20;
 }
 .v2 :is(.btn,.footer-contact-link,.home-text-link,.portfolio-service-link):hover>span[aria-hidden] {
  transform: translate(3px,-2px);
 }
 .v2 #signature .footer-nav a:hover { color: #8be4ff; transform: translateX(3px); }
 .v2 :is(.breadcrumb,.related-links,.answer,.provider-note) a:hover,
 .v2 :is(.footer-faq,.analysis-text-link):hover {
  text-decoration: underline; text-decoration-thickness: 1px;
 }
 .v2 :is(.home-project,.portfolio-card>a,.about-focus>a):hover { transform: translateY(-3px); }
 .v2 :is(.home-project,.portfolio-card>a):hover :is(.home-project-image,.portfolio-image) {
  border-color: #28c8fa99; box-shadow: 0 10px 28px #00000026;
 }
 .v2 :is(.home-project,.portfolio-card>a):hover :is(.home-project-caption h3,.portfolio-caption h3) { color: #8be4ff; }
 .v2 :is(.home-project,.portfolio-card>a):hover :is(.home-project-caption>span,.portfolio-arrow) {
  background-color: #28c8fa18; border-color: var(--v2-accent); transform: translate(2px,-2px);
 }
 .v2 :is(.about-focus>a,.portfolio-jump a,#websites .container>div>a):hover {
  border-color: #28c8fa99; background-color: #28c8fa0a;
 }
 .v2 summary:hover { color: #8be4ff; background-color: #28c8fa08; }
 .v2 #services summary:hover :is(h2,h3) { color: #8be4ff; }
 .v2 .about-timeline summary:hover { background-color: transparent; text-decoration: underline; text-underline-offset: 4px; }
 .v2 :is(.logo a,.footer-brand>a):hover { opacity: .85; }
}

.v2 :is(.btn,.nav-menu,.menu-close,.mobile-contact-cta):active { transform: translateY(0); box-shadow: none; }
.v2 :is(a,button,summary):active { opacity: .88; }
@media (hover: none) {
 .v2 :is(.home-project,.portfolio-card a,.reference-card,#websites .container>div>a):hover img { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
 .v2 *, .v2 *::before, .v2 *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
 .v2 :is(a,button):hover, .v2 a:hover img, .v2 .reference-card:hover img,
 .v2 a:hover>span[aria-hidden], .v2 a:hover .portfolio-arrow,
 .v2 a:hover .home-project-caption>span { transform: none !important; }
}


.v2 .header-space { display: flow-root; }
.v2.is-scrolled #head {
 position: fixed; inset: 0 0 auto; z-index: 900; margin: 0; padding: 12px 0;
 background: rgba(17,16,23,.97); border-bottom: 1px solid #ffffff18;
 box-shadow: 0 8px 28px #00000024; animation: header-reveal .2s ease-out;
}
.v2.is-scrolled #head .logo a img { width: 155px; height: auto; }
.v2.is-scrolled #head .header-availability { display: none; }
.v2.is-scrolled #menu { gap: 0; }
.v2.is-scrolled #menu>.menu-services a { font-size: 13px; padding: 9px 14px; }
.v2.is-scrolled #menu .fast-contact { display: none; }
.v2.is-scrolled #menu .desktop-contact a { border: 1px solid #28c8fa55; background: #28c8fa0d; color: #8be4ff; }
.v2 main[id], .v2 main [id] { scroll-margin-top: 110px; }
@keyframes header-reveal { from { opacity: 0; } to { opacity: 1; } }
@media (max-width:1040px) {
 .v2.is-scrolled #head { top: 34px; padding: 12px 0; min-height: 62px; box-sizing: border-box; }
 .v2.is-scrolled #head .logo a img { width: 136px; max-width: 136px; }
 .v2.is-scrolled .menu-helper .free2 { position: fixed; top: 0; z-index: 1100; }
 .v2.is-scrolled .menu-helper .navigation { position: fixed; top: 44px; z-index: 901; }
 .v2.is-scrolled .nav-menu { height: 42px; min-width: 88px; }
 .v2.is-scrolled #menu>.menu-services a { font-size: 20px; padding: 16px 0; }
 .v2.is-scrolled #menu .fast-contact { display: flex; }
 .mobile-menu-open .v2.is-scrolled #head { animation: none; }
}
@media (prefers-reduced-motion:reduce) { .v2.is-scrolled #head { animation: none; } }


@media(max-width:1040px) {
 html.js .v2 #menu:not(.active) { display: none; }
}
.v2 #claim picture { display: block; }
.v2 #claim picture img { aspect-ratio: 898 / 815; }

/* Lightweight privacy notice: fixed placement does not shift page content. */
.v2 .cookie-notice[hidden] { display: none; }
.v2 .cookie-notice { position: fixed; z-index: 950; right: 24px; bottom: 24px; box-sizing: border-box; width: 420px; max-width: calc(100vw - 48px); max-height: calc(100dvh - 140px); overflow-y: auto; padding: 24px; border: 1px solid #494251; border-radius: 14px; background: #1a1722; box-shadow: 0 12px 40px #00000055; color: #f6f5f9; text-align: left; line-height: 1.6; }
.v2 .cookie-notice h2 { font-size: 18px; line-height: 1.35; margin: 0 0 10px; }
.v2 .cookie-notice p { font-size: 13px; color: #c7c1d1; margin: 0 0 16px; }
.v2 .cookie-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.v2 .cookie-notice .btn { min-height: 42px; padding: 9px 20px; font-size: 13px; }
.v2 .cookie-notice summary { cursor: pointer; font-size: 13px; color: #8be4ff; padding: 10px 0; }
.v2 .cookie-details { margin-top: 14px; padding-top: 14px; border-top: 1px solid #494251; }
.v2 .cookie-details p { margin-bottom: 12px; font-size: 12px; }
.v2 .cookie-details p:last-child { margin-bottom: 0; }
.v2 .cookie-notice:focus { outline: 2px solid #8be4ff; outline-offset: 3px; }
.v2 .cookie-open { padding: 5px 0; border: 0; background: none; color: inherit; font: inherit; font-size: 12px; cursor: pointer; }
.v2 .cookie-open:hover { color: #8be4ff; }
html:not(.js) .cookie-open { display: none; }
.mobile-menu-open .cookie-notice { visibility: hidden; }
@media(max-width:600px) { .v2 .cookie-notice { right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); width: calc(100% - 24px); max-width: none; padding: 20px; } }

.v2 .cookie-notice { width: 540px; }
.v2 .cookie-notice .cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.v2 .cookie-notice .cookie-choice { flex: 1; white-space: nowrap; background: #28c8fa10; border-color: #28c8fa80; color: #f6f5f9; }
.v2 .cookie-notice .cookie-choice:hover { background: #28c8fa25; }
.v2 .cookie-notice .cookie-actions>.cookie-open { padding: 10px; color: #8be4ff; }
.v2 .cookie-notice .cookie-details[hidden] { display: none; }
.v2 .cookie-notice h3 { font-size: 15px; margin: 0 0 12px; }
.v2 .cookie-option { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; margin: 18px 0 12px; cursor: pointer; }
.v2 .cookie-option input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; accent-color: #28c8fa; }
.v2 .cookie-option input:focus-visible { outline: 2px solid #8be4ff; outline-offset: 3px; }
.v2 .cookie-policy { margin-top: 15px; }
.v2 .cookie-policy code { overflow-wrap: anywhere; }
@media(max-width:600px) { .v2 .cookie-notice { width: calc(100% - 24px); } .v2 .cookie-notice .cookie-actions>.cookie-open { flex-basis: 100%; text-align: left; padding: 4px 0; } }
