/* Wattson Systems — wattson.hu v2.5.0 stíluslap.
   Világos („Apple-szerű”) arculat; sötét változat automatikusan a rendszerbeállítás szerint.
   Nincs keretrendszer, nincs külső betűtípus. A mozgás a mozgas.js-ből jön, és csak akkor,
   ha a látogató nem kért csökkentett mozgást; JavaScript nélkül minden tartalom látszik.

   Színek: a márka-zöld (#7ab52d) fehéren szövegnek kevés (2,5:1), ezért szöveghez és gombhoz
   mélyebb árnyalatot használunk (--zold-szoveg 6,1:1, --gomb 5,1:1 fehér felirattal) — WCAG AA. */

:root{
  --fekete:#1d1d1f;
  --szoveg:#1d1d1f;
  --szurke:#6e6e73;          /* 4,66:1 a #f5f5f7-en is */
  --zold:#7ab52d;            /* csak díszítés: vonalak, pöttyök, ikonok */
  --zold-szoveg:#3f6e12;     /* linkek, kiemelt szöveg */
  --gomb:#4a7a16;
  --gomb-hover:#3f6e12;
  --gomb-szoveg:#ffffff;
  --zold-halvany:rgba(122,181,45,.12);
  --vonal:rgba(0,0,0,.10);
  --hatter:#ffffff;
  --hatter2:#f5f5f7;
  --kartya:#ffffff;
  --kartya-vonal:rgba(0,0,0,.06);
  --fejlec-hatter:rgba(255,255,255,.72);
  --arnyek:0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.05);
  --arnyek-nagy:0 30px 60px -20px rgba(0,0,0,.25);
  --logo-szuro:grayscale(1);
  --logo-attetszo:.55;
  --szel:1120px;
  --kerek:18px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --fekete:#f5f5f7;
    --szoveg:#f5f5f7;
    --szurke:#a1a1a6;
    --zold-szoveg:#8fd14f;
    --gomb:#8fd14f;
    --gomb-hover:#a6df6d;
    --gomb-szoveg:#111113;
    --zold-halvany:rgba(143,209,79,.14);
    --vonal:rgba(255,255,255,.12);
    --hatter:#111113;
    --hatter2:#1c1c1e;
    --kartya:#232326;
    --kartya-vonal:rgba(255,255,255,.08);
    --fejlec-hatter:rgba(17,17,19,.72);
    --arnyek:0 1px 3px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
    --arnyek-nagy:0 30px 60px -20px rgba(0,0,0,.7);
    /* a logók többsége sötét rajzolatú: világos lapkán jelennek meg */
    --logo-attetszo:.8;
  }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--szoveg);background:var(--hatter);
  -webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:var(--zold-szoveg);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--zold);outline-offset:3px;border-radius:6px}
h1,h2,h3{letter-spacing:-.02em;font-weight:600;color:var(--fekete)}
.keret{max-width:var(--szel);margin:0 auto;padding:0 22px}

.ugras{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gomb);color:var(--gomb-szoveg);
  padding:10px 16px;border-radius:10px}
.ugras:focus{top:12px}

