:root {
	--bg: #ffffff;
	--surface: #ffffff;
	--text: #000000;
	--muted: #000000;
	--line: #A32300;
	--accent: #a32300;
	--modal-accent: #9b2405;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
    font-family: 'Helvetica', sans-serif;
	color: var(--text);
}

html{
	scroll-behavior: smooth;
}

input, button, textarea{
    appearance: none;
    border: none;
    background: none;
    outline: none;
}


input:focus::placeholder, 
textarea:focus::placeholder {
  color: transparent !important;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: transparent !important;
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder{
  color: transparent !important;
}

input:focus:-ms-input-placeholder {
  color: transparent !important;
}

input:focus::-ms-input-placeholder,
textarea:focus::-ms-input-placeholder{
  color: transparent !important;
}

::selection {
	color: #A32300;
	background: #ffffff;
}

::-moz-selection {
	color: #A32300;
	background: #ffffff;
}

mark {
	background: transparent;
	color: #A32300;
}

.container {
	width: min(1120px, 92%);
	margin: 0 auto;
}

.section {
	padding: 28px 0;
}

a {
	color: var(--text);
	text-decoration: none;
}

.button:focus-visible,
a:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.header a:hover,
.footer a:hover {
	color: var(--accent);
}


/* header */

header {
    padding: 0;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0;
    background: #FFF;
    z-index: 1111;
}
header .container {
    display: grid;
    grid-template-columns: 183px 1fr auto;
    align-items: center;
    gap: 18px;
    width: 100%;
    max-width: 1256px;
    padding: 0 20px;
    height: 100%;
}
.header__logo {
	display: flex;
}
.header__logo img {
	display: block;
	width: 183px;
	height: auto;
}
.header__nav {
	display: flex;
    justify-content: center;
    height: 100%;
}
.header__nav ul{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 48px;
	flex-wrap: wrap;
	list-style-type: none;
    height: 100%;
}
.header__nav ul li,
.header__nav ul a{
    height: 100%;
}
.header__nav a {
    display: flex;
    align-items: center;
    justify-content: center;
	font-weight: 700;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	vertical-align: middle;
	padding: 0 8px;
    border-left: 4px solid transparent;
}
.header__nav a.active{
    border-left: 4px solid #A32300;
    color:#A32300;
}
.menu-toggle {
	display: none;
	border: 1px solid rgba(0, 0, 0, 0.2);
	background: #ffffff;
	width: 42px;
	height: 42px;
	padding: 10px 8px;
	border-radius: 8px;
	cursor: pointer;
}

.menu-toggle span {
	display: block;
	width: 100%;
	height: 2px;
	background: #000000;
	transition: transform 0.25s ease, opacity 0.2s ease;
	transform-origin: center;
}

.menu-toggle span + span {
	margin-top: 6px;
}

body.menu-open .menu-toggle span:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

body.menu-open .menu-toggle span:nth-child(2) {
	opacity: 0;
}

body.menu-open .menu-toggle span:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}


