:root{
	--bg:#F7F8FB;
	--surface:#FFFFFF;
	--surface-2:#F0F1F5;
	--line:#E2E4EB;
	--line-soft:#EBECF1;
	--text:#12151C;
	--muted:#5B6072;
	--muted-dim:#848AA0;
	--indigo:#4D6BFF;
	--indigo-soft:#E7ECFF;
	--amber:#FFB74A;
	--amber-ink:#A15E00;
	--green:#178F5A;
	--green-soft:#1D9A63;
	--mono: 'JetBrains Mono', monospace;
	--sans: 'Inter', sans-serif;
	--display: 'Unbounded', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	background:var(--bg);
	color:var(--text);
	font-family:var(--sans);
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

a{color:inherit;text-decoration:none;}
ul{list-style:none;}
img{max-width:100%;display:block;}

:focus-visible{
	outline:2px solid var(--indigo);
	outline-offset:3px;
}

.wrap{
	max-width:1240px;
	margin:0 auto;
	padding:0 32px;
}

/* ---------- background texture ---------- */
.grid-bg{
	position:fixed;
	inset:0;
	background-image:
			linear-gradient(to right, rgba(18,21,28,0.035) 1px, transparent 1px),
			linear-gradient(to bottom, rgba(18,21,28,0.035) 1px, transparent 1px);
	background-size:64px 64px;
	pointer-events:none;
	z-index:0;
	mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 90%);
}

/* ---------- nav ---------- */
.header {
	position:fixed;
	top:0; left:0; right:0;
	z-index:151;
	background:rgba(247,248,251,0.78);
	backdrop-filter: blur(14px);
	border-bottom:1px solid var(--line-soft);
}
nav{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:20px 32px;
	max-width:1240px;
	margin:0 auto;
}

.logo{
	font-family:var(--display);
	font-weight:700;
	font-size:18px;
	letter-spacing:0.02em;
	display:flex;
	align-items:center;
	gap:8px;
}
.logo .dot{
	width:7px;height:7px;border-radius:50%;
	background:var(--amber);
	box-shadow:0 0 0 4px rgba(255,183,74,0.15);
}
.nav-links{
	display:flex;
	gap:36px;
	font-size:14px;
	color:var(--muted);
}
.nav-links a{transition:color .2s;}
.nav-links a:hover{color:var(--text);}
.nav-cta{
	font-family:var(--mono);
	font-size:13px;
	padding:10px 18px;
	border:1px solid var(--line);
	border-radius:6px;
	color:var(--text);
	transition:border-color .2s, background .2s;
	white-space:nowrap;
	display: flex;
	gap: 5px;
}
.nav-cta:hover{border-color:var(--indigo);background:rgba(77,107,255,0.08);}
.nav-toggle{display:none;}

/* ---------- hero ---------- */
.hero{
	position:relative;
	z-index:1;

}

.hero-wrap {
	padding:172px 0 100px;
	display:grid;
	grid-template-columns:1.05fr 0.95fr;
	gap:56px;
	align-items:center;
}
.eyebrow{
	font-family:var(--mono);
	font-size:12.5px;
	color:var(--amber-ink);
	letter-spacing:0.06em;
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:26px;
}
.eyebrow::before{content:'//';color:var(--muted-dim);}
h1{
	font-family:var(--display);
	font-weight:700;
	font-size:clamp(38px, 5.4vw, 74px);
	line-height:1.03;
	letter-spacing:-0.01em;
	text-transform:uppercase;
}
h1 .line2{
	color:var(--indigo);
	display:block;
}
.hero-sub{
	margin-top:28px;
	max-width:480px;
	font-size:17px;
	color:var(--muted);
	line-height:1.65;
}
.hero-cta{
	display:flex;
	gap:16px;
	margin-top:40px;
	flex-wrap:wrap;
}
.btn-primary{
	font-family:var(--sans);
	font-weight:600;
	font-size:15px;
	padding:15px 26px;
	background:var(--indigo);
	color:#fff;
	border-radius:7px;
	display:inline-flex;
	align-items:center;
	gap:8px;
	transition:transform .2s, box-shadow .2s;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(77,107,255,0.55);}
.btn-ghost{
	font-family:var(--sans);
	font-weight:600;
	font-size:15px;
	padding:15px 26px;
	border:1px solid var(--line);
	border-radius:7px;
	transition:border-color .2s, background .2s;
}
.btn-ghost:hover{border-color:var(--muted);background:var(--surface);}

/* hero visual */
.hero-visual{
	position:relative;
	border-radius:14px;
	overflow:hidden;
	border:1px solid var(--line);
	background:var(--surface);
	aspect-ratio:4/5;
}
.hero-visual img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	z-index: 5;
	position: relative;
}
.hero-visual .placeholder-fill{
	position:absolute;
	inset:0;
	background:
			radial-gradient(circle at 75% 20%, rgba(77,107,255,0.16), transparent 55%),
			radial-gradient(circle at 15% 85%, rgba(255,183,74,0.14), transparent 50%),
			linear-gradient(160deg, #F1F2F7, #FFFFFF);
}
.hero-visual .placeholder-fill::after{
	content:'YOUR TEAM PHOTO OR PROJECT SCREENSHOT GOES HERE';
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:40px;
	font-family:var(--mono);
	font-size:12px;
	letter-spacing:0.05em;
	color:var(--muted-dim);
}
.hero-badge{
	position:absolute;
	left:18px;
	bottom:18px;
	display:flex;
	align-items:center;
	gap:9px;
	background:rgba(247,248,251,0.78);
	backdrop-filter:blur(10px);
	border:1px solid var(--line);
	border-radius:8px;
	padding:10px 14px;
	font-family:var(--mono);
	z-index: 6;
	font-size:12.5px;
}
.hero-badge .pulse{
	width:6px;height:6px;border-radius:50%;
	background:#7CE0A8;
	box-shadow:0 0 0 0 rgba(124,224,168,0.6);
	animation:pulse 2s infinite;
	flex-shrink:0;
}
@keyframes pulse{
	0%{box-shadow:0 0 0 0 rgba(124,224,168,0.5);}
	70%{box-shadow:0 0 0 7px rgba(124,224,168,0);}
	100%{box-shadow:0 0 0 0 rgba(124,224,168,0);}
}
.hero-badge .k{color:var(--muted);}
.hero-badge .v{color:var(--green-soft);font-weight:600;margin-left:2px;}

/* ---------- marquee ---------- */
.marquee{
	position:relative;
	z-index:1;
	border-top:1px solid var(--line-soft);
	border-bottom:1px solid var(--line-soft);
	padding:18px 0;
	overflow:hidden;
	white-space:nowrap;
	background:var(--surface);
}

.marquee .marquee-track span small:last-child {
	display: none;
}


.marquee-track{
	display:inline-flex;
	gap:48px;
	animation:scroll 32s linear infinite;
}
@keyframes scroll{
	from{transform:translateX(0);}
	to{transform:translateX(-50%);}
}
.marquee span{
	font-family:var(--mono);
	font-size:13px;
	color:var(--muted-dim);
	letter-spacing:0.04em;
}
.marquee span b{color:var(--muted);font-weight:500;}

/* ---------- section shared ---------- */
section{position:relative;z-index:1;}
.section-pad{padding:120px 0;}
.section-head{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	gap:32px;
	margin-bottom:64px;
	flex-wrap:wrap;
}
.section-eyebrow{
	font-family:var(--mono);
	font-size:12px;
	color:var(--muted-dim);
	letter-spacing:0.08em;
	margin-bottom:14px;
	display:block;
}
h2{
	font-family:var(--display);
	font-weight:700;
	font-size:clamp(28px, 3.4vw, 44px);
	text-transform:uppercase;
	line-height:1.1;
	max-width:640px;
}

@media (max-width: 768px) {
	h2 {
		font-size: clamp(21px, 3.4vw, 44px);
	}
}
.section-note{
	font-size:15px;
	color:var(--muted);
	max-width:320px;
	line-height:1.6;
}
.section-note-block{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:18px;
	max-width:320px;
}
.section-note-block .section-note{max-width:none;}
.btn-primary.btn-sm{
	padding:11px 20px;
	font-size:13.5px;
}

/* ---------- services ---------- */
.service-row{
	display:grid;
	grid-template-columns:130px 1.1fr 1.4fr 40px;
	align-items:center;
	gap:24px;
	padding:30px 0;
	border-top:1px solid var(--line-soft);
	transition:background .25s;
}
.services .service-row:last-child{border-bottom:1px solid var(--line-soft);}
.service-row:hover{background:rgba(77,107,255,0.04);}
.service-archive-grid .tag{
	font-family:var(--mono);
	font-size:12px;
	color:var(--amber-ink);
	border:1px solid rgba(161,94,0,0.35);
	padding:5px 10px;
	border-radius:5px;
	width:fit-content;
}

.related-card .tag{
	font-family:var(--mono);
	font-size:12px;
	color:var(--amber-ink);
	border:1px solid rgba(161,94,0,0.35);
	padding:5px 10px;
	border-radius:5px;
	width:fit-content;
}

.price-card .tag {
	font-family:var(--mono);
	font-size:12px;
	color:var(--amber-ink);
	border:1px solid rgba(161,94,0,0.35);
	padding:5px 10px;
	border-radius:5px;
	width:fit-content;
}

.service-row .tag{
	font-family:var(--mono);
	font-size:12px;
	color:var(--amber-ink);
	border:1px solid rgba(161,94,0,0.35);
	padding:5px 10px;
	border-radius:5px;
	width:fit-content;
}

.service-name{
	font-family:var(--display);
	font-weight:600;
	font-size:20px;
	text-transform:uppercase;
}
.service-desc{
	color:var(--muted);
	font-size:15px;
	line-height:1.55;
}
.service-arrow{
	font-size:20px;
	color:var(--muted-dim);
	transition:transform .25s, color .25s;
}
.service-row:hover .service-arrow{transform:translateX(6px);color:var(--indigo);}

/* ---------- process ---------- */

#process {
	background-color: white;
}
.process{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:1px;
	background:var(--line-soft);
	border:1px solid var(--line-soft);
	border-radius:10px;
	overflow:hidden;
}
.process-step{
	background:var(--surface);
	padding:32px 22px;
	min-height:220px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.process-num{
	font-family:var(--mono);
	color:var(--indigo);
	font-size:13px;
}
.process-title{
	font-family:var(--display);
	font-weight:600;
	font-size:16px;
	text-transform:uppercase;
	margin-top:26px;
}
.process-desc{
	color:var(--muted);
	font-size:13.5px;
	line-height:1.55;
	margin-top:10px;
}

/* ---------- work ---------- */
.work-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
.work-card{
	position:relative;
	border-radius:10px;
	overflow:hidden;
	border:1px solid var(--line);
	background:var(--surface);
	aspect-ratio:9/11;

	padding:22px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	isolation:isolate;
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	transition: background-position .8s ease-out !important;

}

.work-card:hover {
	background-position: center 100%;
}
.work-card::before{
	content:'';
	position:absolute;inset:0;
	background:
			radial-gradient(circle at 85% 15%, var(--wc1,rgba(77,107,255,0.2)), transparent 55%),
			radial-gradient(circle at 10% 90%, var(--wc2,rgba(255,183,74,0.1)), transparent 50%);
	z-index:-1;
	transition:transform .5s;
}
.work-card:hover::before{transform:scale(1.08);}
.work-top{
	display:flex;justify-content:space-between;align-items:flex-start;
}
.work-cat{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted);
	background-color: white;
	border-radius: 8px;
	letter-spacing:0.05em;
	padding: 5px;
}
.work-metric{
	font-family:var(--mono);
	font-size:12px;
	color:var(--green);
	background:rgba(23,143,90,0.08);
	border:1px solid rgba(23,143,90,0.28);
	padding:4px 9px;
	border-radius:5px;
}
.work-name{
	font-family:var(--display);
	font-weight:600;
	font-size:24px;
	text-transform:uppercase;
	line-height:1.1;
	background-color: white;
	border-radius: 8px;
	padding: 0 10px;
}