/* ---------- fejléc ---------- */
.fejlec{
  position:sticky;top:0;z-index:50;background:var(--fejlec-hatter);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--vonal);
}
.fejlec .keret{display:flex;align-items:center;flex-wrap:wrap;gap:0 28px;min-height:56px}
.logo{flex:0 0 auto;display:flex;align-items:center;gap:7px;color:var(--fekete);text-decoration:none}
.logo:hover{text-decoration:none}
.logo picture{display:block}
.logo img{width:auto;height:17px}
/* a „WattsON |” képjel mellé a terület neve szövegként, a régi logó vastag betűs feléhez igazítva */
.logo-szo{font-weight:900;font-size:23px;line-height:1;letter-spacing:-.01em;color:var(--fekete);transform:translateY(-.5px)}
#menukapcsolo{position:absolute;opacity:0;width:1px;height:1px}
.menugomb{display:none;margin-left:auto;padding:10px 6px;font-size:20px;color:var(--fekete);cursor:pointer;line-height:1}
#menukapcsolo:focus-visible + .menugomb{outline:3px solid var(--zold);border-radius:6px}
.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.menu a{display:block;padding:8px 14px;border-radius:980px;color:var(--fekete);font-size:14px;font-weight:500;opacity:.85}
.menu a:hover{opacity:1;background:var(--zold-halvany);text-decoration:none}
.menu a.aktiv{opacity:1;color:var(--zold-szoveg);background:var(--zold-halvany)}
.fejlec-tel{flex:0 0 auto;font-size:14px;font-weight:500;color:var(--fekete);opacity:.85;
  padding:8px 0 8px 22px;border-left:1px solid var(--vonal)}
.fejlec-tel:hover{opacity:1;color:var(--zold-szoveg);text-decoration:none}

/* ---------- gombok ---------- */
.gombsor{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px}
.gombsor.bal{justify-content:flex-start;margin-top:30px}
.gomb{display:inline-block;background:var(--gomb);color:var(--gomb-szoveg);
  padding:13px 28px;border-radius:980px;font-weight:500;font-size:16px;transition:background .2s,transform .2s}
.gomb:hover{background:var(--gomb-hover);color:var(--gomb-szoveg);text-decoration:none;transform:translateY(-1px)}
.gomb.masodlagos{background:transparent;color:var(--zold-szoveg);box-shadow:inset 0 0 0 1.5px currentColor}
.gomb.masodlagos:hover{background:var(--zold-halvany)}

/* ---------- hős (főoldal) ---------- */
.hos{position:relative;overflow:hidden;padding:88px 0 72px;
  background:radial-gradient(1100px 500px at 85% 10%,var(--zold-halvany),transparent 70%),
             linear-gradient(180deg,var(--hatter2) 0%,var(--hatter) 75%);
  border-bottom:1px solid var(--vonal)}
.hos-vonal{position:absolute;inset:auto 0 0 0;width:100%;height:60%;pointer-events:none}
.hos-vonal path{fill:none;stroke:var(--zold);stroke-width:2;opacity:.35;vector-effect:non-scaling-stroke;
  stroke-dasharray:2600;stroke-dashoffset:0}