.header__langs {
	display: flex;
	align-items: center;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.header__langs *{
	color: #71717A !important;
}
.header__langs svg {
	margin-right: 8px;
	flex: 0 0 auto;
}
.header__langs-wrap span{ 
	font-weight: 700;
}
.menu-backdrop {
	position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
	background: rgba(0, 0, 0, 0.35);
	z-index: 999;
}

@media (max-width: 1100px) {
	header .container {
		grid-template-columns: 1fr auto auto;
		justify-items: stretch;
	}
    .header__nav ul{
        flex-direction: column;
        flex-wrap: unset;
        align-items: flex-start;
        gap: 16px;
    }
    .header__nav ul,
    .header__nav ul li, 
    .header__nav ul a{
        height: auto;
    }
    .header__nav ul a{
        justify-content: flex-start;
    }

	.header__logo img {
		width: 100px;
		height: auto;
	}

	.menu-toggle {
		display: block;
		z-index: 1001;
		order: 3;
	}
	.header{
		padding: 10px 0;
	}

	.header__langs {
		order: 2;
	}

	.header__nav {
		position: fixed;
		top: 0;
		right: 0;
		width: min(320px, 88vw);
		height: 100dvh;
		z-index: 1000;
		background: #ffffff;
		box-shadow: -14px 0 35px rgba(0, 0, 0, 0.18);
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 2px;
		padding: 78px 20px 22px;
		transform: translateX(105%);
		transition: transform 0.28s ease;
	}

	body.menu-open .header__nav {
		transform: translateX(0);
	}

	.header__nav a {
		width: 100%;
		padding: 12px 10px;
	}
}


/* hero */
.hero {
	padding: 96px 0;
    position: relative;
}
.hero-bg{
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    opacity: 0.4;
    background: #F3F3F4;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}
.hero-image{
    position: absolute;
    right: 0;
    bottom: 0px;
    width: 498px;
    height: auto;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}
.hero .container{
    position: relative;
    z-index: 2;
}
.hero__title {
	font-weight: 700;
	font-size: 113px;
	line-height: 113px;
	letter-spacing: -6.4px;
	text-transform: uppercase;
}
.hero__title span {
	display: inline-block;
	color:#A32300;
}
.hero__text {
	margin-top: 32px;
	max-width: 768px;
	font-weight: 500;
	font-size: 23px;
	line-height: 32px;
	letter-spacing: -0.6px;
	text-transform: uppercase;
	padding-left: 32px;
	border-left: 8px solid #000000;
}
.hero__text *{
	color: #52525B;
}
.hero__text p:not(:last-child){
	margin-bottom: 10px;
}

.hero__button {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 48px;
	height: 68px;
	width: 400px;
	transition: 0.25s ease;
	background: linear-gradient(0deg, #791800 0%, #A32300 100%);
	font-weight: 700;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: #ffffff;
	transition: opacity 0.25s ease;
}

.hero__button:hover {
	opacity: 0.8;
}

.hero__button {
	border: none;
	cursor: pointer;
	font-family: inherit;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 1100px) {
	.hero__title {
		font-size: clamp(2rem, 9vw, 3.25rem);
		line-height: 1.02;
		letter-spacing: -0.04em;
	}
	.hero__title span {
		font-size: inherit;
		line-height: inherit;
		letter-spacing: inherit;
	}
	.hero__text {
        max-width: unset;
		margin-top: 20px;
		font-size: 16px;
		line-height: 24px;
		letter-spacing: -0.2px;
		padding-left: 16px;
		border-left-width: 4px;
	}
	.hero__button {
		width: 100%;
		max-width: 100%;
		height: 56px;
		margin-top: 28px;
		font-size: 15px;
		line-height: 20px;
		letter-spacing: 1.4px;
	}
}
@media (max-width: 676px){
	.hero {
		padding: 80px 0;
	}
	.hero__text{
		font-size: 14px;
		line-height: 20px;
	}
}


/* modal */
.contact-modal {
	position: fixed;
	inset: 0;
	z-index: 1112;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.contact-modal[hidden] {
	display: none !important;
}

#contact-form-panel[hidden],
#contact-success-panel[hidden] {
	display: none !important;
}

.contact-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
}
.contact-modal__body {
	position: relative;
}
.contact-modal__panel {
	position: relative;
	z-index: 1;
	width: 100%;
    max-width: 652px;
	overflow: auto;
	background: #ffffff;
	padding: 60px 30px 30px 30px;
}
.contact-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
    width: 24px;
    height: 24px;
	border: none;
	border-radius: 50%;
	background: var(--modal-accent);
	color: #ffffff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contact-modal__close:hover {
	opacity: 0.9;
}
.contact-modal__title {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: -1.5px;
    text-transform: uppercase;
}
.contact-modal__subtitle {
    margin-top: 24px;
    color: #52525B;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 162.5%;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}
.contact-form{
    margin-top: 52px;
}
.contact-form__row p{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.contact-form__row  br{
	display: none;
}
.wpcf7-spinner{
    position: absolute;
}
.wpcf7-not-valid-tip{
    font-size: 11px;
    margin-top: 3px;
}
.wpcf7-response-output{
	display: none;
}
.contact-form__field input {
	width: 100%;
    height: 40px;
	padding: 0 16px;
	border: 1px solid #000000;
	background: #ffffff;
    font-size: 14px;
    font-weight: 400;
    line-height: 22.75px;
    letter-spacing: 0.35px;
    text-transform: uppercase;
	color: #000000;
    display: flex;
    align-items: center;
}
.contact-form__field input::placeholder {
	color: #52525B;
}
.contact-form__field--full {
	display: block;
	margin-top: 16px;
}
.contact-form__submit {
	width: 100%;
	margin-top: 32px;
	height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
	border: none;
	background: linear-gradient(0deg, #791800 0%, #A32300 100%);
	color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.contact-form__submit:hover {
	opacity: 0.92;
}

.contact-modal__home {
	margin-top: 52px;
}

@media (max-width: 676px) {
    .contact-modal{
        padding: 20px;
    }
	.contact-form__row p{
		grid-template-columns: 1fr;
        gap: 16px;
	}
	.contact-modal__panel {
		padding: 60px 20px 20px 20px
	}
	.contact-modal__title {
		font-size: 20px;
	}
    .contact-modal__home, .contact-form__submit{
        font-size: 14px;
    }
    .contact-modal__close{
        top: 10px;
        right: 10px;
    }
}


/* trade cards */

.trade-section {
	background: #F3F3F4;
	padding: 65px 0 102px;
}
.section-heading {
    color: #000;
    font-size: 60px;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}
.cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 43px;
	gap: 0;
}
.card {
	background: #ffffff;
	padding: 52px 48px;
	display: flex;
	flex-direction: column;
}
.card:nth-child(2){
	background: #E8E8E8;
}
.trade-card-icon{
	margin-bottom: 20px;
	display: flex;
}
.trade-card-heading{
    color: #000;
    font-size: 30px;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: -1.5px;
    text-transform: uppercase;
	margin-bottom: 20px;
    min-height: 144px;
}
.trade-card-text{
    font-size: 14px;
    font-weight: 500;
    line-height: 162.5%;
    letter-spacing: 0.35px;
    text-transform: uppercase;
	margin-bottom: 56px;
    min-height: 137px;
    margin-bottom: auto;
}
.trade-card-text *{
    color: #52525B;
}
.trade-card-text p:not(:last-child){
	margin-bottom: 10px;
}
.trade-card-line{
	display: block;
	width: 80px;
	height: 4px;
	background: #A32300;
    margin-top: 20px;
}
.card:nth-child(2) .trade-card-line{
	background: #000000;
}


@media (max-width: 1100px) {
	.cards{
		grid-template-columns: 1fr;
	}
	.trade-card-heading {
		font-size: 20px;
		line-height: 1.2;
		letter-spacing: -0.8px;
		margin-bottom: 12px;
        min-height: unset;
	}
	.trade-card-text {
		margin-bottom: 24px;
		font-size: 14px;
		line-height: 20px;
		letter-spacing: 0.2px;
        min-height: unset;
	}
	.trade-card-line {
		width: 64px;
		height: 3px;
	}
}

@media (max-width: 991px){
	.section-heading {
		font-size: clamp(2.25rem, 8vw, 3.25rem);
		line-height: 1.1;
		letter-spacing: -3px;
	}
}
@media (max-width: 676px){
	.trade-section {
		padding: 80px 0;
	}
    .card{
        padding: 40px 20px;
    }
}


/* Certificates */
.certificates {
	background: #121212;
	padding: 128px 0 160px 0;
	position: relative;
}
.certificates *{
	color: #E2E2E2;
}
.certificates .container{
    width: min(1087px, 92%);    
}
.certificates-head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.certificates-heading{
	font-weight: 700;
	font-size: 60px;
	line-height: 60px;
	letter-spacing: -3px;
	text-transform: uppercase;
}
.certificates__meta{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 53px;
	padding: 0 16px;
	gap: 16px;
	background-color: #353535;
	font-weight: 700;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 2.4px;

}
.certificates-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-top: 64px;
}

.certificates-grid a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	justify-content: center;
	background-color: #1B1B1B;
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	font-weight: 700;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 1.2px;
	text-align: center;
	text-transform: uppercase;
	color: #A98A82;
	padding: 0 10px;
}
.moving-line {
	position: absolute;
	bottom: 5px;
	left: 0;
	width: 100%;
	height: auto;
	background-color: #A32300;
	overflow: hidden;
	white-space: nowrap;
	padding: 8px 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.moving-line__track {
	display: inline-flex;
	gap: 36px;
	min-width: max-content;
	animation: lineScroll 14s linear infinite;
}

.moving-line__track span {
	color: #FFB9A8;
	font-weight: 700;
	font-size: 10px;
	line-height: 15px;
	letter-spacing: 1px;
	text-transform: uppercase;

}

@keyframes lineScroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-33.333%);
	}
}

