:root {
  --szin-hatter: #f3ecdf; --szin-hatter-vilagos: #fffaf0; --szin-hatter-meleg: #e9dcc4;
  --szin-szoveg: #121212; --szin-szoveg-lagy: #4f493f; --szin-kiemelt: #c99200;
  --szin-kiemelt-vilagos: #f4c542; --szin-zold: #596b2f; --szin-zold-vilagos: #e5e8d5;
  --szin-vonal: rgba(138,90,0,.25); --szin-feher: #fffdf8; --arnyek: 0 22px 70px rgba(55,48,39,.14);
  --max-szelesseg: 1180px; --fejlec-magassag: 86px; --ertesites-magassag: 38px;
  --radius-kep: 28px; --radius-doboz: 24px; --atmenet: 650ms cubic-bezier(.22,.75,.2,1);
  --font-cim: Georgia, "Times New Roman", serif; --font-torzs: Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--fejlec-magassag) + 18px); }
body { margin: 0; color: var(--szin-szoveg); background: var(--szin-hatter); font: 17px/1.66 var(--font-torzs); text-rendering: optimizeLegibility; }
body.menu-nyitva { overflow: hidden; }
img { display: block; width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--font-cim); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
h1 em, h2 em { color: var(--szin-kiemelt-vilagos); font-weight: 400; }
h2 { font-size: clamp(2.35rem,4.2vw,4.7rem); }
:focus-visible { outline: 3px solid var(--szin-kiemelt); outline-offset: 4px; }
.tartalmi-keret { width: min(calc(100% - 48px),var(--max-szelesseg)); margin-inline: auto; }
.ugras-tartalomra { position: fixed; z-index: 9999; top: 8px; left: 8px; padding: 10px 14px; color: white; background: var(--szin-szoveg); transform: translateY(-150%); }
.ugras-tartalomra:focus { transform: translateY(0); }
.ertesitesi-sav { position: fixed; z-index: 1003; inset: 0 0 auto; min-height: var(--ertesites-magassag); display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 4px 50px; color: #241700; background: rgba(244,197,66,.94); font-size: .78rem; text-align: center; transition: transform .25s ease; }
.ertesitesi-sav p { margin: 0; }
.ertesitesi-sav button { position: absolute; right: 18px; border: 0; background: transparent; cursor: pointer; font-size: 1.35rem; }
[hidden] { display: none !important; }
.ertesitesi-sav[hidden] + .fejlec, body.ertesites-bezarva .fejlec { top: 0; }
.fejlec { position: fixed; z-index: 1000; inset: var(--ertesites-magassag) 0 auto; height: var(--fejlec-magassag); border-bottom: 1px solid transparent; transition: top .25s ease, background-color .3s ease, border-color .3s ease, backdrop-filter .3s ease; }
.fejlec.gorgetett, .belso-oldal .fejlec { color: var(--szin-szoveg); background: rgba(255,250,240,.92); border-color: var(--szin-vonal); backdrop-filter: blur(18px); }
.fejlec-belso { height: 100%; display: flex; align-items: center; gap: 24px; }
.marka { flex: 0 0 auto; width: 210px; filter: brightness(0) invert(1); transition: filter .3s ease, opacity .2s ease; }
.fejlec.gorgetett .marka, .belso-oldal .marka { filter: none; }
.fo-menu { margin-left: auto; display: flex; align-items: center; gap: 23px; }
.fo-menu a, .fejlec-muveletek a { position: relative; color: white; text-decoration: none; font-size: .8rem; font-weight: 700; letter-spacing: .02em; }
.fejlec.gorgetett .fo-menu a, .fejlec.gorgetett .fejlec-muveletek a, .belso-oldal .fo-menu a, .belso-oldal .fejlec-muveletek a { color: var(--szin-szoveg); }
.fo-menu a::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.fo-menu a:hover::after, .fo-menu a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.fejlec-muveletek { display: flex; align-items: center; gap: 14px; }
.kosar-link span, .mobil-also-menu span { display: inline-grid; min-width: 1.4rem; min-height: 1.4rem; place-items: center; border-radius: 50%; color: #211600; background: var(--szin-kiemelt-vilagos); font-size: .7rem; }
.menu-gomb, .menu-hatter { display: none; }
.hamburger-ikon { display: grid; place-content: center; gap: 5px; }
.hamburger-ikon span { display: block; width: 25px; height: 2px; background: currentColor; transition: transform .26s ease, opacity .2s ease; }
.menu-gomb[aria-expanded="true"] .hamburger-ikon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-gomb[aria-expanded="true"] .hamburger-ikon span:nth-child(2) { opacity: 0; }
.menu-gomb[aria-expanded="true"] .hamburger-ikon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.felirat { margin-bottom: 18px; color: var(--szin-zold); font-size: .74rem; line-height: 1.2; font-weight: 750; letter-spacing: .19em; text-transform: uppercase; }
.gomb { display: inline-flex; align-items: center; gap: 16px; min-height: 48px; padding: 12px 21px; border: 1px solid currentColor; border-radius: 999px; color: var(--szin-szoveg); background: transparent; text-decoration: none; font-size: .9rem; font-weight: 700; cursor: pointer; transition: transform .25s ease, background-color .25s ease, color .25s ease; }
.gomb:hover, .gomb:focus-visible { transform: translateY(-2px); color: var(--szin-feher); background: var(--szin-szoveg); }
.gomb-vilagos { color: white; }
.gomb-vilagos:hover { color: var(--szin-szoveg); background: white; }
.gomb-sor { display: flex; flex-wrap: wrap; gap: 12px; }
.hero { position: relative; min-height: min(940px,100svh); overflow: hidden; display: flex; align-items: flex-end; color: white; }
.hero-kep, .hero-fatyol { position: absolute; inset: 0; }
.hero-kep img { height: 100%; object-fit: cover; object-position: center 48%; transform: scale(1.04); animation: hero-zoom 14s ease-out both; }
@keyframes hero-zoom { to { transform: scale(1); } }
.hero-fatyol { background: linear-gradient(90deg,rgba(25,17,5,.78),rgba(25,17,5,.22) 62%,rgba(25,17,5,.08)),linear-gradient(0deg,rgba(25,17,5,.55),transparent 58%); }
.hero-belso { position: relative; z-index: 2; width: min(calc(100% - 48px),var(--max-szelesseg)); margin: 0 auto; padding: 190px 0 84px; }
.hero .felirat { color: #ffe49b; }
.hero h1 { max-width: 930px; margin-bottom: 34px; color: white; font-size: clamp(4.4rem,9.2vw,9rem); }
.hero-szoveg { max-width: 520px; margin-left: min(18vw,205px); }
.hero-szoveg p { font-size: 1.06rem; }
.hero-oldaljel { position: absolute; z-index: 2; right: 30px; top: 50%; writing-mode: vertical-rl; transform: translateY(-40%) rotate(180deg); font-size: .68rem; letter-spacing: .19em; text-transform: uppercase; opacity: .75; }
.bevezeto-szalag { padding: 105px 0; background: var(--szin-hatter-vilagos); }
.bevezeto-belso { width: min(calc(100% - 48px),var(--max-szelesseg)); margin: auto; display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(50px,8vw,120px); align-items: center; }
.nagy-mondat { margin: 0; font: 400 clamp(2.4rem,4vw,4.45rem)/1.08 var(--font-cim); }
.nagy-mondat em { color: var(--szin-kiemelt); }
.ertek-kartya { padding: 30px; border-radius: 0 38px 38px; background: #f3d98d; box-shadow: var(--arnyek); }
.ertek-kartya span { display: block; margin-bottom: 14px; color: var(--szin-kiemelt); font-size: 1.35rem; }
.ertek-kartya p { margin: 0; font-size: .94rem; }
.tortenet { padding: 115px 0 25px; }
.tortenet-blokk { width: min(calc(100% - 48px),var(--max-szelesseg)); margin: 0 auto 145px; display: grid; grid-template-columns: minmax(0,1.03fr) minmax(360px,.82fr); gap: clamp(46px,7vw,94px); align-items: center; }
.tortenet-blokk.forditott { grid-template-columns: minmax(360px,.82fr) minmax(0,1.03fr); }
.tortenet-blokk.forditott .blokk-kep { grid-column: 2; grid-row: 1; }
.tortenet-blokk.forditott .blokk-szoveg { grid-column: 1; grid-row: 1; }
.blokk-kep img { aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-kep); box-shadow: var(--arnyek); }
.blokk-szoveg { padding: 22px 0; }
.blokk-szoveg h2 { margin-bottom: 28px; }
.blokk-szoveg h2 em { color: var(--szin-kiemelt); }
.blokk-szoveg > p:not(.felirat) { max-width: 560px; color: var(--szin-szoveg-lagy); }
.blokk-szoveg .gomb { margin-top: 17px; }
.reveal, .reveal-image, .reveal-text { opacity: 0; transition: opacity var(--atmenet),transform var(--atmenet),clip-path var(--atmenet); }
.reveal { transform: translateY(28px); }
.reveal-image.balra { transform: translateX(-58px); clip-path: inset(0 12% 0 0 round var(--radius-kep)); }
.reveal-image.jobbra { transform: translateX(58px); clip-path: inset(0 0 0 12% round var(--radius-kep)); }
.reveal-text { transform: translateY(34px); }
.reveal.is-visible, .reveal-text.is-visible { opacity: 1; transform: none; }
.reveal-image.is-visible { opacity: 1; transform: none; clip-path: inset(0 round var(--radius-kep)); }
.reveal-delay-1 { transition-delay: 110ms; } .reveal-delay-2 { transition-delay: 220ms; }
.kartya-szekcio { width: min(calc(100% - 48px),var(--max-szelesseg)); margin: 20px auto 130px; }
.kartya-szekcio-fej { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 34px; }
.kartya-szekcio-fej h2 { max-width: 780px; margin: 0; }
.lapozo-gombok { display: flex; gap: 10px; }
.lapozo-gombok button { width: 48px; height: 48px; border: 1px solid var(--szin-vonal); border-radius: 50%; background: rgba(255,255,255,.55); cursor: pointer; }
.kartya-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(310px,38%); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: 6px 2px 18px; }
.kategoria-kartya { scroll-snap-align: start; overflow: hidden; border-radius: var(--radius-doboz); background: var(--szin-hatter-vilagos); box-shadow: var(--arnyek); }
.kategoria-kartya img { aspect-ratio: 4/3; object-fit: cover; }
.kategoria-kartya div { padding: 25px; }
.kategoria-kartya h3 { margin-bottom: 18px; font: 400 1.85rem/1.08 var(--font-cim); }
.zaras-szakasz { padding: 120px 24px; text-align: center; background: #e5d49b; }
.zaras-belso { max-width: 880px; margin: auto; }
.zaras-szakasz h2 { margin-bottom: 34px; font-size: clamp(3.2rem,6.8vw,7rem); }
.zaras-szakasz h2 em { color: var(--szin-kiemelt); }
.zaras-szakasz p:not(.felirat) { max-width: 650px; margin: 0 auto 30px; }
.zaras-szakasz .gomb-sor { justify-content: center; }
.gomb-atlatszo { background: rgba(255,255,255,.38); }
.egyszeru-oldal { min-height: 70vh; padding-top: calc(var(--ertesites-magassag) + var(--fejlec-magassag) + 80px); padding-bottom: 100px; }
.termek-racs { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin-top: 40px; }
.termek-kartya { overflow: hidden; border-radius: var(--radius-doboz); background: var(--szin-feher); box-shadow: var(--arnyek); }
.termek-kartya > img { aspect-ratio: 3/2; object-fit: cover; }
.termek-kartya-tartalom { padding: 20px; }
.termek-kartya h3 { margin-bottom: 8px; font: 400 1.45rem/1.1 var(--font-cim); }
.termek-kartya p { margin-bottom: 8px; }
.kategoria { color: var(--szin-zold); font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.ar { font-weight: 800; }
.lablec { padding: 54px 0 26px; color: white; background: #211a11; }
.lablec-racs { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 35px; }
.lablec-racs > div { display: grid; align-content: start; gap: 7px; }
.lablec p { color: #d8cbb8; }
.jogi-sor { margin: 35px 20px 0; text-align: center; color: #b9ac99; font-size: .78rem; }
.mobil-also-menu { display: none; }
