/* ==========================================================================
   Orinion Way – szekciók és [ow_*] építőkockák (Construktion X Home V3 + belső oldalak)
   Tokenek: base.css :root (--ow-*). Töréspontok: 991 / 767 / 479 (desktop az alap).
   BeBuilder-szerkezet: .mcb-section.ow-sec > .section_wrapper > .mcb-wrap > .mcb-wrap-inner > .mcb-column > .column_attr
   A lábléc (.ow-footer) a #Content-en kívül van – az itteni rács-szabályok nem érintik.
   ========================================================================== */

/* Szélesség-változók globálisan is: a #Content-en kívüli teljes szélességű blokkok (pl. webshop hero) is használják */
:root {
  --ow-wrap: calc(var(--ow-container, 1316px) - 2 * var(--ow-gutter, 24px));
  --ow-bleed: max(var(--ow-gutter, 24px), calc((100vw - var(--ow-wrap)) / 2));
  --ow-hero-pad: max(var(--ow-gutter, 24px), calc((100% - var(--ow-wrap)) / 2));
}

/* ---------------------------------------------------------------- 1. Szekció-rács
   A BeTheme float/flex oszlopai helyett 12 oszlopos CSS grid: a wrap-méretosztályokból (one-second, two-fifth …) span lesz,
   a konténer szélessége a tokenekből jön, így a kifutó (bleed) elemek pontosan a képernyő széléig érnek. */
