/* Alfa-G20 Kft. — premium technology website. No third-party fonts, trackers or UI dependencies. */
:root {
  color-scheme: dark;
  --bg:#070c15; --bg-2:#0b1422; --bg-3:#101c2b; --surface:#111d2c;
  --ink:#f4f7fc; --muted:#a4b1c3; --subtle:#748397;
  --line:rgba(164,184,210,.15); --line-strong:rgba(164,184,210,.25);
  --blue:#568eff; --sky:#73ceff; --white:#fff;
  --container:1216px; --radius:20px; --shadow:0 20px 80px rgba(0,0,0,.25);
}
*, *::before, *::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:94px}
body {margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
body::before {content:"";position:absolute;inset:0 0 auto;z-index:-1;height:1080px;pointer-events:none;background:radial-gradient(ellipse 55% 40% at 80% 9%,rgba(25,86,162,.17),transparent 80%),radial-gradient(ellipse 53% 39% at 20% 20%,rgba(21,42,77,.20),transparent 75%)}
::selection {background:#477be8;color:#fff}
a {color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible {outline:3px solid var(--sky);outline-offset:4px;border-radius:6px}
button {font:inherit}
img,svg {max-width:100%}
.container {width:min(calc(100% - 72px),var(--container));margin-inline:auto}
.skip {position:absolute;z-index:200;top:-80px;left:20px;padding:11px 15px;background:#fff;color:#101c2b;border-radius:8px}
.skip:focus {top:15px}
.site-header {height:88px;position:sticky;top:0;z-index:80;border-bottom:1px solid rgba(174,197,232,.10);background:rgba(7,12,21,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.header-row {height:100%;display:flex;align-items:center;gap:40px}
.logo {display:inline-flex;align-items:center;gap:12px;min-width:max-content;font-weight:750;letter-spacing:.025em;font-size:20px;line-height:1}
.logo-symbol {width:34px;height:34px;display:inline-grid;place-items:center;flex:none}
.logo-symbol svg {display:block;width:100%;height:100%}
.logo small {font-size:9px;font-weight:650;letter-spacing:.22em;color:var(--subtle);display:block;margin-top:7px}
.site-nav {display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto}
.site-nav a {color:#b8c4d5;font-size:13.5px;font-weight:570;transition:color .2s}
.site-nav a:hover,.site-nav a[aria-current="page"] {color:#fff}
.header-actions {display:flex;align-items:center;gap:16px;margin-left:8px}
.lang-toggle {display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.07em}
.lang-toggle a {color:#8391a5}
.lang-toggle .active {color:#fff}
.lang-toggle span {color:#4f5f75}
.mini-cta {font-size:12px;font-weight:680;border:1px solid rgba(173,201,242,.31);border-radius:7px;padding:11px 16px;white-space:nowrap;background:rgba(255,255,255,.025);transition:background .2s,border-color .2s}
.mini-cta:hover {background:rgba(92,151,255,.13);border-color:rgba(116,166,255,.58)}
.menu-toggle {display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-strong);color:var(--ink);height:42px;width:44px;border-radius:9px;margin-left:auto;cursor:pointer}
.menu-toggle svg {width:21px;height:21px}
.hero {padding:100px 0 93px;min-height:650px;position:relative;overflow:hidden}
.hero::after {content:"";position:absolute;pointer-events:none;z-index:-1;inset:0;background-image:linear-gradient(rgba(142,175,213,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(142,175,213,.025) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,transparent 18%,#000 100%)}
.hero-grid {display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:5%;}
.eyebrow {display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:720;text-transform:uppercase;letter-spacing:.22em;color:var(--sky);margin:0 0 30px}
.eyebrow::before {content:"";display:block;width:24px;height:1px;background:var(--sky)}
h1,h2,h3,p {margin-top:0}
h1,h2,h3 {letter-spacing:-.045em;line-height:1.12}
h1 {font-size:clamp(46px,5.2vw,73px);font-weight:680;max-width:800px;margin-bottom:27px}
h1 em {font-style:normal;color:#77b5ff}
.hero-lead {color:#b3c0d1;max-width:555px;font-size:17px;line-height:1.83;margin-bottom:34px}
.hero-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn {display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:49px;padding:13px 20px;border-radius:8px;font-size:13px;font-weight:690;transition:transform .2s,background .2s,border-color .2s}
.btn:hover {transform:translateY(-2px)}
.btn-primary {background:linear-gradient(110deg,#3879ee,#4e9bf8);box-shadow:0 5px 30px rgba(58,127,241,.22);color:#fff}
.btn-primary:hover {background:linear-gradient(110deg,#458bff,#65aaff)}
.btn-secondary {border:1px solid rgba(164,184,210,.29);background:rgba(255,255,255,.025);color:#dfe8f7}
.btn-secondary:hover {background:rgba(255,255,255,.06);border-color:#6b89b4}
.btn svg {width:17px;height:17px}
.hero-footnote {display:flex;align-items:center;gap:10px;margin-top:43px;font-size:11.5px;color:#788da5;letter-spacing:.02em}
.hero-footnote .rule {width:34px;height:1px;background:#4e617a}
.visual {height:500px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;min-width:0}
.visual::before {content:"";width:76%;aspect-ratio:1;position:absolute;top:12%;left:12%;border-radius:50%;background:radial-gradient(circle,rgba(37,107,222,.19),transparent 67%);filter:blur(21px);z-index:-1}
.visual-grid {position:absolute;inset:10%;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0,transparent 58px,rgba(89,148,227,.12) 59px,transparent 60px);opacity:.8}
.orbital {width:min(93%,480px);height:auto;overflow:visible;filter:drop-shadow(0 10px 22px rgba(30,95,182,.10))}
.orbital .slow-spin {transform-origin:250px 250px;animation:spin 90s linear infinite}
.orbital .glow-pulse {animation:pulse 5s ease-in-out infinite}
@keyframes spin {to {transform:rotate(360deg)}}
@keyframes pulse {50%{opacity:.6}}
.visual-note {position:absolute;display:flex;flex-direction:column;gap:4px;min-width:142px;background:rgba(15,27,43,.84);border:1px solid rgba(118,157,207,.25);border-radius:10px;padding:13px 16px;box-shadow:0 12px 32px rgba(0,0,0,.22);backdrop-filter:blur(10px)}
.visual-note small {font-size:9px;letter-spacing:.17em;color:#86a7d4;text-transform:uppercase;font-weight:760}
.visual-note strong {font-size:12px;letter-spacing:.02em;color:#d9e7ff;font-weight:600}
.visual-note.top {top:45px;right:0}
.visual-note.bottom {bottom:35px;left:0}
.note-dot {display:inline-block;width:7px;height:7px;background:#6bbdf9;border-radius:50%;margin-right:6px;box-shadow:0 0 12px #4c91f4}
.ticker {border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(15,25,39,.62)}
.ticker-row {min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.ticker-label {font-size:10px;font-weight:700;letter-spacing:.21em;color:#7f93ad;text-transform:uppercase;max-width:140px;line-height:1.8}
.ticker-list {display:flex;flex-wrap:wrap;gap:20px 50px;align-items:center;justify-content:space-between;flex:1;max-width:830px}
.ticker-item {display:flex;align-items:center;gap:11px;color:#b6c6dc;font-size:13px;font-weight:620;white-space:nowrap}
.ticker-item::before {content:"";width:6px;height:6px;border:1.5px solid #70abf6;transform:rotate(45deg)}
.section {padding:126px 0}
.section-head {display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}
.section-head h2 {font-size:clamp(32px,3.7vw,51px);font-weight:670;max-width:665px;margin:0}
.section-head p:not(.eyebrow) {color:var(--muted);font-size:15px;line-height:1.85;max-width:390px;margin:0}
.section-head .eyebrow {margin-bottom:20px}
.section-dark {background:#0b1422}
.solutions-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.solution-card {min-height:318px;padding:29px 25px 28px;border:1px solid rgba(151,173,211,.16);border-radius:13px;background:linear-gradient(160deg,rgba(255,255,255,.042),rgba(255,255,255,.014));transition:border-color .25s,transform .25s,background .25s;display:flex;flex-direction:column;align-items:flex-start}
.solution-card:hover {border-color:rgba(95,163,255,.5);transform:translateY(-5px);background:linear-gradient(160deg,rgba(56,101,179,.12),rgba(255,255,255,.017))}
.solution-index {color:#688bb8;font-size:10px;letter-spacing:.12em;font-weight:750;margin-bottom:46px}
.solution-icon {width:36px;height:36px;margin-bottom:25px;color:#87b7ff}
.solution-card h3 {font-size:20px;font-weight:650;letter-spacing:-.035em;margin:0 0 16px}
.solution-card p {color:#99aabf;font-size:13px;line-height:1.8;margin:0}
.feature {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;}
.feature .section-head {display:block;margin-bottom:25px}
.feature .section-head h2 {max-width:570px}
.feature-copy>p {color:var(--muted);font-size:16px;line-height:1.85;max-width:540px}
.feature-qualities {margin:32px 0 0;padding:0;list-style:none;display:grid;gap:15px}
.feature-qualities li {display:flex;align-items:center;gap:14px;font-weight:550;font-size:14px;color:#d5e1f0}
.feature-qualities li::before {content:"↗";width:28px;height:28px;display:grid;place-items:center;border:1px solid #34577f;border-radius:7px;color:#88b8ff}
.research-panel {height:465px;border:1px solid rgba(130,168,220,.22);border-radius:18px;background:radial-gradient(circle at 48% 44%,rgba(25,75,151,.28),transparent 44%),linear-gradient(140deg,#13243b,#0c1727 70%);box-shadow:var(--shadow);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.research-panel::before {content:"";position:absolute;inset:20px;background-image:linear-gradient(rgba(168,195,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(168,195,232,.05) 1px,transparent 1px);background-size:37px 37px;mask-image:radial-gradient(circle,#000 25%,transparent 83%)}
.research-ring {width:275px;aspect-ratio:1;border:1px solid rgba(108,165,239,.30);border-radius:50%;position:relative;display:grid;place-items:center}
.research-ring::before {content:"";position:absolute;inset:26px;border:1px dashed rgba(136,191,248,.43);border-radius:50%;animation:spin 80s linear infinite}
.research-ring::after {content:"";position:absolute;inset:70px;border:1px solid rgba(135,197,255,.56);border-radius:50%;box-shadow:0 0 65px rgba(53,119,229,.26),inset 0 0 35px rgba(53,119,229,.13)}
.research-core {width:56px;height:56px;border:1px solid #83bdff;transform:rotate(45deg);display:grid;place-items:center;background:linear-gradient(140deg,#234c86,#112c4e);box-shadow:0 0 40px rgba(59,137,250,.28);z-index:1}
.research-core span {width:15px;height:15px;border:1px solid #cde7ff;border-radius:50%}
.panel-caption {position:absolute;left:27px;bottom:22px;color:#95b5dc;font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.panel-top {position:absolute;top:22px;right:24px;color:#7898c3;font-size:10px;letter-spacing:.14em}
.work {background:#0c1523}
.steps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:50px}
.step {position:relative;border-top:1px solid rgba(132,159,201,.27);padding-top:27px}
.step::before {content:"";position:absolute;top:-3px;left:0;width:6px;height:6px;border-radius:100%;background:#73b7ff}
.step-index {font-size:11px;letter-spacing:.17em;font-weight:750;color:#74aafb}
.step h3 {font-size:18px;margin:27px 0 12px;font-weight:640}
.step p {font-size:13px;color:#99aabf;line-height:1.75;max-width:260px}
.technologies {border-top:1px solid var(--line)}
.tech-wrap {display:flex;align-items:center;justify-content:space-between;gap:55px}
.tech-wrap h2 {font-size:clamp(29px,3.4vw,43px);max-width:450px;margin:0}
.tech-tags {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:640px}
.tech-tags span {border:1px solid #30445e;color:#b5c9e0;border-radius:7px;padding:11px 15px;font-size:12px;letter-spacing:.015em;background:rgba(255,255,255,.022)}
.contact {padding:35px 0 100px}
.contact-panel {position:relative;overflow:hidden;border:1px solid rgba(100,154,237,.28);background:radial-gradient(ellipse at 93% 12%,rgba(73,123,224,.21),transparent 47%),linear-gradient(125deg,#152844,#0c1b30);border-radius:21px;padding:75px 8%;display:flex;align-items:center;justify-content:space-between;gap:45px}
.contact-panel::after {content:"";position:absolute;pointer-events:none;width:320px;height:320px;border:1px solid rgba(124,172,245,.17);border-radius:50%;right:-70px;bottom:-200px;box-shadow:0 0 0 74px rgba(111,166,241,.035),0 0 0 148px rgba(111,166,241,.025)}
.contact-panel h2 {font-size:clamp(33px,4vw,53px);max-width:650px;margin-bottom:16px}
.contact-panel p:not(.eyebrow) {font-size:15px;color:#b9c9dc;max-width:570px;margin:0;line-height:1.8}
.contact-actions {position:relative;z-index:1;flex:none}
.contact-link {display:flex;align-items:center;gap:11px;font-size:13px;font-weight:660;color:#fff;border:1px solid rgba(173,204,255,.55);background:rgba(255,255,255,.06);padding:15px 22px;border-radius:8px;transition:background .2s}
.contact-link:hover {background:rgba(71,144,255,.19)}
.contact-note {font-size:11px!important;color:#9db3cd!important;max-width:230px;margin-top:12px!important}
.contact-link[aria-disabled="true"] {opacity:.45;cursor:not-allowed;pointer-events:none}
.site-footer {border-top:1px solid var(--line);padding:37px 0 31px;background:#070c15}
.footer-row {display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-bottom {color:#6f819a;font-size:11px;margin:22px 0 0}
.footer-links {display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.footer-links a {color:#9cacbf;font-size:12px;transition:color .2s}
.footer-links a:hover {color:#fff}
.footer-brand {display:flex;align-items:center;gap:14px}
.footer-brand .logo-symbol {width:27px;height:27px}
.footer-brand strong {font-size:14px}
.legal-page {padding:75px 0 100px;min-height:56vh}
.legal-page h1 {font-size:clamp(35px,4.3vw,56px)}
.legal-body {max-width:780px;color:#c2d0df;font-size:15px;line-height:1.9}
.legal-body h2 {margin-top:37px;font-size:23px;color:#f4f7fc}
.legal-warning {padding:18px 21px;margin:30px 0;border-radius:9px;border:1px solid rgba(255,194,116,.40);background:rgba(255,164,49,.06);color:#ffca8f}
.reveal {transition:opacity .65s ease,transform .65s ease;opacity:1;transform:none}
.js .reveal:not(.is-visible) {opacity:0;transform:translateY(18px)}
@media (max-width:1100px) {
 .container {width:min(calc(100% - 58px),var(--container))}
 .site-nav {gap:17px}
 .header-row {gap:24px}
 .hero {padding-top:75px}
 .visual {height:440px}
 .visual-note.top {right:-7px}
 .solutions-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .solution-card {min-height:290px}
 .solution-index {margin-bottom:25px}
 .feature {gap:6%}
}
@media (max-width:860px) {
 .site-header {height:76px}
 .header-actions {margin-left:auto}
 .site-nav {display:none;position:absolute;top:75px;left:0;right:0;background:#101b2b;border-bottom:1px solid var(--line-strong);padding:18px 28px 25px;flex-direction:column;align-items:stretch;gap:5px;box-shadow:0 18px 30px rgba(0,0,0,.30)}
 .site-nav.is-open {display:flex}
 .site-nav a {font-size:15px;padding:11px 5px}
 .menu-toggle {display:flex;margin-left:0}
 .hero-grid {grid-template-columns:1fr}
 .hero {padding:76px 0 55px}
 .hero-lead {max-width:640px}
 .visual {height:400px;max-width:590px;margin:18px auto 0;width:100%}
 .visual-note.top {top:20px;right:7px}
 .visual-note.bottom {bottom:12px;left:5px}
 .ticker-row {align-items:flex-start;flex-direction:column;padding-block:25px;gap:15px}
 .ticker-list {width:100%}
 .section {padding:90px 0}
 .section-head {align-items:flex-start;flex-direction:column;gap:18px}
 .feature {grid-template-columns:1fr;gap:45px}
 .feature .research-panel {max-width:660px;width:100%}
 .contact-panel {padding:60px 6%;flex-direction:column;align-items:flex-start}
 .tech-wrap {align-items:flex-start;flex-direction:column;gap:25px}
 .tech-tags {justify-content:flex-start}
}
@media (max-width:580px) {
 .container {width:calc(100% - 36px)}
 .logo {gap:9px;font-size:17px}
 .logo-symbol {width:31px;height:31px}
 .logo small {font-size:8px;letter-spacing:.16em;margin-top:6px}
 .site-header {height:70px}
 .site-nav {top:69px}
 .header-row {gap:12px}
 .mini-cta {display:none}
 .lang-toggle {font-size:11px}
 .hero {padding-top:60px;padding-bottom:55px}
 .eyebrow {font-size:9px;letter-spacing:.17em;margin-bottom:22px}
 h1 {font-size:clamp(41px,11vw,58px);margin-bottom:23px}
 .hero-lead {font-size:15px;line-height:1.8;margin-bottom:28px}
 .hero-actions {align-items:stretch;flex-direction:column}
 .btn {width:100%}
 .hero-footnote {margin-top:29px}
 .visual {height:330px;margin-top:30px}
 .visual-note {padding:9px 11px;min-width:117px}
 .visual-note strong {font-size:10px}
 .visual-note small {font-size:7px}
 .visual-note.top {top:4px;right:0}
 .visual-note.bottom {bottom:1px;left:0}
 .ticker-list {justify-content:flex-start;gap:12px 22px}
 .ticker-item {font-size:11px}
 .section {padding:75px 0}
 .section-head {margin-bottom:30px}
 .section-head h2 {font-size:34px}
 .section-head p:not(.eyebrow) {font-size:14px}
 .solutions-grid {grid-template-columns:1fr;gap:12px}
 .solution-card {min-height:245px;padding:26px}
 .solution-index {margin-bottom:25px}
 .solution-icon {margin-bottom:15px}
 .feature-copy>p {font-size:15px}
 .research-panel {height:340px}
 .research-ring {width:230px}
 .steps {grid-template-columns:1fr 1fr;gap:32px 17px}
 .step h3 {font-size:16px}
 .step p {font-size:12px}
 .contact {padding:10px 0 75px}
 .contact-panel {padding:41px 24px;gap:28px}
 .contact-panel h2 {font-size:35px}
 .contact-actions,.contact-link {width:100%;justify-content:center}
 .footer-row {align-items:flex-start;flex-direction:column;gap:22px}
 .footer-links {gap:12px 23px}
}
@media (prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}
 *,*::before,*::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .js .reveal:not(.is-visible){opacity:1;transform:none}
}

.contact-label {font-size:13px!important;color:#9db3cd!important;margin:0 0 8px!important;max-width:280px}
.contact-email {display:inline-block;font-size:clamp(20px,2.2vw,26px);font-weight:660;color:#fff;letter-spacing:-.01em;text-decoration:none;border-bottom:1px solid rgba(173,204,255,.45);padding-bottom:3px;transition:color .2s,border-color .2s}
.contact-email:hover {color:#9cc4ff;border-color:#9cc4ff}
@media (max-width:760px){.contact-actions{text-align:left}}