/* ---------- testimonials ---------- */
.testimonial-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
.testimonial-card{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:10px;
	padding:28px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	min-height:230px;
}
.t-mark{
	font-family:var(--display);
	font-size:32px;
	color:var(--indigo);
	line-height:1;
	margin-bottom:14px;
}
.t-quote{
	font-size:15px;
	color:var(--text);
	line-height:1.6;
	flex-grow:1;
}
.t-foot{
	display:flex;
	align-items:center;
	gap:12px;
	margin-top:22px;
	padding-top:18px;
	border-top:1px solid var(--line-soft);
}
.t-avatar{
	width:36px;height:36px;
	border-radius:50%;
	background:var(--indigo-soft);
	color:var(--text);
	font-family:var(--mono);
	font-size:13px;
	font-weight:600;
	display:flex;align-items:center;justify-content:center;
	flex-shrink:0;
	overflow: hidden;
}


.t-avatar img {
	width: 100%;
	height: 100%;
	border-radius:50%;
	object-fit: cover;
}
.t-name{font-size:13.5px;font-weight:600;}
.t-role{font-size:12px;color:var(--muted-dim);font-family:var(--mono);}

/* ---------- partnership ---------- */
.partner{
	background:var(--surface);
	border-top:1px solid var(--line-soft);
	border-bottom:1px solid var(--line-soft);
}
.partner-inner{
	display:grid;
	grid-template-columns:1.3fr 0.9fr;
	gap:48px;
	align-items:center;
}
.partner h2{max-width:520px;}
.partner p{
	color:var(--muted);
	font-size:15.5px;
	line-height:1.7;
	margin-top:20px;
	max-width:480px;
}
.partner-panel{
	font-family:var(--mono);
	background:var(--bg);
	border:1px solid var(--line);
	border-radius:10px;
	padding:24px;
}
.partner-row{
	display:flex;
	justify-content:space-between;
	padding:13px 0;
	border-bottom:1px solid var(--line-soft);
	font-size:13.5px;
}

.partner-row .v {
	text-align: right;
}

.partner-row:last-child{border-bottom:none;}
.partner-row .k{color:var(--muted);}
.partner-row .v{color:var(--amber-ink);}

/* ---------- FAQ ---------- */
.faq-list{max-width:100%;}
.faq-item{
	border-top:1px solid var(--line-soft);
}
.faq-list .faq-item:last-child{border-bottom:1px solid var(--line-soft);}
.faq-item summary{
	list-style:none;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:24px;
	padding:26px 4px;
	cursor:pointer;
	font-family:var(--display);
	font-weight:600;
	font-size:16.5px;
	text-transform:uppercase;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-icon{
	font-family:var(--mono);
	font-size:18px;
	color:var(--indigo);
	flex-shrink:0;
	transition:transform .25s;
}
.faq-item[open] .faq-icon{transform:rotate(45deg);}
.faq-answer{
	padding:0 4px 26px;
	color:var(--muted);
	font-size:15px;
	line-height:1.65;

}

/* ---------- blog preview ---------- */
.blog-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
.blog-card{
	border:1px solid var(--line);
	border-radius:10px;
	padding:24px;
	background:var(--surface);
	transition:border-color .2s, transform .2s;

}

.blog-card a {
	display:flex;
	flex-direction:column;
	min-height:200px;
}

.blog-card:hover{border-color:var(--indigo);transform:translateY(-3px);}
.blog-meta{
	display:flex;
	justify-content:space-between;
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted-dim);
	margin-bottom:18px;
}
.blog-title{
	font-family:var(--display);
	font-weight:600;
	font-size:17px;
	text-transform:uppercase;
	line-height:1.3;
	flex-grow:1;
}
.blog-read{
	margin-top:18px;
	font-family:var(--mono);
	font-size:13px;
	color:var(--indigo);
}

/* ---------- stats strip ---------- */
.stats{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	border-top:1px solid var(--line-soft);
	border-bottom:1px solid var(--line-soft);
}
.stat{
	padding:44px 32px;
	border-left:1px solid var(--line-soft);
}
.stat:first-child{border-left:none;}
.stat-num{
	font-family:var(--display);
	font-weight:700;
	font-size:38px;
	color:var(--indigo);
}
.stat-label{
	font-family:var(--mono);
	font-size:12px;
	color:var(--muted);
	margin-top:8px;
}

.css-clip {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: none;
	opacity: 0;
}

/* ---------- cta ---------- */
.cta{
	text-align:center;
	padding:140px 0;
	position:relative;
}
.cta h2{
	max-width:720px;
	margin:0 auto 36px;
}

@media (max-width: 768px) {
	.cta h2 {
		font-size: clamp(21px, 3.4vw, 44px);
	}
}

/* ---------- footer ---------- */
.footer{
	border-top:1px solid var(--line-soft);
	padding:64px 0 32px;
	margin-top: auto;
}
.footer-top{
	display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr;
	gap:32px;
	padding-bottom:48px;
}
.footer-brand .logo{margin-bottom:16px;}
.footer-brand p{color:var(--muted);font-size:14px;max-width:260px;line-height:1.6;}
.footer-col h4{
	font-family:var(--mono);
	font-size:12px;
	color:var(--muted-dim);
	letter-spacing:0.06em;
	margin-bottom:16px;
	text-transform:uppercase;
}
.footer-col a, .footer-col p{
	display:block;
	color:var(--muted);
	font-size:14.5px;
	margin-bottom:10px;
	transition:color .2s;
}
.footer-col a:hover{color:var(--text);}
.footer-bottom{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding-top:28px;
	border-top:1px solid var(--line-soft);
	font-size:13px;
	color:var(--muted-dim);
	font-family:var(--mono);
}

/* ---------- reveal on scroll ---------- */
.reveal{
	opacity:0;
	transform:translateY(18px);
	transition:opacity .7s ease, transform .7s ease;
}
.reveal.in{opacity:1;transform:translateY(0);}

.services-btn {
	padding: 36px 0 0 0;
	text-align: center;
}

.header-menu .sub-menu {
	display: none;
}

@media (min-width: 1024px) {
	.header .header-menu .sub-menu {
		background: white;
		position: absolute;
		right: auto;
		left: 0;
		min-width: 249px;
		padding: 15px 15px 15px 15px;
		display: none;
		z-index: 11;
		border-radius: 8px;
		list-style: none;
		margin: 0;
		box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	}

	.header .header-menu .sub-menu > li:not(:last-child) {
		margin-bottom: 15px;
	}

	.header .header-menu .menu-item-has-children {
		position: relative;
	}

	.header-menu .menu-item-has-children:hover > .sub-menu {
		display: block;
	}
	.menu-item-has-children > a:after {
		content: '';
		background-image: url("../images/chevron-down-solid-full.svg");
		width: 15px;
		height: 15px;
		display: block;
		background-repeat: no-repeat;
		background-position: right;
		position: absolute;
		right: -17px;
		top: 4px;
		transition: transform 0.3s ease-in-out;
	}

	.header-menu .menu-item-has-children:hover > a:after {
		transform: rotate(180deg);
		filter: brightness(0) saturate(100%) invert(45%) sepia(63%) saturate(5584%) hue-rotate(221deg) brightness(101%) contrast(101%);
	}
	.header-menu .current-menu-item > a:after {
		color: var(--indigo);
		filter: brightness(0) saturate(100%) invert(45%) sepia(63%) saturate(5584%) hue-rotate(221deg) brightness(101%) contrast(101%);

	}
}

.header-menu .current-menu-item > a {
	color: var(--indigo);
}

/* ---------- responsive ---------- */
@media (max-width:960px){
	.hero-wrap{grid-template-columns:1fr;padding-top:150px;}
	.hero-visual{aspect-ratio:4/3;max-width:100%;}
	.nav-links{display:none;}
	.process{grid-template-columns:repeat(2,1fr);}
	.work-grid{grid-template-columns:1fr;}
	.footer-top{grid-template-columns:1fr 1fr;}
	.stats{grid-template-columns:repeat(2,1fr);}
	.stat:nth-child(3){border-left:none;}
	.testimonial-grid{grid-template-columns:1fr 1fr;}
	.partner-inner{grid-template-columns:1fr;}
	.blog-grid{grid-template-columns:1fr 1fr;}
	.stat-num {
		font-size: 30px;
	}
	#contact {
		padding: 66px 15px;
	}
}
@media (max-width:640px){
	.wrap{padding:0 20px;}
	nav{padding:16px 20px;}
	.service-row{grid-template-columns:1fr;gap:10px;}
	.service-arrow{display:none;}
	.process{grid-template-columns:1fr;}
	.footer-top{grid-template-columns:1fr;}
	.footer-bottom{flex-direction:column;gap:10px;align-items:flex-start;}
	.testimonial-grid{grid-template-columns:1fr;}
	.blog-grid{grid-template-columns:1fr;}
	.faq-item summary{font-size:14.5px;}
	.section-pad {
		padding: 36px 0;
	}
	.work-name {
		display: none;
	}
	.work-top {
		display: none;
	}
	.work-card {
		height: 500px;
		aspect-ratio: auto;
	}
	.stat-num {
		font-size: 14px;
	}
	.stats .stat {
		text-align: center;
		padding: 35px 15px;
	}
	#contact {
		padding: 36px 15px;
	}
	.hero .hero-wrap .eyebrow:before {
		display: none;
	}
	.hero .hero-wrap .eyebrow {
		font-size: 10px;
	}
	.wa__btn_popup_txt {
		display: none !important;
	}
}