:where(#Content) .mcb-section.ow-sec {
  --ow-wrap: calc(var(--ow-container, 1316px) - 2 * var(--ow-gutter, 24px)); /* tartalomszélesség: 1268px */
  --ow-bleed: max(var(--ow-gutter, 24px), calc((100vw - var(--ow-wrap)) / 2)); /* konténerél → képernyőél */
  --ow-hero-pad: max(var(--ow-gutter, 24px), calc((100% - var(--ow-wrap)) / 2)); /* teljes szélességű blokk belső margója */
  --ow-pad-y: var(--ow-section-y-md, 148px); /* a függőleges ritmust a base.css adja (.ow-sec) – ez csak a kifutó panelekhez kell */
  --ow-row-gap: 64px;
  position: relative;
  overflow-x: clip; /* a kifutó képek/panelek ne okozzanak vízszintes görgetést (a sticky-t nem rontja, mint a hidden) */
}
:where(#Content) .mcb-section.ow-sec:not(.full-width) > .section_wrapper {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--ow-gap, 28px);
  row-gap: var(--ow-row-gap);
  align-items: stretch;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: calc(100% - 2 * var(--ow-gutter, 24px));
  max-width: var(--ow-wrap) !important; /* BeTheme mobil: max-width:550px!important */
  margin: 0 auto;
  padding: 0 !important;                /* BeTheme mobil: 33px oldalt */
}
:where(#Content) .mcb-section.ow-sec > .section_wrapper::after { content: none; } /* clearfix-pszeudó ne legyen rácselem */
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap { grid-column: 1 / -1; width: auto; min-width: 0; margin: 0; float: none; }
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.one-second { grid-column: span 6; }
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.one-third { grid-column: span 4; }
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.two-third { grid-column: span 8; }
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.one-fourth { grid-column: span 3; }
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.three-fourth { grid-column: span 9; }
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.two-fifth { grid-column: span 5; }
:where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.three-fifth { grid-column: span 7; }
/* BeTheme oszlopmargók (12px oldalt, 40px alul) ki – a hézagot a rács adja */
:where(#Content) .mcb-section.ow-sec .mcb-column-inner { margin: 0; }
:where(#Content) .mcb-section.ow-sec .mcb-wrap-inner { align-content: flex-start; }
/* egyforma magas kártyák a wrapekben */
:where(#Content) .ow-sec :is(.ow-cardwrap, .ow-featwrap, .ow-memberwrap) > .mcb-wrap-inner { align-items: stretch; }
:where(#Content) .ow-sec :is(.ow-cardwrap, .ow-featwrap, .ow-memberwrap) :is(.mcb-column, .mcb-column-inner, .column_attr) { height: 100%; }

/* teljes szélességű szekció (hero) wrapje maradjon 100% (a BeTheme flex-sorában) */
:where(#Content) .ow-sec.full-width > .section_wrapper > .mcb-wrap { width: 100%; }

/* a kezdőlapon a fő szekciók nagyobb ritmusa (base: :where(.ow-layout-home) .ow-sec) */
.ow-layout-home .mcb-section.ow-sec { --ow-pad-y: var(--ow-section-y, 200px); }

/* .ow-prose oszlopban a szekciófej címe maradjon display-2 (a base .ow-prose h2 szabálya 38px-re és 56px felső margóra venné) */
.ow-prose .ow-head__title { margin: 0; font-size: var(--ow-fs-display-2, 54px); line-height: var(--ow-lh-display-2, 1.222em); }
/* szekciócímek: kiegyensúlyozott sorok – ne maradjon egy szó (pl. névelő) egymagában az első/utolsó sorban */
.ow-head__title { text-wrap: balance; }
/* 992–1018px: a fél szélességű hasábban a display-2 cím („A szolgáltatásról”, „…szolgáltatásainkat”) hajszállal nem fér ki egy sorba →
   arányosan minimálisan kisebb (1019px-től a vw-érték már nagyobb, marad a token) */
@media screen and (min-width: 992px) {
  .ow-head__title, .ow-prose .ow-head__title { font-size: min(var(--ow-fs-display-2, 54px), 5.3vw); }
}

/* Közös: hosszú magyar szavak, linkek aláhúzás nélkül */
:is(.ow-hero__title, .ow-phero__title, .ow-cta__title, .ow-sec .ow-head__title, .ow-card__title, .ow-service__title, .ow-cat__title, .ow-feature__title,
    .ow-step__title, .ow-faq__q, .ow-member__name, .ow-cbox__title, .ow-form__title, .ow-prose--long h2) {
  hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word;
  hyphenate-limit-chars: 12 6 6; /* csak a tényleg hosszú szavakat (pl. Forgalomtechnikai) válassza el */
}
:is(.ow-service, .ow-card a, .ow-cat a, .ow-link, .ow-snav a, .ow-cbox a, .ow-member__links a, .ow-contact--cards a, .ow-crumbs a):hover { text-decoration: none; }
.ow-nowrap { white-space: nowrap; }
/* asztalon a nagy (hero/CTA) címek hasábja minden szónak elég széles: ne válasszon el automatikusan csak a sor kitöltéséért
   („forgalom-/technikai”) – a tartalom &shy; jelei továbbra is érvényesek */
@media screen and (min-width: 992px) {
  :is(.ow-hero__title, .ow-phero__title, .ow-cta__title) { hyphens: manual; -webkit-hyphens: manual; }
}

/* ---------------------------------------------------------------- 2. Kép: [ow_image] (figure.ow-image, --ow-ratio a shortcode-ból)
   Színes megjelenés: a kép szürkéből színesedik, amikor láthatóvá válik (main.js → .is-in) */
figure.ow-image { position: relative; margin: 0; }
.ow-image img { display: block; width: 100%; height: auto; aspect-ratio: var(--ow-ratio, auto); object-fit: cover; background: var(--ow-grey-50);
  transition: transform .8s var(--ow-ease, ease), filter .8s var(--ow-ease, ease); }
.ow-image { overflow: hidden; }
.ow-image figcaption { margin-top: 16px; font-size: var(--ow-fs-text-100, 16px); line-height: 1.5; color: var(--ow-text); text-align: center; }
html.ow-js-reveal .ow-image img { filter: grayscale(1); transform: scale(1.05); }
html.ow-js-reveal .ow-image--captioned img { transform: none; }
html.ow-js-reveal .ow-image.is-in img { filter: none; transform: none; transition: transform 1.4s var(--ow-ease, ease), filter .9s var(--ow-ease, ease) .3s; }
/* hover-nagyítás csak linkelt képen (a sablonban is csak a kattintható fotók zoomolnak) */
:is(a:hover > .ow-image, .ow-image--link:hover):not(.ow-image--captioned) img { transform: scale(1.03); }

/* ---------------------------------------------------------------- 3. Kezdőlapi hero slider [ow_hero]
   Teljes képernyős fotó navy átmenettel, áttűnő diák; a fotó a .ow-hero-hoz pozicionált (a dia statikus),
   így a kép az alsó statisztika-sáv mögé is kiér. Rétegek: kép 0/1 → átmenet 2 → szöveg 3 → alsó sáv 4. */
.mcb-section.ow-sec--hero { padding: 0; background: var(--ow-navy-900); }
.ow-hero {
  /* zsugorodó oszlop: a sáv ne a leghosszabb nem törő tartalom (gomb, lapozó) szélességét vegye fel – 320px-en kilógna */
  position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 1fr auto;
  /* magas kijelzőn (1920×1080) se nyúljon szét: a sablon hero-ja is tartalomhoz igazodó (~900px) */
  min-height: 100vh; min-height: min(100svh, 940px); overflow: hidden;
  background: var(--ow-navy-900); color: var(--ow-white);
}
.ow-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(11, 13, 42, .5) 0%, rgba(11, 13, 42, 0) 70%),
    linear-gradient(270deg, rgba(11, 13, 42, .45) 0%, rgba(11, 13, 42, 0) 45%), /* jobb oldali bevezető szöveg kontrasztja világos fotón */
    linear-gradient(180deg, rgba(11, 13, 42, .74) 0%, rgba(11, 13, 42, .58) 28%, rgba(11, 13, 42, .55) 55%, rgba(11, 13, 42, .9) 100%);
}
.ow-hero__slide { grid-area: 1 / 1; display: flex; align-items: flex-start; min-width: 0; }
img.ow-hero__bg {
  position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; max-width: none; object-fit: cover;
  opacity: 0; transition: opacity 0s linear .9s;
}
.ow-hero__slide.is-active img.ow-hero__bg { z-index: 1; opacity: 1; transition: opacity .9s var(--ow-ease, ease); }
/* belépő animáció betöltéskor (sablon: szekció .2s, cím .3s, szöveg/gombok .4s, számok .5s, lapozó .6s; a fotó szürkéből színesedik).
   Tisztán CSS, JS nélkül is az első rajzolástól fut – így nincs „felvillanás” (a main.js később töltődik be, mint az első festés). */
@keyframes ow-hero-in { from { opacity: 0; transform: scale(var(--ow-reveal-scale, .98)); } }
@keyframes ow-hero-color { from { filter: grayscale(1); } }
.ow-hero__slide:first-of-type img.ow-hero__bg { animation: ow-hero-color 1.2s var(--ow-ease, ease) .3s backwards; }
.ow-hero__main { animation: ow-hero-in .5s var(--ow-ease, ease) .3s backwards; }
.ow-hero__side { animation: ow-hero-in .5s var(--ow-ease, ease) .4s backwards; }
.ow-hero__stats { animation: ow-hero-in .5s var(--ow-ease, ease) .5s backwards; }
.ow-hero__nav { animation: ow-hero-in .5s var(--ow-ease, ease) .6s backwards; }
.ow-hero__inner {
  position: relative; z-index: 3; box-sizing: border-box; width: 100%;
  display: flex; justify-content: space-between; align-items: stretch; gap: 40px 56px; /* a cím fent rögzített, a jobb hasáb alulra zár */
  padding: calc(var(--ow-header-h, 107px) + 72px) var(--ow-hero-pad) 72px;
  opacity: 0; visibility: hidden; transform: translateY(16px);
  transition: opacity .45s var(--ow-ease, ease), transform .45s var(--ow-ease, ease), visibility 0s linear .45s;
}
.ow-hero__slide.is-active .ow-hero__inner { opacity: 1; visibility: visible; transform: none;
  transition: opacity .7s var(--ow-ease, ease) .25s, transform .9s var(--ow-ease, ease) .25s, visibility 0s; }
.ow-hero__main { flex: 0 1 var(--ow-hero-title-max, 780px); min-width: 0; }
.ow-hero__main .ow-eyebrow { margin: 0 0 24px; }
/* minden diacím azonos méretű (a hosszú magyar címek miatt a tablet-méretű display-1), és legalább 3 sornyi helyet foglal:
   lapozáskor a felső szem és a cím nem ugrál, csak a szöveg tűnik át */
.ow-hero__title {
  min-height: 3lh; margin: 0; color: var(--ow-white); font-size: min(var(--ow-fs-display-1, 80px), 64px); line-height: var(--ow-lh-display-1, 1.044em);
  font-weight: var(--ow-fw-medium, 500); letter-spacing: normal;
}
/* rövid vonal az utolsó szó után (template: display-1-heading-line-right) */
.ow-hero__line { display: inline-block; width: 140px; height: 4px; margin-left: 16px; vertical-align: .22em; background: var(--ow-hero-line, var(--ow-white)); }
/* jobb hasáb (5 rácsoszlop): a két gomb egy sorban fér el (295 + 16 + 189 ≈ 500px) */
.ow-hero__side { display: flex; flex-direction: column; justify-content: flex-end; flex: 0 0 512px; min-width: 0; }
.ow-hero .ow-btns { gap: 16px; }
.ow-hero .ow-btn { padding-inline: 32px; white-space: nowrap; }
.ow-hero__text { margin: 0 0 32px; color: var(--ow-grey-200); font-size: var(--ow-fs-body, 18px); line-height: var(--ow-lh-body, 1.667em); }
.ow-hero__bottom {
  position: relative; z-index: 4; grid-row: 2; box-sizing: border-box; width: 100%;
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 40px 64px;
  padding: 0 var(--ow-hero-pad) 64px;
}
ul.ow-hero__stats { display: flex; flex-wrap: wrap; gap: 24px 72px; margin: 0; padding: 0; list-style: none; }
ul.ow-hero__stats > li { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.ow-hero__num {
  display: inline-flex; white-space: nowrap; align-items: baseline; color: var(--ow-white); font-size: var(--ow-fs-display-1, 80px); line-height: 1;
  font-weight: var(--ow-fw-medium, 500);
}
.ow-hero__plus { margin-left: 4px; font-size: var(--ow-fs-display-2, 54px); font-weight: var(--ow-fw-light, 300); color: var(--ow-orange); }
.ow-hero__label { color: var(--ow-grey-200); font-size: var(--ow-fs-text-300, 20px); line-height: 1.1; }
/* nyilak + pöttyök */
.ow-hero__nav { display: flex; align-items: center; gap: 12px; flex: none; }
.ow-hero__arrow {
  -webkit-appearance: none; appearance: none; display: grid; place-items: center; width: 64px; height: 64px; min-height: 0; margin: 0; padding: 0;
  border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; background: transparent; box-shadow: none; color: var(--ow-white); cursor: pointer;
  transition: background-color var(--ow-dur, .3s), border-color var(--ow-dur, .3s), color var(--ow-dur, .3s), transform var(--ow-dur, .3s);
}
.ow-hero__arrow svg { width: 24px; height: 24px; stroke-width: 1.5; stroke-linecap: square; }
.ow-hero__arrow:hover { background: var(--ow-white); border-color: var(--ow-white); color: var(--ow-navy); transform: scale(var(--ow-hover-scale-circle, 1.04)); }
.ow-hero__arrow[data-dir="1"] { background: var(--ow-orange); border-color: var(--ow-orange); color: var(--ow-navy); }
.ow-hero__arrow[data-dir="1"]:hover { background: var(--ow-white); border-color: var(--ow-white); }
/* automatikus lapozás leállítása/indítása (WCAG 2.2.2) – kisebb, keretes kör a nyilak előtt */
.ow-hero__toggle {
  -webkit-appearance: none; appearance: none; display: grid; place-items: center; width: 44px; height: 44px; min-height: 0; margin: 0 4px 0 0; padding: 0;
  border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: transparent; box-shadow: none; color: var(--ow-white); cursor: pointer;
  transition: background-color var(--ow-dur, .3s), border-color var(--ow-dur, .3s), color var(--ow-dur, .3s);
}
.ow-hero__toggle[hidden] { display: none; } /* JS nélkül nincs mit megállítani */
.ow-hero__toggle svg { width: 16px; height: 16px; }
.ow-hero__toggle:hover { background: var(--ow-white); border-color: var(--ow-white); color: var(--ow-navy); }
.ow-hero__toggle .ow-ico--play, .ow-hero__toggle.is-paused .ow-ico--pause { display: none; }
.ow-hero__toggle.is-paused .ow-ico--play { display: block; }
.ow-hero__dots { display: flex; align-items: center; gap: 2px; padding: 0 8px; }
/* a pötty 2px-es vonal, de a kattintható terület 44px magas (érintőképernyő) */
.ow-hero__dot {
  -webkit-appearance: none; appearance: none; position: relative; width: 28px; height: 44px; min-height: 0; margin: 0; padding: 0;
  border: 0; background: none; box-shadow: none; cursor: pointer; transition: width var(--ow-dur, .3s);
}
.ow-hero__dot::before { content: ""; position: absolute; left: 4px; right: 4px; top: 50%; height: 2px; margin-top: -1px; background: rgba(255, 255, 255, .4); transition: background-color var(--ow-dur, .3s); }
.ow-hero__dot:hover::before { background: var(--ow-white); }
.ow-hero__dot.is-active { width: 52px; }
.ow-hero__dot.is-active::before { background: var(--ow-orange); }

/* ---------------------------------------------------------------- 4. Aloldal-hero [ow_page_hero]
   Teljes szélességű fotó navy átmenettel; morzsamenü felül, cím + bevezető alul (template: belső hero-k) */
.mcb-section.ow-sec--phero { padding: 0; background: var(--ow-navy); }
/* min. magasság: rövid (1–2 soros) címnél se maradjon ~260px üres fotósáv a morzsamenü és a cím között */
.ow-phero {
  position: relative; isolation: isolate; display: flex; min-height: 60vh; min-height: max(520px, 60svh); overflow: hidden;
  background: var(--ow-navy); color: var(--ow-white);
}
img.ow-phero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: filter 1.2s var(--ow-ease, ease) .2s, transform 1.6s var(--ow-ease, ease); }
html.ow-js-reveal .ow-phero:not(.is-in) img.ow-phero__bg { filter: grayscale(1); transform: scale(1.04); }
.ow-phero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgba(11, 13, 42, .55) 0%, rgba(11, 13, 42, 0) 75%),
    linear-gradient(180deg, rgba(11, 13, 42, .75) 0%, rgba(11, 13, 42, .55) 35%, rgba(11, 13, 42, .88) 100%);
}
.ow-phero--plain::before { background: radial-gradient(90% 120% at 100% 0%, var(--ow-navy-700) 0%, rgba(27, 32, 99, 0) 60%), var(--ow-navy); }
.ow-phero__inner {
  box-sizing: border-box; width: 100%; display: flex; flex-direction: column; justify-content: space-between; gap: 64px;
  padding: calc(var(--ow-header-h, 107px) + 32px) var(--ow-hero-pad) 88px;
}
.ow-phero--slim { min-height: 0; }
.ow-phero--slim .ow-phero__inner { padding-bottom: 72px; gap: 72px; }
.ow-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 15px; line-height: 1.4; color: var(--ow-grey-on-dark); }
.ow-crumbs a { color: var(--ow-white); text-decoration: none; transition: color var(--ow-dur, .3s); }
.ow-crumbs a:hover { color: var(--ow-orange); }
.ow-crumbs > span:not([aria-current]) { color: var(--ow-grey-400); }
.ow-phero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 32px 80px; align-items: end; }
.ow-phero__main { min-width: 0; }
.ow-phero__main .ow-eyebrow { margin: 0 0 24px; }
/* folyékony méret 1200–1430px között: a leghosszabb szó („Forgalomtechnikai”) is kifér a keskenyebb címhasábban */
.ow-phero__title {
  max-width: 900px; margin: 0; color: var(--ow-white); font-size: min(var(--ow-fs-display-1, 80px), max(64px, 5.6vw)); line-height: var(--ow-lh-display-1, 1.044em);
  font-weight: var(--ow-fw-medium, 500); letter-spacing: normal;
}
.ow-phero__side { min-width: 0; }
.ow-phero__lead { margin: 0; color: var(--ow-grey-200); font-size: var(--ow-fs-body, 18px); line-height: var(--ow-lh-body, 1.667em); }
.ow-phero__lead + .ow-btns { margin-top: 32px; }

/* ---------------------------------------------------------------- 5. Miért minket (Home V3 "modernity & simplicity")
   középre zárt cím → jobbra kifutó széles kép → szöveg | számok → 4 előny */
