.Text {
	--font-size: 20px;
	--margin-bottom: 32px;
}

.Text p, .Text li, .Text th, .Text td, .Text ul, .Text ol {line-height: 125%; font-size: var(--font-size); margin-top: 0;}
.Text :is(p, ul, ol, table):not(:last-child) {margin-bottom: var(--margin-bottom);}* {box-sizing: border-box;}

body {margin: 0; background-color: white; color: var(--default-text);}
html, body {scroll-behavior: smooth; scroll-padding-top: 150px;}
body, body textarea {font-family: var(--lato);}

.Container {max-width: 1399px; margin-left: auto; margin-right: auto; padding-left: 15px; padding-right: 15px;}

h1, h2, h3, h4, h5, h6, p, li {margin-top: 0; margin-bottom: 0;}
h1 {font-weight: 800;}
h2 {font-weight: bold; font-size: 50px; margin-bottom: 25px; color: var(--blue-text); line-height: normal;}
a {color: var(--blue-text);}

#Intro {background: var(--blue); color: white;}
#Intro h1 {margin-bottom: 14px;}
#Intro .Text {margin-bottom: 25px;}

.Button {font-size: 20px; text-decoration: none; line-height: normal; padding: 16px 69px; border-radius: 25px; color: var(--blue); border: 2px solid var(--blue); display: inline-grid; text-align: center; cursor: pointer;}
.ButtonInverse {color: white; border-color: white;}
.FullBlueButton {color: white; background-color: var(--blue);}

.StandardH1 {color: var(--blue-text); text-align: center; font-size: 54px; line-height: normal; margin-bottom: 44px; flex: 0 0 100%;}
.StandardH1Left {color: var(--blue-text); text-align: left; font-size: 54px; line-height: normal; margin-bottom: 44px; flex: 0 0 100%;}

.PageIntro {padding: 100px 0 179px 0; text-align: center;}
.PageIntro h1 {font-size: 64px; font-weight: 800;}
.PageIntro h1 strong {color: var(--blue-lighter);}
.PageIntro .Container {max-width: 1038px;}
.PageIntro .Text {max-width: 720px; margin-left: auto; margin-right: auto;}

@media (max-width: 1024px) {
	.Container {padding-left: 20px; padding-right: 20px;}
	h2 {font-size: 40px;}
	.StandardH1, .StandardH1Left {font-size: 42px; margin-bottom: 32px;}
	.PageIntro {padding: 60px 0 120px 0;}
	.PageIntro h1 {font-size: 48px;}
}

@media (max-width: 768px) {
	.Container {padding-left: 16px; padding-right: 16px;}
	h2 {font-size: 32px; margin-bottom: 20px;}
	.StandardH1, .StandardH1Left {font-size: 36px; margin-bottom: 28px;}
	.PageIntro {padding: 40px 0 80px 0;}
	.PageIntro h1 {font-size: 36px;}
	.Button {font-size: 18px; padding: 14px 50px;}
}

@media (max-width: 480px) {
	.Container {padding-left: 12px; padding-right: 12px;}
	h2 {font-size: 28px; margin-bottom: 16px;}
	.StandardH1, .StandardH1Left {font-size: 28px; margin-bottom: 24px; text-align: center;}
	.StandardH1Left {text-align: left;}
	.PageIntro {padding: 30px 0 60px 0;}
	.PageIntro h1 {font-size: 28px; line-height: 1.2;}
	.Button {font-size: 16px; padding: 12px 30px;}
}#Header {background-color: var(--blue); color: white; position: sticky; top: 0; z-index: 5;}
#Header .Container {display: flex; justify-content: space-between; align-items: center; padding-top: 26px; padding-bottom: 26px;}

.mobile-controls {display: none; gap: 10px; align-items: center;}