@media (prefers-reduced-motion: reduce){
	*{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

.footer .custom-logo-link {
	margin-bottom: 1rem;
	display: block;
}

.socials {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.socials a {
	max-width: 20px;
}

.socials a img {
	height: auto;
	object-fit: contain;
}

.socials a:hover img {
	filter: brightness(0) saturate(100%) invert(45%) sepia(63%) saturate(5584%) hue-rotate(221deg) brightness(101%) contrast(101%);
}

.burger {
	display: none;
}

.menu-overlay {
	display: none;
}

body.menu-open {
	overflow: hidden;
}

.header-nav-btn {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	align-items: center;
}

.header-nav-btn .lang-item {
	list-style: none;
}

.header-nav-btn .current-lang {
	display: none;
}
.lang-item-pl a,
.lang-item-en a {
	position: relative;
	font-size: 0;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	display: block;
	border: 1px solid var(--line);
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.lang-item-pl a:hover,
.lang-item-en a:hover {
	transform: scale(1.12);
	box-shadow: rgba(99, 99, 99, 0.35) 0px 4px 14px 0px;
	border-color: rgba(0, 0, 0, 0.15);
}

.lang-item-pl a:active,
.lang-item-en a:active {
	transform: scale(0.96);
}

.lang-item-pl a:after,
.lang-item-en a:after {
	content: '';
	background-position: center;
	background-size: cover;
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 50%;
	transition: filter 0.25s ease;
}

.lang-item-pl a:after {
	background-image: url("../images/flagpl.webp");
}

.lang-item-en a:after {
	background-image: url("../images/gb.webp");
}

.lang-item-pl a:hover:after,
.lang-item-en a:hover:after {
	filter: brightness(1.05) saturate(1.1);
}

@media (max-width: 1024px) {
	.header-nav .nav-cta {
		display: none;
	}
	/* ---------- BURGER BUTTON ---------- */
	.burger{
		position:relative;
		width:auto;
		height:52px;
		cursor:pointer;
		display:flex;
		align-items:center;
		justify-content:flex-end;
		background:transparent;
		border:none;
	}

	.burger .lines{
		position:relative;
		width:26px;
		height:16px;
	}

	.burger span{
		position:absolute;
		left:0;
		width:100%;
		height:2px;
		background:var(--indigo);
		border-radius:2px;
		transition:transform .45s cubic-bezier(.65,0,.35,1), opacity .3s ease, width .3s ease;
	}
	.burger span:nth-child(1){ top:0; }
	.burger span:nth-child(2){ top:7px; width:70%; }
	.burger span:nth-child(3){ top:14px; }

	.burger:hover span:nth-child(2){ width:100%; }

	.menu-open .burger span:nth-child(1){
		top:7px;
		transform:rotate(45deg);
	}
	.menu-open .burger span:nth-child(2){
		opacity:0;
		transform:translateX(10px);
	}
	.menu-open .burger span:nth-child(3){
		top:7px;
		transform:rotate(-45deg);
	}
	/* ---------- OVERLAY MENU ---------- */
	.menu-overlay{
		position:fixed;
		inset:0;
		background:white;
		z-index:150;
		display:flex;
		clip-path:circle(4% at calc(100% - 66px) 62px);
		transition:clip-path .75s cubic-bezier(.76,0,.24,1);
		pointer-events:none;
		top: -20px;
		right: -25px;
	}
	.menu-open .menu-overlay{
		clip-path:circle(150% at calc(100% - 66px) 62px);
		pointer-events:auto;
	}

	/* diagonal accent stripe — signature element */
	.menu-overlay::before{
		content:"";
		position:absolute;
		top:-20%;
		right:-10%;
		width:60%;
		height:140%;
		background:linear-gradient(115deg, transparent 48%, rgba(201,154,60,0.08) 48%, rgba(201,154,60,0.08) 50%, transparent 50%),
		linear-gradient(115deg, transparent 60%, rgba(76,107,100,0.10) 60%, rgba(76,107,100,0.10) 62%, transparent 62%);
		pointer-events:none;
	}

	.menu-inner{
		width:100%;
		display:flex;
		flex-direction:column;
		justify-content:center;
		padding:0 12vw;
		position:relative;
	}

	.menu-index-label{
		font-family:'JetBrains Mono',monospace;
		font-size:12px;
		letter-spacing:0.2em;
		text-transform:uppercase;
		color:var(--indigo);
		margin-bottom:36px;
		opacity:0;
		transform:translateY(12px);
		transition:opacity .5s ease, transform .5s ease;
	}
	.menu-open .menu-index-label{
		opacity:1;
		transform:translateY(0);
		transition-delay:.35s;
	}

	ul.menu-list{
		display:flex;
		flex-direction:column;
	}

	ul.menu-list a{
		position:relative;
		display:flex;
		align-items:baseline;
		gap:22px;
		text-decoration:none;
		color:black;
		font-family:var(--sans);
		font-weight:700;
		font-size:clamp(34px,6.2vw,84px);
		line-height:1.15;
		padding:6px 0;
		opacity:0;
		transform:translateY(28px);
		transition:opacity .55s ease, transform .55s ease, color .3s ease;
		width:fit-content;
	}

	.menu-open ul.menu-list a{
		opacity:1;
		transform:translateY(0);
	}
	.menu-open ul.menu-list a:nth-child(1){ transition-delay:.42s; }
	.menu-open ul.menu-list a:nth-child(2){ transition-delay:.50s; }
	.menu-open ul.menu-list a:nth-child(3){ transition-delay:.58s; }
	.menu-open ul.menu-list a:nth-child(4){ transition-delay:.66s; }
	.menu-open ul.menu-list a:nth-child(5){ transition-delay:.74s; }

	ul.menu-list a .num{
		font-family:'JetBrains Mono',monospace;
		font-size:14px;
		font-weight:400;
		color:var(--amber);
		letter-spacing:0.05em;
	}

	.menu-footer {
		display: flex;
		flex-direction: column;
		gap: 15px;
		padding-top: 25px;
	}

	.menu-list .current_page_item > a {
		color: var(--indigo);
	}
}

/* ---------- breadcrumb ---------- */
.breadcrumb{
	font-family:var(--mono);
	font-size:12.5px;
	color:var(--muted-dim);
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap: wrap;
	margin-bottom:22px;
}
.breadcrumb a{color:var(--muted);transition:color .2s;}
.breadcrumb a:hover{color:var(--indigo);}
.breadcrumb .sep{color:var(--muted-dim);}
.breadcrumb .current{color:var(--text);}

/* ---------- services archive hero ---------- */
.services-hero{
	padding:168px 0 64px;
	position:relative;
	z-index:1;
}
.services-hero h1{
	font-family:var(--display);
	font-weight:700;
	font-size:clamp(34px, 4.6vw, 58px);
	text-transform:uppercase;
	line-height:1.06;
	max-width:820px;
	letter-spacing:-0.01em;
}
.services-hero .hero-sub{
	margin-top:24px;
	max-width:540px;
}

/* ---------- filter bar ---------- */
.filter-bar{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	padding-bottom:56px;
	border-bottom:1px solid var(--line-soft);
}
.filter-pill{
	font-family:var(--mono);
	font-size:13px;
	padding:9px 16px;
	border-radius:20px;
	border:1px solid var(--line);
	background:var(--surface);
	color:var(--muted);
	cursor:pointer;
	transition:all .2s;
}
.filter-pill:hover{border-color:var(--indigo);color:var(--text);}
.filter-pill.active{
	background:var(--indigo);
	border-color:var(--indigo);
	color:#fff;
}




.filter-bar-links {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	padding-bottom:56px;
	border-bottom:1px solid var(--line-soft);
}
.filter-pill-links {
	font-family:var(--mono);
	font-size:13px;
	padding:9px 16px;
	border-radius:20px;
	border:1px solid var(--line);
	background:var(--surface);
	color:var(--muted);
	cursor:pointer;
	transition:all .2s;
}
.filter-pill-links:hover{border-color:var(--indigo);color:var(--text);}
.filter-pill-links.active{
	background:var(--indigo);
	border-color:var(--indigo);
	color:#fff;
}








/* ---------- service archive grid ---------- */
.service-archive-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:20px;
	padding-top:56px;
}
.service-card-full{
	position:relative;
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:34px;
	overflow:hidden;
	transition:border-color .25s, transform .25s;
	display:flex;
	flex-direction:column;
}
.service-card-full:hover{border-color:var(--indigo);transform:translateY(-3px);}
.service-card-full .ghost-num{
	position:absolute;
	top:-6px;
	right:18px;
	font-family:var(--display);
	font-weight:700;
	font-size:76px;
	color:var(--surface-2);
	line-height:1;
	z-index:0;
	user-select:none;
}
.service-card-full .sc-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	position:relative;
	z-index:1;
}
.service-card-full .sc-title{
	font-family:var(--display);
	font-weight:600;
	font-size:22px;
	text-transform:uppercase;
	margin-top:20px;
	position:relative;
	z-index:1;
}
.service-card-full .sc-desc{
	color:var(--muted);
	font-size:14.5px;
	line-height:1.65;
	margin-top:12px;
	position:relative;
	z-index:1;
}
.feature-list{
	margin-top:22px;
	padding-top:22px;
	border-top:1px solid var(--line-soft);
	position:relative;
	z-index:1;
	margin-bottom: 26px;
}
.feature-list li{
	display:flex;
	align-items:baseline;
	gap:10px;
	font-size:13.5px;
	color:var(--text);
	padding:6px 0;

}
.feature-list li::before{
	content:'>';
	font-family:var(--mono);
	color:var(--indigo);
	font-size:12px;
}
.sc-foot{
	margin-top:auto;
	padding-top:20px;
	border-top:1px solid var(--line-soft);
	display:flex;
	justify-content:space-between;
	align-items:center;
	position:relative;
	z-index:1;
}
.sc-note{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted-dim);
}
.sc-link{
	font-family:var(--mono);
	font-size:13px;
	color:var(--indigo);
	display:flex;
	align-items:center;
	gap:6px;
	transition:gap .2s;
}
.service-card-full:hover .sc-link{gap:10px;}

/* ---------- responsive ---------- */
@media (max-width:960px){

	.footer-top{grid-template-columns:1fr 1fr;}
	.stats{grid-template-columns:repeat(2,1fr);}
	.stat:nth-child(3){border-left:none;}
	.testimonial-grid{grid-template-columns:1fr 1fr;}
	.partner-inner{grid-template-columns:1fr;}
	.blog-grid{grid-template-columns:1fr 1fr;}
	.service-archive-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
	.wrap{padding:0 20px;}
	nav{padding:16px 20px;}
	.service-row{grid-template-columns:1fr;gap:10px;}
	.service-arrow{display:none;}
	.process{grid-template-columns:1fr;}
	.footer-top{grid-template-columns:1fr;}
	.footer-bottom{flex-direction:column;gap:10px;align-items:flex-start;}
	.testimonial-grid{grid-template-columns:1fr;}
	.blog-grid{grid-template-columns:1fr;}
	.faq-item summary{font-size:14.5px;}
	.service-card-full{padding:26px;}
	.service-card-full .ghost-num{font-size:52px;}
	.sc-foot {
		flex-direction: column;
	}
	.sc-foot {
		position: static;
	}
	.sc-link {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
	}

	.services-hero h1 {
		font-size: clamp(26px, 4.6vw, 58px);
	}
}

/* ---------- prose block ---------- */
.prose-block{

}
.prose-block p{
	font-size:16.5px;
	line-height:1.8;
	color:var(--muted);
	margin-bottom:22px;
}
.prose-block p:last-child{margin-bottom:0;}
.prose-block p:first-of-type::first-letter{
	font-family:var(--display);
	font-weight:700;
	font-size:52px;
	line-height:0.8;
	float:left;
	padding:6px 10px 0 0;
	color:var(--indigo);
}


@media (max-width:640px){
	.service-image .hero-visual {
		aspect-ratio: auto !important;
	}
}

/* ---------- checklist ---------- */
.checklist-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px 40px;
}
.checklist-item{
	display:flex;
	align-items:flex-start;
	gap:14px;
	padding:18px 0;
	border-top:1px solid var(--line-soft);
}
.checklist-item .ck-icon{
	width:22px;height:22px;
	border-radius:6px;
	background:var(--indigo-soft);
	color:var(--indigo);
	font-family:var(--mono);
	font-size:13px;
	font-weight:600;
	display:flex;align-items:center;justify-content:center;
	flex-shrink:0;
	margin-top:1px;
}
.checklist-item .ck-text{font-size:15px;line-height:1.5;}
.checklist-item .ck-text b{display:block;font-weight:600;margin-bottom:2px;}
.checklist-item .ck-text span{color:var(--muted);font-size:13.5px;}

