*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#121820;background:#fff}button,a{font:inherit}.wrap{max-width:1240px;margin:auto;padding:0 34px}.topbar{height:112px;display:flex;align-items:center;padding:12px max(28px,calc((100vw - 1240px)/2));background:#05090d;position:relative;z-index:10}.brand img{display:block;width:150px;height:auto}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:30px}.topbar nav a,.nav-cta{color:#fff;text-decoration:none;font-size:12px;font-weight:700;background:none;border:0;cursor:pointer}.nav-cta{border:1px solid #3fafe1!important;border-radius:6px!important;padding:14px 22px!important}.hamb{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:28px}.hero{height:610px;background:#05090d;position:relative;overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:58%;height:100%;background:url('../img/hero-clean-hq.jpg') center/cover no-repeat}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05090d 0%,#05090d 35%,rgba(5,9,13,.78) 52%,rgba(5,9,13,.05) 80%)}.hero-content{position:relative;z-index:2;color:#fff;max-width:1240px;margin:auto;padding:115px 34px}.eyebrow,.section-kicker{font-size:13px;color:#42afe0;font-weight:800;letter-spacing:.04em}.hero h1{font-size:50px;line-height:1.05;margin:24px 0 18px;max-width:650px}.hero p{font-size:18px;line-height:1.6;color:#d7dde3;max-width:620px}.hero-actions{display:flex;gap:20px;margin-top:30px}.btn{border:0;border-radius:5px;padding:16px 25px;font-weight:800;font-size:12px;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:#43afe1;color:#fff}.ghost{color:#fff}.outline{border:1px solid #43afe1;background:#fff;color:#43afe1}.white{background:#fff;color:#43afe1;min-width:220px}.section{padding:72px 0}.services h2{font-size:31px;margin:14px 0 38px}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.card{border:1px solid #e1e6ea;padding:28px 18px;min-height:250px;text-align:center;transition:.25s}.card:hover{transform:translateY(-6px);box-shadow:0 15px 35px #00000012}.ico{font-size:39px;color:#43afe1;height:55px}.card h3{font-size:15px}.card p{font-size:13px;line-height:1.55;color:#69727a}.center{display:block;margin:35px auto 0}.clients{padding:36px 0;background:#f6f7f8}.client-row{display:grid;grid-template-columns:repeat(7,1fr);gap:24px;align-items:center;margin-top:25px}.client-row span{font-weight:800;color:#74787d;text-align:center;white-space:nowrap;font-size:14px}.stats{background:#0b0d0f;color:#fff;padding:42px 0}.statgrid{display:grid;grid-template-columns:repeat(4,1fr)}.statgrid div{text-align:center;border-right:1px solid #333}.statgrid div:last-child{border:0}.statgrid b{font-size:30px;display:block}.statgrid span{font-size:11px;font-weight:700}.about{display:grid;grid-template-columns:1fr 1fr;min-height:480px}.about-copy{padding:70px max(40px,calc((100vw - 1240px)/2));padding-right:70px}.about h2{font-size:32px}.about p,.about li{color:#67717a;line-height:1.6}.about-photo{background:url('../img/about-clean.jpg') center/cover no-repeat}.quote{background:#43afe1;color:#fff;padding:35px 0}.quote-inner{display:flex;align-items:center;justify-content:space-between}.quote h2{margin:0 0 8px}.quote p{margin:0}footer{background:#090c0f;color:#aab2bb;padding:55px 0 30px}.footergrid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:45px}.foot-brand img{width:170px}.footergrid h4{color:#fff;font-size:12px}.footergrid a,.footergrid span{display:block;color:#aab2bb;text-decoration:none;font-size:13px;margin:10px 0}.small{background:transparent;margin-top:15px}.modal{display:none;position:fixed;inset:0;background:#000b;z-index:50;align-items:center;justify-content:center;padding:25px}.modal.open{display:flex}.modal-card{background:#fff;width:min(620px,100%);max-height:92vh;overflow:auto;border-radius:10px;padding:32px;position:relative}.modal-card>img{width:180px}.modal-card h2{font-size:32px}.close{position:absolute;right:20px;top:15px;font-size:30px;border:0;background:none;cursor:pointer}.modal label{display:block;font-weight:700;margin:14px 0}.modal input,.modal select,.modal textarea{width:100%;padding:13px;border:1px solid #d5dde4;border-radius:5px;margin-top:6px}.form-status{margin-top:12px}.hp{display:none!important}@media(max-width:900px){.topbar{height:92px}.brand img{width:125px}.hamb{display:block}.topbar nav{display:none;position:absolute;left:0;right:0;top:92px;background:#05090d;padding:25px;flex-direction:column;align-items:flex-start}.topbar nav.open{display:flex}.hero{height:620px}.hero-photo{width:100%;opacity:.48}.hero:after{background:#05090d99}.hero-content{padding-top:100px}.hero h1{font-size:39px}.cards{grid-template-columns:repeat(2,1fr)}.client-row{grid-template-columns:repeat(2,1fr)}.statgrid{grid-template-columns:repeat(2,1fr);gap:25px}.about{grid-template-columns:1fr}.about-photo{height:360px}.footergrid{grid-template-columns:1fr 1fr}.quote-inner{gap:25px}}@media(max-width:560px){.wrap,.hero-content{padding-left:20px;padding-right:20px}.hero h1{font-size:34px}.cards{grid-template-columns:1fr}.footergrid{grid-template-columns:1fr}.quote-inner{display:block}.quote .btn{margin-top:20px}.about-copy{padding:55px 25px}.client-row{grid-template-columns:1fr 1fr}.client-row span{font-size:11px}}