nav {display: flex; justify-content: center; gap: 20px; position: relative; align-items: stretch; padding: 0;}
nav a {color: white; display: flex; gap: 10px; align-items: center; padding: 30px 0; text-decoration: none;}
nav a:hover {color: #E6F2FF; text-shadow: 0 0 6px rgba(255,255,255,0.35);} /* subtle, no movement */
nav > a {text-transform: uppercase; font-size: 18px;}

nav .AboutSubmenu {position: absolute; right: 10000px; top: 100%; padding: 10px 25px; background: var(--blue);}
nav .AboutSubmenu a {display: block; padding: 5px;}
nav:has(.SubmenuAboutOpener:hover) .AboutSubmenu, nav:has(.AboutSubmenu:hover) .AboutSubmenu {right: 0;}

.SearchButton {border: none; background: none; outline: none; cursor: pointer; padding: 8px; border-radius: 6px; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center;}
.SearchButton:hover {background-color: rgba(255, 255, 255, 0.1); transform: scale(1.05);}
.SearchButton:active {transform: scale(0.95);}
.SearchButton svg {transition: all 0.3s ease;}
.SearchButton:hover svg {filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.4));}

.SearchPanel {position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(4px); display: flex; align-items: flex-start; justify-content: center; padding-top: 120px; z-index: 1000; opacity: 0; visibility: hidden; transform: translateY(-20px); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);}
.SearchPanel input {width: 100%; max-width: 600px; padding: 18px 80px 18px 25px; font-size: 18px; border: 2px solid #e1e5e9; border-radius: 12px; background: white; color: #333; outline: none; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); transition: all 0.3s ease;}
.SearchPanel input:focus {border-color: var(--blue); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.16), 0 0 0 3px rgba(var(--blue-rgb, 0, 123, 255), 0.1);}
.SearchPanel input::placeholder {color: #8b95a1;}
.SearchPanel button[type="submit"] {position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: var(--blue); color: white; border: none; padding: 10px 20px; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 14px; transition: all 0.3s ease;}
.SearchPanel button[type="submit"]:hover {background: color-mix(in srgb, var(--blue) 90%, black 10%); transform: translateY(-50%) scale(1.05);}
.SearchPanel form {position: relative; width: 90%; max-width: 600px;}

.SearchPanel .close-btn {position: absolute; top: 30px; right: 30px; background: rgba(255, 255, 255, 0.9); border: none; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #666; transition: all 0.3s ease; backdrop-filter: blur(8px);}
.SearchPanel .close-btn:hover {background: rgba(255, 255, 255, 1); color: #333; transform: scale(1.1);}

body.SearchPanelOpen .SearchPanel {opacity: 1; visibility: visible; transform: translateY(0);}

.mobile-search-button {border: none; background: none; outline: none; cursor: pointer; padding: 8px; border-radius: 6px; transition: all 0.3s ease; display: none; align-items: center; justify-content: center;}
.mobile-search-button:hover {background-color: rgba(255, 255, 255, 0.1); transform: scale(1.05);}
.mobile-search-button:active {transform: scale(0.95);}
.mobile-search-button svg {transition: all 0.3s ease;}
.mobile-search-button:hover svg {filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.4));}

.mobile-nav-search {color: white; display: flex; gap: 10px; align-items: center; justify-content: center; font-size: 18px; text-decoration: none; text-transform: uppercase; padding: 15px 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.2); width: 100%; text-align: center; max-width: 300px; border: none; background: none; cursor: pointer; transition: all 0.3s ease;}
.mobile-nav-search:hover {background-color: rgba(255, 255, 255, 0.1); border-radius: 8px;}

@media (max-width: 1024px) {
	#Header .Container {padding-top: 20px; padding-bottom: 20px;}
	nav {gap: 15px;}
	nav > a {font-size: 16px; padding: 20px 0;}
	.SearchPanel input {font-size: 20px; padding: 18px 25px;}
}

@media (max-width: 768px) {
	#Header .Container {padding-top: 15px; padding-bottom: 15px;}
	/* Navigation is now handled by burger menu - styles in BurgerMenu.css */
	
	/* Show mobile controls container with burger and search */
	.mobile-controls {display: flex;}
	.mobile-search-button {display: flex;}
	
	/* Mobile: Full-screen centered experience */
	.SearchPanel {background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(8px); align-items: center; padding: 0 20px; z-index: 1001;}
	.SearchPanel form {width: 100%; max-width: none;}
	.SearchPanel input {font-size: 18px; padding: 20px 80px 20px 25px; width: 100%; border-radius: 25px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);}
	.SearchPanel input:focus {box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(var(--blue-rgb, 0, 123, 255), 0.2);}
	.SearchPanel button[type="submit"] {right: 8px; padding: 12px 20px; font-size: 14px; border-radius: 20px;}
	.SearchPanel .close-btn {top: 20px; right: 20px; width: 44px; height: 44px; font-size: 20px; z-index: 1002;}
	
	/* Mobile navigation search button styling */
	.mobile-nav-search {font-size: 16px; padding: 12px 15px;}
}