.hos-racs{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.felcim{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--zold-szoveg)}
.hos h1{margin:0 0 20px;font-size:clamp(40px,6.4vw,68px);line-height:1.04;letter-spacing:-.035em}
.kiemel{background:linear-gradient(90deg,var(--zold-szoveg),var(--zold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hos-lead{margin:0;max-width:560px;font-size:clamp(17px,2vw,20px);line-height:1.5;color:var(--szurke)}
.hos-kep img,.fejkep-kep img,.ragad img,.termekkartya-kep img{border-radius:20px}
.hos-kep img{filter:drop-shadow(0 30px 40px rgba(0,0,0,.18))}

/* ---------- fejkép (aloldalak) ---------- */
.fejkep{background:radial-gradient(900px 380px at 50% 0%,var(--zold-halvany),transparent 70%),
  linear-gradient(180deg,var(--hatter2) 0%,var(--hatter) 70%);
  text-align:center;padding:96px 0 80px;border-bottom:1px solid var(--vonal)}
.fejkep h1{margin:0 0 18px;font-size:clamp(34px,6vw,60px);line-height:1.07;letter-spacing:-.03em}
.fejkep p{margin:0 auto;max-width:720px;font-size:clamp(17px,2.2vw,21px);line-height:1.5;color:var(--szurke)}
.fejkep .felcim{color:var(--zold-szoveg)}
.fejkep-kep{max-width:760px;margin:48px auto -40px}
.fejkep-kep img{filter:drop-shadow(0 30px 40px rgba(0,0,0,.18))}
.hiba404{padding:120px 0}

/* ---------- számsáv ---------- */
.szamsav{padding:56px 0;border-bottom:1px solid var(--vonal)}
.szam-racs{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.szam{text-align:center}
.szam-ertek{margin:0;font-size:clamp(36px,5vw,54px);font-weight:600;letter-spacing:-.03em;line-height:1.1;
  color:var(--zold-szoveg);font-variant-numeric:tabular-nums}
.szam-cimke{margin:8px auto 0;max-width:230px;font-size:14px;line-height:1.45;color:var(--szurke)}

/* ---------- szakaszok, kártyák ---------- */
.szakasz{padding:88px 0}
.szakasz.valtott{background:var(--hatter2)}
.cim{text-align:center;margin:0 0 4px;font-size:clamp(28px,3.8vw,42px);line-height:1.15}
.bevezeto{text-align:center;max-width:780px;margin:22px auto 0;color:var(--szurke)}
.racs{display:grid;gap:22px;margin-top:44px}
.racs.n4{grid-template-columns:repeat(4,1fr)}
.racs.n3{grid-template-columns:repeat(3,1fr)}
.racs.n2{grid-template-columns:repeat(2,1fr)}
.kartya{background:var(--kartya);border:1px solid var(--kartya-vonal);border-radius:var(--kerek);
  padding:28px;box-shadow:var(--arnyek);transition:transform .25s,box-shadow .25s}
.kartya:hover{transform:translateY(-3px);box-shadow:var(--arnyek-nagy)}
.kartya h3{margin:0 0 10px;font-size:17px;letter-spacing:-.01em}
.kartya p{margin:0;color:var(--szurke);font-size:15px;line-height:1.55}
.ikon{width:44px;height:44px;margin:0 0 18px;fill:none;stroke:var(--zold-szoveg);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.kartya.nagy{padding:34px}
.kartya.nagy p{font-size:16px}

/* ---------- idővonal ---------- */
.idovonal{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.idovonal::before{content:"";position:absolute;left:28px;right:28px;top:27px;height:2px;
  background:linear-gradient(90deg,var(--zold),var(--zold-halvany))}
.idovonal li{position:relative}
.idovonal h3{margin:20px 0 8px;font-size:17px}
.idovonal p{margin:0;color:var(--szurke);font-size:15px;line-height:1.55}
.lepes-szam{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  background:var(--kartya);border:2px solid var(--zold);color:var(--zold-szoveg);font-weight:600;font-size:20px;
  box-shadow:0 0 0 8px var(--hatter2)}
.idovonal.fuggoleges{grid-template-columns:1fr;gap:6px;margin-top:28px}
.idovonal.fuggoleges::before{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto;
  background:linear-gradient(180deg,var(--zold),var(--zold-halvany))}
.idovonal.fuggoleges li{display:grid;grid-template-columns:56px 1fr;column-gap:20px;padding-bottom:18px}
.idovonal.fuggoleges .lepes-szam{grid-row:span 2;box-shadow:0 0 0 8px var(--hatter)}
.idovonal.fuggoleges h3{margin:12px 0 4px}

/* ---------- termékpár ---------- */
.termekpar{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:44px}
.termekkartya{display:block;background:var(--hatter2);border-radius:28px;padding:34px 34px 30px;color:var(--szoveg);
  transition:transform .3s,box-shadow .3s}
.termekkartya:hover{text-decoration:none;transform:translateY(-4px);box-shadow:var(--arnyek-nagy)}
.termekkartya-kep{margin:-6px 0 18px}
.termekkartya-kep img{transition:transform .5s}
.termekkartya:hover .termekkartya-kep img{transform:scale(1.03)}
.termekkartya h3{margin:0 0 8px;font-size:24px}
.termekkartya p{margin:0;color:var(--szurke)}
.tovabb{display:inline-block;margin-top:14px;color:var(--zold-szoveg);font-weight:500}
.tovabb::after{content:" ›";transition:margin .2s}
.termekkartya:hover .tovabb::after{margin-left:4px}

/* ---------- három terület (főoldal) ---------- */
.harom-lab{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.harom-lab .termekkartya{padding:28px 28px 26px}
.harom-lab .felcim{margin:0 0 6px}
.harom-lab h3{font-size:22px}
.rajz-kep{display:grid;place-items:center;background:#0f151b;border-radius:20px;aspect-ratio:1200/925;overflow:hidden}
.rajz-kep svg{width:88%;height:auto}
.nagy-rajz{aspect-ratio:auto;padding:18px}
.nagy-rajz svg{width:100%}
.kabinet-szakasz{margin-top:72px;align-items:center}
.tartalom .kabinet-szakasz h2{margin-top:6px}
.tartalom .lista + p{margin-top:22px}
.cimkek{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0 0;padding:0}
.cimkek li{padding:6px 14px;border-radius:980px;background:var(--zold-halvany);color:var(--zold-szoveg);font-size:14px;font-weight:500}
.ikon.vekony{stroke-width:1.5}

/* ---------- pályázatok ---------- */
.palyazat-sav{padding:64px 0}
.palyazat-sav-belso{display:flex;align-items:center;justify-content:space-between;gap:32px;
  background:var(--hatter2);border-radius:28px;padding:36px 40px}
.palyazat-sav-belso h2{margin:0 0 8px;font-size:clamp(24px,3vw,32px)}
.palyazat-sav-belso p{margin:0;color:var(--szurke)}
.palyazat-sav-belso .felcim{margin:0 0 8px;color:var(--zold-szoveg)}
.palyazat-sav-belso .gomb{flex:0 0 auto}
.palyazat-utalo{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:72px;
  background:var(--hatter2);border-radius:var(--kerek);padding:28px 32px}
.palyazat-utalo h2{margin:0 0 8px}
.palyazat-utalo p{margin:0;color:var(--szurke)}
.palyazat-utalo .gomb{flex:0 0 auto}
.palyazat-utalo.elso{margin:0 0 56px}
/* saját projektek — Pályázataink oldal (a myrtis.hu/palyazataink szerkezete) */
.projektek{display:flex;flex-direction:column;gap:clamp(26px,3.5vw,42px);margin-top:8px}
.projekt{background:var(--hatter2);border-radius:calc(var(--kerek) + 4px);padding:clamp(26px,3.5vw,44px);scroll-margin-top:90px}
.projekt-fej{margin-bottom:22px}
.projekt-azonosito{display:inline-block;margin:0 0 14px;padding:6px 11px;border-radius:980px;background:var(--zold-halvany);
  color:var(--zold-szoveg);font-size:12px;font-weight:600;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.tartalom .projekt h2{margin:0;font-size:clamp(24px,3vw,32px)}
.projekt-torzs{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(26px,4vw,48px);align-items:start}
.projekt-leiras p{margin:0 0 16px}
.projekt-leiras ul{margin:0 0 16px;padding-left:20px}
.projekt-leiras li{margin-bottom:6px}
.projekt-logo{margin-top:22px!important}
.projekt-logo img{width:min(100%,340px);height:auto;background:#fff;border-radius:12px;padding:8px;border:1px solid var(--kartya-vonal)}
.projekt-adatok{margin:0;background:var(--kartya);border:1px solid var(--kartya-vonal);border-radius:var(--kerek);padding:clamp(18px,2.2vw,24px)}
.projekt-adatok dt{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--szurke);padding-top:14px}
.projekt-adatok dt:first-child{padding-top:0}
.projekt-adatok dd{margin:3px 0 0;padding-bottom:14px;border-bottom:1px solid var(--vonal);color:var(--fekete);font-weight:500;
  font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.projekt-adatok dd:last-child{border-bottom:0;padding-bottom:0}
.vissza-link{margin-top:40px}
.vissza-link a{font-weight:600;text-decoration:none;color:var(--szurke)}
.vissza-link a:hover{color:var(--fekete)}
/* EU-s sarokjelvény: minden oldalon, jobb alul, a Pályázataink oldalra visz; a logó miatt mindig fehér kártya */
.palyazat-jelveny{position:fixed;z-index:40;right:clamp(11px,1.8vw,24px);bottom:clamp(11px,1.8vw,24px);display:block;
  width:clamp(88px,9vw,132px);padding:6px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;
  box-shadow:0 6px 22px rgba(29,29,31,.12);transition:transform .25s ease,box-shadow .25s ease}
.palyazat-jelveny:hover,.palyazat-jelveny:focus-visible{transform:translateY(-3px);box-shadow:0 12px 30px rgba(29,29,31,.18)}
.palyazat-jelveny img{width:100%;height:auto;border-radius:9px}
@media (prefers-reduced-motion:reduce){.palyazat-jelveny,.palyazat-jelveny:hover,.palyazat-jelveny:focus-visible{transition:none;transform:none}}
body:has(.palyazat-jelveny) .lablec{padding-bottom:calc(34px + clamp(88px,9vw,132px))}

/* ---------- galéria ---------- */
.galeria{margin-top:40px}
.galeria-sav{list-style:none;margin:0;padding:6px max(22px,calc((100vw - var(--szel))/2 + 22px)) 18px;
  display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;
  scroll-padding-inline:max(22px,calc((100vw - var(--szel))/2 + 22px))}
.galeria-sav li{flex:0 0 min(560px,82vw);scroll-snap-align:start}
.galeria-sav a{display:block;border-radius:var(--kerek);overflow:hidden;background:var(--kartya);
  box-shadow:var(--arnyek);cursor:zoom-in}
.galeria-sav a img{transition:transform .5s}
.galeria-sav a:hover img{transform:scale(1.03)}
.galeria-sav p{margin:12px 4px 0;font-size:14px;color:var(--szurke)}
.galeria-gombok{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.kor-gomb{width:44px;height:44px;border-radius:50%;border:1px solid var(--vonal);background:var(--kartya);
  color:var(--fekete);font-size:24px;line-height:1;cursor:pointer;box-shadow:var(--arnyek)}
.kor-gomb:hover{background:var(--zold-halvany)}

/* ---------- nagyító ---------- */
.nagyito{border:0;padding:0;background:transparent;max-width:min(1200px,94vw);max-height:92vh;overflow:visible}
.nagyito::backdrop{background:rgba(0,0,0,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.nagyito img{max-height:82vh;width:auto;margin:0 auto;border-radius:14px;background:#fff}
.nagyito-felirat{margin:12px 0 0;text-align:center;color:#f5f5f7;font-size:15px}
.nagyito-zar{position:absolute;top:-14px;right:-14px;width:44px;height:44px;border-radius:50%;border:0;
  background:#f5f5f7;color:#1d1d1f;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}

/* ---------- idézet ---------- */
.idezet{max-width:820px;margin:40px auto 0;text-align:center}
.idezet blockquote{margin:0}
.idezet blockquote p{margin:0;font-size:clamp(19px,2.4vw,24px);line-height:1.5;letter-spacing:-.01em;color:var(--fekete)}
.idezet figcaption{margin-top:20px;font-size:14px;color:var(--szurke)}
.kave{width:64px;height:64px;margin:0 auto 18px;fill:none;stroke:var(--zold-szoveg);stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round}

/* ---------- logósáv (végtelenített úszás) ---------- */
.logosav{display:flex;overflow:hidden;margin-top:44px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logosav-lista{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:64px;padding-right:64px;flex:0 0 auto}
.logosav-lista li{flex:0 0 auto}
.logosav-lista img{height:48px;width:auto;max-width:170px;object-fit:contain;filter:var(--logo-szuro);opacity:var(--logo-attetszo);
  transition:filter .25s,opacity .25s}
.logosav-lista img:hover{filter:none;opacity:1}
@media (prefers-color-scheme:dark){
  .logosav-lista li{background:#f5f5f7;border-radius:12px;padding:10px 16px}
}
.logosav .masolat{display:none}

/* ---------- tartalmi oldalak ---------- */
.tartalom{padding:72px 0 88px}
.tartalom h2{font-size:clamp(24px,3.2vw,34px);margin:72px 0 16px;line-height:1.2}
.tartalom h3{font-size:17px;margin:32px 0 8px}
.tartalom p{margin:0 0 16px}
.tartalom .vezeto{font-size:clamp(18px,2.2vw,21px);line-height:1.5;color:var(--szurke);max-width:820px}
.morzsa{font-size:13px;color:var(--szurke);margin:0 0 26px}
.morzsa a{color:var(--szurke)}
.modul{background:var(--kartya);border:1px solid var(--kartya-vonal);border-left:3px solid var(--zold);
  border-radius:var(--kerek);padding:24px 28px;box-shadow:var(--arnyek)}
.modul h3{margin:0 0 8px;font-size:16px}
.modul p{margin:0;color:var(--szurke);font-size:15px;line-height:1.55}
.ketoszlop{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-top:24px}
.ragad{position:sticky;top:96px}
.ragad img{filter:drop-shadow(0 30px 40px rgba(0,0,0,.18))}

.reszletek{display:grid;gap:22px;margin-top:8px}
.reszlet{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;
  background:var(--hatter2);border-radius:28px;padding:36px 40px}
.reszlet:nth-child(even) .reszlet-szoveg{order:2}
.reszlet h3{margin:0 0 10px;font-size:20px}
.reszlet p{margin:0;color:var(--szurke);font-size:16px;line-height:1.6}
.reszlet-kep{display:block;border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--arnyek);cursor:zoom-in}
.reszlet-kep img{width:100%;transition:transform .5s}
.reszlet-kep:hover img{transform:scale(1.04)}
.kiemelo-par{margin-top:56px}

.lista{margin:28px 0 0;padding:0;list-style:none}
.lista li{padding:13px 0 13px 28px;position:relative;border-bottom:1px solid var(--vonal);color:var(--szurke)}
.lista li:last-child{border-bottom:0}
.lista li strong{color:var(--fekete)}
.lista li::before{content:"";position:absolute;left:4px;top:23px;width:7px;height:7px;background:var(--zold);border-radius:50%}

/* ---------- kapcsolat, lábléc ---------- */
.kapcsolat{background:var(--hatter2);padding:88px 0;border-top:1px solid var(--vonal)}
.kapcsolat-racs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.kdoboz{background:var(--kartya);border:1px solid var(--kartya-vonal);border-radius:var(--kerek);
  padding:30px;text-align:center;box-shadow:var(--arnyek)}
.kdoboz h3{margin:0 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--szurke)}
.kdoboz p{margin:0;font-size:17px;color:var(--fekete)}
.kdoboz a{color:var(--fekete)}
.kdoboz a:hover{color:var(--zold-szoveg)}
.lablec{background:var(--hatter2);border-top:1px solid var(--vonal);padding:44px 0 34px;font-size:14px;color:var(--szurke)}
.lablec-racs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lablec p{margin:0 0 6px}
.lablec a{color:var(--szurke)}
.lablec a:hover{color:var(--fekete)}
.lablec-cim{color:var(--fekete);font-weight:600;margin-bottom:10px}
.lablec-alj{margin-top:32px;padding-top:20px;border-top:1px solid var(--vonal);font-size:13px}

/* ---------- mozgás (csak ha a mozgas.js bekapcsolta és a látogató nem kért csökkentést) ---------- */
@media (prefers-reduced-motion:no-preference){
  .mozog [data-mozgas]{opacity:0;transform:translateY(24px);
    transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .mozog [data-mozgas].lathato{opacity:1;transform:none}
  .mozog .hos-vonal path{stroke-dashoffset:2600;animation:rajzol 3.2s .3s cubic-bezier(.4,0,.2,1) forwards}
  .mozog .lebeg.lathato img{animation:lebeg 7s ease-in-out 1s infinite}
  .mozog .kave .goz{animation:goz 3s ease-in-out infinite}
  .mozog .logosav .masolat{display:flex}
  .mozog .logosav-lista{animation:usz 45s linear infinite}
  .mozog .logosav:hover .logosav-lista,.mozog .logosav:focus-within .logosav-lista{animation-play-state:paused}
  .mozog .idovonal:not(.fuggoleges)::before{transform:scaleX(0);transform-origin:left;transition:transform 1.6s .2s ease}
  .mozog .idovonal.vonal-kesz::before{transform:scaleX(1)}
}
@keyframes rajzol{to{stroke-dashoffset:0}}
@keyframes lebeg{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes goz{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes usz{to{transform:translateX(-100%)}}
@keyframes villog{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:no-preference){
  .mozog .kabinet-rajz .led{animation:villog 2.4s ease-in-out infinite}
}
/* csökkentett mozgás vagy JS nélkül: a logók tördelt rácsban, egyszer */
.logosav:not(.mozgo){flex-wrap:wrap}
.logosav:not(.mozgo) .logosav-lista{flex-wrap:wrap;justify-content:center;gap:28px 48px;padding:0 22px;width:100%}

/* ---------- mobil ---------- */
@media (max-width:980px){
  .racs.n4{grid-template-columns:repeat(2,1fr)}
  .racs.n3{grid-template-columns:repeat(2,1fr)}
  .hos-racs,.ketoszlop{grid-template-columns:1fr}
  .ragad{position:static}
  .szam-racs{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .idovonal{grid-template-columns:repeat(2,1fr);row-gap:36px}
  .idovonal:not(.fuggoleges)::before{display:none}
  .reszlet{grid-template-columns:1fr;padding:28px}
  .reszlet:nth-child(even) .reszlet-szoveg{order:0}
  .harom-lab{grid-template-columns:1fr 1fr}
  .kapcsolat-racs{grid-template-columns:1fr}
  .lablec-racs{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .fejlec-tel{display:none}
}
@media (max-width:900px){
  .fejlec-tel{display:none}
  .menugomb{display:block}
  .menu{display:none;order:9;width:100%;flex-direction:column;align-items:stretch;gap:2px;margin:0 0 10px;
    border-top:1px solid var(--vonal);padding-top:10px}
  .menu a{padding:11px 12px;font-size:16px}
  #menukapcsolo:checked ~ .menu{display:flex}
  .termekpar{grid-template-columns:1fr}
}
@media (max-width:760px){
  .harom-lab{grid-template-columns:1fr}
  .palyazat-sav-belso,.palyazat-utalo{flex-direction:column;align-items:flex-start;padding:26px}
  .projekt-torzs{grid-template-columns:1fr}
}
@media (max-width:680px){
  .palyazat-jelveny{width:66px;padding:4px;border-radius:12px}
  .palyazat-jelveny img{border-radius:8px}
  body:has(.palyazat-jelveny) .lablec{padding-bottom:110px}
  .racs.n4,.racs.n3,.racs.n2{grid-template-columns:1fr}
  .idovonal{grid-template-columns:1fr}
  .lablec-racs{grid-template-columns:1fr}
  .szakasz,.kapcsolat{padding:60px 0}
  .hos{padding:56px 0 48px}
  .fejkep{padding:64px 0 56px}
  .tartalom{padding:48px 0 60px}
  .tartalom h2{margin-top:52px}
  .termekkartya{padding:24px}
  .reszlet{padding:22px}
  .logosav-lista img{height:38px}
}