@media (max-width: 1100px){
	.certificates-head{
		flex-direction: column;
		gap: 20px;
		align-items: flex-start;
		justify-content: flex-start;
	}
}
@media (max-width: 991px){
	.certificates-grid{
			grid-template-columns: repeat(2, minmax(0, 1fr));
	}  
	.certificates-heading{
		font-size: clamp(2rem, 10vw, 3.25rem);
		line-height: 1.1;
	}
}
@media (max-width: 676px){
	.certificates-grid a{
		font-size: 10px;
	}
	.certificates-grid a svg{
        width: 40px;
        height: auto;
	}
	.certificates {
		padding: 80px 0 110px;
	}
}




/* Footer */
.footer {
	background: #F3F3F4;
	padding: 68px 0 86px
}
.footer .container{
	max-width: 1224px;
	padding: 0 20px;
	width: 100%;
}
.footer__grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 48px;
}
.footer-logo{
	display: block;
}
.footer__text{
	margin-top: 23.3px;
	font-weight: 400;
	font-size: 12px;
	line-height: 19.5px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: #52525B;
}
.footer-lines{
	margin-top: 40px;
	display: flex;
	align-items: center;
	gap: 16px;
}
.footer-lines span{
	width: 32px;
	height: 4px;
	display: block;
	background-color: #000000;
}
.footer-lines span:first-child{
	background-color: #A32300;
}
.footer-col-title{
	font-weight: 700;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color:#000000;
	margin-bottom: 32px;
}
.footer-col-text{
	font-weight: 400;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: -0.3px;
	text-transform: uppercase;
	color: #52525B;
}
.footer-menu ul{
	list-style-type: none;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.footer-menu a{
	display: flex;
    align-items: center;
    height: 24px;
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: -0.3px;
	text-transform: uppercase;
	text-decoration: underline;
	text-decoration-style: solid;
	text-underline-offset: 2px;
    color: #52525B;
}
.footer-contacts{
	background-color: #FFFFFF;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.footer-contacts a{
	display: block;
	font-weight: 700;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 0px;
	color: #A32300;
}
.footer-contacts-bottom{
    display: flex;
	margin-top: 48px;
	flex-direction: column;
	gap: 5px;
}
.footer-contacts-bottom p{
	font-weight: 500;
	font-size: 10px;
	line-height: 15px;
	letter-spacing: -0.5px;
	text-transform: uppercase;
	color:#71717A;
}
.footer-contacts-bottom a{
	color:#71717A;
	text-decoration: underline;
    text-underline-offset: 1px;
}

@media (max-width: 991px){
	.footer__grid{
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 676px){
	.footer__grid{
		grid-template-columns: 1fr;
	}
}


/* rules pages */

.polmaris-page{
	padding: 100px 0;
}
.polmaris-page-heading{
	font-size: 40px;
    text-align: center;
    line-height: 1;
    font-weight: 700;
}
.polmaris-page-content{
	margin-top: 50px;
}
.polmaris-page-content *{
	font-size: 16px;
	line-height:110%;
}
.polmaris-page-content :not(:last-child){
	margin-bottom: 20px;
}
.polmaris-page-content ul,
.polmaris-page-content ol{
	padding-left: 30px;
}
.polmaris-page-content h2,
.polmaris-page-content h3{
	font-size: 20px;
	margin-top: 50px !important;
}