/* ZGR LED & Neon — a /minta/ megjelenése Elementorra fordítva.
   Az osztályok z- előtagot kapnak, hogy ne ütközzenek a téma és az Elementor osztályaival. */

/* ---------- saját tárhelyről töltött Jost (latin + latin-ext) ---------- */
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jost-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jost-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/jost-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/jost-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- tokenek ---------- */
:root{
  --z-white:#FFFFFF; --z-paper:#F8F8F8; --z-ink:#111111; --z-text:#6B6B6B; --z-muted:#8E8E8E; --z-line:#E6E6E6;
  --z-orange:#FF5A1F; --z-gold:#E9B44C; --z-cyan:#17B8D9; --z-violet:#8E6BFF; --z-lime:#8FC832;
  --z-night:#131315; --z-wrap:1240px; --z-gut:clamp(16px,4vw,40px);
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
body.zgr{margin:0; background:var(--z-white); color:var(--z-text); font:400 16px/1.7 "Jost",system-ui,-apple-system,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased}
.zgr a{color:inherit; text-decoration:none}
.zgr :focus-visible{outline:2px solid var(--z-orange); outline-offset:3px}
.zgr img{max-width:100%; height:auto}

/* ---------- Elementor-alapértékek semlegesítése a saját elemeinknél ---------- */
.zgr .e-con{--padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px 0px; --row-gap:0px; --column-gap:0px; --widgets-spacing:0px 0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px}
.zgr .elementor-widget:not(:last-child){margin-block-end:0}
.zgr :where(.elementor-widget[class*=" z-"]) .elementor-heading-title{font:inherit; color:inherit; letter-spacing:inherit; text-transform:inherit; line-height:inherit; margin:0; padding:0}
.zgr :where(.elementor-widget[class*=" z-"]) .elementor-heading-title a{color:inherit}
.zgr .elementor-widget-text-editor[class*=" z-"] p{margin:0}
.zgr .elementor-widget-text-editor[class*=" z-"] p + p{margin-top:1em}

.zgr .e-con.z-wrap{max-width:var(--z-wrap); width:100%; margin-inline:auto; padding-inline:var(--z-gut)}
.zgr .z-eyebrow{font:500 12px/1.4 "Jost",sans-serif; letter-spacing:.22em; text-transform:uppercase; color:var(--z-muted)}
.zgr .e-con.z-section{padding-block:clamp(72px,9vw,128px)}
.zgr .e-con.z-section--paper{background:var(--z-paper)}

/* ---------- gombok és linkek ---------- */
.zgr .z-btn .elementor-button{display:inline-flex; align-items:center; justify-content:center; gap:10px; font:500 13px/1 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; padding:17px 30px; border:1px solid var(--z-ink); border-radius:0; background:var(--z-ink); color:#fff; white-space:nowrap; transition:background .25s,color .25s,border-color .25s; box-shadow:none}
.zgr .z-btn .elementor-button:hover, .zgr .z-btn .elementor-button:focus-visible{background:transparent; color:var(--z-ink)}
.zgr .z-btn--light .elementor-button{background:#fff; color:var(--z-ink); border-color:#fff}
.zgr .z-btn--light .elementor-button:hover, .zgr .z-btn--light .elementor-button:focus-visible{background:transparent; color:#fff}
.zgr .z-btn--ghost .elementor-button{background:transparent; color:#fff; border-color:rgba(255,255,255,.6)}
.zgr .z-btn--ghost .elementor-button:hover, .zgr .z-btn--ghost .elementor-button:focus-visible{background:#fff; color:var(--z-ink); border-color:#fff}
.zgr .z-btn--sm .elementor-button{padding:14px 22px; font-size:12px}
.zgr .z-linkarrow .elementor-button{display:inline-flex; gap:8px; font:500 14px/1 "Jost",sans-serif; letter-spacing:0; text-transform:none; color:var(--z-ink); background:none; border:0; border-bottom:1px solid var(--z-ink); border-radius:0; padding:0 0 6px; transition:color .25s,border-color .25s}
.zgr .z-linkarrow .elementor-button:hover{color:var(--z-orange); border-color:var(--z-orange)}
.zgr .z-fakebtn{font:500 12px/1 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase}
.zgr .z-fakebtn .elementor-heading-title{display:inline-flex; padding:14px 22px; border:1px solid var(--z-ink); background:var(--z-ink); color:#fff; transition:background .25s,color .25s}

/* ---------- felső sáv és fejléc ---------- */
.zgr .e-con.z-topbar{background:#EEF1F3; color:#5B6167; font-size:12.5px; line-height:1.7}
.zgr .e-con.z-topbar-row{flex-direction:row; justify-content:space-between; align-items:center; gap:16px; padding-block:9px}
.zgr .z-topbar-row > .elementor-element{width:auto}
.zgr .z-topbar b{font-weight:500; color:#2D3237}
.zgr .z-topbar a:hover{color:var(--z-orange)}
@media (max-width:760px){ .zgr .z-topbar-mid{display:none} }

.zgr .e-con.z-navbar{background:rgba(255,255,255,.96); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s; z-index:50}
.zgr .e-con.z-navbar.elementor-sticky--effects{border-color:var(--z-line); box-shadow:0 6px 24px rgba(0,0,0,.04)}
.zgr .e-con.z-nav-row{flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:24px; min-height:84px}
.zgr .z-nav-row > .elementor-element{width:auto; flex:0 0 auto}
.zgr .z-brand .elementor-heading-title, .zgr .z-brand .elementor-heading-title a{display:flex; align-items:center; gap:14px; color:var(--z-ink)}
.zgr .z-brand .brand-mark{font:700 28px/1 "Jost",sans-serif; letter-spacing:.03em}
.zgr .z-brand .brand-mark i{font-style:normal; color:var(--z-orange)}
.zgr .z-brand .brand-sub{border-left:1px solid var(--z-line); padding-left:14px; font:500 10.5px/1.4 "Jost",sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--z-muted); white-space:nowrap}
@media (max-width:560px){ .zgr .z-brand .brand-mark{font-size:25px} .zgr .z-brand .brand-sub{padding-left:12px; font-size:9.5px} .zgr .z-brand .elementor-heading-title a{gap:12px} }

.zgr .z-menu .elementor-nav-menu--main .elementor-nav-menu{display:flex; gap:clamp(18px,2.1vw,32px)}
.zgr .z-menu .elementor-nav-menu--main .elementor-item{position:relative; padding:8px 0; font:500 15px/1 "Jost",sans-serif; color:var(--z-ink); white-space:nowrap; background:none}
.zgr .z-menu .elementor-nav-menu--main .elementor-item::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--z-orange); transform:scaleX(0); transform-origin:left; transition:transform .3s; opacity:1}
.zgr .z-menu .elementor-nav-menu--main .elementor-item:hover::after,
.zgr .z-menu .elementor-nav-menu--main .elementor-item:focus-visible::after,
.zgr .z-menu .elementor-nav-menu--main .elementor-item.elementor-item-active::after{transform:scaleX(1)}
.zgr .z-menu .elementor-nav-menu--main .menu-cta{display:none}
.zgr .z-menu .elementor-menu-toggle{width:44px; height:44px; border:1px solid var(--z-line); border-radius:0; background:#fff; color:var(--z-ink); font-size:20px; padding:0; margin:0}
.zgr .z-menu .elementor-menu-toggle svg{fill:var(--z-ink); width:20px; height:20px}
.zgr .z-menu nav.elementor-nav-menu--dropdown{background:#fff; border-top:1px solid var(--z-line); padding:6px var(--z-gut) 22px; box-shadow:0 18px 30px rgba(0,0,0,.06)}
.zgr .z-menu .elementor-nav-menu--dropdown .elementor-item{padding:14px 0; border-bottom:1px solid var(--z-line); font:500 17px/1.4 "Jost",sans-serif; color:var(--z-ink); background:transparent; justify-content:flex-start}
.zgr .z-menu .elementor-nav-menu--dropdown .elementor-item:hover, .zgr .z-menu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{background:transparent; color:var(--z-orange)}
.zgr .z-menu nav.elementor-nav-menu--dropdown .sub-menu{border:0; padding:0; box-shadow:none; background:transparent}
.zgr .z-menu nav.elementor-nav-menu--dropdown .elementor-sub-item{padding:12px 0 12px 18px; border-bottom:1px solid var(--z-line); border-left:0; font:400 16px/1.4 "Jost",sans-serif; color:var(--z-text); background:transparent}
.zgr .z-menu nav.elementor-nav-menu--dropdown .elementor-sub-item:hover, .zgr .z-menu nav.elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active{background:transparent; color:var(--z-orange)}
.zgr .z-menu .elementor-nav-menu--main .sub-menu{min-width:280px; margin-top:0; padding:10px 0; background:#fff; border:1px solid var(--z-line); box-shadow:0 18px 40px rgba(0,0,0,.08)}
.zgr .z-menu .elementor-nav-menu--main .elementor-sub-item{padding:11px 22px; border:0; font:500 15px/1.3 "Jost",sans-serif; color:var(--z-ink); background:transparent; white-space:nowrap}
.zgr .z-menu .elementor-nav-menu--main .elementor-sub-item:hover, .zgr .z-menu .elementor-nav-menu--main .elementor-sub-item:focus-visible, .zgr .z-menu .elementor-nav-menu--main .elementor-sub-item.elementor-item-active{background:transparent; color:var(--z-orange)}
.zgr .z-menu nav.elementor-nav-menu--dropdown .menu-cta a.elementor-item{display:inline-flex; margin-top:18px; padding:14px 22px; border:1px solid var(--z-ink); background:var(--z-ink); color:#fff; font:500 12px/1 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase}

.zgr .e-con.z-header-actions{flex-direction:row; align-items:center; gap:22px}
.zgr .z-header-actions > .elementor-element{width:auto}
.zgr .z-phone{font:500 14px/1 "Jost",sans-serif; color:var(--z-ink); white-space:nowrap}
@media (max-width:1360px){ .zgr .z-phone{display:none} }
@media (max-width:1200px){ .zgr .e-con.z-header-actions{display:none} }

/* ---------- hero slider (Ananke-stílus) ---------- */
.zgr .e-con.z-hero{position:relative; display:block; height:clamp(540px,80vh,800px); overflow:hidden; background:#0B0D18; color:#fff}
.zgr .e-con.z-slide{position:absolute; inset:0; display:block; opacity:0; visibility:hidden; transition:opacity 1.2s ease, visibility 0s linear 1.2s; --glow:#FF6A2B}
.zgr .e-con.z-slide.is-active, .zgr .z-hero:not(.is-ready) > .z-slide:first-child{opacity:1; visibility:visible; transition:opacity 1.2s ease}
.zgr .z-slide.glow-cyan{--glow:#1FD3F2}
.zgr .z-slide.glow-gold{--glow:#F4B740}
.zgr .e-con.z-slide-media{position:absolute; inset:0; overflow:hidden; background-color:#0B0D18; background-size:cover; background-position:center}
.zgr .e-con.z-slide-media::before{content:""; display:block; position:absolute; inset:0; width:100%; height:100%; z-index:1; opacity:1; mix-blend-mode:normal; border:0; border-radius:0; background:linear-gradient(180deg, rgba(14,14,18,0) 55%, rgba(14,14,18,.5) 100%), linear-gradient(90deg, rgba(14,14,18,.62) 0%, rgba(14,14,18,.34) 45%, rgba(14,14,18,.06) 100%)}
.zgr .e-con.z-slide-media::after{content:""; position:absolute; inset:0; z-index:2; background-image:radial-gradient(rgba(0,0,0,.26) 1px, transparent 1.45px); background-size:4px 4px}
@media (max-width:760px){ .zgr .e-con.z-slide-media::before{background:linear-gradient(180deg, rgba(14,14,18,.35) 0%, rgba(14,14,18,.5) 60%, rgba(14,14,18,.62) 100%)} }
@media (prefers-reduced-motion:no-preference){
  .zgr .z-slide.is-active .z-slide-media{animation:zgr-kenburns 9s ease-out both}
  .zgr .z-slide.is-active .z-slide-copy > .elementor-element{animation:zgr-rise .9s cubic-bezier(.2,.7,.2,1) both}
  .zgr .z-slide.is-active .z-slide-copy > .elementor-element:nth-child(2){animation-delay:.08s}
  .zgr .z-slide.is-active .z-slide-copy > .elementor-element:nth-child(3){animation-delay:.16s}
  .zgr .z-slide.is-active .z-slide-copy > .elementor-element:nth-child(4){animation-delay:.24s}
}
@keyframes zgr-kenburns{from{transform:scale(1.07)} to{transform:scale(1)}}
@keyframes zgr-rise{from{transform:translateY(14px)} to{transform:none}}
.zgr .e-con.z-slide-copy{position:relative; z-index:3; height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; text-align:left; padding-block:40px 120px}
@media (min-width:1100px){ .zgr .e-con.z-slide-copy{padding-left:max(var(--z-gut), calc(11vw + 40px - max(0px, (100vw - 1240px) / 2)))} }
.zgr .z-slide-copy > .elementor-element{width:auto; max-width:100%}
.zgr .z-slide-copy > .z-lead{max-width:52ch}
.zgr .z-slide .z-eyebrow{color:rgba(255,255,255,.8)}
.zgr .z-display{font:600 clamp(40px,6.4vw,94px)/1.02 "Jost",sans-serif; letter-spacing:-.025em; color:#fff; margin-top:22px}
.zgr .z-display .elementor-heading-title{max-width:12ch; text-wrap:balance}
.zgr .z-display em{font-style:normal; color:var(--glow); text-shadow:0 0 22px color-mix(in srgb, var(--glow) 55%, transparent), 0 0 64px color-mix(in srgb, var(--glow) 32%, transparent)}
.zgr .z-lead{font:400 clamp(16px,1.3vw,19px)/1.65 "Jost",sans-serif; color:rgba(255,255,255,.84); max-width:52ch; margin-top:22px}
.zgr .e-con.z-cta-row{flex-direction:row; flex-wrap:wrap; gap:14px; justify-content:flex-start; margin-top:36px; width:auto}
.zgr .z-cta-row > .elementor-element{width:auto}
@media (max-width:480px){ .zgr .e-con.z-cta-row{width:100%; gap:10px} .zgr .z-cta-row > .elementor-element{flex:1 1 100%} .zgr .z-cta-row .elementor-button{width:100%} }

.zgr .z-hero-ui-w, .zgr .z-hero-ui-w > .elementor-widget-container{position:static}
.zgr .z-outline{position:absolute; z-index:3; left:14px; top:50%; translate:0 -50%; writing-mode:vertical-rl; transform:rotate(180deg); font:700 clamp(100px,11vw,190px)/1 "Jost",sans-serif; letter-spacing:.02em; color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.2); white-space:nowrap; pointer-events:none; user-select:none}
@media (max-width:1099px){ .zgr .z-outline{display:none} }
.zgr .z-ui{position:absolute; z-index:4; left:0; right:0; bottom:34px; max-width:var(--z-wrap); margin-inline:auto; padding-inline:var(--z-gut); display:flex; align-items:center; justify-content:space-between; gap:24px}
.zgr .z-counter{display:flex; align-items:center; gap:18px; font:500 13px/1 "Jost",sans-serif; letter-spacing:.18em; color:rgba(255,255,255,.88); font-variant-numeric:tabular-nums}
.zgr .z-bars{display:flex; gap:8px}
.zgr .z-bars button{position:relative; width:46px; height:20px; padding:0; border:0; background:none; cursor:pointer; border-radius:0}
.zgr .z-bars button::before{content:""; position:absolute; left:0; right:0; top:9px; height:2px; background:rgba(255,255,255,.3)}
.zgr .z-bars button span{position:absolute; left:0; top:9px; height:2px; width:0; background:#fff}
.zgr .z-bars button.is-active span{animation:zgr-fill 6.5s linear forwards}
.zgr .z-bars button.is-done span{width:100%}
@keyframes zgr-fill{to{width:100%}}
.zgr .z-arrows{display:flex; gap:10px}
.zgr .z-arrows button{width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.5); background:rgba(0,0,0,.14); color:#fff; display:grid; place-items:center; padding:0; cursor:pointer; transition:background .25s,color .25s,border-color .25s}
.zgr .z-arrows button:hover{background:#fff; color:var(--z-ink); border-color:#fff}
@media (max-width:640px){ .zgr .z-arrows{display:none} .zgr .z-ui{justify-content:center; bottom:24px} }

/* Elementor szerkesztőben a diák egymás alatt látszanak, hogy mindegyik szerkeszthető legyen */
.elementor-editor-active .zgr .e-con.z-hero, body.elementor-editor-active .e-con.z-hero{height:auto}
body.elementor-editor-active .e-con.z-slide{position:relative; opacity:1; visibility:visible; min-height:clamp(540px,80vh,800px)}
body.elementor-editor-active .z-ui, body.elementor-editor-active .z-outline{display:none}

/* ---------- bemutatkozás ---------- */
.zgr .e-con.z-intro{text-align:center}
.zgr .z-intro .z-eyebrow{color:var(--z-orange)}
.zgr .z-intro-text{font:400 clamp(22px,2.45vw,34px)/1.45 "Jost",sans-serif; letter-spacing:-.01em; color:var(--z-ink); max-width:900px; margin:24px auto 0; text-wrap:balance}
.zgr .z-intro-text .hl{color:var(--z-orange)}
.zgr .e-con.z-stats{display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(48px,6vw,80px); border-top:1px solid var(--z-line)}
.zgr .e-con.z-stat{padding:34px 16px 0; border-left:1px solid var(--z-line)}
.zgr .e-con.z-stat:first-child{border-left:0}
.zgr .z-stat-num{font:600 clamp(32px,3.3vw,46px)/1 "Jost",sans-serif; letter-spacing:-.02em; color:var(--z-ink); font-variant-numeric:tabular-nums}
.zgr .z-stat-label{margin-top:12px; font:500 12px/1.45 "Jost",sans-serif; letter-spacing:.18em; text-transform:uppercase; color:var(--z-muted)}
@media (max-width:760px){ .zgr .e-con.z-stats{grid-template-columns:repeat(2,1fr)} .zgr .e-con.z-stat:nth-child(3){border-left:0} .zgr .e-con.z-stat{padding-block:26px} }

/* ---------- szakaszfejek ---------- */
.zgr .e-con.z-sec-head{flex-direction:row; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:24px 40px; margin-bottom:clamp(36px,4.5vw,60px)}
.zgr .z-sec-head > .e-con, .zgr .z-sec-head > .elementor-element{width:auto; flex:0 1 auto}
.zgr .z-h2{font:600 clamp(32px,3.8vw,52px)/1.1 "Jost",sans-serif; letter-spacing:-.025em; color:var(--z-ink); margin-top:14px}
.zgr .z-h2 .elementor-heading-title{text-wrap:balance}
.zgr .z-h2 em{font-style:normal; color:var(--z-orange)}
.zgr .e-con.z-side{max-width:42ch; display:flex; flex-direction:column; align-items:flex-start; gap:18px}
.zgr .z-side > .elementor-element{width:auto}

/* ---------- szolgáltatás-csempék ---------- */
.zgr .e-con.z-tiles{display:grid; grid-template-columns:repeat(3,1fr); column-gap:clamp(20px,2.4vw,32px); row-gap:clamp(44px,4.5vw,64px)}
.zgr .e-con.z-tile{display:block; height:100%; color:inherit}
.zgr .c-orange{--c:#FF6A2B} .zgr .c-cyan{--c:#1FD3F2} .zgr .c-violet{--c:#8E6BFF} .zgr .c-lime{--c:#8FC832} .zgr .c-gold{--c:#E9B44C}
.zgr .e-con.z-tile-media{position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:#1C1B1D}
.zgr .z-tile-media > .elementor-widget-image, .zgr .z-tile-media > .elementor-widget-image > .elementor-widget-container{height:100%}
.zgr .z-tile-media img, .zgr .z-feature-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.zgr .z-tile:hover .z-tile-media img{transform:scale(1.045)}
.zgr .z-tile-media > .z-tile-tag{position:absolute; left:16px; top:16px; z-index:2; width:auto}
.zgr .z-tile-tag .elementor-heading-title{display:inline-block; background:rgba(255,255,255,.95); color:var(--z-ink); font:500 11px/1 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; padding:8px 11px}
.zgr .e-con.z-tile-body{display:block; padding-top:22px}
.zgr .z-tile-title::before{content:""; display:block; width:30px; height:3px; border-radius:2px; background:var(--c); box-shadow:0 0 12px color-mix(in srgb, var(--c) 70%, transparent); margin-bottom:16px}
.zgr .z-tile-title{font:500 23px/1.1 "Jost",sans-serif; letter-spacing:-.01em; color:var(--z-ink)}
.zgr .z-tile-text{margin-top:8px; font-size:15.5px; line-height:1.7}
.zgr .z-more{display:inline-block; margin-top:14px; font:500 12.5px/1.7 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--z-ink); transition:color .25s}
.zgr .z-tile:hover .z-more{color:var(--c)}
.zgr .e-con.z-cta-tile{height:100%; min-height:360px; background:var(--z-orange); color:var(--z-ink); padding:clamp(28px,3vw,44px); display:flex; flex-direction:column}
.zgr .z-cta-tile > .elementor-element{width:auto}
.zgr .z-cta-tile .z-eyebrow{color:rgba(17,17,17,.7)}
.zgr .z-cta-title{margin-top:auto; font:600 clamp(32px,3.2vw,46px)/1.02 "Jost",sans-serif; letter-spacing:-.03em; color:var(--z-ink)}
.zgr .z-cta-text{color:rgba(17,17,17,.78); margin-top:14px; max-width:30ch}
.zgr .z-cta-tile .z-fakebtn{align-self:flex-start; margin-top:28px}
.zgr .z-tile:hover .z-fakebtn .elementor-heading-title{background:transparent; color:var(--z-ink)}
@media (max-width:980px){ .zgr .e-con.z-tiles{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .zgr .e-con.z-tiles{grid-template-columns:1fr} }

/* ---------- Égő Arany (Ona "hero minimal": képre átlógó kártya) ---------- */
.zgr .e-con.z-feature-grid{display:grid; grid-template-columns:repeat(12,1fr); align-items:start}
.zgr .e-con.z-feature-media{grid-column:1 / span 8; grid-row:1; display:block; aspect-ratio:4/3; overflow:hidden; background:#0E1428}
.zgr .z-feature-media > .elementor-widget-image, .zgr .z-feature-media > .elementor-widget-image > .elementor-widget-container{height:100%}
.zgr .e-con.z-feature-card{grid-column:7 / span 6; grid-row:1; position:relative; z-index:2; background:var(--z-night); color:#BDB8B0; padding:clamp(32px,4.2vw,64px); margin-top:clamp(80px,11vw,170px); box-shadow:0 30px 70px rgba(0,0,0,.18)}
.zgr .z-feature-card > .elementor-element{width:auto}
.zgr .z-feature-card .z-eyebrow{color:var(--z-gold)}
.zgr .z-card-title{font:600 clamp(30px,3.3vw,46px)/1.1 "Jost",sans-serif; letter-spacing:-.025em; color:#F4F1EC; margin-top:16px}
.zgr .z-card-title em{font-style:normal; color:var(--z-gold); text-shadow:0 0 24px rgba(233,180,76,.45)}
.zgr .z-card-text{margin-top:18px; line-height:1.75}
.zgr .e-con.z-facts{display:grid; grid-template-columns:repeat(3,auto); justify-content:start; gap:28px; margin-top:28px}
.zgr .z-fact-num{font:600 26px/1 "Jost",sans-serif; color:#F4F1EC; font-variant-numeric:tabular-nums}
.zgr .z-fact-label{margin-top:8px; font:500 11px/1.4 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#8C8780}
.zgr .z-press{margin-top:26px; font:500 11.5px/1.6 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#8C8780}
.zgr .z-press p{display:flex; flex-wrap:wrap; gap:6px 0}
.zgr .z-press span + span::before{content:"·"; margin-inline:12px; color:#5C5852}
.zgr .z-feature-card .z-btn{margin-top:32px}
@media (max-width:900px){
  .zgr .e-con.z-feature-media{grid-column:1 / -1}
  .zgr .e-con.z-feature-card{grid-column:1 / -1; grid-row:2; margin:-64px 16px 0}
}
@media (max-width:480px){ .zgr .e-con.z-facts{grid-template-columns:repeat(2,auto)} }

/* ---------- így készül ---------- */
.zgr .e-con.z-steps{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(24px,3vw,48px)}
.zgr .e-con.z-steps::before{content:""; display:block; position:absolute; inset:33px 0 auto 0; width:auto; height:4px; border:0; border-radius:4px; opacity:1; mix-blend-mode:normal; background:var(--z-orange); box-shadow:0 0 10px rgba(255,90,31,.8), 0 0 28px rgba(255,90,31,.45); z-index:0}
.zgr .e-con.z-step{position:relative; z-index:1; display:block}
.zgr .z-num .elementor-heading-title{display:inline-block; position:relative; z-index:1; background:var(--z-paper); padding-right:14px; font:300 64px/1 "Jost",sans-serif; letter-spacing:-.03em; color:var(--z-ink); font-variant-numeric:tabular-nums}
.zgr .z-step-title{font:500 21px/1.1 "Jost",sans-serif; color:var(--z-ink); margin-top:26px}
.zgr .z-step-text{margin-top:10px; font-size:15.5px}
@media (max-width:900px){ .zgr .e-con.z-steps{grid-template-columns:repeat(2,1fr)} .zgr .e-con.z-steps::before{display:none} }
@media (max-width:560px){ .zgr .e-con.z-steps{grid-template-columns:1fr} }

/* ---------- blog lista (shortcode: [zgr_posts]) ---------- */
.zgr .z-posts{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.4vw,32px)}
.zgr .z-post a{display:block; color:inherit}
.zgr .z-post-media{aspect-ratio:16/11; overflow:hidden; background:#1C1B1D}
.zgr .z-post-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.zgr .z-post a:hover .z-post-media img{transform:scale(1.045)}
.zgr .z-post-meta{display:flex; gap:10px; margin-top:22px; font:500 12px/1.4 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-post-meta b{font-weight:500; color:var(--c)}
.zgr .z-post h3{margin:12px 0 0; font:500 22px/1.28 "Jost",sans-serif; letter-spacing:-.015em; color:var(--z-ink); text-wrap:balance}
.zgr .z-post p{margin:10px 0 0; font-size:15.5px; line-height:1.7}
@media (max-width:900px){ .zgr .z-posts{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .zgr .z-posts{grid-template-columns:1fr} }

/* ---------- ajánlatkérő sáv ---------- */
.zgr .e-con.z-band{background:var(--z-night); color:#fff}
.zgr .e-con.z-band-row{flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:32px; padding-block:clamp(56px,7vw,96px)}
.zgr .z-band-row > .elementor-element{width:auto; flex:0 1 auto}
.zgr .z-band-title{font:600 clamp(30px,3.6vw,50px)/1.1 "Jost",sans-serif; letter-spacing:-.025em; color:#fff}
.zgr .z-band-title .elementor-heading-title{max-width:17ch; text-wrap:balance}
.zgr .z-band-title em{font-style:normal; color:var(--z-orange); text-shadow:0 0 20px rgba(255,90,31,.55), 0 0 56px rgba(255,90,31,.3)}
.zgr .e-con.z-band-actions{display:flex; flex-direction:column; align-items:flex-start; gap:14px}
.zgr .z-band-actions > .elementor-element{width:auto}
.zgr .z-band-note{font-size:14px; color:rgba(255,255,255,.62)}
.zgr .z-band-note a:hover{color:#fff}
@media (max-width:480px){ .zgr .e-con.z-band-actions{width:100%} .zgr .z-band-actions > .z-btn, .zgr .z-band-actions .elementor-button{width:100%} }

/* ---------- lábléc ---------- */
.zgr .e-con.z-footer{background:var(--z-paper); padding-block:clamp(64px,7vw,96px) 30px}
.zgr .e-con.z-foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px}
.zgr .e-con.z-foot-col{display:block}
.zgr .elementor-widget.z-foot-h{font:500 12px/1.4 "Jost",sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--z-ink); margin-bottom:18px}
.zgr .z-foot-text{font-size:15px; line-height:1.9; color:var(--z-text)}
.zgr .z-foot-text a{display:block}
.zgr .elementor-widget-text-editor.z-foot-text p + p{margin-top:0}
.zgr .z-foot-text a:hover{color:var(--z-orange)}
.zgr .z-footer .z-brand{margin-bottom:18px}
.zgr .e-con.z-foot-bottom{flex-direction:row; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-top:56px; padding-top:24px; border-top:1px solid var(--z-line); font-size:13px; color:var(--z-muted)}
.zgr .z-foot-bottom > .elementor-element{width:auto}
.zgr .z-foot-bottom a:hover{color:var(--z-orange)}
@media (max-width:900px){ .zgr .e-con.z-foot-grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .zgr .e-con.z-foot-grid{grid-template-columns:1fr} }

/* ---------- aloldalak fejléce ---------- */
.zgr .e-con.z-page-hero{background:var(--z-paper); padding-block:clamp(32px,4vw,56px) clamp(36px,4vw,56px)}
.zgr .z-page-title{font:600 clamp(32px,3.6vw,52px)/1.08 "Jost",sans-serif; letter-spacing:-.025em; color:var(--z-ink)}
.zgr .z-eyebrow + .z-page-title{margin-top:16px}
.zgr .z-page-title .elementor-heading-title{max-width:24ch; text-wrap:balance}
.zgr .elementor-widget.z-page-lead{margin-top:14px; max-width:68ch; font-size:17px; line-height:1.7}
.zgr .elementor-widget.z-breadcrumb{font-size:13px; color:var(--z-muted); margin-bottom:18px}
.zgr .z-breadcrumb a:hover{color:var(--z-orange)}

/* kártyaként linkelt konténerek: a kit link-hover színe ne színezze át a teljes kártyát */
.zgr a.e-con, .zgr a.e-con:hover{color:inherit}

/* ---------- kapcsolat ---------- */
.zgr .e-con.z-contact-grid{display:grid; grid-template-columns:repeat(12,1fr); column-gap:clamp(24px,4vw,64px); row-gap:48px; align-items:start}
.zgr .e-con.z-contact-info{grid-column:1 / span 5; display:block}
.zgr .e-con.z-contact-grid > .z-form-card{grid-column:6 / span 7}
.zgr .e-con.z-contact-list{display:block; margin-top:clamp(28px,3vw,40px); border-top:1px solid var(--z-line)}
.zgr .e-con.z-contact-item{display:grid; grid-template-columns:150px 1fr; gap:6px 24px; padding-block:18px; border-bottom:1px solid var(--z-line)}
.zgr .elementor-widget.z-contact-label{font:500 11.5px/1.9 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-contact-value{font-size:16.5px; line-height:1.75; color:var(--z-ink)}
.zgr .z-contact-value a:hover{color:var(--z-orange)}
@media (max-width:980px){ .zgr .e-con.z-contact-info, .zgr .e-con.z-contact-grid > .z-form-card{grid-column:1 / -1} }
@media (max-width:480px){ .zgr .e-con.z-contact-item{grid-template-columns:1fr; gap:2px} }

.zgr .z-map iframe{display:block; width:100%; height:480px; border:0; filter:grayscale(1) contrast(1.05)}
@media (max-width:600px){ .zgr .z-map iframe{height:360px} }

/* ---------- ajánlatkérés ---------- */
.zgr .e-con.z-quote-grid{display:grid; grid-template-columns:repeat(12,1fr); grid-template-areas:"media media media media media copy copy copy copy copy copy copy" "media media media media media form form form form form form form"; column-gap:clamp(24px,4vw,64px); row-gap:clamp(28px,3vw,40px); align-items:start}
.zgr .e-con.z-quote-copy{grid-area:copy; display:block}
.zgr .e-con.z-quote-media{grid-area:media; display:block; position:sticky; top:110px; aspect-ratio:4/5; overflow:hidden; background:#221A18}
.zgr .z-quote-media > .elementor-widget-image, .zgr .z-quote-media > .elementor-widget-image > .elementor-widget-container{height:100%}
.zgr .z-quote-media img{width:100%; height:100%; object-fit:cover; display:block}
.zgr .e-con.z-quote-form{grid-area:form}
.zgr .z-quote-title{font-size:clamp(36px,4.2vw,60px)}
.zgr .z-quote-title em{font-style:normal; color:var(--z-orange)}
@media (max-width:900px){
  .zgr .e-con.z-quote-grid{grid-template-columns:1fr; grid-template-areas:"copy" "media" "form"}
  .zgr .e-con.z-quote-media{position:relative; top:auto; aspect-ratio:16/10}
}

/* ---------- űrlapok (Forminator, "none" dizájn) ---------- */
.zgr .e-con.z-form-card{display:block; background:var(--z-paper); padding:clamp(24px,3.4vw,48px)}
.zgr .z-form-title{font:600 clamp(26px,2.4vw,34px)/1.15 "Jost",sans-serif; letter-spacing:-.02em; color:var(--z-ink)}
.zgr .elementor-widget.z-form-note{margin-top:10px; font-size:15px}
.zgr .z-form-note a, .zgr .z-form-privacy a{color:var(--z-ink); border-bottom:1px solid currentColor}
.zgr .z-form-note a:hover, .zgr .z-form-privacy a:hover{color:var(--z-orange)}
.zgr .elementor-widget.z-form{margin-top:26px}
.zgr .z-quote-form .elementor-widget.z-form{margin-top:0}
.zgr .elementor-widget.z-form-privacy{margin-top:18px; font-size:13px; line-height:1.6; color:var(--z-muted)}

.zgr .forminator-ui.forminator-custom-form{font:400 16px/1.6 "Jost",sans-serif; color:var(--z-text); margin:0}
.zgr .forminator-ui .forminator-row{margin-bottom:22px}
.zgr .forminator-ui .forminator-row:empty{display:none}
.zgr .forminator-ui .forminator-label{display:block; margin:0 0 8px; font:500 12px/1.4 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--z-ink)}
.zgr .forminator-ui .forminator-required{color:var(--z-orange)}
.zgr .forminator-ui .forminator-description{display:block; margin:-2px 0 10px; font-size:13.5px; line-height:1.55; color:var(--z-muted)}
.zgr .forminator-ui .forminator-input, .zgr .forminator-ui .forminator-textarea{width:100%; box-sizing:border-box; margin:0; padding:14px 16px; font:400 16px/1.5 "Jost",sans-serif; color:var(--z-ink); background:#fff; border:1px solid #D6D6D6; border-radius:0; box-shadow:none; transition:border-color .2s, box-shadow .2s}
.zgr .forminator-ui .forminator-textarea{min-height:150px; resize:vertical}
.zgr .forminator-ui .forminator-input::placeholder, .zgr .forminator-ui .forminator-textarea::placeholder{color:#A3A3A3; opacity:1}
.zgr .forminator-ui .forminator-input:hover, .zgr .forminator-ui .forminator-textarea:hover{border-color:#B5B5B5}
.zgr .forminator-ui .forminator-input:focus, .zgr .forminator-ui .forminator-textarea:focus{outline:0; border-color:var(--z-ink); box-shadow:0 0 0 3px rgba(255,90,31,.18)}
.zgr .forminator-ui .forminator-has_error .forminator-input, .zgr .forminator-ui .forminator-has_error .forminator-textarea{border-color:#D6401A}
.zgr .forminator-ui .forminator-error-message{display:block; margin-top:6px; font-size:13.5px; color:#C8370F}

.zgr .forminator-ui .forminator-checkbox, .zgr .forminator-ui .forminator-radio{position:relative; display:inline-flex; align-items:flex-start; gap:10px; margin:0 22px 10px 0; font-size:15.5px; line-height:1.45; color:var(--z-ink); cursor:pointer}
.zgr .forminator-ui .forminator-checkbox input, .zgr .forminator-ui .forminator-radio input{position:absolute; opacity:0; width:18px; height:18px; margin:0; left:0; top:1px}
.zgr .forminator-ui .forminator-checkbox-box, .zgr .forminator-ui .forminator-radio-bullet{flex:0 0 18px; width:18px; height:18px; margin-top:1px; box-sizing:border-box; border:1px solid #9A9A9A; background:#fff; transition:background .2s, border-color .2s}
.zgr .forminator-ui .forminator-radio-bullet{border-radius:50%}
.zgr .forminator-ui .forminator-checkbox input:checked + .forminator-checkbox-box{background:var(--z-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat; border-color:var(--z-ink)}
.zgr .forminator-ui .forminator-radio input:checked + .forminator-radio-bullet{border-color:var(--z-ink); box-shadow:inset 0 0 0 4px #fff; background:var(--z-ink)}
.zgr .forminator-ui .forminator-checkbox input:focus-visible + .forminator-checkbox-box, .zgr .forminator-ui .forminator-radio input:focus-visible + .forminator-radio-bullet{outline:2px solid var(--z-orange); outline-offset:2px}
.zgr .forminator-ui .forminator-checkbox__wrapper{display:flex; align-items:flex-start; gap:10px}
.zgr .forminator-ui .forminator-consent{margin:0}
.zgr .forminator-ui .forminator-consent__label{font-size:14.5px; line-height:1.55; color:var(--z-text)}

.zgr .forminator-ui .forminator-multi-upload{position:relative; padding:22px; border:1px dashed #B9B9B9; background:#fff; text-align:left}
.zgr .forminator-ui .forminator-multi-upload:hover{border-color:var(--z-ink)}
.zgr .forminator-ui .forminator-input-file{width:100%; font:400 14.5px/1.4 "Jost",sans-serif; color:var(--z-text)}
.zgr .forminator-ui .forminator-input-file::file-selector-button{margin-right:14px; padding:11px 18px; border:1px solid var(--z-ink); border-radius:0; background:#fff; color:var(--z-ink); font:500 12px/1 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background .2s, color .2s}
.zgr .forminator-ui .forminator-input-file::file-selector-button:hover{background:var(--z-ink); color:#fff}
.zgr .forminator-ui .forminator-uploaded-files{list-style:none; margin:10px 0 0; padding:0}
.zgr .forminator-ui .forminator-uploaded-files li{display:flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid var(--z-line); font-size:14px}
.zgr .forminator-ui .forminator-uploaded-files img{width:40px; height:40px; object-fit:cover}
.zgr .forminator-ui .forminator-uploaded-files button{margin-left:auto; padding:4px 8px; border:0; background:none; color:var(--z-muted); cursor:pointer}
.zgr .forminator-ui .forminator-uploaded-files button:hover{color:#C8370F}

.zgr .forminator-ui .forminator-button-submit{display:inline-flex; align-items:center; justify-content:center; margin-top:6px; padding:17px 30px; border:1px solid var(--z-ink); border-radius:0; background:var(--z-ink); color:#fff; font:500 13px/1 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; box-shadow:none; transition:background .25s, color .25s}
.zgr .forminator-ui .forminator-button-submit:hover, .zgr .forminator-ui .forminator-button-submit:focus-visible{background:transparent; color:var(--z-ink)}
@media (max-width:480px){ .zgr .forminator-ui .forminator-button-submit{width:100%} }

.zgr .forminator-ui .forminator-response-message:not(:empty){margin-bottom:22px; padding:16px 18px; border-left:3px solid var(--z-orange); background:#fff; color:var(--z-ink); font-size:15.5px}
.zgr .forminator-ui .forminator-response-message.forminator-error:not(:empty){border-left-color:#C8370F}
.zgr .forminator-ui .forminator-response-message p{margin:0}
.zgr .forminator-ui .forminator-response-message ul{margin:8px 0 0; padding-left:18px}
.zgr .forminator-ui .forminator-hidden{display:none !important}

/* ---------- részletes aloldalak: nagy sötét hero ---------- */
.zgr .e-con.z-svc-hero{position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(520px,74vh,680px); background:#0E0B0A; color:#fff; overflow:hidden}
.zgr .e-con.z-svc-hero-media{position:absolute; inset:0; background-color:#0E0B0A; background-size:cover; background-position:70% center}
.zgr .e-con.z-svc-hero-media::before{content:""; display:block; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,8,8,.84) 0%, rgba(10,8,8,.55) 40%, rgba(10,8,8,.06) 76%), linear-gradient(0deg, rgba(10,8,8,.78) 0%, rgba(10,8,8,0) 42%)}
.zgr .e-con.z-svc-hero-media::after{content:""; position:absolute; inset:0; z-index:2; background-image:radial-gradient(rgba(0,0,0,.22) 1px, transparent 1.45px); background-size:4px 4px}
@media (prefers-reduced-motion:no-preference){ .zgr .z-svc-hero-media{animation:zgr-kenburns 9s ease-out both} .zgr .z-svc-hero-copy > .elementor-element{animation:zgr-rise .9s cubic-bezier(.2,.7,.2,1) both} }
.zgr .e-con.z-svc-hero-copy{position:relative; z-index:3; display:flex; flex-direction:column; align-items:flex-start; padding-top:clamp(90px,10vw,130px); padding-bottom:clamp(40px,5vw,60px)}
.zgr .z-svc-hero-copy > .elementor-element{width:auto; max-width:100%}
.zgr .z-svc-hero-copy > .z-lead{max-width:50ch}
.zgr .z-svc-hero .z-breadcrumb{color:rgba(255,255,255,.6)}
.zgr .z-svc-hero .z-breadcrumb a:hover{color:#fff}
.zgr .z-svc-hero .z-eyebrow{color:rgba(255,255,255,.82)}
.zgr .z-svc-title{font:600 clamp(38px,4.6vw,70px)/1.04 "Jost",sans-serif; letter-spacing:-.025em; color:#fff; margin-top:20px}
.zgr .z-svc-title .elementor-heading-title{max-width:17ch; text-wrap:balance}
.zgr .z-svc-title em{font-style:normal; color:#FF6A2B; text-shadow:0 0 22px rgba(255,106,43,.55), 0 0 64px rgba(255,106,43,.3)}
.zgr .e-con.z-hero-facts{position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,1fr); gap:0 32px; border-top:1px solid rgba(255,255,255,.16); padding-block:22px 26px}
.zgr .z-hero-fact{font-size:14.5px; line-height:1.5; color:rgba(255,255,255,.62)}
.zgr .z-hero-fact strong{font-weight:500; color:#fff}
@media (max-width:760px){
  .zgr .e-con.z-svc-hero-media{background-position:72% center}
  .zgr .e-con.z-svc-hero-media::before{background:linear-gradient(180deg, rgba(10,8,8,.45) 0%, rgba(10,8,8,.7) 55%, rgba(10,8,8,.88) 100%)}
  .zgr .e-con.z-hero-facts{grid-template-columns:1fr; gap:6px}
}

/* ---------- két hasábos szöveg, oldalsó fej, rácsok ---------- */
.zgr .e-con.z-split{display:grid; grid-template-columns:5fr 7fr; gap:clamp(32px,5vw,96px); align-items:start}
.zgr .e-con.z-split-body, .zgr .e-con.z-aside-head{display:block}
.zgr .z-prose{font-size:17.5px; line-height:1.8}
.zgr .elementor-widget-text-editor.z-prose p + p{margin-top:1.1em}
.zgr .e-con.z-stats--3{grid-template-columns:repeat(3,1fr); margin-top:clamp(36px,4vw,56px)}
.zgr .z-split .e-con.z-stat{padding-left:20px}
.zgr .z-split .e-con.z-stat:first-child{padding-left:0}
.zgr .z-split .z-stat-num{font-size:clamp(26px,2.5vw,38px); white-space:nowrap}
.zgr .e-con.z-aside-grid{display:grid; grid-template-columns:4fr 8fr; gap:clamp(32px,5vw,96px); align-items:start}
.zgr .e-con.z-aside-grid > .z-aside-head{position:sticky; top:120px}
.zgr .elementor-widget.z-aside-text{margin-top:18px; max-width:40ch}
.zgr .z-aside-head .z-linkarrow{margin-top:22px}
@media (max-width:900px){
  .zgr .e-con.z-split, .zgr .e-con.z-aside-grid{grid-template-columns:1fr}
  .zgr .e-con.z-aside-grid > .z-aside-head{position:static}
}

/* ---------- kártyák ---------- */
.zgr .e-con.z-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px)}
.zgr .e-con.z-cards--4{grid-template-columns:repeat(4,1fr)}
.zgr .e-con.z-card{display:block; background:#fff; border:1px solid var(--z-line); padding:clamp(26px,2.6vw,36px); transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s}
.zgr .z-section--paper .e-con.z-card{border-color:transparent}
.zgr .e-con.z-card:hover{transform:translateY(-4px); box-shadow:0 22px 44px rgba(0,0,0,.07)}
.zgr .z-card-num{font:300 15px/1 "Jost",sans-serif; letter-spacing:.12em; color:var(--z-muted); font-variant-numeric:tabular-nums}
.zgr .z-card-h{font:500 21px/1.25 "Jost",sans-serif; letter-spacing:-.01em; color:var(--z-ink); margin-top:26px}
.zgr .z-card-h::before{content:""; display:block; width:30px; height:3px; border-radius:2px; background:var(--c,var(--z-orange)); box-shadow:0 0 12px color-mix(in srgb, var(--c,#FF6A2B) 70%, transparent); margin-bottom:18px}
.zgr .elementor-widget.z-card-p{margin-top:10px; font-size:15.5px; line-height:1.7}
.zgr .z-card .z-more{margin-top:16px}
.zgr .z-card .z-more a:hover{color:var(--c)}
@media (max-width:1100px){ .zgr .e-con.z-cards--4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:980px){ .zgr .e-con.z-cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .zgr .e-con.z-cards, .zgr .e-con.z-cards--4{grid-template-columns:1fr} }

/* ---------- sötét szakasz + neon színminták ---------- */
.zgr .e-con.z-section--night{background:var(--z-night); color:#A9A39B}
.zgr .z-section--night .z-h2{color:#F4F1EC}
.zgr .z-section--night .z-h2 em{text-shadow:0 0 20px rgba(255,90,31,.5), 0 0 56px rgba(255,90,31,.28)}
.zgr .z-section--night .z-eyebrow{color:var(--z-gold)}
.zgr .z-section--night .z-linkarrow .elementor-button{color:#F4F1EC; border-color:#F4F1EC}
.zgr .z-swatches{display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px); list-style:none; margin:0; padding:0}
.zgr .z-swatches li{display:flex; flex-direction:column; gap:16px; font:500 14px/1.3 "Jost",sans-serif; letter-spacing:.06em; color:#E9E4DC}
.zgr .z-swatches i{display:block; height:12px; border-radius:12px; background:color-mix(in srgb, var(--c) 30%, #fff); box-shadow:0 0 4px var(--c), 0 0 14px var(--c), 0 0 36px color-mix(in srgb, var(--c) 70%, transparent), 0 0 70px color-mix(in srgb, var(--c) 35%, transparent)}
@media (prefers-reduced-motion:no-preference){ .zgr .z-swatches li:hover i{animation:zgr-flicker .9s steps(1) 1} }
@keyframes zgr-flicker{0%,100%{opacity:1} 20%{opacity:.35} 30%{opacity:1} 55%{opacity:.6} 60%{opacity:1}}
@media (max-width:900px){ .zgr .z-swatches{grid-template-columns:repeat(3,1fr)} }
@media (max-width:480px){ .zgr .z-swatches{grid-template-columns:repeat(2,1fr)} }

/* ---------- idővonal (folyamat, történet) ---------- */
.zgr .e-con.z-timeline{position:relative; display:block; --dot:64px}
.zgr .e-con.z-timeline::before{content:""; display:block; position:absolute; left:calc(var(--dot) / 2 - 1.5px); top:12px; bottom:40px; width:3px; height:auto; border:0; border-radius:3px; opacity:1; mix-blend-mode:normal; background:var(--z-orange); box-shadow:0 0 10px rgba(255,90,31,.75), 0 0 26px rgba(255,90,31,.35); z-index:0}
.zgr .e-con.z-tl-item{position:relative; display:grid; grid-template-columns:var(--dot) 1fr; column-gap:clamp(20px,2.4vw,32px); padding-bottom:clamp(30px,3.2vw,46px)}
.zgr .e-con.z-tl-item:last-child{padding-bottom:0}
.zgr .z-tl-item > .elementor-element{width:auto}
.zgr .z-tl-item > .z-tl-num{grid-column:1; grid-row:1 / span 2; position:relative; z-index:1}
.zgr .z-tl-item > .z-tl-title, .zgr .z-tl-item > .z-tl-text{grid-column:2}
.zgr .z-tl-num .elementor-heading-title{display:grid; place-items:center; width:var(--dot); height:var(--dot); border-radius:50%; background:#fff; border:1px solid var(--z-line); font:300 22px/1 "Jost",sans-serif; color:var(--z-ink); font-variant-numeric:tabular-nums}
.zgr .z-section--paper .z-tl-num .elementor-heading-title{background:var(--z-paper)}
.zgr .z-tl-title{font:500 clamp(19px,1.7vw,23px)/1.25 "Jost",sans-serif; color:var(--z-ink); padding-top:16px}
.zgr .elementor-widget.z-tl-text{margin-top:8px; font-size:15.5px; line-height:1.7; max-width:60ch}
.zgr .z-tl-text a{color:var(--z-ink); border-bottom:1px solid currentColor}
.zgr .z-tl-text a:hover{color:var(--z-orange)}
.zgr .e-con.z-timeline--years{--dot:84px}
.zgr .z-timeline--years .z-tl-num .elementor-heading-title{height:40px; margin-top:8px; border-radius:40px; font:500 15px/1 "Jost",sans-serif; letter-spacing:.04em}
.zgr .z-timeline--years .z-tl-title{padding-top:14px}
@media (max-width:480px){ .zgr .e-con.z-timeline{--dot:48px} .zgr .e-con.z-timeline--years{--dot:64px} .zgr .z-tl-num .elementor-heading-title{font-size:17px} .zgr .z-timeline--years .z-tl-num .elementor-heading-title{font-size:13px} }

/* ---------- összehasonlítás ---------- */
.zgr .e-con.z-compare{display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,28px)}
.zgr .e-con.z-compare-card{display:block; background:#fff; padding:clamp(28px,3.4vw,48px); border-top:3px solid var(--c); box-shadow:0 -6px 24px -12px color-mix(in srgb, var(--c) 60%, transparent)}
.zgr .z-compare-card .z-eyebrow{color:var(--c)}
.zgr .z-compare-title{font:600 clamp(26px,2.4vw,34px)/1.1 "Jost",sans-serif; letter-spacing:-.02em; color:var(--z-ink); margin-top:12px}
.zgr .z-checklist ul{list-style:none; margin:22px 0 0; padding:0}
.zgr .z-checklist li{position:relative; padding:13px 0 13px 32px; border-bottom:1px solid var(--z-line); font-size:16px; line-height:1.55; color:var(--z-ink)}
.zgr .z-checklist li::before{content:""; position:absolute; left:3px; top:20px; width:12px; height:6px; border-left:2px solid var(--c); border-bottom:2px solid var(--c); transform:rotate(-45deg)}
.zgr .z-compare-card .z-linkarrow{margin-top:24px}
@media (max-width:760px){ .zgr .e-con.z-compare{grid-template-columns:1fr} }

/* ---------- GYIK ---------- */
.zgr .z-faq details{border-bottom:1px solid var(--z-line)}
.zgr .z-faq details:first-of-type{border-top:1px solid var(--z-line)}
.zgr .z-faq summary{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; list-style:none; cursor:pointer}
.zgr .z-faq summary::-webkit-details-marker{display:none}
.zgr .z-faq summary h3{margin:0; font:500 clamp(18px,1.6vw,21px)/1.35 "Jost",sans-serif; color:var(--z-ink); transition:color .2s}
.zgr .z-faq summary:hover h3, .zgr .z-faq details[open] summary h3{color:var(--z-orange)}
.zgr .z-faq summary::after{content:""; flex:0 0 16px; width:16px; height:16px; background:linear-gradient(currentColor,currentColor) center/16px 1.5px no-repeat, linear-gradient(currentColor,currentColor) center/1.5px 16px no-repeat; color:var(--z-ink); transition:transform .3s}
.zgr .z-faq details[open] summary::after{transform:rotate(45deg)}
.zgr .z-faq summary:focus-visible{outline:2px solid var(--z-orange); outline-offset:4px}
.zgr .z-faq details > div{padding:0 0 26px; max-width:68ch; font-size:16px; line-height:1.75}
.zgr .z-faq details > div a, .zgr .z-aside-text a{color:var(--z-ink); border-bottom:1px solid currentColor}
.zgr .z-faq details > div a:hover, .zgr .z-aside-text a:hover{color:var(--z-orange)}

/* ---------- műhely (kép + címkék) ---------- */
.zgr .e-con.z-media-split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,88px); align-items:center}
.zgr .e-con.z-media-split-img{display:block; aspect-ratio:4/3; overflow:hidden; background:#1C1B1D; box-shadow:0 30px 70px rgba(0,0,0,.35)}
.zgr .z-media-split-img > .elementor-widget-image, .zgr .z-media-split-img > .elementor-widget-image > .elementor-widget-container{height:100%}
.zgr .z-media-split-img img{width:100%; height:100%; object-fit:cover; display:block}
.zgr .e-con.z-media-split-body{display:block}
.zgr .z-media-split-body .z-h2{margin-top:14px}
.zgr .z-media-split-body .z-prose{margin-top:20px; font-size:16.5px}
.zgr .z-chips ul{display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:28px 0 0; padding:0}
.zgr .z-chips li{padding:9px 14px; border:1px solid rgba(255,255,255,.18); font:500 13.5px/1.2 "Jost",sans-serif; color:#E9E4DC; transition:border-color .25s, color .25s, box-shadow .25s}
.zgr .z-chips li:hover{border-color:var(--z-orange); color:#fff; box-shadow:0 0 18px rgba(255,90,31,.25)}
@media (max-width:900px){ .zgr .e-con.z-media-split{grid-template-columns:1fr} }

/* ---------- szolgáltatás-lista (Rólunk) ---------- */
.zgr .z-svc-list ul{list-style:none; margin:0; padding:0; border-top:1px solid var(--z-line)}
.zgr .z-svc-list a{display:grid; grid-template-columns:56px 1fr 40px; align-items:center; gap:24px; padding:clamp(20px,2.4vw,30px) 0; border-bottom:1px solid var(--z-line); color:var(--z-ink)}
.zgr .z-svc-list .n{font:300 15px/1 "Jost",sans-serif; letter-spacing:.12em; color:var(--z-muted)}
.zgr .z-svc-list .t{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 28px}
.zgr .z-svc-list b{font:500 clamp(22px,2.4vw,32px)/1.15 "Jost",sans-serif; letter-spacing:-.02em; transition:color .25s, text-shadow .25s}
.zgr .z-svc-list .t span{flex:1 1 280px; font-size:15px; line-height:1.6; color:var(--z-text)}
.zgr .z-svc-list a::after{content:"→"; justify-self:end; font-size:22px; transition:transform .3s, color .25s}
.zgr .z-svc-list a:hover b{color:var(--c); text-shadow:0 0 18px color-mix(in srgb, var(--c) 45%, transparent)}
.zgr .z-svc-list a:hover::after{transform:translateX(6px); color:var(--c)}
@media (max-width:600px){ .zgr .z-svc-list a{grid-template-columns:36px 1fr 24px; gap:14px} }

/* ---------- referencia-galéria ---------- */
.zgr .e-con.z-section--tight{padding-block:clamp(40px,5vw,72px) clamp(72px,9vw,120px)}
.zgr .z-gal-filter{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:clamp(32px,4vw,52px)}
.zgr .z-gal-filter:empty{display:none}
.zgr .z-gal-filter button{display:inline-flex; align-items:center; gap:10px; padding:11px 18px; border:1px solid var(--z-line); border-radius:40px; background:#fff; color:var(--z-ink); font:500 13px/1 "Jost",sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:border-color .25s, background .25s, color .25s}
.zgr .z-gal-filter button:hover{border-color:var(--z-ink)}
.zgr .z-gal-filter button[aria-pressed="true"]{background:var(--z-ink); border-color:var(--z-ink); color:#fff}
.zgr .z-gal-filter button span{font-weight:400; letter-spacing:0; opacity:.6}
.zgr .e-con.z-gal-group{display:block; scroll-margin-top:120px}
.zgr .e-con.z-gal-group + .z-gal-group{margin-top:clamp(56px,7vw,96px)}
.zgr .e-con.z-gal-group.is-hidden{display:none}
.zgr .e-con.z-gal-head{display:flex; flex-direction:row; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:10px 40px; margin-bottom:clamp(24px,3vw,36px); padding-bottom:18px; border-bottom:1px solid var(--z-line)}
.zgr .z-gal-head > .elementor-element{width:auto}
.zgr .z-gal-title{font:600 clamp(26px,2.6vw,36px)/1.1 "Jost",sans-serif; letter-spacing:-.02em; color:var(--z-ink)}
.zgr .z-gal-text{max-width:56ch; font-size:15.5px}

.zgr .z-gallery .gallery{display:block; column-count:3; column-gap:16px; margin:0}
.zgr .z-gallery .gallery br{display:none}
.zgr .z-gallery .gallery-item{position:relative; display:block; width:100% !important; max-width:none !important; margin:0 0 16px !important; padding:0; break-inside:avoid; overflow:hidden; background:#1C1B1D}
.zgr .z-gallery .gallery-icon, .zgr .z-gallery .gallery-icon a{display:block}
.zgr .z-gallery .gallery-item img{display:block; width:100%; height:auto; border:0 !important; transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .4s}
.zgr .z-gallery .gallery-item:hover img{transform:scale(1.04)}
.zgr .z-gallery .gallery-caption{position:absolute; left:0; right:0; bottom:0; margin:0; padding:40px 18px 16px; background:linear-gradient(0deg, rgba(10,8,8,.82), rgba(10,8,8,0)); color:#fff; font:500 14px/1.4 "Jost",sans-serif; text-align:left; opacity:0; transform:translateY(8px); transition:opacity .35s, transform .35s; pointer-events:none}
.zgr .z-gallery .gallery-item:hover .gallery-caption, .zgr .z-gallery .gallery-item:focus-within .gallery-caption{opacity:1; transform:none}
.zgr .z-gallery .gallery-icon a::after{content:""; position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.8'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.5-4.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center/18px no-repeat; opacity:0; transform:scale(.8); transition:opacity .3s, transform .3s}
.zgr .z-gallery .gallery-item:hover .gallery-icon a::after{opacity:1; transform:none}
@media (max-width:900px){ .zgr .z-gallery .gallery{column-count:2} }
@media (max-width:520px){ .zgr .z-gallery .gallery{column-count:1} .zgr .z-gallery .gallery-caption{opacity:1; transform:none} }

/* ---------- kapcsolat: munkatársak, cégadatok ---------- */
.zgr .e-con.z-people{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px)}
.zgr .e-con.z-person{display:block; background:#fff; padding:clamp(26px,2.8vw,40px)}
.zgr .z-person-mono .elementor-heading-title{display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:var(--z-night); color:#fff; font:500 19px/1 "Jost",sans-serif; letter-spacing:.06em; box-shadow:0 0 0 3px #fff, 0 0 0 4px var(--c), 0 0 22px color-mix(in srgb, var(--c) 45%, transparent)}
.zgr .z-person-name{font:500 21px/1.25 "Jost",sans-serif; color:var(--z-ink); margin-top:24px}
.zgr .elementor-widget.z-person-role{margin-top:6px; font:500 12px/1.5 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--z-muted)}
.zgr .elementor-widget.z-person-links{margin-top:18px; padding-top:16px; border-top:1px solid var(--z-line); font-size:15.5px; line-height:1.9}
.zgr .z-person-links a{color:var(--z-ink)}
.zgr .z-person-links a:hover{color:var(--z-orange)}
@media (max-width:900px){ .zgr .e-con.z-people{grid-template-columns:1fr} }

.zgr .z-dl{margin:0; border-top:1px solid var(--z-line)}
.zgr .z-dl > div{display:grid; grid-template-columns:200px 1fr; gap:6px 28px; padding:16px 0; border-bottom:1px solid var(--z-line)}
.zgr .z-dl dt{font:500 11.5px/1.9 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-dl dd{margin:0; font-size:16px; line-height:1.65; color:var(--z-ink)}
.zgr .z-dl dd a{border-bottom:1px solid currentColor}
.zgr .z-dl dd a:hover{color:var(--z-orange)}
@media (max-width:560px){ .zgr .z-dl > div{grid-template-columns:1fr; gap:2px} }

/* ---------- Elementor nagyító (lightbox) ---------- */
.zgr .elementor-lightbox{background-color:rgba(12,10,10,.95)}
.zgr .elementor-lightbox .elementor-slideshow__title{font:500 16px/1.4 "Jost",sans-serif; letter-spacing:.02em}
.zgr .elementor-lightbox .elementor-slideshow__description{font:400 14px/1.6 "Jost",sans-serif}
@media (max-width:520px){ .zgr .z-split .z-stat-num{font-size:23px} .zgr .z-stats--3 .z-stat-label{font-size:10.5px; letter-spacing:.08em} .zgr .z-split .e-con.z-stat{padding-left:12px} }

/* ---------- kapcsolat: felmérési díjak ---------- */
.zgr .z-prices{margin:0; border-top:1px solid var(--z-line)}
.zgr .z-prices > div{display:flex; align-items:baseline; justify-content:space-between; gap:12px 32px; padding:20px 0; border-bottom:1px solid var(--z-line)}
.zgr .z-prices dt{font-size:16.5px; line-height:1.5; color:var(--z-ink)}
.zgr .z-prices dd{margin:0; flex:0 0 auto; font:600 clamp(18px,1.6vw,22px)/1.2 "Jost",sans-serif; color:var(--z-ink); white-space:nowrap; font-variant-numeric:tabular-nums}
.zgr .z-prices-note{margin:22px 0 0; padding:16px 18px; border-left:3px solid var(--z-orange); background:var(--z-paper); font-size:15px; line-height:1.65}
.zgr .z-prices-note strong{font-weight:500; color:var(--z-ink)}
@media (max-width:520px){ .zgr .z-prices > div{flex-direction:column; gap:4px} }

/* ---------- adatkezelési tájékoztató ---------- */
.zgr .e-con.z-legal-grid{grid-template-columns:3fr 9fr}
.zgr .z-toc{padding:22px 24px; background:var(--z-paper)}
.zgr .z-toc-title{margin:0 0 12px; font:500 12px/1.4 "Jost",sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-toc ol{margin:0; padding:0; list-style:none; counter-reset:toc}
.zgr .z-toc li{counter-increment:toc}
.zgr .z-toc a{display:flex; gap:10px; padding:7px 0; font-size:15px; line-height:1.4; color:var(--z-ink); border-bottom:1px solid var(--z-line)}
.zgr .z-toc li:last-child a{border-bottom:0}
.zgr .z-toc a::before{content:counter(toc) "."; color:var(--z-muted); font-variant-numeric:tabular-nums}
.zgr .z-toc a:hover{color:var(--z-orange)}
.zgr .z-legal{font-size:16.5px; line-height:1.75; max-width:78ch}
.zgr .z-legal h2{margin:56px 0 16px; font:600 clamp(24px,2.2vw,30px)/1.2 "Jost",sans-serif; letter-spacing:-.015em; color:var(--z-ink); scroll-margin-top:120px}
.zgr .z-legal h2:first-of-type{margin-top:40px}
.zgr .z-legal h3{margin:32px 0 12px; font:500 19px/1.3 "Jost",sans-serif; color:var(--z-ink)}
.zgr .elementor-widget-text-editor.z-legal p{margin:0 0 14px}
.zgr .elementor-widget-text-editor.z-legal p + p{margin-top:0}
.zgr .z-legal ul{margin:0 0 16px; padding-left:20px}
.zgr .z-legal li{margin-bottom:8px}
.zgr .z-legal a{color:var(--z-ink); border-bottom:1px solid currentColor}
.zgr .z-legal a:hover{color:var(--z-orange)}
.zgr .z-legal strong{font-weight:500; color:var(--z-ink)}
.zgr .z-legal table{width:100%; margin:0 0 18px; border-collapse:collapse; font-size:15.5px; line-height:1.6}
.zgr .z-legal th, .zgr .z-legal td{padding:12px 14px 12px 0; border:0; border-top:1px solid var(--z-line); border-bottom:1px solid var(--z-line); text-align:left; vertical-align:top; background:none}
.zgr .z-legal table{border:0}
.zgr .z-legal tbody th{width:180px; font:500 11.5px/1.9 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-legal thead th{font:500 11.5px/1.6 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-legal td{color:var(--z-ink)}
@media (max-width:900px){ .zgr .e-con.z-legal-grid{grid-template-columns:1fr} }
@media (max-width:560px){ .zgr .z-legal tbody th{display:block; width:auto; padding-bottom:0; border-bottom:0} .zgr .z-legal tbody td{display:block; padding-top:2px; border-top:0} .zgr .z-legal thead{display:none} .zgr .z-legal tbody tr td{display:block} }

/* ---------- térkép hozzájárulás után ---------- */
.zgr .z-map-consent{position:relative; height:480px; background-color:#EDEDED; background-image:repeating-linear-gradient(35deg, rgba(0,0,0,.035) 0 2px, transparent 2px 46px), repeating-linear-gradient(-55deg, rgba(0,0,0,.035) 0 2px, transparent 2px 64px)}
.zgr .z-map-consent.is-loaded{background:none}
.zgr .z-map-consent iframe{display:block; width:100%; height:100%; border:0; filter:grayscale(1) contrast(1.05)}
.zgr .z-map-ph{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; text-align:center; color:var(--z-ink)}
.zgr .z-map-ph svg{color:var(--z-orange); filter:drop-shadow(0 0 10px rgba(255,90,31,.45))}
.zgr .z-map-ph p{margin:0; max-width:44ch; font-size:15px; line-height:1.6; color:var(--z-text)}
.zgr .z-map-ph p strong{font-weight:500; color:var(--z-ink)}
.zgr .z-map-load{padding:14px 22px; border:1px solid var(--z-ink); border-radius:0; background:var(--z-ink); color:#fff; font:500 12px/1 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background .25s, color .25s}
.zgr .z-map-load:hover{background:transparent; color:var(--z-ink)}
.zgr .z-map-ph a{font-size:14px; color:var(--z-ink); border-bottom:1px solid currentColor}
.zgr .z-map-ph a:hover{color:var(--z-orange)}
@media (max-width:600px){ .zgr .z-map-consent{height:360px} }

/* ---------- süti sáv (Cookie Notice) ---------- */
.zgr #cookie-notice{font:400 14.5px/1.6 "Jost",sans-serif; box-shadow:0 -10px 30px rgba(0,0,0,.18)}
.zgr #cookie-notice:not(.cookie-notice-hidden) .cookie-notice-container{padding:18px var(--z-gut); display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 28px; text-align:left}
.zgr #cookie-notice .cn-text-container{margin:0; max-width:760px}
.zgr #cookie-notice .cn-buttons-container{display:flex; flex-wrap:wrap; gap:10px; margin:0}
.zgr #cookie-notice .cn-button.zgr-cn-btn, .zgr #cookie-notice .zgr-cn-btn{margin:0; padding:12px 18px; border:1px solid rgba(255,255,255,.4); border-radius:0; background:transparent; color:#fff; font:500 12px/1 "Jost",sans-serif; letter-spacing:.12em; text-transform:uppercase; box-shadow:none; cursor:pointer; transition:background .25s, border-color .25s, color .25s}
.zgr #cookie-notice #cn-accept-cookie.zgr-cn-btn{background:var(--z-orange); border-color:var(--z-orange); color:#fff}
.zgr #cookie-notice #cn-accept-cookie.zgr-cn-btn:hover{background:#fff; border-color:#fff; color:var(--z-ink)}
.zgr #cookie-notice #cn-refuse-cookie.zgr-cn-btn:hover, .zgr #cookie-notice #cn-more-info.zgr-cn-btn:hover{border-color:#fff}
.zgr #cookie-notice #cn-more-info.zgr-cn-btn{border-color:transparent; padding-inline:6px; text-decoration:underline; text-underline-offset:4px; letter-spacing:.04em; text-transform:none; font-size:13.5px}
.zgr #cookie-notice .cn-close-icon{display:none}
.zgr .z-foot-legal .cn-revoke-cookie{color:inherit; background:none; border:0; padding:0; font:inherit; letter-spacing:inherit; text-transform:none}
.zgr .z-foot-legal a:hover, .zgr .z-foot-legal .cn-revoke-cookie:hover{color:var(--z-orange)}
@media (max-width:600px){ .zgr #cookie-notice .cn-buttons-container{width:100%} .zgr #cookie-notice #cn-accept-cookie, .zgr #cookie-notice #cn-refuse-cookie{flex:1 1 auto} }

/* ---------- „Nem neonhatás. Valódi neon.” blokk + 360°-os diagram ---------- */
.zgr .e-con.z-real-grid{display:grid; grid-template-columns:5fr 7fr; gap:clamp(36px,5vw,96px); align-items:center}
.zgr .z-real-grid > .elementor-element{width:auto}
.zgr .z-glowcmp{display:grid; gap:clamp(28px,3vw,44px)}
.zgr .z-glow{display:grid; grid-template-columns:132px 1fr; align-items:center; gap:28px; margin:0}
.zgr .z-glow-x{position:relative; width:132px; height:132px; display:grid; place-items:center}
.zgr .z-glow-x::before{content:""; position:absolute; inset:0; border-radius:50%; -webkit-mask:radial-gradient(circle, transparent 22px, #000 24px, #000 52%, transparent 70%); mask:radial-gradient(circle, transparent 22px, #000 24px, #000 52%, transparent 70%)}
.zgr .z-glow--neon .z-glow-x::before{background:repeating-conic-gradient(rgba(255,106,43,.75) 0 5deg, transparent 5deg 15deg)}
.zgr .z-glow--led .z-glow-x::before{background:repeating-conic-gradient(from -90deg, rgba(31,211,242,.75) 0 5deg, transparent 5deg 15deg); clip-path:inset(0 0 50% 0)}
.zgr .z-glow-x i{position:relative; z-index:1; display:block}
.zgr .z-glow--neon .z-glow-x i{width:30px; height:30px; border-radius:50%; background:#FFE6D6; box-shadow:0 0 6px #FF6A2B, 0 0 18px #FF6A2B, 0 0 42px rgba(255,106,43,.8), 0 0 80px rgba(255,106,43,.45)}
.zgr .z-glow--led .z-glow-x i{width:38px; height:24px; border-radius:5px 5px 3px 3px; background:linear-gradient(180deg, #D8FAFF 0 30%, #1D2128 30%); box-shadow:0 -8px 20px -4px #1FD3F2, 0 -24px 46px -12px rgba(31,211,242,.75)}
.zgr .z-glow figcaption{display:flex; flex-direction:column; gap:6px}
.zgr .z-glow figcaption b{font:500 17px/1.3 "Jost",sans-serif; color:#F4F1EC}
.zgr .z-glow--neon figcaption b{color:#FF8A55}
.zgr .z-glow--led figcaption b{color:#5FE0F5}
.zgr .z-glow figcaption span{font-size:14.5px; line-height:1.6; color:#A9A39B}
@media (prefers-reduced-motion:no-preference){ .zgr .z-glow--neon .z-glow-x::before{animation:zgr-spin 24s linear infinite} }
@keyframes zgr-spin{to{transform:rotate(360deg)}}
.zgr .e-con.z-real-points{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3vw,40px) clamp(24px,3vw,48px)}
.zgr .e-con.z-real-point{display:block; padding-top:20px; border-top:1px solid rgba(255,255,255,.14)}
.zgr .z-real-num{font:600 clamp(30px,3vw,42px)/1 "Jost",sans-serif; letter-spacing:-.02em; color:#FF6A2B; text-shadow:0 0 18px rgba(255,106,43,.55), 0 0 46px rgba(255,106,43,.3); white-space:nowrap}
.zgr .z-real-title{margin-top:14px; font:500 18px/1.3 "Jost",sans-serif; color:#F4F1EC}
.zgr .elementor-widget.z-real-text{margin-top:6px; font-size:15px; line-height:1.65; color:#A9A39B}
.zgr .elementor-widget.z-real-tag{margin-top:clamp(40px,5vw,64px); padding-top:26px; border-top:1px solid rgba(255,255,255,.14); font:400 clamp(18px,1.7vw,22px)/1.5 "Jost",sans-serif; color:#E9E4DC; text-align:center}
.zgr .z-real-tag strong{font-weight:500; color:#FF8A55}
.zgr .elementor-widget.z-real-tag--light{border-top-color:var(--z-line); color:var(--z-ink)}
.zgr .z-real-tag--light strong{color:var(--z-orange)}
.zgr .z-real-tag a{color:inherit; border-bottom:1px solid currentColor; font-size:.8em}
.zgr .z-real-tag a:hover{color:var(--z-orange)}
@media (max-width:900px){ .zgr .e-con.z-real-grid{grid-template-columns:1fr} }
@media (max-width:560px){ .zgr .e-con.z-real-points{grid-template-columns:1fr} .zgr .z-glow{grid-template-columns:96px 1fr; gap:18px} .zgr .z-glow-x{width:96px; height:96px} }

/* ---------- „Miért minket?” ---------- */
.zgr .e-con.z-why-grid{grid-template-columns:5fr 7fr}
.zgr .z-iso{display:inline-flex; align-items:center; gap:14px; margin:26px 0 0; padding:12px 18px 12px 12px; border:1px solid var(--z-line)}
.zgr .z-iso b{display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:var(--z-night); color:#fff; font:600 11px/1.15 "Jost",sans-serif; letter-spacing:.06em; text-align:center; box-shadow:0 0 0 3px #fff, 0 0 0 4px var(--z-gold)}
.zgr .z-iso span{font-size:13.5px; line-height:1.5; color:var(--z-text)}
.zgr .e-con.z-why-cta{margin-top:30px; align-items:center; gap:22px}
.zgr .e-con.z-why-list{display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(24px,3vw,48px)}
.zgr .e-con.z-why-item{display:grid; grid-template-columns:44px 1fr; column-gap:16px; padding:22px 0; border-top:1px solid var(--z-line)}
.zgr .z-why-item > .elementor-element{width:auto}
.zgr .z-why-item > .z-why-num{grid-row:1 / span 2}
.zgr .z-why-num{font:500 14px/1.6 "Jost",sans-serif; letter-spacing:.08em; color:var(--c); text-shadow:0 0 12px color-mix(in srgb, var(--c) 60%, transparent); font-variant-numeric:tabular-nums}
.zgr .z-why-title{font:500 18px/1.3 "Jost",sans-serif; color:var(--z-ink)}
.zgr .elementor-widget.z-why-text{margin-top:6px; font-size:15px; line-height:1.65}
@media (max-width:640px){ .zgr .e-con.z-why-list{grid-template-columns:1fr} }

/* ---------- küldetés-sáv: ÜVEG · TŰZ · FÉNY · KÉZMŰVESSÉG ---------- */
.zgr .e-con.z-manifesto{text-align:center}
.zgr .z-manifesto .z-eyebrow{color:var(--z-gold)}
.zgr .z-manifesto-title{margin-top:18px; font:600 clamp(32px,4.4vw,60px)/1.1 "Jost",sans-serif; letter-spacing:-.025em; color:#F4F1EC}
.zgr .z-manifesto-title em{font-style:normal; color:#FF6A2B; text-shadow:0 0 22px rgba(255,106,43,.55), 0 0 64px rgba(255,106,43,.3)}
.zgr .z-words{display:flex; flex-wrap:wrap; justify-content:center; gap:10px clamp(18px,3vw,44px); margin:clamp(30px,4vw,48px) 0 0; font:500 clamp(15px,1.5vw,20px)/1 "Jost",sans-serif; letter-spacing:.32em; text-transform:uppercase}
.zgr .z-words span{color:color-mix(in srgb, var(--c) 35%, #fff); text-shadow:0 0 8px var(--c), 0 0 22px var(--c), 0 0 46px color-mix(in srgb, var(--c) 60%, transparent)}
.zgr .z-words span + span::before{content:"·"; margin-right:clamp(18px,3vw,44px); color:#5C5852; text-shadow:none; letter-spacing:0}
.zgr .z-manifesto-quote blockquote{max-width:760px; margin:clamp(36px,5vw,60px) auto 0; padding:0; border:0; font:400 clamp(18px,1.7vw,22px)/1.6 "Jost",sans-serif; color:#BDB8B0}
.zgr .z-manifesto-quote blockquote p{margin:0}
.zgr .z-manifesto-quote cite{display:block; margin-top:14px; font:500 12px/1.4 "Jost",sans-serif; font-style:normal; letter-spacing:.18em; text-transform:uppercase; color:#8C8780}

/* ---------- összehasonlító táblázat ---------- */
.zgr .z-cmp-wrap{overflow-x:auto}
.zgr .z-cmp{width:100%; min-width:560px; border-collapse:collapse; background:#fff; font-size:15.5px; line-height:1.55}
.zgr .z-cmp th, .zgr .z-cmp td{padding:16px 20px; border:0; border-bottom:1px solid var(--z-line); text-align:left; vertical-align:top; background:none}
.zgr .z-cmp thead th{padding-top:22px; font:600 clamp(17px,1.6vw,21px)/1.25 "Jost",sans-serif; color:var(--z-ink); border-bottom:2px solid var(--z-ink)}
.zgr .z-cmp thead .z-cmp-led{color:#0FA3C2}
.zgr .z-cmp thead .z-cmp-neon{color:var(--z-orange)}
.zgr .z-cmp tbody th{width:22%; font:500 11.5px/1.9 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-cmp td{color:var(--z-text)}
.zgr .z-cmp td:last-child{color:var(--z-ink); font-weight:500; background:linear-gradient(90deg, rgba(255,90,31,.06), rgba(255,90,31,0))}
.zgr .z-cmp tbody tr:hover td, .zgr .z-cmp tbody tr:hover th{background-color:rgba(0,0,0,.015)}
.zgr .z-cmp-note{margin:14px 0 0; font-size:13.5px; color:var(--z-muted)}
.zgr .z-sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

/* ---------- tévhit / tény ---------- */
.zgr .e-con.z-myths{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px)}
.zgr .e-con.z-myth{display:block; padding:clamp(24px,2.6vw,34px); background:var(--z-paper)}
.zgr .elementor-widget.z-myth-label{font:500 11.5px/1.4 "Jost",sans-serif; letter-spacing:.18em; text-transform:uppercase; color:var(--z-muted)}
.zgr .z-myth-q{margin-top:10px; font:500 19px/1.35 "Jost",sans-serif; color:var(--z-muted); text-decoration:line-through; text-decoration-color:rgba(200,55,15,.6); text-decoration-thickness:1.5px}
.zgr .elementor-widget.z-myth-label--fact{margin-top:22px; padding-top:18px; border-top:1px solid var(--z-line); color:var(--z-orange)}
.zgr .elementor-widget.z-myth-t{margin-top:8px; font-size:16px; line-height:1.65; color:var(--z-ink)}
@media (max-width:900px){ .zgr .e-con.z-myths{grid-template-columns:1fr} }
.zgr .z-vs-checklist .z-real-tag-inline{margin:26px 0 12px; font-size:18px; line-height:1.5; color:var(--z-ink)}
.zgr .z-vs-checklist .z-real-tag-inline strong{color:var(--z-orange)}
.zgr .z-vs-checklist p a{color:var(--z-ink); border-bottom:1px solid currentColor}
.zgr .z-vs-checklist strong{font-weight:500}

/* ---------- munkatársak: 4 kártya ---------- */
.zgr .e-con.z-people{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){ .zgr .e-con.z-people{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .zgr .e-con.z-people{grid-template-columns:1fr} }

/* ---------- blogbejegyzés-sablon ---------- */
.zgr .z-article-head > .elementor-element{max-width:860px}
.zgr .z-breadcrumb-line{margin:0 0 14px; font-size:13px; color:var(--z-muted)}
.zgr .z-breadcrumb-line a:hover{color:var(--z-orange)}
.zgr .z-post-meta-w .z-post-meta{margin:0 0 6px}
.zgr .z-article-title .elementor-heading-title{max-width:22ch}
.zgr .e-con.z-article{max-width:860px}
.zgr .z-article-img img{display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover}
.zgr .elementor-widget.z-article-img{margin-bottom:clamp(32px,4vw,48px)}
.zgr .z-article-content{font-size:17.5px; line-height:1.8; color:var(--z-text)}
.zgr .z-article-content p{margin:0 0 1.15em}
.zgr .z-article-content h2{margin:1.9em 0 .6em; font:600 clamp(24px,2.3vw,30px)/1.2 "Jost",sans-serif; letter-spacing:-.015em; color:var(--z-ink)}
.zgr .z-article-content h3{margin:1.6em 0 .5em; font:500 20px/1.3 "Jost",sans-serif; color:var(--z-ink)}
.zgr .z-article-content ul, .zgr .z-article-content ol{margin:0 0 1.2em; padding-left:1.3em}
.zgr .z-article-content li{margin-bottom:.45em}
.zgr .z-article-content li::marker{color:var(--z-orange)}
.zgr .z-article-content a{color:var(--z-ink); border-bottom:1px solid var(--z-orange)}
.zgr .z-article-content a:hover{color:var(--z-orange)}
.zgr .z-article-content strong{font-weight:500; color:var(--z-ink)}
.zgr .z-article-content .z-byline{margin-top:2em; padding-top:1.2em; border-top:1px solid var(--z-line); font:500 12.5px/1.5 "Jost",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--z-muted)}

/* Elementor `.elementor .e-con > .elementor-widget{max-width:100%}` szabálya fölé: szövegszélesség-korlátok */
.zgr .elementor .e-con > .elementor-widget.z-lead{max-width:52ch}
.zgr .elementor .e-con.z-svc-hero-copy > .elementor-widget.z-lead{max-width:50ch}
.zgr .elementor .e-con > .elementor-widget.z-page-lead{max-width:68ch}
.zgr .elementor .e-con > .elementor-widget.z-aside-text{max-width:40ch}
.zgr .elementor .e-con > .elementor-widget.z-tl-text{max-width:60ch}
.zgr .elementor .e-con > .elementor-widget.z-gal-text{max-width:56ch}
.zgr .elementor .e-con > .elementor-widget.z-cta-text{max-width:30ch}

/* ---------- galéria: „További képek”, videóblokk ---------- */
.zgr .z-gallery .gallery-item.is-more-hidden{display:none !important}
.zgr .z-gal-more{display:block; margin:26px auto 0; padding:14px 26px; border:1px solid var(--z-ink); border-radius:40px; background:#fff; color:var(--z-ink); font:500 12.5px/1 "Jost",sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:background .25s, color .25s}
.zgr .z-gal-more:hover{background:var(--z-ink); color:#fff}
.zgr .z-gal-more[hidden]{display:none}
.zgr .z-gal-subtitle{margin-top:clamp(40px,5vw,64px); padding-top:24px; border-top:1px solid var(--z-line); font:600 clamp(22px,2vw,28px)/1.2 "Jost",sans-serif; letter-spacing:-.015em; color:var(--z-ink)}
.zgr .e-con.z-videos{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2vw,24px); margin-top:24px}
.zgr .e-con.z-video-item{display:block}
.zgr .z-video .elementor-custom-embed-image-overlay{background-size:cover; background-position:center}
.zgr .z-video .elementor-custom-embed-play i, .zgr .z-video .elementor-custom-embed-play svg{opacity:.92; filter:drop-shadow(0 0 14px rgba(255,90,31,.55))}
.zgr .z-video-title{margin-top:12px; font:500 15.5px/1.4 "Jost",sans-serif; color:var(--z-ink)}
@media (max-width:900px){ .zgr .e-con.z-videos{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .zgr .e-con.z-videos{grid-template-columns:1fr} }

/* ---------- Rólunk: díjak és elismerések ---------- */
.zgr .z-gallery--docs .gallery{column-count:3; column-gap:clamp(20px,2.4vw,32px)}
.zgr .z-gallery--docs .gallery-item{background:none; margin-bottom:clamp(20px,2.4vw,32px) !important}
.zgr .z-gallery--docs .gallery-icon{background:#fff; padding:10px; box-shadow:0 18px 40px rgba(0,0,0,.10); border:1px solid var(--z-line)}
.zgr .z-gallery--docs .gallery-caption{position:static; opacity:1; transform:none; padding:14px 2px 0; background:none; color:var(--z-ink); font:500 15px/1.45 "Jost",sans-serif; pointer-events:auto}
@media (max-width:900px){ .zgr .z-gallery--docs .gallery{column-count:2} }
@media (max-width:520px){ .zgr .z-gallery--docs .gallery{column-count:1} }