/* V7: approved B master logo only */
.brand{display:flex;align-items:center;height:100%}.brand img{width:178px!important;max-height:88px;object-fit:contain;object-position:left center}.foot-brand img{width:210px!important;height:auto}.modal-card>img{width:230px!important;height:auto}.ico svg{width:46px;height:46px;fill:none;stroke:#43afe1;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.client-row{overflow:visible}.client-logo{height:58px;display:flex;align-items:center;justify-content:center;min-width:0}.client-logo img{display:block;width:100%;max-width:150px;height:48px;object-fit:contain}.client-row span{display:none}.topbar{overflow:visible}.topbar nav{min-width:0;flex-wrap:nowrap}.modal-card{box-shadow:0 25px 80px #0006}.modal-card>img{display:block;margin-bottom:12px}@media(max-width:1100px){.topbar nav{gap:17px}.topbar nav a,.nav-cta{font-size:11px}.brand img{width:155px!important}}@media(max-width:900px){.brand img{width:145px!important}.client-logo img{max-width:135px}}

/* V8 — ONLY CHANGE: HQ hero background + moving-head light beams */
.hero{position:relative;overflow:hidden}
.hero>.wrap,.hero>.hero-inner,.hero .topbar,.hero .hero-content{position:relative;z-index:3}
.moving-beams{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
.moving-beams .beam{position:absolute;top:-20%;left:50%;width:9vw;height:145%;transform-origin:50% 0%;opacity:0;
  background:linear-gradient(90deg,rgba(82,181,232,0),rgba(116,205,255,.10) 18%,rgba(190,229,255,.32) 50%,rgba(116,205,255,.10) 82%,rgba(82,181,232,0));
  filter:blur(10px);will-change:transform,opacity}
.moving-beams .beam::after{content:"";position:absolute;top:0;left:50%;width:13px;height:13px;border-radius:50%;
  transform:translate(-50%,-25%);background:#e8f7ff;box-shadow:0 0 18px 8px rgba(112,201,255,.6)}
.moving-beams .beam-a{animation:beamSweepA 8.5s ease-in-out infinite}
.moving-beams .beam-b{left:62%;width:7vw;animation:beamSweepB 10.5s ease-in-out 1.6s infinite}
@keyframes beamSweepA{
  0%,10%{transform:rotate(-43deg) translateX(-3vw);opacity:0}
  18%{opacity:.72}
  48%{transform:rotate(28deg) translateX(3vw);opacity:.58}
  58%{opacity:0}
  100%{transform:rotate(28deg) translateX(3vw);opacity:0}
}
@keyframes beamSweepB{
  0%,15%{transform:rotate(38deg) translateX(2vw);opacity:0}
  24%{opacity:.55}
  55%{transform:rotate(-31deg) translateX(-2vw);opacity:.48}
  66%{opacity:0}
  100%{transform:rotate(-31deg) translateX(-2vw);opacity:0}
}
@media(max-width:700px){.moving-beams .beam{width:16vw;filter:blur(8px)}}
@media(prefers-reduced-motion:reduce){.moving-beams{display:none}}

/* V9 — ONLY CHANGE: navigation hover */
.topbar nav a:not(.nav-cta){
  position:relative;
  display:inline-block;
  transform-origin:center;
  transition:transform .18s ease,color .18s ease;
}
.topbar nav a:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:0;
  height:2px;
  background:#43afe1;
  transform:translateX(-50%);
  transition:width .18s ease;
}
.topbar nav a:not(.nav-cta):hover{
  transform:scale(1.08);
}
.topbar nav a:not(.nav-cta):hover::after{
  width:100%;
}

/* V10 — ONLY CHANGE: real image logo row under “Bíztak bennünk” */
.trusted-logo-row{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:24px;
  align-items:center;
  overflow:visible!important;
}
.trusted-logo-row .client-logo{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.trusted-logo-row .client-logo img{
  display:block;
  width:100%;
  max-width:135px;
  height:62px;
  object-fit:contain;
  object-position:center;
  filter:grayscale(1);
  opacity:.72;
  transition:filter .2s ease,opacity .2s ease,transform .2s ease;
}
.trusted-logo-row .client-logo img:hover{
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.06);
}
@media(max-width:950px){.trusted-logo-row{grid-template-columns:repeat(4,1fr);row-gap:22px}}
@media(max-width:560px){.trusted-logo-row{grid-template-columns:repeat(2,1fr)}}

/* V11 — ONLY CHANGE: stats row below “Bíztak bennünk” */
.trust-stats{
  background:#10171e;
  color:#fff;
  padding:34px 0 36px;
}
.trust-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
}
.trust-stat{
  text-align:center;
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border-right:1px solid rgba(255,255,255,.13);
}
.trust-stat:last-child{border-right:0}
.trust-stat-value{
  font-size:38px;
  line-height:1;
  font-weight:800;
  letter-spacing:-1.5px;
  color:#fff;
  white-space:nowrap;
}
.stat-suffix{color:#43afe1;margin-left:2px}
.trust-stat-label{
  margin-top:10px;
  font-size:13px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#aeb8c1;
}
.trust-stat-icon svg{
  width:52px;height:38px;fill:none;stroke:#43afe1;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round
}
@media(max-width:760px){
  .trust-stats-grid{grid-template-columns:repeat(2,1fr);row-gap:28px}
  .trust-stat:nth-child(2){border-right:0}
  .trust-stat-value{font-size:34px}
}

/* V14 — ONLY CHANGE: uploaded client logos as a seamless infinite marquee */
.clients{overflow:hidden}
.trusted-marquee{
  width:100%;
  overflow:hidden;
  margin-top:24px;
  position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.trusted-marquee-track{
  display:flex;
  width:max-content;
  animation:trustedMarquee 52s linear infinite;
  will-change:transform;
}
.trusted-marquee-group{
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:54px;
  padding-right:54px;
}
.trusted-marquee-item{
  width:180px;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 180px;
}
.trusted-marquee-item img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:grayscale(1) contrast(1.12);
  opacity:.68;
  transform:scale(1);
  transition:filter .22s ease,opacity .22s ease,transform .22s ease;
}
.trusted-marquee-item:hover img{
  filter:grayscale(0) contrast(1);
  opacity:1;
  transform:scale(1.12);
}
.trusted-marquee:hover .trusted-marquee-track{animation-play-state:paused}
@keyframes trustedMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:700px){
  .trusted-marquee-group{gap:30px;padding-right:30px}
  .trusted-marquee-item{width:145px;height:70px;flex-basis:145px}
  .trusted-marquee-track{animation-duration:46s}
}
@media(prefers-reduced-motion:reduce){
  .trusted-marquee-track{animation:none}
}

/* V15 — ONLY CHANGE: periodic audio/water ripple effect over about-clean.jpg */
.about-ripple-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.about-ripple-section > *:not(.audio-ripple-layer){
  position:relative;
  z-index:2;
}
.audio-ripple-layer{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}
.audio-ripple{
  position:absolute;
  left:58%;
  top:58%;
  width:70px;
  height:70px;
  border:2px solid rgba(90,190,240,.0);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.15);
  opacity:0;
  box-shadow:
    0 0 12px rgba(85,185,235,.0),
    inset 0 0 12px rgba(85,185,235,.0);
  animation:aboutWaterRipple 8.8s cubic-bezier(.18,.55,.28,1) infinite;
  will-change:transform,opacity;
}
.audio-ripple.r2{animation-delay:.28s}
.audio-ripple.r3{animation-delay:.56s}
@keyframes aboutWaterRipple{
  0%,4%{
    transform:translate(-50%,-50%) scale(.12);
    opacity:0;
    border-color:rgba(110,205,250,0);
  }
  6%{
    opacity:.55;
    border-color:rgba(135,215,255,.42);
    box-shadow:0 0 16px rgba(80,185,240,.16),inset 0 0 16px rgba(80,185,240,.10);
  }
  21%{
    opacity:.30;
  }
  38%{
    transform:translate(-50%,-50%) scale(13);
    opacity:0;
    border-color:rgba(110,205,250,.06);
  }
  100%{
    transform:translate(-50%,-50%) scale(13);
    opacity:0;
  }
}
/* a very subtle bass-like pulse accompanies the ripple without moving text/content */
.about-ripple-section::after{
  content:"";
  position:absolute;
  inset:-2%;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle at 58% 58%,rgba(75,175,230,.10),transparent 28%);
  opacity:0;
  animation:aboutBassPulse 8.8s ease-out infinite;
}
@keyframes aboutBassPulse{
  0%,5%,100%{opacity:0;transform:scale(1)}
  7%{opacity:.35;transform:scale(1.012)}
  10%{opacity:.08;transform:scale(1)}
  13%{opacity:.18;transform:scale(1.007)}
  18%{opacity:0;transform:scale(1)}
}
@media(max-width:700px){
  .audio-ripple{left:62%;top:62%}
}
@media(prefers-reduced-motion:reduce){
  .audio-ripple-layer,.about-ripple-section::after{display:none}
}