/* ---------- packages ---------- */
.package-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}

#packages {
	padding-bottom: 36px;
}


.package-card{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:32px 28px;
	display:flex;
	flex-direction:column;
	transition:border-color .25s, transform .25s;
}
.package-card.featured{
	border-color:var(--indigo);
	box-shadow:0 16px 40px -20px rgba(77,107,255,0.35);
}
.package-card:hover{transform:translateY(-3px);}
.package-badge{
	font-family:var(--mono);
	font-size:11px;
	color:var(--indigo);
	letter-spacing:0.06em;
	margin-bottom:14px;
}
.package-name{
	font-family:var(--display);
	font-weight:600;
	font-size:20px;
	text-transform:uppercase;
}
.package-desc{
	color:var(--muted);
	font-size:14px;
	line-height:1.6;
	margin-top:10px;
	min-height:64px;
}
.package-features{
	margin-top:22px;
	padding-top:22px;
	border-top:1px solid var(--line-soft);
	flex-grow:1;
}
.package-features li{
	display:flex;
	align-items:baseline;
	gap:10px;
	font-size:13.5px;
	padding:6px 0;
}
.package-features li::before{
	content:'>';
	font-family:var(--mono);
	color:var(--indigo);
	font-size:12px;
}
.package-card .btn-ghost, .package-card .btn-primary{
	margin-top:24px;
	text-align:center;
	justify-content:center;
	width:100%;
}

/* ---------- related services ---------- */
.related-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
.related-card{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:10px;
	padding:24px;
	transition:border-color .2s, transform .2s;
}
.related-card:hover{border-color:var(--indigo);transform:translateY(-3px);}
.related-card .service-name{font-size:17px;margin-top:14px;}
.related-card .service-desc{font-size:13.5px;margin-top:8px;display:block;}
.related-card .sc-link{margin-top:16px;display:inline-flex;}

.checklist-section {
	padding-top: 36px;
}

.process-service {
	background-color: white;
}

.related-section {
	padding-bottom: 0;
}

/* ---------- responsive ---------- */
@media (max-width:960px){

	.service-archive-grid{grid-template-columns:1fr;}
	.checklist-grid{grid-template-columns:1fr;}
	.package-grid{grid-template-columns:1fr;}
	.related-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){

}

/* ---------- featured post ---------- */
.featured-post{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:40px;
	align-items:center;
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:14px;
	padding:40px;
}
.featured-visual{
	position:relative;
	border-radius:10px;
	overflow:hidden;
	aspect-ratio:4/3;
	background:var(--surface-2);
}
.featured-visual .placeholder-fill{
	position:absolute;inset:0;
	background:
			radial-gradient(circle at 75% 20%, rgba(77,107,255,0.18), transparent 55%),
			radial-gradient(circle at 15% 85%, rgba(255,183,74,0.14), transparent 50%),
			linear-gradient(160deg, #F1F2F7, #FFFFFF);
}
.featured-visual .placeholder-fill::after{
	content:'FEATURED IMAGE';
	position:absolute;inset:0;
	display:flex;align-items:center;justify-content:center;
	font-family:var(--mono);
	font-size:11.5px;
	letter-spacing:0.05em;
	color:var(--muted-dim);
}
.featured-meta{
	display:flex;
	align-items:center;
	gap:14px;
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted-dim);
	margin-bottom:18px;
}
.featured-tag{
	color:var(--indigo);
	border:1px solid var(--indigo-soft);
	background:var(--indigo-soft);
	padding:4px 10px;
	border-radius:5px;
}
.featured-title{
	font-family:var(--display);
	font-weight:700;
	font-size:clamp(24px, 2.6vw, 32px);
	text-transform:uppercase;
	line-height:1.15;
}
.featured-excerpt{
	color:var(--muted);
	font-size:15px;
	line-height:1.7;
	margin-top:16px;
	max-width:440px;
}
.featured-post .sc-link{margin-top:24px;font-size:14px;}

