/* =========================================================
   legkezeloretrofit.hu — stíluslap

   EGYETLEN, RENDEZETT FÁJL. Ha valamin változtatni kell, az
   EREDETI szabályt írd át a saját fejezetében — ne fűzz a fájl
   végére felülírást (az elektrosztatikusszuro.hu tanulsága).

   Fejezetek:
     1. Tokenek (szín, betű, térköz) — globális változtatás itt
     2. Alapok
     3. Elrendezés, szekciók
     4. Közös elemek (gomb, ikon, lista, űrlapmező)
     5. Fejléc
     6. Blokkok 02–17 az oldal sorrendjében
     7. Lábléc
     8. Leadtool (6 lépéses űrlap)
     9. Cookie-banner
    10. Jogi aloldalak, 404
   ========================================================= */

/* =========================================================
   1. TOKENEK
   ========================================================= */
:root{
  /* szín — a NUXON logó színeiből */
  --nuxon-primary:      #183090;
  --nuxon-primary-sotet:#10226A;
  --nuxon-accent:       #18A8D8;
  --accent-halvany:     #E4F4FA;
  --nuxon-deep:         #101C4A;
  --nuxon-antracit:     #18212B;

  --feluelet:       #FFFFFF;
  --feluelet-alt:   #F3F6F7;
  --szoveg:         #15232A;
  --szoveg-halk:    #53646C;
  --szoveg-vilagos: #F3F6F7;
  --szoveg-vilagos-halk: #B4C3CB;
  --keret:          #D5DEE1;
  --keret-eros:     #A9B8BE;

  --siker: #1B7A4B;
  --hiba:  #A3231F;
  --hiba-halvany: #FBECEB;

  /* betű — egyetlen család; a brief "jól olvasható sans-serif"-et kér */
  --betu: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --fs-kicsi: 0.875rem;
  --fs-alap:  1.0625rem;
  --fs-nagy:  1.1875rem;
  --fs-h3:    1.125rem;
  --fs-h2:    clamp(1.6rem, 1.1rem + 1.6vw, 2.35rem);
  --fs-h1:    clamp(2.1rem, 1.3rem + 3vw, 3.5rem);
  --sor-szoros: 1.18;
  --sor-alap:   1.6;

  /* térköz: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 */
  --t-1: 4px; --t-2: 8px; --t-3: 12px; --t-4: 16px; --t-5: 24px;
  --t-6: 32px; --t-7: 48px; --t-8: 64px; --t-9: 96px;

  --kerekites-k: 4px;
  --kerekites:   8px;
  --kerekites-n: 14px;
  --arnyek: 0 10px 30px rgba(16,28,74,.10), 0 2px 6px rgba(16,28,74,.06);

  --kontener: 1240px;
  --olvasas:  66ch;
  --fejlec-m: 72px;

  --mozgas: 180ms cubic-bezier(.2,.6,.3,1);
}

/* =========================================================
   2. ALAPOK
   ========================================================= */
@font-face{font-family:"IBM Plex Sans";src:url("fonts/plex-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/plex-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/plex-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}

*,*::before,*::after{ box-sizing:border-box; }
/* A hidden attribútum mindig nyerjen — különben egy display:flex
   szabály láthatóvá tenné (valós hiba volt az előző oldalon). */
[hidden]{ display:none !important; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--fejlec-m) + 12px); }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
html[data-lt-nyitva] body{ overflow:hidden; }

body{
  margin:0; background:var(--feluelet); color:var(--szoveg);
  font-family:var(--betu); font-size:var(--fs-alap); line-height:var(--sor-alap);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg{ max-width:100%; height:auto; }
h1,h2,h3{ margin:0 0 var(--t-4); line-height:var(--sor-szoros); font-weight:600; letter-spacing:-.018em; text-wrap:balance; }
h1{ font-size:var(--fs-h1); }
h2{ font-size:var(--fs-h2); }
h3{ font-size:var(--fs-h3); letter-spacing:-.005em; }
p{ margin:0 0 var(--t-4); }
a{ color:var(--nuxon-primary); text-underline-offset:.18em; }
a:hover{ color:var(--nuxon-primary-sotet); }
abbr[title]{ text-decoration:none; color:var(--hiba); }
:focus-visible{ outline:3px solid var(--nuxon-accent); outline-offset:2px; }

.sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--szoveg); color:#fff; padding:var(--t-3) var(--t-5); }
.skip:focus{ left:0; }
.ikonkeszlet{ position:absolute; width:0; height:0; overflow:hidden; }
.csak-keskeny{ display:none; }

/* =========================================================
   3. ELRENDEZÉS, SZEKCIÓK
   Ritmus: két azonos hátterű szekció nem követheti egymást.
   Sorrend: hero(fotó) – fehér – halvány – fehér – halvány – fehér –
   halvány – MÉLY – fehér – halvány – fehér – halvány – fehér –
   halvány – fehér – zárás(fotó) – lábléc(antracit)
   ========================================================= */
.wrap{ width:100%; max-width:var(--kontener); margin:0 auto; padding:0 clamp(18px,4vw,40px); }
.sec{ padding:var(--t-9) 0; }
.sec--halvany{ background:var(--feluelet-alt); }
.sec--mely{ background:var(--nuxon-deep); color:var(--szoveg-vilagos); }
.sec--mely a:not(.btn){ color:#fff; }

.bevezeto{ max-width:var(--olvasas); margin-bottom:var(--t-7); }
.bevezeto > :last-child{ margin-bottom:0; }
.bevezeto--utana{ margin:var(--t-7) 0 0; }
.kiemelt-mondat{ font-weight:500; font-size:var(--fs-nagy); line-height:1.45; }
.definicio{ font-size:var(--fs-nagy); line-height:1.5; }

.ketoszlop{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,80px); align-items:center; }
.ketoszlop__szoveg{ max-width:var(--olvasas); }
.ketoszlop__szoveg > :last-child{ margin-bottom:0; }
.ketoszlop--fordit > figure{ order:-1; }

.gombsor{ display:flex; flex-wrap:wrap; gap:var(--t-3); margin-top:var(--t-6); }
.blokk-cta{ margin:var(--t-7) 0 0; }

.kitetel{ border-left:3px solid var(--nuxon-accent); padding:var(--t-1) 0 var(--t-1) var(--t-4); color:var(--szoveg-halk); max-width:var(--olvasas); }
.sec--mely .kitetel{ color:var(--szoveg-vilagos-halk); }
.kitetel--blokk{ margin-top:var(--t-7); color:var(--szoveg); font-weight:500; }

/* =========================================================
   4. KÖZÖS ELEMEK
   ========================================================= */
