
/* FŐOLDAL: csak a főoldal saját elrendezése; közös alapok és elemek külön fájlban. Az aloldalak nem töltik be. */
body,html {
  overflow-x: clip;
}
body {
  margin: 0;
  font-family: Jost,system-ui,sans-serif;
  font-size: 18px;
  line-height: 1.55;
  color: var(--ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
.drop-btn,.nav a {
  text-decoration: none;
  font-weight: 500;
  font-size: 17px;
}
.drop-btn:hover,.nav>ul>li>a:hover {
  color: var(--green);
}
.drop-btn {
  background: 0 0;
  border: 0;
  font-family: inherit;
  color: inherit;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.has-drop.open .drop,.has-drop:focus-within .drop,.has-drop:hover .drop {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.burger {
  display: none;
  background: 0 0;
  border: 0;
  color: var(--ink);
  cursor: pointer;
}
.hero {
  padding: 56px 0 140px;
  min-height: 680px;
  position: relative;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(760px 560px at 78% 42%,rgba(35,150,26,.55),transparent 70%),radial-gradient(420px 300px at 30% 10%,rgba(176,230,41,.1),transparent 70%),radial-gradient(500px 360px at 95% 95%,rgba(20,120,90,.18),transparent 70%),radial-gradient(520px 420px at 0 100%,rgba(176,230,41,.12),transparent 70%),linear-gradient(160deg,#12670C 0,#12670C 55%,#12670C 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(176,230,41,.2) 1.2px,transparent 1.3px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(620px 520px at 78% 45%,#000,transparent 75%);
  mask-image: radial-gradient(620px 520px at 78% 45%,#000,transparent 75%);
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(7,44,5,.78) 0,rgba(7,44,5,.5) 38%,rgba(7,44,5,0) 62%);
}
.hero .btn-outline {
  border-color: rgba(255,255,255,.55);
  color: #fff;
  background: 0 0;
}
.pl.pale {
  background: radial-gradient(circle at 34% 30%,#fff 0,#e6efd8 45%,#a9c592 100%);
}
.pl.lime {
  background: radial-gradient(circle at 34% 30%,#f3fcc9 0,#B0E629 50%,#12670C 100%);
}
.card {
  position: relative;
  background: #fff;
  border: 1px solid #ecefe8;
  border-radius: 24px;
  padding: 26px 26px 60px;
  box-shadow: var(--sh1);
  transition: transform .35s var(--ease),box-shadow .35s var(--ease),opacity .7s var(--ease);
  overflow: hidden;
}
@media(hover:hover) {
  .card:hover {
    transform: translateY(-6px);
    box-shadow: var(--sh2);
  }
}
@media(hover:hover) {
  .card:hover::before {
    transform: scaleX(1);
  }
}
@media(hover:hover) {
  .card:hover .tile {
    transform: rotate(-6deg) scale(1.05);
  }
}
@media(hover:hover) {
  .card:hover .arrow {
    background: var(--green);
    color: #fff;
    transform: translateX(4px);
  }
}
.out-band {
  position: relative;
  overflow: hidden;
  margin-top: 28px;
  border-radius: 30px;
  padding: 48px 52px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 48px;
  align-items: center;
  color: #fff;
  background: radial-gradient(600px 400px at 100% 0,rgba(176,230,41,.16),transparent 60%),linear-gradient(150deg,#12670C,#12670C);
  box-shadow: var(--sh2);
}
.cards.three .card {
  background: radial-gradient(400px 260px at 100% 0,rgba(176,230,41,.14),transparent 60%),linear-gradient(150deg,#12670C,#12670C);
  color: #fff;
  border: 0;
  box-shadow: 0 24px 48px -24px rgba(7,44,5,.7);
}
@media(hover:hover) {
  .cards.three .card:hover .arrow {
    background: var(--lime);
    color: var(--ink);
  }
}
.cards.four .card,.cards.six .card {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 4px 18px;
  align-items: start;
  padding: 22px 22px 22px 20px;
  background: linear-gradient(150deg,#fff 0,#f3f4f0 50%,#e8ebe4 100%);
  border-color: #e3e7de;
}
.cards.four .tile,.cards.six .tile {
  grid-row: span 3;
  width: 64px;
  height: 64px;
  margin: 0;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 30%,#12670C,#12670C 55%,#12670C);
  box-shadow: 0 12px 22px -12px rgba(7,44,5,.7);
  transition: background .3s,transform .35s var(--ease);
}
@media(hover:hover) {
  .cards.four .card:hover .tile,.cards.six .card:hover .tile {
    background: var(--lime);
    transform: none;
  }
}
.cards.four .tile .ico,.cards.six .tile .ico {
  filter: brightness(0) invert(1);
  transition: filter .3s;
  width: 50px;
  height: 50px;
}
.cards.four .tile .ico>circle:first-child[fill^=url],.cards.six .tile .ico>circle:first-child[fill^=url] {
  fill: transparent;
}
@media(hover:hover) {
  .cards.four .card:hover .tile .ico,.cards.six .card:hover .tile .ico {
    filter: none;
  }
}
.cards.four .card p,.cards.six .card p {
  font-size: 15px;
}
.cards.four .card .arrow,.cards.six .card .arrow {
  position: static;
  width: 30px;
  height: 30px;
  margin-top: 10px;
}
.cards.four .card::before,.cards.six .card::before {
  display: none;
}
.gather {
  position: relative;
  aspect-ratio: 1/.9;
  border-radius: 30px;
  background: radial-gradient(closest-side,rgba(176,230,41,.1),transparent),rgba(0,0,0,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
  overflow: hidden;
  container-type: inline-size;
}
.gchip.alert {
  align-items: center;
  gap: 9px;
  padding: 8px 13px 8px 8px;
  border-radius: 14px;
  background: #fff9ea;
  box-shadow: 0 16px 34px -12px rgba(0,0,0,.55),inset 0 0 0 1.5px #f2b233;
}
@keyframes shake {
  0%,100%,86% {
    translate: 0 0;
  }
  89% {
    translate: -3px 0;
  }
  92% {
    translate: 3px 0;
  }
  95% {
    translate: -2px 0;
  }
}
.meter .bar i {
  display: block;
  height: 100%;
  width: 88%;
  border-radius: 8px;
  background: linear-gradient(90deg,#f2b233,#e0621d);
  transition: width 1s var(--ease),background 1s;
}
.gchip:first-of-type {
  left: 6%;
  top: 21%;
  transform: rotate(-7deg);
}
.g-ctrl button {
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  border: 0;
  background: 0 0;
  color: #fff;
  padding: 7px 16px;
  border-radius: 999px;
  cursor: pointer;
}
.g-ctrl button[aria-pressed=true] {
  background: var(--lime);
  color: var(--ink);
}
/* Az egér és a mobilos koppintás ne állítsa le a teljes futósort.
   Billentyűzetes linkválasztás közben a sor megáll. */
.page-fooldal .marquee .track {
  animation-play-state: running;
}
.page-fooldal .marquee:has(a:focus-visible) .track {
  animation-play-state: paused;
}
.mk a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 26px 14px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #ecefe8;
  box-shadow: var(--sh1);
  text-decoration: none;
  font-size: 19px;
  font-weight: 500;
  white-space: nowrap;
  transition: .25s;
}
.era {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 16px;
  align-items: center;
  background: #fff;
  border: 1px solid #ecefe8;
  border-radius: 18px;
  padding: 12px 18px;
  box-shadow: var(--sh1);
}
.steps li {
  background: #fff;
  border: 1px solid #ecefe8;
  border-radius: 22px;
  padding: 22px 22px 20px;
  box-shadow: var(--sh1);
  position: relative;
}
.lstep.on {
  opacity: 1;
  background: #fff;
  border-color: #ecefe8;
  box-shadow: var(--sh1);
}
.logo-tile {
  width: 210px;
  height: 112px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid #ecefe8;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: var(--sh1);
}
.test>:not(.bg-o) {
  position: relative;
  z-index: 1;
}
.quiz button[aria-pressed=true] {
  border-color: var(--green);
  background: #e7f4c8;
  font-weight: 600;
}
.post {
  position: relative;
  background: #fff;
  border: 1px solid #ecefe8;
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px 26px 22px;
  box-shadow: var(--sh1);
  transition: transform .35s var(--ease),box-shadow .35s var(--ease);
}
input:focus,textarea:focus {
  border-color: var(--green);
  outline: 0;
  background: #fff;
}
@media (max-width:1100px) {
  .hero .wrap {
    grid-template-columns: 1fr;
  }
  .hero .system {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    max-width: 460px;
    margin: 10px auto 0;
  }
  .hero {
    min-height: 0;
    padding: 56px 0 110px;
  }
  .hero .system {
    position: absolute;
    right: -46%;
    top: -30px;
    width: 118vw;
    max-width: none;
    margin: 0;
    opacity: .85;
  }
  .hero::after {
    background: linear-gradient(180deg,rgba(7,44,5,0) 0,rgba(7,44,5,.55) 30%,rgba(7,44,5,.82) 60%);
  }
  .hero .wrap>.rv {
    padding-top: 84px;
  }
  .cards {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .cards.six,.cards.three {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .ai-top,.offer,.story {
    grid-template-columns: 1fr;
  }
  .facts .row {
    grid-template-columns: 1fr 1fr;
  }
  .facts .row>div:nth-child(3) {
    border-left: 0;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
  }
  .steps li::after {
    display: none;
  }
  .loop {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .lstep {
    opacity: 1;
  }
  .posts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .fgrid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width:860px) {
  .burger {
    display: block;
  }
  .site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: #fff;
  }
  .logo {
    font-size: 30px;
  }
  .nav {
    position: fixed;
    inset: 84px 0 0 0;
    background: var(--paper);
    flex-direction: column;
    align-items: stretch;
    padding: 24px 32px;
    gap: 22px;
    overflow: auto;
    display: none;
  }
  .nav.open {
    display: flex;
  }
  .nav>ul {
    flex-direction: column;
    gap: 18px;
  }
  .drop {
    position: static;
    width: auto;
    max-height: none;
    box-shadow: none;
    display: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    margin-top: 10px;
  }
  .has-drop.open .drop {
    display: block;
  }
  .has-drop:hover .drop {
    display: none;
  }
  .has-drop.open:hover .drop {
    display: block;
  }
  .sec {
    padding: 84px 0;
  }
  .markets .head {
    flex-wrap: wrap;
  }
  .ai-cols {
    grid-template-columns: 1fr;
  }
  .ai>.wrap {
    border-radius: 0;
    padding: 56px 22px;
  }
  .out-band {
    grid-template-columns: 1fr;
    padding: 36px 22px;
  }
  form {
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .test {
    padding: 36px 24px;
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .posts {
    grid-template-columns: 1fr;
  }
}
@media (max-width:560px) {
  .wrap {
    padding: 0 20px;
  }
  .cards,.cards.four,.cards.six,.cards.three,.steps {
    grid-template-columns: 1fr;
  }
  .facts .row {
    grid-template-columns: 1fr 1fr;
    border-radius: 18px;
  }
  .facts .row>div {
    padding: 12px 14px;
    gap: 8px;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .facts .row>div:nth-child(-n+2) {
    border-top: 0;
  }
  .facts .row>div:nth-child(2n) {
    border-left: 1px solid var(--line);
  }
  .facts b {
    font-size: 22px;
  }
  .facts span {
    font-size: 12.5px;
  }
  .fgrid {
    grid-template-columns: 1fr;
  }
  .mob-hide {
    display: none;
  }
  .pl.s {
    width: 32px;
    height: 32px;
  }
  .pl.m {
    width: 40px;
    height: 40px;
  }
  .pl.l {
    width: 46px;
    height: 46px;
  }
  .pl-lbl {
    display: none;
  }
  .gchip {
    font-size: 11.5px;
    padding: 5px 9px 5px 6px;
  }
  .gpill {
    font-size: 12px;
    padding: 6px 11px 6px 6px;
  }
  .gpill svg {
    width: 20px;
    height: 20px;
  }
}
.csillag-1 {
  left: 33.1%;
  top: 16.9%;
  width: 4px;
  height: 4px;
  animation-delay: .2s;
}
.csillag-2 {
  left: 80.8%;
  top: 11.7%;
  width: 3px;
  height: 3px;
  animation-delay: .2s;
}
.csillag-3 {
  left: 50.7%;
  top: 6.4%;
  width: 3px;
  height: 3px;
  animation-delay: 1.7s;
}
.csillag-4 {
  left: 25.1%;
  top: 53.7%;
  width: 2px;
  height: 2px;
  animation-delay: 3.3s;
}
.csillag-5 {
  left: 13.9%;
  top: 23.5%;
  width: 4px;
  height: 4px;
  animation-delay: 2.3s;
}
.csillag-6 {
  left: 7.9%;
  top: 56.9%;
  width: 2px;
  height: 2px;
  animation-delay: 3.9s;
}
.csillag-7 {
  left: 6.5%;
  top: 82%;
  width: 2px;
  height: 2px;
  animation-delay: 1.7s;
}
.csillag-8 {
  left: 53.9%;
  top: 55.5%;
  width: 3px;
  height: 3px;
  animation-delay: 3.3s;
}
.csillag-9 {
  left: 19.3%;
  top: 56.5%;
  width: 4px;
  height: 4px;
  animation-delay: .8s;
}
.csillag-10 {
  left: 11.4%;
  top: 68.5%;
  width: 3px;
  height: 3px;
  animation-delay: .2s;
}
.csillag-11 {
  left: 21.8%;
  top: 65.6%;
  width: 3px;
  height: 3px;
  animation-delay: 3.1s;
}
.csillag-12 {
  left: 46.7%;
  top: 88%;
  width: 2px;
  height: 2px;
  animation-delay: 1.2s;
}
.csillag-13 {
  left: 78.3%;
  top: 67.3%;
  width: 2px;
  height: 2px;
  animation-delay: .3s;
}
.csillag-14 {
  left: 30.8%;
  top: 48.6%;
  width: 2px;
  height: 2px;
  animation-delay: 2.9s;
}
.csillag-15 {
  left: 29.6%;
  top: 93.2%;
  width: 2px;
  height: 2px;
  animation-delay: 2s;
}
.csillag-16 {
  left: 17.8%;
  top: 34.5%;
  width: 3px;
  height: 3px;
  animation-delay: 1.7s;
}
.csillag-17 {
  left: 94.4%;
  top: 10.1%;
  width: 3px;
  height: 3px;
  animation-delay: 2.3s;
}
.csillag-18 {
  left: 86%;
  top: 31.9%;
  width: 4px;
  height: 4px;
  animation-delay: 1.4s;
}
.csillag-19 {
  left: 49.7%;
  top: 76.3%;
  width: 2px;
  height: 2px;
  animation-delay: 3.4s;
}
.csillag-20 {
  left: 92.7%;
  top: 46.6%;
  width: 4px;
  height: 4px;
  animation-delay: .3s;
}
.csillag-21 {
  left: 72.2%;
  top: 31.5%;
  width: 3px;
  height: 3px;
  animation-delay: 4s;
}
.csillag-22 {
  left: 80.9%;
  top: 29.2%;
  width: 3px;
  height: 3px;
  animation-delay: 3.5s;
}
.csillag-23 {
  left: 35.3%;
  top: 89.5%;
  width: 2px;
  height: 2px;
  animation-delay: .7s;
}
.csillag-24 {
  left: 13.2%;
  top: 8.4%;
  width: 2px;
  height: 2px;
  animation-delay: .5s;
}
.csillag-25 {
  left: 25.8%;
  top: 39%;
  width: 3px;
  height: 3px;
  animation-delay: .3s;
}
.csillag-26 {
  left: 45.1%;
  top: 53.5%;
  width: 2px;
  height: 2px;
  animation-delay: 3.3s;
}
.csillag-27 {
  left: 84.9%;
  top: 28.6%;
  width: 3px;
  height: 3px;
  animation-delay: 3.9s;
}
.csillag-28 {
  left: 67.5%;
  top: 38%;
  width: 2px;
  height: 2px;
  animation-delay: .6s;
}
.csillag-29 {
  left: 18.9%;
  top: 24.3%;
  width: 2px;
  height: 2px;
  animation-delay: 0ms;
}
.csillag-30 {
  left: 81.8%;
  top: 19.8%;
  width: 2px;
  height: 2px;
  animation-delay: 0ms;
}
.csillag-31 {
  left: 42.2%;
  top: 37%;
  width: 3px;
  height: 3px;
  animation-delay: 1.3s;
}
.csillag-32 {
  left: 14%;
  top: 82%;
  width: 3px;
  height: 3px;
  animation-delay: 2.6s;
}
.csillag-33 {
  left: 73%;
  top: 45%;
  width: 4px;
  height: 4px;
  animation-delay: 3.2s;
}
.csillag-34 {
  left: 39.7%;
  top: 39.7%;
  width: 2px;
  height: 2px;
  animation-delay: 1.9s;
}
.mini-sys-hely {
  right: -60px;
  top: 70px;
  width: 500px;
  height: 180px;
  transform: rotate(-16deg);
  --path: path('M 20.0 90.0 a 230 70 0 1 0 460 0 a 230 70 0 1 0 -460 0');
  --dur: 30s;
}
.mp-a-kozep {
  margin: -9px 0 0 -9px;
}
.mp-b-kozep {
  margin: -5.5px 0 0 -5.5px;
}
.markets-alap {
  position: relative;
}
.mb-20 {
  margin-bottom: 20px;
}
.marquee-22s {
  --dur: 22s;
}
.pt-64 {
  padding-top: 64px;
}
.py-72 {
  padding: 72px 0;
}
.yr-33 {
  --p: 33%;
}
.yr-66 {
  --p: 66%;
}
.yr-100 {
  --p: 100%;
}
.marquee-28s {
  --dur: 28s;
}
.pt-0 {
  padding-top: 0;
}
.bg-alt-sav {
  background: var(--alt);
  padding: 72px 0;
}
.design-prefix-58-0 {
  position: absolute;
}
.planet>.planet-art {
  position: absolute;
  left: -26.6667%;
  top: -26.6667%;
  width: 153.3334%;
  max-width: none;
  height: 153.3334%;
}
/* Egységes, tömörebb szakasztérközök a főoldalon (asztali 48 px, mobil 32 px).
   A korábbi content-visibility helyfoglalás görgetés közben 800 px-es üres sávokat mutatott. */
.page-fooldal .content-wrap>section:not(.hero):not(.facts),main.page-fooldal>.contact-section {
  padding-top: 48px;
  padding-bottom: 48px;
}
@media(max-width:767px) {
  .page-fooldal .content-wrap>section:not(.hero):not(.facts),main.page-fooldal>.contact-section {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}
@media(max-width:767px) {
  .page-fooldal .hero {
    padding: 28px 0 72px;
  }
  .page-fooldal .hero .wrap>.rv {
    padding-top: 20px;
    padding-bottom: 12px;
  }
  .page-fooldal .track {
    flex-wrap: nowrap;
    width: max-content;
  }
}
.footer-heading {
  font-size: 18px;
  margin: 0 0 18px;
}
.content-wrap {
  max-width: none;
  padding: 0;
  margin: 0;
}
@media(max-width:767px) {
  .cards.four .tile,.cards.six .tile {
    grid-row: 1;
    grid-column: 1;
  }
  .cards.four .card p,.cards.six .card p {
    grid-column: 1/-1;
    margin-top: 12px;
  }
  .cards.four .card .arrow,.cards.six .card .arrow {
    grid-column: 1/-1;
  }
}
#ref-track {
  animation-direction: reverse;
}
.cookie-actions button {
  font-size: 14px;
  border: 1px solid #9ac780;
  border-radius: 999px;
  padding: 10px 16px;
  white-space: nowrap;
  color: #fff;
  background: 0 0;
}
.dialog-close {
  float: right;
  padding: 4px 10px;
  border: 0;
  background: 0 0;
  font-size: 24px;
}
.skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 1000;
  background: #fff;
  padding: 12px;
}
@media(max-width:600px) {
  main:not(.page-fooldal)>.contact-section {
    padding: 36px 0;
  }
}
/* KÖZÖS ELEMEK — közös szolgáltatáselemek.
   on-service: a részletes szolgáltatásblokkok közös osztálya.
   Színek: főoldali semleges átmenet, zöld, lime. */
.on-service a:is(.ai-phone,[href^="tel:"]) {
  background: white!important;
  color: var(--on-dark)!important;
  border-color: #b7c9a8!important;
}
@media(hover:hover) {
  .on-service a:is(.ai-button,.cg-button):hover,.on-service .ai-intro .ai-actions a.ai-button:hover {
    background: var(--on-dark);
    color: #fff;
    transform: translateY(-2px);
  }
  .on-service a:is(.ai-phone,[href^="tel:"]):hover {
    background: #edf3e7!important;
  }
}
.on-service a.btn-on-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 24px;
  border: 1px solid #b7c9a8;
  border-radius: 999px;
  background: white;
  color: #12670C;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}


