/* =========================================================
   NAVIPRO SYSTEMS ENGINEERING - corporate stylesheet
   Arculat: NAVIGATOR Csoport / Navipro rollup design
   ========================================================= */

/* Sajat display betutipus: az egyedi Orbitron, kiegeszitve O es U
   nagybetus kettos ekezettel, hogy a magyar szoveg is helyes legyen. */
@font-face{
  font-family:'Navipro Display';
  src:url('assets/fonts/navipro-display.woff2?v=1') format('woff2');
  font-weight:400 900;
  font-style:normal;
  font-display:swap;
}

/* Archivo, sajat szerverrol (PageSpeed: a Google Fonts CSS render-blokkolo volt,
   es a latogato IP-je sem megy a Google-hoz). Valtozo font: 400-700 egy fajlban.
   archivo(-italic).woff2 = a Google Fonts "text=" reszhalmaza: Basic Latin + Latin-1 + Őő Űű
   + a hasznalt irasjelek, igy HU/EN/DE oldalon egyetlen betufajl eleg (korabban a magyar
   o/u miatt a latin-ext is kellett, ez ~300 ms-mal kesleltette az FCP-t mobilon).
   A latin-ext fajl csak tartalek ritka karakterekre; elobb deklaralva, mert atfedesnel
   a kesobb deklaralt @font-face nyer. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fonts/archivo-latin-ext.woff2?v=1') 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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fonts/archivo.woff2?v=1') format('woff2');
  unicode-range:U+0020-007E,U+00A0-00FF,U+0150-0151,U+0170-0171,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+20AC,U+2122,U+2191-2192}
@font-face{font-family:'Archivo';font-style:italic;font-weight:400;font-display:swap;
  src:url('assets/fonts/archivo-italic-latin-ext.woff2?v=1') 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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:italic;font-weight:400;font-display:swap;
  src:url('assets/fonts/archivo-italic.woff2?v=1') format('woff2');
  unicode-range:U+0020-007E,U+00A0-00FF,U+0150-0151,U+0170-0171,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+20AC,U+2122,U+2191-2192}

:root{
  --navy:        #1E3A5F;
  --navy-900:    #142943;
  --navy-800:    #1a3352;
  --navy-700:    #2b4c76;
  /* elsodleges akcentus = a logo sajat vorosesnarancsa */
  --orange:      #E15126;
  --orange-600:  #c2411b;
  --orange-700:  #a53615;
  /* masodlagos, vilagosabb narancs: hattersavok, finom kiemelesek */
  --orange-lt:   #E87722;
  --text:        #333333;
  --muted:       #5f6b7a;
  --ice:         #eef2f7;
  --ice-2:       #e2e9f1;
  --line:        #d7dfe9;
  --white:       #ffffff;

  --ff-head: 'Navipro Display', 'Arial Black', sans-serif;
  --ff-sub:  'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --ff-body: 'Archivo', 'Helvetica Neue', Arial, sans-serif;

  --wrap: 1240px;
  --pad: 24px;
  --r-lg: 72px;
  --r-md: 40px;
  --ease: cubic-bezier(.25,.8,.35,1);
  --shadow: 0 18px 48px rgba(20,41,67,.12);
  --shadow-lg: 0 28px 70px rgba(20,41,67,.20);
}

*,*::before,*::after{box-sizing:border-box}
/* [hidden] wins over component display rules (e.g. .scard{display:flex}).
   Temporarily hidden content is marked data-hide="..." - remove "hidden" to show it again. */
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:17px;
  line-height:1.7;
  color:var(--text);
  background:var(--white);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--orange)}
ul,ol{margin:0;padding:0;list-style:none}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}
address{font-style:normal}
svg{width:100%;height:100%;fill:currentColor}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}

.container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--orange);color:#fff;padding:12px 20px;font-weight:700}
.skip-link:focus{left:0}

/* ---------- typography ---------- */
.h2{
  font-family:var(--ff-head);
  font-weight:800;
  font-size:clamp(1.65rem,3.1vw,2.65rem);
  line-height:1.16;
  letter-spacing:-.01em;
  color:var(--navy);
  margin:0 0 .7em;
  text-transform:uppercase;
  /* hosszu magyar osszetett szavak ne logjanak ki a racsoszlopbol */
  overflow-wrap:break-word;hyphens:manual;
}
/* keskeny racscellaban kisebb cimmeret */
.splitcols__head .h2{font-size:clamp(1.35rem,2.2vw,2rem)}
.h2--light{color:#fff}
.e-sm{text-transform:lowercase;font-size:.8em}
.nav__sub .e-sm{font-size:.94em}
.eyebrow{
  font-family:var(--ff-sub);font-weight:600;
  font-size:.8rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--navy-700);
  margin:0 0 1em;
  display:flex;align-items:center;gap:.6em;
}
.eyebrow--light{color:#a9c2de}
.chev{color:var(--orange);font-family:var(--ff-head);font-weight:800;letter-spacing:-.05em}
.br-lg{display:none}
@media(min-width:900px){.br-lg{display:inline}}

.section{padding:clamp(64px,8vw,116px) 0}
.section--tight-top{padding-top:clamp(24px,2.8vw,40px)}
.section--ice{background:var(--ice)}
/* A referencia oldalon a kiemelt kartyak es a logofal ugyanazon a vilagos
   alapon ul egymas alatt, ezert a ket szekciopadding osszeadodna. */
.lwall-sec{padding-top:clamp(40px,4.6vw,66px)}
.section-head{max-width:760px;margin:0 0 clamp(36px,5vw,60px)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--ff-sub);font-weight:600;
  font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  padding:16px 30px;border-radius:2px;
  border:2px solid transparent;
  transition:all .25s var(--ease);
  white-space:nowrap;
}
.btn--lg{padding:19px 38px;font-size:.87rem}
/* hosszu feliratu gomb (pl. PDF letoltes) kis kepernyon torhet */
.btn--wrap{white-space:normal;text-align:center;line-height:1.5}
.btn--primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn--primary:hover{background:var(--orange-600);border-color:var(--orange-600);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(232,119,34,.32)}
.btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.55);backdrop-filter:blur(4px)}
.btn--ghost:hover{background:#fff;color:var(--navy);border-color:#fff;transform:translateY(-2px)}
.btn--outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn--outline:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}

.link-arrow{
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy);display:inline-flex;align-items:center;gap:.5em;margin-top:auto;padding-top:18px;
}
.link-arrow::after{content:'\2192';transition:transform .25s var(--ease)}
.link-arrow:hover{color:var(--orange)}
.link-arrow:hover::after{transform:translateX(6px)}

/* =========================================================
   TOPBAR
   ========================================================= */
.topbar{background:var(--navy-900);color:#cfdcea;font-size:.85rem}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px}
.topbar__parent{font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#8fa8c4}
.topbar__contact{display:flex;align-items:center;gap:22px}
.topbar__contact a{color:#c6d5e6;display:inline-flex;align-items:center;gap:.5em}
.topbar__contact a:hover{color:var(--orange)}
.topbar__contact svg{width:15px;height:15px;flex:none}
.topbar__li svg{width:16px;height:16px}
@media(max-width:860px){
  .topbar__parent{display:none}
  .topbar__inner{justify-content:center}
  .topbar__contact{gap:16px;font-size:.82rem}
}

/* =========================================================
   HEADER / NAV
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:#fff;
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease),padding .3s var(--ease);
}
.site-header.is-stuck{box-shadow:0 8px 30px rgba(20,41,67,.10)}
.header__inner{position:relative;display:flex;align-items:center;gap:28px;min-height:92px}
.brand{flex:none;line-height:0}
.brand img{height:58px;width:auto;max-width:none;transition:height .3s var(--ease)}
.site-header.is-stuck .brand img{height:50px}

/* a menu a logo es a CTA kozott, kozepen ul: igy kiegyensulyozott a fejlec */
.nav{flex:1;display:flex;align-items:center;gap:28px}
.nav__list{flex:1;display:flex;align-items:center;justify-content:center;gap:6px}
.nav__cta{flex:none;margin-left:auto}
/* A menu pontosan a lap kozepen ul, fuggetlenul a logo es a CTA szelessegetol. */
/* A menu minden asztali szelessegen pontosan a lap kozepen ul, fuggetlenul
   attol, hogy a logo es a CTA milyen szeles. */
@media(min-width:1121px){
  .nav__list{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);flex:none}
}
.nav__item{position:relative}
.nav__item > a,
.nav__item > .nav__label{
  display:block;width:100%;text-align:left;padding:14px 16px;
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.085em;text-transform:uppercase;
  color:var(--navy);position:relative;background:none;border:0;
}
.nav__item > .nav__label{cursor:default}
.nav__item > a::after,
.nav__item > .nav__label::after{
  content:'';position:absolute;left:14px;right:14px;bottom:6px;height:2px;background:var(--orange);
  transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);
}
.nav__item:hover > a::after,.nav__item.is-open > a::after,
.nav__item:hover > .nav__label::after,.nav__item.is-open > .nav__label::after{transform:scaleX(1)}
.nav__toggle{display:none}

/* Az elem alatti narancs vonal es az almenu felso kerete egyutt ket vonalnak
   latszott, ezert az almenurol levettuk a keretet. */
.nav__sub{
  position:absolute;top:100%;left:0;min-width:340px;
  background:#fff;
  box-shadow:var(--shadow);
  padding:10px 0;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .25s var(--ease);
}
.nav__item--has-sub:hover .nav__sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav__sub a{
  display:block;padding:13px 22px;border-left:3px solid transparent;color:var(--navy);
  font-family:var(--ff-sub);font-weight:600;font-size:.84rem;letter-spacing:.07em;text-transform:uppercase;
}
.nav__sub a:hover{background:var(--ice);color:var(--navy);border-left-color:var(--orange)}
.nav__cta{padding:14px 26px;font-size:.74rem;letter-spacing:.085em}

.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;padding:0 8px}
.burger span{display:block;height:2px;background:var(--navy);transition:transform .3s var(--ease),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1320px){
  .nav__item > a,.nav__item > .nav__label{padding:14px 11px;font-size:.78rem;letter-spacing:.05em}
}
@media(max-width:1150px){
  .nav__item > a,.nav__item > .nav__label{padding:13px 10px;font-size:.75rem;letter-spacing:.05em}
  .nav__cta{padding:13px 18px;font-size:.75rem}
  .brand img{height:52px}
  .header__inner{gap:18px}
}
@media(max-width:1120px){
  .burger{display:flex;margin-left:auto}
  .header__inner{min-height:78px}
  .brand img{height:46px;max-width:none}
  .nav{
    position:fixed;inset:112px 0 0 0;
    background:#fff;
    flex-direction:column;align-items:stretch;gap:0;
    padding:14px var(--pad) 40px;
    overflow-y:auto;
    transform:translateX(100%);
    transition:transform .34s var(--ease);
    border-top:1px solid var(--line);
  }
  .nav.is-open{transform:translateX(0)}
  .nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .nav__item{border-bottom:1px solid var(--line)}
  .nav__item > a,.nav__item > .nav__label{padding:16px 4px;font-size:.8rem}
  .nav__item > a::after,.nav__item > .nav__label::after{display:none}
  .nav__toggle{
    display:block;position:absolute;right:0;top:6px;width:46px;height:46px;
  }
  .nav__toggle span,.nav__toggle::before{
    content:'';position:absolute;left:50%;top:50%;background:var(--navy);
  }
  .nav__toggle span{width:14px;height:2px;margin:-1px 0 0 -7px}
  .nav__toggle::before{width:2px;height:14px;margin:-7px 0 0 -1px;transition:transform .25s var(--ease)}
  .nav__item.is-open .nav__toggle::before{transform:scaleY(0)}
  .nav__sub{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border-top:0;padding:0 0 12px;
    display:none;background:var(--ice);
  }
  .nav__item.is-open .nav__sub{display:block}
  .nav__cta{margin-top:24px;align-self:flex-start}
  body.nav-open{overflow:hidden}
}

/* =========================================================
   TILE GRID MOTIF (rollup arculat)
   ========================================================= */
.tilegrid{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.tilegrid::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:25% 33.333%;
}
.tile{position:absolute;display:block;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.tile--tl{left:0;top:0;width:25%;height:33.333%;border-radius:0 0 var(--r-lg) 0}
.tile--tr{right:0;top:33.333%;width:25%;height:33.333%;border-radius:0 0 0 var(--r-lg)}
.tile--bl{left:0;bottom:0;width:25%;height:33.333%;border-radius:0 var(--r-lg) 0 0}
.tile--br{right:25%;bottom:0;width:25%;height:33.333%;border-radius:var(--r-lg) 0 0 0}
.dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--orange);transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(232,119,34,.18)}
.dot--1{left:25%;top:33.333%}
.dot--2{left:75%;top:33.333%}
.dot--3{left:25%;top:66.666%}
.dot--4{left:75%;top:66.666%}
@media(max-width:760px){
  .tilegrid::before{background-size:50% 25%}
  .tile{display:none}
  .dot--2,.dot--4{display:none}
  .dot--1{left:50%;top:25%}
  .dot--3{left:50%;top:75%}
}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  min-height:min(88vh,760px);
  display:flex;align-items:center;
  background:var(--navy-900);
  overflow:hidden;
}
.hero__stage{position:absolute;inset:0;z-index:1}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--ease)}
.hero__slide.is-active{opacity:1}
/* A hatterkepek kozepen van a fotografalt targy is. Mivel a kivagott
   targy a jobb oldalon ul, a hattert balra toljuk: ott a sotet atmenet
   szinte teljesen elfedi, igy nem lesz "kettos" targy a kepen. */
.hero__bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:22% 50%;
  transform:scale(1.06);transition:transform 9s linear;
}
.hero__slide.is-active .hero__bg{transform:scale(1)}
/* az elso slide-on a vilagos folt jobbra esik, hogy a robotkar bele kerüljön */
.hero__slide[data-slide="0"] .hero__bg{object-position:52% 50%}

/* A kivagott targy dobozat mindket iranyban korlatozzuk, igy barmilyen
   kepararannyal a jobb oldali savba, fuggolegesen kozepre kerul, es
   soha nem log ki a heroból. A PNG-ket a _targy_trim.py vagja korre. */
.hero__subject{
  position:absolute;right:3%;top:50%;
  width:auto;height:auto;max-width:46%;max-height:70%;
  object-fit:contain;object-position:center right;
  filter:drop-shadow(0 30px 64px rgba(10,25,45,.5));
  opacity:0;transform:translate(46px,-50%);
  transition:opacity 1.1s var(--ease) .12s,transform 1.4s var(--ease) .12s;
}
.hero__slide.is-active .hero__subject{opacity:1;transform:translate(0,-50%)}
/* not loaded yet (main.js fills data-src): stay invisible, then the normal transition fades it in */
.hero__subject[data-src]{opacity:0!important}
/* Targytipusonkent kulon hangolva, hogy azonos optikai sulyt kapjanak.
   A robot allo formatum, ezert alulra kotjuk (a hatter vilagos savjaba),
   a repulo es a vonat fekvo, azok fuggolegesen kozepen ulnek. */
.hero__subject--robot{
  top:auto;bottom:16%;max-width:19%;max-height:68%;right:28%;
  transform:translate(46px,0);
}
.hero__slide.is-active .hero__subject--robot{transform:translate(0,0)}
.hero__subject--plane{max-width:44%;max-height:46%;top:45%}
.hero__subject--train{max-width:29%;max-height:33%;top:52%;right:7%}
.hero__subject--ot{max-width:28%;max-height:64%;right:7%}
.hero::after{
  content:'';position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(100deg,rgba(20,41,67,.94) 0%,rgba(20,41,67,.80) 34%,rgba(20,41,67,.30) 58%,rgba(20,41,67,.12) 100%);
}
.hero__inner{position:relative;z-index:5;padding-top:clamp(70px,10vw,110px);padding-bottom:clamp(96px,12vw,140px);max-width:var(--wrap)}
.hero__title{
  font-family:var(--ff-head);font-weight:900;
  font-size:clamp(2.1rem,5.6vw,4.15rem);
  line-height:1.04;letter-spacing:-.02em;text-transform:uppercase;
  color:#fff;margin:0 0 .5em;
  max-width:19ch;
  text-shadow:0 4px 30px rgba(10,25,45,.35);
}
.hero__lead{color:#d6e2ef;max-width:60ch;font-size:1.05rem;margin-bottom:2.2em}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px}

.hero__nav{
  position:absolute;left:0;right:0;bottom:0;z-index:6;
  display:flex;
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  border-top:1px solid rgba(255,255,255,.18);
}
.hero__dot{
  flex:1;padding:18px 6px;text-align:center;position:relative;
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.55);transition:color .25s var(--ease);
}
.hero__dot::before{
  content:'';position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--orange);transition:width .4s var(--ease);
}
/* 4 visible tabs (OT slide un-hidden): original left-aligned labels */
.hero__nav:has(> .hero__dot:nth-child(4):not([hidden])) .hero__dot{text-align:left}
.hero__dot:hover{color:#fff}
.hero__dot.is-active{color:#fff}
.hero__dot.is-active::before{width:100%}
/* airport tab: long label on desktop/laptop, short one on tablet/mobile */
.hero__dot-long{display:none}
@media(min-width:1200px){
  .hero__dot-short{display:none}
  .hero__dot-long{display:inline}
}
@media(max-width:760px){
  .hero{min-height:auto}
  .hero__inner{padding-top:64px;padding-bottom:120px}
  /* rogzitett magassag mind a 4 slide-nak (a leghosszabb - repteres - tartalmahoz merve),
     igy slide-valtaskor a hero nem "ugral" magassagot */
  .hero__title{min-height:2.1em}
  .hero__lead{min-height:10.4em}
  .hero__subject{opacity:.6!important;max-width:82%;max-height:52%;right:-6%;top:64%}
  /* a robot talpa kozvetlenul a tab-sor fole kerul (a tab-sor ~91-96 px magas, 380 px alatt
     a cimkek tordelese miatt 113 px, ezert ott nagyobb a bottom) */
  .hero__subject--robot{max-width:38%;max-height:38%;top:auto;bottom:100px;right:8%}
  .hero__subject--plane{top:56%}
  .hero__subject--train{top:56%;right:-14%}
  /* OT szerverfolyoso: object-position:22% a bal, ures fal-resz kozepere fokuszal -
     mobilon a keskeny vagas emiatt szinte csak a fal latszik, a szerverek nem.
     Jobbra tolva a fokuszpontot a szerverek is lathatova valnak. */
  .hero__slide[data-slide="3"] .hero__bg{object-position:78% 50%}
  .hero::after{background:linear-gradient(180deg,rgba(20,41,67,.55) 0%,rgba(20,41,67,.5) 45%,rgba(20,41,67,.82) 100%)}
  .hero__title{max-width:none}
  .hero__nav{display:grid;grid-template-columns:1fr 1fr;column-gap:0;row-gap:0}
  .hero__dot{font-size:.79rem;letter-spacing:.03em;padding:13px 6px;min-width:0}
  .hero__dot + .hero__dot{border-left:0}
  /* odd tab count (a tab is [hidden]): the lone last tab takes the full row */
  .hero__dot:nth-child(odd):has(+ .hero__dot[hidden]){grid-column:1 / -1}
}
@media(max-width:380px){.hero__subject--robot{bottom:120px}}
@media(max-width:420px){
  .hero__dot{font-size:.78rem;letter-spacing:.02em;padding:12px 5px}
}

/* =========================================================
   COUNTERS
   ========================================================= */
.counters{background:var(--navy);color:#fff;position:relative}
.counters__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.counter{padding:clamp(34px,4.4vw,52px) 26px;text-align:center;border-right:1px solid rgba(255,255,255,.14)}
.counter:last-child{border-right:0}
.counter__num{
  display:block;font-family:var(--ff-sub);font-weight:700;
  font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1;color:#fff;margin-bottom:.5em;
}
.counter__label{display:block;font-size:.9rem;color:#b7cae0;line-height:1.45;max-width:22ch;margin:0 auto}
@media(max-width:860px){
  .counters__grid{grid-template-columns:repeat(2,1fr)}
  .counter:nth-child(2n){border-right:0}
  .counter:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
}
@media(max-width:480px){
  .counters__grid{grid-template-columns:1fr}
  .counter{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .counter:last-child{border-bottom:0}
}
@media(max-width:760px){
  .counter{text-align:left}
  .counter__label{margin:0}
}

/* =========================================================
   INTRO
   ========================================================= */
.intro__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,76px);align-items:start}
.intro__media{position:relative}
@media(max-width:900px){.intro__media{margin-bottom:1.15em}}
/* Mobilon a kep a HTML-ben a ket bekezdes koze van ekelve ("A Navipro elodje..." ele),
   hogy ott is jelenjen meg, normal blokk-folyásban.
   Desktopon a kepet abszolut pozicionaljuk a sajat (jobb) oszlop helyere - igy a
   szoveg (bal oszlop) teljesen onallo, termeszetes bekezdes-folyasban marad, a kep
   magassaga nem befolyasolja a szovegelemek kozotti tavolsagot. */
@media(min-width:901px){
  .intro__grid{position:relative}
  /* a .reveal animacio transform-ja uj containing blockot hozna letre a szoveg-
     wrapperen (ami elronta a benne ulo kep abszolut pozicionalasat) - ennel a
     harom szoveg-wrappernel ezert kikapcsoljuk a transformot, csak az opacity-
     fade marad meg animaciokent. */
  .intro__text--split.reveal{transform:none}
  .intro__media{position:absolute;top:0;right:var(--pad);margin:0;width:calc((min(100vw - 2*var(--pad),var(--wrap) - 2*var(--pad)) - clamp(36px,5vw,76px)) * .95 / 2)}
}
.framed{position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.framed--a{border-radius:var(--r-lg) 0 var(--r-lg) 0}
.framed img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3.4;transition:transform 1.2s var(--ease)}
.framed:hover img{transform:scale(1.05)}
.badge-iso{
  position:absolute;left:-18px;bottom:34px;
  background:var(--orange);color:#fff;padding:18px 26px;
  border-radius:0 var(--r-md) 0 0;
  box-shadow:0 16px 36px rgba(232,119,34,.32);
}
.badge-iso strong{display:block;font-family:var(--ff-sub);font-weight:700;font-size:.86rem;letter-spacing:.04em}
.badge-iso span{display:block;font-size:.82rem;opacity:.92;margin-top:4px}
@media(max-width:900px){
  .intro__grid{grid-template-columns:1fr}
  .badge-iso{left:auto;right:18px;bottom:-14px}
}

/* =========================================================
   SOLUTIONS
   ========================================================= */
.solutions__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.scard{
  display:flex;flex-direction:column;
  background:#fff;overflow:hidden;
  border-radius:var(--r-md) 0 var(--r-md) 0;
  box-shadow:0 10px 34px rgba(20,41,67,.09);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.scard:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.scard__media{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy-900)}
.scard__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.scard:hover .scard__media img{transform:scale(1.07)}
.scard__media::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,41,67,.15),rgba(20,41,67,.55));
}
.scard__media::before{
  content:'';position:absolute;left:0;bottom:0;width:24%;height:42%;z-index:2;
  background:#fff;border-radius:0 var(--r-md) 0 0;
}
.scard__media img{object-position:center 42%}
.solutions__grid .scard:nth-child(3) .scard__media img{object-position:center 62%}
.solutions__grid .scard:nth-child(4) .scard__media img{object-position:center 30%}
.scard__media .dotmark{position:absolute;left:24%;bottom:42%;z-index:4;width:9px;height:9px;border-radius:50%;background:var(--orange);transform:translate(-50%,50%);box-shadow:0 0 0 3px rgba(232,119,34,.22)}
.scard__body{padding:26px 32px 30px;display:flex;flex-direction:column;flex:1}
.scard__title{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:1.02rem;letter-spacing:.01em;color:var(--navy);
  margin:0 0 .8em;line-height:1.3;
}
.scard__title a{color:inherit;text-decoration:none}
.scard__title a:hover{color:var(--orange)}
.scard__body p{font-size:.95rem;color:var(--muted)}
@media(max-width:1100px){.solutions__grid{gap:20px}.scard__body{padding:22px 24px 26px}}
@media(max-width:860px){.solutions__grid{grid-template-columns:1fr}.scard__media{aspect-ratio:16/7}}
/* 4 visible cards (OT un-hidden) -> back to the original 2x2 layout */
.solutions__grid:has(> .scard:nth-child(4):not([hidden])){grid-template-columns:repeat(2,1fr);gap:28px}
.solutions__grid:has(> .scard:nth-child(4):not([hidden])) .scard__media{aspect-ratio:16/7}
.solutions__grid:has(> .scard:nth-child(4):not([hidden])) .scard__body{padding:26px 32px 30px}
@media(max-width:860px){.solutions__grid:has(> .scard:nth-child(4):not([hidden])){grid-template-columns:1fr}}