.ikon{ width:24px; height:24px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- Gombok ----------
   elsodleges: telt NUXON-kék — egy nézetben lehetőleg egy
   masodlagos: körvonalas; sotetre: sötét háttéren körvonalas
   vilagos: sötét háttéren telt fehér */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--t-2);
  font-family:var(--betu); font-size:1rem; font-weight:500; line-height:1.25; text-align:center;
  padding:13px 22px; min-height:48px; border:1.5px solid transparent; border-radius:var(--kerekites-k);
  text-decoration:none; cursor:pointer;
  transition:background var(--mozgas), color var(--mozgas), border-color var(--mozgas);
}
.btn--nagy{ font-size:var(--fs-alap); padding:15px 26px; min-height:54px; }
.btn--elsodleges{ background:var(--nuxon-primary); color:#fff; }
.btn--elsodleges:hover{ background:var(--nuxon-primary-sotet); color:#fff; }
.btn--masodlagos{ background:transparent; color:var(--nuxon-primary); border-color:var(--nuxon-primary); }
.btn--masodlagos:hover{ background:var(--accent-halvany); color:var(--nuxon-primary-sotet); }
.btn--sotetre{ background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.btn--sotetre:hover{ background:rgba(255,255,255,.1); border-color:#fff; color:#fff; }
.btn--vilagos{ background:#fff; color:var(--nuxon-deep); }
.btn--vilagos:hover{ background:var(--accent-halvany); color:var(--nuxon-deep); }
.btn[disabled]{ opacity:.6; cursor:progress; }

/* ---------- Pipás lista ---------- */
.pipalista{ list-style:none; margin:0 0 var(--t-5); padding:0; }
.pipalista li{ position:relative; padding:var(--t-2) 0 var(--t-2) 34px; border-bottom:1px solid rgba(255,255,255,.12); }
.pipalista li::before{
  content:""; position:absolute; left:4px; top:.95em; width:14px; height:8px;
  border-left:2px solid var(--nuxon-accent); border-bottom:2px solid var(--nuxon-accent); transform:rotate(-45deg);
}

/* ---------- Légkezelő-sáv (a fő vizuális motívum kicsiben) ---------- */
.sema-sav{ display:inline-flex; gap:3px; }
.sema-sav > span{ position:relative; width:34px; height:20px; border:1.5px solid var(--keret-eros); background:var(--feluelet); border-radius:2px; }
.sema-sav > .sema-sav__fokusz{ background:var(--nuxon-accent); border-color:var(--nuxon-accent); }
.sema-sav--semleges > span{ background:var(--feluelet-alt); }
.sema-sav--vizsgalat > span{ background:var(--feluelet-alt); }
.sema-sav--vizsgalat > .sema-sav__fokusz{ background:var(--accent-halvany); border:2px dashed var(--nuxon-primary); }

/* =========================================================
   5. FEJLÉC
   ========================================================= */
.fejlec{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.97); border-bottom:1px solid transparent; transition:border-color var(--mozgas), box-shadow var(--mozgas); }
.fejlec[data-gorgetve="igen"]{ border-bottom-color:var(--keret); box-shadow:0 2px 12px rgba(16,28,74,.06); }
.fejlec__sor{ display:flex; align-items:center; gap:var(--t-5); min-height:var(--fejlec-m); }
.marka{ display:flex; flex:none; }
.marka img{ width:132px; height:auto; }
.nav{ margin-left:auto; }
.nav__lista{ display:flex; gap:clamp(12px,1.6vw,26px); list-style:none; margin:0; padding:0; }
.nav__lista a{ display:block; white-space:nowrap; padding:var(--t-2) 0; color:var(--szoveg); text-decoration:none; font-size:.95rem; font-weight:500; border-bottom:2px solid transparent; }
.nav__lista a:hover{ border-bottom-color:var(--nuxon-accent); color:var(--szoveg); }
.fejlec__cta{ flex:none; min-height:44px; padding:10px 18px; font-size:.95rem; }
.nav-kapcsolo{ display:none; }

/* =========================================================
   6. BLOKKOK
   ========================================================= */

/* ---------- 02 HERO ---------- */
.hero{ position:relative; color:#fff; background:var(--nuxon-deep); overflow:hidden; }
/* A kép asztali nézetben a jobb oldali 70%-ot tölti ki, balra a sötét
   háttérbe olvad; így a jobb oldali termékkiemelések szabadon látszanak,
   és a kép a natív felbontásához közeli méretben jelenik meg. */
.hero__kep{ position:absolute; top:0; bottom:0; right:0; left:30%; }
.hero__kep picture, .hero__kep img{ position:absolute; inset:0; width:100%; height:100%; }
.hero__kep img{ object-fit:cover; object-position:78% 25%; }
.hero__kep::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, var(--nuxon-deep) 0%, rgba(16,28,74,.88) 22%, rgba(16,28,74,.45) 48%, rgba(16,28,74,.08) 72%, rgba(16,28,74,0) 100%);
}
.hero__belso{ position:relative; min-height:clamp(560px, 78vh, 740px); display:flex; flex-direction:column; justify-content:center; padding-top:var(--t-8); padding-bottom:var(--t-8); }
.hero__szoveg{ max-width:660px; }
.hero h1{ margin-bottom:var(--t-5); }
.hero__bevezeto{ font-size:var(--fs-nagy); line-height:1.55; }
.hero p{ color:#E6EDF0; }
.hero .hero__megj{ margin:var(--t-4) 0 0; font-size:var(--fs-kicsi); color:var(--szoveg-vilagos-halk); }
.hero__sema{ display:flex; align-items:flex-end; gap:var(--t-4); margin-top:var(--t-8); }
.hero__sema-felirat{ font-size:var(--fs-kicsi); color:var(--szoveg-vilagos-halk); padding-bottom:1px; }
.hero__sema .sema-sav > span{ width:46px; height:26px; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.45); }
.hero__sema .sema-sav > .sema-sav__fokusz{ background:var(--nuxon-accent); border-color:var(--nuxon-accent); }
.sema-sav__fokusz i{ position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%); font-style:normal; font-size:var(--fs-kicsi); font-weight:500; white-space:nowrap; color:#fff; }

/* ---------- 03 PROBLÉMA ---------- */
.jelzesek{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--t-7) var(--t-6); }
.jelzes{ border-top:2px solid var(--szoveg); padding-top:var(--t-4); }
.jelzes .ikon{ width:30px; height:30px; color:var(--nuxon-primary); margin-bottom:var(--t-3); }
.jelzes h3{ margin-bottom:var(--t-2); }
.jelzes p{ margin:0; color:var(--szoveg-halk); }

/* ---------- 04 KULCSVIZUÁL B: két projektút ---------- */
.utvonal{ margin:0; }
.utvonal__racs{
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  grid-template-areas:"csere csomopont retrofit"; align-items:center; gap:0;
}
.utvonal__ut{ background:var(--feluelet); border:1.5px solid var(--keret); border-radius:var(--kerekites); padding:var(--t-6) var(--t-5); text-align:center; }
.utvonal__ut--csere{ grid-area:csere; }
.utvonal__ut--retrofit{ grid-area:retrofit; }
.utvonal__ut h3{ margin:var(--t-5) 0 var(--t-1); font-size:var(--fs-nagy); }
.utvonal__ut p{ margin:0; color:var(--szoveg-halk); }
.utvonal__csomopont{
  grid-area:csomopont; position:relative; display:flex; flex-direction:column; align-items:center; gap:var(--t-2);
  width:190px; padding:var(--t-5) var(--t-4); text-align:center; font-weight:600; color:var(--nuxon-primary);
}
.utvonal__csomopont .ikon{ width:44px; height:44px; padding:9px; border:2px solid var(--nuxon-primary); border-radius:50%; background:var(--feluelet); box-sizing:content-box; }
.utvonal__csomopont::before, .utvonal__csomopont::after{
  content:""; position:absolute; top:calc(var(--t-5) + 31px); width:34px; border-top:2px solid var(--nuxon-primary);
}
.utvonal__csomopont::before{ left:0; }
.utvonal__csomopont::after{ right:0; }

.mini-ahu{ display:inline-flex; gap:3px; padding:6px; border:2px solid var(--szoveg-halk); border-radius:3px; }
.mini-ahu > span{ width:26px; height:34px; background:var(--feluelet-alt); border:1.5px solid var(--keret-eros); }
.mini-ahu--uj{ border-color:var(--szoveg); }
.mini-ahu--uj > span{ background:var(--feluelet); border-color:var(--szoveg); }
.mini-ahu > .mini-ahu__pont{ background:var(--nuxon-accent); border-color:var(--nuxon-accent); }

/* ---------- 05 RETROFIT: három lépés ---------- */
.harom-lepes{ margin:0; }
.harom-lepes ol{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--t-6); }
.harom-lepes li{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:var(--t-3); font-weight:500; line-height:1.35; }
.harom-lepes .ikon{ width:30px; height:30px; padding:13px; box-sizing:content-box; border:1.5px solid var(--keret-eros); border-radius:var(--kerekites); color:var(--szoveg-halk); background:var(--feluelet); }
.harom-lepes li:nth-child(2) .ikon{ color:var(--nuxon-primary); border:2px solid var(--nuxon-accent); background:var(--accent-halvany); }
.harom-lepes li:not(:last-child)::after{
  content:""; position:absolute; top:28px; left:66px; right:calc(-1 * var(--t-6) + 8px); border-top:1.5px dashed var(--keret-eros);
}

/* ---------- 06 KULCSVIZUÁL A: a meglévő légkezelő ---------- */
.ahu-abra{ margin:0; }
.ahu{ display:flex; align-items:center; gap:var(--t-4); }
.ahu__levego{ flex:none; display:flex; align-items:center; gap:var(--t-2); font-size:var(--fs-kicsi); font-weight:500; color:var(--szoveg-halk); }
.ahu__levego::after{ content:""; width:26px; border-top:2px solid var(--szoveg-halk); }
.ahu__levego--ki::after{ display:none; }
.ahu__levego--ki::before{ content:""; width:26px; border-top:2px solid var(--szoveg-halk); }
.ahu__test{
  flex:1; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
  border:2.5px solid var(--szoveg); border-radius:var(--kerekites-k); background:var(--feluelet);
}
.ahu__egyseg{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--t-2);
  min-height:170px; padding:var(--t-5) var(--t-3); text-align:center; font-size:.95rem; font-weight:500; color:var(--szoveg-halk);
}
.ahu__egyseg + .ahu__egyseg{ border-left:1.5px solid var(--keret-eros); }
.ahu__egyseg .ikon{ width:34px; height:34px; }
.ahu__egyseg--fokusz{ color:var(--nuxon-primary-sotet); background:var(--accent-halvany); outline:3px solid var(--nuxon-accent); outline-offset:-3px; z-index:1; }
.ahu__egyseg--fokusz .ikon{ color:var(--nuxon-primary); }
.ahu__egyseg em{ font-style:normal; font-size:var(--fs-kicsi); font-weight:400; color:var(--nuxon-primary); }

