html,body{margin:0;padding:0;background:#F1F4F8;}
body{font-family:'Nunito',sans-serif;color:#1F2A44;}
*{box-sizing:border-box;}
a{color:#2D7FF9;text-decoration:none;}
a:hover{color:#1F2A44;}
input::placeholder,textarea::placeholder{color:#9AA7BC;}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ctaShimmer{0%{background-position:-160% 0}100%{background-position:260% 0}}
@keyframes flakeDrift{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(14px) rotate(12deg)}100%{transform:translateY(0) rotate(0deg)}}
@keyframes flakeDrift2{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-12px) rotate(-10deg)}100%{transform:translateY(0) rotate(0deg)}}
@keyframes sunPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.06);opacity:1}}
@keyframes heatShimmer{0%,100%{transform:translateY(0) scaleX(1);opacity:.5}50%{transform:translateY(-8px) scaleX(1.12);opacity:.85}}

.cta-pill{position:relative;overflow:hidden;background:#2D7FF9;background-image:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);background-size:220% 100%;background-repeat:no-repeat;animation:ctaShimmer 3.2s ease-in-out infinite;color:#fff;font-weight:800;border-radius:999px;display:inline-block;border:none;cursor:pointer;font-family:'Nunito',sans-serif;}
.cta-pill:hover{background-color:#1867DE;color:#fff;}

.nav-link{color:#D7E1F2;font-weight:700;font-size:15px;}
.nav-link:hover{color:#fff;}

.webshop-link{color:#9FB4D8;font-weight:700;font-size:14px;border:2px solid #3A4A6E;border-radius:999px;padding:8px 16px;white-space:nowrap;}
.webshop-link:hover{color:#fff;border-color:#2D7FF9;}

.secondary-btn{background:transparent;border:2px solid #3A4A6E;color:#D7E1F2;font-family:'Nunito',sans-serif;font-weight:800;font-size:17px;border-radius:999px;padding:14px 28px;cursor:pointer;}
.secondary-btn:hover{border-color:#2D7FF9;color:#fff;}

.mobile-link{color:#fff;font-weight:800;font-size:17px;padding:12px 10px;border-radius:10px;display:block;}
.mobile-link:hover{background:#1F2A44;color:#fff;}

.hamburger-btn{background:transparent;border:2px solid #3A4A6E;border-radius:10px;color:#fff;width:42px;height:40px;font-size:18px;cursor:pointer;}
.mobile-controls{display:none;}
.nav-desktop,.header-cta-desktop{display:flex;}
@media (max-width:1020px){
  .nav-desktop,.header-cta-desktop{display:none !important;}
  .mobile-controls{display:flex !important;}
}
#mobileMenu{display:none;}
#mobileMenu.open{display:flex;}

.service-card,.article-card,.kiknek-card{transition:transform .15s ease, box-shadow .15s ease;}
.service-card:hover,.article-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(31,42,68,.12);color:#1F2A44;}

.footer-link{color:#B9C7E2;font-weight:700;font-size:14px;}
.footer-link:hover{color:#fff;}
.footer-link-accent{color:#8FC0FF;font-weight:800;font-size:14px;}
.footer-link-accent:hover{color:#fff;}
.footer-bottom-link{color:#5F7396;font-size:13px;font-weight:700;}
.footer-bottom-link:hover{color:#fff;}

.whatsapp-fab{position:fixed;right:22px;bottom:22px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(37,211,102,.5);}
.whatsapp-fab:hover{background:#1EBE5A;}

.ghost-btn{background:transparent;border:2px solid #DCE4F0;border-radius:999px;padding:10px 22px;font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;color:#5A6A8A;cursor:pointer;}
.ghost-btn:hover{border-color:#2D7FF9;color:#2D7FF9;}

.text-btn{background:transparent;border:none;color:#8093B3;font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;cursor:pointer;}
.text-btn:hover{color:#1F2A44;}

.form-input{border:1.5px solid #DCE4F0;border-radius:12px;padding:13px 15px;font-family:'Nunito',sans-serif;font-size:15px;font-weight:600;color:#1F2A44;outline:none;width:100%;}
.form-input:focus{border-color:#2D7FF9;}

#callbackModal{display:none;}
#callbackModal.open{display:grid;}


/* ===== Elegáns, dinamikus animációk ===== */
.reveal { opacity: 0; transform: translateY(46px) scale(.97); transition: opacity .8s ease, transform .9s cubic-bezier(.16,1.12,.3,1); will-change: opacity, transform; }
.reveal.in { opacity: 1; transform: none; }
@keyframes fxk-fade-up  { from { opacity: 0; transform: translateY(42px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes fxk-slide-l  { from { opacity: 0; transform: translateX(-64px) rotate(-1deg); } to { opacity: 1; transform: none; } }
@keyframes fxk-slide-r  { from { opacity: 0; transform: translateX(64px) rotate(1deg); }  to { opacity: 1; transform: none; } }
@keyframes fxk-zoom-in  { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
@keyframes fxk-title-in { from { opacity: 0; filter: blur(12px); letter-spacing: .12em; transform: translateY(14px); } to { opacity: 1; filter: none; letter-spacing: normal; transform: none; } }
@keyframes fxk-pop      { 0% { opacity: 0; transform: translateY(34px) scale(.9); } 65% { opacity: 1; transform: translateY(-6px) scale(1.02); } 100% { opacity: 1; transform: none; } }
.reveal.in h2 { animation: fxk-title-in .85s cubic-bezier(.16,1.12,.3,1) both; }
.reveal.in .service-card { opacity: 0; animation: fxk-pop .85s cubic-bezier(.2,.9,.3,1.08) both; }
.reveal.in .service-card:nth-child(2) { animation-delay: .12s; }
.reveal.in .service-card:nth-child(3) { animation-delay: .24s; }
.reveal.in .service-card:nth-child(4) { animation-delay: .36s; }
.reveal.in .service-card:nth-child(n+5) { animation-delay: .46s; }
.reveal.in .dl-row { opacity: 0; animation: fxk-fade-up .5s ease both; }
#kiknek.reveal.in > div > div > div { opacity: 0; animation: fxk-zoom-in .9s cubic-bezier(.16,1.12,.3,1) both; }
#kiknek.reveal.in > div > div > div:nth-child(2) { animation-delay: .15s; }
#kiknek.reveal.in > div > div > div:nth-child(3) { animation-delay: .3s; }
#miert-mi.reveal.in h2 ~ div > div { opacity: 0; animation: fxk-slide-l .8s cubic-bezier(.16,1.12,.3,1) both; }
#miert-mi.reveal.in h2 ~ div > div:nth-child(2) { animation-delay: .12s; }
#miert-mi.reveal.in h2 ~ div > div:nth-child(3) { animation-delay: .24s; }
#miert-mi.reveal.in h2 ~ div > div:nth-child(4) { animation-delay: .36s; }
#miert-mi.reveal.in h2 ~ div > div:nth-child(5) { animation-delay: .48s; }
#miert-mi.reveal.in img { animation: fxk-slide-r 1s cubic-bezier(.16,1.12,.3,1) .2s both; }
#kapcsolat.reveal.in form { animation: fxk-slide-r .9s cubic-bezier(.16,1.12,.3,1) .15s both; }
.service-card { transition: transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s ease; }
.service-card:hover { transform: translateY(-7px) scale(1.015); box-shadow: 0 18px 40px rgba(31,42,68,.18); }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal.in h2, .reveal.in .service-card, .reveal.in .dl-row,
  #kiknek.reveal.in > div > div > div, #miert-mi.reveal.in h2 ~ div > div, #miert-mi.reveal.in img, #kapcsolat.reveal.in form
  { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; filter: none !important; }
}


/* ===== Hero-videókártya (Fixi, 2026-09-03) ===== */
.fxk-herovid { position: relative; width: min(560px, 92vw); animation: floaty 6s ease-in-out infinite; }
.fxk-herovid__glow { position: absolute; inset: -30px; border-radius: 44px; background: radial-gradient(circle, rgba(45,127,249,.30), transparent 70%); pointer-events: none; }
.fxk-herovid__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 24px; overflow: hidden; background: #16203A; border: 1px solid rgba(255,255,255,.10); box-shadow: 0 18px 50px rgba(8,16,38,.5); }
.fxk-herovid__frame video, .fxk-herovid__still { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.fxk-herovid__still { display: none; }
.fxk-herovid__frame::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 60px 26px rgba(24,34,62,.55); }
.fxk-sound { position: absolute; right: 12px; bottom: 12px; width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1px solid rgba(255,255,255,.30); background: rgba(12,20,42,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: #fff; cursor: pointer; display: none; place-items: center; z-index: 2; transition: background .25s ease, transform .25s ease, border-color .25s ease; }
.fxk-herovid.js-ready .fxk-sound { display: grid; }
@media (max-width: 900px) { .fxk-sound { right: auto; left: 12px; } }
.fxk-sound:hover { background: #2D7FF9; border-color: #2D7FF9; transform: scale(1.08); }
.fxk-sound:focus-visible { outline: 3px solid #8FC0FF; outline-offset: 3px; }
.fxk-sound.is-on { background: #2D7FF9; border-color: #2D7FF9; }
.fxk-sound svg { width: 21px; height: 21px; display: block; fill: currentColor; }
.fxk-sound .fxk-ico-on { display: none; }
.fxk-sound.is-on .fxk-ico-on { display: block; }
.fxk-sound.is-on .fxk-ico-off { display: none; }
@media (prefers-reduced-motion: reduce) {
  .fxk-herovid { animation: none !important; }
  .fxk-herovid__frame video { display: none !important; }
  .fxk-herovid__still { display: block !important; }
  .fxk-sound { display: none !important; }
}