/* =========================================================
   PARTNERS
   ========================================================= */
.partners{padding:clamp(4px,.8vw,12px) 0 clamp(60px,7vw,92px);background:var(--ice);overflow:hidden;margin-top:calc(-1 * clamp(14px,2vw,32px))}
.partners__title{
  font-family:var(--ff-head);font-weight:700;
  font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:.03em;text-transform:uppercase;
  color:var(--navy);text-align:center;margin-bottom:12px;
}
.partners__sub{
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted);text-align:center;margin:0 0 46px;min-height:1.2em;
}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;align-items:center;gap:8px;width:max-content;animation:marquee 62s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__cell{
  flex:none;display:grid;place-items:center;
  width:172px;height:124px;
}
.marquee__cell img{
  width:auto;height:100%;max-height:122px;object-fit:contain;
  filter:grayscale(1);opacity:.6;transition:opacity .3s var(--ease),filter .3s var(--ease);
}
.marquee__cell:hover img{opacity:1;filter:grayscale(0)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee__track{animation:none;flex-wrap:wrap;justify-content:center;width:100%;gap:28px}}

/* =========================================================
   NAVIGATOR
   ========================================================= */
.navigator{position:relative;background:var(--navy);color:#d6e2ef;overflow:hidden;padding:clamp(64px,8vw,110px) 0}
.navigator__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:0}
.navigator::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(96deg,rgba(20,41,67,.85) 0%,rgba(20,41,67,.80) 46%,rgba(20,41,67,.66) 100%),
             radial-gradient(120% 90% at 88% 12%,rgba(43,76,118,.24),transparent 62%);
}
@media(max-width:700px){
  .navigator::before{
    background:linear-gradient(180deg,rgba(20,41,67,.5) 0%,rgba(20,41,67,.62) 40%,rgba(20,41,67,.86) 100%);
  }
  /* rolunk-a-navipro.html: BET Xtend jelvenyes hatterkep (np-65) */
  .navigator__bg[src*="np-65"]{object-position:40% 42%}
  /* fooldal: NAVIGATOR Investments feliratos hatterkep (np-59) - a logo balra ul a kepen */
  .navigator__bg[src*="np-59"]{object-position:15% 46%}
}
.navigator .tilegrid{z-index:2}
.tilegrid--nav .tile--tl{width:22%;height:44%;border-radius:0 0 var(--r-lg) 0}
.tilegrid--nav .tile--tr{right:0;top:0;width:22%;height:44%;border-radius:0 0 0 var(--r-lg)}
.tilegrid--nav .tile--br{right:22%;bottom:0;width:22%;height:44%;border-radius:var(--r-lg) 0 0 0}
.tilegrid--nav::before{background-size:22% 44%;opacity:.55}
.tilegrid--nav .dot--1{left:22%;top:44%}
.tilegrid--nav .dot--2{left:56%;top:44%}
.tilegrid--nav .dot--3{left:78%;top:44%}
@media(max-width:760px){.tilegrid--nav .dot{display:none}}
.navigator__inner{position:relative;z-index:5;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(34px,5vw,70px);align-items:center}
.navigator__inner--solo{grid-template-columns:1fr;max-width:860px}
.navigator__text p{color:#c2d3e6}
.navigator__stats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.5vw,18px)}
.navigator__stats li{background:var(--navy);border:1px solid rgba(255,255,255,.20);padding:24px 20px;text-align:center;border-radius:clamp(20px,2.6vw,34px) 0 clamp(20px,2.6vw,34px) 0;overflow:hidden}
.navigator__stats strong{display:block;font-family:var(--ff-sub);font-weight:700;font-size:clamp(1.35rem,4.6vw,1.6rem);color:#fff;line-height:1.2;margin-bottom:7px;white-space:nowrap}
.navigator__stats span{font-size:.92rem;color:#b8cde4}
@media(max-width:900px){.navigator__inner{grid-template-columns:1fr}}
@media(max-width:1199px){.navigator__text p:not(.eyebrow){color:#fff}}

/* navstatsec: feher hatteres, 4-elemes kiemelt statisztika-sav a fejlec es a MAZAK-blokk kozott */
.navstatsec{padding:clamp(36px,5vw,60px) 0}
.navigator__stats--standalone{max-width:980px;margin:0 auto}
.navigator__stats--standalone li{background:var(--ice);border:1px solid var(--line)}
.navigator__stats--standalone strong{color:var(--navy)}
.navigator__stats--standalone span{color:var(--muted)}
@media(max-width:560px){.navigator__stats--standalone{grid-template-columns:1fr 1fr;gap:12px}}

/* ---------- navstatsec: bevezeto szoveg (BET-badge+szoveg) + tomoritett statisztikasor ---------- */
.navstatsec .container{display:flex;flex-direction:column;gap:clamp(30px,4.5vw,48px)}
.navintro{display:flex;gap:clamp(24px,3.4vw,44px);align-items:flex-start}
.navintro__badge{flex:none}
.navstatsec .navigator__bet{width:128px;height:128px;margin:0;box-shadow:0 10px 26px rgba(6,18,34,.18)}
.navstatsec .navigator__bet img{height:100px}
.navintro__text{flex:1;min-width:0}
.navintro__text .h2{margin-top:6px}
@media(max-width:900px){.navintro{flex-direction:column;align-items:stretch}}

@media(min-width:701px){.navstatsec .navigator__stats--standalone{grid-template-columns:repeat(4,1fr)}}
.navstatsec .navigator__stats--standalone li{padding:18px 16px 16px;border-radius:14px 0 14px 0}
.navstatsec .navigator__stats--standalone .navstat__ico{width:40px;height:40px;margin:0 auto 10px;border-radius:9px}
.navstatsec .navigator__stats--standalone .navstat__ico svg{width:21px;height:21px}
.navstatsec .navigator__stats--standalone strong{font-size:clamp(1.08rem,2.4vw,1.28rem);margin-bottom:2px}
.navstatsec .navigator__stats--standalone span{font-size:.8rem}
@media(max-width:760px){.navstatsec .navigator__stats--standalone li{text-align:center}.navstatsec .navigator__stats--standalone .navstat__ico{margin:0 auto 10px}}

/* pride: "amire buszkek vagyunk" kiemelt-pontok az akvizicios ut idovonala alatt */
.pride{margin-top:clamp(44px,6vw,68px);padding-top:clamp(32px,5vw,52px);border-top:1px solid var(--line)}
.pride__title{font-family:var(--ff-sub);font-weight:700;font-size:1.05rem;color:var(--navy);margin:0 0 28px;text-align:center}
.pride__list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,32px);list-style:none;margin:0;padding:0}
.pride__list li{display:flex;gap:16px;align-items:flex-start}
.pride__ico{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;background:var(--navy-900);border-radius:10px}
.pride__ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pride__list p{margin:0;font-size:.92rem;color:var(--muted);line-height:1.55}
.pride__list strong{color:var(--navy)}
@media(max-width:900px){.pride__list{grid-template-columns:1fr;gap:22px}}

/* =========================================================
   CTA
   ========================================================= */
.cta{position:relative;overflow:hidden;background:var(--navy-900);text-align:left}
.cta__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 62%;opacity:1}
.cta::after{content:'';position:absolute;inset:0;
  background:linear-gradient(96deg,rgba(20,41,67,.90) 0%,rgba(20,41,67,.80) 42%,rgba(20,41,67,.26) 66%,rgba(20,41,67,.04) 100%)}
.cta__inner{position:relative;z-index:3;padding:clamp(64px,9vw,116px) var(--pad)}
.cta__inner .h2{max-width:15ch}
.cta__inner p{color:#d3e0ee;margin-bottom:2em;max-width:52ch}
@media(max-width:760px){
  .cta__bg{position:static;height:auto;aspect-ratio:16/10;display:block}
  .cta::after{background:none}
  .cta__inner{background:var(--ice)}
  .cta__inner .h2{color:var(--navy);max-width:none}
  .cta__inner p{color:var(--muted);max-width:none}
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--navy-900);color:#bccfe3;font-size:.95rem}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr;gap:44px;padding:clamp(52px,6vw,80px) var(--pad)}
.footer__logo{height:60px;width:auto;margin-bottom:16px}
.footer__parent{display:inline-block;margin-bottom:20px;padding-top:2px}
.footer__parent-cap{
  display:block;font-family:var(--ff-sub);font-weight:600;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:#8fa8c4;margin-bottom:9px;
}
.footer__parent-logo{display:block;height:54px;width:auto;opacity:1;transition:opacity .2s var(--ease)}
.footer__parent:hover .footer__parent-logo{opacity:.55}
.footer__parent:hover .footer__parent-cap{color:#bccfe3}
.footer__col h3{
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;
  color:#fff;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14);position:relative;
}
.footer__col h3::after{content:'';position:absolute;left:0;bottom:-1px;width:38px;height:2px;background:var(--orange)}
.footer__col li{margin-bottom:10px}
.footer__col a{color:#bccfe3}
.footer__col a:hover{color:var(--orange)}
.footer__col--meta{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.footer__socials{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.footer__social{
  display:inline-flex;align-items:center;gap:11px;
  padding:10px 16px 10px 12px;
  border:1px solid rgba(255,255,255,.22);
  color:#cfdcea;transition:border-color .25s var(--ease),color .25s var(--ease)
}
.footer__social svg{width:18px;height:18px;flex:none;fill:currentColor;transition:fill .25s var(--ease)}
.footer__social span{
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap
}
.footer__social:hover{border-color:var(--orange);color:#fff}
.footer__social:hover svg{fill:var(--orange)}
.footer__bar{border-top:1px solid rgba(255,255,255,.12);font-size:.82rem}
.footer__bar-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:20px;padding-bottom:20px}
.footer__bar nav{display:flex;flex-wrap:wrap;gap:20px}
.footer__bar a{color:#8fa8c4}
.footer__bar a:hover{color:var(--orange)}
@media(max-width:960px){.footer__grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:560px){.footer__grid{grid-template-columns:1fr}.footer__bar-inner{justify-content:flex-start}}

/* ---------- to top ---------- */
.to-top{
  position:fixed;right:20px;bottom:62px;z-index:900;
  width:46px;height:46px;background:var(--orange);color:#fff;font-size:1.15rem;
  box-shadow:0 10px 26px rgba(232,119,34,.36);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:all .3s var(--ease);
}
.to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{background:var(--orange-600)}

/* ---------- language switcher ---------- */
.langsw{
  position:fixed;right:20px;bottom:20px;z-index:900;
  display:flex;padding:0 2px;background:#f8f8f8;border:1px solid #eee;border-radius:6px;
  box-shadow:2px 2px 5px 0 rgba(0,0,0,.25);
}
.langsw__opt{display:block;line-height:0;padding:6.5px 6px;background:transparent;transform:scale(1);transition:transform .25s var(--ease)}
.langsw__opt svg{display:block;width:26px;height:17px}
.langsw__opt:hover{transform:translateY(-2px)}
.langsw__opt:active{transform:scale(.94)}
.langsw__opt:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* ---------- cookie tajekoztato sav ---------- */
.cookiebar{
  position:fixed;left:24px;bottom:24px;z-index:850;
  max-width:400px;background:var(--navy-900);color:#dce6f2;
  border-radius:14px;box-shadow:0 20px 50px rgba(6,18,34,.4);
  padding:20px 22px;font-size:.85rem;line-height:1.55;
  opacity:0;transform:translateY(14px);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.cookiebar p{margin:0}
.cookiebar.is-visible{opacity:1;transform:translateY(0)}
.cookiebar a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookiebar a:hover{color:var(--orange)}
.cookiebar__policy{margin-top:10px}
.cookiebar__policy a{color:var(--orange);text-decoration:underline;text-underline-offset:2px}
.cookiebar__policy a:hover{color:#fff}
.cookiebar__actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.cookiebar__btn{
  font-family:var(--ff-sub);font-weight:600;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;
  padding:10px 18px;border-radius:2px;border:2px solid transparent;cursor:pointer;
  transition:all .2s var(--ease);white-space:nowrap;
}
.cookiebar__btn--accept{background:var(--orange);color:#fff;border-color:var(--orange)}
.cookiebar__btn--accept:hover{background:var(--orange-600);border-color:var(--orange-600)}
.cookiebar__btn--decline{background:transparent;color:#dce6f2;border-color:rgba(255,255,255,.4)}
.cookiebar__btn--decline:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
@media(max-width:600px){
  .cookiebar{left:16px;right:16px;bottom:16px;max-width:none}
  .langsw ~ .cookiebar{bottom:118px}
  .cookiebar__btn{flex:1 1 auto;text-align:center}
}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px)}
.reveal.is-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* =========================================================
   ALOLDALAK - kozos elemek
   (Fabrik racs-logika + Navipro rollup arculat)
   ========================================================= */

/* aktiv menupont */
body[data-nav="kezdolap"] .nav__item[data-nav="kezdolap"] > a,
body[data-nav="megoldasaink"] .nav__item[data-nav="megoldasaink"] > a,
body[data-nav="termekek"] .nav__item[data-nav="termekek"] > .nav__label,
body[data-nav="referenciaink"] .nav__item[data-nav="referenciaink"] > a,
body[data-nav="rolunk"] .nav__item[data-nav="rolunk"] > a,
body[data-nav="kapcsolat"] .nav__item[data-nav="kapcsolat"] > a{color:var(--orange)}
body[data-nav] .nav__item[data-nav] > a::after{transform-origin:left}
body[data-nav="kezdolap"] .nav__item[data-nav="kezdolap"] > a::after,
body[data-nav="megoldasaink"] .nav__item[data-nav="megoldasaink"] > a::after,
body[data-nav="termekek"] .nav__item[data-nav="termekek"] > .nav__label::after,
body[data-nav="referenciaink"] .nav__item[data-nav="referenciaink"] > a::after,
body[data-nav="rolunk"] .nav__item[data-nav="rolunk"] > a::after,
body[data-nav="kapcsolat"] .nav__item[data-nav="kapcsolat"] > a::after{transform:scaleX(1)}

/* ---------- lathato racsvonalak (Fabrik) ---------- */
.gridsec,.refs{position:relative}
.gridlines{position:absolute;inset:0;pointer-events:none;z-index:0;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);display:flex;justify-content:space-between}
.gridlines i{width:1px;background:var(--line);opacity:.75}
.gridlines--ice i{background:#cfd9e6}
.gridsec > .container,.refs > .container{position:relative;z-index:1}
@media(max-width:760px){.gridlines{display:none}}

/* ---------- oldal fejlec ---------- */
.phero{position:relative;overflow:hidden;background:var(--navy-900);display:flex;align-items:flex-end;min-height:min(64vh,540px)}
.phero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* ha a kep also reszen van a lenyeg (pl. az alló robot torzoja), lejjebb toljuk a kivagast */
.phero--low .phero__bg{object-position:center 70%}
.phero--airport .phero__bg{object-position:68% 50%}
/* lagyabb kekites, ha a kep bal oldalan is latszania kell a targynak */
.phero--soft::after{background:linear-gradient(95deg,rgba(20,41,67,.74) 0%,rgba(20,41,67,.58) 42%,rgba(20,41,67,.34) 74%,rgba(20,41,67,.24) 100%)}
.phero__subject{position:absolute;right:-3%;bottom:-6%;height:118%;width:auto;max-width:none;opacity:.85;filter:drop-shadow(0 24px 50px rgba(10,25,45,.5))}
.phero__mosaic{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:var(--navy-900)}
.phero__mosaic .zmos img{filter:saturate(.92)}
.phero::after{content:'';position:absolute;inset:0;z-index:3;background:linear-gradient(95deg,rgba(20,41,67,.95) 0%,rgba(20,41,67,.82) 40%,rgba(20,41,67,.34) 72%,rgba(20,41,67,.14) 100%)}
.tilegrid--phero::before{background-size:25% 50%}
.tilegrid--phero .tile--tl{width:25%;height:50%;border-radius:0 0 var(--r-lg) 0}
.tilegrid--phero .tile--br{right:0;bottom:0;width:25%;height:50%;border-radius:var(--r-lg) 0 0 0}
.tilegrid--phero .dot--1{left:25%;top:50%}
.tilegrid--phero .dot--2{left:75%;top:50%}
.phero__inner{position:relative;z-index:5;padding-top:clamp(56px,8vw,90px);padding-bottom:clamp(44px,6vw,72px)}
.phero__title{
  font-family:var(--ff-head);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.05;letter-spacing:-.015em;
  color:#fff;margin:0 0 .45em;
  /* egyseges cimterulet minden aloldalon: max 2 sor szelesseg, mindig 2 sor magassag,
     igy a morzsamenu es az alcim ugyanoda esik akkor is, ha a cim egysoros */
  max-width:24ch;min-height:2.1em;
}
.phero__sub{color:#cfdcea;max-width:56ch;font-size:1.02rem;margin:0;min-height:3.4em}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.6em;margin-bottom:1.6em;font-size:.86rem;color:#b3c8de}
.crumbs a{color:#b3c8de}
.crumbs a:hover{color:var(--orange)}
.crumbs strong{color:#fff;font-weight:600}
.crumbs__txt{color:#b3c8de}
.crumbs span{color:var(--orange)}
@media(max-width:760px){
  .phero{min-height:auto}
  .phero__subject{opacity:.3;height:90%;right:-18%}
  .phero::after{background:linear-gradient(180deg,rgba(20,41,67,.6) 0%,rgba(20,41,67,.74) 45%,rgba(20,41,67,.92) 100%)}
}

/* ---------- bevezeto ket oszlop + notch-cimke ---------- */
.lead__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(34px,5vw,72px);align-items:center}
.lead__grid > *,.splitcols > *,.intro__grid > *,.contact__grid > *,.awardsec__grid > *{min-width:0}
.shot{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg) 0 var(--r-lg) 0;box-shadow:var(--shadow-lg)}
@media(max-width:900px){#navipromCsapatFoto{border-radius:var(--r-md) 0 var(--r-md) 0}}
.shot img{width:100%;aspect-ratio:4/3.2;object-fit:cover;display:block}
.shot__label{
  position:absolute;left:0;bottom:0;z-index:2;background:#fff;
  padding:16px 26px 16px 22px;border-radius:0 var(--r-md) 0 0;
  font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);
  display:flex;align-items:center;gap:.6em;
}
/* .shot--b bottom-left corner is rounded (72px), which fights .shot__label's own
   corner curve when a label is used on a --b photo; this instance moves the label
   to the square bottom-right corner instead of the rounded bottom-left one. */
#ertmFelepitesFoto .shot__label{left:auto;right:0;padding:16px 22px 16px 26px;border-radius:var(--r-md) 0 0 0}
@media(max-width:900px){.lead__grid{grid-template-columns:1fr}}

/* eRTM Felepites: a kep a HTML-ben a 2. es 3. bekezdes koze van ekelve, hogy
   mobilon (ahol .lead__text sima blokk marad) ott is jelenjen meg, DOM-sorrendben.
   Csak >900px-en tesszuk vissza display:contents-szel sajat (bal) oszlopba,
   a szoveges elemeket pedig explicit racs-pozicioval a jobbba - igy a mobil
   elrendezes a legegyszerubb DOM-sorrend, nincs specificitasi utkozes. */
#ertmFelepitesFoto{min-width:0}
@media(max-width:900px){#ertmFelepitesFoto{margin-bottom:1.15em}}
@media(max-width:900px){#bemutatkozasMozaik{margin-bottom:1.15em}}
/* eRTM Felepites + Navipro-mozaik blokk: a kepet abszolut pozicionaljuk a sajat
   oszlopa helyere, hogy a szoveg (masik oszlop) teljesen onallo, termeszetes
   bekezdes-folyasban maradjon - a kep magassaga nem befolyasolja a szovegelemek
   kozotti tavolsagot (ugyanaz a technika, mint az intro__grid-nel). */
@media(min-width:901px){
  #ertmFelepitesGrid{position:relative}
  #ertmFelepitesGrid .lead__text--split.reveal{transform:none}
  #ertmFelepitesGrid .lead__text--split{grid-column:2}
  #ertmFelepitesFoto{position:absolute;top:0;left:var(--pad);margin:0;width:calc((min(100vw - 2*var(--pad),var(--wrap) - 2*var(--pad)) - clamp(34px,5vw,72px)) * .95 / 2)}

  #mozaikGrid{position:relative;grid-template-rows:calc(((min(100vw - 2*var(--pad),var(--wrap) - 2*var(--pad)) - clamp(34px,5vw,72px)) * 1.02 / 2) * .8)}
  #mozaikGrid .lead__text--mozsplit.reveal{transform:none}
  #mozaikGrid .lead__text--mozsplit{grid-column:2}
  #bemutatkozasMozaik{position:absolute;top:0;left:var(--pad);margin:0;width:calc((min(100vw - 2*var(--pad),var(--wrap) - 2*var(--pad)) - clamp(34px,5vw,72px)) * 1.02 / 2)}
}

/* ---------- sotet szekcio + harmonika ---------- */
.section--dark{background:var(--navy);color:#c6d7e8;position:relative;overflow:hidden}
.section--dark::before{content:'';position:absolute;inset:0;background:radial-gradient(110% 80% at 92% 8%,rgba(43,76,118,.85),transparent 60%)}
@media(max-width:760px){.section--dark::before{display:none}}
.fields__grid{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,5vw,72px);align-items:start}
.fields__note{color:#cfdfef;font-size:1rem;max-width:34ch;line-height:1.72}
.accordion{border-top:1px solid rgba(255,255,255,.18)}
.acc__item{border-bottom:1px solid rgba(255,255,255,.18)}
.acc__btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 4px;text-align:left;color:#fff;
  font-family:var(--ff-head);font-weight:600;text-transform:uppercase;
  font-size:.88rem;letter-spacing:.02em;line-height:1.35;
  transition:color .25s var(--ease);
}
.acc__btn:hover{color:var(--orange)}
.acc__ico{position:relative;flex:none;width:18px;height:18px}
.acc__ico::before,.acc__ico::after{content:'';position:absolute;left:50%;top:50%;background:var(--orange);transition:transform .3s var(--ease)}
.acc__ico::before{width:16px;height:2px;margin:-1px 0 0 -8px}
.acc__ico::after{width:2px;height:16px;margin:-8px 0 0 -1px}
.acc__item.is-open .acc__ico::after{transform:scaleY(0)}
.acc__panel{overflow:hidden;height:0;transition:height .35s var(--ease)}
.acc__panel p{padding:0 46px 26px 4px;margin:0;color:#cfdfef;font-size:1rem;line-height:1.75}
@media(max-width:900px){
  .fields__grid{grid-template-columns:1fr}
  .acc__panel p{padding-right:8px}
}

/* ---------- referencia kartyak ---------- */
.refs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd9e6;border:1px solid #cfd9e6}
.rcard{background:var(--ice);padding:32px 30px 34px;transition:background .3s var(--ease),transform .3s var(--ease)}
.rcard:hover{background:#fff;transform:translateY(-3px)}
.rcard__client{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:.92rem;line-height:1.3;color:var(--navy);margin:0 0 .35em;
}
.rcard__meta{
  font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--orange-600);margin:0 0 1.2em;
}
.rcard p:last-child{font-size:.96rem;color:var(--text);margin:0;line-height:1.72}
@media(max-width:1000px){.refs__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.refs__grid{grid-template-columns:1fr}}

/* ---------- zaro CTA (Fabrik: sotet sav a kepre logva) ---------- */
.endcta{padding:clamp(40px,5vw,72px) 0 clamp(34px,4vw,54px);background:var(--ice)}
.endcta__inner{position:relative}
.endcta__img{width:100%;aspect-ratio:21/7;object-fit:cover;object-position:center 40%;display:block}
.endcta__img[src*="np-27-ot"]{object-position:78% 45%}
.endcta__bar{
  position:absolute;right:var(--pad);top:0;z-index:3;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  width:min(430px,62%);padding:26px 28px;
  background:var(--navy-900);color:#fff;
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;line-height:1.5;
  transition:background .3s var(--ease);
}
.endcta__bar:hover{background:var(--orange);color:#fff}
.endcta__arrow{font-style:normal;font-size:1.15rem;flex:none;transition:transform .3s var(--ease)}
.endcta__bar:hover .endcta__arrow{transform:translateX(6px)}
.endcta__note{
  position:absolute;left:var(--pad);bottom:0;z-index:3;
  background:var(--orange);
  width:min(300px,30%);min-height:78px;padding:0 34px 0 26px;
  border-radius:0 var(--r-md) 0 0;
  font-family:var(--ff-sub);font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;
  display:flex;align-items:center;gap:.6em;
  transition:background .3s var(--ease),color .3s var(--ease);
}
.endcta__note .chev{color:#fff}
/* ravitelre csak a mezo fordul: sotetkek alap, a felirat es a nyilak fehérek maradnak */
a.endcta__note:hover{background:var(--navy-900);color:#fff}
@media(max-width:760px){
  .endcta__img{aspect-ratio:16/10}
  .endcta__bar{position:static;width:100%;margin-top:0}
  .endcta__note{display:none}
}

/* ---------- tovabbi megoldasok ---------- */
.morelinks{padding-top:clamp(26px,3vw,40px);padding-bottom:clamp(56px,7vw,96px);background:var(--ice)}
.morelinks__list{border-top:1px solid var(--line)}
.morelinks__list li{border-bottom:1px solid var(--line)}
.morelinks__list a{
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;
  font-family:var(--ff-head);font-weight:600;text-transform:uppercase;font-size:.95rem;color:var(--navy);
  transition:padding-left .3s var(--ease),color .25s var(--ease);
}
.morelinks__list a::after{content:'\2192';color:var(--orange);font-size:1.2rem;transition:transform .3s var(--ease)}
.morelinks__list a:hover{color:var(--orange);padding-left:16px}
.morelinks__list a:hover::after{transform:translateX(8px)}

/* =========================================================
   BEVEZETO VARIANSOK
   ========================================================= */

/* fejezetcim bal, ket hasab jobb (Repteri) */
.splitcols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.splitcols__head{grid-column:span 1}
.splitcols__body p{font-size:.97rem}
@media(max-width:1000px){
  .splitcols{grid-template-columns:1fr 1fr}
  .splitcols__head{grid-column:1 / -1}
}
@media(max-width:700px){.splitcols{grid-template-columns:1fr}}

/* forditott ket oszlop (Vasuti) */
.lead__grid--rev{grid-template-columns:.95fr 1.05fr}
.shot--b{border-radius:0 var(--r-lg) 0 var(--r-lg)}
.shot--sm{max-width:360px;margin:0 auto}
@media(max-width:900px){.shot--sm{max-width:420px}}
#ertmJellemzokGrid{grid-template-columns:1fr auto;align-items:start}
#ertmJellemzokGrid .shot--sm{max-width:230px;margin:0 0 0 auto}
@media(max-width:900px){#ertmJellemzokGrid{grid-template-columns:1fr}#ertmJellemzokGrid .shot--sm{margin:0 auto}}
@media(max-width:900px){
  .lead__grid--rev{grid-template-columns:1fr}
  .lead__grid--rev .shot{order:2}
}

/* szeles szoveges oszlop (hosszu cimszo) */
.lead__grid--wide{grid-template-columns:1.1fr .9fr}
.lead__grid--wide.lead__grid--rev{grid-template-columns:.9fr 1.1fr}
.lead__grid--wide .h2{font-size:clamp(1.65rem,2.8vw,2.4rem)}
@media(max-width:900px){
  .lead__grid--wide,.lead__grid--wide.lead__grid--rev{grid-template-columns:1fr}
}

/* bevezeto mozaik (4 kep) */
.lead__grid + .lead__grid{margin-top:clamp(46px,6vw,86px)}

/* Navipro oldal - "Sajat osszeszerelo csarnokunkban" bekezdes ele ekelt mozaik:
   a HTML-ben mar a ket bekezdes koze van teve, hogy mobilon ott is jelenjen meg.
   Desktopon (>900px) a #mozaikGrid szabaly (lejjebb) abszolut pozicionalja. */
.leadmos{display:grid;gap:12px;margin:0;aspect-ratio:4/3.2;grid-template-columns:1.15fr 1fr;grid-template-rows:repeat(3,1fr)}
.leadmos .zmos:first-child{grid-row:1 / span 3;border-top-left-radius:var(--r-lg)}
.leadmos .zmos:last-child{border-bottom-right-radius:var(--r-lg)}
.leadmos:hover .zmos img{transform:scale(1.05)}
@media(max-width:900px){
  .lead__grid--rev .leadmos{order:2}
  .leadmos{aspect-ratio:1/1.08;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1.18fr}
  .leadmos .zmos:first-child{grid-column:1;grid-row:1 / span 2}
  .leadmos .zmos:nth-child(4){grid-column:1 / span 2}
  .leadmos .zmos:first-child{border-top-left-radius:var(--r-md)}
  .leadmos .zmos:last-child{border-bottom-right-radius:var(--r-md)}
}

/* bemutatkozas mozaik - 5 kep (2 bal + 3 jobb) */
#bemutatkozasMozaik{grid-template-columns:1.15fr 1fr;grid-template-rows:repeat(6,1fr)}
#bemutatkozasMozaik .zmos:nth-child(1){grid-column:1;grid-row:1 / 4;border-top-left-radius:var(--r-lg);border-bottom-left-radius:0}
#bemutatkozasMozaik .zmos:nth-child(2){grid-column:1;grid-row:4 / 7}
#bemutatkozasMozaik .zmos:nth-child(3){grid-column:2;grid-row:1 / 3}
#bemutatkozasMozaik .zmos:nth-child(4){grid-column:2;grid-row:3 / 5}
#bemutatkozasMozaik .zmos:nth-child(5){grid-column:2;grid-row:5 / 7;border-bottom-right-radius:var(--r-lg)}
@media(max-width:900px){
  #bemutatkozasMozaik{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1/1}
  #bemutatkozasMozaik .zmos:nth-child(1),
  #bemutatkozasMozaik .zmos:nth-child(2),
  #bemutatkozasMozaik .zmos:nth-child(3),
  #bemutatkozasMozaik .zmos:nth-child(4){grid-row:auto;border-radius:0}
  /* csak a TELJES blokk bal-felso es jobb-also sarka kerekitett (mint a .shot komponens
     masutt a site-on), a masik ket sarok elesen marad - nem mind a 4 kulso sarok */
  #bemutatkozasMozaik .zmos:nth-child(1){grid-column:1;border-top-left-radius:var(--r-md)}
  #bemutatkozasMozaik .zmos:nth-child(2){grid-column:2}
  #bemutatkozasMozaik .zmos:nth-child(3){grid-column:1}
  #bemutatkozasMozaik .zmos:nth-child(4){grid-column:2;border-bottom-right-radius:var(--r-md)}
  #bemutatkozasMozaik .zmos:nth-child(5){display:none}
}

/* kiemelt idezet */
.pullquote{
  margin:1.8em 0;padding:4px 0 4px 26px;border-left:3px solid var(--orange);
  font-family:var(--ff-head);font-weight:600;font-size:1.02rem;line-height:1.5;color:var(--navy);
}

/* nagy bevezeto allitas (OT) */
.bigstate__lead{
  font-family:var(--ff-head);font-weight:700;
  font-size:clamp(1.3rem,2.9vw,2.15rem);line-height:1.28;color:var(--navy);
  max-width:22ch;margin:0 0 1.1em;
}
.bigstate__cols{max-width:64ch;margin-left:auto}
@media(max-width:900px){.bigstate__cols{margin-left:0}}

/* =========================================================
   SZAMSAVOK
   ========================================================= */
.statstrip{background:var(--ice);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statstrip__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.stat{padding:clamp(28px,3.6vw,44px) 22px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-family:var(--ff-sub);font-weight:700;font-size:clamp(1.75rem,3vw,2.15rem);color:var(--navy);line-height:1.1;margin-bottom:.55em}
.stat span{display:block;font-size:.86rem;color:var(--muted);line-height:1.45}
@media(max-width:860px){
  .statstrip__grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2n){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:460px){.statstrip__grid{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.konsz-hide{display:none}}

/* sotet szamsav (Vasuti) */
.countband{background:var(--navy-900);color:#c6d7e8;padding:clamp(56px,7vw,96px) 0;position:relative;overflow:hidden}
.countband::before{content:'';position:absolute;inset:0;background:radial-gradient(100% 80% at 85% 10%,rgba(43,76,118,.7),transparent 62%)}
.countband > .container{position:relative;z-index:2}
.section-head--light{max-width:760px}
.countband__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.cb{background:var(--navy-900);padding:30px 24px 34px}
.countband--nav .cb strong{font-size:clamp(1.3rem,2.6vw,2.3rem);white-space:nowrap}
.cb strong{display:block;font-family:var(--ff-sub);font-weight:700;font-size:clamp(1.9rem,4vw,3rem);color:#fff;line-height:1;margin-bottom:.4em}
.cb>span{display:block;font-size:.85rem;color:#9db6d2;line-height:1.5}
.countband--nav .cb>span{white-space:nowrap}
@media(max-width:900px){.countband__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.countband__grid{grid-template-columns:1fr}}

/* NAVIGATOR-csoport oldal: kompaktabb 2 oszlopos szamsor + Magyarorszag-terkep jobbra */
.countband--nav .countband__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.countband__layout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(24px,4vw,56px)}
.countband__col{min-width:0}
.countband__map{width:clamp(300px,34vw,480px);flex:none}
.countband__mapbox{position:relative}
.countband__mapbox img{display:block;width:100%;height:auto}
.cbmap__pin{position:absolute}
.cbmap__pin--strong{transform:translate(-50%,-100%);width:20px;height:20px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));z-index:2}
.cbmap__pin--strong svg{width:100%;height:100%;fill:var(--orange)}
.cbmap__pin--weak{transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#6fb1e8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));z-index:1}
.cbmap__label{position:absolute;white-space:nowrap;font-family:var(--ff-sub);font-weight:700;font-size:13px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.5)}
.cbmap__label--below{left:50%;top:26px;transform:translateX(-50%);text-align:center}
.cb__ico{display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;background:var(--navy-700);border-radius:10px}
.cb__ico svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.countband__layout{grid-template-columns:1fr}.countband__map{width:100%;max-width:480px;margin:32px auto 0}.countband--nav .countband__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =========================================================
   SZAMOZOTT RACS ES LISTA
   ========================================================= */
.numgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd9e6;border:1px solid #cfd9e6;list-style:none}
.numgrid li{background:var(--ice);padding:30px 28px 34px;transition:background .3s var(--ease)}
.numgrid li:hover{background:#fff}
.numgrid__n{display:block;font-family:var(--ff-sub);font-weight:700;font-size:1.15rem;color:var(--orange);margin-bottom:.9em}
.numgrid p{margin:0;font-size:.94rem;color:var(--navy);line-height:1.55}
@media(max-width:900px){.numgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.numgrid{grid-template-columns:1fr}}

.numlist{list-style:none;border-top:1px solid var(--line)}
.numlist li{display:flex;align-items:baseline;gap:clamp(20px,4vw,54px);padding:18px 4px;border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease)}
.numlist li:hover{padding-left:14px}
.numlist__n{flex:none;font-family:var(--ff-sub);font-weight:600;font-size:.92rem;color:var(--orange)}
.numlist p{margin:0;font-family:var(--ff-head);font-weight:600;text-transform:uppercase;font-size:.92rem;line-height:1.4;color:var(--navy)}
@media(max-width:600px){.numlist p{font-size:.82rem}}

/* =========================================================
   CIKCAKK PROJEKTSOROK (Repteri)
   ========================================================= */
.zrow{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,68px);align-items:center;margin-top:clamp(40px,5vw,72px)}
.zrow--rev{grid-template-columns:.95fr 1.05fr}
.zrow--rev .zrow__media{order:2}
.zrow__media{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg) 0 var(--r-lg) 0}
.zrow--rev .zrow__media{border-radius:0 var(--r-lg) 0 var(--r-lg)}
.zrow__media img{width:100%;aspect-ratio:14/9;object-fit:cover;display:block;transition:transform 1.1s var(--ease)}
.zrow:hover .zrow__media img{transform:scale(1.04)}
.zrow__n{
  position:absolute;right:0;top:0;z-index:2;background:var(--orange);color:#fff;
  padding:12px 20px;border-radius:0 0 0 var(--r-md);
  font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.08em;
}
.zrow--rev .zrow__n{right:auto;left:0;border-radius:0 0 var(--r-md) 0}
.zrow__title{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:clamp(1rem,1.9vw,1.32rem);line-height:1.3;color:var(--navy);margin:0 0 .8em;
}
.zrow__text p{color:var(--muted);font-size:.96rem}
@media(max-width:860px){
  .zrow{grid-template-columns:1fr;gap:24px}
  .zrow--rev .zrow__media{order:0}
}

/* kivagott 3D terv jeg paneleen (utashid) */
.zrow__media--render{background:var(--ice);aspect-ratio:14/9;display:grid;place-items:center;padding:clamp(16px,2.6vw,34px)}
.zrow__media--render img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}

/* kepmozaik a cikcakk sorokban (tobb kisebb kep egy blokkban) */
.zrow__media--mos{display:grid;gap:12px;background:#fff;aspect-ratio:14/9}
.zmos{display:block;position:relative;overflow:hidden;min-width:0;min-height:0}
.zmos img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;display:block;transition:transform 1.1s var(--ease)}
.zrow:hover .zmos img{transform:scale(1.05)}
/* 3 reszes: egy allo nagy bal oldalon, ket fekvo jobbra egymas alatt */
.zrow__media--mos3{grid-template-columns:1.32fr 1fr;grid-template-rows:1fr 1fr}
.zrow__media--mos3 .zmos:first-child{grid-row:1 / span 2}
/* 4 reszes: egy nagy bal oldalon, harom szeles jobbra egymas alatt */
.zrow__media--mos4{grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(3,1fr)}
.zrow__media--mos4 .zmos:first-child{grid-row:1 / span 3}
@media(max-width:560px){
  .zrow__media--mos4{grid-template-columns:repeat(3,1fr);grid-template-rows:1.5fr 1fr}
  .zrow__media--mos4 .zmos:first-child{grid-row:1;grid-column:1 / span 3}
}
/* 3 reszes, felul szeles: egy szeles kep fent, ket kisebb lent */
.zrow__media--mos3t{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.zrow__media--mos3t .zmos:first-child{grid-column:1 / span 2}
/* 2 reszes: ket allokep egymas mellett */
.zrow__media--mos2{grid-template-columns:1fr 1fr}
/* 2 reszes fekvo valtozat: ket panorama kep egymas alatt */
.zrow__media--mos2v{grid-template-rows:1fr 1fr}
@media(max-width:560px){
  .zrow__media--mos3{grid-template-columns:1fr 1fr;grid-template-rows:1.4fr 1fr}
  .zrow__media--mos3 .zmos:first-child{grid-row:1;grid-column:1 / span 2}
}

/* =========================================================
   REPTERI OLDAL - bevezeto, szamozott kartyak, rendszerdobozok
   ========================================================= */

/* bevezeto: cim balra, a ket bekezdes egymas alatt jobbra */
.airintro{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr);
  grid-template-areas:"head body" "plate body";grid-template-rows:auto 1fr;
  column-gap:clamp(32px,5.5vw,84px);row-gap:clamp(28px,3.4vw,44px);align-items:start;
}
.airintro__head{grid-area:head}
.airintro__head .h2{margin:0}
.airintro__body{grid-area:body;border-top:3px solid var(--orange);padding-top:26px}
.airintro__body p{margin:0 0 1.15em}
.airintro__body p:last-child{margin-bottom:0}

/* koordinata-tabla: techy "trail marker", a kovetkezo sav tetejere tamasztva */
.section--airintro{--pad-y:clamp(52px,6.6vw,94px);padding:var(--pad-y) 0}
.geoplate{
  grid-area:plate;align-self:end;position:relative;
  margin-bottom:calc(var(--pad-y,clamp(64px,8vw,116px)) * -1);
  --gp-size:clamp(1.65rem,3.1vw,2.65rem);
}
.geoplate__meta{
  display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 .55em;
  font-family:var(--ff-sub);font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.geoplate__meta b{color:var(--orange);font-weight:700;margin-left:.35em}
.geoplate__coord{
  margin:0;font-family:var(--ff-head);font-weight:700;font-size:var(--gp-size);line-height:.9;letter-spacing:-.01em;white-space:nowrap;
  color:#F2B4A1;
}
.geoplate__coord + .geoplate__coord{margin-top:.06em}

@media(max-width:860px){
  .airintro{grid-template-columns:1fr;grid-template-areas:"head" "body" "plate";grid-template-rows:auto;row-gap:26px}
  .airintro__body{padding-top:22px}
  .geoplate{margin-top:14px;--gp-size:clamp(1.65rem,7vw,2.4rem)}
}

/* rendszertipusok: kulonallo dobozok, a projektkepek sarkformajaval */
.syscards{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.8vw,22px);margin-top:clamp(26px,3vw,38px);
  align-items:stretch;
}
.syscard{
  background:var(--navy);color:#cfdcea;padding:32px 28px 30px;min-width:0;
  border-radius:clamp(28px,3.4vw,46px) 0 clamp(28px,3.4vw,46px) 0;
  display:flex;flex-direction:column;
  transition:background .3s var(--ease);
}
.syscard:hover{background:var(--navy-900)}
.syscard__ico{
  display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.10);margin:0 0 18px;
  transition:background .3s var(--ease);
}
.syscard__ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.syscard:hover .syscard__ico{background:var(--orange)}
.syscard__k{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;font-size:.86rem;
  color:#fff;margin:0 0 .85em;line-height:1.35;
}
.syscard__v{margin:0;font-size:.92rem;line-height:1.65;color:#bdd0e4}
.subhead{margin:clamp(56px,7vw,92px) 0 0}
.subhead .eyebrow{margin-bottom:.5em}
.subhead .h3{font-family:var(--ff-head);font-weight:700;text-transform:uppercase;color:var(--navy);
  font-size:clamp(1.24rem,2.5vw,1.72rem);line-height:1.18;letter-spacing:-.01em;margin:0}
.syscards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.subhead__lead{margin:.7em 0 0;max-width:62ch;color:var(--muted);font-size:1rem;line-height:1.6}
@media(max-width:1000px){.syscards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.syscards{grid-template-columns:minmax(0,1fr)}}

/* =========================================================
   PARTNERSEGEK / DIJAK (Vasuti)
   ========================================================= */
.partners2{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,5vw,70px);align-items:start}
.awards{border-top:2px solid var(--navy)}
.awards li{
  display:flex;align-items:center;gap:16px;padding:20px 4px;border-bottom:1px solid #cfd9e6;
  font-family:var(--ff-head);font-weight:600;text-transform:uppercase;font-size:.82rem;line-height:1.4;color:var(--navy);
}
.awards__mark{flex:none;width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(232,119,34,.18)}
@media(max-width:900px){.partners2{grid-template-columns:1fr}}

/* =========================================================
   TERMEKKARTYAK (Vasuti)
   ========================================================= */
.section-head__lead{color:var(--muted);max-width:60ch;margin-top:-.4em}
.prodcards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pcard{
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  background:var(--navy);color:#c6d7e8;padding:clamp(30px,4vw,46px);
  border-radius:var(--r-md) 0 var(--r-md) 0;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.pcard::before{content:'';position:absolute;inset:0;background:radial-gradient(110% 90% at 88% 10%,rgba(43,76,118,.95),transparent 62%)}
.pcard::after{content:'';position:absolute;right:-40px;bottom:-40px;width:170px;height:170px;border-radius:50%;background:rgba(232,119,34,.10);transition:transform .5s var(--ease)}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pcard:hover::after{transform:scale(1.35)}
.pcard > *{position:relative;z-index:2}
.pcard__tag{font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:var(--orange-600);margin-bottom:1.4em}
.pcard__title{font-family:var(--ff-head);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.6rem);color:#fff;margin:0 0 .2em;letter-spacing:.01em}
.pcard__sub{font-size:.95rem;color:#a9c2de;margin:0 0 2em}
.pcard__go{margin-top:auto;font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:.7em}
.pcard__go i{font-style:normal;color:var(--orange);font-size:1.1rem;transition:transform .3s var(--ease)}
.pcard:hover .pcard__go i{transform:translateX(7px)}
@media(max-width:760px){.prodcards{grid-template-columns:1fr}}

/* =========================================================
   XAGE PARTNERBLOKK (OT)
   ========================================================= */
.xage{background:var(--navy-900);color:#c6d7e8;position:relative;overflow:hidden}
.xage::before{content:'';position:absolute;inset:0;background:radial-gradient(100% 90% at 12% 15%,rgba(43,76,118,.8),transparent 62%)}
.xage__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,70px);align-items:center;
  padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.xage__pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.8em}
.xage__pills li{
  border:1px solid rgba(255,255,255,.26);padding:10px 16px;
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#dbe7f3;
}
.xage__figure{margin:0;overflow:hidden;border-radius:0 var(--r-lg) 0 var(--r-lg);box-shadow:var(--shadow-lg)}
.xage__figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media(max-width:900px){.xage__grid{grid-template-columns:1fr}}

/* =========================================================
   CTA TUKROZOTT VALTOZAT
   ========================================================= */
.endcta--left .endcta__bar{right:auto;left:var(--pad)}
.endcta--left .endcta__note{left:auto;right:var(--pad);padding:0 26px 0 34px;border-radius:var(--r-md) 0 0 0}
@media(max-width:760px){.endcta--left .endcta__bar{left:auto}}

/* =========================================================
   REFERENCIAINK OLDAL
   ========================================================= */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- kiemelt referencia kartyak ---------- */
.refgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd9e6;border:1px solid #cfd9e6}
.refcard{
  display:flex;flex-direction:column;background:#fff;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.refcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);z-index:2}
.refcard__logo{
  display:grid;place-items:center;padding:14px 20px;min-height:172px;
  background:var(--navy);border-bottom:1px solid #dfe6ef;
  transition:background .3s var(--ease);
}
/* A 9 kiemelt logobol 7 sotet tintaju, azok eredeti szinben olvashatatlanok
   lennenek a kek alapon (mert kontrasztjuk 1,1-1,8:1). Ezert alapbol mind
   feher sziluett, ravitelre pedig a panel vilagosodik ki, es akkor minden
   logo a sajat szineiben latszik. */
.refcard__logo img{
  max-height:144px;width:auto;max-width:92%;object-fit:contain;
  filter:brightness(0) invert(1);opacity:.94;
  transition:opacity .3s var(--ease),filter .3s var(--ease),transform .3s var(--ease);
}
.refcard:hover .refcard__logo{background:#fff}
.refcard:hover .refcard__logo img{opacity:1;filter:none;transform:scale(1.04)}
.refcard__body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.refcard__client{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:.95rem;line-height:1.3;color:var(--navy);margin:0 0 .3em;
}
.refcard__meta{
  font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--orange-600);margin:0 0 1.2em;
}
.refcard__body p:last-child{font-size:.92rem;color:var(--muted);margin:0}
/* per-project years inside one body <p> (Daimler card): same look as .refcard__meta, own line */
.refcard__body p .refcard__meta{display:block;margin:0 0 1.2em}
.refcard__body p .refcard__meta ~ .refcard__meta{margin-top:.9em}
@media(max-width:1000px){.refgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.refgrid{grid-template-columns:1fr}}

/* ---------- iparagi megoszlas: tablazat, sav-diagramkent ---------- */
.ichart{width:100%;border-collapse:collapse;table-layout:fixed}
.ichart thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ichart tr{border-bottom:1px solid var(--line);transition:background .2s var(--ease)}
.ichart tr:hover{background:var(--ice)}
.ichart th[scope="row"]{
  width:34%;text-align:left;font-weight:600;font-size:.9rem;color:var(--navy);
  padding:13px 20px 13px 4px;vertical-align:middle;
}
.ichart td{position:relative;padding:13px 0;vertical-align:middle;display:flex;align-items:center;gap:14px}
.ichart__bar{
  display:block;height:14px;border-radius:0 4px 4px 0;
  /* a sav hossza az ertek, a sotetsege ugyanazt a nagysagot erositi meg.
     a 100%-bol levonjuk a szazalek-cimke es a koz helyet, kulonben tullog */
  width:calc((100% - 3.2em - 14px) * var(--ertek) / 14);
  background:color-mix(in srgb, var(--navy) calc(var(--fok) * 100%), #b9c8da);
  flex:none;
}
.ichart b{
  font-family:var(--ff-sub);font-weight:600;font-size:.84rem;color:var(--navy);
  font-weight:400;flex:none;min-width:3.2em;
}
.ichart__source{margin-top:22px;font-size:.78rem;color:var(--muted)}
@media(max-width:700px){
  .ichart th[scope="row"]{width:46%;font-size:.82rem;padding-right:12px}
  .ichart__bar{height:11px}
}
@supports not (background: color-mix(in srgb, red 50%, blue)){
  .ichart__bar{background:var(--navy);opacity:calc(.45 + var(--fok) * .55)}
}

/* ---------- partner logofal: sakktabla ---------- */
.lwall{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  border:1px solid #d3dce8;border-right:0;border-bottom:0;
  position:relative;background:#fff;
}
.lwall__cell{
  display:grid;place-items:center;min-width:0;
  height:152px;padding:16px 18px;
  border-right:1px solid #d3dce8;border-bottom:1px solid #d3dce8;
  transition:background .25s var(--ease);
}
.lwall__cell{background:#fff}
.lwall__cell:hover{background:#fff;box-shadow:0 8px 26px rgba(20,41,67,.13);position:relative;z-index:2}
.lwall__cell img{
  width:auto;height:auto;max-width:100%;max-height:120px;object-fit:contain;
  filter:grayscale(1);opacity:.62;
  transition:opacity .28s var(--ease),filter .28s var(--ease),transform .28s var(--ease);
}
.lwall__cell:hover img{opacity:1;filter:none;transform:scale(1.05)}

@media(max-width:1100px){.lwall__cell{height:132px}.lwall__cell img{max-height:100px}}
@media(max-width:700px){
  .lwall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lwall__cell{height:116px;padding:12px 14px}
  .lwall__cell img{max-height:92px}
}

/* =========================================================
   TERMEKOLDALAK
   ========================================================= */

/* ---------- termek adatsav ---------- */
.prodbar{background:var(--navy-900);color:#c6d7e8}
.prodbar__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.pb{padding:24px 22px;border-right:1px solid rgba(255,255,255,.16)}
.pb:last-child{border-right:0}
.pb__k{display:block;font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--orange-600);margin-bottom:.9em}
.pb__v{display:block;font-family:var(--ff-head);font-weight:600;font-size:1rem;color:#fff;line-height:1.3}
.pb__sym{font-family:var(--ff-sub);font-weight:400}
@media(max-width:700px){.pb{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.pb:last-child{border-bottom:0}}

/* ---------- video: poszterkep + kesobb beillesztett lejatszo ---------- */
.videosec .section-head{margin-bottom:clamp(28px,4vw,44px)}
.vfacade{
  position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy-900);
  border-radius:var(--r-lg) 0 var(--r-lg) 0;box-shadow:var(--shadow-lg);
}
.vfacade__poster{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease),filter .4s var(--ease)}
.vfacade::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,41,67,.18),rgba(20,41,67,.55));pointer-events:none;transition:opacity .4s var(--ease)}
.vfacade__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:84px;height:84px;border-radius:50%;background:var(--orange);color:#fff;
  display:none;place-items:center;
  box-shadow:0 14px 40px rgba(232,119,34,.42);
  transition:transform .3s var(--ease),background .3s var(--ease);
}
.vfacade[data-video]:not([data-video=""]) .vfacade__play{display:grid}
.vfacade[data-video]:not([data-video=""]) .vfacade__hint{display:none}
.vfacade__play svg{width:34px;height:34px;margin-left:4px}
.vfacade__play:hover{transform:translate(-50%,-50%) scale(1.08);background:var(--orange-600)}
.vfacade:hover .vfacade__poster{transform:scale(1.03)}
.vfacade__hint{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;margin:0;
  font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;
  color:rgba(255,255,255,.82);text-align:center;
  border:1px dashed rgba(255,255,255,.45);padding:16px 24px;
}
.vfacade.is-playing::after,.vfacade.is-playing .vfacade__hint{display:none;opacity:0}
.vfacade iframe,.vfacade video{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:4}
@media(max-width:600px){.vfacade__play{width:62px;height:62px}.vfacade__play svg{width:26px;height:26px}}

/* ---------- fulek ---------- */
.tabs__nav{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid #cfd9e6;margin-bottom:0}
.tabs__btn{
  padding:16px 26px;position:relative;
  font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted);transition:color .25s var(--ease);
}
.tabs__btn::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--orange);
  transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}
.tabs__btn:hover{color:var(--navy)}
.tabs__btn.is-active{color:var(--navy)}
.tabs__btn.is-active::after{transform:scaleX(1)}
.tabs__panels{background:#fff;padding:clamp(28px,4vw,44px);box-shadow:0 10px 30px rgba(20,41,67,.07);position:relative;overflow:hidden}
.tabs__panels:has(.tabs__num){padding:0}
.tabs__panel{position:relative;min-height:clamp(150px,9vw,190px)}
.tabs__panel p{margin:0;max-width:78ch;color:var(--muted)}
.tabs__panel[hidden]{display:none}
/* eRDM-only: azonos magassagu USP-dobozok, a nagy szam jobbra igazitva, flex-strech-csel
   a doboz teljes magassagaban; a pontos also-felso illesztest a JS (main.js) vegzi
   a tenyleges (megmert) glyph-meretek alapjan, top-eltolassal */
.tabs__panel:has(.tabs__num):not([hidden]){display:flex;align-items:stretch;min-height:clamp(230px,20vw,280px)}
.tabs__panel:has(.tabs__num) p{align-self:center;flex:1 1 auto;max-width:none;padding:clamp(28px,4vw,44px)}
.tabs__num{
  flex:0 0 clamp(195px,22vw,247px);position:relative;top:0;display:block;overflow:hidden;
  text-align:right;font-family:var(--ff-head);font-weight:800;line-height:1;
  font-size:clamp(200px,27vw,280px);
  color:rgba(232,119,34,.16);pointer-events:none;user-select:none;
}
@media(max-width:760px){
  .tabs__panel:has(.tabs__num):not([hidden]){flex-direction:column-reverse;min-height:0;justify-content:center}
  .tabs__num{flex:0 0 auto;width:100%;text-align:left;font-size:clamp(64px,20vw,104px);top:0;padding:clamp(16px,3vw,22px) clamp(24px,5vw,34px) 0;color:rgba(232,119,34,.22)}
  .tabs__panel:has(.tabs__num) p{flex:0 0 auto;padding:clamp(10px,2vw,16px) clamp(24px,5vw,34px) clamp(24px,5vw,34px)}
}
@media(max-width:620px){.tabs__btn{padding:14px 16px;font-size:.8rem}}

/* ---------- dijak szekcio ---------- */
.awardsec__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:start}
@media(max-width:820px){.awardsec__grid{grid-template-columns:1fr}}

/* =========================================================
   KAPCSOLAT OLDAL
   ========================================================= */

.contactbar{background:var(--navy);color:#c6d7e8}
.contactbar__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.cbx{display:block;padding:28px 24px;border-right:1px solid rgba(255,255,255,.16);color:#c6d7e8}
.cbx:last-child{border-right:0}
.cbx__k{display:block;font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--orange-600);margin-bottom:.9em}
.cbx__v{display:block;font-family:var(--ff-head);font-weight:600;font-size:1.02rem;color:#fff;line-height:1.4}
.cbx--link{transition:background .25s var(--ease)}
.cbx--link:hover{background:var(--navy-700);color:#fff}
@media(max-width:760px){.cbx{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.cbx:last-child{border-bottom:0}}

.contact__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,5vw,72px);align-items:start}
.contact__lead{color:var(--muted);max-width:56ch;margin-bottom:2em}
@media(max-width:960px){.contact__grid{grid-template-columns:1fr}}

/* ---------- urlap ---------- */
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform__field{margin-bottom:18px;display:flex;flex-direction:column}
.cform label{
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--navy);margin-bottom:9px;
}
.cform label span{color:var(--orange)}
.cform input[type="text"],.cform input[type="email"],.cform input[type="tel"],.cform textarea{
  font:inherit;font-size:.96rem;color:var(--text);
  padding:14px 16px;border:1px solid var(--line);background:#fff;border-radius:2px;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.cform input:focus,.cform textarea:focus{
  outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,58,95,.12);
}
.cform textarea{resize:vertical;min-height:140px}
.cform__err{font-size:.78rem;color:#c0392b;margin-top:7px;min-height:1em}
.cform input.is-invalid,.cform textarea.is-invalid{border-color:#c0392b}
.cform__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform__check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:6px 0 26px}
.cform__check input{margin-top:3px;width:18px;height:18px;accent-color:var(--orange)}
.cform__check label{
  font-family:var(--ff-body);font-size:.86rem;letter-spacing:0;text-transform:none;
  color:var(--muted);line-height:1.6;margin:0;
}
.cform__check label a{text-decoration:underline}
.cform__check .cform__err{grid-column:1 / -1}
.cform__status{margin-top:18px;font-size:.9rem;min-height:1.4em}
.cform__status.is-ok{color:#1e7a4c}
.cform__status.is-err{color:#c0392b}
@media(max-width:560px){.cform__row{grid-template-columns:1fr;gap:0}}

/* ---------- terkep ---------- */
.mapbox{margin:0 0 26px;position:relative}
.mapbox .mapframe{
  display:block;width:100%;aspect-ratio:4/3;border:0;
  border-radius:var(--r-lg) 0 var(--r-lg) 0;overflow:hidden;box-shadow:var(--shadow);
  background:var(--ice);
}
.mapbox__card{
  position:relative;margin:-46px 0 0 0;z-index:3;width:min(340px,86%);
  background:var(--navy-900);color:#c6d7e8;padding:22px 26px;
  border-radius:0 var(--r-md) 0 0;box-shadow:var(--shadow-lg);
}
.mapbox__card strong{display:block;font-family:var(--ff-head);font-weight:700;font-size:.86rem;
  text-transform:uppercase;color:#fff;margin-bottom:.5em;line-height:1.35}
.mapbox__card span{display:block;font-size:.88rem;margin-bottom:1em}
.mapbox__card .link-arrow{color:#fff;padding-top:0}
.mapbox__card .link-arrow:hover{color:var(--orange)}

.cinfo{border-top:2px solid var(--navy);padding-top:22px}
.cinfo__k{font-family:var(--ff-head);font-weight:700;text-transform:uppercase;font-size:.88rem;
  color:var(--navy);margin:0 0 .5em}
.cinfo__v{font-size:.92rem;color:var(--muted);margin:0 0 .35em}

/* ---------- meresi parameterek lista (termekoldal) ---------- */
.params{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd9e6;border:1px solid #cfd9e6}
.params li{
  background:#fff;padding:24px 26px;display:flex;align-items:flex-start;gap:14px;
  font-size:.94rem;color:var(--navy);line-height:1.5;
}
.params li::before{
  content:'';flex:none;margin-top:.45em;width:9px;height:9px;border-radius:50%;
  background:var(--orange);box-shadow:0 0 0 4px rgba(232,119,34,.16);
}
@media(max-width:900px){.params{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.params{grid-template-columns:1fr}}

/* =========================================================
   ROLUNK SZEKCIO
   ========================================================= */

/* ---------- projekt eletciklus (A Navipro) ---------- */
.lifecycle{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);
  position:relative;z-index:2;
}
.lc{background:var(--navy);padding:30px 28px 34px;position:relative;transition:background .3s var(--ease)}
.lc:hover{background:var(--navy-700)}
.lc__n{display:block;font-family:var(--ff-sub);font-weight:700;font-size:1.05rem;color:var(--orange);margin-bottom:1em}
.lc__t{font-family:var(--ff-head);font-weight:700;text-transform:uppercase;font-size:.86rem;
  line-height:1.35;color:#fff;margin:0 0 .8em}
.lc p{margin:0;font-size:.9rem;color:#a9c2de;line-height:1.55}
@media(max-width:900px){.lifecycle{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.lifecycle{grid-template-columns:1fr}}

/* ---------- ISO blokk ---------- */
.isoblock{display:grid;grid-template-columns:auto 1fr;gap:clamp(32px,6vw,76px);align-items:center}
.isoblock__badge{
  width:clamp(165px,19vw,226px);aspect-ratio:1;flex:none;
  display:grid;place-content:center;text-align:center;
  background:var(--orange);color:#fff;border-radius:var(--r-md) 0 var(--r-md) 0;
  box-shadow:0 18px 44px rgba(232,119,34,.3);
}
.isoblock__badge strong{display:block;font-family:var(--ff-head);font-weight:800;font-size:2.1rem;line-height:1}
.isoblock__badge span{display:block;font-family:var(--ff-sub);font-weight:600;font-size:.9rem;letter-spacing:.1em;margin-top:.7em}
@media(max-width:700px){.isoblock{grid-template-columns:1fr}}
.isosec{padding-bottom:clamp(30px,3.2vw,46px)}

/* ---------- nyitott pozicio nincs (Karrier) ---------- */
.emptyjob{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,44px);align-items:center;
  background:var(--ice);border-left:4px solid var(--orange);padding:clamp(28px,4vw,44px);
}
.emptyjob__mark{width:56px;height:56px;flex:none;display:grid;place-items:center;
  border:2px solid var(--orange);border-radius:50%}
.emptyjob__mark span{width:12px;height:12px;border-radius:50%;background:var(--orange)}
.emptyjob__text p{max-width:70ch;color:var(--muted);margin-bottom:1.6em}
.emptyjob__text a{text-decoration:underline}
.emptyjob__text .btn{text-decoration:none}
@media(max-width:600px){.emptyjob{grid-template-columns:1fr}}

/* ---------- palyazat kartyak ---------- */
.grants{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#cfd9e6;border:1px solid #cfd9e6}
.grant{background:#fff;padding:28px 30px 32px;transition:background .3s var(--ease)}
.grant:hover{background:var(--ice)}
.grant__id{
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.08em;color:var(--orange);
  margin:0 0 1em;word-break:break-word;
}
.grant__title{font-family:var(--ff-head);font-weight:600;font-size:.94rem;line-height:1.45;
  color:var(--navy);margin:0}
.grant__meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:18px 0 0;font-size:.86rem}
.grant__meta dt{color:var(--muted)}
.grant__meta dd{margin:0;color:var(--navy)}
@media(max-width:820px){.grants{grid-template-columns:1fr}}

.szechenyi{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,44px);align-items:center;
  margin-top:clamp(34px,5vw,56px);background:#fff;border:1px solid var(--line);padding:clamp(24px,3vw,34px)}
.szechenyi__logo{
  width:clamp(180px,22vw,240px);aspect-ratio:3/1;flex:none;display:grid;place-items:center;text-align:center;
  border:1px dashed #b9c8da;color:var(--muted);
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.9;
}
.szechenyi p{margin:0;font-size:.88rem;color:var(--muted);max-width:70ch}
@media(max-width:700px){.szechenyi{grid-template-columns:1fr}}

/* ---------- tagvallalatok ---------- */
.members{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd9e6;border:1px solid #cfd9e6}
.member{background:#fff;padding:30px 30px 34px;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.member:hover{transform:translateY(-4px);box-shadow:var(--shadow);z-index:2;position:relative}
.member__name{font-family:var(--ff-head);font-weight:700;text-transform:uppercase;font-size:.92rem;
  line-height:1.35;color:var(--navy);margin:0 0 .3em}
.member__loc{font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--orange-600);margin:0 0 1.3em}
.member p:last-of-type{margin:0;font-size:.92rem;color:var(--muted)}
.member--self{background:var(--navy);}
.member--self .member__name{color:#fff}
.member--self p:last-of-type{color:#a9c2de}
.member--self:hover{background:var(--navy-700)}
@media(max-width:1000px){.members{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.members{grid-template-columns:1fr}}

/* ---------- tagvallalati kartyak: logo felul, link alul, egyenlo magassag ---------- */
.members--cards .member{display:flex;flex-direction:column}
.member__logo{height:56px;display:flex;align-items:center;margin-bottom:16px}
.member__logo img{max-height:100%;max-width:196px;width:auto;object-fit:contain}
.member__logo--notext{align-items:center}
.member__logo--lg{position:relative;overflow:visible}
.member__logo--lg img{position:absolute;left:0;bottom:0;max-height:68px;max-width:210px}
.member__logo-fallback{font-family:var(--ff-sub);font-weight:700;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.members--cards .member p:last-of-type{flex:1}
.member__link{margin-top:18px;display:inline-flex;align-items:center;gap:5px;font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--orange);text-decoration:none}
.member__link:hover{color:var(--orange-600);text-decoration:underline}
.member__link span{transition:transform .2s var(--ease)}
.member__link:hover span{transform:translateX(3px)}
.member--self .member__link{color:#fff}
.member--self .member__link:hover{color:#f5a05a}
.member--self .member__logo-fallback{color:#a9c2de}

/* ---------- ertéklánc ---------- */
.chain{display:flex;flex-wrap:wrap;gap:0;position:relative;z-index:2;
  border:1px solid rgba(255,255,255,.16)}
.chain li{
  flex:1 1 180px;position:relative;padding:26px 30px 26px 34px;
  border-right:1px solid rgba(255,255,255,.16);
  font-family:var(--ff-head);font-weight:600;text-transform:uppercase;
  font-size:.8rem;line-height:1.4;color:#fff;
  display:flex;align-items:center;
}
.chain li:last-child{border-right:0}
.chain li::before{
  content:'';position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:50%;background:var(--orange);
}
.chain__note{position:relative;z-index:2;margin-top:26px;color:#a9c2de;max-width:80ch;font-size:.95rem}
@media(max-width:760px){
  .chain li{flex:1 1 100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .chain li:last-child{border-bottom:0}
}

/* ---------- tozsdei adatok ---------- */
.ticker{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;
  background:#cfd9e6;border:1px solid #cfd9e6}
.ticker__cell{background:#fff;padding:26px 28px;display:block;color:var(--navy)}
.ticker__k{display:block;font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--orange-600);margin-bottom:.9em}
.ticker__v{display:block;font-family:var(--ff-head);font-weight:700;font-size:1rem;line-height:1.35}
.ticker__cell--link{transition:background .25s var(--ease)}
.ticker__cell--link:hover{background:var(--navy);color:#fff}
.ticker__cell--link:hover .ticker__k{color:#fff}
.ticker__note{margin-top:20px;font-size:.98rem;line-height:1.65;color:var(--navy);background:var(--ice);padding:20px 24px}

/* ---------- jogfolytonossagi blokk ---------- */
.legacysec{padding-top:1px;padding-bottom:clamp(46px,5vw,70px)}
.legacybox{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,60px);
  background:var(--ice);border-left:4px solid var(--orange);
  padding:clamp(30px,4vw,52px);
}
.legacybox__body p{color:var(--muted);font-size:.96rem}
.legacybox__body strong{color:var(--navy)}
.legacybox__data{
  display:grid;grid-template-columns:auto 1fr;gap:1px;
  background:#cfd9e6;border:1px solid #cfd9e6;margin:1.8em 0;
}
.legacybox__data dt,.legacybox__data dd{background:#fff;padding:13px 18px;margin:0;font-size:.88rem}
.legacybox__data dt{
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--navy);display:flex;align-items:center;white-space:nowrap;
}
.legacybox__data dd{color:var(--muted)}
.legacybox__note{
  background:#fff;border-top:3px solid var(--navy);padding:20px 22px;margin:0;
  font-size:.92rem;line-height:1.65;
}
@media(max-width:900px){
  .legacybox{grid-template-columns:1fr}
  .legacybox__data{grid-template-columns:1fr}
  .legacybox__data dt{border-bottom:0;padding-bottom:0}
}

/* ---------- technologiai stack / rendszerlista ---------- */
.techgrid,.syslist,.sites{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:#cfd9e6;border:1px solid #cfd9e6}
.tech,.sys,.site{background:#fff;padding:26px 28px 30px}
/* technologiai dobozok: ikon a cim fole, finom narancs alap */
.tech{background-color:#fbe7e1;background-image:none}
.tech:hover{background-color:#f8d5cb;background-image:none}
.tech{transition:background .3s var(--ease)}
.tech__ico{display:grid;place-items:center;width:46px;height:46px;margin:0 0 18px;
  background:var(--navy);border-radius:11px}
.tech__ico svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round}
.tech:hover .tech__ico{background:var(--orange)}
.tech__ico{transition:background .3s var(--ease)}
.section--ice .tech,.section--ice .sys,.section--ice .site{background:#fff}
.tech__k,.sys__k,.site__n{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;font-size:.82rem;
  color:var(--navy);margin:0 0 .8em;line-height:1.35;
}
.site__n{font-size:.95rem}
.tech__v,.sys__v,.site p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.6}
.syslist{margin-top:clamp(28px,4vw,44px)}
.sites{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.techgrid,.syslist{grid-template-columns:1fr}.sites{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sites{grid-template-columns:1fr}}

/* ---------- amire buszkek vagyunk ---------- */
/* kiemelt szam a szekciocimben */
.bignum{display:inline-block;color:var(--orange-lt);font-size:1.32em;line-height:.9;
  letter-spacing:-.02em;vertical-align:-.04em;margin-right:.1em}

/* kompetenciak cim - szammal + kulon szinu/meretu alcim */
#kompetenciakHead .kompsub{display:block;font-size:.56em;font-weight:600;text-transform:none;
  letter-spacing:0;color:#f5a05a;margin-top:.3em}

.proud{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd9e6;border:1px solid #cfd9e6}
.proud li{background:var(--ice);padding:30px 28px 34px;transition:background .3s var(--ease)}
.proud li:hover{background:#fff}
.proud__n{display:block;font-family:var(--ff-sub);font-weight:600;font-size:1.1rem;color:var(--orange);margin-bottom:1em}
.proud p{margin:0;font-size:.98rem;color:var(--muted);line-height:1.6}
.proud strong{color:var(--navy);font-weight:600}
@media(max-width:820px){.proud{grid-template-columns:1fr}}

/* ---------- kapcsolat: e-mail formatum megjegyzes ---------- */
.cinfo__note{margin:14px 0 0;font-size:.84rem;color:var(--muted);line-height:1.6;
  padding-top:14px;border-top:1px solid var(--line)}
.cinfo__note strong{color:var(--navy)}

/* =========================================================
   IDOVONAL (.tline) - Tortenetunk es NAVIGATOR
   ========================================================= */
.timelinesec{background:var(--ice);position:relative;overflow:hidden}
.timelinesec::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(30,58,95,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(30,58,95,.05) 1px,transparent 1px);
  background-size:80px 80px;
}
.timelinesec > .container{position:relative;z-index:2}

.tline{position:relative;--rail:50%;--card:calc(50% - 52px);padding-bottom:54px}
/* a kozepso sin */
.tline::before{
  content:'';position:absolute;left:var(--rail);top:0;bottom:40px;width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(30,58,95,.18) 0%,var(--navy) 12%,var(--navy) 70%,var(--orange) 96%);
}
/* a sin zaroeleme: lefele mutato hegy = a tortenet folytatodik */
.tline::after{
  content:'';position:absolute;left:var(--rail);bottom:16px;
  transform:translateX(-50%);
  width:0;height:0;
  border-left:9px solid transparent;border-right:9px solid transparent;
  border-top:16px solid var(--orange);
}

/* --- korszak-valaszto --- */
.tera{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:14px 0 30px;text-align:center;
}
.tera:first-child{padding-top:0}
.tera__span{
  position:relative;z-index:2;background:var(--orange);color:#fff;
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.11em;padding:9px 20px;
}
.tera__name{
  position:relative;z-index:2;background:var(--ice);padding:6px 14px;
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:.84rem;letter-spacing:.06em;color:var(--navy);
}

/* --- egy mérföldkő --- */
.tstep{position:relative;display:flex;padding-bottom:26px}
.tstep:nth-child(odd){justify-content:flex-start}
.tstep:nth-child(even){justify-content:flex-end}
.tstep__card{
  position:relative;width:var(--card);background:#fff;
  padding:26px 28px 28px;
  border-radius:var(--r-md) 0 var(--r-md) 0;
  box-shadow:0 10px 30px rgba(20,41,67,.09);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.tstep:nth-child(even) .tstep__card{border-radius:0 var(--r-md) 0 var(--r-md)}
.tstep__card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
/* osszekoto vonalka a sinhez */
.tstep__card::after{
  content:'';position:absolute;top:34px;width:34px;height:2px;background:#cfd9e6;
}
.tstep:nth-child(odd) .tstep__card::after{right:-34px}
.tstep:nth-child(even) .tstep__card::after{left:-34px}
/* csomopont a sinen */
.tstep__node{
  position:absolute;left:var(--rail);top:27px;transform:translateX(-50%);z-index:3;
  width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--navy);
  transition:transform .3s var(--ease),border-color .3s var(--ease);
}
.tstep:hover .tstep__node{transform:translateX(-50%) scale(1.25);border-color:var(--orange)}
.tstep--now .tstep__node{
  background:var(--orange);border-color:var(--orange);
  box-shadow:0 0 0 6px rgba(232,119,34,.20),0 0 0 14px rgba(232,119,34,.08);
}
.tstep--now .tstep__card{background:var(--navy);color:#c6d7e8}
.tstep--now .tstep__year{color:#fff}
.tstep--now .tstep__card p{color:#bed0e4}
.tstep--now .tstep__card::after{background:var(--orange)}

.tstep__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.tstep__year{
  font-family:var(--ff-sub);font-weight:700;font-size:1.32rem;line-height:1;color:var(--navy);
}
.tstep__tag{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:.82rem;letter-spacing:.08em;color:var(--orange-600);
}
.tstep__award{
  display:inline-flex;align-items:center;gap:5px;margin-left:auto;
  background:rgba(232,119,34,.12);color:var(--orange-600);
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 10px;
}
.tstep__award svg{width:13px;height:13px;fill:currentColor;flex:none}
.tstep__card p{margin:0;font-size:.93rem;color:var(--muted);line-height:1.62}

.tstep__logos{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
}
.tstep--now .tstep__logos{border-top-color:rgba(255,255,255,.2)}
.tstep__logos li{
  background:var(--ice);padding:7px 10px;display:grid;place-items:center;height:38px;
}
.tstep--now .tstep__logos li{background:rgba(255,255,255,.92)}
.tstep__logos img{
  max-height:22px;max-width:90px;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.62;transition:opacity .25s var(--ease),filter .25s var(--ease);
}
.tstep__card:hover .tstep__logos img{opacity:1;filter:grayscale(0)}

.tstep__photo{
  display:block;margin-top:18px;border-radius:10px 0 10px 0;overflow:hidden;line-height:0;
}
.tstep__photo img{display:block;width:100%;height:auto;object-fit:cover}

/* --- kompakt valtozat (NAVIGATOR oldal) --- */
.tline--compact .tstep{padding-bottom:18px}
.tline--compact .tstep__card{padding:22px 24px 24px}
.tline--compact .tstep__year{font-size:1.1rem}

/* --- egyoszlopos elrendezes kisebb kepernyon --- */
@media(max-width:900px){
  .tline{--rail:11px;--card:calc(100% - 46px)}
  .tline::before{transform:none}
  .tstep,.tstep:nth-child(odd),.tstep:nth-child(even){justify-content:flex-end}
  .tstep__card,.tstep:nth-child(even) .tstep__card{border-radius:var(--r-md) 0 var(--r-md) 0}
  .tstep__card::after,.tstep:nth-child(odd) .tstep__card::after,
  .tstep:nth-child(even) .tstep__card::after{left:-24px;right:auto;width:24px}
  .tera{align-items:flex-start;padding-left:46px;text-align:left}
  .tera__span,.tera__name{display:inline-block}
}
@media(max-width:560px){
  .tstep__head{gap:8px}
  .tstep__award{margin-left:0}
  .tstep__year{font-size:1.1rem}
}

/* =========================================================
   MIERT A NAVIPRO - kartyak (Karrier)
   ========================================================= */
.whygrid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;position:relative;z-index:2;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);
}
.why{
  background:var(--navy);padding:30px 28px 34px;position:relative;overflow:hidden;
  transition:background .3s var(--ease);
}
.why::after{
  content:'';position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;
  background:rgba(232,119,34,.08);transition:transform .5s var(--ease);
}
.why:hover{background:var(--navy-700)}
.why:hover::after{transform:scale(1.5)}
@media(max-width:760px){.why::after{display:none}}
.why > *{position:relative;z-index:2}
.why__n{
  display:block;font-family:var(--ff-sub);font-weight:700;font-size:1.5rem;color:var(--orange);
  margin-bottom:.75em;line-height:1;
}
.why p{margin:0;color:#dbe7f3;font-size:.95rem;line-height:1.62}
/* zaro CTA-cella: a racs igy teljes, es van hova kattintani */
.why--cta{
  display:flex;flex-direction:column;justify-content:center;
  background:var(--orange);text-decoration:none;
}
.why--cta:hover{background:#d0670f}
.why--cta .why__n{color:#fff;font-family:var(--ff-head);font-weight:700;font-size:1.15rem;letter-spacing:.06em}
.why__ctat{
  font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:1.05rem;line-height:1.25;letter-spacing:.03em;color:#fff!important;
}
.why__ctas{
  display:block;margin-top:12px;font-family:var(--ff-sub);font-weight:600;font-size:.78rem;
  letter-spacing:.1em;color:rgba(255,255,255,.85);word-break:break-word;
}
.why--cta::after{background:rgba(255,255,255,.12)}
@media(max-width:900px){.whygrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.whygrid{grid-template-columns:1fr}}

/* ============================================================
   JOGI OLDALAK (adatvedelem, impresszum)
   ============================================================ */
.legal__top{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start}
.legal__intro p{margin:0 0 1.05em;color:var(--muted);font-size:.97rem;line-height:1.72}
.legal__intro p:last-child{margin-bottom:0}
.legal__intro .h2{margin-bottom:.7em}

/* tartalomjegyzek */
.legaltoc{
  position:sticky;top:104px;background:var(--ice);
  border-top:3px solid var(--orange);padding:26px 26px 30px;
}
.legaltoc__cim{
  margin:0 0 16px;font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--navy);
}
.legaltoc__list{counter-reset:toc;display:flex;flex-direction:column;gap:2px}
.legaltoc__list li{counter-increment:toc}
.legaltoc__list a{
  display:flex;gap:11px;padding:8px 0;text-decoration:none;
  color:var(--muted);font-size:.88rem;line-height:1.4;
  border-bottom:1px solid var(--line);transition:color .25s var(--ease)
}
.legaltoc__list li:last-child a{border-bottom:0}
.legaltoc__list a::before{
  content:counter(toc,decimal-leading-zero);flex:none;
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;color:var(--orange);padding-top:.25em
}
.legaltoc__list a:hover{color:var(--navy)}

/* adatsorok */
.legaldata{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.legaldata > div{background:#fff;padding:16px 20px;min-width:0}
.legaldata--wide > div,.legaldata > .legaldata--wide{grid-column:1 / -1}
.legaldata dt{
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--orange-600);margin-bottom:7px
}
.legaldata dd{margin:0;color:var(--navy);font-size:.93rem;line-height:1.6;overflow-wrap:break-word}
.legaldata dd a{color:var(--navy)}
.legaldata--proc,.legaldata--naih{grid-template-columns:1fr;margin:20px 0 24px}
.section--ice .legaldata > div{background:#fff}

/* placeholder jeloles */
.ph{
  background:rgba(232,119,34,.14);color:#a24f07;
  font-family:var(--ff-sub);font-weight:600;font-size:.8rem;letter-spacing:.06em;
  padding:3px 8px;border-radius:2px
}

/* fogalmak */
.legaldefs{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 40px}
.legaldefs > div{min-width:0;padding-left:16px;border-left:2px solid var(--orange)}
.legaldefs dt{font-family:var(--ff-head);font-weight:700;color:var(--navy);font-size:.95rem;margin-bottom:6px}
.legaldefs dd{margin:0;color:var(--muted);font-size:.9rem;line-height:1.66}

.legalnote{
  margin:26px 0 0;color:var(--muted);font-size:.88rem;line-height:1.66;
  padding-left:16px;border-left:2px solid var(--line)
}
.legalnote--light{color:#a9bed4;border-left-color:rgba(255,255,255,.22)}
.legalnote--light a{color:#fff}

/* 3. fejezet: celok */
.purposes{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.purpose{background:var(--navy);padding:30px 30px 34px;position:relative;min-width:0;transition:background .3s var(--ease)}
.purpose:hover{background:var(--navy-700)}
.purpose__n{
  display:block;font-family:var(--ff-sub);font-weight:700;font-size:1.4rem;color:var(--orange);line-height:1;margin-bottom:.7em
}
.purpose__t{
  margin:0 0 12px;font-family:var(--ff-head);font-weight:700;color:#fff;
  font-size:1.02rem;line-height:1.3;letter-spacing:.01em
}
.purpose > p{margin:0;color:#c2d4e6;font-size:.92rem;line-height:1.65}
.purpose__meta{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);display:grid;gap:14px}
.purpose__meta dt{
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--orange-600);margin-bottom:5px
}
.purpose__meta dd{margin:0;color:#b7cade;font-size:.84rem;line-height:1.58}

/* 8. fejezet: jogok */
.rights{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.right{background:var(--navy);padding:28px 26px 30px;min-width:0;position:relative;overflow:hidden;transition:background .3s var(--ease)}
.right::after{
  content:'';position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;
  background:rgba(232,119,34,.09);transition:transform .5s var(--ease)
}
.right:hover{background:var(--navy-700)}
.right:hover::after{transform:scale(1.45)}
.right > *{position:relative;z-index:2}
.right__t{
  margin:0 0 10px;font-family:var(--ff-head);font-weight:700;color:#fff;
  font-size:1rem;letter-spacing:.02em
}
.right__t::before{content:'>> ';color:var(--orange);font-size:.8em}
.right p{margin:0;color:#bacde0;font-size:.88rem;line-height:1.64}
.rightsbar{
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  margin-top:1px;background:var(--orange);padding:24px 30px
}
.rightsbar p{margin:0;color:#fff;font-size:.95rem;line-height:1.6;max-width:62ch}
.rightsbar a{color:#fff}
.rightsbar .btn--primary{background:var(--navy);flex:none}
.rightsbar .btn--primary:hover{background:#152c48}

.legalsign{
  margin:22px 0 0;font-family:var(--ff-head);font-weight:700;color:var(--navy);
  font-size:.95rem;line-height:1.7
}
.legalsign span{font-family:var(--ff-body);font-weight:400;color:var(--muted);font-size:.88rem}

@media(max-width:1080px){
  .legal__top{grid-template-columns:1fr;gap:40px}
  .legaltoc{position:static}
  .legaltoc__list{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
  .rights{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .legaldata,.legaldefs,.purposes{grid-template-columns:1fr}
  .legaldefs{gap:22px}
  .rights{grid-template-columns:1fr}
  .legaltoc__list{grid-template-columns:1fr}
  .rightsbar{flex-direction:column;align-items:flex-start}
}

/* ============================================================
   USP: "Egy csapat, a teljes mernoki lanc"
   ============================================================ */
.usp__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:start}
.usp__head{position:sticky;top:112px}
.usp__head .h2{margin-bottom:.55em;font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.06;max-width:13ch}
.usp__head p{color:var(--muted);font-size:.98rem;margin-bottom:1.8em}
.usp__list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.uspc{background:#fff;padding:30px 30px 34px;min-width:0;position:relative;transition:background .3s var(--ease)}
.uspc::before{
  content:'';position:absolute;left:0;top:0;width:3px;height:0;background:var(--orange);
  transition:height .45s var(--ease)
}
.uspc:hover{background:#fbfcfe}
.uspc:hover::before{height:100%}
.uspc__n{
  display:block;font-family:var(--ff-sub);font-weight:700;font-size:.84rem;letter-spacing:.12em;
  color:var(--orange);margin-bottom:1.5em
}
.uspc__t{
  margin:0 0 12px;font-family:var(--ff-head);font-weight:700;color:var(--navy);
  font-size:1.02rem;line-height:1.3;letter-spacing:.01em
}
.uspc p{margin:0;color:var(--text);font-size:.97rem;line-height:1.72}

/* ============================================================
   PROJEKTMODELL (flow)
   ============================================================ */
.flow{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  counter-reset:flow
}
.flow__step{
  background:#fff;padding:30px 28px 34px;position:relative;min-width:0;
  transition:background .3s var(--ease)
}
.flow__step::after{
  content:'';position:absolute;right:-1px;top:34px;width:9px;height:9px;
  background:var(--orange);border-radius:50%;transform:translateX(50%);
  opacity:0;transition:opacity .3s var(--ease);z-index:2
}
.flow__step:hover{background:#fbfcfe}
.flow__step:hover::after{opacity:1}
.flow__n{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;
  border:2px solid var(--navy);background:#fff;
  font-family:var(--ff-sub);font-weight:700;font-size:1.12rem;line-height:1;
  color:var(--navy);margin-bottom:1.1em;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)
}
.flow__step:hover .flow__n{background:var(--orange);border-color:var(--orange);color:#fff}
.flow__t{
  margin:0 0 11px;font-family:var(--ff-head);font-weight:700;color:var(--navy);
  font-size:1rem;letter-spacing:.02em
}
.flow__step p{margin:0;color:var(--text);font-size:.97rem;line-height:1.72}

#familyFlow{margin-top:0}
#familyNote{max-width:80ch;margin:clamp(28px,4vw,40px) 0 0;color:var(--text);font-size:.97rem;line-height:1.72}

/* ertekrend: 4 pillerre bontott flow (a szokasos 3-oszlopos helyett) */
#ertekrendHead{max-width:1150px}
#ertekrendHead .bigstate__lead{max-width:57ch}
#ertekrendFlow{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){#ertekrendFlow{grid-template-columns:1fr 1fr}}
@media(max-width:700px){#ertekrendFlow{grid-template-columns:1fr}}

/* eRDM/eRTM: sotetkek valtozat a flow-blokkokhoz (csak ott, ahol a .flow--dark modositoosztaly szerepel) */
.flow--dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08)}
.flow--dark .flow__step{background:var(--navy-900)}
.flow--dark .flow__step:hover{background:var(--navy)}
.flow--dark .flow__n{border-color:rgba(255,255,255,.35);background:transparent;color:#fff}
.flow--dark .flow__step:hover .flow__n{background:var(--orange);border-color:var(--orange);color:#fff}
.flow--dark .flow__t{color:#fff}
.flow--dark .flow__step p{color:#cfdfef}
.flow--dark .flow__step::after{background:var(--orange-lt)}

@media(max-width:1080px){
  .usp__grid{grid-template-columns:1fr;gap:40px}
  .usp__head{position:static}
  .flow{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .usp__list{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr}
}

/* ============================================================
   SZABVANYOK ES MEGFELELOSEG
   ============================================================ */
.stds{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.std{background:#fff;padding:28px 26px 30px;min-width:0;display:flex;flex-direction:column;
  transition:background .3s var(--ease)}
.std:hover{background:#fbfcfe}
.std__k{
  margin:0 0 14px;font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.06em;
  color:var(--orange);line-height:1.4;overflow-wrap:break-word
}
.std__t{
  margin:0 0 11px;font-family:var(--ff-head);font-weight:700;color:var(--navy);
  font-size:.98rem;letter-spacing:.01em;line-height:1.3
}
.std p{margin:0;color:var(--muted);font-size:.89rem;line-height:1.66}
.std__tag{
  margin-top:auto;padding-top:18px;
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--muted)
}
.std__tag--cert{color:var(--orange);font-weight:600}
.stds__note{
  margin:22px 0 0;color:var(--muted);font-size:.84rem;line-height:1.66;
  padding-left:16px;border-left:2px solid var(--line);max-width:88ch
}
@media(max-width:1080px){.stds{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.stds{grid-template-columns:1fr}}

/* ============================================================
   PALYAZATOK
   ============================================================ */
/* A Szechenyi Terv Plusz arculati kezikonyv 5.10 pontja szerint a
   kedvezmenyezetti infoblokk magassaga honlapon kotelezoen 64 px,
   es korulotte biztonsagi eltartast kell hagyni. */
.infoblokk-sav{background:#fff;padding:26px 0;border-bottom:1px solid var(--line)}
.infoblokk{height:64px;width:auto;max-width:100%;display:block}
.infoblokk--kicsi{height:64px;margin-top:26px}

.grant{
  background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);
  padding:34px 34px 38px;margin-bottom:26px;
}
.grant--live .grant__head{margin-bottom:24px}
.grant__id{
  margin:0 0 10px;font-family:var(--ff-sub);font-weight:600;
  font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-600);
}
.grant__title{
  margin:0 0 10px;font-family:var(--ff-head);font-weight:700;color:var(--navy);
  font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.32;letter-spacing:.01em;
}
.grant__note{margin:0;color:var(--muted);font-size:.86rem;font-style:italic}
.grant__owner{
  margin:0 0 20px;padding:10px 14px;background:rgba(232,119,34,.08);
  border-left:3px solid var(--orange);color:var(--navy);font-size:.86rem;
}
.grant__data{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin:0 0 26px;
}
.grant__data > div{background:#fff;padding:15px 18px;min-width:0}
/* paratlan szamu adatsornal az utolso toltse ki a sort, ne maradjon ures cella */
.grant__data > div:last-child:nth-child(odd){grid-column:1 / -1}
.grant__data dt{
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--orange-600);margin-bottom:7px;
}
.grant__data dd{margin:0;color:var(--navy);font-size:.9rem;line-height:1.6;overflow-wrap:break-word}
.section--ice .grant__data > div{background:#fff}
.grant__body h4,.acc__panel h4{
  margin:26px 0 12px;font-family:var(--ff-head);font-weight:700;color:var(--navy);
  font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;
}
.grant__body h4:first-child,.acc__panel h4:first-child{margin-top:0}
.grant__body > p{color:var(--text);font-size:.97rem;line-height:1.72}
.grant__list{margin:0 0 1.15em;display:grid;gap:8px}
.grant__list li{
  position:relative;padding-left:20px;color:var(--muted);font-size:.93rem;line-height:1.66;
}
.grant__list li::before{
  content:'';position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--orange);
}
.grant__ph{margin-top:22px}

.tblwrap{overflow-x:auto;margin:0 0 1.2em}
.gtbl{width:100%;border-collapse:collapse;font-size:.86rem;min-width:520px}
.gtbl th,.gtbl td{padding:11px 14px;border:1px solid var(--line);text-align:left;color:var(--muted)}
.gtbl thead th{
  background:var(--navy);color:#fff;font-family:var(--ff-sub);font-weight:600;
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
}
.gtbl tbody th{background:var(--ice);color:var(--navy);font-weight:700}
.gtbl tbody tr:last-child td{background:var(--ice);color:var(--navy);font-weight:600}

@media(max-width:760px){
  .grant{padding:26px 22px 30px}
  .grant__data{grid-template-columns:1fr}
  .infoblokk,.infoblokk--kicsi{height:auto;width:100%;max-width:340px}
}


/* ============================================================
   SZECHENYI TERV PLUSZ KEDVEZMENYEZETTI INFOBLOKK
   Arculati kezikonyv 5.10: honlapon a magassaga kotelezoen 64 px,
   es a megnyitas utan jol lathato helyen kell lennie. A navipro.eu
   megoldasat kovetjuk: fix elem a bal felso sarokban.
   ============================================================ */
/* Szeles kepernyon a badge fixen a bal felso sarokban ul, a tartalomsav ott
   olyan messze kezdodik, hogy nem takarja a logot es a menut. Laptop-szelessegen
   a sotetkek topbaron belul all: alatta marad egy kek sav, igy nem er hozza a
   feher menusavhoz es nem folyik egybe vele. */
.eubadge{flex:none;line-height:0;background:#fff}
.eubadge img{height:64px;width:auto;display:block}
@media(min-width:761px) and (max-width:1689px){
  .topbar{position:relative}
  .topbar__inner{min-height:82px;align-items:center}
  .eubadge{position:absolute;left:0;top:0}
  .topbar__parent{padding-left:max(0px,calc(240px - max(24px,(100vw - 1240px)/2)))}
}
@media(min-width:1690px){
  .eubadge{position:fixed;top:0;left:0;z-index:1400}
}

/* --- a regi evopro palyazati oldalak atvett tartalma --- */
.palszoveg .kozep{text-align:center}
.palszoveg h4{
  margin:26px 0 12px;font-family:var(--ff-head);font-weight:700;color:var(--navy);
  font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;
}
.palszoveg > p:first-child{margin-top:0}
.palszoveg p{color:var(--muted);font-size:.93rem;line-height:1.72}
.palszoveg ul{margin:0 0 1.1em;display:grid;gap:9px}
.palszoveg li{position:relative;padding-left:20px;color:var(--muted);font-size:.93rem;line-height:1.66}
.palszoveg li::before{content:'';position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--orange)}
.palszoveg li ul{margin:9px 0 0}
.palszoveg li li::before{background:var(--navy);width:5px;height:5px;top:.68em}
.qblock{
  background:var(--ice);border-left:3px solid var(--orange);
  padding:22px 26px;margin:0 0 26px;
}
.qblock ul{margin:0;gap:11px}
.qblock li,.qblock p{color:var(--navy);font-size:.92rem}
.qblock p{margin:0 0 .8em}
.qblock p:last-child{margin-bottom:0}
.qblock strong{color:var(--navy)}
.palkep{
  max-width:340px;width:100%;height:auto;margin:0 0 24px;
  border:1px solid var(--line);
}
.palszoveg table{width:100%;border-collapse:collapse;font-size:.86rem;margin:0 0 1.2em}
.palszoveg th,.palszoveg td{padding:10px 13px;border:1px solid var(--line);text-align:left;color:var(--muted)}
.palszoveg thead th{background:var(--navy);color:#fff;font-weight:600}
@media(max-width:760px){
  .palkep{max-width:100%}
}

/* --- megoldas-kartya ikonok: a feher kivagasban ulnek, az oldal
       geometrikus vonalvezeteset koveto vonalas rajzok --- */
.scard__ico{
  position:absolute;left:0;bottom:0;z-index:5;
  width:24%;height:42%;padding:14px 16px;
  fill:none;stroke:var(--navy);stroke-width:1.2;
  stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .35s var(--ease),transform .45s var(--ease);
}
.scard:hover .scard__ico{stroke:var(--orange);transform:translateY(-3px)}

/* ============================================================
   SZABVANYOK - sorlistas elrendezes (a kartyaracs helyett)
   ============================================================ */
.stdlist{border-top:2px solid var(--navy)}
.stdrow{
  display:grid;grid-template-columns:minmax(200px,250px) 1fr auto;
  gap:clamp(18px,3vw,52px);align-items:start;
  padding:26px 0;border-bottom:1px solid var(--line);
}
.stdrow__code{
  font-family:var(--ff-sub);font-weight:700;font-size:1rem;line-height:1.4;
  color:var(--navy);letter-spacing:0;padding-top:1px;
}
.stdrow__t{
  margin:0 0 .45em;font-family:var(--ff-sub);font-weight:700;
  font-size:1.02rem;line-height:1.35;color:var(--navy);letter-spacing:0;
}
.stdrow__main p{margin:0;color:var(--text);font-size:.98rem;line-height:1.72;max-width:64ch}
.stdpill{
  display:inline-flex;align-items:center;white-space:nowrap;
  font-family:var(--ff-sub);font-weight:600;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);background:#fff;border:1px solid var(--line);padding:7px 15px;
}
.stdpill--cert{color:#fff;background:var(--orange);border-color:var(--orange)}
.stdlist__note{
  margin:24px 0 0;color:var(--text);font-size:.95rem;line-height:1.72;
  padding-left:18px;border-left:3px solid var(--orange);max-width:88ch;
}
@media(max-width:900px){
  .stdrow{grid-template-columns:1fr;gap:8px;padding:24px 0}
  .stdrow__code{font-size:1.02rem}
}

/* ============================================================
   KONTRASZT: sotet hatteren nincs szurke szoveg
   ============================================================ */
.section--dark p,.section--dark li,.section--dark dd,
.section--dark .section-head__lead,.section--dark .acc__panel p{color:#cfdfef}
.section--dark .h2,.section--dark h3,.section--dark h4,.section--dark strong{color:#fff}
.section--dark .eyebrow{color:#b7ccе4}
.section--dark .eyebrow{color:#b7cce4}
.section--dark .chev{color:var(--orange-lt)}
.section--dark .flow__n{color:var(--orange-lt)}
.section--dark .tabs__nav{border-bottom-color:rgba(255,255,255,.18)}
.section--dark .tabs__btn{color:#9db6d2}
.section--dark .tabs__btn:hover{color:#fff}
.section--dark .tabs__btn.is-active{color:#fff}
.section--dark .tabs__panels{background:var(--navy-900);box-shadow:0 14px 34px rgba(6,14,26,.4)}
.section--dark .tabs__panel p{color:#cfdfef}

/* aloldali referenciakartya: megrendeloi logo */
.rcard{display:flex;flex-direction:column}
.rcard__logo{
  display:grid;place-items:center;height:104px;
  margin:-32px -30px 26px;background:#fff;border-bottom:1px solid #dfe6ef;
}
.rcard__logo img{
  max-height:96px;width:auto;max-width:74%;object-fit:contain;
  filter:grayscale(1);opacity:.72;transition:opacity .3s var(--ease),filter .3s var(--ease);
}
.rcard:hover .rcard__logo img{opacity:1;filter:grayscale(0)}

/* ============================================================
   VILAGOS HATTERU AKKORDION (palyazatok) + narancs mikro-cimkek
   ============================================================ */
.section:not(.section--dark) .accordion{border-top:1px solid var(--line)}
.section:not(.section--dark) .acc__item{border-bottom:1px solid var(--line)}
.section:not(.section--dark) .acc__btn{color:var(--navy)}
.section:not(.section--dark) .acc__btn:hover{color:var(--orange-600)}
.section:not(.section--dark) .acc__btn b{color:var(--orange-600);font-weight:700}
.section:not(.section--dark) .acc__panel p{color:var(--text)}

/* narancs mikro-cimkek kontrasztja
   vilagos hatteren sotet narancs, sotet hatteren vilagos narancs */
.legaldata dt,.legaldefs dt,.contact__card dt,dl dt{color:var(--orange-700)}
.lc__n{color:var(--orange-700)}
.chev{color:var(--orange-600)}

.cbx__k,.pb__k,.pcard__tag,
.pcard__go i,.pcard__go,
.section--dark dt,.section--dark .lc__n,
.section--dark .chev,.hero .chev,.phero .chev,
.navigator .chev,.countband .chev,.xage .chev,.contactbar .chev,
.prodbar .chev,.tstep .chev,.pcards .chev{color:#f5a05a}
.rightsbar p,.rightsbar li,.rightsbar strong{color:#fff}

.tstep__tag{color:var(--orange-700)}
.section--dark .tstep__tag{color:#f5a05a}
.mapbox__note,.contact__hint,.form__hint{font-size:.82rem}

.mapholder__txt small{font-size:.86rem}
.tstep--now .tstep__tag,.tstep--now .tstep__award{color:#f5a05a}
.tstep--now .tstep__award{background:rgba(245,160,90,.16)}

.member__loc,.ticker__k{color:var(--orange-700)}
.ticker__cell--link:hover .ticker__k{color:#fff}
.member--self .member__loc{color:#f5a05a}

/* a zaro CTA kutyaja keskenyebb kepernyon is teljesen belefer */
@media(max-width:900px){.cta__bg{object-position:86% 62%}}
@media(max-width:760px){.cta__bg{object-position:90% 50%}}

/* ============================================================
   KEPESSEGEK (tag-fal)
   ============================================================ */
.caps{position:relative;overflow:hidden;background:var(--navy)}
.caps__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:0}
.caps::before{
  /* display:block: beats the mobile `.section--dark::before{display:none}` (line ~881) */
  content:'';display:block;position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,41,67,.90) 0%,rgba(20,41,67,.84) 45%,rgba(20,41,67,.90) 100%);
}
.caps > .container{position:relative;z-index:3}
.caps__head{max-width:none;margin-bottom:clamp(36px,4.5vw,58px)}
.caps__head .h2{margin:0 0 .55em;max-width:24ch}
.caps__head .section-head__lead{max-width:76ch;font-size:1.04rem;margin-top:0}
.caps__rows{border-top:2px solid rgba(255,255,255,.5)}
.caprow{
  display:grid;grid-template-columns:minmax(170px,235px) 1fr;
  gap:clamp(16px,3vw,44px);align-items:start;
  padding:24px 0 26px;border-bottom:1px solid rgba(255,255,255,.20);
}
.caprow:last-child{border-bottom:0;padding-bottom:0}
.caprow__t{
  margin:0;font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:.98rem;letter-spacing:.03em;line-height:1.35;color:#fff;
  position:relative;padding-top:16px;
}
.caprow__t::before{
  content:'';position:absolute;left:0;top:0;width:26px;height:3px;background:var(--orange);
}
.caprow__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cap{
  display:inline-block;font-family:var(--ff-sub);font-weight:600;font-size:.87rem;line-height:1.2;
  color:#e6eef7;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.26);
  padding:9px 15px;white-space:nowrap;text-align:left;
  transition:border-color .22s var(--ease),color .22s var(--ease),background .22s var(--ease);
}
button.cap{cursor:help;position:relative;padding-right:26px}
button.cap::after{
  content:'?';position:absolute;right:9px;top:50%;transform:translateY(-50%);
  width:13px;height:13px;line-height:13px;text-align:center;border-radius:50%;
  font-size:.6rem;font-weight:700;color:var(--navy);background:#9fb5cd;transition:background .22s var(--ease);
}
button.cap:hover,button.cap[aria-expanded="true"],button.cap:focus-visible{
  border-color:var(--orange-lt);color:#fff;background:rgba(232,119,34,.22);outline:none
}
button.cap:hover::after,button.cap[aria-expanded="true"]::after,button.cap:focus-visible::after{background:var(--orange-lt);color:var(--navy)}
.cap--plain{color:#a9c0d8;border-color:rgba(255,255,255,.16)}

.caps__rows{position:relative}
.capdef{
  position:absolute;z-index:30;width:min(340px,86vw);
  background:#fff;color:var(--text);
  font-family:var(--ff-body);font-weight:400;font-size:.9rem;line-height:1.6;
  padding:15px 18px;box-shadow:0 20px 50px rgba(6,18,34,.45);
  border-left:3px solid var(--orange);pointer-events:none;
}
.capdef::after{
  content:'';position:absolute;left:var(--ax,20px);bottom:-7px;margin-left:-7px;
  border:7px solid transparent;border-top-color:#fff;border-bottom:0;
}
.capdef--lent::after{bottom:auto;top:-7px;border-top:0;border-bottom:7px solid #fff}
@media(max-width:960px){
  .caps__top{grid-template-columns:1fr;align-items:start;gap:26px}
  .caps__head .h2{max-width:none}
  .caprow{grid-template-columns:1fr;gap:14px;padding:22px 0 24px}
  .caprow__t{padding-top:14px}
}
@media(max-width:520px){
  .caprow__tags .cap{white-space:normal;font-size:.84rem;padding:8px 13px}
  .caprow__tags button.cap{padding-right:26px}
}

/* ============================================================
   SZABVANY-SAV (vekony, nem kulon fejezet)
   ============================================================ */
.stdstrip{margin-top:clamp(34px,4vw,54px);background:var(--ice);border:0}
.stdstrip{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(24px,4vw,48px);padding:20px 26px}
.stdstrip__cert{
  flex:none;font-family:var(--ff-sub);font-weight:700;font-size:.82rem;letter-spacing:.08em;
  text-transform:uppercase;color:#fff;background:var(--orange);padding:9px 16px;white-space:nowrap;
}
.stdstrip__txt{margin:0;font-size:.95rem;line-height:1.65;color:var(--text);max-width:none;flex:1 1 320px}
.stdstrip__logo{height:88px;width:auto;flex:none;opacity:.92}
.stdstrip__logo--mobile{display:none}
@media(max-width:640px){
  .stdstrip__logo--desktop{display:none}
  .stdstrip__logo--mobile{display:block;height:auto;width:min(220px,70%)}
}
.stdstrip__txt b{font-weight:700;color:var(--navy)}
@media(max-width:640px){.stdstrip__inner{padding:20px var(--pad)}.stdstrip__txt{font-size:.92rem}}

/* cimsor soha ne torjon szo kozepen */
.h2,.h1,.hero__title,.phero__title{overflow-wrap:normal;word-break:keep-all}

.counter--evszam .counter__label{max-width:22ch}

/* ---------- keszito badge a lablecben ---------- */
.footer__maker{
  display:inline-block;line-height:0;
  opacity:1;transition:opacity .25s var(--ease),transform .25s var(--ease);
}
.footer__maker img{width:auto;height:27px}
.footer__maker:hover{opacity:.55;transform:translateY(-2px)}

/* ---------- impresszum: keszito kartya ---------- */
.splitcols__body{grid-column:2 / -1}
@media(max-width:1000px){.splitcols__body{grid-column:1 / -1}}
.makercard{
  margin:22px 0 4px;background:var(--navy);color:#cfdfef;
  padding:26px 28px 8px;border-left:3px solid var(--orange);
}
.makercard__badge{display:inline-block;line-height:0;margin-bottom:22px}
.makercard__badge img{width:auto;height:40px}
.makercard__badge:hover{opacity:.85}
.makercard__data{
  display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:0;
}
.makercard__data > div{padding:0 0 20px;border-top:1px solid rgba(255,255,255,.16);padding-top:14px;min-width:0}
.makercard__wide{grid-column:1 / -1}
.makercard__data dt{
  font-family:var(--ff-sub);font-weight:600;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;
  color:#f5a05a;margin-bottom:6px;
}
.makercard__data dd{margin:0;color:#e2ecf6;font-size:.95rem;line-height:1.55;overflow-wrap:break-word}
.makercard__data dd a{color:#e2ecf6;border-bottom:1px solid rgba(255,255,255,.3)}
.makercard__data dd a:hover{color:#fff;border-bottom-color:var(--orange)}
@media(max-width:560px){
  .makercard{padding:22px 22px 4px}
  .makercard__data{grid-template-columns:1fr}
}

/* ket egymas utani feher szekcio elvalasztasa */


/* mobil: a Szechenyi-badge sajat sorba kerul a topbaron */
@media(max-width:760px){
  .topbar__inner{flex-wrap:wrap;justify-content:center;align-items:center;min-height:0;padding-top:10px;padding-bottom:12px}
  .eubadge{width:100%;display:flex;justify-content:center;align-self:auto;margin-bottom:10px}
  .topbar__contact{align-self:auto;flex-wrap:wrap;justify-content:center;row-gap:6px}
}

/* hero: slide-valtaskor a szoveg athalvanyul */
.hero__title,.hero__lead{transition:opacity .26s var(--ease),transform .26s var(--ease)}
.hero__title.is-fading,.hero__lead.is-fading{opacity:0;transform:translateY(8px)}

/* ---------- NAVIGATOR blokk: BET-badge es statisztika-ikonok ---------- */

/* ---------- NAVIGATOR CSOPORT oldal: 2026-09-29 redesign ---------- */
.phero__badge{position:absolute;z-index:6;right:var(--pad);bottom:clamp(18px,4vw,38px);
  width:clamp(96px,11.5vw,158px);height:clamp(96px,11.5vw,158px);border-radius:50%;background:#dde6f3;
  display:grid;place-items:center;box-shadow:0 16px 38px rgba(6,18,34,.38);overflow:hidden}
.phero__badge img{height:112px;width:auto;max-width:none;display:block}
@media(max-width:1100px){.phero__badge img{height:92px}}
@media(max-width:760px){.phero__badge{right:var(--pad);bottom:14px;width:80px;height:80px}.phero__badge img{height:60px}}
/* mobil: a BET-badge (80 px, jobb also sarok) ne logjon bele az alcimbe: az alcim jobb oldalan helyet hagyunk neki */
@media(max-width:760px){.phero:has(.phero__badge) .phero__sub{padding-right:96px}}

@media(min-width:901px){
  .navintro--split{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,4.5vw,56px);align-items:center}
  .navintro--split .navintro__stats{grid-template-columns:repeat(2,1fr);max-width:none;margin:0}
}

.member__logo--onnavy{height:auto;padding:10px 14px;background:var(--navy);border-radius:8px 0 8px 0;display:inline-flex;width:fit-content}
.member__logo--onnavy img{max-height:34px}
.member__prev{display:block;font-family:var(--ff-sub);font-weight:600;text-transform:none;letter-spacing:0;font-size:.72rem;color:var(--muted);margin-top:3px}

/* kepdoboz-helykitolto: ideiglenes vizualis jelzes, amig valodi fotok nem kerulnek be */
.imgph{width:100%;display:flex;align-items:center;justify-content:center;background:var(--ice);color:#aebccc}
.imgph svg{width:15%;min-width:26px;max-width:52px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.imgph--dark{background:rgba(255,255,255,.06);color:rgba(255,255,255,.32)}

.dcards--proud .imgph{aspect-ratio:4/3.2}
.dcards--proud .dcard h3{font-size:1rem}
.dcards--proud .dcard p{font-size:.94rem}
@media(max-width:1000px){.dcards--proud .dcard h3{font-size:1.05rem}.dcards--proud .dcard p{font-size:1rem}}

.groupmap{margin:0;border-radius:var(--r-lg) 0 var(--r-lg) 0;overflow:hidden;box-shadow:var(--shadow-lg)}
.groupmap img{display:block;width:100%;height:auto}

.vchain-flow{list-style:none;display:flex;width:100%;gap:0;margin:0 0 clamp(32px,4vw,48px);padding:0;position:relative;z-index:2}
.vchain-flow__step{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:0 8px;position:relative}
.vchain-flow__step:not(:last-child)::after{
  content:'';position:absolute;top:25px;left:calc(50% + 25px);width:calc(100% - 50px);height:2px;
  background:rgba(255,255,255,.2)
}
.vchain-flow__ico{width:44px;height:44px;flex:none;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center;position:relative;z-index:1}
.vchain-flow__ico svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vchain-flow__step span{font-family:var(--ff-head);font-weight:700;font-size:.8rem;letter-spacing:.01em;color:#fff;line-height:1.3}
@media(max-width:760px){
  .vchain-flow{flex-direction:column;gap:0;align-items:stretch}
  .vchain-flow__step{flex:none;flex-direction:row;text-align:left;justify-content:flex-start;gap:16px;padding:14px 4px}
  .vchain-flow__step:not(:last-child)::after{display:none}
  .vchain-flow__step:not(:last-child) .vchain-flow__ico::after{
    content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);
    width:2px;height:28px;background:rgba(255,255,255,.22)
  }
}
.vchainbg{position:relative}
.vchainbg__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:0}
.vchainbg::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,41,67,.93) 0%,rgba(20,41,67,.90) 45%,rgba(20,41,67,.84) 100%)}
.vchainbg > .container{position:relative;z-index:2}
@media(max-width:700px){.vchainbg__img{display:none}}
.divisions{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);position:relative;z-index:2}
.division{background:var(--navy-900);display:flex;flex-direction:column}
.division__img{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;display:block}
.division__body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.division__name{font-family:var(--ff-head);font-weight:700;font-size:.98rem;color:#fff;line-height:1.35;margin:0 0 8px}
.division__loc{font-family:var(--ff-sub);font-weight:600;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:#f5a05a;margin:0 0 12px}
.division__desc{font-size:.85rem;line-height:1.6;color:#c6d7e8;margin:0 0 20px}
.division__members{list-style:none;margin:auto 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.division__members li{background:#fff;border-radius:10px 0 10px 0;padding:7px 14px;display:inline-flex;align-items:center;min-height:40px}
.division__members li img{max-height:26px;width:auto;display:block}
/* text chip (Automation card): same chip as the logos (padding 7px 14px, 40px high), never shrunk or wrapped */
.division__members .division__member--text{font-family:var(--ff-head);font-weight:700;font-size:.8rem;line-height:1.25;color:var(--navy);letter-spacing:.01em;white-space:nowrap;width:calc(26px * 331 / 100 + 28px);flex:none;justify-content:center;padding-inline:0}
@media(max-width:1000px){.divisions{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.divisions{grid-template-columns:1fr}}

.navigator__bet{
  width:174px;height:174px;border-radius:50%;
  background:#dde6f3;display:grid;place-items:center;margin:0 0 30px;
  box-shadow:0 16px 38px rgba(6,18,34,.32);
}
.navigator__bet img{height:142px;width:auto;max-width:none;display:block}
@media(max-width:560px){.navigator__bet{width:140px;height:140px;margin-bottom:22px}.navigator__bet img{height:114px}}

.navigator__stats li{position:relative;padding:30px 20px 28px}
.navstat__ico{
  display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;
  background:var(--navy-900);border-radius:12px;
}
.navstat__ico svg{
  width:31px;height:31px;fill:none;stroke:#fff;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}

/* referenciakartyak: soronkent a legmagasabb kartya adja a sor magassagat (grid alapertelmezes);
   a korabbi grid-auto-rows:1fr minden sort a Daimler-kartyahoz igazitott, ures hellyel */

/* rendszer- es projektkockak: a cimek utani szoveg soronkent egy vonalban (subgrid) */
@supports (grid-template-rows: subgrid){
  .syscards{grid-auto-rows:auto}
  .syscard{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}
  .syscard__ico{align-self:start}
}

/* zaro CTA: mindket felirat bal oldalon, ha a kep targya jobbra esik */
.endcta--stack .endcta__note{left:var(--pad);right:auto;padding:0 34px 0 26px;border-radius:0 var(--r-md) 0 0}

/* termekkartyak: ikon a "Termek" cimke helyett, hosszu nyil */
.pcard__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.10);margin-bottom:1.3em;transition:background .3s var(--ease)}
.pcard__ico svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pcard:hover .pcard__ico{background:var(--orange)}
.pcard__go svg{width:30px;height:12px;fill:none;stroke:var(--orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.pcard:hover .pcard__go svg{transform:translateX(7px)}

/* =========================================================
   KIS KIJELZOK (mobil): hosszu magyar osszetett szavak
   ========================================================= */
@media(max-width:620px){
  html{-webkit-text-size-adjust:100%}
  body{overflow-wrap:break-word}
  .h1,.h2,.h3,.h4,.hero__title,.phero__title,
  .zrow__title,.syscard__k,.pcard__title,.acc__btn,.numlist p,
  .cb span,.counter__label,.rcard__title,.tstep__title{
    overflow-wrap:break-word;word-break:normal;
  }
  /* minden nyelven (HU/EN/DE) a szavak szotagolva, kotojellel torjenek (kulonben a break-word
     kotojel nelkul vagja el oket); minden 3+ betus szo (felhasznaloi keres, 2026-10-10).
     A cimsorok (lent) es a .h2 sajat hyphens:manual-ja itt megmarad: a cim inkabb kisebb lesz,
     es csak 366px alatt valt szotagolasra */
  html:is(:lang(de),:lang(hu),:lang(en)) body{
    -webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:3;
  }
  /* cimsorok (h1-h6, .h1-.h4) es a hero fulcimkek nem szotagolnak automatikusan: csak 366px alatt (lent);
     a tul hosszu nemet szavakban &shy; (U+00AD) van a tr-ben */
  html:is(:lang(de),:lang(hu),:lang(en)) :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.hero__dot){-webkit-hyphens:manual;hyphens:manual}
}
/* mobilon minden .h2 egyforma meretu: 6.5vw - 3px, 1.3rem es 1.65rem (a korabbi tablet-meret) kozott.
   Igy a "PROJEKTMENEDZSMENT" (14.4x a betumeret) kotojel nelkul elfer; doboz = 100vw - 48px.
   .h2.h2.h2: minden kontextusfuggo .h2-meretet felulir (.usp__head .h2, .h2--sm, ...).
   1.3rem = 20.8px-et 366px-nel eri el; ennel keskenyebb kijelzon a cim nem kisebbedik tovabb,
   hanem szotagol (HU/DE, minden cimsor, lasd a 366px-es szabalyt). Ket nemet szo e felett sem fer ki: azokban &shy; (U+00AD) van a tr-ben. */
@media(max-width:760px){
  .h2.h2.h2{font-size:clamp(1.3rem,calc(6.5vw - 3px),1.65rem)}
}
@media(max-width:366px){
  /* 3+ betus szavak is (felhasznaloi keres; kulonben pl. a "rendszerek" kotojel nelkul torne); itt az angol is */
  html:is(:lang(de),:lang(hu),:lang(en)) :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.hero__dot){-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:3}
}
/* gombfelirat soha ne szotagoljon ("MEGOLDA-SAINK"); nagyon keskeny kijelzon kisebb oldalso
   padding es betukoz, hogy a szo egeszben elferjen */
.btn{-webkit-hyphens:manual;hyphens:manual}
@media(max-width:366px){
  .btn,.btn--lg{padding-left:14px;padding-right:14px;letter-spacing:.05em}
}
@media(max-width:430px){
  .h1,.hero__title,.phero__title{font-size:clamp(1.55rem,8vw,2.4rem)}
}
@media(max-width:620px){
  .footer__col{min-width:0}
  .footer__social{max-width:100%}
  .footer__social span{white-space:normal;letter-spacing:.06em}
  .caprow__tags .cap{white-space:normal}
  .stdstrip__cert{white-space:normal}
}
@media(max-width:620px){
  .btn{white-space:normal;text-align:center}
  .eyebrow{display:block}
  .rightsbar{align-items:stretch}
  .rightsbar > *{max-width:100%}
  .rightsbar .btn{justify-content:flex-start;text-align:left}
  .stdstrip__cert{flex:0 1 auto}
}
@media(max-width:700px){.flow__step::after{display:none}}

/* szekcio szukebb also terkozzel (ha kozvetlenul kovetkezik a kovetkezo szekcio) */
.section--tightb{padding-bottom:clamp(18px,2.2vw,32px)}

/* termekkartya ikon: nagyobb */
.pcard__ico{width:54px;height:54px}
.pcard__ico svg{width:29px;height:29px}

/* mobil: Szechenyi infoblokk teljes szelessegu feher savban, balra zarva */
@media(max-width:760px){
  .eubadge{
    flex:0 0 100%;width:100%;max-width:none;display:block;
    margin:0 0 10px;padding:0;background:none;
  }
  .eubadge img{background:#fff;margin-left:calc(var(--pad) * -1)}
}

/* =========================================================
   OT: KIHIVAS szekcio (allitas + IT/OT szembeallitas)
   ========================================================= */
.phero--ot .phero__sub{max-width:76ch}
.challenge__top{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(30px,5vw,68px);align-items:start}
.challenge__lead .bigstate__lead{max-width:none;margin-bottom:0}
.challenge__body{margin:.4em 0 0;max-width:56ch;color:var(--muted);line-height:1.8}
.vsbox{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,24px);margin-top:clamp(44px,5.5vw,76px)}
.vsbox__side{padding:clamp(26px,3vw,38px) clamp(24px,3vw,36px) clamp(28px,3.4vw,40px)}
.vsbox__k{
  margin:0 0 .85em;font-family:var(--ff-sub);font-weight:700;font-size:.8rem;
  letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:.7em;
}
.vsbox__k::before{content:'';width:26px;height:3px;flex:none}
.vsbox__v{margin:0;font-family:var(--ff-head);font-weight:600;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.5}
.vsbox__side--it{background:var(--ice);border-radius:var(--r-md) 0 var(--r-md) 0}
.vsbox__side--it .vsbox__k{color:#7d8fa4}
.vsbox__side--it .vsbox__k::before{background:#b6c3d2}
.vsbox__side--it .vsbox__v{color:#5d6e80}
.vsbox__side--ot{background:var(--navy);border-radius:0 var(--r-md) 0 var(--r-md)}
.vsbox__side--ot .vsbox__k{color:var(--orange-lt)}
.vsbox__side--ot .vsbox__k::before{background:var(--orange)}
.vsbox__side--ot .vsbox__v{color:#fff}
@media(max-width:900px){
  .challenge__top{grid-template-columns:1fr;gap:22px}
  .vsbox{grid-template-columns:1fr}
}

/* Xage: kepessegek egymas alatt, ikonnal */
.xlist{list-style:none;margin:0;padding:0 0 clamp(56px,7vw,96px);position:relative;z-index:2;
  border-top:1px solid rgba(255,255,255,.18)}
.xitem{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,2.4vw,34px);
  align-items:start;padding:clamp(24px,3vw,34px) 0;border-bottom:1px solid rgba(255,255,255,.18)}
.xitem:last-child{border-bottom:0}
.xitem__ico{display:grid;place-items:center;width:52px;height:52px;flex:none;
  border-radius:50%;background:rgba(255,255,255,.08);transition:background .3s var(--ease)}
.xitem__ico svg{width:26px;height:26px;fill:none;stroke:var(--orange-lt);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.xitem:hover .xitem__ico{background:var(--orange)}
.xitem:hover .xitem__ico svg{stroke:#fff}
.xitem__k{margin:.15em 0 .5em;font-family:var(--ff-head);font-weight:700;text-transform:uppercase;
  font-size:1rem;letter-spacing:.02em;color:#fff}
.xitem__v{margin:0;max-width:78ch;font-size:.96rem;line-height:1.75;color:#bdd0e4}
@media(max-width:620px){
  .xitem{grid-template-columns:1fr;gap:14px}
}
/* szabvany-sav: jeges szekcioban feher, feher szekcioban jeges */
.section--ice .stdstrip,.section--dark .stdstrip{background:#fff;box-shadow:0 6px 20px rgba(18,38,63,.07)}

/* legordulo menu: a hosszu menupontok ne torjenek ket sorba */
.nav__sub a{white-space:nowrap}
@media(max-width:1180px){.nav__sub a{white-space:normal}}

/* OT kihivas: jobb hasab also igazitas + zaro allitas */
.challenge__top{align-items:end}
.challenge__side{display:flex;flex-direction:column;gap:clamp(22px,2.6vw,34px)}
.challenge__kicker{
  margin:0;display:flex;align-items:center;gap:16px;
  padding-top:clamp(18px,2vw,24px);border-top:1px solid var(--line);
}
.challenge__kicker i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ice)}
.challenge__kicker svg{width:22px;height:22px;fill:none;stroke:var(--orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.challenge__kicker span{font-family:var(--ff-head);font-weight:600;font-size:1rem;line-height:1.45;color:var(--navy)}
@media(max-width:900px){.challenge__top{align-items:start}}

/* =========================================================
   IMPRESSZUM: kisebb szekciocim, kek tablazat, csoportblokk
   ========================================================= */
.section-head--sm{margin-bottom:clamp(22px,2.6vw,34px)}
.section-head--sm .h2{margin:0}
.h2--sm{font-size:clamp(1.2rem,2.1vw,1.7rem)}
.legaldata--navy{background:transparent;border-color:transparent;gap:0}
.section--ice .legaldata--navy > div,.legaldata--navy > div{background:var(--navy)}
.legaldata--navy dt{color:var(--orange-lt)}
.legaldata--navy dd,.legaldata--navy dd a{color:#e3ecf5}
.legaldata--navy dd a:hover{color:#fff}
.legaldata__lead{padding:clamp(26px,3vw,36px) 20px clamp(20px,2.4vw,28px) !important}
.legaldata__lead dd{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(16px,1.8vw,22px)}
.monologo{flex:none;line-height:0}
.monologo img{height:34px;width:auto;display:block}
.legaldata__lead span{font-family:var(--ff-head);font-weight:600;font-size:clamp(.98rem,1.3vw,1.1rem);line-height:1.45;color:#fff}

.grpblock{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(34px,5vw,70px);align-items:center;position:relative;z-index:3}
.grpblock__text p{color:#c2d3e6;max-width:56ch}
.grpblock__links{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.9em}
.grpblock__figure{margin:0;overflow:hidden;border-radius:0 var(--r-lg) 0 var(--r-lg);box-shadow:var(--shadow-lg)}
.grpblock__figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media(max-width:900px){.grpblock{grid-template-columns:1fr}}

/* =========================================================
   JOGI DOKUMENTUM (adatkezelesi tajekoztato)
   ========================================================= */
.legaldoc{max-width:84ch;margin-inline:auto}
.legaldoc > p{margin:0 0 1.25em;color:var(--text);line-height:1.8}
.legaldoc .h2--sm{margin:clamp(44px,4.4vw,64px) 0 .8em}
.legaldoc > :first-child{margin-top:0}
.legaldoc .legaldata,.legaldoc .deflist{margin:0 0 1.6em}
.legaldoc .stdstrip{margin:1.8em 0 2.2em}
.doclist{margin:0 0 1.4em;padding-left:1.25em;color:var(--text);line-height:1.8}
.doclist li{margin-bottom:.35em}
.deflist{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.deflist > div{background:#fff;padding:16px 20px}
.deflist dt{font-family:var(--ff-head);font-weight:700;color:var(--navy);font-size:.95rem;margin-bottom:5px}
.deflist dd{margin:0;color:var(--muted);font-size:.93rem;line-height:1.7}
.legaldoc__date{margin-top:clamp(38px,4vw,56px);padding-top:20px;border-top:1px solid var(--line);
  font-family:var(--ff-sub);font-weight:600;font-size:.85rem;letter-spacing:.06em;color:var(--muted)}
@media(max-width:560px){
  .legaldata{grid-template-columns:1fr}
  .monologo img{max-width:100%}
}

/* =========================================================
   PALYAZATOK: aktualis szoveg + korabbi projektkartyak
   ========================================================= */
.stdstrip--plain{padding:clamp(22px,2.6vw,30px) clamp(24px,3vw,34px)}
.palsep{border:0;border-top:1px solid var(--line);margin:clamp(44px,5vw,72px) 0}
.palkep--tabla{max-width:520px}
.gcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,28px)}
.gcard{background:#fff;padding:clamp(26px,3vw,34px);border-radius:18px 0 18px 0;
  box-shadow:0 14px 34px rgba(18,38,63,.07);display:flex;flex-direction:column}
.gcard__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:10px 0 10px 0;background:var(--navy-900);margin-bottom:1.2em}
.gcard__ico svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.gcard__id{margin:0 0 .6em;font-family:var(--ff-sub);font-weight:700;font-size:.74rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--orange-600);overflow-wrap:break-word}
.gcard__t{margin:0 0 .7em;font-family:var(--ff-head);font-weight:700;font-size:1.02rem;line-height:1.35;color:var(--navy)}
.gcard__d{margin:0 0 1.5em;font-size:.93rem;line-height:1.7;color:var(--muted);flex:1}
.gcard__meta{margin:0;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:10px}
.gcard__meta dt{font-family:var(--ff-sub);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8c9cae}
.gcard__meta dd{margin:2px 0 0;font-family:var(--ff-sub);font-weight:700;font-size:.92rem;color:var(--navy)}
.gnote{margin:clamp(24px,3vw,36px) 0 0;font-size:.9rem;line-height:1.7;color:var(--muted)}
@media(min-width:701px){.gcards{grid-auto-rows:1fr}}
@media(max-width:1000px){.gcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.gcards{grid-template-columns:1fr}}
.gcard__note{margin:14px 0 0;font-size:.82rem;line-height:1.6;color:#8c9cae}

/* =========================================================
   TERMEK: diagnosztikai kartyak keppel
   ========================================================= */
.dcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
.dcard{margin:0;background:#fff;border-radius:clamp(28px,3.4vw,46px) 0 clamp(28px,3.4vw,46px) 0;overflow:hidden;box-shadow:0 10px 26px rgba(18,38,63,.08);display:flex;flex-direction:column}
.dcard img{width:100%;height:auto;aspect-ratio:4/3.2;object-fit:cover;display:block}
.dcard figcaption{padding:clamp(16px,1.8vw,22px)}
.dcard h3{margin:0 0 .55em;font-family:var(--ff-head);font-weight:700;text-transform:uppercase;font-size:.86rem;letter-spacing:.01em;color:var(--navy);line-height:1.3}
.dcard p{margin:0;font-size:.84rem;line-height:1.62;color:var(--muted)}
@media(max-width:1000px){.dcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.2vw,26px)}.dcard h3{font-size:.95rem}.dcard p{font-size:.9rem}}
@media(max-width:480px){.dcards{grid-template-columns:1fr}}
@media(max-width:700px){.dcards{grid-template-columns:1fr}}

/* "Amire buszkek vagyunk" 3-oszlopos kartyasor - felulirja a .dcards alap 4/2/1-oszlopos toreseit */
.dcards--proud{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.dcards--proud{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dcards--proud{grid-template-columns:1fr}}

/* =========================================================
   TÖRTÉNETÜNK - VÍZSZINTES IDŐVONAL (rolunk-a-navipro)
   ========================================================= */
.htl{position:relative}
.htl__scroll{
  display:flex;align-items:stretch;gap:0;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;
  padding:8px 4px 26px;margin:0 -4px;
  scrollbar-width:thin;scrollbar-color:var(--orange) var(--line);
}
.htl__scroll::-webkit-scrollbar{height:6px}
.htl__scroll::-webkit-scrollbar-track{background:var(--line);border-radius:3px}
.htl__scroll::-webkit-scrollbar-thumb{background:var(--orange);border-radius:3px}
.htl__era,.htl__step{flex:0 0 auto;scroll-snap-align:start;position:relative;padding-top:30px;margin-right:28px}
.htl__era::before,.htl__step::before{
  content:'';position:absolute;left:0;top:10px;width:calc(100% + 28px);height:2px;background:var(--line);
}
.htl__step:last-child{margin-right:4px}
.htl__step:last-child::before{width:100%}
.htl__step{width:270px}
.htl__node{
  position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:3px solid var(--orange);z-index:2;
}
.htl__card{
  position:relative;background:#fff;border-radius:0 var(--r-md) 0 var(--r-md);
  box-shadow:0 10px 28px rgba(18,38,63,.08);padding:22px 22px 24px;height:100%;
}
.htl__step--now .htl__card{background:var(--navy);box-shadow:0 14px 34px rgba(18,38,63,.22)}
.htl__step--now .htl__node{border-color:var(--orange);background:var(--orange)}
.htl__head{display:flex;flex-direction:column;gap:.3em;margin-bottom:1.1em;padding-right:26px}
.htl__year{font-family:var(--ff-sub);font-weight:700;font-size:1.3rem;color:var(--navy);line-height:1}
.htl__step--now .htl__year{color:#fff}
.htl__tag{font-family:var(--ff-sub);font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-600)}
.htl__step--now .htl__tag{color:var(--orange-lt)}
.htl__award{
  position:absolute;top:20px;right:20px;display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:#fdf1e8;color:var(--orange-600);
}
.htl__step--now .htl__award{background:rgba(255,255,255,.14)}
.htl__award svg{width:16px;height:16px;fill:currentColor;flex:none}
.htl__card p{margin:0 0 .9em;font-size:.87rem;line-height:1.62;color:var(--muted)}
.htl__step--now .htl__card p{color:#c6d7e8}
.htl__logos{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0;padding-top:12px;border-top:1px solid var(--line)}
.htl__step--now .htl__logos{border-top-color:rgba(255,255,255,.2)}
.htl__logos li{display:grid;place-items:center;height:auto;padding:0}
.htl__logos img{max-height:41px;width:auto;max-width:220px;object-fit:contain}
.htl__logos--grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.htl__logos--grid li{place-items:start center}
/* egy 2-oszlopos, kb. 90px-es oszlopnal a nagyon lapos logok (pl. Daimler, KUKA) a szelesseg-korlatba
   futnanak bele es "nyultnak" tunnenek a szomszedos, magasabb-aranyu logok mellett - ezert itt a
   szelesseg-korlat szukebb, mint az oszlop teljes szelessege, igy ezek is kisebbek/arányosabbak lesznek. */
.htl__logos--grid img{max-width:80%}
.htl__photo{margin:12px 0 0;border-radius:8px;overflow:hidden}
.htl__photo img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.htl__photobtn{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:none;cursor:zoom-in}
.htl__photobtn::before{content:'';position:absolute;inset:0;background:rgba(20,41,67,0);transition:background .25s var(--ease);z-index:1}
.htl__photobtn:hover::before,.htl__photobtn:focus-visible::before{background:rgba(20,41,67,.24)}
.htl__photozoom{position:absolute;right:10px;bottom:10px;width:32px;height:32px;border-radius:8px;background:rgba(20,41,67,.8);display:grid;place-items:center;opacity:0;transition:opacity .25s var(--ease);z-index:2}
.htl__photozoom svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.htl__photobtn:hover .htl__photozoom,.htl__photobtn:focus-visible .htl__photozoom{opacity:1}
.htl__photobtn:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.htl__era{width:128px;padding-top:34px}
.htl__era::before{background:var(--orange);height:3px;top:8px}
.htl__era-span{display:block;font-family:var(--ff-sub);font-weight:700;font-size:.78rem;letter-spacing:.04em;color:var(--orange-600)}
.htl__era-name{display:block;margin-top:.3em;font-family:var(--ff-head);font-weight:700;text-transform:uppercase;font-size:.92rem;color:var(--navy);line-height:1.3}
.htl__pager{display:none;justify-content:center;gap:12px;margin-top:16px}
.htl__pagerbtn{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;
  display:flex;align-items:center;justify-content:center;color:var(--navy);cursor:pointer;padding:0;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .15s var(--ease);
}
.htl__pagerbtn svg{width:18px;height:18px}
.htl__pagerbtn:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.htl__pagerbtn:active{transform:scale(.92)}
.htl__pagerbtn:disabled{opacity:.32;pointer-events:none}
@media(max-width:760px){
  .htl__pager{display:flex}
  .htl__step{width:240px}
  .htl__era{width:104px}
}

#karrierTeamPhoto{aspect-ratio:4/3}
#navipromCsapatFoto img{aspect-ratio:4/3}

/* ---------- lightbox (kattinthato kep nagyitasa) ---------- */
.lightbox{position:fixed;inset:0;z-index:999;display:grid;place-items:center;padding:40px;background:rgba(10,20,33,.92)}
.lightbox[hidden]{display:none}
.lightbox__img{max-width:min(92vw,1100px);max-height:86vh;width:auto;height:auto;border-radius:12px;box-shadow:0 30px 70px rgba(0,0,0,.5);display:block}
.lightbox__close{position:absolute;top:22px;right:22px;width:44px;height:44px;border-radius:10px;border:0;background:rgba(255,255,255,.12);display:grid;place-items:center;cursor:pointer;transition:background .2s var(--ease)}
.lightbox__close:hover{background:rgba(255,255,255,.22)}
.lightbox__close svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.lightbox{padding:20px}.lightbox__close{top:12px;right:12px;width:38px;height:38px}}

/* ============ 404 (404.html, en/404.html, de/404.html) ============
   Apache ErrorDocument page: the compass header of the legal pages, a large outlined "404"
   in the display face, then the usual morelinks list as the way back. */
.phero--404{min-height:min(80vh,680px);align-items:center}
.nf__code{margin:0 0 .12em;font-family:var(--ff-head);font-weight:800;font-size:clamp(5.5rem,17vw,11.5rem);line-height:.9;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.62);user-select:none}
.phero--404 .phero__title{margin:0;min-height:0}
.nf__sub{min-height:0;margin-top:20px}
.nf__actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 0}
.nf__links .morelinks__list{max-width:760px}
.nf__links .morelinks__list a{-webkit-hyphens:manual;hyphens:manual}
@media(max-width:760px){
  .phero--404{min-height:min(78vh,600px)}
  .nf__code{-webkit-text-stroke-width:1.5px}
}
@media(max-width:480px){
  .nf__actions{flex-direction:column;align-items:stretch}
  .nf__actions .btn{justify-content:center;text-align:center}
}