.allapotok{ list-style:none; margin:var(--t-7) 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--t-5); counter-reset:allapot; }
.allapot{ position:relative; display:flex; flex-direction:column; gap:var(--t-3); padding:var(--t-5); border:1px solid var(--keret); border-radius:var(--kerekites); background:var(--feluelet); }
.allapot__nev{ font-weight:600; }
.allapot:not(:last-child)::after{
  content:""; position:absolute; right:calc(-1 * var(--t-5) + 4px); top:50%; width:10px; height:10px;
  border-top:2px solid var(--szoveg-halk); border-right:2px solid var(--szoveg-halk); transform:translateY(-50%) rotate(45deg);
}

/* ---------- 07 KULCSVIZUÁL C: szűrő → Δp → ventilátor → energia ---------- */
.dp-abra{ margin:0; }
.dp{ display:flex; align-items:center; gap:0; }
.dp__lepes{
  flex:none; display:flex; flex-direction:column; align-items:center; gap:var(--t-2); width:150px; text-align:center;
  font-weight:500; line-height:1.3;
}
.dp__lepes .ikon{ width:30px; height:30px; padding:14px; box-sizing:content-box; border:1.5px solid var(--keret-eros); border-radius:50%; background:var(--feluelet); color:var(--szoveg); }
.dp__lepes--energia .ikon{ color:var(--nuxon-primary); border-color:var(--nuxon-primary); }
.dp__nyil{
  position:relative; flex:1; min-width:28px; height:2px;
  background:repeating-linear-gradient(90deg, var(--nuxon-accent) 0 8px, transparent 8px 14px);
  background-size:14px 2px; animation:dp-aramlas 1.2s linear infinite;
}
.dp__nyil::after{ content:""; position:absolute; right:-1px; top:-5px; width:10px; height:10px; border-top:2px solid var(--nuxon-accent); border-right:2px solid var(--nuxon-accent); transform:rotate(45deg); }
@keyframes dp-aramlas{ to{ background-position:14px 0; } }
.dp__rendszer{ flex:none; width:clamp(230px, 26vw, 300px); border:2px dashed var(--keret-eros); border-radius:var(--kerekites); padding:var(--t-4); background:var(--feluelet-alt); }
.dp__rendszer-cim{ display:block; font-size:var(--fs-kicsi); font-weight:600; color:var(--szoveg-halk); margin-bottom:var(--t-3); }
.dp__rendszer ul{ list-style:none; margin:0; padding:0; display:grid; gap:var(--t-2); }
.dp__elem{ display:flex; align-items:center; gap:var(--t-3); padding:10px var(--t-3); background:var(--feluelet); border:1px solid var(--keret); border-radius:var(--kerekites-k); color:var(--szoveg-halk); font-weight:500; }
.dp__elem .ikon{ width:22px; height:22px; }
.dp__elem--szuro{ color:var(--nuxon-primary-sotet); border:2px solid var(--nuxon-accent); background:var(--accent-halvany); }
.dp__jel{ margin-left:auto; font-weight:600; color:var(--nuxon-primary); }
.dp-abra figcaption{ margin-top:var(--t-6); font-weight:500; text-align:center; }