.ow-sec--why { --ow-row-gap: 56px; }
.ow-sec--why .ow-image--wide { margin-right: calc(-1 * var(--ow-bleed)); }
.ow-sec--why .ow-image--wide img { max-height: 564px; }
.ow-sec--why .ow-why__text { max-width: 600px; }
.ow-sec--why .ow-why__text p { margin: 0 0 16px; }
.ow-sec--why .ow-why__text .ow-btns { margin-top: 32px; }
.ow-why__stats > .mcb-wrap-inner { justify-content: flex-end; }
.ow-why__stats .ow-stats { justify-content: flex-end; }
.ow-sec--why .ow-featwrap { margin-top: 40px; }

/* ---------------------------------------------------------------- 6. Számok [ow_stats] (--light: világos háttéren, --dark: sötéten) */
ul.ow-stats { display: flex; flex-wrap: wrap; gap: 40px 72px; margin: 0; padding: 0; list-style: none; }
ul.ow-stats > li { display: flex; flex-direction: column; gap: 10px; margin: 0; min-width: 0; }
.ow-stats__value {
  display: inline-flex; align-items: baseline; color: var(--ow-heading); font-size: var(--ow-fs-display-1, 80px); line-height: 1;
  font-weight: var(--ow-fw-medium, 500); white-space: nowrap;
}
.ow-stats__suffix { margin-left: 4px; font-size: var(--ow-fs-display-2, 54px); font-weight: var(--ow-fw-light, 300); color: var(--ow-orange-text); }
.ow-stats__label { color: var(--ow-text); font-size: var(--ow-fs-text-300, 20px); line-height: 1.25; }
.ow-stats--dark .ow-stats__value { color: var(--ow-white); }
.ow-stats--dark .ow-stats__suffix { color: var(--ow-orange); }
.ow-stats--dark .ow-stats__label { color: var(--ow-grey-200); }
/* keskeny oszlopban (Rólunk): 2×2 rács, kisebb számok */
.ow-prose .ow-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 40px; margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--ow-border); }
.ow-prose .ow-stats__value { font-size: var(--ow-fs-display-2, 54px); }
.ow-prose .ow-stats__suffix { font-size: var(--ow-fs-display-3, 34px); }
.ow-prose .ow-stats__label { font-size: var(--ow-fs-text-200, 18px); }

/* ---------------------------------------------------------------- 7. Előny-kártya [ow_feature] (About "values": ikon, display-4 cím, szöveg, vonal) */
.ow-feature { position: relative; box-sizing: border-box; height: 100%; padding: 32px 0 8px; border-top: 1px solid var(--ow-border); }
.ow-feature::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--ow-orange); transform: scaleX(0); transition: transform .4s var(--ow-ease, ease); }
.ow-feature:hover::before { transform: scaleX(1); }
.ow-feature__icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 28px; background: var(--ow-navy); color: var(--ow-orange); }
.ow-feature__icon svg { width: 28px; height: 28px; }
.ow-feature__title { margin: 0 0 8px; color: var(--ow-heading); font-size: var(--ow-fs-display-4, 28px); line-height: var(--ow-lh-display-4, 1.429em); font-weight: var(--ow-fw-medium, 500); }
.ow-feature__text { margin: 0; color: var(--ow-text); font-size: var(--ow-fs-body, 18px); line-height: var(--ow-lh-body, 1.667em); }

/* ---------------------------------------------------------------- 8. Szolgáltatások (Home V3 "comprehensive set of services")
   fej (bal 5 oszlop) + fotó (jobb 7 oszlop) egy sorban; alatta a 8 szolgáltatás-sor két hasábban, a képernyő széléig érő szürke sávon.
   A szürke „L” alakban a fotó alsó részét is alátámasztja (sablon: a fotó félig fehéren, félig a szürkén áll), a fej alatt fehér marad.
   Így nincs üres sáv a kép alatt (korábban 8 sor egy keskeny hasábban ~900px-rel a fotó alá lógott). */
.ow-sec--services { --ow-row-gap: 64px; }
/* kezdőlap: a sablon szerint 0 felső / 148 alsó térköz (a Miért minket 200px-es alsó térköze adja a levegőt, nem 2 × 200px) */
.ow-layout-home .mcb-section.ow-sec--services { --ow-pad-y: var(--ow-section-y-md, 148px); padding-top: 0; padding-bottom: var(--ow-section-y-md, 148px); }
.ow-sec--services > .section_wrapper > .mcb-wrap:first-child { grid-column: 1 / span 5; grid-row: 1; align-self: start; }
.ow-sec--services > .section_wrapper > .mcb-wrap.ow-services__media { grid-column: 6 / -1; grid-row: 1; z-index: 2; }
.ow-sec--services > .section_wrapper > .mcb-wrap.ow-services__panel { grid-column: 1 / -1; grid-row: 2; isolation: isolate; }
.ow-services__panel::before { /* a wrap .clearfix:before-jét (0×0, rejtett) írjuk felül */
  content: ""; display: block; visibility: visible; overflow: visible; width: auto; height: auto; position: absolute; z-index: -1;
  top: 0; bottom: calc(-1 * var(--ow-pad-y)); left: calc(-1 * var(--ow-bleed)); right: calc(-1 * var(--ow-bleed)); background: var(--ow-grey-50);
}
.ow-services__list { padding-top: 64px; }
.ow-sec--services > .section_wrapper > .mcb-wrap.ow-services__media { isolation: isolate; }
.ow-services__media::before { /* az „L” felső szára: a fotó jobb részének alja + a sorköz */
  content: ""; display: block; visibility: visible; overflow: visible; width: auto; height: auto; position: absolute; z-index: -1;
  left: 40%; right: calc(-1 * var(--ow-bleed)); bottom: calc(-1 * var(--ow-row-gap) - 1px); height: calc(var(--ow-row-gap) + 120px); background: var(--ow-grey-50);
}
.ow-services__media .ow-image img { aspect-ratio: 16 / 10; }
.ow-sec--services .ow-head--split { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
.ow-sec--services .ow-head--split .ow-head__side { justify-self: start; }
/* asztalon a sorok két hasábban (soronként egy magasságban → az elválasztó vonalak egy vonalban) */
@media screen and (min-width: 992px) {
  .ow-services__list > .mcb-column-inner > .column_attr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--ow-gap-lg, 48px); }
  .ow-services__list > .mcb-column-inner > .column_attr::before, .ow-services__list > .mcb-column-inner > .column_attr::after { content: none; display: none; } /* clearfix ne legyen rácselem */
  .ow-services__list .ow-service:nth-child(2) { padding-top: 0; }
  .ow-services__list .ow-service:nth-last-child(2) { padding-bottom: 0; border-bottom: 0; }
  .ow-services__list .ow-service:nth-last-child(2)::after { display: none; }
}
/* szolgáltatás-sor [ow_service] */
.ow-service {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 24px; align-items: start;
  padding: 36px 0; border-bottom: 1px solid var(--ow-border); color: inherit; text-decoration: none;
}
.ow-service:first-child { padding-top: 0; }
.ow-service:last-child { padding-bottom: 0; border-bottom: 0; }
.ow-service::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--ow-orange); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ow-ease, ease); }
.ow-service:last-child::after { display: none; }
.ow-service:hover::after { transform: scaleX(1); }
.ow-service__icon { display: grid; place-items: center; width: 56px; height: 56px; background: var(--ow-white); color: var(--ow-navy); transition: background-color var(--ow-dur, .3s), color var(--ow-dur, .3s); }
.ow-service__icon svg { width: 28px; height: 28px; }
.ow-service:hover .ow-service__icon { background: var(--ow-navy); color: var(--ow-orange); }
.ow-service__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-top: 2px; }
.ow-service__title { color: var(--ow-heading); font-size: var(--ow-fs-display-4, 28px); line-height: var(--ow-lh-display-4, 1.429em); font-weight: var(--ow-fw-medium, 500); transition: color var(--ow-dur, .3s); }
.ow-service__text { color: var(--ow-text); font-size: var(--ow-fs-body, 18px); line-height: var(--ow-lh-body, 1.667em); }
.ow-service__arrow { display: flex; padding-top: 6px; color: var(--ow-navy); transition: transform var(--ow-dur, .3s), color var(--ow-dur, .3s); }
.ow-service__arrow svg { width: 24px; height: 24px; stroke-linecap: square; }
.ow-service:hover .ow-service__title { color: var(--ow-grey-500); }
.ow-service:hover .ow-service__arrow { transform: translate(4px, -4px); color: var(--ow-orange-text); }

/* ---------------------------------------------------------------- 9. Webshop-kategóriák [ow_cats] (főoldal + /webshop/)
   nincs kategóriakép → erős ikonos kártyák: szürke lap, navy ikonkocka narancs ikonnal; hoverre navy lap */