@media (max-width: 480px) {
	.SearchPanel {padding: 0 15px;}
	.SearchPanel input {font-size: 16px; padding: 18px 70px 18px 20px;}
	.SearchPanel button[type="submit"] {padding: 10px 16px; font-size: 13px;}
	.SearchPanel .close-btn {top: 15px; right: 15px; width: 40px; height: 40px; font-size: 18px;}
	
	/* Mobile navigation search button styling for small screens */
	.mobile-nav-search {font-size: 14px; padding: 8px 12px;}
}
/* Smooth transition for header shrink */
#Header .Container { transition: padding 0.2s ease; }
nav a { transition: padding 0.2s ease; }

/* Smaller header when page is scrolled */
body.HeaderIsSmall #Header .Container { padding-top: 13px; padding-bottom: 13px; }
body.HeaderIsSmall nav > a { padding: 15px 0; }
body a img {height: 66px; transition: height 0.2s ease;}
body.HeaderIsSmall a img {height: 40px;}html .fe1644 [data-ge-uid="tag68126a71b477c3.63895903"] {display: flex;gap: 10px;}
.fe1644 {
	#Footer {background: linear-gradient(273.11deg, #00205C 2.58%, #0B3687 97.42%); padding: 77px 0 0 0; color: white;}
	#Footer .Container {display: flex; gap: 40px; justify-content: space-between;}
	#Footer .Container:first-child {padding-bottom: 127px;}
	#Footer .Heading {font-size: 28px; font-weight: 600;}
	#Footer .Container > div > * {margin-bottom: 16px;}

	#Footer form .Input {margin-bottom: 12px;}
	#Footer form input {width: 100%; padding: 0 37px; font-size: 18px; color: white; border: 1px solid white; background: transparent; border-radius: 999px; height: 55px; font-weight: normal;}
	#Footer form input::placeholder {color: white; opacity: 0.5;}
	#Footer form .Button {width: 100%; font-size: 18px; padding: 13px 0 12px 0; font-weight: bold; color: #0061A8;}
	#Footer form .Button:hover {background: #F1F3F8; box-shadow: 0 4px 12px rgba(0,0,0,0.12);} /* no movement, no underline */

	#Footer .FooterLogo {display: flex; margin-bottom: 15px;}
	#Footer .FooterLogo img {width: 100%; max-width: 150px;}
}

.LinkSign {border-top: 1px solid rgba(255,255,255,0.2); padding-top: 12px; padding-bottom: 35px; text-align: center; margin-top: -1px;}
.LinkSign a {color: rgba(255,255,255,0.5); font-size: 16px; font-weight: 500; text-decoration: none; display: flex; width: max-content; margin-left: auto; margin-right: auto; gap: 9px;}
.LinkSign a:hover {color: white;}
.LinkSign img {align-items: center; max-width: 100%; height: auto !important;}

@media (max-width: 1024px) {
	.fe1644 {
		#Footer {padding: 60px 0 100px 0;}
		#Footer .Container {gap: 30px;}
		#Footer .Heading {font-size: 24px;}
	}
}

@media (max-width: 768px) {
	.fe1644 {
		#Footer {padding: 40px 0 80px 0;}
		#Footer .Container {flex-direction: column; gap: 30px; text-align: center;}
		#Footer .Heading {font-size: 22px;}
		#Footer form input {padding: 0 25px; height: 50px; font-size: 16px;}
		#Footer form .Button {font-size: 16px; padding: 12px 0;}
		#Footer .Socials {justify-content: center; margin-top: 20px;}
	}
}

