@charset "utf-8";
/* Leviticus | Mobile Shared CSS | V1.0 */


/* ******************************
   ******** SHARED MOBILE *******
   ****************************** */

@media (max-width: 1180px) {

	.container {
		width: min(100% - 44px, 1500px);
	}

	.header-inner {
		gap: 24px;
	}

	.site-logo {
		width: 105px;
	}

	.site-logo img {
		margin: 14px;
	}

	.main-nav ul {
		gap: 24px;
	}

	.footer-top {
		grid-template-columns: repeat(3, 1fr);
	}

	.footer-brand {
		grid-column: span 3;
		padding-right: 0;
		padding-bottom: 38px;
		border-right: 0;
		border-bottom: 1px solid rgba(122, 133, 148, .25);
	}

	.certification-list {
		grid-template-columns: repeat(4, 1fr);
	}

}


@media (max-width: 860px) {

	.header-inner {
		position: relative;
		min-height: 76px;
	}

	.site-logo {
		width: 82px;
	}

	.site-logo img {
		margin: 8px;
	}

	.main-nav,
	.header-btn {
		display: none;
	}

	.mobile-toggle {
		display: block;
		margin-left: auto;
	}

	.main-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 200;
		background: #0B0F14;
		border-top: 1px solid rgba(122, 133, 148, .16);
		border-bottom: 1px solid rgba(201, 164, 76, .22);
		box-shadow: 0 16px 30px rgba(0, 0, 0, .35);
	}

	.site-header.nav-open .main-nav {
		display: block;
	}

	.main-nav ul {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.main-nav li {
		width: 100%;
	}

	.main-nav a {
		width: 100%;
		padding: 18px 22px;
		border-bottom: 1px solid rgba(122, 133, 148, .12);
	}

	.main-nav li:last-child a {
		border-bottom: 0;
	}

	.main-nav a::after {
		display: none;
	}

	.mobile-toggle span {
		transition:
			transform .2s ease,
			opacity .2s ease;
	}

	.site-header.nav-open .mobile-toggle span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.site-header.nav-open .mobile-toggle span:nth-child(2) {
		opacity: 0;
	}

	.site-header.nav-open .mobile-toggle span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}

	.footer-inner {
		padding-top: 44px;
	}

	.footer-top {
		grid-template-columns: repeat(2, 1fr);
		gap: 38px 28px;
	}

	.footer-brand {
		grid-column: 1 / -1;
		padding-bottom: 30px;
	}

	.footer-column h3 {
		margin-bottom: 20px;
		font-size: 15px;
		letter-spacing: 1.1px;
	}

	.footer-column h3::after {
		width: 30px;
		margin-top: 11px;
	}

	.footer-column li + li {
		margin-top: 11px;
	}

	.footer-column li a {
		font-size: 13px;
		line-height: 1.45;
	}

	.footer-presence {
		grid-column: 1 / -1;
	}

	.footer-bottom {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 24px 0;
		text-align: center;
	}

	.footer-crafted {
		justify-self: center;
	}

	.certification-list {
		grid-template-columns: repeat(2, 1fr);
	}

}


@media (max-width: 560px) {

	.container {
		width: min(100% - 30px, 1500px);
	}

	.header-inner {
		min-height: 68px;
	}

	.site-logo {
		width: 68px;
	}

	.site-logo img {
		margin: 6px;
	}

	.footer-inner {
		padding-top: 38px;
	}

	.footer-top {
		grid-template-columns: repeat(2, 1fr);
		gap: 34px 20px;
	}

    .footer-brand {
        grid-column: 1 / -1;
        padding-bottom: 26px;
        text-align: center;
    }

    .footer-brand > img {
        width: 160px;
        margin: 0 auto 18px;
    }

    .footer-brand p {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
        font-size: 14px;
    }

	.footer-brand .footer-tagline {
		font-size: 12px;
		letter-spacing: 1.3px;
	}

    .footer-socials {
        justify-content: center;
        gap: 14px;
        padding-top: 8px;
    }

	.footer-socials a {
		width: 22px;
		height: 22px;
	}

	.footer-column h3 {
		margin-bottom: 16px;
		font-size: 14px;
		letter-spacing: 1px;
	}

	.footer-column h3::after {
		width: 28px;
		margin-top: 10px;
	}

	.footer-column li + li {
		margin-top: 10px;
	}

	.footer-column li a {
		padding-left: 14px;
		font-size: 12px;
		line-height: 1.4;
	}

	.footer-column li a::before {
		font-size: 16px;
	}

	.footer-presence {
		grid-column: 1 / -1;
	}

	.presence-item {
		margin-bottom: 18px;
	}

	.footer-certifications {
		margin-top: 42px;
		padding-bottom: 42px;
	}

	.certification-heading {
		margin-bottom: 22px;
		font-size: 12px;
		letter-spacing: 2px;
	}

	.certification-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}

	.certification-list span {
		min-height: 54px;
		padding: 8px;
		font-size: 10px;
	}

	.footer-bottom {
		gap: 14px;
		padding: 22px 0;
		font-size: 12px;
	}

	.footer-legal {
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 10px;
	}

	.footer-legal a {
		padding: 0 12px;
	}

}