ul.ow-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ow-gap, 28px); margin: 0; padding: 0; list-style: none; }
ul.ow-cats > li.ow-cat { margin: 0; min-width: 0; }
.ow-cat > a {
  position: relative; display: flex; flex-direction: column; box-sizing: border-box; height: 100%; overflow: hidden; isolation: isolate;
  background: var(--ow-grey-50); color: var(--ow-text); text-decoration: none;
  transition: background-color var(--ow-dur, .3s), color var(--ow-dur, .3s);
}
.ow-cat > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ow-orange); transform: scaleX(0); transition: transform .4s var(--ow-ease, ease); }
.ow-cat > a:hover::after, .ow-cat > a:focus-visible::after { transform: scaleX(1); }
.ow-cat__media { display: block; overflow: hidden; aspect-ratio: 4 / 3; }
.ow-cat__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform var(--ow-dur, .3s), filter var(--ow-dur, .3s); }
.ow-cat > a:hover .ow-cat__media img { transform: scale(var(--ow-img-zoom, 1.04)); filter: saturate(var(--ow-img-saturate, 1.25)); }
.ow-cat__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 32px 28px 28px; }
.ow-cat__icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 40px; background: var(--ow-navy); color: var(--ow-orange); transition: background-color var(--ow-dur, .3s), color var(--ow-dur, .3s); }
.ow-cat__icon svg { width: 30px; height: 30px; }
.ow-cat__title { margin: 0 0 10px; color: var(--ow-heading); font-size: min(var(--ow-fs-display-4, 28px), 1.95vw); line-height: 1.25; font-weight: var(--ow-fw-medium, 500); transition: color var(--ow-dur, .3s); }
.ow-cat__text { display: block; margin-bottom: 28px; color: var(--ow-text); font-size: var(--ow-fs-body, 18px); line-height: 1.6; transition: color var(--ow-dur, .3s); }
.ow-cat__more {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--ow-border);
  color: var(--ow-heading); font-size: var(--ow-fs-text-100, 16px); font-weight: var(--ow-fw-medium, 500); line-height: 1.2;
  transition: color var(--ow-dur, .3s), border-color var(--ow-dur, .3s);
}
.ow-cat__more svg { flex: none; transition: transform var(--ow-dur, .3s); }
.ow-cat > a:hover { background: var(--ow-navy); }
.ow-cat > a:hover .ow-cat__icon { background: var(--ow-orange); color: var(--ow-navy); }
.ow-cat > a:hover .ow-cat__title, .ow-cat > a:hover .ow-cat__more { color: var(--ow-white); }
.ow-cat > a:hover .ow-cat__text { color: var(--ow-grey-200); }
.ow-cat > a:hover .ow-cat__more { border-color: var(--ow-line-on-dark); }
.ow-cat > a:hover .ow-cat__more svg { transform: translate(4px, -4px); color: var(--ow-orange); }
/* listás változat (style="list") */
ul.ow-cats--list { grid-template-columns: minmax(0, 1fr); gap: 0; }
.ow-cats--list .ow-cat > a { background: none; border-bottom: 1px solid var(--ow-border); }
.ow-cats--list .ow-cat__body { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 24px; padding: 24px 0; }
.ow-cats--list .ow-cat__icon { grid-row: span 2; margin: 0; width: 52px; height: 52px; }
.ow-cats--list .ow-cat__title { margin: 0; }
.ow-cats--list .ow-cat__text { grid-column: 2; margin: 0; }
.ow-cats--list .ow-cat__more { grid-column: 3; grid-row: 1 / span 2; margin: 0; padding: 0; border: 0; }
.ow-cats--list .ow-cat > a:hover { background: var(--ow-grey-50); }
.ow-cats--list .ow-cat > a:hover :is(.ow-cat__title, .ow-cat__more) { color: var(--ow-heading); }
.ow-cats--list .ow-cat > a:hover .ow-cat__text { color: var(--ow-text); }

.ow-sec--shop { --ow-row-gap: 56px; }

/* ---------------------------------------------------------------- 10. CTA sáv képpel [ow_cta] (Home V3 "cta-section v2")
   a fotó balra a képernyő széléig fut ki, jobbra a konténer szélén áll meg; navy 60% réteg, display-1 cím */
.mcb-section.ow-sec--cta { padding: 0; }
.ow-cta { position: relative; isolation: isolate; box-sizing: border-box; padding: 160px 64px 176px 0; color: var(--ow-white); }
img.ow-cta__bg, .ow-cta::before { position: absolute; top: 0; bottom: 0; right: 0; left: calc(-1 * var(--ow-bleed)); }
img.ow-cta__bg { z-index: -2; width: calc(100% + var(--ow-bleed)); max-width: none; height: 100%; object-fit: cover; transition: filter 1s var(--ow-ease, ease) .3s, transform 1.4s var(--ow-ease, ease); }
html.ow-js-reveal .ow-cta:not(.is-in) img.ow-cta__bg { filter: grayscale(1); transform: scale(1.03); }
.ow-cta::before { content: ""; z-index: -1; background: linear-gradient(90deg, rgba(11, 13, 42, .8) 0%, rgba(11, 13, 42, .64) 55%, rgba(11, 13, 42, .6) 100%); }
.ow-cta__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px 48px; align-items: end; }
.ow-cta__main { min-width: 0; }
.ow-cta__title {
  max-width: 810px; margin: 0; color: var(--ow-white); font-size: var(--ow-fs-display-1, 80px); line-height: var(--ow-lh-display-1, 1.044em);
  font-weight: var(--ow-fw-medium, 500); letter-spacing: normal;
}
.ow-cta__text { max-width: 558px; margin: 32px 0 0; color: var(--ow-grey-200); font-size: var(--ow-fs-body, 18px); line-height: var(--ow-lh-body, 1.667em); }
.ow-cta .ow-btns { justify-content: flex-end; }
/* ha a CTA az oldal utolsó szekciója (közvetlenül a navy lábléc felett): a fotó melletti jobb oldali sáv alsó ~48%-a a lábléc színét kapja,
   így a fotó „lelép” a láblécbe, nem marad fehér bevágás (sablon: footer-top) */
.mcb-section.ow-sec--cta:last-child::after {
  content: ""; position: absolute; right: 0; bottom: 0; z-index: 0; width: calc((100% - min(var(--ow-wrap), 100% - 2 * var(--ow-gutter, 24px))) / 2); height: 48%;
  background: var(--ow-bg-footer, var(--ow-navy-900));
}

/* ---------------------------------------------------------------- 11. Folyamat-lépések [ow_steps] ("emelkedő lépcső")
   ragadós fej balra; jobbra 2 oszlop, a bal oszlop lejjebb indul → a lépések balról jobbra emelkednek */
.ow-sec--steps > .section_wrapper > .mcb-wrap.one-third { grid-column: 1 / span 4; }
.ow-sec--steps > .section_wrapper > .mcb-wrap.two-third { grid-column: 5 / -1; }
/* a két fejléc-gomb egy sorban férjen el a 4 oszlopos fejhasábban (≥1200px: 365–404px) */
.ow-sec--steps .ow-btns { gap: 16px; }
.ow-sec--steps .ow-btns .ow-btn { padding-inline: 24px; }
/* align-items:start – minden lépés csak a saját tartalmáig ér, így az alsó vonal mindig 64px-re van a szövegtől */
ol.ow-steps {
  --ow-step-rise: 128px;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px var(--ow-gap, 28px); align-items: start;
  margin: 0; padding: 0 0 var(--ow-step-rise); list-style: none;
}
ol.ow-steps > li.ow-step { margin: 0; }
.ow-steps > .ow-step:nth-child(odd) { translate: 0 var(--ow-step-rise); }
.ow-steps--n1 { grid-template-columns: minmax(0, 1fr); padding-bottom: 0; }
.ow-steps--n1 > .ow-step:nth-child(odd) { translate: none; }
.ow-step { position: relative; display: flex; flex-direction: column; box-sizing: border-box; padding: 0 32px 64px; border-bottom: 1px solid var(--ow-grey-300); }
.ow-step::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 56px; height: 2px; background: var(--ow-orange); transition: width .5s var(--ow-ease, ease); }
.ow-step:hover::after { width: 100%; }
.ow-step__num { display: block; margin-bottom: 8px; color: var(--ow-orange-text); font-size: var(--ow-fs-display-2, 54px); line-height: 1.1; font-weight: var(--ow-fw-medium, 500); }
.ow-step__title { margin: 0 0 12px; color: var(--ow-heading); font-size: var(--ow-fs-display-3, 34px); line-height: var(--ow-lh-display-3, 1.294em); font-weight: var(--ow-fw-medium, 500); }
.ow-step__text { margin: 0; color: var(--ow-text); font-size: var(--ow-fs-body, 18px); line-height: 1.6; }

/* ---------------------------------------------------------------- 12. Vélemények [ow_testimonials] (Home V3: képes kártyák, eltolt rács)
   szürke panel jobbra (72%, alul 32%-kal rövidebb); mobilon vízszintesen húzható sor */
/* a panel bal széle rácsvonalhoz kötött: fél oszlopközzel a kártyák hasábja (5. oszlop) előtt indul, így nem fut át a fej szövegén
   (50% − (tartalomszélesség + oszlopköz) / 6 = konténerszél + 4 oszlop + 3,5 oszlopköz) */
.mcb-section.ow-sec--testimonials::before {
  content: ""; position: absolute; top: 0; right: 0; bottom: 32%; z-index: 0; background: var(--ow-grey-50);
  left: calc(50% - (min(var(--ow-wrap), 100% - 2 * var(--ow-gutter, 24px)) + var(--ow-gap, 28px)) / 6);
}
.ow-sec--testimonials > .section_wrapper > .mcb-wrap.one-third { grid-column: 1 / span 4; }
.ow-sec--testimonials > .section_wrapper > .mcb-wrap.two-third { grid-column: 5 / -1; }
.ow-testimonials {
  --ow-t-offset: 120px;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: var(--ow-gap, 28px);
  padding-bottom: var(--ow-t-offset);
}
.ow-testimonials > .ow-testimonial:nth-child(even) { translate: 0 var(--ow-t-offset); }
.ow-testimonials:has(> .ow-testimonial:nth-child(odd):last-child) { padding-bottom: 0; } /* páratlan darabszámnál az utolsó kártya nincs eltolva */
figure.ow-testimonial {
  position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box;
  min-height: 460px; margin: 0; overflow: hidden; background: var(--ow-navy); color: var(--ow-white);
}
img.ow-testimonial__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .6s var(--ow-ease, ease); }
.ow-testimonial:hover img.ow-testimonial__bg { transform: scale(var(--ow-img-zoom, 1.04)); }
.ow-testimonial--img::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 13, 42, .35) 0%, rgba(11, 13, 42, .68) 40%, rgba(11, 13, 42, .92) 100%); }
.ow-testimonial:not(.ow-testimonial--img) { background: var(--ow-grey-50); color: var(--ow-text); }
.ow-testimonial__body { display: flex; flex-direction: column; gap: 16px; padding: 40px; }
.ow-testimonial__stars { display: flex; gap: 4px; color: var(--ow-orange); }
.ow-testimonial__stars svg { width: 18px; height: 18px; fill: currentColor; stroke-width: 1; }
.ow-testimonial__title { margin: 0; font-size: var(--ow-fs-display-4, 28px); line-height: 1.3; font-weight: var(--ow-fw-medium, 500); }
blockquote.ow-testimonial__quote {
  font-style: normal; position: static; top: auto; margin: 0; padding: 0; border: 0; background: none; quotes: "„" "”";
  color: var(--ow-white); font-size: var(--ow-fs-display-4, 28px); line-height: var(--ow-lh-display-4, 1.429em); font-weight: var(--ow-fw-medium, 500); text-decoration: none;
}
.ow-testimonial__quote::before { content: open-quote; }
.ow-testimonial__quote::after { content: close-quote; }
.ow-testimonial:not(.ow-testimonial--img) .ow-testimonial__quote { color: var(--ow-heading); }
.ow-testimonial figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; color: var(--ow-grey-200); font-size: var(--ow-fs-text-100, 16px); line-height: 1.3; }
.ow-testimonial figcaption strong { font-weight: var(--ow-fw-medium, 500); color: inherit; }
.ow-testimonial figcaption span::before { content: ""; display: inline-block; width: 28px; height: 1px; margin: 0 12px; vertical-align: middle; background: var(--ow-grey-400); }
.ow-testimonials.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
/* mobil lapozó-pöttyök a húzható sor alatt (main.js hozza létre; csak ≤767px, ahol a sor görgethető) */
.ow-tdots { display: none; }
.ow-tdots button {
  -webkit-appearance: none; appearance: none; position: relative; width: 24px; height: 44px; min-height: 0; margin: 0; padding: 0;
  border: 0; background: none; box-shadow: none; cursor: pointer; transition: width var(--ow-dur, .3s);
}
.ow-tdots button::before { content: ""; position: absolute; left: 3px; right: 3px; top: 50%; height: 2px; margin-top: -1px; background: var(--ow-grey-500); }
.ow-tdots button[aria-current="true"] { width: 44px; }
.ow-tdots button[aria-current="true"]::before { height: 3px; background: var(--ow-navy); }