/* ---------- 08 KULCSVIZUÁL D: költségrétegek ---------- */
.tco{ margin:0; background:var(--feluelet); border:1px solid var(--keret); border-radius:var(--kerekites-n); padding:var(--t-6); }
.tco__cim{ font-size:var(--fs-nagy); font-weight:600; margin:0 0 var(--t-5); }
.tco__retegek{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.tco__reteg{ display:flex; align-items:center; gap:var(--t-3); padding:12px var(--t-4); background:var(--feluelet-alt); border-left:4px solid var(--keret-eros); border-radius:0 var(--kerekites-k) var(--kerekites-k) 0; font-weight:500; }
.tco__reteg .ikon{ width:22px; height:22px; color:var(--szoveg-halk); }
.tco__reteg--energia{ background:var(--accent-halvany); border-left-color:var(--nuxon-accent); padding-top:18px; padding-bottom:18px; }
.tco__reteg--energia .ikon{ color:var(--nuxon-primary); }
.tco__reteg--beruhazas{ background:transparent; border:1.5px dashed var(--keret-eros); border-left:4px solid var(--keret-eros); }
.szoveglink{ margin-top:var(--t-5); }

/* ---------- 09 MESP ---------- */
.mesp{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,6vw,80px); align-items:start; }
.mesp__szoveg{ max-width:var(--olvasas); }
.mesp__szoveg > p:first-of-type{ font-size:var(--fs-nagy); line-height:1.55; }
.szoveglinkek{ margin:var(--t-6) 0 0; font-size:var(--fs-kicsi); color:var(--szoveg-vilagos-halk); }
.mesp__kepek{ display:grid; gap:var(--t-5); }
.mesp__kepek figure{ margin:0; }
.mesp__kepek figcaption{ margin-top:var(--t-2); font-size:var(--fs-kicsi); color:var(--szoveg-vilagos-halk); }
.mesp__cella img{ display:block; width:min(280px, 70%); height:auto; }
.mesp__beepites picture{ display:block; background:#fff; border-radius:var(--kerekites); padding:var(--t-4); }
.mesp__beepites img{ display:block; width:100%; height:auto; }

/* ---------- 10 ALKALMASSÁG ---------- */
.feltetelek{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--t-5); }
.feltetel{ padding:var(--t-5); border:1px solid var(--keret); border-radius:var(--kerekites); background:var(--feluelet); }
.feltetel .ikon{ width:28px; height:28px; color:var(--nuxon-primary); margin-bottom:var(--t-3); }
.feltetel h3{ margin-bottom:var(--t-2); }
.feltetel p{ margin:0; font-size:.975rem; color:var(--szoveg-halk); }

/* ---------- 11 MIT VIZSGÁLUNK: adatlap ---------- */
.adatlap{ background:var(--feluelet); border:1px solid var(--keret); border-radius:var(--kerekites); overflow:hidden; }
.adatlap__fej{ display:flex; align-items:center; gap:var(--t-3); padding:var(--t-4) var(--t-5); background:var(--nuxon-deep); color:#fff; font-weight:600; }
.adatlap__sorok{ list-style:none; margin:0; padding:var(--t-2) var(--t-5); }
.adatlap__sorok li{ display:flex; align-items:center; gap:var(--t-4); padding:12px 0; border-bottom:1px dotted var(--keret-eros); }
.adatlap__sorok li:last-child{ border-bottom:0; }
.adatlap__sorok .ikon{ width:22px; height:22px; color:var(--nuxon-primary); }

/* ---------- 12 NINCS MINDEN ADAT ---------- */
.nyugodt{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:var(--t-5) var(--t-7);
  padding:clamp(24px,4vw,48px); background:var(--accent-halvany); border-radius:var(--kerekites-n);
}
.nyugodt__szoveg{ max-width:60ch; }
.nyugodt__szoveg h2{ font-size:clamp(1.4rem, 1.1rem + 1vw, 1.85rem); margin-bottom:var(--t-3); }
.nyugodt__szoveg p{ margin:0; }
.valasz-minta{
  display:inline-flex; align-items:center; gap:var(--t-2); padding:12px 18px; border:2px solid var(--nuxon-primary);
  border-radius:var(--kerekites); background:#fff; color:var(--nuxon-primary-sotet); font-weight:600; white-space:nowrap;
}
.valasz-minta .ikon{ width:20px; height:20px; stroke-width:2.2; }

/* ---------- 13 FOLYAMAT: idővonal ---------- */
.idovonal{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--t-5); counter-reset:lepes; }
.idovonal li{ position:relative; padding-top:64px; counter-increment:lepes; }
.idovonal li::before{
  content:counter(lepes); position:absolute; top:0; left:0; width:44px; height:44px; display:grid; place-items:center;
  border-radius:50%; background:var(--feluelet); border:2px solid var(--nuxon-primary); color:var(--nuxon-primary); font-weight:600;
}
.idovonal li:not(:last-child)::after{ content:""; position:absolute; top:22px; left:52px; right:calc(-1 * var(--t-5) + 8px); border-top:2px solid var(--keret-eros); }
.idovonal li:first-child::before{ background:var(--nuxon-primary); color:#fff; }
.idovonal h3{ margin-bottom:var(--t-2); }
.idovonal p{ margin:0; font-size:.975rem; color:var(--szoveg-halk); }

/* ---------- 14 REFERENCIÁK: helyőrző ---------- */
.helyorzo{ padding:var(--t-6); border:2px dashed var(--keret-eros); border-radius:var(--kerekites); background:var(--feluelet-alt); max-width:860px; }
.helyorzo__cim{ font-weight:600; margin-bottom:var(--t-2); }
.helyorzo p:last-child{ margin:0; color:var(--szoveg-halk); }

/* ---------- 15 KINEK ÉRDEMES ---------- */
.helyzetek{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--t-4); }
.helyzetek li{ display:flex; align-items:flex-start; gap:var(--t-4); padding:var(--t-5); background:var(--feluelet); border-radius:var(--kerekites); border:1px solid var(--keret); font-weight:500; line-height:1.45; }
.helyzetek .ikon{ width:22px; height:22px; padding:9px; box-sizing:content-box; border-radius:50%; background:var(--accent-halvany); color:var(--nuxon-primary); }
.helyzetek span{ padding-top:8px; }

