@media screen and (min-width: 2400px) {
	:root {
		--p0: 1.3rem;
		--p1: 1.7rem;
	}
	body {
		#second .screen_text {
			font-size: 2.5rem;
		}
		button {
			font-size: 2rem;
		}
		h1,
		h2 {
			font-size: 6.5rem;
		}
		#logolink #logo {
			font-size: 2.4rem;
			img {
				width: 45px;
			}
		}
		#nine h2 {
			font-size: 5.75rem;
		}
		#pricemodules {
			min-height: 67.5vh;
		}
		.pricemodule {
			.billed {
				font-size: 1.1rem;
			}
			p {
				font-size: var(--p1);
			}
			h3 {
				font-size: 2.6rem;
			}
			.price {
				margin-top: 2.5vh;
				font-size: 3rem;
				span {
					font-size: 1rem;
				}
			}
			.specs li {
				font-size: 1.5rem;
			}
		}
	}
}

@media screen and (min-width: 1550px) and (max-width: 2399px) {
	body {
		h1,
		h2 {
			font-size: 6rem;
		}
		#eight,
		#nine {
			h2 {
				font-size: 5rem;
			}
		}
		#logolink #logo {
			font-size: 2.4rem;
			img {
				width: 45px;
			}
		}
		.pricemodule {
			.billed {
				font-size: 1rem;
			}
			p {
				font-size: var(--p1);
			}
			h3 {
				font-size: 2.5rem;
			}
			.price {
				font-size: 2.75rem;
				span {
					font-size: 1rem;
				}
			}
			.specs li {
				font-size: 1.25rem;
			}
		}
	}
}
@media screen and (min-width: 1024px) and (max-width: 1549px) {
	body {
		#second .screen_text {
			margin-top: -47vw !important;
		}
		h1,
		h2 {
			font-size: 4.25rem;
			img {
				width: 6vw;
				top: 0.8vw;
				padding: 0 0.25vw;
			}
		}
		#eight,
		#nine {
			h2 {
				font-size: 4rem;
			}
		}
		#hero {
			h1,
			h2 {
				line-height: 1.35;
			}
		}
		#logolink #logo {
			img {
				width: 35px;
				margin-top: -2px;
			}
		}
	}
}

@media only screen and (min-width: 1024px) and (max-width: 1549px) and (orientation: portrait) {
	#second .screen_text {
		margin-top: -137vw !important;
	}
	#senja-container {
		width: 59rem !important;
	}
}

/* Toggle desktop/mobile-only content */
@media screen and (max-width: 1023px) {
	.for-desktop {
		display: none !important;
	}

	#buttons  {
		top: 15px;
		gap : 5px
	}	
	#buttons button {
		font-size: 1rem;
	}
	#senja-container {
		width: 100% ;
	}
}

@media screen and (min-width: 1024px) {
	.for-mobile {
		display: none !important;
	}
		#senja-container {
			width: 59rem;
		}
	#grantPreviewIframe {
		display: block;
	}

	.grant-preview-image {
		display: none;
	}
}

/* Mobile hamburger + overlay (theme-aware with fallbacks) */
#mobile-menu-button {
	display: none;
	cursor: pointer;
	width: 36px;
	height: 28px;
	position: absolute;
	top: 18px;
	left: auto;
	right: 16px;
	z-index: 1001;
}

/* Toggle between open/close icons */
#mobile-menu-button .icon-close { display: none; }
#mobile-menu-button.active .icon-open { display: none; }
#mobile-menu-button.active .icon-close { display: inline; }

#mobile-menu-overlay {
	position: fixed;
	inset: 0;
	display: none;
	align-items: flex-start;
	justify-content: center;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background: var(--overlay-bg, rgba(26, 23, 64, 0.35));
	z-index: 1000;
}

#mobile-menu-overlay.open {
	display: flex;
	animation: fadeIn .25s ease forwards;
}

#mobile-menu-overlay .menu-panel {
	width: calc(100% - 32px);
	max-width: 520px;
	background: var(--brand-surface, #ffffff);
	border-radius: 14px;
	margin: 64px 16px 0;
	padding: 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	transform: translateY(-12px);
	opacity: 0;
	animation: slideDown .28s ease forwards;
}

.menu-link {
	display: block;
	text-align: center;
	padding: 14px 16px;
	margin: 8px 0;
	border-radius: 10px;
	text-decoration: none;
	font-weight: 600;
}

.menu-link.primary {
	background: var(--green);
	color: #ffffff;
}

.menu-link.outlined {
	border: 2px solid var(--green);
	color: var(--green);
	background: #ffffff;
}

@keyframes slideDown { to { transform: translateY(0); opacity: 1; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Show hamburger and hide desktop buttons on small screens */
@media screen and (max-width: 768px) {
	
	#mobile-menu-button { display: block; }
}