.seo-service-links{padding:8px 34px 28px;display:flex;flex-wrap:wrap;gap:10px 18px}.seo-service-links a{font-size:11px;color:#7e8a94;text-decoration:none}.seo-service-links a:hover{color:#43afe1}

/* V18 — service cards are crawlable links to SEO landing pages */
.service-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  min-width:0;
}
.service-card-link .card{
  height:100%;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.service-card-link:hover .card{
  transform:translateY(-6px);
  border-color:#43afe1;
  box-shadow:0 14px 34px rgba(20,43,58,.10);
}
.service-card-link:focus-visible{
  outline:2px solid #43afe1;
  outline-offset:4px;
}

/* V19 — fix: every service card is independently clickable */
.service-card-link{display:contents!important}
.cards .card{
  position:relative;
}
.service-card-hit{
  position:absolute;
  inset:0;
  z-index:5;
  display:block;
  border-radius:inherit;
}
.cards .card:hover{
  transform:translateY(-6px);
  border-color:#43afe1;
  box-shadow:0 14px 34px rgba(20,43,58,.10);
}
.cards .card:has(.service-card-hit:focus-visible){
  outline:2px solid #43afe1;
  outline-offset:4px;
}


.legal-hero{background:#080c10;color:#fff;padding:150px 0 68px}
.legal-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.05;margin:8px 0 0}
.legal-main{padding:68px 0 100px;background:#fff}
.legal-doc{max-width:960px;margin:auto}
.legal-doc h2{font-size:28px;color:#111820;margin:42px 0 14px}
.legal-doc h3{font-size:21px;color:#18222b;margin:28px 0 10px}
.legal-doc p,.legal-doc li{font-size:16px;line-height:1.78;color:#53616c}
.legal-doc ul{padding-left:22px}
.legal-doc .legal-meta{background:#f4f7f9;border-left:4px solid #43afe1;padding:22px 26px;margin:0 0 34px}
.legal-doc .legal-meta p{margin:5px 0}
.legal-note{background:#f8fafb;border:1px solid #e2e8ec;border-radius:6px;padding:20px 24px;margin:32px 0}
.legal-links{margin-top:48px;padding-top:22px;border-top:1px solid #e1e6ea}
.legal-links a{color:#43afe1;font-weight:700;text-decoration:none;margin-right:18px}
.site-legal-footer{background:#080b0e;color:#7f8b95;border-top:1px solid #1c252d;padding:18px 0}
.site-legal-footer .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.site-legal-footer a{font-size:12px;color:#a8b3bc;text-decoration:none}
.site-legal-footer a:hover{color:#43afe1}
.form-privacy-note{font-size:11px!important;line-height:1.45!important;color:#73808a!important;margin:10px 0 8px!important}
.form-privacy-note a{color:#43afe1}
.footer-legal-links{display:flex;gap:18px;padding:4px 34px 24px}
.footer-legal-links a{font-size:12px;color:#8a969f;text-decoration:none}
.footer-legal-links a:hover{color:#43afe1}
@media(max-width:700px){.legal-hero{padding:120px 0 54px}.legal-main{padding:45px 0 70px}}

/* V37 — reCAPTCHA */
.g-recaptcha{margin:14px 0 8px;transform-origin:left top}.captcha-note{font-size:12px;opacity:.72;margin:0 0 12px}@media(max-width:390px){.g-recaptcha{transform:scale(.88);margin-bottom:-2px}}