/* ---------- blog archive cards ---------- */
.blog-archive-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
.blog-card-full{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	transition:border-color .25s, transform .25s;
}
.blog-card-full:hover{border-color:var(--indigo);transform:translateY(-3px);}
.blog-card-full .bc-visual{
	position:relative;
	aspect-ratio:16/10;
	background:var(--surface-2);
}
.blog-card-full .bc-visual .placeholder-fill{
	position:absolute;inset:0;
	background:
			radial-gradient(circle at 80% 15%, var(--bc1,rgba(77,107,255,0.16)), transparent 55%),
			radial-gradient(circle at 10% 90%, var(--bc2,rgba(255,183,74,0.10)), transparent 50%),
			linear-gradient(160deg, #F1F2F7, #FFFFFF);
}
.blog-card-full .bc-body{
	padding:24px;
	display:flex;
	flex-direction:column;
	flex-grow:1;
}
.blog-card-full .blog-meta{margin-bottom:14px;}
.blog-card-full .blog-title{font-size:17px;margin-bottom:10px;}
.blog-card-full .bc-excerpt{
	color:var(--muted);
	font-size:13.5px;
	line-height:1.6;
	flex-grow:1;
}
.blog-card-full .blog-read{margin-top:18px;}

/* ---------- newsletter ---------- */
.newsletter{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:14px;
	padding:48px;
	display:flex;
	align-items:center;

	gap:32px;
	flex-wrap:wrap;
}

.newsletter > div {
	flex: 1 1 35%;
}
.newsletter h3{
	font-family:var(--display);
	font-weight:600;
	font-size:22px;
	text-transform:uppercase;
	max-width:380px;
	line-height:1.25;
}
.newsletter p{
	color:var(--muted);
	font-size:14px;
	margin-top:10px;
	max-width:380px;
}
.newsletter-form{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}
.newsletter-form input{
	font-family:var(--sans);
	font-size:14px;
	padding:13px 16px;
	border-radius:7px;
	border:1px solid var(--line);
	background:var(--bg);
	color:var(--text);
	min-width:240px;
}
.newsletter-form input:focus{outline:2px solid var(--indigo);outline-offset:2px;}
.newsletter-form input::placeholder{color:var(--muted-dim);}


/* ---------- responsive ---------- */
@media (max-width:960px){

	.blog-grid{grid-template-columns:1fr 1fr;}
	.service-archive-grid{grid-template-columns:1fr;}
	.blog-archive-grid{grid-template-columns:1fr 1fr;}
	.featured-post{grid-template-columns:1fr;}
	.newsletter{padding:32px;}
}
@media (max-width:640px){

	.blog-grid{grid-template-columns:1fr;}

	.blog-archive-grid{grid-template-columns:1fr;}
	.newsletter-form{width:100%;}
	.newsletter-form input{min-width:0;flex-grow:1;}

	.featured-title {
		font-size: clamp(20px, 2.6vw, 32px);
	}
	.featured-meta {
		flex-wrap: wrap;
	}

	.featured-post {
		padding: 15px;
	}
}

.bc-visual-image img {
	width: 100%;
	object-fit: cover;
	height: 100%;
}

.blog-card-full .bc-visual-image {
	aspect-ratio: auto;
	height: 250px;
}

.newsletter label {
	display: none !important;
}

.newsletter form {
	display: flex;
	gap: 10px;
	justify-content: space-between;

}

.newsletter form input {

}

.newsletter form .gform-body {
	width: 100% ;
}

.newsletter form input {
	font-family:var(--sans) !important;
	font-size:14px !important;
	padding:13px 16px !important;
	border-radius:7px !important;
	border:1px solid var(--line) !important;
	background:var(--bg) !important;
	color:var(--text) !important;
	height: 50px !important;

}
.newsletter form input:focus{outline:2px solid var(--indigo);outline-offset:2px;}
.newsletter form input::placeholder{color:var(--muted-dim);}

.newsletter .gform-footer {
	margin-top: 0 !important;
	width: 100% !important;
	max-width: 240px;
}

.newsletter .gform-footer .gform_button {
	font-family: var(--sans) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	height: 50px !important;
	padding: 5px !important;
	background: var(--indigo) !important;
	color: #fff !important;
	border-radius: 7px !important;
	display: inline-flex !important;
	align-items: center;
	gap: 8px !important;
	transition: transform .2s, box-shadow .2s;
	width: 100% !important;
	max-width: 240px;
}

@media (max-width:640px){
	.newsletter form {
		flex-direction: column;
	}
}

/* ---------- article hero ---------- */
.post-hero{
	padding:168px 0 0;
	position:relative;
	z-index:1;
}
.post-meta-row{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:14px;
	font-family:var(--mono);
	font-size:12px;
	color:var(--muted-dim);
	margin-bottom:24px;
}
.post-meta-row .featured-tag{font-size:11px;}
.post-hero h1{
	font-family:var(--display);
	font-weight:700;
	font-size:clamp(30px, 4.4vw, 52px);
	line-height:1.08;
	text-transform:uppercase;
	letter-spacing:-0.01em;
	max-width:900px;
}
.post-dek{
	margin-top:22px;
	max-width:640px;
	font-size:17px;
	color:var(--muted);
	line-height:1.65;
}
.post-byline{
	display:flex;
	align-items:center;
	gap:14px;
	margin-top:36px;
	padding-top:28px;
	border-top:1px solid var(--line-soft);
}
.post-byline .t-avatar{width:42px;height:42px;font-size:14px;}
.post-byline .name{font-size:14.5px;font-weight:600;}
.post-byline .role{font-size:12px;color:var(--muted-dim);font-family:var(--mono);}

.post-cover{
	position:relative;
	margin-top:48px;
	border-radius:14px;
	overflow:hidden;
	border:1px solid var(--line);
	/*aspect-ratio:21/9;*/
}
.post-cover .placeholder-fill{
	position:absolute;inset:0;
	background:
			radial-gradient(circle at 78% 18%, rgba(77,107,255,0.18), transparent 55%),
			radial-gradient(circle at 12% 88%, rgba(255,183,74,0.14), transparent 50%),
			linear-gradient(160deg, #F1F2F7, #FFFFFF);
}
.post-cover .placeholder-fill::after{
	content:'ARTICLE COVER IMAGE';
	position:absolute;inset:0;
	display:flex;align-items:center;justify-content:center;
	font-family:var(--mono);font-size:12px;letter-spacing:0.05em;color:var(--muted-dim);
}

.post-cover img {
	height: auto;
	object-fit: cover;
}


	/* ---------- article layout ---------- */
.post-layout{
	display:grid;
	grid-template-columns:1fr 260px;
	gap:64px;
	align-items:start;
}
.post-body{
	max-width:720px;
	font-size:16.5px;
	line-height:1.8;
	color:var(--text);
}
.post-body p{margin-bottom:26px;color:var(--text);}
.post-body p.lede{
	font-size:19px;
	color:var(--muted);
	line-height:1.7;
}

.post-body .post-body-content a {
	color: var(--indigo);
}

.post-body .post-body-content a:hover {
	color: var(--amber-ink);
}
.post-body h2{
	font-size:clamp(22px, 2.4vw, 28px);
	margin:56px 0 20px;
	scroll-margin-top:120px;
}
.post-body h3{
	font-family:var(--display);
	font-weight:600;
	font-size:17.5px;
	text-transform:uppercase;
	margin:36px 0 14px;
	scroll-margin-top:120px;
}
.post-body ul, .post-body ol{
	margin:0 0 26px;
	padding-left:0;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.post-body li{
	list-style:none;
	display:flex;
	gap:12px;
	align-items:baseline;
	color:var(--text);
	font-size:16px;
	line-height:1.65;
}

article.post-body ul li{
	display: block;
}

.post-body .is-type-video iframe {
	border-radius: 10px;
	width: 100%;
}

.post-body ul li::before{
	content:'>';
	font-family:var(--mono);
	color:var(--indigo);
	font-size:13px;
	flex-shrink:0;
}

article.post-body li:before {
	margin-right: 5px;
}

:root{
	--uw-ink: #0B0D10;
	--uw-ink-dim: #5B6470;
	--uw-accent: #2563EB;
	--uw-accent-dim: #E8EEFD;
	--uw-line: #E6E8EC;
	--uw-row-alt: #F7F8FA;
}

article .wp-block-table{
	border: 1px solid var(--uw-line);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(11,13,16,0.04);
	margin: 32px 0;
}

article .wp-block-table table{
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	font-family: 'Inter', sans-serif;
}

article .wp-block-table thead th{
	background: var(--uw-ink);
	color: #fff;
	text-align: left;
	padding: 16px 20px;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

article .wp-block-table tbody td{
	padding: 18px 20px;
	border-bottom: 1px solid var(--uw-line);
	vertical-align: top;
	color: var(--uw-ink);
	line-height: 1.5;
}

article .wp-block-table tbody tr:last-child td{
	border-bottom: none;
}

article .wp-block-table tbody tr:nth-child(even){
	background: var(--uw-row-alt);
}

article .wp-block-table tbody tr:hover{
	background: var(--uw-accent-dim);
}

article .wp-block-table td:first-child{
	font-weight: 600;
}

article .wp-block-table td:nth-child(2){
	font-family: 'JetBrains Mono', monospace;
	font-weight: 600;
	color: var(--uw-accent);
}

article .wp-block-table td:nth-child(3){
	color: var(--uw-ink-dim);
}

/* Мобильная версия — таблица превращается в карточки */
@media (max-width: 640px){
	article .wp-block-table thead{ display:none; }
	article .wp-block-table table,
	article .wp-block-table tbody,
	article .wp-block-table tr,
	article .wp-block-table td{
		display: block;
		width: 100%;
	}
	article .wp-block-table tbody tr{
		padding: 16px 20px;
		border-bottom: 1px solid var(--uw-line);
	}
	article .wp-block-table tbody tr:nth-child(even){ background: var(--uw-row-alt); }
	article .wp-block-table td{
		border-bottom: none !important;
		padding: 4px 0;
	}
}
























.post-body ol{counter-reset:ol;}
.post-body ol li::before{
	counter-increment:ol;
	content:counter(ol);
	font-family:var(--mono);
	color:var(--indigo);
	font-size:12px;
	flex-shrink:0;
	width:22px;height:22px;
	border:1px solid var(--indigo-soft);
	background:var(--indigo-soft);
	border-radius:5px;
	display:flex;align-items:center;justify-content:center;
	margin-top:2px;
}
.post-body strong{font-weight:600;color:var(--text);}
.post-body a.inline-link{color:var(--indigo);border-bottom:1px solid var(--indigo-soft);}

.pull-quote{
	margin:44px 0;
	padding:30px 34px;
	border-left:3px solid var(--indigo);
	background:var(--surface);
	border-radius:0 10px 10px 0;
}
.pull-quote p{
	font-family:var(--display);
	font-weight:600;
	font-size:20px;
	line-height:1.4;
	text-transform:none;
	color:var(--text);
	margin:0;
}
.pull-quote cite{
	display:block;
	margin-top:14px;
	font-family:var(--mono);
	font-size:12px;
	font-style:normal;
	color:var(--muted-dim);
}

.callout{
	margin:32px 0;
	padding:22px 26px;
	background:var(--indigo-soft);
	border:1px solid rgba(77,107,255,0.25);
	border-radius:10px;
}
.callout .callout-label{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--indigo);
	letter-spacing:0.05em;
	margin-bottom:8px;
	display:block;
}
.callout p{margin:0;color:var(--text);font-size:15px;line-height:1.65;}

.price-table{
	width:100%;
	border-collapse:collapse;
	margin:8px 0 30px;
	font-size:14.5px;
}
.price-table th{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted-dim);
	letter-spacing:0.04em;
	text-align:left;
	padding:0 16px 12px 0;
	border-bottom:1px solid var(--line);
}
.price-table td{
	padding:16px 16px 16px 0;
	border-bottom:1px solid var(--line-soft);
	color:var(--text);
	vertical-align:top;
}
.price-table td.range{
	font-family:var(--mono);
	color:var(--indigo);
	white-space:nowrap;
}

/* ---------- sidebar / TOC ---------- */
.post-sidebar{
	position:sticky;
	top:104px;
	display:flex;
	flex-direction:column;
	gap:28px;
}

.post-sidebar .toc a:before {
	display: none;
}
.toc{
	border:1px solid var(--line);
	border-radius:10px;
	padding:22px;
	background:var(--surface);
}
.toc-label{
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted-dim);
	letter-spacing:0.06em;
	margin-bottom:14px;
	display:block;
}
.toc a{
	display:block;
	font-size:13.5px;
	color:var(--muted);
	padding:7px 0;
	border-left:2px solid transparent;
	padding-left:12px;
	margin-left:-13px;
	transition:color .2s, border-color .2s;
}
.toc a:hover{color:var(--text);}
.toc a.active{color:var(--indigo);border-left-color:var(--indigo);font-weight:600;}

.share-box{
	border:1px solid var(--line);
	border-radius:10px;
	padding:22px;
	background:var(--surface);
}
.share-row{
	display:flex;
	gap:8px;
	margin-top:14px;
}
.share-btn{
	flex:1;
	text-align:center;
	font-family:var(--mono);
	font-size:12px;
	padding:10px 0;
	border:1px solid var(--line);
	border-radius:6px;
	color:var(--muted);
	transition:border-color .2s, color .2s;
}
.share-btn:hover{border-color:var(--indigo);color:var(--indigo);}

.cta-sidebar{
	border:1px solid var(--line);
	border-radius:10px;
	padding:22px;
	background:linear-gradient(160deg, var(--indigo-soft), var(--surface));
}
.cta-sidebar p{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:14px;}
.cta-sidebar .btn-primary{width:100%;justify-content:center;padding:12px 18px;font-size:13.5px;}

/* ---------- tags + author card ---------- */
.post-tags{
	display:flex;flex-wrap:wrap;gap:8px;
	margin-top:48px;padding-top:28px;
	border-top:1px solid var(--line-soft);
}
.post-tag{
	font-family:var(--mono);font-size:12px;color:var(--muted);
	border:1px solid var(--line);border-radius:20px;padding:7px 14px;
}

.author-card{
	display:flex;
	gap:20px;
	align-items:flex-start;
	margin-top:40px;
	padding:28px;
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
}
.author-card .t-avatar{width:52px;height:52px;font-size:16px;flex-shrink:0;}
.author-card .name{font-family:var(--display);font-weight:600;font-size:15.5px;text-transform:uppercase;}
.author-card .role{font-size:12px;color:var(--muted-dim);font-family:var(--mono);margin-top:2px;}
.author-card p{font-size:14px;color:var(--muted);line-height:1.6;margin-top:10px;}

/* ---------- prev/next ---------- */
.post-nav{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
	margin-top:20px;
}
.post-nav a{
	border:1px solid var(--line);
	border-radius:10px;
	padding:22px;
	background:var(--surface);
	transition:border-color .2s, transform .2s;
}
.post-nav a:hover{border-color:var(--indigo);transform:translateY(-2px);}
.post-nav .pn-dir{
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted-dim);
	letter-spacing:0.05em;
}
.post-nav .pn-title{
	font-family:var(--display);
	font-weight:600;
	font-size:14.5px;
	text-transform:uppercase;
	line-height:1.3;
	margin-top:8px;
}
.post-nav .pn-next{text-align:right;}