/* ---------- 16 GYIK ---------- */
.gyik > *{ max-width:880px; }
.gyik h2{ margin-bottom:var(--t-6); }
.gyik__lista{ border-top:1px solid var(--keret); }
.gyik details{ border-bottom:1px solid var(--keret); }
.gyik summary{
  display:flex; align-items:center; justify-content:space-between; gap:var(--t-4);
  min-height:60px; padding:var(--t-4) var(--t-2) var(--t-4) 0; font-weight:500; font-size:var(--fs-nagy); line-height:1.35; cursor:pointer; list-style:none;
}
.gyik summary::-webkit-details-marker{ display:none; }
.gyik summary::after{
  content:""; flex:none; width:12px; height:12px; margin-right:6px;
  border-right:2px solid var(--nuxon-primary); border-bottom:2px solid var(--nuxon-primary); transform:rotate(45deg) translateY(-3px);
  transition:transform var(--mozgas);
}
.gyik details[open] summary::after{ transform:rotate(-135deg) translateY(-3px); }
.gyik details[open]{ border-left:3px solid var(--nuxon-accent); padding-left:var(--t-4); margin-left:calc(-1 * var(--t-4) - 3px); }
.gyik details p{ margin:0 0 var(--t-5); max-width:var(--olvasas); color:var(--szoveg-halk); }