/* ---------------------------------------------------------------- 13. Képes kártya [ow_card] (projekt/blog kártya: kép-zoom, cím, szöveg, link, rajzolódó vonal) */
.ow-sec--cards { --ow-row-gap: 72px; }
.ow-card { position: relative; display: flex; flex-direction: column; box-sizing: border-box; height: 100%; padding-bottom: 32px; border-bottom: 1px solid var(--ow-border); }
.ow-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--ow-orange); transform: scaleX(0); transition: transform .4s var(--ow-ease, ease); }
.ow-card:hover::after, .ow-card:focus-within::after { transform: scaleX(1); }
.ow-card__media { display: block; overflow: hidden; margin-bottom: 28px; aspect-ratio: 16 / 10; background: var(--ow-grey-50); }
img.ow-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ow-ease, ease), filter .5s var(--ow-ease, ease); }
.ow-card:hover img.ow-card__img { transform: scale(var(--ow-img-zoom, 1.04)); filter: saturate(var(--ow-img-saturate, 1.25)); }
.ow-card__body { display: flex; flex-direction: column; flex: 1 1 auto; align-items: flex-start; }
.ow-card__title { margin: 0 0 12px; color: var(--ow-heading); font-size: var(--ow-fs-display-3, 34px); line-height: var(--ow-lh-display-3, 1.294em); font-weight: var(--ow-fw-medium, 500); }
.ow-card__title a { color: inherit; text-decoration: none; transition: color var(--ow-dur, .3s); }
.ow-card:hover .ow-card__title a { color: var(--ow-grey-500); }
.ow-card__text { margin: 0 0 24px; color: var(--ow-text); font-size: var(--ow-fs-body, 18px); line-height: 1.6; }
dl.ow-card__meta { display: flex; flex-wrap: wrap; gap: 16px 40px; margin: 0 0 24px; }
.ow-card__meta > div { display: flex; flex-direction: column; gap: 8px; }
.ow-card__meta dt { padding: 0; border: 0; color: var(--ow-text); font-size: var(--ow-fs-text-200, 18px); font-weight: var(--ow-fw-regular, 400); line-height: 1.1; }
.ow-card__meta dd { margin: 0; padding: 0; border: 0; color: var(--ow-heading); font-size: var(--ow-fs-text-200, 18px); font-weight: var(--ow-fw-medium, 500); line-height: 1.1; }
.ow-card .ow-link { margin-top: auto; }
.ow-sec--related .ow-card__title { font-size: var(--ow-fs-display-4, 28px); }
.ow-sec--related .ow-card__text { font-size: var(--ow-fs-text-100, 16px); }
.ow-sec--related .ow-card__media { aspect-ratio: 4 / 3; }

/* szöveges link nyíllal (.ow-link) – narancs aláhúzás rajzolódik be */
.ow-link { display: inline-flex; align-items: center; gap: 8px; color: var(--ow-heading); font-size: var(--ow-fs-text-200, 18px); font-weight: var(--ow-fw-medium, 500); line-height: 1.2; text-decoration: none; }
.ow-link span { padding-bottom: 4px; background: linear-gradient(var(--ow-orange), var(--ow-orange)) 0 100% / 0 2px no-repeat; transition: background-size var(--ow-dur, .3s) var(--ow-ease, ease); }
.ow-link svg { flex: none; transition: transform var(--ow-dur, .3s) var(--ow-ease, ease); }
.ow-link:hover { color: var(--ow-heading); }
.ow-link:hover span, .ow-card:hover .ow-link span { background-size: 100% 2px; }
.ow-link:hover svg, .ow-card:hover .ow-link svg { transform: translateX(6px); }

/* ---------------------------------------------------------------- 14. Bevezető (szolgáltatás-oldal): szöveg + pipás lista | jobbra kifutó kép */
.ow-sec--intro > .section_wrapper { align-items: center; }
.ow-sec--intro > .section_wrapper > .mcb-wrap.one-second { grid-column: 1 / span 6; padding-right: clamp(0px, 3vw, 48px); }
.ow-sec--intro > .section_wrapper > .mcb-wrap.ow-intro__media { grid-column: 7 / -1; padding-right: 0; }
.ow-intro__media .ow-image { margin-right: calc(-1 * var(--ow-bleed)); }
.ow-intro__media .ow-image img { aspect-ratio: 4 / 3; max-height: 760px; } /* a forrás 1,54:1 – a négyzetes vágás a szélesség 35%-át levágta és felnagyította a képet */
.ow-sec--intro .ow-prose .column_attr > p { max-width: 640px; }
.ow-sec--intro .ow-btns { margin-top: 40px; }
.ow-sec--intro .ow-head, .ow-sec--about .ow-head { margin-bottom: 28px; } /* cím → első bekezdés: egységes a hasonló szöveg + kép blokkokban */

/* pipás lista [ow_checklist] */
ul.ow-checklist { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px 32px; margin: 32px 0; padding: 0; list-style: none; }
ul.ow-checklist--c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
ul.ow-checklist--c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* a felette lévő bekezdéssel azonos méret (spec: 18px), a pipa-kocka a sor első sorához igazítva */
ul.ow-checklist > li { display: flex; align-items: flex-start; gap: 14px; margin: 0; color: var(--ow-heading); font-size: var(--ow-fs-body, 18px); line-height: 1.5; }
.ow-checklist svg { flex: none; box-sizing: border-box; width: 24px; height: 24px; margin-top: calc((1.5em - 24px) / 2); padding: 4px; background: var(--ow-navy); color: var(--ow-orange); stroke-width: 2.4; stroke-linecap: square; stroke-linejoin: miter; }

/* ---------------------------------------------------------------- 15. Hosszú szöveg + ragadós oldalsáv (szolgáltatás-menü, kapcsolat-doboz) */
.ow-sec--longform > .section_wrapper > .mcb-wrap.two-third { grid-column: 1 / span 7; }
.ow-sec--longform > .section_wrapper > .mcb-wrap.one-third { grid-column: 9 / -1; }
.ow-prose--long { max-width: 760px; }
.ow-prose--long h2 { margin: 72px 0 20px; color: var(--ow-heading); font-size: var(--ow-fs-h2, 38px); line-height: var(--ow-lh-h2, 1.316em); font-weight: var(--ow-fw-medium, 500); }
.ow-prose--long h2::before { content: ""; display: block; width: 40px; height: 3px; margin-bottom: 24px; background: var(--ow-orange); }
.ow-prose--long .column_attr > h2:first-child { margin-top: 0; }
.ow-prose--long h3 { margin: 40px 0 16px; color: var(--ow-heading); font-size: var(--ow-fs-h3, 24px); line-height: var(--ow-lh-h3, 1.417em); font-weight: var(--ow-fw-medium, 500); }
.ow-prose--long p { margin: 0 0 20px; color: var(--ow-text); font-size: var(--ow-fs-body, 18px); line-height: var(--ow-lh-body, 1.667em); }
.ow-prose--long p:last-child { margin-bottom: 0; }

/* oldalsáv: szolgáltatás-menü [ow_service_nav] */
.ow-aside > .mcb-column-inner > .column_attr { display: flex; flex-direction: column; gap: 32px; }
.ow-aside > .mcb-column-inner > .column_attr::before, .ow-aside > .mcb-column-inner > .column_attr::after { content: none; display: none; } /* clearfix ne legyen rács-/flexelem */
/* a teljes oldalsáv (menü + doboz ≈ 900px) sok képernyőnél magasabb → bármilyen magasságon: a menü együtt görög az oldallal,
   csak a kapcsolat-doboz ragad, így az „Árajánlatkérés” gomb mindig látszik. Ehhez az oldalsáv a hasáb teljes magasságát kitölti
   (wrap → oszlop → belső → column_attr: 100%; a wrap nyújtását a base.css .ow-sticky szabálya adja), a doboz ebben a sávban ragad. */
@media screen and (min-width: 992px) {
  .ow-aside.ow-sticky { position: relative; top: auto; align-self: stretch; }
  .ow-aside, .ow-aside > .mcb-column-inner, .ow-aside > .mcb-column-inner > .column_attr { box-sizing: border-box; height: 100%; }
  .ow-aside .ow-cbox { position: sticky; top: calc(var(--ow-header-h-sticky, 80px) + 32px); }
  .admin-bar .ow-aside .ow-cbox { top: calc(var(--ow-header-h-sticky, 80px) + 64px); }
}
.ow-snav__title { margin: 0 0 12px; color: var(--ow-heading); font-size: var(--ow-fs-text-200, 18px); font-weight: var(--ow-fw-bold, 700); line-height: 1.2; }
.ow-snav ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ow-border); }
.ow-snav ul > li { margin: 0; border-bottom: 1px solid var(--ow-border); }
.ow-snav a {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 16px 16px 0;
  color: var(--ow-heading); font-size: var(--ow-fs-text-100, 16px); line-height: 1.35; text-decoration: none;
  transition: color var(--ow-dur, .3s), background-color var(--ow-dur, .3s), padding var(--ow-dur, .3s);
}
.ow-snav a svg { flex: none; color: var(--ow-grey-400); transition: transform var(--ow-dur, .3s), color var(--ow-dur, .3s); }
.ow-snav a:hover { padding-left: 8px; color: var(--ow-navy); }
.ow-snav a:hover svg { transform: translateX(4px); color: var(--ow-orange-text); }
.ow-snav ul > li.is-current { border-bottom-color: var(--ow-navy); }
.ow-snav ul > li.is-current a { padding-left: 16px; background: var(--ow-navy); color: var(--ow-white); font-weight: var(--ow-fw-medium, 500); }
.ow-snav ul > li.is-current a svg { color: var(--ow-orange); }

