
:root{
  --bg:#050817;--bg2:#081128;--panel:#0d1631;--panel2:#111d3d;--text:#f7f9ff;--muted:#a8b3ca;--line:rgba(255,255,255,.10);
  --ticket1:#07c7ff;--ticket2:#c132e8;--meal1:#11e2e7;--meal2:#00ffb0;--sport:#ff7119;--olt:#66efa5;
  --ai1:#10caff;--ai2:#7354ff;--ai3:#ec28c7;--invoice1:#39d7ff;--invoice2:#875cff;
  --shadow:0 32px 100px rgba(0,0,0,.38);--radius:28px;--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:
radial-gradient(circle at 15% 3%,rgba(13,194,255,.12),transparent 28rem),
radial-gradient(circle at 86% 12%,rgba(184,53,232,.13),transparent 32rem),
linear-gradient(180deg,#040612 0%,#071021 46%,#050817 100%);line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.10;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 86%)}

/* navigation */
header{position:sticky;top:0;z-index:80;background:rgba(4,7,18,.72);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:13px}.brandmark{width:43px;height:43px;border-radius:14px;background:conic-gradient(from 210deg,var(--meal1),var(--ticket2),var(--sport),var(--olt),var(--meal1));position:relative;box-shadow:0 12px 34px rgba(46,145,255,.24)}
.brandmark:before,.brandmark:after{content:"";position:absolute;background:#071021;border-radius:99px}.brandmark:before{width:24px;height:8px;left:9px;top:11px;transform:skewX(-28deg)}.brandmark:after{width:24px;height:8px;right:9px;bottom:11px;transform:skewX(-28deg)}
.brandtext{font-size:22px;font-weight:900;letter-spacing:-.04em}.brandtext span{font-weight:500;color:#c5d1ea;margin-left:5px}.navlinks{display:flex;gap:26px;align-items:center;color:#bdc8dc;font-size:14px;font-weight:750}.navlinks a:hover{color:white}.nav-cta{padding:11px 16px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.05);font-weight:800}.menu-toggle{display:none;border:0;background:none;color:white;font-size:28px}

/* shared */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 21px;border-radius:15px;font-weight:900;border:1px solid transparent;transition:.25s ease}.btn.primary{background:linear-gradient(100deg,#18d7ff,#7555ff 52%,#e42cc9);box-shadow:0 16px 45px rgba(92,83,255,.25)}.btn.secondary{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.05)}.btn:hover{transform:translateY(-2px)}
.section{padding:92px 0}.section-head{max-width:850px;margin-bottom:36px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:#7ae7ff;margin-bottom:12px}.title{font-size:clamp(36px,5vw,60px);line-height:1.02;letter-spacing:-.055em;margin:0 0 16px}.lead{color:var(--muted);font-size:19px;margin:0;max-width:790px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.2,1)}.reveal.in{opacity:1;transform:none}

/* hero */
.hero{min-height:880px;padding:90px 0 80px;position:relative;display:flex;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:-25% -10%;background:conic-gradient(from 180deg at 50% 50%,rgba(18,226,231,.10),rgba(120,80,255,.08),rgba(239,44,199,.09),rgba(255,113,25,.06),rgba(18,226,231,.10));filter:blur(90px);animation:spinGlow 18s linear infinite}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}.hero-copy{max-width:610px}.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid rgba(78,215,255,.25);border-radius:999px;background:rgba(73,151,255,.08);color:#ccefff;font-size:13px;font-weight:800;margin-bottom:20px}.pulse{width:8px;height:8px;border-radius:50%;background:#4ee6b2;box-shadow:0 0 0 0 rgba(78,230,178,.5);animation:pulse 2.2s infinite}
h1{font-size:clamp(52px,7vw,92px);line-height:.93;letter-spacing:-.068em;margin:0 0 26px}.hero-gradient{background:linear-gradient(95deg,#fff 4%,#b9f5ff 36%,#b9a4ff 68%,#ffc3f1 96%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:21px;color:#b9c5da;max-width:610px;margin:0 0 30px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#9eadc6;font-size:14px}.hero-trust span:before{content:"✓";color:#69efb0;font-weight:900;margin-right:7px}

.eco-visual{position:relative;min-height:620px;perspective:1200px}.eco-orb{position:absolute;left:50%;top:50%;width:190px;height:190px;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#304580,#0a1634 58%,#060b1d);border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 24px rgba(255,255,255,.018),0 0 0 50px rgba(67,198,255,.018),0 35px 90px rgba(0,0,0,.45);z-index:5}.eco-orb:before{content:"";position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--meal1),var(--ticket2),var(--sport),var(--olt),var(--ai1),var(--meal1));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 10s linear infinite}.eco-orb strong{display:block;text-align:center;font-size:32px;letter-spacing:-.06em}.eco-orb small{display:block;text-align:center;color:#8fa1c4;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:2px}
.eco-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.eco-lines path{fill:none;stroke:rgba(112,194,255,.22);stroke-width:1.2;stroke-dasharray:7 10;animation:dash 9s linear infinite}.eco-lines path.ai-line{stroke:rgba(183,78,255,.34)}.eco-lines path.invoice-line{stroke:rgba(56,215,255,.30)}
.node{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(20,31,66,.92),rgba(9,17,40,.92));backdrop-filter:blur(18px);border-radius:22px;padding:16px;box-shadow:0 24px 60px rgba(0,0,0,.28);transition:.3s ease;animation:float 6s ease-in-out infinite}.node:hover{transform:translateY(-5px) scale(1.015)}.node .node-top{display:flex;align-items:center;gap:11px}.node .node-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.07);overflow:hidden}.node .node-icon img{width:100%;height:100%;object-fit:contain}.node b{font-size:15px}.node small{display:block;color:#8fa0bd;font-size:11px;margin-top:2px}.node-ticket{width:210px;left:2%;top:14%;border-color:rgba(190,60,230,.28);animation-delay:-1s}.node-meal{width:210px;right:1%;top:20%;border-color:rgba(18,226,231,.28);animation-delay:-3s}.node-sport{width:210px;left:4%;bottom:13%;border-color:rgba(255,113,25,.30);animation-delay:-4s}.node-olt{width:210px;right:2%;bottom:10%;border-color:rgba(102,239,165,.30);animation-delay:-2s}.node-ai{width:250px;left:50%;top:1%;transform:translateX(-50%);border-color:rgba(160,75,255,.36);background:linear-gradient(145deg,rgba(19,21,64,.96),rgba(31,9,64,.92));animation:floatCenter 6.6s ease-in-out infinite}.node-ai .node-icon{background:linear-gradient(135deg,var(--ai1),var(--ai2),var(--ai3));font-weight:950}.node-invoice{width:250px;left:50%;bottom:0;transform:translateX(-50%);border-color:rgba(57,215,255,.32);background:linear-gradient(145deg,rgba(10,30,55,.96),rgba(28,18,70,.93));animation:floatCenter 7.2s ease-in-out infinite reverse}.node-invoice .node-icon{background:linear-gradient(135deg,var(--invoice1),var(--invoice2));color:#06101f;font-weight:950}.node-ai:after,.node-invoice:after{content:"közös platformréteg";position:absolute;right:13px;top:12px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#8295ba}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.025)}.marquee-track{display:flex;width:max-content;gap:44px;padding:17px 0;animation:marquee 24s linear infinite;color:#8e9db8;font-weight:800;font-size:13px;letter-spacing:.13em;text-transform:uppercase}.marquee-track span:after{content:"✦";margin-left:44px;color:#5e6c88}

/* product bento */
.product-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.product-card{position:relative;min-height:510px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.028));box-shadow:0 24px 70px rgba(0,0,0,.18);isolation:isolate}.product-card.small{min-height:430px}.product-card:before{content:"";position:absolute;inset:0;opacity:.85;z-index:-1}.product-card.ticket:before{background:radial-gradient(circle at 90% 10%,rgba(200,45,232,.22),transparent 34%),radial-gradient(circle at 10% 90%,rgba(10,200,255,.15),transparent 40%)}.product-card.meal:before{background:radial-gradient(circle at 85% 10%,rgba(0,255,190,.16),transparent 35%),radial-gradient(circle at 10% 88%,rgba(0,170,180,.16),transparent 40%)}.product-card.sport:before{background:radial-gradient(circle at 88% 12%,rgba(255,113,25,.18),transparent 35%),linear-gradient(150deg,rgba(17,37,87,.20),transparent 60%)}.product-card.olt:before{background:radial-gradient(circle at 82% 10%,rgba(102,239,165,.15),transparent 36%),radial-gradient(circle at 12% 88%,rgba(18,226,231,.08),transparent 40%)}
.product-copy{position:relative;z-index:3;padding:30px 30px 0;max-width:620px}.product-tag{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#bdc8dc}.product-dot{width:9px;height:9px;border-radius:50%}.ticket .product-dot{background:linear-gradient(135deg,var(--ticket1),var(--ticket2))}.meal .product-dot{background:linear-gradient(135deg,var(--meal1),var(--meal2))}.sport .product-dot{background:var(--sport)}.olt .product-dot{background:var(--olt)}.product-card h3{font-size:38px;line-height:1.02;letter-spacing:-.05em;margin:13px 0 11px}.product-card p{color:#aebbd2;margin:0;max-width:610px}.product-link{display:inline-flex;margin-top:18px;color:#fff;font-weight:850;font-size:14px}.product-link span{margin-left:8px;transition:.2s}.product-link:hover span{transform:translateX(4px)}
.product-visual{position:absolute;right:-2%;bottom:-4%;width:64%;z-index:2;transition:transform .5s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 28px 45px rgba(0,0,0,.28))}.product-card:hover .product-visual{transform:translateY(-8px) scale(1.02)}.ticket .product-visual{width:59%}.meal .product-visual{width:66%}.sport .product-visual{width:54%;right:3%;bottom:-14%}.sport .phone-overlay{position:absolute;right:5%;bottom:-6%;width:22%;z-index:4;filter:drop-shadow(0 22px 42px rgba(0,0,0,.32));transform:rotate(2deg)}
.olt-map{position:absolute;right:4%;bottom:6%;width:58%;height:56%;border-radius:24px;background:linear-gradient(145deg,#0b1c2f,#071322);border:1px solid rgba(102,239,165,.18);overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.32)}.olt-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(102,239,165,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(102,239,165,.06) 1px,transparent 1px);background-size:34px 34px}.olt-line{position:absolute;height:2px;transform-origin:left;background:linear-gradient(90deg,#30c9d9,#66efa5);box-shadow:0 0 14px rgba(102,239,165,.35)}.l1{width:52%;left:10%;top:33%;transform:rotate(13deg)}.l2{width:46%;left:38%;top:48%;transform:rotate(-24deg)}.l3{width:35%;left:19%;top:63%;transform:rotate(-38deg)}.olt-node{position:absolute;width:18px;height:18px;border-radius:50%;background:#0b1c2f;border:3px solid #66efa5;box-shadow:0 0 0 5px rgba(102,239,165,.10),0 0 18px rgba(102,239,165,.40)}.n1{left:10%;top:30%}.n2{left:47%;top:41%;border-color:#ffe06a}.n3{right:15%;top:31%;border-color:#ff725f}.n4{left:23%;bottom:19%}.n5{right:25%;bottom:16%}.olt-legend{position:absolute;left:18px;bottom:16px;right:18px;display:flex;gap:14px;font-size:10px;color:#8ba2ac;background:rgba(5,14,24,.72);padding:9px 11px;border-radius:12px;backdrop-filter:blur(8px)}.olt-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}

/* platform layer */
.platform-section{padding-top:115px}.platform-shell{display:grid;grid-template-columns:1fr 1fr;gap:22px}.platform-card{min-height:500px;border-radius:32px;border:1px solid var(--line);overflow:hidden;position:relative;background:rgba(255,255,255,.035);box-shadow:var(--shadow)}.platform-card.ai{background:linear-gradient(150deg,#080b25,#0a1333 55%,#240b39)}.platform-card.invoice{background:radial-gradient(circle at 15% 5%,rgba(57,215,255,.12),transparent 36%),radial-gradient(circle at 90% 8%,rgba(135,92,255,.16),transparent 38%),#091326}.platform-copy{padding:34px;position:relative;z-index:3}.platform-card h3{font-size:42px;line-height:1.02;letter-spacing:-.05em;margin:10px 0 13px}.platform-card p{color:#a9b7ce;margin:0;max-width:570px}.ai-banner{position:absolute;left:0;right:0;bottom:0;height:54%;overflow:hidden}.ai-banner img{width:100%;height:100%;object-fit:cover;object-position:center}.ai-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#080b25 0%,rgba(8,11,37,.14) 46%,rgba(8,11,37,.08) 100%)}
.invoice-ui{position:absolute;left:34px;right:34px;bottom:30px;background:#f8fbff;color:#13223b;border-radius:22px;padding:22px;transform:rotate(-1deg);box-shadow:0 28px 60px rgba(0,0,0,.35)}.invoice-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe4f1;padding-bottom:14px}.invoice-logo{font-weight:950;font-size:20px}.status{font-size:11px;background:#dff8ef;color:#0c795b;padding:6px 9px;border-radius:999px;font-weight:850}.invoice-amount{font-size:31px;font-weight:950;margin:22px 0 4px}.invoice-note{font-size:12px;color:#71839d}.invoice-lines{margin-top:18px;display:grid;gap:10px}.invoice-line{display:flex;justify-content:space-between;border-bottom:1px solid #e6ebf2;padding-bottom:9px;font-size:12px}.invoice-line span{color:#708096}.invoice-line b{color:#1b2942}.invoice-badge{margin-top:15px;padding:11px 12px;border-radius:13px;background:linear-gradient(135deg,#e3fbff,#ede9ff);font-size:12px;font-weight:850;color:#17374c;display:flex;justify-content:space-between}

/* architecture */
.arch-wrap{border:1px solid var(--line);border-radius:34px;padding:34px;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.02));position:relative;overflow:hidden}.arch-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(102,88,255,.10),transparent 34%);pointer-events:none}.arch{position:relative;z-index:2;display:grid;grid-template-columns:1fr 72px 1.15fr 72px 1fr;align-items:center;gap:6px}.arch-col{display:grid;gap:12px}.arch-label{text-align:center;color:#7484a3;font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:850;margin-bottom:5px}.arch-box{border:1px solid rgba(255,255,255,.11);border-radius:17px;padding:14px 16px;background:rgba(255,255,255,.04)}.arch-box b{display:block;font-size:14px}.arch-box small{color:#8797b4}.arch-center{display:grid;gap:14px}.arch-core{border-radius:22px;padding:20px;text-align:center;border:1px solid rgba(107,103,255,.24);background:linear-gradient(145deg,rgba(57,215,255,.08),rgba(135,92,255,.12))}.arch-core.ai-core{border-color:rgba(201,54,232,.25)}.arch-core b{font-size:21px}.arch-core small{display:block;color:#9aa8c4;margin-top:4px}.arch-arrow{text-align:center;color:#59708e;font-size:28px;animation:arrowPulse 2.2s ease-in-out infinite}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-card{padding:24px;border-radius:23px;border:1px solid var(--line);background:rgba(255,255,255,.035)}.why-icon{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,rgba(57,215,255,.14),rgba(135,92,255,.18));display:grid;place-items:center;font-size:22px;margin-bottom:20px}.why-card h3{margin:0 0 8px;font-size:20px}.why-card p{margin:0;color:#97a7c2;font-size:14px}

/* CTA / footer */
.cta{padding:25px 0 80px}.cta-box{border-radius:34px;padding:48px;background:radial-gradient(circle at 12% 20%,rgba(57,215,255,.22),transparent 35%),radial-gradient(circle at 90% 15%,rgba(223,45,202,.25),transparent 34%),linear-gradient(135deg,#0a1735,#13103c);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.cta-box h2{font-size:44px;line-height:1.02;letter-spacing:-.05em;margin:0 0 12px}.cta-box p{margin:0;color:#b7c4db;max-width:760px;font-size:18px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
footer{border-top:1px solid var(--line);padding:32px 0 44px;color:#7889a8}.footer-grid{display:grid;grid-template-columns:1.15fr .8fr .9fr;gap:28px}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.footer-brand strong{color:#fff;font-size:20px}.footer-brand small{display:block;color:#7788a7}.footer-grid h4{margin:0 0 10px;color:#dce5f6}.footer-grid p,.footer-grid a{margin:0;color:#7d8eab;font-size:14px}

/* animation hooks */
[data-tilt]{transform-style:preserve-3d;transition:transform .22s ease}.product-card[data-tilt]:hover{border-color:rgba(255,255,255,.17)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinGlow{to{transform:rotate(360deg)}}@keyframes dash{to{stroke-dashoffset:-240}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatCenter{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(78,230,178,.5)}70%{box-shadow:0 0 0 10px rgba(78,230,178,0)}100%{box-shadow:0 0 0 0 rgba(78,230,178,0)}}@keyframes arrowPulse{0%,100%{opacity:.4;transform:translateX(0)}50%{opacity:1;transform:translateX(5px)}}

@media(max-width:1050px){.hero{min-height:auto}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:760px}.eco-visual{max-width:800px;width:100%;margin:auto}.product-grid,.platform-shell{grid-template-columns:1fr}.product-card{min-height:500px}.why-grid{grid-template-columns:repeat(2,1fr)}.arch{grid-template-columns:1fr}.arch-arrow{transform:rotate(90deg)}.cta-box{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.container{width:min(var(--max),calc(100% - 24px))}.navlinks{display:none}.menu-toggle{display:block}.nav-cta{display:none}.hero{padding-top:58px}.hero-grid{gap:30px}h1{font-size:48px}.hero p{font-size:18px}.eco-visual{min-height:600px}.eco-orb{width:150px;height:150px}.eco-orb strong{font-size:26px}.node{width:165px;padding:12px}.node .node-icon{width:34px;height:34px}.node b{font-size:13px}.node-ai,.node-invoice{width:200px}.node-ticket{left:0}.node-meal{right:0}.node-sport{left:0}.node-olt{right:0}.section{padding:68px 0}.product-card,.product-card.small{min-height:540px}.product-copy{padding:24px}.product-card h3{font-size:32px}.product-visual{width:86%!important;right:-8%!important}.sport .phone-overlay{width:34%}.olt-map{width:86%;height:48%;right:7%;bottom:5%}.platform-card{min-height:520px}.why-grid,.footer-grid{grid-template-columns:1fr}.cta-box{padding:32px 24px}.cta-box h2{font-size:35px}}
@media(max-width:520px){.brandtext span{display:none}.eco-visual{min-height:560px}.node{width:142px}.node small{display:none}.node-ai,.node-invoice{width:176px}.node-ai:after,.node-invoice:after{display:none}.eco-orb{width:128px;height:128px}.eco-orb strong{font-size:23px}.product-card{min-height:510px}.platform-card{min-height:500px}.ai-banner{height:48%}.invoice-ui{left:18px;right:18px;bottom:20px}.cta-actions{display:grid}.btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
