body {
	font-family: 'Inter', sans-serif;
	scroll-behavior: smooth;
	overflow-x: hidden;
}

h1,
h2,
h3,
h4 {
	font-family: 'Montserrat', sans-serif;
}

.vertical-logo {
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.glass-nav {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.timeline-line {
	position: relative;
}

.timeline-line::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #bfdbfe;
	transform: translateX(-50%);
	z-index: 1;
}

#investment-form input,
#investment-form textarea {
	color: #fff;
}

#mobile-nav a {
	color: #000;
}

@media (max-width: 768px) {
	#cookie-modal {
		right: 0;
	}

	.timeline-line::after {
		left: 20px;
		display: none;
	}

	h1 {
		font-size: 2.2rem !important;
	}

	h2 {
		font-size: 1.6rem !important;
	}

	.vertical-logo {
		display: none;
	}
}

.swiper-slide {
	width: 320px;
	height: auto;
}

.portfolio-slider {
	padding-bottom: 50px;
}

.grayscale {
	filter: grayscale(100%);
}

.hover-grayscale-0:hover {
	filter: grayscale(0%);
}

input:focus,
textarea:focus {
	outline: none;
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.btn {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	text-transform: none;
}

.btn:active {
	transform: scale(0.95);
}

#cookie-modal.show {
	transform: translate-y(0);
	opacity: 1;
}

.word-break-all {
	word-break: break-all;
}

/* Main container padding: top and sides */
.lawMatrixNode {
	padding: 25px 20px 0 20px;
	color: #e0e0e0;
	/* Light text for dark theme */
	line-height: 1.6;
	font-family: sans-serif;
}

/* Moderate sized headers */
.lawMatrixNode h1,
.lawMatrixNode h2,
.lawMatrixNode h3,
.lawMatrixNode h4,
.lawMatrixNode h5 {
	color: #ffffff;
	/* Brightest text for headers */
	margin-top: 1.5em;
	margin-bottom: 0.5em;
	font-weight: 600;
	line-height: 1.3;
}

.lawMatrixNode h1 {
	font-size: 1.50rem;
}

.lawMatrixNode h2 {
	font-size: 1.35rem;
}

.lawMatrixNode h3 {
	font-size: 1.20rem;
}

.lawMatrixNode h4 {
	font-size: 1.10rem;
}

.lawMatrixNode h5 {
	font-size: 1.00rem;
}

/* Paragraph styling */
.lawMatrixNode p {
	margin-bottom: 1.2em;
	font-size: 0.95rem;
	font-weight: 400;
}

/* List styling */
.lawMatrixNode ul {
	margin-bottom: 1.2em;
	padding-left: 1.5rem;
	list-style-type: disc;
}

/* List item styling */
.lawMatrixNode li {
	margin-bottom: 0.6em;
	font-size: 0.95rem;
}

/* Remove top margin from the first element to respect parent padding */
.lawMatrixNode>*:first-child {
	margin-top: 0;
}