/* ---------- 17 ZÁRÁS ---------- */
.zaras{ position:relative; color:#fff; background:var(--nuxon-deep); overflow:hidden; }
.zaras__kep, .zaras__kep picture, .zaras__kep img{ position:absolute; inset:0; width:100%; height:100%; }
.zaras__kep img{ object-fit:cover; filter:blur(2px) saturate(.8); transform:scale(1.04); }
.zaras__kep::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(16,28,74,.94) 0%, rgba(16,28,74,.82) 50%, rgba(16,28,74,.5) 100%); }
.zaras__belso{ position:relative; padding-top:var(--t-9); padding-bottom:var(--t-9); }
.zaras h2{ max-width:20ch; }
.zaras p{ max-width:58ch; font-size:var(--fs-nagy); line-height:1.55; color:#E6EDF0; }

/* =========================================================
   7. LÁBLÉC
   ========================================================= */
.lablec{ background:var(--nuxon-antracit); color:var(--szoveg-vilagos-halk); font-size:var(--fs-kicsi); line-height:1.65; }
.lablec a{ color:#fff; }
.lablec__cim{ font-size:1rem; font-weight:600; color:#fff; margin-bottom:var(--t-3); }
.lablec__racs{ display:grid; grid-template-columns:1.3fr 1fr 1fr .8fr; gap:var(--t-6); padding-top:var(--t-8); padding-bottom:var(--t-7); }
.lablec__logo{ width:150px; height:auto; margin-bottom:var(--t-4); }
.lablec__linkek, .lablec__jogi{ list-style:none; margin:0; padding:0; }
.lablec__linkek li{ margin-bottom:var(--t-1); }
.lablec__alap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--t-3) var(--t-5); padding-top:var(--t-5); padding-bottom:var(--t-5); border-top:1px solid rgba(255,255,255,.12); }
.lablec__alap p{ margin:0; }
.lablec__jogi{ display:flex; flex-wrap:wrap; gap:var(--t-2) var(--t-5); }

/* =========================================================
   8. LEADTOOL
   ========================================================= */
.lt{ position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:var(--t-5); }
.lt__hatter{ position:absolute; inset:0; background:rgba(16,28,74,.62); }
.lt__ablak{
  position:relative; width:100%; max-width:780px; max-height:min(92vh, 900px); display:flex; flex-direction:column;
  background:var(--feluelet); border-radius:var(--kerekites-n); box-shadow:var(--arnyek); overflow:hidden;
}
.lt__ablak:focus{ outline:none; }
.lt__fej{ position:relative; padding:var(--t-5) var(--t-6) var(--t-4); border-bottom:1px solid var(--keret); }
.lt__cim{ margin:0 var(--t-7) var(--t-4) 0; font-size:var(--fs-nagy); font-weight:600; }
.lt__bezar{ position:absolute; top:14px; right:14px; width:44px; height:44px; display:grid; place-items:center; border:0; background:transparent; color:var(--szoveg); border-radius:50%; cursor:pointer; }
.lt__bezar:hover{ background:var(--feluelet-alt); }
.lt__haladas{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.lt__haladas li{ font-size:.8125rem; font-weight:500; color:var(--szoveg-halk); }
.lt__haladas li::before{ content:""; display:block; height:4px; border-radius:2px; background:var(--keret); margin-bottom:6px; }
.lt__haladas li[data-allapot="kesz"]::before{ background:var(--nuxon-primary); }
.lt__haladas li[data-allapot="aktualis"]{ color:var(--szoveg); font-weight:600; }
.lt__haladas li[data-allapot="aktualis"]::before{ background:var(--nuxon-accent); }
.lt__lepesszam{ display:none; margin:var(--t-2) 0 0; font-size:var(--fs-kicsi); color:var(--szoveg-halk); }

.lt__urlap{ display:flex; flex-direction:column; min-height:0; flex:1; }
.lt__torzs{ flex:1; overflow-y:auto; padding:var(--t-6); overscroll-behavior:contain; }
.lt-lepes{ border:0; margin:0; padding:0; min-width:0; }
.lt-lepes legend{ padding:0; margin-bottom:var(--t-2); font-size:clamp(1.3rem, 1.1rem + .8vw, 1.6rem); font-weight:600; line-height:1.25; }
.lt-lepes legend:focus{ outline:none; }
.lt-segito{ color:var(--szoveg-halk); margin-bottom:var(--t-5); }

/* válaszcsempék — a "Nem tudom" pontosan ugyanolyan súlyú, mint a többi */
.valaszok{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:var(--t-2); }
.valaszok--sor{ display:flex; flex-wrap:wrap; }
.valasz{ position:relative; display:block; cursor:pointer; }
.valasz input{ position:absolute; opacity:0; width:1px; height:1px; }
.valasz span{
  display:flex; align-items:center; gap:var(--t-3); min-height:54px; padding:12px var(--t-4);
  border:1.5px solid var(--keret-eros); border-radius:var(--kerekites); background:var(--feluelet); line-height:1.3; font-weight:500;
  transition:border-color var(--mozgas), background var(--mozgas);
}
.valasz span::before{ content:""; flex:none; width:18px; height:18px; border:1.5px solid var(--keret-eros); border-radius:4px; background:#fff; }
.valasz input[type="radio"] + span::before{ border-radius:50%; }
.valasz:hover span{ border-color:var(--nuxon-primary); }
.valasz input:checked + span{ border:2px solid var(--nuxon-primary); background:var(--accent-halvany); padding:11.5px 15.5px; }
.valasz input:checked + span::before{ border-color:var(--nuxon-primary); background:var(--nuxon-primary); box-shadow:inset 0 0 0 3px #fff; }
.valasz input:focus-visible + span{ outline:3px solid var(--nuxon-accent); outline-offset:2px; }
.valaszok--sor .valasz span{ min-height:48px; }

.alkerdes{ margin-top:var(--t-6); }
.alkerdes__cim{ font-weight:600; margin-bottom:var(--t-3); }

.mezo{ margin:0 0 var(--t-5); }
.mezo label{ display:block; font-weight:500; margin-bottom:6px; }
.mezo small{ display:block; margin-top:6px; font-size:var(--fs-kicsi); color:var(--szoveg-halk); }
.mezo input, .mezo textarea{
  width:100%; min-height:50px; padding:12px 14px; font:inherit; color:var(--szoveg); background:#fff;
  border:1.5px solid var(--keret-eros); border-radius:var(--kerekites-k);
}
.mezo textarea{ min-height:0; resize:vertical; }
.mezo input:focus, .mezo textarea:focus{ border-color:var(--nuxon-primary); outline:3px solid rgba(24,168,216,.35); outline-offset:0; }
.mezo input:disabled, .mezo textarea:disabled{ background:var(--feluelet-alt); color:var(--szoveg-halk); }
.mezo [aria-invalid="true"]{ border-color:var(--hiba); }
.mezo select{
  width:100%; min-height:50px; padding:12px 14px; font:inherit; color:var(--szoveg); background:#fff;
  border:1.5px solid var(--keret-eros); border-radius:var(--kerekites-k);
}
.mezo select:focus{ border-color:var(--nuxon-primary); outline:3px solid rgba(24,168,216,.35); outline-offset:0; }
.mezo--teljes{ grid-column:1 / -1; }
.egyseg{ display:flex; align-items:center; gap:var(--t-2); }
.egyseg input{ flex:1; min-width:0; }
.egyseg span{ font-size:var(--fs-kicsi); color:var(--szoveg-halk); white-space:nowrap; }

/* légkezelő-blokkok (3. lépés) */
.legkezelok{ margin-top:var(--t-5); }
.legkezelo{ border:1px solid var(--keret); border-radius:var(--kerekites); padding:var(--t-5); margin:0 0 var(--t-5); min-width:0; }
.legkezelo > legend{ display:flex; align-items:center; gap:var(--t-4); width:100%; padding:0 var(--t-2); margin-left:calc(-1 * var(--t-2)); font-weight:600; }
.legkezelo__torol{ margin-left:auto; min-height:44px; padding:0 var(--t-2); border:0; background:none; color:var(--szoveg-halk); text-decoration:underline; cursor:pointer; font:inherit; font-size:var(--fs-kicsi); font-weight:400; }
.legkezelo__torol:hover{ color:var(--hiba); }
.alcsoport{ margin:var(--t-2) 0 var(--t-3); font-weight:600; }
.racs-4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 var(--t-4); }
.szuro-oldal{ border:1px solid var(--keret); border-radius:var(--kerekites-k); margin-bottom:var(--t-4); background:var(--feluelet-alt); }
.szuro-oldal > summary{ min-height:52px; display:flex; align-items:center; gap:var(--t-3); padding:var(--t-3) var(--t-4); font-weight:600; cursor:pointer; list-style:none; }
.szuro-oldal > summary::-webkit-details-marker{ display:none; }
.szuro-oldal > summary::before{ content:"+"; width:22px; height:22px; flex:none; display:grid; place-items:center; border:1.5px solid var(--nuxon-primary); border-radius:50%; color:var(--nuxon-primary); font-weight:600; line-height:1; }
.szuro-oldal[open] > summary::before{ content:"–"; }
.szuro-fokozat{ margin:0 var(--t-4) var(--t-4); padding:var(--t-4); border:1px solid var(--keret); border-radius:var(--kerekites-k); background:#fff; min-width:0; }
.szuro-fokozat > legend{ padding:0 var(--t-2); font-weight:600; font-size:var(--fs-kicsi); }
.szuro-fokozat .mezo{ margin-bottom:var(--t-4); }
.uj-legkezelo{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--t-3); margin:0; }
.uj-legkezelo small{ color:var(--szoveg-halk); font-size:var(--fs-kicsi); }
.racs-2{ display:grid; grid-template-columns:1fr 1fr; gap:0 var(--t-5); }

.mezo-hiba{ display:block; margin:var(--t-2) 0 0; color:var(--hiba); font-size:var(--fs-kicsi); font-weight:500; }

.feltolto{ margin-top:var(--t-6); }
.feltolto input[type="file"]{ position:absolute; opacity:0; width:1px; height:1px; }
.feltolto__cel{
  display:flex; flex-direction:column; align-items:center; gap:var(--t-2); padding:var(--t-6) var(--t-5); text-align:center; cursor:pointer;
  border:2px dashed var(--keret-eros); border-radius:var(--kerekites); background:var(--feluelet-alt); transition:border-color var(--mozgas), background var(--mozgas);
}
.feltolto__cel .ikon{ width:30px; height:30px; color:var(--nuxon-primary); }
.feltolto__fo{ font-weight:600; color:var(--nuxon-primary); }
.feltolto__sug{ font-size:var(--fs-kicsi); color:var(--szoveg-halk); }
.feltolto__cel:hover, .feltolto__cel[data-huzas]{ border-color:var(--nuxon-primary); background:var(--accent-halvany); }
.feltolto input:focus-visible + .feltolto__cel{ outline:3px solid var(--nuxon-accent); outline-offset:2px; }
.feltolto__lista{ list-style:none; margin:var(--t-3) 0 0; padding:0; }
.feltolto__lista li{ display:flex; align-items:center; gap:var(--t-3); padding:6px 0 6px var(--t-3); border-left:3px solid var(--siker); margin-bottom:6px; font-size:var(--fs-kicsi); }
.feltolto__nev{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:500; }
.feltolto__meret{ color:var(--szoveg-halk); white-space:nowrap; }
.feltolto__torol{ min-height:44px; padding:0 var(--t-3); border:0; background:none; color:var(--szoveg-halk); text-decoration:underline; cursor:pointer; font:inherit; }
.feltolto__torol:hover{ color:var(--hiba); }
.lt-adatvedelem{ margin:var(--t-5) 0 0; font-size:var(--fs-kicsi); color:var(--szoveg-halk); }

.hozzajarulas{ margin-top:var(--t-5); padding-top:var(--t-5); border-top:1px solid var(--keret); }
.jelolo{ display:flex; gap:var(--t-3); align-items:flex-start; margin-bottom:var(--t-4); cursor:pointer; line-height:1.45; }
.jelolo input{ flex:none; width:22px; height:22px; margin:1px 0 0; accent-color:var(--nuxon-primary); }
.hozzajarulas .mezo-hiba{ margin:-8px 0 var(--t-4) 34px; }

.lt__hiba{ margin:0 var(--t-6); padding:var(--t-3) var(--t-4); background:var(--hiba-halvany); color:var(--hiba); border-radius:var(--kerekites-k); font-weight:500; font-size:.95rem; }
.lt__lab{ display:flex; justify-content:space-between; gap:var(--t-3); padding:var(--t-4) var(--t-6); border-top:1px solid var(--keret); background:var(--feluelet); }
.lt__lab [data-lt-tovabb], .lt__lab [data-lt-kuld]{ margin-left:auto; min-width:160px; }

.lt__siker{ padding:var(--t-8) var(--t-6); text-align:center; overflow-y:auto; }
.lt__siker:focus{ outline:none; }
.lt__siker-ikon{ width:40px; height:40px; padding:14px; box-sizing:content-box; border-radius:50%; background:rgba(27,122,75,.1); color:var(--siker); fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; margin-bottom:var(--t-4); }
.lt__siker-cim{ font-size:var(--fs-h3); font-weight:600; }
.lt__siker p{ max-width:52ch; margin-left:auto; margin-right:auto; }
.lt__siker .btn{ margin-top:var(--t-4); }

.csapda{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* =========================================================
   9. COOKIE-BANNER (a consent.js építi fel)
   ========================================================= */
.cc{ position:fixed; left:0; right:0; bottom:0; z-index:100; padding:clamp(12px,2vw,20px); animation:cc-be 260ms cubic-bezier(.2,.6,.3,1) both; }
@keyframes cc-be{ from{ transform:translateY(16px); opacity:0; } }
.cc__doboz{
  max-width:var(--kontener); margin:0 auto; background:var(--feluelet); color:var(--szoveg);
  border:1px solid var(--keret); border-top:3px solid var(--nuxon-accent); border-radius:var(--kerekites-n); box-shadow:var(--arnyek);
  padding:clamp(18px,2.4vw,28px); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--t-5) clamp(24px,3vw,40px); align-items:start;
}
.cc__cim{ font-size:var(--fs-nagy); margin:0 0 var(--t-2); }
.cc__leiras{ font-size:var(--fs-kicsi); line-height:1.55; color:var(--szoveg-halk); margin:0; max-width:74ch; }
.cc__gombok{ display:flex; flex-wrap:wrap; gap:var(--t-3); align-items:flex-start; }
.cc__gomb{ white-space:nowrap; }
.cc__reszletek{ margin-top:var(--t-5); padding-top:var(--t-5); border-top:1px solid var(--keret); display:grid; grid-template-columns:repeat(3,1fr); gap:var(--t-5); }
.cc__kat-fej{ display:flex; align-items:center; gap:var(--t-3); margin-bottom:var(--t-2); min-height:32px; }
.cc__kat-cim{ font-size:var(--fs-kicsi); font-weight:600; }
.cc__kat-leiras{ font-size:.8125rem; line-height:1.5; color:var(--szoveg-halk); margin:0; }
.cc__mindig{ font-size:.8125rem; font-weight:600; color:var(--siker); background:rgba(27,122,75,.10); border-radius:100px; padding:3px 10px; }
.cc__kapcsolo{ display:flex; align-items:center; gap:var(--t-3); cursor:pointer; }
.cc__kapcsolo input{ width:20px; height:20px; accent-color:var(--nuxon-primary); flex:none; }

/* =========================================================
   10. JOGI ALOLDALAK, 404
   ========================================================= */
.jogi{ max-width:var(--olvasas); }
.jogi h1{ font-size:clamp(1.8rem, 1.3rem + 1.8vw, 2.5rem); margin-bottom:var(--t-6); }
.jogi h2{ font-size:1.35rem; margin-top:var(--t-7); }
.jogi h3{ margin-top:var(--t-6); }
.jogi li p{ margin-bottom:var(--t-2); }
.jogi table{ border-collapse:collapse; width:100%; font-size:var(--fs-kicsi); margin-bottom:var(--t-5); display:block; overflow-x:auto; }
.jogi th, .jogi td{ border:1px solid var(--keret); padding:var(--t-2) var(--t-3); text-align:left; vertical-align:top; }
.egyszeru-fejlec .fejlec__sor{ justify-content:space-between; }
.egyszeru-lablec{ background:var(--nuxon-antracit); color:var(--szoveg-vilagos-halk); padding:var(--t-6) 0; font-size:var(--fs-kicsi); }
.egyszeru-lablec a{ color:#fff; }
.egyszeru-lablec p{ margin:0; }
.hiba404{ min-height:60vh; }
.hiba404__kod{ font-weight:600; line-height:1; font-size:clamp(4rem,12vw,7.5rem); letter-spacing:-.04em; color:var(--nuxon-accent); opacity:.35; margin:0 0 var(--t-3); }

/* =========================================================
   RESZPONZÍV — a töréspontok egy helyen, fejezetenként
   ========================================================= */
@media (max-width:1180px){
  /* fejléc: hamburger-menü */
  .nav-kapcsolo{
    display:grid; place-items:center; width:44px; height:44px; margin-left:calc(-1 * var(--t-2)); padding:0;
    border:0; background:transparent; cursor:pointer; color:var(--szoveg);
  }
  .nav-kapcsolo__vonal, .nav-kapcsolo__vonal::before, .nav-kapcsolo__vonal::after{
    content:""; display:block; width:22px; height:2px; background:currentColor; border-radius:1px; transition:transform var(--mozgas);
  }
  .nav-kapcsolo__vonal{ position:relative; }
  .nav-kapcsolo__vonal::before{ position:absolute; top:-7px; }
  .nav-kapcsolo__vonal::after{ position:absolute; top:7px; }
  .nav-kapcsolo[aria-expanded="true"] .nav-kapcsolo__vonal{ background:transparent; }
  .nav-kapcsolo[aria-expanded="true"] .nav-kapcsolo__vonal::before{ transform:translateY(7px) rotate(45deg); }
  .nav-kapcsolo[aria-expanded="true"] .nav-kapcsolo__vonal::after{ transform:translateY(-7px) rotate(-45deg); }
  .nav{ position:absolute; top:100%; left:0; right:0; margin:0; background:#fff; border-bottom:1px solid var(--keret); box-shadow:0 12px 24px rgba(16,28,74,.08); display:none; }
  html[data-menu-nyitva] .nav{ display:block; }
  .nav__lista{ flex-direction:column; gap:0; padding:var(--t-2) clamp(18px,4vw,40px) var(--t-4); }
  .nav__lista a{ padding:14px 0; border-bottom:1px solid var(--keret); font-size:var(--fs-alap); }
  .fejlec__cta{ margin-left:auto; }
  .idovonal{ grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:var(--t-7); }
  .idovonal li:nth-child(3)::after{ display:none; }
  .dp__lepes{ width:108px; font-size:.95rem; }
}

@media (max-width:1023px){

  .ketoszlop, .mesp{ grid-template-columns:1fr; }
  .ketoszlop--fordit > figure{ order:0; }
  .jelzesek, .helyzetek, .feltetelek{ grid-template-columns:repeat(2,minmax(0,1fr)); }

  /* C ábra: függőleges lépcső */
  .dp{ flex-direction:column; align-items:stretch; max-width:420px; margin:0 auto; }
  .dp__lepes{ width:auto; flex-direction:row; justify-content:flex-start; gap:var(--t-4); text-align:left; }
  .dp__rendszer{ width:auto; }
  .dp__nyil{ flex:none; width:2px; height:36px; min-width:0; margin-left:29px;
    background:repeating-linear-gradient(180deg, var(--nuxon-accent) 0 8px, transparent 8px 14px); background-size:2px 14px; animation-name:dp-aramlas-le; }
  .dp__nyil::after{ right:auto; left:-5px; top:auto; bottom:-1px; transform:rotate(135deg); }
  @keyframes dp-aramlas-le{ to{ background-position:0 14px; } }
  .dp-abra figcaption{ text-align:left; max-width:420px; margin-left:auto; margin-right:auto; }

  .lablec__racs{ grid-template-columns:1fr 1fr; }
  .cc__doboz{ grid-template-columns:1fr; }
  .cc__reszletek{ grid-template-columns:1fr 1fr; }
  .racs-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:767px){
  :root{ --fejlec-m:64px; }
  .sec{ padding:var(--t-8) 0; }
  .bevezeto{ margin-bottom:var(--t-6); }
  .marka img{ width:112px; }

  .hero__kep{ left:0; }
  .hero__kep img{ object-position:50% 30%; }
  .hero__kep::after{ background:linear-gradient(180deg, rgba(16,28,74,.80) 0%, rgba(16,28,74,.90) 45%, rgba(16,28,74,.96) 100%); }
  .hero__belso{ min-height:0; padding-top:var(--t-7); padding-bottom:var(--t-7); }
  .hero .gombsor .btn, .zaras .gombsor .btn{ width:100%; }
  .hero__sema{ display:none; }

  .jelzesek, .helyzetek, .feltetelek{ grid-template-columns:1fr; }
  .jelzesek{ gap:var(--t-6); }

  /* B ábra: előbb a vizsgálat, alatta a két út */
  .utvonal__racs{ grid-template-columns:1fr 1fr; grid-template-areas:"csomopont csomopont" "csere retrofit"; gap:var(--t-3); align-items:stretch; }
  .utvonal__csomopont{ width:auto; padding-bottom:var(--t-4); }
  .utvonal__csomopont::before{ display:none; }
  .utvonal__csomopont::after{ top:auto; bottom:0; left:50%; right:auto; width:0; height:14px; border-top:0; border-left:2px solid var(--nuxon-primary); }
  .utvonal__ut{ padding:var(--t-5) var(--t-3); }
  .mini-ahu > span{ width:14px; height:26px; }

  /* 05: függőleges három lépés */
  .harom-lepes ol{ grid-template-columns:1fr; gap:var(--t-5); }
  .harom-lepes li{ flex-direction:row; align-items:center; }
  .harom-lepes li:not(:last-child)::after{ top:auto; bottom:calc(-1 * var(--t-5)); left:28px; right:auto; height:var(--t-5); border-top:0; border-left:1.5px dashed var(--keret-eros); }

  /* A ábra: az egységek egymás alatt, a levegő útja szerint */
  .ahu{ flex-direction:column; align-items:stretch; gap:var(--t-2); }
  .ahu__levego, .ahu__levego--ki{ justify-content:center; }
  .ahu__levego::after, .ahu__levego--ki::before{ display:none; }
  .ahu__test{ grid-template-columns:1fr; }
  .ahu__egyseg{ flex-direction:row; justify-content:flex-start; min-height:0; padding:var(--t-4); text-align:left; flex-wrap:wrap; }
  .ahu__egyseg + .ahu__egyseg{ border-left:0; border-top:1.5px solid var(--keret-eros); }
  .ahu__egyseg em{ width:100%; padding-left:42px; margin-top:-6px; }
  .allapotok{ grid-template-columns:1fr; gap:var(--t-4); }
  .allapot:not(:last-child)::after{ right:auto; left:50%; top:auto; bottom:-15px; transform:translateX(-50%) rotate(135deg); }

  .tco{ padding:var(--t-5); }
  .nyugodt{ grid-template-columns:1fr; }
  .nyugodt__cta{ width:100%; }

  .idovonal{ grid-template-columns:1fr; row-gap:0; }
  .idovonal li{ padding:0 0 var(--t-6) 64px; min-height:44px; }
  .idovonal li:nth-child(3)::after{ display:block; }
  .idovonal li:not(:last-child)::after{ top:48px; bottom:4px; left:21px; right:auto; border-top:0; border-left:2px solid var(--keret-eros); }
  .idovonal h3{ padding-top:10px; }

  .gyik details[open]{ padding-left:var(--t-3); margin-left:calc(-1 * var(--t-3) - 3px); }
  .lablec__racs{ grid-template-columns:1fr; gap:var(--t-5); }

  /* leadtool: teljes képernyő */
  .lt{ padding:0; }
  .lt__ablak{ max-width:none; max-height:none; height:100%; height:100dvh; border-radius:0; }
  .lt__fej{ padding:var(--t-4) var(--t-5) var(--t-3); }
  .lt__haladas li span{ display:none; }
  .lt__lepesszam{ display:block; }
  .lt__torzs{ padding:var(--t-5); }
  .lt__lab{ padding:var(--t-3) var(--t-5); padding-bottom:max(var(--t-3), env(safe-area-inset-bottom)); }
  .lt__lab .btn{ flex:1; min-width:0; }
  .lt__hiba{ margin:0 var(--t-5); }
  .valaszok{ grid-template-columns:1fr; }
  .racs-2, .racs-4{ grid-template-columns:1fr; }
  .legkezelo{ padding:var(--t-4); }
  .szuro-fokozat{ margin:0 var(--t-3) var(--t-3); padding:var(--t-3); }
  
  .cc{ padding:0; }
  .cc__doboz{ border-radius:var(--kerekites-n) var(--kerekites-n) 0 0; border-bottom:0; max-height:86vh; overflow-y:auto; }
  .cc__reszletek{ grid-template-columns:1fr; gap:var(--t-4); }
  .cc__gombok{ flex-direction:column; }
  .cc__gomb{ width:100%; }
}

@media (max-width:560px){
  .csak-szeles{ display:none; }
  .csak-keskeny{ display:inline; }
  .fejlec__sor{ gap:var(--t-3); }
  .fejlec__cta{ padding:9px 14px; }
    }
