/* HDD Pro — prémium réteg: az új HD Direkt oldal minősége, lila Pro-arculattal.
   Az alap (index.html beágyazott stílusa) fölé töltődik be; a mozgást a pro-fx.js vezérli. */
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
:root{
  --v:#8B2BFF;--v2:#C77DFF;--pk:#FF3DBE;--or:#F47B20;
  --glass:rgba(27,19,48,.55);--ease:cubic-bezier(.2,.8,.2,1);--r:22px;
}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;background:#07060d;overflow-x:clip}
h1,h2,h3,.display{font-family:'Space Grotesk',system-ui,sans-serif!important;font-weight:700!important;letter-spacing:-.04em;line-height:1.04}
.mono,.eyebrow{font-family:'JetBrains Mono',monospace!important}
::selection{background:var(--pk);color:#fff}
section{position:relative;border-bottom:0!important;padding:clamp(50px,6.3vw,91px) 0}
.wrap{max-width:1240px}

/* --- háttér: lassan úszó fényfoltok + finom rács + zaj --- */
.fx-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#07060d}
.fx-bg i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
.fx-bg i:nth-child(1){width:46vw;height:46vw;left:-12vw;top:-10vw;background:#5a16c9;animation:fxb1 22s ease-in-out infinite alternate}
.fx-bg i:nth-child(2){width:38vw;height:38vw;right:-10vw;top:30vh;background:#b3148a;opacity:.3;animation:fxb2 28s ease-in-out infinite alternate}
.fx-bg i:nth-child(3){width:30vw;height:30vw;left:30vw;bottom:-14vw;background:#3a1cff;opacity:.28;animation:fxb1 34s ease-in-out infinite alternate-reverse}
.fx-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(199,125,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(199,125,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 75%)}
@keyframes fxb1{to{transform:translate(14vw,10vh) scale(1.2)}}
@keyframes fxb2{to{transform:translate(-16vw,-12vh) scale(.85)}}

/* --- görgetési csík + kurzorfény --- */
.fx-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:90;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:linear-gradient(90deg,var(--v),var(--pk),var(--or));box-shadow:0 0 18px var(--pk)}
.fx-cursor{position:fixed;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(139,43,255,.2),rgba(255,61,190,.08) 40%,transparent 68%);transform:translate3d(var(--cx,-999px),var(--cy,-999px),0);mix-blend-mode:screen}
.fx-dot{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;z-index:95;pointer-events:none;background:#fff;mix-blend-mode:difference;transform:translate3d(var(--dx,-99px),var(--dy,-99px),0) scale(var(--ds,1));transition:transform .12s linear}
@media (hover:none),(pointer:coarse){.fx-cursor,.fx-dot{display:none}}

/* --- fejléc: üveg, görgetésre összehúzódik --- */
header{background:transparent!important;border-bottom:0!important;transition:padding .4s var(--ease)}
header .nav-row{margin-top:12px;padding:12px 18px!important;border-radius:999px;border:1px solid rgba(199,125,255,.14);background:rgba(11,10,18,.45);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);transition:background-color .4s,box-shadow .4s,border-color .4s}
header.is-scrolled .nav-row{background:rgba(11,10,18,.82);border-color:rgba(199,125,255,.3);box-shadow:0 18px 50px -24px rgba(139,43,255,.7)}
nav.main-links a{position:relative;padding:8px 2px;transition:color .25s}
nav.main-links a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--v),var(--pk));transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease)}
nav.main-links a:hover{color:#fff}
nav.main-links a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.lang-toggle{border-radius:999px!important}
.pro-pill{border-radius:6px;box-shadow:0 0 22px rgba(139,43,255,.8)}

/* --- gombok: kapszula, fénycsík, mágneses --- */
.btn{position:relative;overflow:hidden;border-radius:999px!important;padding:15px 28px!important;font-family:'Space Grotesk',sans-serif!important;font-weight:700!important;font-size:15px!important;transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .35s var(--ease),box-shadow .35s,background-color .3s,border-color .3s,color .3s;isolation:isolate}
.btn-primary{background:linear-gradient(135deg,#a855ff,var(--v) 50%,#6417d8)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 18px 40px -16px rgba(139,43,255,.95)}
.btn-primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 24px 60px -14px rgba(255,61,190,.9)}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn:hover::before{transform:translateX(120%)}
.btn-ghost{background:rgba(255,255,255,.03)!important;border-color:rgba(199,125,255,.35)!important;backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--pk)!important;color:#fff!important;box-shadow:0 0 0 1px var(--pk),0 18px 44px -18px var(--pk)}

/* --- hero --- */
.hero{min-height:min(100svh,940px);display:flex;align-items:center;padding:150px 0 90px!important;margin-top:-86px;border-bottom:0!important;overflow:hidden}
.hero > .wrap{width:100%}
.hero-inner{max-width:980px!important}
.fx-net{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero-grid{z-index:0;transform:translate3d(calc(var(--px,0)*-26px),calc(var(--py,0)*-18px),0) scale(1.06);transition:transform .5s var(--ease)}
.hero-grid .heritage-geometry polygon{stroke-dasharray:1600;stroke-dashoffset:1600;animation:fxdraw 3.2s var(--ease) .3s forwards}
.hero-grid .heritage-geometry polygon:nth-child(2n){animation-delay:.7s}
.hero-grid .heritage-geometry{transform-origin:70% 40%;animation:fxfloat 16s ease-in-out infinite alternate}
@keyframes fxdraw{to{stroke-dashoffset:0}}
@keyframes fxfloat{to{transform:rotate(5deg) translateY(-14px)}}
.hero-inner{z-index:2}
.hero h1{font-size:clamp(42px,7.2vw,104px)!important;line-height:.96!important;letter-spacing:-.055em!important;margin-top:26px!important}
.hero .lede{font-size:clamp(17px,1.5vw,21px)!important;max-width:620px;color:#c9c0e6!important;margin-top:28px!important}
.fx-grad{background:linear-gradient(100deg,#fff 0%,var(--v2) 30%,var(--pk) 55%,var(--or) 80%,#fff 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxshine 7s linear infinite}
@keyframes fxshine{to{background-position:-260% 0}}
.fx-scroll{position:absolute;left:50%;bottom:26px;z-index:2;display:grid;justify-items:center;gap:10px;font:500 10.5px 'JetBrains Mono',monospace;letter-spacing:.3em;color:#8f84b4;transform:translateX(-50%)}
.fx-scroll::after{content:'';width:1px;height:46px;background:linear-gradient(var(--pk),transparent);animation:fxdrop 1.9s var(--ease) infinite;transform-origin:50% 0}
@keyframes fxdrop{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.hero .fx-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.hero .fx-chips span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(199,125,255,.22);background:rgba(255,255,255,.035);font:500 12px 'JetBrains Mono',monospace;letter-spacing:.08em;color:#cfc6ec;backdrop-filter:blur(8px)}
.hero .fx-chips span::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--pk);box-shadow:0 0 12px var(--pk);animation:fxpulse 2s ease-in-out infinite}
@keyframes fxpulse{50%{transform:scale(1.8);opacity:.4}}

/* --- szavankénti belépő --- */
.fx-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.fx-w > i{display:inline-block;font-style:normal;transform:translateY(110%) rotate(6deg);opacity:0;transition:transform 1s var(--ease),opacity .8s;transition-delay:calc(var(--wi)*55ms)}
.is-in .fx-w > i,.fx-w.is-in > i{transform:none;opacity:1}
[data-fx]{opacity:0;transform:translateY(46px) scale(.985);filter:blur(8px);transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter .9s;transition-delay:calc(var(--i,0)*90ms)}
[data-fx].is-in{opacity:1;transform:none;filter:none}

/* --- futószalag --- */
.fx-ticker{position:relative;z-index:3;margin:-34px 0;padding:0;transform:rotate(-1.6deg) scale(1.03);background:linear-gradient(90deg,var(--v),#b012c9 50%,var(--pk));box-shadow:0 30px 80px -30px rgba(255,61,190,.8);overflow:hidden}
.fx-ticker div{display:flex;width:max-content;animation:fxmarq 34s linear infinite}
.fx-ticker:hover div{animation-play-state:paused}
.fx-ticker span{display:inline-flex;align-items:center;gap:28px;padding:18px 14px 18px 28px;font:700 clamp(20px,2.4vw,34px) 'Space Grotesk',sans-serif;letter-spacing:-.03em;color:#fff;white-space:nowrap}
.fx-ticker span:nth-child(even){color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.85)}
.fx-ticker span::after{content:'';width:10px;height:10px;transform:rotate(45deg);background:#fff}
@keyframes fxmarq{to{transform:translateX(-50%)}}

/* --- számok --- */
.stats{background:transparent!important;padding:clamp(42px,4.9vw,70px) 0 clamp(63px,6.3vw,91px)!important}
.stats-grid{gap:18px!important}
.stat{position:relative;padding:30px 26px!important;border:1px solid rgba(199,125,255,.16)!important;border-radius:var(--r);background:linear-gradient(160deg,rgba(43,32,68,.7),rgba(15,11,26,.7));backdrop-filter:blur(14px);overflow:hidden;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),border-color .4s,box-shadow .4s}
.stat::before,.service-row::before,.step::before,.path::before,form::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(380px circle at var(--sx,50%) var(--sy,50%),rgba(255,61,190,.2),transparent 62%);opacity:0;transition:opacity .4s}
.stat:hover::before,.service-row:hover::before,.step:hover::before,.path:hover::before,form:hover::before{opacity:1}
.stat:hover{border-color:rgba(255,61,190,.55)!important;box-shadow:0 30px 70px -34px var(--pk)}
.stat-num{font-family:'Space Grotesk',sans-serif!important;font-weight:700!important;font-size:clamp(44px,5.2vw,78px)!important;letter-spacing:-.05em;line-height:1;background:linear-gradient(120deg,#fff,var(--v2) 45%,var(--pk));-webkit-background-clip:text;background-clip:text;color:transparent!important}
.stat-label{font-size:14px!important;max-width:24ch!important;margin-top:14px!important}
.stat::after{content:'';position:absolute;left:26px;top:0;width:44px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--v),var(--pk))}

/* --- idézet: görgetésre kivilágosodó szavak --- */
.thesis{padding:clamp(63px,8.4vw,126px) 0!important;background:transparent!important}
.thesis blockquote{font-family:'Space Grotesk',sans-serif!important;font-weight:700!important;font-size:clamp(30px,5vw,72px)!important;line-height:1.06!important;letter-spacing:-.045em!important;max-width:20ch;margin:0!important;border:0!important;padding:0!important;font-style:normal!important}
.thesis blockquote .fx-q{color:rgba(246,243,255,.14);transition:color .35s,text-shadow .35s}
.thesis blockquote .fx-q.on{color:#fff}
.thesis blockquote .fx-q.hot{color:var(--v2);text-shadow:0 0 40px rgba(199,125,255,.7)}
.thesis cite{display:inline-block;margin-top:34px;font:500 12px 'JetBrains Mono',monospace!important;letter-spacing:.2em;text-transform:uppercase;color:var(--v2)!important;font-style:normal}

/* --- címsorok --- */
h2{font-size:clamp(34px,4.6vw,64px)!important;max-width:16ch!important}
.why h2,.about h2,.form-intro h2{max-width:13ch!important}
.why-body p,.about-body p,.cap,.form-intro p{font-size:clamp(16px,1.25vw,18px)!important;line-height:1.7!important;color:#bdb3dc!important}
.why-list li{position:relative;padding:20px 22px!important;margin-top:12px;border:1px solid rgba(199,125,255,.14);border-radius:18px;background:rgba(255,255,255,.025);transition:transform .45s var(--ease),border-color .35s,background-color .35s}
.why-list li:hover{transform:translateX(10px);border-color:var(--pk);background:rgba(255,61,190,.07)}
.why-list .tick{box-shadow:0 0 16px var(--pk)}

/* --- szakterületek: interaktív sorok --- */
.service-list{border:0!important;display:grid;gap:10px;counter-reset:s}
.service-row{position:relative;overflow:hidden;border:1px solid rgba(199,125,255,.14)!important;border-radius:20px;padding:24px 28px!important;background:rgba(255,255,255,.022);cursor:default;transition:transform .5s var(--ease),border-color .35s,background-color .35s,padding .5s var(--ease),box-shadow .4s}
.service-row::after{content:'→';position:absolute;right:28px;top:50%;font:700 26px 'Space Grotesk',sans-serif;color:var(--pk);transform:translate(-30px,-50%);opacity:0;transition:transform .5s var(--ease),opacity .35s}
.service-row:hover{transform:translateX(12px) scale(1.012);border-color:rgba(255,61,190,.6)!important;background:linear-gradient(100deg,rgba(139,43,255,.2),rgba(255,61,190,.06));box-shadow:0 26px 70px -40px var(--pk)}
.service-row:hover::after{transform:translate(0,-50%);opacity:1}
.service-list:hover .service-row:not(:hover){opacity:.45}
.service-name{font-family:'Space Grotesk',sans-serif!important;font-weight:700!important;font-size:clamp(20px,2.2vw,30px)!important;letter-spacing:-.03em;transition:color .3s,letter-spacing .5s var(--ease)}
.service-row:hover .service-name{color:#fff;letter-spacing:-.01em}
.code-badge{border-radius:8px!important;transition:background-color .3s,color .3s,box-shadow .3s,transform .5s var(--ease)}
.service-row:hover .code-badge{background:var(--pk)!important;color:#fff!important;border-color:var(--pk)!important;box-shadow:0 0 26px var(--pk);transform:rotate(-6deg) scale(1.12)}

/* --- folyamat: görgetésre húzódó vonal --- */
.process{background:transparent!important}
.process-grid{position:relative;gap:18px!important;border:0!important;margin-top:64px!important}
.fx-line{position:absolute;left:0;right:0;top:-30px;height:2px;background:rgba(199,125,255,.14);border-radius:2px}
.fx-line i{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--lp,0));background:linear-gradient(90deg,var(--v),var(--pk),var(--or));box-shadow:0 0 22px var(--pk);border-radius:2px}
.step{position:relative;overflow:hidden;padding:30px 26px!important;border:1px solid rgba(199,125,255,.14)!important;border-radius:var(--r);background:linear-gradient(170deg,rgba(43,32,68,.55),rgba(11,10,18,.6));transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),border-color .4s,box-shadow .4s}
.step.on{border-color:rgba(255,61,190,.5)!important;box-shadow:0 30px 70px -40px var(--pk)}
.step-num{font-family:'Space Grotesk',sans-serif!important;font-weight:700;font-size:clamp(54px,5vw,84px)!important;line-height:.9;letter-spacing:-.06em;color:transparent!important;-webkit-text-stroke:1.5px rgba(199,125,255,.45);transition:color .6s,-webkit-text-stroke-color .6s,text-shadow .6s}
.step.on .step-num{color:#fff!important;-webkit-text-stroke-color:transparent;text-shadow:0 0 40px var(--pk)}
.step h3{font-size:21px!important;margin-top:18px!important}
.step p{font-size:15px!important;margin-top:8px!important}

/* --- két út: forgó fényperem --- */
.paths-grid{border:0!important;gap:22px!important;background:transparent!important}
.path-divider{display:none!important}
.path{position:relative;overflow:hidden;border-radius:28px;padding:clamp(30px,4vw,54px)!important;border:0!important;background:#100b1e!important;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),box-shadow .45s;isolation:isolate}
.path::after{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang),transparent 0 55%,var(--v) 70%,var(--pk) 82%,var(--or) 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:fxspin 6s linear infinite}
.path.candidates::after{animation-direction:reverse;animation-duration:8s}
@keyframes fxspin{to{--ang:360deg}}
.path:hover{box-shadow:0 50px 110px -50px var(--v)}
.path h3{font-size:clamp(26px,3vw,42px)!important;line-height:1.05}
.path p{font-size:16px!important;color:#bdb3dc!important}

/* --- űrlapok: üvegkártya --- */
.form-section{background:transparent!important}
form{position:relative;overflow:hidden;padding:clamp(22px,3vw,40px)!important;border:1px solid rgba(199,125,255,.18)!important;border-radius:28px;background:var(--glass)!important;backdrop-filter:blur(18px);box-shadow:0 50px 120px -60px rgba(139,43,255,.9)}
form > *{position:relative}
input[type=text],input[type=email],input[type=tel],select,textarea,input[type=file]{border-radius:14px!important;border:1px solid rgba(199,125,255,.2)!important;background:rgba(7,6,13,.6)!important;color:#fff!important;padding:14px 16px!important;font-family:inherit!important;font-size:15px!important;transition:border-color .3s,box-shadow .3s,transform .4s var(--ease)!important}
input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--pk)!important;box-shadow:0 0 0 4px rgba(255,61,190,.16),0 18px 40px -22px var(--pk);transform:translateY(-2px)}
label{font:500 11.5px 'JetBrains Mono',monospace!important;letter-spacing:.12em;text-transform:uppercase;color:#a99fca!important}
.checkbox-row{text-transform:none!important;letter-spacing:0!important;font:500 14px 'Manrope',sans-serif!important}
.checkbox-row input{accent-color:var(--pk);width:18px;height:18px}

/* --- rólunk / iparágak --- */
.about{background:transparent!important}
.industries{border:0!important;display:grid;gap:10px}
.industries > div{border:1px solid rgba(199,125,255,.14)!important;border-radius:18px;padding:22px 24px!important;font:700 clamp(17px,1.6vw,22px) 'Space Grotesk',sans-serif;letter-spacing:-.02em;background:rgba(255,255,255,.022);transition:transform .45s var(--ease),border-color .35s,background-color .35s}
.industries > div:hover{transform:translateX(10px);border-color:var(--pk)!important;background:rgba(255,61,190,.07)}
.industries .mono{color:var(--pk)!important}

/* --- lábléc --- */
footer{position:relative;overflow:hidden;background:#05040a!important;border-top:1px solid rgba(199,125,255,.14)!important}
.fx-giant{display:flex;width:max-content;margin:0 0 40px;font:700 clamp(90px,17vw,260px)/.86 'Space Grotesk',sans-serif;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(199,125,255,.28);white-space:nowrap;animation:fxmarq 40s linear infinite;user-select:none}
.fx-giant b{padding-right:.35em;font-weight:700}
.fx-giant b:nth-child(odd){background:linear-gradient(100deg,var(--v),var(--pk),var(--or));-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:0}
footer a{transition:color .25s,padding-left .35s var(--ease)}
footer a:hover{color:var(--pk)!important;padding-left:6px}

/* --- mobil --- */
@media (max-width:900px){
  header .nav-row{margin-top:8px;padding:10px 14px!important}
  .hero{min-height:auto;padding:130px 0 70px!important}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .stat{border:1px solid rgba(199,125,255,.16)!important;padding:22px 18px!important}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fx-scroll{display:none}
  .service-row:hover{transform:none}
  .service-list:hover .service-row:not(:hover){opacity:1}
}
@media (max-width:560px){
  .process-grid{grid-template-columns:minmax(0,1fr)!important}
  .fx-line{display:none}
  .btn{padding:14px 22px!important}
  .hero-ctas .btn{flex:1 1 100%;justify-content:center}
  .service-row{padding:20px!important}
  .service-row::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  [data-fx],.fx-w > i{opacity:1!important;transform:none!important;filter:none!important}
  .thesis blockquote .fx-q{color:#fff}
  .fx-cursor,.fx-dot,.fx-net{display:none}
}

/* --- élő pozíciók (ATS) --- */
.pro-jobs h2{max-width:18ch!important}
.pj-live{display:inline-flex;align-items:center;gap:10px}
.pj-live::before{content:'';width:8px!important;height:8px!important;border-radius:50%;background:#3dffa8!important;box-shadow:0 0 14px #3dffa8;animation:fxpulse 1.8s ease-in-out infinite}
.pj-tools{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:38px 0 22px}
.pj-search{flex:1 1 280px;max-width:420px}
.pj-search input{width:100%;border-radius:999px!important;padding:14px 22px!important}
.pj-chips{display:flex;flex-wrap:wrap;gap:8px}
.pj-chips button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(199,125,255,.22);background:rgba(255,255,255,.03);color:#cfc6ec;font:700 13.5px 'Space Grotesk',sans-serif;cursor:pointer;transition:background-color .3s,border-color .3s,color .3s,transform .4s var(--ease)}
.pj-chips button b{font:500 11px 'JetBrains Mono',monospace;opacity:.7}
.pj-chips button:hover{transform:translateY(-2px);border-color:var(--pk);color:#fff}
.pj-chips button[aria-pressed=true]{background:linear-gradient(135deg,var(--v),var(--pk));border-color:transparent;color:#fff;box-shadow:0 14px 34px -16px var(--pk)}
.pj-count{margin-left:auto;font:500 12px 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#a99fca}
.pj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:220px}
.pj-grid[aria-busy=true]::before{content:'';grid-column:1/-1;height:220px;border-radius:var(--r);background:linear-gradient(100deg,rgba(255,255,255,.03) 30%,rgba(199,125,255,.14) 50%,rgba(255,255,255,.03) 70%);background-size:220% 100%;animation:fxshine 1.6s linear infinite}
.pj{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:var(--r);border:1px solid rgba(199,125,255,.16);background:linear-gradient(165deg,rgba(43,32,68,.6),rgba(11,10,18,.7));text-decoration:none;color:inherit;overflow:hidden;opacity:0;transform:translateY(34px) scale(.97);transition:opacity .7s var(--ease),transform .8s var(--ease),border-color .35s,box-shadow .4s;transition-delay:calc(var(--i)*60ms),calc(var(--i)*60ms),0s,0s}
.pj.is-in{opacity:1;transform:none}
.pj::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(320px circle at var(--sx,50%) var(--sy,50%),rgba(255,61,190,.22),transparent 62%);opacity:0;transition:opacity .4s}
.pj:hover::before{opacity:1}
.pj:hover{border-color:rgba(255,61,190,.6);box-shadow:0 34px 80px -40px var(--pk);transform:translateY(-6px)}
.pj > *{position:relative}
.pj-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:500 11.5px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#a99fca}
.pj-top b{padding:4px 8px;border-radius:6px;background:rgba(139,43,255,.25);border:1px solid rgba(199,125,255,.4);color:#e7d6ff;font-weight:500}
.pj-top i{font-style:normal}
.pj-top em{margin-left:auto;font-style:normal;color:var(--v2)}
.pj h3{font-size:clamp(19px,1.7vw,23px)!important;line-height:1.15;letter-spacing:-.03em}
.pj p{font-size:14px;line-height:1.6;color:#b3a9d2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pj-more{margin-top:auto;padding-top:8px;font:700 14px 'Space Grotesk',sans-serif;color:#fff}
.pj-more u{display:inline-block;text-decoration:none;color:var(--pk);transition:transform .4s var(--ease)}
.pj:hover .pj-more u{transform:translateX(8px)}
.pj-empty{grid-column:1/-1;padding:48px 24px;border:1px dashed rgba(199,125,255,.3);border-radius:var(--r);text-align:center;color:#b3a9d2}
.pj-foot{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:26px}
@media (max-width:980px){.pj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pj-grid{grid-template-columns:minmax(0,1fr)}.pj-count{margin-left:0;width:100%}}
input[type=search]{border-radius:999px!important;border:1px solid rgba(199,125,255,.2)!important;background:rgba(7,6,13,.6)!important;color:#fff!important;font-family:inherit!important;font-size:15px!important}
input[type=search]::placeholder{color:#8f84b4}
.paths-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:820px){.paths-grid{grid-template-columns:minmax(0,1fr)!important}}
.thesis blockquote{max-width:24ch}
.pj-all{margin-right:auto}
.pj.is-extra{display:none}
.pj-grid.is-open .pj.is-extra{display:flex}
.about-body{margin-top:22px}
@media (max-width:900px){
  header .nav-row{flex-wrap:wrap;border-radius:24px;row-gap:8px}
  nav.main-links{display:flex!important;order:3;width:100%;gap:20px;overflow-x:auto;white-space:nowrap;padding:2px 4px 4px;font-size:13.5px;scrollbar-width:none;border-top:1px solid rgba(199,125,255,.12)}
  nav.main-links::-webkit-scrollbar{display:none}
  nav.main-links a{flex:none;padding:8px 0}
  .hero{padding-top:170px!important}
}
html{overflow-x:clip}main,footer{overflow-x:clip}

/* --- pozíciókártya gombjai + helyben jelentkezés (ATS) --- */
.pj-act{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:10px}
.pj-apply{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:0;border-radius:999px;background:linear-gradient(135deg,#a855ff,var(--v) 55%,#6417d8);color:#fff;font:700 14px 'Space Grotesk',sans-serif;cursor:pointer;box-shadow:0 14px 30px -14px rgba(139,43,255,.95);transition:transform .35s var(--ease),box-shadow .35s}
.pj-apply u{text-decoration:none;display:inline-block;transition:transform .4s var(--ease)}
.pj-apply:hover{transform:translateY(-2px);box-shadow:0 20px 44px -14px var(--pk)}
.pj-apply:hover u{transform:translateX(5px)}
.pj-det{font:700 13.5px 'Space Grotesk',sans-serif;color:#cfc6ec;text-decoration:none;transition:color .25s}
.pj-det:hover{color:var(--pk)}
.pj-dlg{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:28px;background:transparent;color:var(--ink);overflow:visible}
.pj-dlg::backdrop{background:rgba(5,4,10,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.pj-dlg[open]{animation:pjin .5s var(--ease)}
@keyframes pjin{from{opacity:0;transform:translateY(30px) scale(.96)}}
.pj-form{max-height:calc(100dvh - 24px);overflow:auto!important;background:#120c22!important;backdrop-filter:none!important;display:flex;flex-direction:column;gap:14px}
.pj-form h3{font-size:clamp(22px,3vw,30px)!important;line-height:1.1;padding-right:40px}
.pj-where{color:var(--v2);font:500 12px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin-top:-6px}
.pj-x{position:absolute!important;right:16px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(199,125,255,.3);background:rgba(255,255,255,.04);color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:2;transition:transform .35s var(--ease),border-color .3s}
.pj-x:hover{transform:rotate(90deg);border-color:var(--pk)}
.pj-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:6px}
.pj-fields label{display:grid;gap:7px}
.pj-fields input{width:100%}
.pj-wide{grid-column:1/-1}
.pj-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.pj-form .checkbox-row{display:flex;gap:10px;align-items:flex-start}
.pj-form .checkbox-row a{color:var(--v2)}
.pj-msg{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,61,190,.5);background:rgba(255,61,190,.1);font-size:14px;color:#ffd3ee}
.pj-msg a{color:#fff;font-weight:700}
.pj-ok{display:grid;justify-items:center;gap:12px;text-align:center;padding:26px 0}
.pj-ok i{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;font-style:normal;font-size:34px;color:#fff;background:linear-gradient(135deg,var(--v),var(--pk));box-shadow:0 0 50px var(--pk);animation:pjin .6s var(--ease)}
.pj-ok p{color:#bdb3dc}
@media (max-width:560px){.pj-fields{grid-template-columns:minmax(0,1fr)}}
.pj-fields input{font-family:'Manrope',sans-serif!important;letter-spacing:0;text-transform:none}

/* --- 3D drótváz-díszek --- */
.fx-3d{position:absolute;pointer-events:none;z-index:0}
.services .wrap,.thesis .wrap{position:relative}
.services .wrap > *:not(.fx-3d),.thesis .wrap > *:not(.fx-3d){position:relative;z-index:1}
.fx-ico{right:-2%;top:50%;width:min(380px,28vw);height:min(380px,28vw);transform:translateY(-50%);opacity:.75}
.section-head{position:relative}
.fx-oct{right:4%;top:50%;width:150px;height:150px;transform:translateY(-50%);opacity:.8}
@media (max-width:1100px){.fx-ico{opacity:.35}}
@media (max-width:900px){.fx-ico,.fx-oct{display:none}}

/* --- szakterület-mag: nagy, ragadó színpad a lista mellett --- */
.fx-stage{position:relative;height:460px;margin:6px 0 10px;order:1;opacity:calc(.15 + var(--sp2,0)*.85);transform:translate3d(0,calc((1 - var(--sp2,0))*60px),0) scale(calc(.82 + var(--sp2,0)*.18))}
.fx-3d.fx-orbit2{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto;touch-action:pan-y;cursor:grab}
.services .wrap.has-stage{display:flex;flex-direction:column}
.services .wrap.has-stage .section-head{order:0}
.services .wrap.has-stage .service-list{order:2}
.service-row.is-hot{transform:translateX(12px) scale(1.012);border-color:rgba(255,61,190,.6)!important;background:linear-gradient(100deg,rgba(139,43,255,.2),rgba(255,61,190,.06));box-shadow:0 26px 70px -40px var(--pk)}
.service-row.is-hot .service-name{color:#fff}
.service-row.is-hot .code-badge{background:var(--pk)!important;color:#fff!important;border-color:var(--pk)!important;box-shadow:0 0 26px var(--pk)}
@media (min-width:1100px){
  .services .wrap.has-stage{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);column-gap:12px;align-items:start}
  .services .wrap.has-stage .section-head{grid-column:1;grid-row:1;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:28px}
  .services .wrap.has-stage .service-list{grid-column:1;grid-row:2}
  .services .wrap.has-stage .fx-stage{grid-column:2;grid-row:1/3;position:sticky!important;top:78px;height:min(980px,calc(100vh - 84px));margin:0 calc(-1*max(32px,(100vw - 1176px)/2)) 0 -90px;transform:translate3d(calc((1 - var(--sp2,0))*140px),0,0) scale(calc(.7 + var(--sp2,0)*.3));transform-origin:60% 50%}
  .services .service-row{grid-template-columns:64px 1fr!important;row-gap:6px!important;padding:20px 24px!important}
  .services .service-row .service-desc{grid-column:2/3}
  .services .service-row::after{display:none}
  .services .service-name{font-size:clamp(19px,1.7vw,25px)!important}
}

.fx-orbit2{-webkit-mask-image:linear-gradient(#0000,#000 9%,#000 90%,#0000);mask-image:linear-gradient(#0000,#000 9%,#000 90%,#0000)}