.toc-sm {
	display: none !important;
}

@media (max-width:960px){
	.post-layout{grid-template-columns:1fr;}
	.post-sidebar{position:static;flex-direction:row;flex-wrap:wrap;}
	.toc,.share-box,.cta-sidebar{flex:1;min-width:220px;}
	.post-cover{aspect-ratio:16/10;}
}
@media (max-width:640px){
	.post-hero{padding-top:140px;}
	.post-sidebar{flex-direction:column;}
	.author-card{flex-direction:column;}
	.post-nav{grid-template-columns:1fr;}
	.post-nav .pn-next{text-align:left;}
	.price-table{display:block;overflow-x:auto;font-size: 10px}
	.post-sidebar .toc {
		display: none !important;
	}
	.post-layout {
		gap: 15px;
	}

	.post-meta-row span:nth-last-child(-n + 2) {
		display: none;
	}
	.post-meta-row {
		font-size: 10px;
		gap: 10px;
	}

	.post-hero h1 {
		font-size: clamp(26px, 4.4vw, 52px);
	}

	.toc-sm {
		display: block !important;
	}

	.post-layout .post-body.reveal {
		opacity: 1 !important;
		transform: translateY(0) !important;
	}
}

@media (max-width:480px){
	html[lang="pl-PL"] .post-hero h1 {
		word-break: break-all;
	}

	html[lang="pl-PL"] .featured-title {
		word-break: break-all;
	}
}

/* ---------- about hero ---------- */
.about-hero{
	padding:168px 0 80px;
	position:relative;
	z-index:1;
}
.about-hero h1{
	font-size:clamp(34px, 4.6vw, 58px);
	line-height:1.06;
	max-width:820px;
}

/* ---------- story ---------- */
.story{
	display:grid;
	grid-template-columns:1fr 0.9fr;
	gap:64px;
	align-items:start;
}
.story-text p{
	font-size:15.5px;
	color:var(--muted);
	line-height:1.75;
	margin-top:18px;
	max-width:520px;
}


.story-text h2 {
	margin-bottom: 1rem;
}
.story-text p:first-child{margin-top:0;}
.story-text strong{color:var(--text);font-weight:600;}
.story-panel{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:8px;
}
.timeline-row{
	display:flex;
	gap:20px;
	padding:22px 18px;
	border-bottom:1px solid var(--line-soft);
}
.timeline-row:last-child{border-bottom:none;}
.timeline-year{
	font-family:var(--mono);
	font-size:13px;
	color:var(--indigo);
	flex-shrink:0;
	width:48px;
}
.timeline-body-title{
	font-family:var(--display);
	font-weight:600;
	font-size:14.5px;
	text-transform:uppercase;
}
.timeline-body-desc{
	color:var(--muted);
	font-size:13.5px;
	line-height:1.55;
	margin-top:6px;
}

/* ---------- values ---------- */
.values-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}
.value-card{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:30px;
	transition:border-color .25s, transform .25s;
}
.value-card:hover{border-color:var(--indigo);transform:translateY(-3px);}
.value-num{
	font-family:var(--mono);
	font-size:12px;
	color:var(--muted-dim);
}
.value-title{
	font-family:var(--display);
	font-weight:600;
	font-size:18px;
	text-transform:uppercase;
	margin-top:18px;
}
.value-desc{
	color:var(--muted);
	font-size:14px;
	line-height:1.65;
	margin-top:10px;
}

/* ---------- team ---------- */
.team-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}
.team-card{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	overflow:hidden;
	transition:border-color .25s, transform .25s;
}
.team-card:hover{border-color:var(--indigo);transform:translateY(-3px);}
.team-photo{
	aspect-ratio:1/1;
	position:relative;
	background:
			radial-gradient(circle at 75% 20%, rgba(77,107,255,0.16), transparent 55%),
			radial-gradient(circle at 15% 85%, rgba(255,183,74,0.14), transparent 50%),
			linear-gradient(160deg, #F1F2F7, #FFFFFF);
	border-bottom:1px solid var(--line-soft);
}

.team-photo img {
	width: 100%;
	height: auto;
	object-fit: cover;
	z-index: 5;
	position: relative;
}
.team-photo::after{
	content:'PHOTO';
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	font-family:var(--mono);
	font-size:11px;
	letter-spacing:0.08em;
	color:var(--muted-dim);
}
.team-info{padding:18px;}
.team-name{
	font-family:var(--display);
	font-weight:600;
	font-size:15px;
	text-transform:uppercase;
}
.team-role{
	font-family:var(--mono);
	font-size:12px;
	color:var(--indigo);
	margin-top:6px;
}
.team-desc{
	color:var(--muted);
	font-size:13px;
	line-height:1.55;
	margin-top:10px;
}

/* ---------- responsive ---------- */
@media (max-width:960px){

	.values-grid{grid-template-columns:1fr 1fr;}
	.team-grid{grid-template-columns:1fr 1fr;}
	.about-hero h1 {
		font-size: clamp(26px, 4.6vw, 58px);
	}
}
@media (max-width:640px){

	.values-grid{grid-template-columns:1fr;}
	.team-grid{grid-template-columns:1fr ;}
	.story {
		grid-template-columns: 1fr;
	}
}

/* ---------- 404 hero ---------- */
.notfound{
	padding:168px 0 100px;
	width:100%;
	text-align:center;
}
.eyebrow{
	font-family:var(--mono);
	font-size:12.5px;
	color:var(--amber-ink);
	letter-spacing:0.06em;
	display:inline-flex;
	align-items:center;
	gap:10px;
	margin-bottom:8px;
}
.eyebrow::before{content:'//';color:var(--muted-dim);}

.code-404{
	font-family:var(--display);
	font-weight:900;
	font-size:clamp(96px, 22vw, 220px);
	line-height:0.9;
	letter-spacing:-0.02em;
	color:var(--text);
	position:relative;
	display:inline-block;
	margin-top:8px;
}
.code-404 span{color:var(--indigo);}
.code-404::after{
	content:'ERR_PAGE_NOT_FOUND';
	position:absolute;
	left:50%;
	bottom:-6px;
	transform:translateX(-50%);
	font-family:var(--mono);
	font-size:12px;
	letter-spacing:0.08em;
	color:var(--muted-dim);
	white-space:nowrap;
}

.notfound-sub{
	margin:20px auto 0;
	max-width:480px;
	font-size:16px;
	color:var(--muted);
	line-height:1.65;
}

.notfound-cta{
	display:flex;
	justify-content:center;
	gap:16px;
	margin-top:40px;
	flex-wrap:wrap;
}

/* status badge, echoing the hero-badge / marquee mono style used sitewide */
.status-badge{
	display:inline-flex;
	align-items:center;
	gap:9px;
	margin-top:48px;
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:8px;
	padding:10px 16px;
	font-family:var(--mono);
	font-size:12.5px;
}
.status-badge .pulse{
	width:6px;height:6px;border-radius:50%;
	background:var(--amber);
	box-shadow:0 0 0 0 rgba(255,183,74,0.6);
	animation:pulse 2s infinite;
	flex-shrink:0;
}

.status-badge .k{color:var(--muted);}
.status-badge .v{color:var(--amber-ink);font-weight:600;margin-left:2px;}

/* quick links */
.quick-links{
	margin-top:56px;
	padding-top:40px;
	border-top:1px solid var(--line-soft);
	display:flex;
	justify-content:center;
	gap:14px;
	flex-wrap:wrap;
}
.quick-links a{
	font-family:var(--mono);
	font-size:13px;
	color:var(--muted);
	border:1px solid var(--line);
	border-radius:20px;
	padding:9px 16px;
	transition:all .2s;
}
.quick-links a:hover{border-color:var(--indigo);color:var(--text);background:rgba(77,107,255,0.06);}

.notfound-title {
	font-family: var(--display);
	font-weight: 700;
	font-size: clamp(24px, 3vw, 34px);
	text-transform: uppercase;
	margin-top: 44px;
	letter-spacing: -0.01em;
}

@media (max-width:640px){

	.notfound{padding:150px 0 72px;}
	.code-404::after{position:static;display:block;margin-top:14px;transform:none;}
	.quick-links{gap:20px;}

	.notfound-cta a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
	}
	.notfound-title {
		font-size: clamp(17px, 3vw, 34px);
	}
}


/* ---------- contact hero ---------- */
.contact-hero{
	padding:168px 0 72px;
	position:relative;
	z-index:1;
}
.contact-hero h1{
	font-size:clamp(34px, 4.6vw, 58px);
	line-height:1.06;
	max-width:760px;
}

/* ---------- contact grid ---------- */
.contact-grid{
	display:grid;
	grid-template-columns:1.35fr 0.85fr;
	gap:28px;
	align-items:start;
}

/* form panel */
.form-panel{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:14px;
	padding:40px;
	position:relative;
}

.form-panel .gform_fields {
	gap: 20px  !important;
}

.form-panel .gform_fields input {
	font-family: var(--sans) !important;
	font-size: 14.5px !important;
	padding: 13px 14px !important;
	border: 1px solid var(--line) !important;
	border-radius: 7px !important;
	background: var(--bg) !important;
	color: var(--text) !important;
	width: 100% !important;
	transition: border-color .2s, background .2s !important;
}