/* oldalsáv: kapcsolat-doboz [ow_contact_box] */
.ow-cbox { display: flex; flex-direction: column; align-items: flex-start; padding: 40px 32px; background: var(--ow-navy); color: var(--ow-white); }
.ow-cbox__title { margin: 0 0 8px; color: var(--ow-white); font-size: var(--ow-fs-display-4, 28px); line-height: 1.3; font-weight: var(--ow-fw-medium, 500); }
.ow-cbox__text { margin: 0 0 24px; color: var(--ow-grey-200); font-size: var(--ow-fs-text-100, 16px); line-height: 1.6; }
.ow-cbox__line {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 0; border-top: 1px solid var(--ow-line-on-dark);
  color: var(--ow-white); font-size: var(--ow-fs-text-200, 18px); font-weight: var(--ow-fw-medium, 500); line-height: 1.3; text-decoration: none; overflow-wrap: anywhere;
  transition: color var(--ow-dur, .3s);
}
.ow-cbox__line svg { flex: none; color: var(--ow-orange); }
.ow-cbox__line:hover { color: var(--ow-orange); }
.ow-cbox .ow-btn { margin-top: 24px; }

/* ---------------------------------------------------------------- 16. Széles kép képaláírással */
.ow-sec--figure .ow-image img { aspect-ratio: var(--ow-ratio, 16 / 7); }

/* ---------------------------------------------------------------- 17. GYIK [ow_faq] (Contact V3: ragadós fej balra, harmonika jobbra) */
.ow-sec--faq > .section_wrapper > .mcb-wrap.two-fifth { grid-column: 1 / span 4; }
.ow-sec--faq > .section_wrapper > .mcb-wrap.three-fifth { grid-column: 6 / -1; }
.ow-faq { border-top: 1px solid var(--ow-border); }
.ow-faq__item { border-bottom: 1px solid var(--ow-border); }
.ow-faq__item > summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 32px 0; list-style: none; cursor: pointer; }
.ow-faq__item > summary::-webkit-details-marker { display: none; }
.ow-faq__item > summary::marker { content: ""; }
/* hoverre csak a kérdés csúszik 6px-et (sablon) – a kör ikon a helyén marad, nem lóg ki a konténerből */
.ow-faq__q { margin: 0; color: var(--ow-heading); font-size: var(--ow-fs-display-4, 28px); line-height: 1.3; font-weight: var(--ow-fw-medium, 500); transition: color var(--ow-dur, .3s), transform var(--ow-dur, .3s) var(--ow-ease, ease); }
.ow-faq__item > summary:hover .ow-faq__q { transform: translateX(6px); }
.ow-faq__item > summary:hover .ow-faq__q { color: var(--ow-grey-500); }
.ow-faq__icon { position: relative; flex: none; width: 40px; height: 40px; margin-top: -2px; border: 1px solid var(--ow-border); border-radius: 50%; transition: background-color var(--ow-dur, .3s), border-color var(--ow-dur, .3s); }
.ow-faq__icon::before, .ow-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.5px; margin: -.75px 0 0 -7px; background: var(--ow-navy); transition: transform var(--ow-dur, .3s) var(--ow-ease, ease), background-color var(--ow-dur, .3s); }
.ow-faq__icon::after { transform: rotate(90deg); }
.ow-faq__item[open] .ow-faq__icon { background: var(--ow-orange); border-color: var(--ow-orange); }
.ow-faq__item[open] .ow-faq__icon::after { transform: rotate(0deg); }
.ow-faq__item.is-closing .ow-faq__icon { background: transparent; border-color: var(--ow-border); }
.ow-faq__item.is-closing .ow-faq__icon::after { transform: rotate(90deg); }
.ow-faq__a { box-sizing: border-box; overflow: hidden; max-width: 784px; padding: 0 72px 32px 0; }
.ow-faq__a p { margin: 0 0 12px; color: var(--ow-text); font-size: var(--ow-fs-body, 18px); line-height: var(--ow-lh-body, 1.667em); }
.ow-faq__a p:last-child { margin-bottom: 0; }

/* ---------------------------------------------------------------- 18. Kapcsolódó szolgáltatások: fej + 3 kártya */
.ow-sec--related { --ow-row-gap: 56px; }

/* ---------------------------------------------------------------- 19. Rólunk: balra kifutó kép + szöveg + számok; előnyök; csapat */
.ow-sec--about > .section_wrapper { align-items: center; }
.ow-sec--about > .section_wrapper > .mcb-wrap.one-second { grid-column: 8 / -1; }
.ow-sec--about > .section_wrapper > .mcb-wrap.ow-about__media { grid-column: 1 / span 6; }
.ow-about__media .ow-image { margin-left: calc(-1 * var(--ow-bleed)); }
.ow-about__media .ow-image img { aspect-ratio: 1 / 1; max-height: 820px; }
.ow-sec--about .ow-prose p { max-width: 560px; }
.ow-sec--features { --ow-row-gap: 56px; }
.ow-sec--team { --ow-row-gap: 56px; }

/* csapattag [ow_member] – álló portré (600×730) */
figure.ow-member { position: relative; display: flex; flex-direction: column; box-sizing: border-box; height: 100%; margin: 0; padding-bottom: 32px; border-bottom: 1px solid var(--ow-border); }
.ow-member::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--ow-orange); transform: scaleX(0); transition: transform .4s var(--ow-ease, ease); }
.ow-member:hover::after { transform: scaleX(1); }
.ow-member__photo { overflow: hidden; margin-bottom: 24px; aspect-ratio: 600 / 730; background: var(--ow-grey-50); }
/* a portrék (illusztrációk) fehér háttere a lap színét veszi fel → egységes csempék világos és szürke szekcióban is */
.ow-member__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; mix-blend-mode: multiply; transition: transform .5s var(--ow-ease, ease), filter .5s var(--ow-ease, ease); }
.ow-sec--soft .ow-member__photo { background: var(--ow-white); }
.ow-member:hover .ow-member__photo img { transform: scale(var(--ow-img-zoom, 1.04)); filter: saturate(var(--ow-img-saturate, 1.25)); }
.ow-member figcaption { display: flex; flex-direction: column; gap: 6px; }
.ow-member__name { color: var(--ow-heading); font-size: var(--ow-fs-display-4, 28px); line-height: 1.25; font-weight: var(--ow-fw-medium, 500); }
.ow-member__role { color: var(--ow-orange-text); font-size: var(--ow-fs-text-200, 18px); font-weight: var(--ow-fw-medium, 500); line-height: 1.3; }
.ow-member__bio { margin-top: 8px; color: var(--ow-text); font-size: var(--ow-fs-text-100, 16px); line-height: 1.6; }
.ow-member__links { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.ow-member__links a { display: inline-flex; align-items: center; gap: 10px; min-width: 0; color: var(--ow-heading); font-size: var(--ow-fs-text-100, 16px); line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; transition: color var(--ow-dur, .3s); }
.ow-member__links svg { flex: none; color: var(--ow-orange-text); }
.ow-member__links a:hover { color: var(--ow-grey-500); }

/* ---------------------------------------------------------------- 20. Kapcsolat: ragadós fej + elérhetőség-kártyák | űrlapkártya (szürke panel a képernyő széléig) */
.ow-sec--contact > .section_wrapper > .mcb-wrap.two-fifth { grid-column: 1 / span 5; }
.ow-sec--contact > .section_wrapper > .mcb-wrap.ow-contact__form { grid-column: 7 / -1; }
ul.ow-contact--cards { display: grid; gap: 12px; margin: 40px 0 0; padding: 0; list-style: none; }
ul.ow-contact--cards > li {
  display: flex; align-items: center; gap: 20px; margin: 0; padding: 20px 24px; border: 1px solid var(--ow-border); background: var(--ow-white);
  transition: border-color var(--ow-dur, .3s);
}
ul.ow-contact--cards > li:hover { border-color: var(--ow-navy); }
.ow-contact--cards .ow-contact__icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; background: var(--ow-navy); color: var(--ow-orange); }
.ow-contact--cards .ow-contact__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ow-contact--cards small { color: var(--ow-text); font-size: 14px; line-height: 1.3; }
.ow-contact--cards a, .ow-contact--cards .ow-contact__body { color: var(--ow-heading); font-size: var(--ow-fs-text-300, 20px); font-weight: var(--ow-fw-medium, 500); line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
.ow-contact--cards small { font-weight: var(--ow-fw-regular, 400); }
.ow-contact--cards a:hover { color: var(--ow-grey-500); }
.ow-formcard { position: relative; isolation: isolate; box-sizing: border-box; padding: 64px 0 72px 64px; }
.ow-formcard::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 0; right: calc(-1 * var(--ow-bleed)); background: var(--ow-grey-50); }
.ow-form__title { margin: 0 0 32px; color: var(--ow-heading); font-size: var(--ow-fs-display-3, 34px); line-height: var(--ow-lh-display-3, 1.294em); font-weight: var(--ow-fw-medium, 500); }

/* ==========================================================================
   Kisebb asztali (≤1199px)
   ========================================================================== */
