:root {
--bg: #0a0a0a; /* fő háttér */
--text: #f8fafc; /* normál szöveg */
--primary: #7a0f1c; /* bordó (brand accent) */
--secondary: #0a0a0a; /* alternáló szekció háttér */
--footer: #0a0a0a;
--radius: 14px;
}


/* =====================
   Base
===================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

* { box-sizing: border-box; }

body {
margin: 0;
font-family: Inter, SF Pro Display, Segoe UI, system-ui, -apple-system, sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.6;
}

.ref { 
  color: inherit;               /* body szöveg színe */
  text-decoration: underline;
}

.ref:hover,
.ref:active {
  color: inherit;               /* nem változik a szín hoverkor / activekor */
  text-decoration: underline;   /* aláhúzás marad */
}



.container { max-width: 980px; margin: auto; padding: 0 1.2rem; }

.header {
backdrop-filter: blur(12px);
position: sticky;
top: 0;
z-index: 10;
}

.header-grid { display: flex; justify-content: space-between; align-items: center; }

.logo { font-weight: 600; font-size: 1.1rem; }

.lang-switch a { text-decoration: none; color: var(--text); margin-left: .8rem; font-size: .9rem; }

.hero {
background: radial-gradient(1200px circle at 10% 10%,  transparent),
radial-gradient(800px circle at 90% 20%, transparent);
}

.hero h1 {
font-size: 2.4rem;
font-weight: 600;
letter-spacing: -0.03em;
color: var(--primary);
}

.hero p { font-size: 1.1rem; }


.section { padding: 3rem 0; }
.section.alt { background: var(--secondary); }
.section h2 {
color: var(--primary);
font-weight: 600;
letter-spacing: -0.01em;
}


.footer {
background: var(--footer);
color: white;
padding: 1.5rem 0;
margin-top: 3rem;
font-size: .9rem;
}


.contact-form {
display: grid;
gap: 1rem;
max-width: 520px;
}
.contact-form input,
.contact-form textarea {
background: #0f0f0f;
color: var(--text);
border: 1px solid #222;
}
.contact-form input:focus,
.contact-form textarea:focus {
border-color: var(--primary);
outline: none;
}

.contact-form button {
background: var(--primary);
color: white;
border: none;
padding: .9rem 1.2rem;
font-weight: 600;
cursor: pointer;
}


.logo-image {
  width: 200px;
  max-width: 50%;
  height: auto;
}

/* Responsive */
@media (max-width: 700px) {
.hero h1 { font-size: 2rem; }
}