.form-panel .gform_fields select {
	font-family: var(--sans) !important;
	font-size: 14.5px !important;

	border: 1px solid var(--line) !important;
	border-radius: 7px !important;
	background: var(--bg) !important;
	color: var(--text) !important;
	width: 100% !important;
	transition: border-color .2s, background .2s !important;
}

.form-panel .gform_fields textarea {
	resize: vertical;
	min-height: 130px !important;
	min-block-size: 130px !important;
	font-family: var(--sans) !important;
	font-size: 14.5px !important;
	padding: 13px 14px !important;
	border: 1px solid var(--line) !important;
	border-radius: 7px !important;
	background: var(--bg) !important;
	color: var(--text) !important;
	width: 100% !important;
	transition: border-color .2s, background .2s !important;
}

.form-panel .gform-footer .gform_button {
	font-family: var(--sans) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	padding: 15px 26px !important;
	background: var(--indigo) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 7px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px !important;
	cursor: pointer;
	width: 100% !important;
	transition: transform .2s, box-shadow .2s, opacity .2s;
}

.form-panel .gform-footer .gform_button:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px -8px rgba(77, 107, 255, 0.55);
}



.form-panel-head{margin-bottom:32px;}
.form-panel-head .fp-tag{
	font-family:var(--mono);
	font-size:12px;
	color:var(--amber-ink);
	border:1px solid rgba(161,94,0,0.35);
	padding:5px 10px;
	border-radius:5px;
	width:fit-content;
	margin-bottom:8px;
}
.form-panel-head h3{
	font-family:var(--display);
	font-weight:600;
	font-size:20px;
	text-transform:uppercase;
}
.form-panel-head p{
	color:var(--muted);
	font-size:14px;
	margin-top:8px;
	line-height:1.6;
}

.form-row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
}
.form-group{
	margin-bottom:22px;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.form-panel .gform-body label{
	font-family:var(--mono) !important;
	font-size:12px !important;
	color:var(--muted) !important ;
	text-transform:uppercase !important ;
	letter-spacing:0.04em !important;
}

.form-panel .gform-body label .gfield_required .gfield_required {
	display: none !important;
}

.form-panel .gform-body label .gfield_required:after {
	content: '*';
	color: var(--indigo);
	;
	font-size: 12px;
}

.form-foot{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin-top:8px;
	flex-wrap:wrap;
}
.fine-print{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted-dim);
	line-height:1.5;
	display: block;
	margin-top: 1rem;
}
.form-panel .btn-primary{min-width:180px;}

.form-panel .gform_confirmation_message {
	text-align: center;
}

.form-panel .gform_confirmation_message .btn-ghost {
	display: block;
}

/* side info panel */
.info-stack{display:flex;flex-direction:column;gap:20px;}
.info-panel{
	font-family:var(--mono);
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:8px 22px;
}
.info-row{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	padding:16px 0;
	border-bottom:1px solid var(--line-soft);
	font-size:13.5px;
}
.info-row:last-child{border-bottom:none;}
.info-row .k{color:var(--muted);}
.info-row a.v{color:var(--text);transition:color .2s;}
.info-row a.v:hover{color:var(--indigo);}
.info-row .v{color:var(--text);text-align:right;}

.response-panel{
	background:var(--bg);
	border:1px solid var(--line);
	border-radius:12px;
	padding:22px;
	display:flex;
	align-items:center;
	gap:12px;
}
.response-panel .pulse{
	width:8px;height:8px;border-radius:50%;
	background:#7CE0A8;
	box-shadow:0 0 0 0 rgba(124,224,168,0.6);
	animation:pulse 2s infinite;
	flex-shrink:0;
}
@keyframes pulse{
	0%{box-shadow:0 0 0 0 rgba(124,224,168,0.5);}
	70%{box-shadow:0 0 0 7px rgba(124,224,168,0);}
	100%{box-shadow:0 0 0 0 rgba(124,224,168,0);}
}
.response-panel .rp-k{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted-dim);
	letter-spacing:0.05em;
	display:block;
}
.response-panel .rp-v{
	font-family:var(--display);
	font-weight:600;
	font-size:15px;
	text-transform:uppercase;
	margin-top:3px;
	color:var(--green-soft);
}

.steps-panel{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:24px 22px;
}
.steps-panel .sp-title{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted-dim);
	letter-spacing:0.06em;
	text-transform:uppercase;
	margin-bottom:16px;
}
.step-row{
	display:flex;
	gap:14px;
	padding:12px 0;
	border-top:1px solid var(--line-soft);
}
.step-row:first-of-type{border-top:none;padding-top:0;}
.step-num{
	font-family:var(--mono);
	font-size:12px;
	color:var(--indigo);
	flex-shrink:0;
	width:20px;
}
.step-title{
	font-family:var(--display);
	font-weight:600;
	font-size:13px;
	text-transform:uppercase;
}
.step-desc{
	color:var(--muted);
	font-size:12.5px;
	line-height:1.5;
	margin-top:4px;
}

.map-panel{
	position:relative;
	border-radius:12px;
	overflow:hidden;
	border:1px solid var(--line);
	background:var(--surface);
	aspect-ratio:16/10;
}
.map-panel .placeholder-fill{
	position:absolute;
	inset:0;
	background:
			radial-gradient(circle at 75% 20%, rgba(77,107,255,0.16), transparent 55%),
			radial-gradient(circle at 15% 85%, rgba(255,183,74,0.14), transparent 50%),
			linear-gradient(160deg, #F1F2F7, #FFFFFF);
}
.map-panel .placeholder-fill::after{
	content:'EMBED A GOOGLE MAP HERE';
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:24px;
	font-family:var(--mono);
	font-size:11.5px;
	letter-spacing:0.05em;
	color:var(--muted-dim);
}
.map-panel .map-badge{
	position:absolute;
	left:14px;
	bottom:14px;

	background:rgba(247,248,251,0.85);
	backdrop-filter:blur(10px);
	border:1px solid var(--line);
	border-radius:7px;
	padding:8px 12px;
	font-family:var(--mono);
	font-size:12px;
	color:var(--text);

	z-index: 15;
}

.map-panel {
	overflow: hidden;
}

.map-panel iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: relative;
	z-index: 10;
}

/* ---------- responsive ---------- */
@media (max-width:960px){
	.form-row{grid-template-columns:1fr;}

}
@media (max-width:768px){
	.form-panel{padding:26px;}
	.form-foot{flex-direction:column;align-items:flex-start;}

	.contact-hero h1 {
		font-size: clamp(26px, 4.6vw, 58px);
	}
	.contact-grid {
		grid-template-columns: 1fr;
	}

	.info-row .k {
		display: none;
	}
}

/* ---------- pricing hero ---------- */
.pricing-hero{
	padding:168px 0 56px;
	position:relative;
	z-index:1;
}
.pricing-hero h1{
	font-size:clamp(34px, 4.6vw, 58px);
	line-height:1.06;
	max-width:760px;
}

/* ---------- toggle ---------- */
.pricing-toggle{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	padding-bottom:56px;
	border-bottom:1px solid var(--line-soft);
}
.toggle-pill{
	font-family:var(--mono);
	font-size:13px;
	padding:10px 18px;
	border-radius:20px;
	border:1px solid var(--line);
	background:var(--surface);
	color:var(--muted);
	cursor:pointer;
	transition:all .2s;
}
.toggle-pill:hover{border-color:var(--indigo);color:var(--text);}
.toggle-pill.active{
	background:var(--indigo);
	border-color:var(--indigo);
	color:#fff;
}

/* ---------- price grid ---------- */
.price-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
	padding-top:56px;
}
.price-card{
	position:relative;
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:32px;
	display:flex;
	flex-direction:column;
	transition:border-color .25s, transform .25s;
}
.price-card:hover{border-color:var(--indigo);transform:translateY(-3px);}
.price-card.featured{
	border-color:var(--indigo);
	box-shadow:0 0 0 1px var(--indigo);
}
.price-popular{
	position:absolute;
	top:-13px;
	right:28px;
	font-family:var(--mono);
	font-size:11px;
	letter-spacing:0.05em;
	color:#fff;
	background:var(--indigo);
	padding:6px 12px;
	border-radius:20px;
}
.price-name{
	font-family:var(--display);
	font-weight:600;
	font-size:20px;
	text-transform:uppercase;
	margin-top:20px;
}
.price-value{
	font-family:var(--display);
	font-weight:700;
	font-size:40px;
	margin-top:14px;
	display:flex;
	align-items:baseline;
	gap:6px;
	flex-wrap: wrap;
}
.price-value .per{
	font-family:var(--mono);
	font-size:13px;
	color:var(--muted-dim);
	text-transform:none;
	font-weight:400;
}
.price-desc{
	color:var(--muted);
	font-size:14px;
	line-height:1.6;
	margin-top:12px;
}
.price-features{
	margin-top:24px;
	padding-top:22px;
	border-top:1px solid var(--line-soft);
	flex-grow:1;
}
.price-features li{
	display:flex;
	align-items:baseline;
	gap:10px;
	font-size:13.5px;
	color:var(--text);
	padding:7px 0;
}
.price-features li::before{
	content:'>';
	font-family:var(--mono);
	color:var(--indigo);
	font-size:12px;
}
.price-foot{
	margin-top:26px;
	padding-top:22px;
	border-top:1px solid var(--line-soft);
}


.price-foot a {
	display: block;
	text-align: center;

}

.price-note{
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted-dim);
	margin-top:12px;
	text-align:center;
}

/* ---------- add-ons ---------- */
.addon-row{
	display:grid;
	grid-template-columns:1fr 1.6fr 140px;
	align-items:center;
	gap:24px;
	padding:24px 0;
	border-top:1px solid var(--line-soft);
}
.addons .addon-row:last-child{border-bottom:1px solid var(--line-soft);}
.addon-name{
	font-family:var(--display);
	font-weight:600;
	font-size:16px;
	text-transform:uppercase;
}
.addon-desc{
	color:var(--muted);
	font-size:14px;
	line-height:1.55;
}
.addon-price{
	font-family:var(--mono);
	font-size:14px;
	color:var(--indigo);
	text-align:right;
	white-space:nowrap;
}

/* ---------- comparison note strip ---------- */
.note-strip{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:12px;
	padding:28px 32px;
	display:flex;
	align-items:center;
	gap:20px;
	justify-content:space-between;
	flex-wrap:wrap;
}
.note-strip .ns-text{
	font-size:14.5px;
	color:var(--muted);
	max-width:560px;
	line-height:1.6;
}
.note-strip .ns-text strong{color:var(--text);font-weight:600;}