@media screen and (max-width: 1199px) {
  /* hero: keskenyebb, fix jobb hasáb – a gombok egymás alá kerülnek, de nem törnek két sorba; az 1024×768-as tableten a számok is beférnek */
  .ow-hero__inner { gap: 40px; padding-top: calc(var(--ow-header-h, 107px) + 48px); padding-bottom: 56px; }
  .ow-hero__side { flex-basis: 340px; }
  .ow-hero__title { font-size: 56px; } /* „úttartozékok – online” így 3 sorban marad a ~560–600px-es hasábban */
  /* számok + lapozó egy sorban férjenek el (különben a lapozó új sorba és 768px magas kijelzőn a hajtás alá kerül) */
  .ow-hero__bottom { gap: 32px; }
  ul.ow-hero__stats { gap: 24px 32px; }
  .ow-hero__nav { gap: 8px; }
  .ow-hero__arrow { width: 56px; height: 56px; }
  .ow-hero__num { font-size: 64px; }
  .ow-hero__plus { font-size: 44px; }
  /* aloldal-hero: egy hasáb – a nagy cím ne szoruljon a bevezető melletti 424–632px-es hasábba (szó közepén tört) */
  .ow-phero__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ow-phero__side { max-width: 600px; }

  /* szolgáltatások: fej → széles fotó → kéthasábos lista */
  .ow-sec--services > .section_wrapper > .mcb-wrap:first-child { grid-column: 1 / -1; }
  .ow-sec--services > .section_wrapper > .mcb-wrap.ow-services__media { grid-column: 1 / -1; grid-row: 2; }
  .ow-sec--services > .section_wrapper > .mcb-wrap.ow-services__panel { grid-row: 3; }
  .ow-sec--services .ow-head--split { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .ow-sec--services .ow-head--split .ow-head__side { justify-self: end; }
  .ow-services__media .ow-image img { aspect-ratio: 2 / 1; }
  .ow-services__media::before { content: none; }
  .ow-services__panel::before { top: calc(-1 * var(--ow-row-gap) - 120px); } /* teljes szélességű sáv a fotó alja mögött */
  .ow-services__list { padding-top: 0; }
  .ow-service__title { font-size: 24px; }
  .ow-service__text { font-size: var(--ow-fs-text-100, 16px); }
  .ow-service { gap: 8px 18px; }
  ul.ow-cats { gap: 20px; }
  .ow-cat__body { padding: 28px 22px 24px; }
  .ow-cat__title { font-size: 22px; }
  blockquote.ow-testimonial__quote { font-size: 22px; } /* a ~220px-es kártyaszövegben a 28px-es idézet szót törne */

  /* CTA: egy hasáb – a display-1 cím ne szoruljon a gombok mellé („?” ne kerüljön külön sorba) */
  .ow-cta__inner { grid-template-columns: minmax(0, 1fr); }
  .ow-cta .ow-btns { justify-content: flex-start; }

  /* lépések: fej felül teljes szélességben (gombok egy sorban), alatta a 2×2 lépcső szélesebb hasábokban */
  .ow-sec--steps > .section_wrapper > .mcb-wrap.one-third, .ow-sec--steps > .section_wrapper > .mcb-wrap.two-third { grid-column: 1 / -1; }
  .ow-sec--steps .ow-btns .ow-btn { padding: var(--ow-btn-pad); }

  /* pipás lista: a keskeny bevezető hasábban egy oszlop */
  ul.ow-checklist--c2 { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Tablet (≤991px)
   ========================================================================== */
@media screen and (max-width: 991px) {
  :where(#Content) .mcb-section.ow-sec { --ow-row-gap: 48px; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.tablet-one { grid-column: 1 / -1; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.tablet-one-second { grid-column: span 6; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.tablet-one-third { grid-column: span 4; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.tablet-two-third { grid-column: span 8; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.tablet-one-fourth { grid-column: span 3; }

  /* hero */
  /* egymás alatti elrendezés: a dia kitölti a cellát, a tartalom alulra igazodik → lapozáskor a gombok helye nem ugrál */
  .ow-hero__inner { align-self: stretch; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 32px; padding-top: calc(var(--ow-header-h, 88px) + 56px); padding-bottom: 56px; }
  .ow-hero__main, .ow-hero__side { flex: none; width: 100%; max-width: 640px; }
  .ow-hero__title { min-height: 0; font-size: min(var(--ow-fs-display-1, 64px), 64px); }
  .ow-hero__num { font-size: var(--ow-fs-display-1, 64px); }
  .ow-hero__plus { font-size: var(--ow-fs-display-2, 48px); }
  .ow-hero .ow-btn { padding: var(--ow-btn-pad); }
  .ow-hero__line { width: 100px; margin-left: 12px; }
  .ow-hero__bottom { flex-direction: column; align-items: flex-start; gap: 32px; padding-bottom: 48px; }
  ul.ow-hero__stats { gap: 24px 48px; }
  .ow-phero__inner { padding-top: calc(var(--ow-header-h, 88px) + 24px); padding-bottom: 64px; }

  /* miért / számok */
  .ow-sec--why .ow-why__text { max-width: none; }
  .ow-why__stats > .mcb-wrap-inner, .ow-why__stats .ow-stats { justify-content: flex-start; }
  .ow-sec--why .ow-featwrap { margin-top: 16px; }

  /* szolgáltatások: kép felül (szélesebb arány), alatta az egy hasábos lista teljes szélességű szürke sávban */
  .ow-sec--services > .section_wrapper > .mcb-wrap.ow-services__media { margin-bottom: -48px; }
  .ow-sec--services > .section_wrapper > .mcb-wrap.ow-services__panel { display: flex; }
  .ow-sec--services .ow-head--split { grid-template-columns: minmax(0, 1fr); }
  .ow-sec--services .ow-head--split .ow-head__side { justify-self: start; }
  .ow-services__panel::before { top: -48px; }
  .ow-services__media .ow-image img { aspect-ratio: 16 / 9; }
  .ow-services__list { padding: 56px 0 0; }

  ul.ow-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* CTA */
  .ow-cta { padding: 120px 40px 132px 0; }
  .ow-cta__text { margin-top: 16px; }

  /* lépések, vélemények, GYIK, kapcsolat, bevezető, rólunk: a wrapek tablet-one osztálya miatt egy oszlop (fenti általános szabály) */
  ol.ow-steps { --ow-step-rise: 96px; }
  .ow-step { padding: 0 24px 40px; }
  .mcb-section.ow-sec--testimonials::before { left: 0; bottom: 0; } /* egy hasábban a panel a kártyák alá is kiér (ne érjen véget egy kártya közepén) */
  .ow-testimonials { --ow-t-offset: 80px; }
  figure.ow-testimonial { min-height: 420px; }
  .ow-testimonial__body { padding: 32px; }

  .ow-sec--intro > .section_wrapper > .mcb-wrap.one-second { padding-right: 0; }
  .ow-intro__media .ow-image, .ow-about__media .ow-image { margin-inline: 0; }
  .ow-intro__media .ow-image img, .ow-about__media .ow-image img { aspect-ratio: 16 / 10; max-height: none; }
  .ow-prose--long { max-width: none; }
  .ow-aside > .mcb-column-inner > .column_attr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; }
  .ow-faq__a { padding-right: 56px; }
  .ow-formcard { padding: 56px 0 64px 0; }
  .ow-formcard::before { left: calc(-1 * var(--ow-bleed)); }
  .ow-card__media { margin-bottom: 24px; }
  .ow-sec--related .ow-card__title { font-size: var(--ow-fs-display-4, 22px); }
}

/* ==========================================================================
   Mobil fekvő (≤767px)
   ========================================================================== */
@media screen and (max-width: 767px) {
  :where(#Content) .mcb-section.ow-sec { --ow-row-gap: 40px; }
  /* 11 × 28px oszlopköz keskeny kijelzőn túl széles lenne (320px-en kifolyik) */
  :where(#Content) .mcb-section.ow-sec:not(.full-width) > .section_wrapper { column-gap: 16px; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.mobile-one { grid-column: 1 / -1; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.mobile-one-second { grid-column: span 6; }

  .ow-hero__inner { padding-bottom: 40px; }
  .ow-hero__bottom { padding-bottom: 40px; }
  ul.ow-hero__stats { gap: 16px 32px; }
  .ow-hero__line { width: 80px; }
  .ow-hero__arrow { width: 56px; height: 56px; }
  .ow-phero { min-height: 0; }
  .ow-phero__inner { gap: 48px; padding-bottom: 56px; }

  ul.ow-stats { gap: 32px 48px; }
  .ow-feature { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 20px; padding: 24px 0 0; }
  .ow-feature__icon { grid-row: span 2; width: 48px; height: 48px; margin: 0; }
  .ow-feature__icon svg { width: 24px; height: 24px; }
  .ow-sec--why .ow-featwrap { margin-top: 0; }

  .ow-services__list { padding-top: 48px; }
  .ow-service { grid-template-columns: auto minmax(0, 1fr); gap: 8px 18px; padding: 28px 0; }
  .ow-service__icon { width: 48px; height: 48px; }
  .ow-service__arrow { display: none; }

  /* kategóriák: 1 oszlop, kompakt (ikon balra) */
  ul.ow-cats { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .ow-cat__body { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 20px; padding: 24px 20px; }
  .ow-cat__icon { grid-row: 1 / span 3; width: 56px; height: 56px; margin: 0; }
  .ow-cat__text { margin-bottom: 16px; }
  .ow-cat__more { grid-column: 2; padding-top: 14px; }

  .ow-cta { padding: 96px 24px 104px 0; }

  /* lépések: egy oszlopos átlós "lépcső" */
  ol.ow-steps { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-bottom: 0; }
  .ow-steps > .ow-step:nth-child(odd) { translate: none; }
  ol.ow-steps > li.ow-step { margin-left: calc((var(--i, 1) - 1) * 6%); margin-right: calc((4 - var(--i, 1)) * 6%); }
  .ow-steps > .ow-step:nth-child(1) { --i: 1; }
  .ow-steps > .ow-step:nth-child(2) { --i: 2; }
  .ow-steps > .ow-step:nth-child(3) { --i: 3; }
  .ow-steps > .ow-step:nth-child(n+4) { --i: 4; }
  .ow-step { padding: 0 0 32px; }

  /* vélemények: vízszintesen húzható sor a képernyő széléig */
  .ow-testimonials {
    display: flex; gap: 16px; padding: 0 var(--ow-bleed) 8px 0; margin-right: calc(-1 * var(--ow-bleed));
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: 0; scrollbar-width: none; overscroll-behavior-x: contain;
  }
  .ow-testimonials::-webkit-scrollbar { display: none; }
  .ow-tdots { display: flex; flex-wrap: wrap; margin: 8px 0 -12px; }
  .ow-testimonials > .ow-testimonial:nth-child(n) { flex: 0 0 min(84%, 420px); scroll-snap-align: start; translate: none; }
  figure.ow-testimonial { min-height: 400px; }
  blockquote.ow-testimonial__quote { font-size: 20px; }
  .mcb-section.ow-sec--testimonials::before { bottom: 55%; }

  .ow-sec--cards { --ow-row-gap: 56px; }
  ul.ow-checklist--c2, ul.ow-checklist--c3 { grid-template-columns: minmax(0, 1fr); }
  .ow-aside > .mcb-column-inner > .column_attr { display: flex; align-items: stretch; }
  .ow-faq__item > summary { gap: 20px; padding: 24px 0; }
  .ow-faq__item > summary:hover .ow-faq__q { transform: none; }
  .ow-faq__icon { width: 36px; height: 36px; }
  .ow-faq__a { padding: 0 0 24px; }
  .ow-prose--long h2 { margin-top: 56px; }
  .ow-prose .ow-stats { gap: 28px 24px; }
  .ow-formcard { padding: 48px 0 56px; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.ow-memberwrap { grid-column: span 6; } /* 480–767px: 2 oszlop */
}

/* ==========================================================================
   Mobil álló (≤479px)
   ========================================================================== */
@media screen and (max-width: 479px) {
  :where(#Content) .mcb-section.ow-sec:not(.full-width) > .section_wrapper { column-gap: 8px; }
  .ow-hero__inner { padding-top: calc(var(--ow-header-h, 80px) + 40px); }
  .ow-hero__line { width: 64px; height: 3px; margin-left: 8px; }
  ul.ow-hero__stats { gap: 12px 18px; }
  .ow-hero__label { max-width: 7.5em; font-size: 14px; line-height: 1.25; }
  .ow-hero__plus { font-size: 26px; }
  /* teljes szélességű gombok: hosszabb felirat is törhet, ne lógjon ki */
  .ow-hero .ow-btn { padding-inline: 20px; white-space: normal; }
  .ow-hero__nav { width: 100%; justify-content: space-between; gap: 4px; }
  .ow-hero__arrow { width: 52px; height: 52px; }
  .ow-hero__dot { width: 24px; } /* min. 24px széles cél (WCAG 2.5.8) */
  .ow-hero__toggle { width: 40px; height: 40px; margin-right: 0; }
  .ow-hero__dot.is-active { width: 40px; }
  .ow-phero__inner { padding-bottom: 48px; }
  .ow-crumbs { font-size: 14px; }

  .ow-stats__value { font-size: var(--ow-fs-display-2, 34px); }
  .ow-stats__suffix { font-size: 26px; }
  .ow-stats__label { font-size: 16px; }

  .ow-cta { padding: 80px 16px 88px 0; }
  .ow-step__num { font-size: 40px; }
  .ow-testimonial__body { padding: 24px; }
  .ow-cbox { padding: 32px 24px; }
  ul.ow-contact--cards > li { padding: 16px; gap: 16px; }
  .ow-contact--cards .ow-contact__icon { width: 44px; height: 44px; }
  .ow-contact--cards a, .ow-contact--cards .ow-contact__body { font-size: 18px; }
  :where(#Content) .ow-sec > .section_wrapper > .mcb-wrap.ow-memberwrap { grid-column: 1 / -1; }
  /* csapattag: kompakt sor (kis portré balra) */
  figure.ow-member { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 0 18px; align-items: start; padding-bottom: 24px; }
  .ow-member__photo { margin: 0; }
  .ow-member__links { margin-top: 10px; }
}

/* kis telefon (≤359px, pl. 320/344px): a hero lapozója és a cím utolsó szava + díszvonal is férjen ki a 16px-es margók között */
@media screen and (max-width: 359px) {
  .ow-hero__title { font-size: 32px; }
  .ow-hero__line { width: 40px; }
  .ow-hero__arrow { width: 44px; height: 44px; }
  .ow-hero__dots { padding: 0; }
}

/* mozgáscsökkentés: az időtartamokat a base.css nullázza; itt a mozgó hover-eltolások ki */
@media (prefers-reduced-motion: reduce) {
  .ow-faq__item > summary:hover .ow-faq__q, .ow-image img, .ow-hero__slide .ow-hero__inner { transform: none; }
  .ow-hero__slide img.ow-hero__bg, .ow-hero__main, .ow-hero__side, .ow-hero__stats, .ow-hero__nav { animation: none; }
}

/* ---------------------------------------------------------------- Finomhangolás (QA 2. kör)
   – hosszú utolsó szó + díszvonal a hero-ban 480–499px között se lógjon a margóba
   – címek tördelése: kiegyensúlyozott / „szép” sorok, ne maradjon egy szó egyedül
   – Kapcsolat: alacsony képernyőn (≤819px magas) a bal oszlop ne ragadjon, mert magasabb a képernyőnél */
@media screen and (min-width: 480px) and (max-width: 499px) {
  .ow-hero__line { width: 64px; height: 3px; margin-left: 8px; }
}
.ow-phero__title, .ow-cta__title { text-wrap: balance; }
.ow-prose h2, .ow-faq__q, .ow-card__title, .ow-service__title { text-wrap: pretty; }
@media screen and (min-width: 992px) and (max-height: 819px) {
  .ow-sec--contact .ow-sticky, .ow-sec--contact .mcb-wrap:has(> .mcb-wrap-inner > .ow-sticky) { position: static; }
}

/* ---------------------------------------------------------------- Pályázati oldal + Széchenyi Terv Plusz infoblokk
   A támogatói infoblokk kötelező arculati elem: vágás, színszűrő, nagyítás nélkül (ow-image--logo). */
.ow-image--logo, .ow-image--logo img { overflow: visible; }
.ow-image--logo img, html.ow-js-reveal .ow-image--logo img { height: auto; object-fit: contain; filter: none; transform: none; background: none; box-shadow: 0 0 0 1px var(--ow-grey-300); }
.ow-sec--project .ow-project__logo { align-self: start; }
@media screen and (min-width: 992px) { .ow-sec--project .ow-project__logo { padding-top: 8px; } }
/* aloldal-hero oldalhasáb nélkül: a cím a teljes szélességet használhatja (hosszú címek ne tördelődjenek 5 sorba) */
.ow-phero__grid > .ow-phero__main:only-child { grid-column: 1 / -1; max-width: 1080px; }
dl.ow-facts { margin: 32px 0; border-top: 1px solid var(--ow-grey-300); }
dl.ow-facts > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 8px 32px; padding: 18px 0; border-bottom: 1px solid var(--ow-grey-300); }
dl.ow-facts dt { margin: 0; color: var(--ow-text); font-size: var(--ow-fs-text-100, 16px); line-height: 1.5; }
dl.ow-facts dd { margin: 0; color: var(--ow-heading); font-weight: var(--ow-fw-medium, 500); line-height: 1.5; overflow-wrap: anywhere; }
.ow-sec--project .ow-head__title { font-size: var(--ow-fs-h2, 38px); line-height: var(--ow-lh-h2, 1.316em); }
@media screen and (max-width: 767px) {
  dl.ow-facts > div { grid-template-columns: 1fr; gap: 4px; padding: 14px 0; }
  .ow-sec--project .ow-head__title { font-size: 28px; }
}

/* fix infoblokk a bal alsó sarokban – előírás: min. 64 px magas, görgetés nélkül látható (képarány 3,5 : 1)
   340 px → 97 px · 290 px → 83 px · 240 px → 69 px; alatta a hero statisztikái és a lábléc alsó sávja nem takarásban */
.ow-infoblokk { position: fixed; left: 0; bottom: 0; z-index: 600; display: block; width: 340px; line-height: 0;
  box-shadow: 0 8px 28px rgba(11, 13, 42, .18); transition: transform var(--ow-dur, .3s) var(--ow-ease, ease); }
.ow-infoblokk img { display: block; width: 100%; height: auto; }
.ow-infoblokk:hover { transform: translateY(-2px); }
.ow-infoblokk:focus-visible { outline: 3px solid var(--ow-orange, #F38F2E); outline-offset: 2px; }
body.side-slide-is-open .ow-infoblokk { visibility: hidden; }
.ow-has-infoblokk .ow-hero__bottom { padding-bottom: calc(97px + 32px); }
.ow-has-infoblokk .ow-footer-bottom .column_attr { padding-bottom: 112px; }
@media screen and (max-width: 991px) {
  .ow-infoblokk { width: 290px; }
  .ow-has-infoblokk .ow-hero__bottom { padding-bottom: calc(83px + 28px); }
  .ow-has-infoblokk .ow-footer-bottom .column_attr { padding-bottom: 100px; }
}
@media screen and (max-width: 767px) {
  .ow-infoblokk { width: 240px; }
  /* mobilon a hero magasabb a képernyőnél: a vezérlők a statisztikák fölé kerülnek, így az első képernyőn az infoblokk nem takarja őket */
  .ow-has-infoblokk .ow-hero__nav { order: -1; }
  .ow-has-infoblokk .ow-hero__bottom { padding-bottom: calc(69px + 24px); }
  .ow-has-infoblokk .ow-footer-bottom .column_attr { padding-bottom: 84px; }
}
@media print { .ow-infoblokk { display: none; } }

/* ---------------------------------------------------------------- Csapattag fotó nélkül: monogram (a képek később érkeznek) */
.ow-member--nophoto .ow-member__photo { display: flex; align-items: center; justify-content: center; background: var(--ow-navy, #11143E); }
.ow-sec--soft .ow-member--nophoto .ow-member__photo { background: var(--ow-navy, #11143E); }
.ow-member__initials { color: var(--ow-white, #fff); font-size: clamp(40px, 6vw, 88px); font-weight: var(--ow-fw-medium, 500); line-height: 1; letter-spacing: .02em; }
.ow-member__initials::after { content: ""; display: block; width: 40px; height: 3px; margin: 18px auto 0; background: var(--ow-orange, #F38F2E); }
@media screen and (max-width: 767px) {
  .ow-member__initials { font-size: 34px; }
  .ow-member__initials::after { width: 24px; height: 2px; margin-top: 10px; }
}