@media (max-width: 480px) {
	.fe1644 {
		#Footer {padding: 30px 0 60px 0;}
		#Footer .Container {gap: 25px;}
		#Footer .Heading {font-size: 20px;}
		#Footer .Container > div > * {margin-bottom: 12px;}
		#Footer form input {padding: 0 20px; height: 45px; font-size: 14px;}
		#Footer form .Button {font-size: 14px; padding: 10px 0;}
	}
}.NewsletterSignup .FormMessage {
	margin-bottom: 15px;
}

.NewsletterSignup .SuccessMessage {
	color: #155724;
	background-color: #d4edda;
	border: 1px solid #c3e6cb;
	border-radius: 4px;
	padding: 10px;
}

.NewsletterSignup .ErrorMessage {
	color: #721c24;
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
	padding: 10px;
}
html .fe1630 [data-ge-uid="tag68091411ef2516.35163234"] {margin-bottom: 47px;}
html .fe1630 [data-ge-uid="tag68091411ef2534.06975208"] {display: flex; gap: 35px; align-items: center; flex-wrap: wrap;}
html .fe1630 .Manufacturers img {width: auto; height: 32px; object-fit: contain;}
html .fe1630 [data-ge-uid="tag0.6103592747713864.b864"] {position: absolute;top: 50%;transform: translateY(-50%);left: -20px;}

@media (max-width: 1024px) {
	html .fe1630 [data-ge-uid="tag68091411ef2534.06975208"] {gap: 25px; justify-content: center;}
	html .fe1630 .Manufacturers img {height: 28px; max-width: 150px;}
	html .fe1630 [data-ge-uid="tag0.6103592747713864.b864"] {opacity: 50%;}
}

