:root { --white: white; --gray: gray; --black: black; --red: #9d0305; }
html { user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; font-size: 100%; -webkit-text-size-adjust: 100%; }
body { background-color: var(--black); }
* { margin: 0; padding: 0; scroll-padding-top: var(--header); font-family: "Montserrat", serif; font-size: 16px; color: inherit; font-weight: 400; text-decoration: none; scroll-behavior: smooth; outline: none; border: none; box-sizing: border-box; }
.c-white { color: var(--white); }
.bc-white { background-color: var(--white); }
.c-gray { color: var(--new); }
.bc-gray { background-color: var(--gray); }
.bc-black { background-color: var(--black); }
.c-red, .h-c-red:hover { color: var(--red); }
.h-bc-red:hover { background-color: var(--red); }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.gap-32 { gap: 32px; }
.font-family { font-family: 'Times New Roman', Times, serif; font-variant: small-caps; }
.honeypot { display: none; }
.table { display: table; }
.block { display: block; }
.flex { display: flex; flex-wrap: wrap; }
.grid { display: grid; }
.space-between { justify-content: space-between; }
.self-center { align-self: center; }
.text-center { text-align: center; }
.column { flex-direction: column; }
.items-center { align-items: center; }
.content-center { justify-content: center; }
.border-radius { border-radius: 24px; }
.border-radius-2, input::file-selector-button { border-radius: 8px; }
.transition { transition: 250ms; }
.underline:hover { text-decoration: underline; }
.pointer:hover, input::file-selector-button:hover { cursor: pointer; }

/* FEJLÉC */
header { z-index: 2; position: sticky; position: -webkit-sticky; top: 0; left: 0; right: 0; }
.auto, nav, section, form { margin: 0 auto; }
nav, section { width: 100%; max-width: 1280px; }
nav { padding: 0 16px; }
.logo { width: auto; height: 72px; }
.logo-text-1 { padding: 8px 0; font-size: 20px; }
.logo-text-2 { font-size: 20px; }

/* FŐOLDAL */
.margin-top-8 { margin-top: 8px; }
.margin-top-16 { margin-top: 16px; }
.margin-top-32 { margin-top: 32px; }
.contact-button, input::file-selector-button, .submit-button { padding: 12px 16px; }
.contact-button:hover { margin: 2px; padding: 10px 14px; }
.main-screen { height: auto; min-height: calc( var(--screen) - var(--header) ); }
.bc-image { background-image: url('image-1.webp'); background-position: center; background-repeat: no-repeat; background-size: cover; }
.main-text-box { width: auto; max-width: calc( 100% - 32px ); backdrop-filter: blur(32px); -webkit-backdrop-filter: blur(32px); }
h4, .h4-text { font-size: 20px; }
ul { width: auto; list-style-type: circle; }
.image-1 { width: auto; }
.image-2 { width: 100%; height: auto; }
.image-3 { width: 100%; max-width: 512px; height: auto; }
.image-4 { width: 100%; max-width: 192px; height: auto; }
.main-contact-box { width: auto; max-width: 512px; }
form, .main-contact-text-box, input { width: 100%; max-width: 400px; }
label { font-size: 20px; }
.contact-field { padding: 16px; width: 100%; }
textarea { height: 160px; resize: vertical; }
footer { padding: 16px; }

@media (max-width: 573px) {
.main-text-box, section { padding: 32px 16px; }
h1, h3, .h3-text { font-size: 32px; }
section { padding: 32px 16px; }
.grid { gap: 32px; grid-template-columns: repeat(1, 1fr); }
h2, h5 { font-size: 22px; }
.image-1 { height: 352px; margin-left: auto; margin-right: auto; }
}

@media (min-width: 574px) { 
.main-text-box, section { padding: 32px; }
h1, h3, .h3-text { font-size: 36px; }
section { padding: 32px; }
.grid { gap: 32px; grid-template-columns: repeat(1, 1fr); }
h2, h5 { font-size: 24px; }
.image-1 { height: 368px; margin-left: auto; margin-right: auto; }
}

@media (min-width: 768px) { 
.main-text-box, section { padding: 48px; }
h1, h3, .h3-text { font-size: 37px; }
section { padding: 48px; }
.grid { gap: 48px; grid-template-columns: repeat(2, 1fr); }
h2, h5 { font-size: 26px; }
.image-1 { height: 384px; margin-right: 0; }
}

@media (min-width: 993px) {
.main-text-box, section { padding: 56px; }
h1, h3, .h3-text { font-size: 44px; }
section { padding: 56px; }
.grid { gap: 56px; grid-template-columns: repeat(2, 1fr); }
h2, h5 { font-size: 28px; }
.image-1 { height: 384px; margin-right: 0; }
}

@media (min-width: 1250px) {
.main-text-box, section { padding: 64px; }
h1, h3, .h3-text { font-size: 48px; }
section { padding: 64px; }
.grid { gap: 64px; grid-template-columns: repeat(2, 1fr); }
h2, h5 { font-size: 30px; }
.image-1 { height: 384px; margin-right: 0; }
}