.packages-buttons {
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 25px;
	flex-wrap: wrap;
	align-items: center;
	padding-top: 66px;
}

/* ---------- responsive ---------- */
@media (max-width:960px){

	.price-grid{grid-template-columns:1fr;}
	.addon-row{grid-template-columns:1fr;gap:8px;}
	.addon-price{text-align:left;}

}
@media (max-width:640px){
	.pricing-hero h1 {
		font-size: clamp(26px, 4.6vw, 58px);
	}
	.price-card{padding:26px;}

	.note-strip{flex-direction:column;align-items:flex-start;}

	.price-value {
		font-size: 32px;
		flex-direction: column;
	}
	.packages-buttons {
		padding-top: 36px;
	}
}


/* ---------- legal page layout ---------- */
.legal-header{
	padding:160px 0 48px;
}
.legal-header h1{
	font-family:var(--display);
	font-weight:700;
	font-size:clamp(32px, 4.4vw, 52px);
	text-transform:uppercase;
	line-height:1.08;
	max-width:760px;
}
.legal-header .hero-sub{margin-top:20px;}
.legal-meta{
	display:flex;
	gap:16px;
	font-family:var(--mono);
	font-size:12px;
	color:var(--muted-dim);
	margin-top:24px;
	padding-top:24px;
	border-top:1px solid var(--line-soft);
}

.post-layout{
	display:grid;
	grid-template-columns:1fr 260px;
	gap:64px;
	align-items:start;
}

.toc{
	position:sticky;
	top:104px;
	padding:24px;
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:10px;
}
.toc-label{
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted-dim);
	letter-spacing:0.08em;
	margin-bottom:16px;
}
.toc ol{
	list-style:none;
	counter-reset:toc;
	display:flex;
	flex-direction:column;
	gap:2px;
}
.toc li{counter-increment:toc;}
.toc a{
	display:flex;
	gap:10px;
	font-size:13px;
	line-height:1.5;
	color:var(--muted);
	padding:8px 0;
	border-left:2px solid transparent;
	padding-left:12px;
	margin-left:-13px;
	transition:color .2s, border-color .2s;
}
.toc a::before{
	content:counter(toc, decimal-leading-zero);
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted-dim);
	flex-shrink:0;
	padding-top:1px;
}
.toc a:hover{color:var(--text);}
.toc a.active{
	color:var(--indigo);
	border-left-color:var(--indigo);
	font-weight:600;
}
.toc a.active::before{color:var(--indigo);}
.toc-contact{
	margin-top:20px;
	padding-top:20px;
	border-top:1px solid var(--line-soft);
	font-size:13px;
	color:var(--muted);
	line-height:1.6;
}

.toc-contact a:before {
	display: none !important;
}
.toc-contact a{color:var(--indigo);}

.article-content{max-width:720px;}
.article-content p{
	font-size:15.5px;
	line-height:1.8;
	color:var(--muted);
	margin-bottom:20px;
}
.article-content h2{
	font-family:var(--display);
	font-weight:700;
	font-size:22px;
	text-transform:uppercase;
	color:var(--text);
	margin:48px 0 16px;
	scroll-margin-top:100px;
}
.article-content h2:first-child{margin-top:0;}
.article-content h3{
	font-family:var(--sans);
	font-weight:700;
	font-size:15px;
	color:var(--text);
	margin:24px 0 10px;
}
.article-content ul{
	margin:0 0 22px 0;
	padding-left:0;
	list-style:none;
}
.article-content ul li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-size:14.5px;
	color:var(--muted);
	line-height:1.65;
	padding:5px 0;
}
.article-content ul li::before{
	content:'>';
	font-family:var(--mono);
	color:var(--indigo);
	font-size:12px;
	margin-top:2px;
}
.article-content table{
	width:100%;
	border-collapse:collapse;
	margin:8px 0 24px;
	font-size:13.5px;
}

.article-content table th {

}
.article-content th{
	text-align:left;
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted-dim);
	letter-spacing:0.05em;
	border: none;
	padding:10px 14px;
	border-bottom:1px solid var(--line);
}
.article-content td{
	padding:12px 14px;
	border: none;
	border-bottom:1px solid var(--line-soft);
	color:var(--muted);
}
.article-content td:first-child, .article-content th:first-child{color:var(--text);font-weight:500;padding-left:0;}
.article-content strong{color:var(--text);font-weight:600;}
.article-content a{color:var(--indigo);}

/* ---------- responsive ---------- */
@media (max-width:960px){

	.post-layout{grid-template-columns:1fr;}
	.toc{position:static;margin-bottom:40px;}
}
@media (max-width:640px){

}

/* ---------- portfolio hero ---------- */
.portfolio-hero{
	padding:168px 0 56px;
	position:relative;
	z-index:1;
}
.portfolio-hero h1{
	font-size:clamp(34px, 4.6vw, 58px);
	line-height:1.06;
	max-width:820px;
}

/* ---------- results snapshot ---------- */
.snapshot-row{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
	margin-top:44px;
}
.snapshot-item{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:10px;
	padding:20px 22px;
}
.snapshot-num{
	font-family:var(--display);
	font-weight:700;
	font-size:24px;
	color:var(--green-soft);
}
.snapshot-label{
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted);
	margin-top:6px;
	text-transform: uppercase;
	letter-spacing:0.03em;
}

/* ---------- portfolio grid ---------- */
.portfolio-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:20px;
	padding-top:56px;
}
.portfolio-card{
	position:relative;
	border-radius:12px;
	overflow:hidden;
	border:1px solid var(--line);
	background:var(--surface);
	padding:28px;
	display:flex;
	flex-direction:column;
	isolation:isolate;
	transition:border-color .25s, transform .25s;
}
.portfolio-card:hover{border-color:var(--indigo);transform:translateY(-3px);}
.portfolio-card::before{
	content:'';
	position:absolute;inset:0;
	background:
			radial-gradient(circle at 88% 12%, var(--wc1,rgba(77,107,255,0.18)), transparent 55%),
			radial-gradient(circle at 8% 92%, var(--wc2,rgba(255,183,74,0.10)), transparent 50%);
	z-index:-1;
	transition:transform .5s;
}
.portfolio-card:hover::before{transform:scale(1.06);}
.pc-top{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:16px;
}
.pc-cat{
	font-family:var(--mono);
	font-size:11.5px;
	color:var(--muted);
	letter-spacing:0.05em;
}
.pc-metric{
	font-family:var(--mono);
	font-size:12px;
	color:var(--green);
	background:rgba(23,143,90,0.08);
	border:1px solid rgba(23,143,90,0.28);
	padding:4px 9px;
	border-radius:5px;
	white-space:nowrap;
}
.pc-metric.pc-flag{
	color:var(--indigo);
	background:rgba(77,107,255,0.08);
	border-color:rgba(77,107,255,0.28);
}
.pc-image{
	width:calc(100% + 56px);
	margin:0 auto 15px auto;
	aspect-ratio:900/620;
	object-fit:cover;
	display:block;
	background:var(--surface-2);
	object-position: top;
}
.pc-name{
	font-family:var(--display);
	font-weight:600;
	font-size:23px;
	text-transform:uppercase;
	line-height:1.15;
	margin-top:18px;
}
.pc-desc{
	color:var(--muted);
	font-size:14px;
	line-height:1.6;
	margin-top:12px;
	flex-grow:1;
}
.pc-services{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:18px;
}
.pc-services span{
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted);
	border:1px solid var(--line);
	border-radius:20px;
	padding:5px 11px;
	background:var(--surface);
}
.pc-foot{
	margin-top:22px;
	padding-top:18px;
	border-top:1px solid var(--line-soft);
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.pc-note{
	font-family:var(--mono);
	font-size:11px;
	color:var(--muted-dim);
}
.pc-link{
	font-family:var(--mono);
	font-size:13px;
	color:var(--indigo);
	display:flex;
	align-items:center;
	gap:6px;
	transition:gap .2s;
}
.portfolio-card:hover .pc-link{gap:10px;}

/* ---------- responsive ---------- */
@media (max-width:960px){

	.snapshot-row{grid-template-columns:1fr 1fr;}
	.portfolio-grid{grid-template-columns:1fr;}

}
@media (max-width:640px){
	.portfolio-hero h1 {
		font-size: clamp(26px, 4.6vw, 58px);
	}
	.snapshot-row{grid-template-columns:1fr;}
	.portfolio-card{padding:24px;}
	.pc-image{    width: 100%;
		aspect-ratio: auto;
		max-height: 200px;
		overflow: hidden;
		margin: 0;}
	.pc-foot {
		flex-direction: column;
		gap: 15px;
	}
}

.blog-pagination {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}

.blog-pagination .page-numbers {
	display: flex;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.blog-pagination .page-numbers li {
	display: flex;
}

.blog-pagination a.page-numbers,
.blog-pagination span.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	font-size: 14px;
	font-weight: 500;
	color: inherit;
	text-decoration: none;
	background: transparent;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.blog-pagination a.page-numbers:hover {
	background-color: rgba(0, 0, 0, 0.04);
	border-color: rgba(0, 0, 0, 0.18);
	transform: translateY(-1px);
}

.blog-pagination span.page-numbers.current {
	background-color: #111;
	border-color: #111;
	color: #fff;
	cursor: default;
}

.blog-pagination a.page-numbers.next,
.blog-pagination a.page-numbers.prev {
	font-weight: 600;
	font-size: 16px;
}

.blog-pagination .dots {
	border: none;
	background: none;
	color: rgba(0, 0, 0, 0.4);
	cursor: default;
	min-width: auto;
	padding: 0 4px;
}

/* Тёмная тема (если у сайта есть .dark / body.dark-mode) */
.dark .blog-pagination a.page-numbers,
.dark .blog-pagination span.page-numbers {
	border-color: rgba(255, 255, 255, 0.15);
	color: #fff;
}

.dark .blog-pagination a.page-numbers:hover {
	background-color: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.3);
}

.dark .blog-pagination span.page-numbers.current {
	background-color: #fff;
	border-color: #fff;
	color: #111;
}

/* Адаптив */
@media (max-width: 480px) {
	.blog-pagination .page-numbers {
		gap: 4px;
	}

	.blog-pagination a.page-numbers,
	.blog-pagination span.page-numbers {
		min-width: 34px;
		height: 34px;
		font-size: 13px;
	}
}