@media (max-width: 768px) {
	html .fe1630 [data-ge-uid="tag68091411ef2516.35163234"] {display: block; width: max-content; margin-left: auto; margin-right: auto;}
}.fe1630 {
	h1 {font-size: 80px; line-height: 88px;}
	h1 strong {color: var(--blue-lighter);}

	.HeaderContent {max-width: 65%; padding: 100px 0 292px 0; position: relative;}

	#Intro {position: relative;}
	.IntroImage {position: absolute; right: 0; top: 0; width: 60%; pointer-events: none; overflow: hidden; max-height: 100%;}
	.IntroImage img {width: 100%;}

	.Explore {padding-top: 321px; padding-bottom: 229px; position: relative;}
	.Explore .Container {display: grid; grid-template-columns: 1fr 1fr; gap: 120px; align-items: center;}
	.Explore .Text {text-align: right; position: relative;}
	.Explore .Image img {max-width: 80%; width: auto; height: auto;}

	.SectionBottomLine {position: absolute; left: 0; width: 100%; bottom: 0; height: auto;}

	.News {padding-top: 110px; padding-bottom: 140px; margin-bottom: 138px; position: relative;}
	.News h2 {text-align: center; grid-column: span 2; margin-bottom: 50px;}
	.News .Container {display: grid; grid-template-columns: 43% 1fr; gap: 26px;}
	.News .Image {display: flex; overflow: hidden; border-radius: 25px;}
	.News .Image img {width: 100%; height: auto;}
	.News .ListOf3 {display: flex; flex-direction: column; gap: 36px;}
	.News .ListOf3 article {display: grid; grid-template-columns: 20% 1fr; gap: 34px; align-items: center;}
	.News .MainArticle .Image {margin-bottom: 15px;}
	.News h3 {font-size: 32px; margin-bottom: 5px;}
	.News h3 a {color: var(--blue-text); text-decoration: none;}
	.News .ButtonBox {text-align: right;}

	#Intro .Container {position: relative;}
	.IntroCategories {position: absolute; left: 0; right: 0; bottom: -28px; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 38px;}
	.IntroCategories a {border: 1px solid rgba(0,0,0,10%); background: #F9FAFC; display: flex; padding: 23px 23px 23px 32px; gap: 23px; align-items: center; font-weight: bold; font-size: 20px; text-decoration: none; border-radius: 17px; color: var(--blue-text);}
	.IntroCategories a:not(:has(.Icon)) {text-align: center; justify-content: center;}
	.IntroCategories a div {display: flex;}
}

@media (max-width: 1024px) {
	.fe1630 {
		h1 {font-size: 60px; line-height: 66px;}
		.HeaderContent {max-width: 70%; padding: 80px 0 200px 0;}
		.Explore {padding-top: 250px; padding-bottom: 180px;}
		.Explore .Container {gap: 80px;}
		.News {padding-top: 80px; padding-bottom: 100px; margin-bottom: 100px;}
		.IntroCategories {grid-template-columns: 1fr 1fr; gap: 20px;}
		.IntroCategories a {font-size: 18px; padding: 20px;}
	}
}

@media (max-width: 768px) {
	.fe1630 {
		h1 {font-size: 44px; line-height: 50px;}
		.HeaderContent {max-width: 90%; padding: 60px 0 150px 0;}
		.IntroImage {position: static; width: 100%; margin-top: 0;}
		
		.Explore {padding-top: 180px; padding-bottom: 120px;}
		.Explore .Container {grid-template-columns: 1fr; gap: 40px; text-align: center;}
		.Explore .Text {text-align: center;}
		
		.News .Container {grid-template-columns: 1fr; gap: 30px;}
		.News h2 {grid-column: span 1; margin-bottom: 30px;}
		.News .ListOf3 article {grid-template-columns: 30% 1fr; gap: 20px;}
		.News .ButtonBox {text-align: center;}
		
		.IntroCategories {grid-template-columns: 1fr; gap: 15px; position: static; margin-top: 40px; padding-bottom: 40px;}
		.IntroCategories a {padding: 18px; justify-content: center; text-align: center;}
	}
}

@media (max-width: 480px) {
	.fe1630 {
		h1 {font-size: 32px; line-height: 38px;}
		.HeaderContent {max-width: 100%; padding: 40px 0 100px 0;}
		
		.Explore {padding-top: 120px; padding-bottom: 80px;}
		.Explore .Container {gap: 30px;}
		
		.News {padding-top: 60px; padding-bottom: 80px; margin-bottom: 60px;}
		.News h3 {font-size: 24px;}
		.News .ListOf3 article {grid-template-columns: 1fr; gap: 15px; text-align: center;}
		
		.IntroCategories a {padding: 15px; flex-direction: column; gap: 10px;}
	}
}

/* Hovers: homepage blocks */
.fe1630 .IntroCategories a { transition: background-color .2s ease, box-shadow .2s ease, color .2s ease; }
.fe1630 .IntroCategories a:hover { background: #EEF2F8; box-shadow: 0 6px 16px rgba(0,0,0,0.10); }
.fe1630 .News h3 a:hover { color: var(--blue); }

/* Hovers: homepage buttons (e.g., Download) */
.fe1630 .Button { text-decoration: none; }
.fe1630 .Button:hover { background: #F1F3F8; box-shadow: 0 4px 12px rgba(0,0,0,0.12); text-decoration: none; }
html .fe1641 [data-ge-uid="tag0.9095933611678763.713a"] {position: absolute;pointer-events: none;top: -30px;right: 0;}
html .fe1641 [data-ge-uid="tag680bc561886c24.46968176"] {font-weight: 800;}
.fe1641 {.ContactsSection {position: relative; padding-bottom: 167px;}
.ContactsSection .Container {display: grid; grid-template-columns: 1fr 1fr; gap: 61px; align-items: center;}

.ContactsSection .Contacts {display: grid; grid-template-columns: 50px 1fr 1fr; gap: 15px; margin-top: 45px;}
.ContactsSection .ContactItem {padding-bottom: 33px; font-size: 20px;}

.ContactsSection .Contacts .Icon {aspect-ratio: 1/1; border-radius: 100%; background: var(--blue-text); display: flex; align-items: center; justify-content: center;}}

@media (max-width: 1024px) {
	.fe1641 {
		.ContactsSection {padding-bottom: 120px;}
		.ContactsSection .Container {gap: 40px;}
		.ContactsSection .ContactItem {font-size: 18px; padding-bottom: 25px;}
	}
}

@media (max-width: 768px) {
	.fe1641 {
		.ContactsSection {padding-bottom: 80px;}
		.ContactsSection .Helper {display: none;}
		.ContactsSection .Container {grid-template-columns: 1fr; gap: 30px; text-align: left;}
		.ContactsSection .Contacts {display: grid; grid-template-columns: 44px auto; gap: 12px 16px; margin-top: 30px; max-width: max-content; margin-left: auto; margin-right: auto; align-items: start; text-align: left;}
		.ContactsSection .Contacts .Icon {width: 44px; height: 44px; justify-content: center; align-items: center;}
		.ContactsSection .Contacts > div:empty {display: none;}
		/* let the first location icon cover both address blocks */
		.ContactsSection .Contacts > .Icon:first-child {grid-row: span 2;}
		.ContactsSection .ContactItem {font-size: 16px; padding-bottom: 12px;}
	}
}

@media (max-width: 480px) {
	.fe1641 {
		.ContactsSection {padding-bottom: 60px;}
		.ContactsSection .Container {gap: 25px;}
		.ContactsSection .Contacts {grid-template-columns: 40px auto; gap: 10px 14px; margin-top: 25px;}
		.ContactsSection .ContactItem {font-size: 14px; padding-bottom: 10px;}
		.ContactsSection .Contacts .Icon {width: 40px; height: 40px;}
	}
}.ContactForm .FormMessage {
	margin-bottom: 15px;
}

.ContactForm .SuccessMessage {
	color: #155724;
	background-color: #d4edda;
	border: 1px solid #c3e6cb;
	border-radius: 4px;
	padding: 10px;
}

.ContactForm .ErrorMessage {
	color: #721c24;
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
	padding: 10px;
}
.fe1642 {background: rgba(249, 250, 252, 50%); border: 1px solid rgba(0,0,0,10%); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border-radius: 25px; padding: 36px 58px; position: relative;}
.fe1642 label {display: flex; margin-bottom: 21px;}
.fe1642 label:has(input:user-invalid) {color: red;}
.fe1642 input:not([type="checkbox"]), .fe1642 textarea {border: 1px solid var(--blue-text); border-radius: 25px; width: 100%; background: transparent; padding-left: 37px; padding-right: 37px; font-size: 16px;}
.fe1642 input:not([type="checkbox"]) {min-height: 55px;}
.fe1642 textarea {padding-top: 18px; padding-bottom: 18px; min-height: 254px;}

.fe1642 .Note .NoteHeading {font-size: 14px;}
.fe1642 .Note p {font-size: 12px;}
.fe1642 .Note > * {margin-top: 0; margin-bottom: 0; font-weight: 300;}

.fe1642 .Input:has([type="checkbox"]) [type="checkbox"] {position: absolute; left: -10000000000px; opacity: 0;}
.fe1642 .Input:has([type="checkbox"])::before {content: ''; width: 20px; height: 20px; border-radius: 5px; border: 1px solid var(--blue); margin-right: 12px;}
.fe1642 .Input:has([type="checkbox"]:checked)::before {background-color: var(--blue);}

.fe1642 .ButtonBox {text-align: right; margin-top: 25px;}
.fe1642 .Button {font-size: 16px; padding: 13px 85px 12px 85px;}
.fe1642 .Button:hover { background: #F1F3F8; box-shadow: 0 4px 12px rgba(0,0,0,0.12); text-decoration: none; color: var(--blue-text);}

.fe1642 .Heading {color: var(--blue-text); font-size: 24px; font-weight: bold; margin-bottom: 29px;}

.ContactForm:has(.SuccessMessage, .ErrorMessage) > *:not(.FormMessage) {filter: blur(7px);}
.ContactForm .SuccessMessage, .ContactForm .ErrorMessage {position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: grid; place-content: center; border-radius: 25px; font-size: 20px; font-weight: bold;}
.ContactForm .FormMessage {position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2;}
.ContactForm .SuccessMessage {background: transparent;}
.ContactForm .ErrorMessage {background: rgba(200,0,0,0.5);}

@media (max-width: 767px) {
	.fe1642 {padding-left: 15px; padding-right: 15px;}
	.fe1642 .ButtonBox {text-align: center;}
}:root {
	/** COLORS */
	--color-1srk8c: #01215d; /* Blue */
	--blue: var(--color-1srk8c);
	--color-hb8j2s: #ffffff; /* Background */
	--background: var(--color-hb8j2s);
	--color-6i8cst: #00b0e1; /* Blue lighter */
	--blue-lighter: var(--color-6i8cst);
	--color-gxrg14: #0061ab; /* Blue text */
	--blue-text: var(--color-gxrg14);
	--color-c2abp5: #7f8081; /* Default text */
	--default-text: var(--color-c2abp5);
	/** FONTS */
	--font-04akkz: 'Lato', sans-sarif ;
	--lato: var(--font-04akkz);
}

.Text {word-break: break-word;}

/* Hover effects - non-intrusive, no movement */
/* Regular links: subtle color change on hover */
a:hover { color: var(--blue); }

/* Ensure no underlines for buttons and button-like elements */
a.button, .Button, .btn, .button-like, .FiltersToggleBtn, .FiltersCloseBtn { text-decoration: none; }
a.button:hover, .Button:hover, .btn:hover, .button-like:hover, .FiltersToggleBtn:hover, .FiltersCloseBtn:hover { text-decoration: none; }

/* Utility: smooth transitions for common interactive props (no transforms) */
.button, .Button, .btn, .button-like, .FiltersToggleBtn, .FiltersCloseBtn { transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }

.Page404 {padding-top: 100px; padding-bottom: 100px;}
.Page404 h1 {margin-bottom: 40px; color: var(--blue-text);}.burger-menu {display: none; flex-direction: column; cursor: pointer; padding: 5px; border: none; background: none; z-index: 1001;}
.burger-menu span {width: 25px; height: 3px; background-color: white; margin: 3px 0; transition: 0.3s; border-radius: 2px;}

.burger-menu.active span:nth-child(1) {transform: rotate(-45deg) translate(-6px, 6px);}
.burger-menu.active span:nth-child(2) {opacity: 0;}
.burger-menu.active span:nth-child(3) {transform: rotate(45deg) translate(-6px, -6px);}

.mobile-nav-overlay {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: rgba(0, 33, 93, 0.95); z-index: 1000; padding-top: 80px; overflow-y: auto;}

.mobile-nav-menu {display: flex; flex-direction: column; align-items: center; gap: 30px; padding: 20px;}
.mobile-nav-menu a {color: white; font-size: 18px; text-decoration: none; text-transform: uppercase; padding: 15px 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.2); width: 100%; text-align: center; max-width: 300px;}
.mobile-nav-menu a:last-child {border-bottom: none;}
.mobile-nav-menu a:hover {background-color: rgba(255, 255, 255, 0.1); border-radius: 8px;}

.mobile-submenu {display: none; flex-direction: column; gap: 15px; margin-top: 15px; padding-left: 20px;}
.mobile-submenu a {font-size: 16px; text-transform: none; padding: 10px 15px; border-bottom: 1px solid rgba(255, 255, 255, 0.1);}

.mobile-submenu-toggle {position: relative;}
.mobile-submenu-toggle::after {content: '▼'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 12px; transition: transform 0.3s;}
.mobile-submenu-toggle.active::after {transform: translateY(-50%) rotate(180deg);}

@media (max-width: 768px) {
	.burger-menu {display: flex;}
	nav {display: none !important;}
	.mobile-nav-overlay.active {display: block;}
}

@media (max-width: 480px) {
	.mobile-nav-menu a {font-size: 16px; padding: 12px 15px;}
	.mobile-submenu a {font-size: 14px; padding: 8px 12px;}
}

		   @font-face {
			   font-family: 'Lato';
			   font-weight: normal;
			   font-style: normal;
			   src: url('/Grace/Projects/Ecoli/Design/Fonts/Lato-Regular.ttf');
		   }
		   @font-face {
			   font-family: 'Lato';
			   font-weight: 800;
			   font-style: normal;
			   src: url('/Grace/Projects/Ecoli/Design/Fonts/Lato-Black.ttf');
		   }
		   @font-face {
			   font-family: 'Lato';
			   font-weight: bold;
			   font-style: normal;
			   src: url('/Grace/Projects/Ecoli/Design/Fonts/Lato-Bold.ttf');
		   }
		   @font-face {
			   font-family: 'Lato';
			   font-weight: 300;
			   font-style: normal;
			   src: url('/Grace/Projects/Ecoli/Design/Fonts/Lato-Light.ttf');
		   }
			:root {
				--font-04akkz: 'Lato', sans-sarif ;
				--lato: var(--font-04akkz);
			}
			