/* ============================================================
   TRADINGBOX · "ARANY" DESIGN SYSTEM
   Meleg fekete · arany · szemcse · Syne / Instrument Sans / Plex Mono
   Sötét az alap, világos téma: html[data-theme="light"]
   ============================================================ */

:root{
  --bg:#070B14; --bg2:#0A1020; --panel:#10182B;
  --line:rgba(143,163,200,.14); --line2:rgba(143,163,200,.32);
  --txt:#E6EDF7; --mut:#8FA3C8; --dim:#5C6E92;
  --gold:#8B5CF6; --gold2:#B79BFF; --gdeep:#5B3BB0;
  --up:#5CE2A2; --down:#FF6B81;
  --wrap:1240px; --r:16px;
  --disp:'Sora',sans-serif; --sans:'Inter',sans-serif; --mono:'JetBrains Mono',monospace;
}
html[data-theme="light"]{
  --bg:#F3F5FA; --bg2:#FAFBFE; --panel:#FFFFFF;
  --line:rgba(27,42,74,.14); --line2:rgba(27,42,74,.32);
  --txt:#111A2E; --mut:#51608A; --dim:#8A96B8;
  --gold:#6D3BE0; --gold2:#5226C4; --gdeep:#B79BFF;
  --up:#148A5C; --down:#D13B55;
}

*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth; overflow-x:clip;}
body{background:var(--bg); color:var(--txt); font-family:var(--sans); font-size:16px; line-height:1.7;
  overflow-x:clip; -webkit-font-smoothing:antialiased; transition:background .4s, color .4s;}
body::before{content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(1100px 700px at 85% -10%, rgba(139,92,246,.1), transparent 60%),
             radial-gradient(900px 700px at -12% 35%, rgba(92,226,162,.05), transparent 60%);}
html[data-theme="light"] body::before{background:radial-gradient(1100px 700px at 85% -10%, rgba(109,59,224,.07), transparent 60%),
             radial-gradient(900px 700px at -12% 35%, rgba(20,138,92,.05), transparent 60%);}
.hero::before{content:''; position:absolute; inset:0; pointer-events:none; opacity:.55;
  background:linear-gradient(0deg, transparent, transparent 43px, rgba(42,58,94,.28) 44px),
             linear-gradient(90deg, transparent, transparent 55px, rgba(42,58,94,.2) 56px);
  background-size:44px 44px, 56px 56px;
  mask-image:radial-gradient(900px 600px at 60% 40%, #000, transparent 75%);}
html[data-theme="light"] .hero::before{opacity:.4;
  background:linear-gradient(0deg, transparent, transparent 43px, rgba(27,42,74,.14) 44px),
             linear-gradient(90deg, transparent, transparent 55px, rgba(27,42,74,.1) 56px);
  background-size:44px 44px, 56px 56px;}
body::after{content:''; position:fixed; inset:0; z-index:200; pointer-events:none; opacity:.055; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");}
::selection{background:var(--gold); color:#FFFFFF;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 clamp(18px,4vw,48px);}
.skip{position:absolute; left:-9999px; top:0; background:var(--gold); color:#FFFFFF; padding:10px 16px; z-index:400; font-weight:600;}
.skip:focus{left:12px; top:12px;}
a:focus-visible, button:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
body.lock{overflow:hidden;}

h1,h2,h3,h4{font-family:var(--disp); line-height:1.16; letter-spacing:-0.015em; font-weight:700; color:var(--txt);}
.mono{font-family:var(--mono);}
.gold{color:var(--gold);}

/* ---- gombok ---- */
.b{display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--sans);
  font-weight:600; font-size:.93rem; padding:14px 26px; border:1px solid transparent; cursor:pointer;
  border-radius:12px; transition:transform .25s, background .25s, color .25s, border-color .25s; white-space:nowrap;}
.b svg{width:17px; height:17px;}
.b-g{background:var(--gold); color:#FFFFFF; box-shadow:0 10px 30px -12px rgba(139,92,246,.55);}
.b-g:hover{background:var(--gold2); transform:translateY(-2px);}
html[data-theme="light"] .b-g{box-shadow:0 10px 30px -14px rgba(109,59,224,.5);}
html[data-theme="light"] .b-g:hover{background:var(--gold2);}
.b-o{border-color:var(--line2); color:var(--txt); background:transparent;}
.b-o:hover{border-color:var(--gold); color:var(--gold); transform:translateY(-2px);}
.lnk{display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--txt);
  border-bottom:1px solid var(--gold); padding-bottom:2px; transition:color .2s;}
.lnk:hover{color:var(--gold);}

/* ---- fejléc ---- */
.hd{position:fixed; inset:0 0 auto; z-index:120; transition:opacity .45s, background .35s, border-color .35s;
  border-bottom:1px solid transparent;}
.hd.bg{background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(14px); border-bottom-color:var(--line);}
.hd.hide{opacity:.15;}
.hd.hide:hover, .hd.hide:focus-within{opacity:1;}
.hd-in{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px clamp(18px,4vw,48px);}
.brand img{height:34px; width:auto;}
.brand .lg-l{display:none;} .brand .lg-d{display:block;}
html[data-theme="light"] .brand .lg-l{display:block;}
html[data-theme="light"] .brand .lg-d{display:none;}
.hd-links{display:flex; gap:clamp(9px,1.2vw,19px);}
.hd-links a{font-size:.84rem; font-weight:500; color:var(--mut); transition:color .2s; white-space:nowrap;}
.hd-links a:hover, .hd-links a[aria-current="page"]{color:var(--txt);}
.hd-acts{display:flex; align-items:center; gap:12px;}
.tgl{width:40px; height:40px; border-radius:50%; border:1px solid var(--line2); background:transparent; color:var(--txt);
  display:grid; place-items:center; cursor:pointer; transition:border-color .2s, color .2s;}
.tgl:hover{border-color:var(--gold); color:var(--gold);}
.tgl svg{width:18px; height:18px;}
.tgl .i-sun{display:block;} .tgl .i-moon{display:none;}
html[data-theme="light"] .tgl .i-sun{display:none;}
html[data-theme="light"] .tgl .i-moon{display:block;}
.hd .b{padding:12px 22px; font-size:.88rem;}
.mbtn{display:inline-flex; align-items:center; gap:10px; background:transparent; border:1px solid var(--line2);
  color:var(--txt); padding:11px 18px; border-radius:11px; cursor:pointer; font-family:var(--sans); font-weight:600; font-size:.88rem;
  transition:border-color .2s, color .2s;}
.mbtn:hover{border-color:var(--gold); color:var(--gold);}
.mbtn i{display:flex; flex-direction:column; gap:4px;}
.mbtn i b{display:block; width:16px; height:2px; background:currentColor; transition:transform .3s, opacity .3s;}
body.menu-open .mbtn i b:nth-child(1){transform:translateY(6px) rotate(45deg);}
body.menu-open .mbtn i b:nth-child(2){opacity:0;}
body.menu-open .mbtn i b:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
@media (min-width:1281px){ .mbtn{display:none;} }
@media (max-width:1280px){ .hd-links{display:none;} }
@media (max-width:640px){ .hd .b-g{display:none;} }

/* ---- teljes képernyős menü ---- */
.ov{position:fixed; inset:0; z-index:110; background:var(--bg); display:flex; flex-direction:column;
  visibility:hidden; opacity:0; transition:opacity .45s, visibility .45s;}
body.menu-open .ov{visibility:visible; opacity:1;}
.ov-in{flex:1; display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:center;
  max-width:var(--wrap); width:100%; margin:0 auto; padding:120px clamp(18px,4vw,48px) 60px;}
.ov-nav{display:flex; flex-direction:column;}
.ov-nav a{display:flex; align-items:baseline; gap:20px; padding:8px 0;
  font-family:var(--disp); font-weight:600; font-size:clamp(1.25rem,2.8vh,1.7rem); letter-spacing:-0.01em;
  color:var(--txt); opacity:0; transform:translateY(26px); transition:color .2s;}
body.menu-open .ov-nav a{animation:ovin .6s cubic-bezier(.2,.7,.2,1) forwards;}
.ov-nav a:nth-child(1){animation-delay:.05s}.ov-nav a:nth-child(2){animation-delay:.09s}
.ov-nav a:nth-child(3){animation-delay:.13s}.ov-nav a:nth-child(4){animation-delay:.17s}
.ov-nav a:nth-child(5){animation-delay:.21s}.ov-nav a:nth-child(6){animation-delay:.25s}
.ov-nav a:nth-child(7){animation-delay:.29s}.ov-nav a:nth-child(8){animation-delay:.33s}
.ov-nav a:nth-child(9){animation-delay:.37s}.ov-nav a:nth-child(10){animation-delay:.41s}
.ov-nav a:nth-child(11){animation-delay:.45s}
@keyframes ovin{to{opacity:1; transform:none;}}
.ov-nav a:hover{color:var(--gold);}
.ov-nav a s{font-family:var(--mono); font-size:.8rem; color:var(--dim); text-decoration:none; min-width:30px;}
.ov-side{display:flex; flex-direction:column; gap:26px; color:var(--mut); font-size:.95rem;}
.ov-side h4{font-family:var(--sans); font-weight:600; font-size:.8rem; color:var(--dim); margin-bottom:10px;}
.ov-side a{display:block; padding:4px 0; color:var(--mut);}
.ov-side a:hover{color:var(--gold);}
@media (max-width:860px){ .ov-in{grid-template-columns:1fr; gap:36px; align-content:start; overflow-y:auto;} .ov-nav a{font-size:clamp(1.4rem,3.4vh,2rem);} }

/* ---- kicker + szekciófej ---- */
.sec{padding:clamp(90px,12vh,160px) 0; position:relative;}
.kk{display:flex; align-items:center; gap:10px; font-weight:600; font-size:.95rem; color:var(--gold); margin-bottom:22px;}
.kk-spark{width:48px; height:18px; overflow:visible; flex:none;}
.kk-spark polyline{fill:none; stroke:var(--gold); stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:95; stroke-dashoffset:95; animation:spark 2.8s linear infinite;}
.kk-spark.dn polyline{stroke:var(--down);}
.kk-spark.rg polyline{stroke:var(--up);}
@keyframes spark{0%{stroke-dashoffset:95}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-95}}
.sec-head{max-width:780px; margin-bottom:clamp(40px,6vh,72px);}
.sec-head h2{font-size:clamp(1.65rem,3vw,2.45rem); letter-spacing:-0.02em;}
.sec-head .ld{margin-top:20px; font-size:1.13rem; line-height:1.7; color:var(--mut); max-width:640px;}
.sec-head .ld + .ld{margin-top:12px;}
.sec-head .ld a{color:var(--txt); border-bottom:1px solid var(--gold);}
.sec-head .ld a:hover{color:var(--gold);}

/* ---- megjelenési animációk ---- */
[data-a]{opacity:0; transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1), filter .9s;}
[data-a="up"]{transform:translateY(34px);}
[data-a="left"]{transform:translateX(-40px);}
[data-a="right"]{transform:translateX(40px);}
[data-a="zoom"]{transform:scale(.94);}
[data-a="blur"]{filter:blur(10px);}
[data-a].on{opacity:1; transform:none; filter:none;}

/* ---- HERO (főoldal) ---- */
.hero{position:relative; min-height:94vh; min-height:94dvh; display:flex; align-items:center; overflow:hidden;
  padding:150px 0 clamp(60px,9vh,100px);}
.hero canvas{position:absolute; inset:0; width:100%; height:100%; opacity:.5;}
.hero-veil{position:absolute; inset:0; background:linear-gradient(180deg, var(--bg) 2%, transparent 34%, transparent 62%, var(--bg) 97%);}
.hero-in{position:relative; z-index:2; width:100%; will-change:transform,opacity,filter;}
.hero-top{display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; font-family:var(--mono); font-size:.8rem; color:var(--mut);
  margin-bottom:26px; opacity:0; animation:fadein .8s ease .95s forwards;}
.hero-top .px{white-space:nowrap;}
.hero-top::before{content:''; width:9px; height:9px; border-radius:50%; background:var(--up); box-shadow:0 0 14px var(--up); animation:pulse 2.4s infinite;}
.hero-top .px{color:var(--up); font-weight:500; transition:color .2s;}
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes fadein{to{opacity:1}}
.hero h1{font-size:clamp(2.3rem,4.8vw,3.9rem); letter-spacing:-0.02em; line-height:1.12; max-width:17ch;}
.hero h1 .l{display:block; overflow:hidden; padding-bottom:.08em; margin-bottom:-.08em;}
.hero h1 .l i{display:block; font-style:normal; transform:translateY(115%); animation:rise 1s cubic-bezier(.16,1,.3,1) forwards;}
.hero h1 .l:nth-child(2) i{animation-delay:.12s; color:var(--gold);}
.hero h1 .l:nth-child(3) i{animation-delay:.24s;}
@keyframes rise{to{transform:none}}
.hero-foot{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; margin-top:44px;
  opacity:0; animation:fadein .9s ease .75s forwards;}
.hero-foot p{max-width:46ch; color:var(--mut); font-size:1.12rem;}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:24px;}
.hero-cue{position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:2; color:var(--dim);
  font-family:var(--mono); font-size:.72rem; display:flex; flex-direction:column; align-items:center; gap:6px; animation:cue 2.2s infinite;}
@keyframes cue{0%,100%{transform:translate(-50%,0); opacity:.5}50%{transform:translate(-50%,8px); opacity:1}}

/* ---- futó ticker szalag ---- */
.mq{overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:13px 0; position:relative; pointer-events:none;}
.mq-t{display:flex; gap:48px; width:max-content; white-space:nowrap; align-items:center;}

.mq-t span{font-family:var(--mono); font-weight:500; font-size:.78rem; text-transform:uppercase; letter-spacing:.16em; color:var(--dim);}
.mq-t span.f{color:var(--gold);}
.mq-t span.f::before{content:'◆ '; font-size:.6rem; vertical-align:1px;}

@keyframes mqa{to{transform:translateX(-50%)}}

/* ---- számok ---- */
.nums{display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--panel);}
.num{padding:clamp(28px,4vw,46px) clamp(20px,3vw,40px); border-left:1px solid var(--line);}
.num:nth-child(4n+1){border-left:none;}
.num:nth-child(n+5){border-top:1px solid var(--line);}
.num b{display:block; font-family:var(--disp); font-weight:700; font-size:clamp(1.25rem,1.9vw,1.65rem); color:var(--txt); font-variant-numeric:tabular-nums; line-height:1.2;}
.num b em{font-style:normal; color:var(--gold); font-size:1em; margin-left:2px;}
.num > span{display:block; margin-top:10px; color:var(--mut); font-size:.9rem; line-height:1.5;}
.num b span{display:inline; margin:0; color:inherit; font-size:inherit; line-height:inherit;}
@media (max-width:880px){ .nums{grid-template-columns:1fr 1fr;} .num:nth-child(odd){border-left:none;} .num:nth-child(n+3){border-top:1px solid var(--line);} }
@media (max-width:460px){ .nums{grid-template-columns:1fr;} .num{border-left:none;} .num + .num{border-top:1px solid var(--line);} }

/* ---- egymásra csúszó panelek (módszer) ---- */
.stack{display:flex; flex-direction:column; gap:26px;}
.stack-p{position:sticky; top:110px; background:var(--panel); border:1px solid var(--line); border-radius:var(--r);
  background:linear-gradient(135deg,#131A30,#0B1226); box-shadow:0 18px 50px -28px rgba(0,0,0,.55);
  padding:clamp(28px,4.5vw,52px); display:grid; grid-template-columns:auto 1fr clamp(190px,23vw,300px); gap:clamp(22px,4vw,56px); align-items:center;
  transform-origin:top center; will-change:transform;}
.stack-p .ix{font-family:var(--mono); font-weight:500; font-size:.95rem; align-self:start; user-select:none;
  width:46px; height:46px; border:1px solid var(--line2); border-radius:50%; color:var(--gold);
  display:grid; place-items:center;}
.stack-p h3{font-size:clamp(1.25rem,2.2vw,1.65rem); margin-bottom:12px;}
.stack-p p{color:var(--mut); max-width:58ch; font-size:1rem;}
.sk-vis{width:100%; justify-self:end;}
.sk-vis svg{width:100%; height:auto; display:block; overflow:visible;}
.sk-vis .ln{fill:none; stroke:var(--gold); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:700; stroke-dashoffset:700; transition:stroke-dashoffset 1.8s cubic-bezier(.4,.4,.1,1) .25s;}
.sk-vis.on .ln{stroke-dashoffset:0;}
.sk-vis .ln2{fill:none; stroke:var(--line2); stroke-width:1.4; stroke-dasharray:3 7;}
.sk-vis .dot{fill:var(--gold);}
.sk-vis .zone{fill:color-mix(in srgb, var(--gold) 13%, transparent); stroke:var(--gold); stroke-width:1;}
.sk-vis .zone.dn{fill:color-mix(in srgb, var(--down) 12%, transparent); stroke:var(--down);}
.sk-vis text{font-family:var(--mono); font-size:11px; fill:var(--mut); letter-spacing:.04em;}
.sk-vis .gt{fill:var(--gold);}
@media (max-width:860px){ .stack-p{grid-template-columns:auto 1fr;} .sk-vis{display:none;} }
@media (max-width:640px){ .stack-p{grid-template-columns:1fr; gap:14px;} }

/* ---- vízszintes görgetésű út (7 lépés) ---- */
.hs{position:relative;}
.hs-pin{position:sticky; top:0; height:100vh; height:100dvh; display:flex; flex-direction:column; justify-content:center; overflow:hidden;}
.hs-track{display:flex; gap:26px; will-change:transform; padding:0 clamp(18px,4vw,48px);}
.hs-card{flex:0 0 clamp(300px,33vw,410px); background:linear-gradient(180deg,#0E1527,#0A1020); border:1px solid var(--line); border-radius:var(--r); padding:30px 28px;
  display:flex; flex-direction:column; min-height:330px; position:relative; overflow:hidden; transition:border-color .3s, transform .3s;
  box-shadow:0 18px 50px -28px rgba(0,0,0,.55);}
.hs-card:hover{border-color:var(--line2); transform:translateY(-4px);}
.hs-card .bg-ix{display:none;}
.hs-card .ix{font-family:var(--mono); font-size:.82rem; color:var(--gold); margin-bottom:auto; position:relative;}
.hs-card .tag{align-self:flex-start; font-size:.74rem; font-weight:600; padding:4px 12px; border-radius:999px;
  background:color-mix(in srgb, var(--gold) 14%, transparent); color:var(--gold); margin:26px 0 14px;}
.hs-card .tag.fr{background:color-mix(in srgb, var(--up) 13%, transparent); color:var(--up);}
.hs-card h3{font-size:1.2rem; margin-bottom:10px;}
.hs-card p{color:var(--mut); font-size:.95rem; line-height:1.65;}
.hs-bar{height:2px; background:var(--line); margin:34px clamp(18px,4vw,48px) 0; position:relative;}
.hs-bar i{position:absolute; inset:0 auto 0 0; width:0; background:var(--gold);}
.hs-note{color:var(--mut); font-size:.95rem; max-width:64ch; margin-top:40px;}
.hs-note a{color:var(--txt); border-bottom:1px solid var(--gold);}
.hs-note a:hover{color:var(--gold);}
@media (max-width:860px){
  .hs-pin{position:static; height:auto; overflow:visible;}
  .hs-track{flex-direction:column; transform:none!important; padding:0;}
  .hs-card{flex:none; min-height:0;}
  .hs-bar{display:none;}
}

/* ---- heti rend tábla ---- */
.wb{display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--panel);}
.wb-d{padding:26px 22px; border-left:1px solid var(--line);}
.wb-d:first-child{border-left:none;}
.wb-d h3{font-family:var(--mono); font-weight:500; font-size:.9rem; color:var(--gold); margin-bottom:18px; text-transform:none;}
.wb-g{margin-bottom:16px; border-left:2px solid var(--line); padding-left:10px;}
.wb-g:nth-of-type(2){border-left-color:var(--up);}
.wb-g:nth-of-type(3){border-left-color:var(--gold);}
.wb-g:last-child{margin-bottom:0;}
.wb-g u{display:block; text-decoration:none; font-size:.72rem; font-weight:600; color:var(--dim); margin-bottom:8px;}
.wb-g li{list-style:none; display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; padding:5px 0;}
.wb-g .t{font-family:var(--mono); font-size:.74rem; color:var(--mut);}
.wb-g .n{font-size:.9rem; color:var(--txt);}
.wb-g .n a{border-bottom:1px solid var(--line2);}
.wb-g .n a:hover{color:var(--gold); border-bottom-color:var(--gold);}
.wb-note{margin-top:22px; color:var(--dim); font-size:.88rem;}
@media (max-width:1060px){ .wb{grid-template-columns:repeat(2,1fr);} .wb-d{border-top:1px solid var(--line);} .wb-d:nth-child(-n+2){border-top:none;} .wb-d:nth-child(odd){border-left:none;} }
@media (max-width:560px){ .wb{grid-template-columns:1fr;} .wb-d{border-left:none;} .wb-d:nth-child(2){border-top:1px solid var(--line);} }

/* ---- vélemény-szalag + fal ---- */
.qmq{overflow:hidden; padding:6px 0 40px; pointer-events:none;}
.qmq .mq-t{gap:22px;}
.qcard{flex:0 0 380px; white-space:normal; background:var(--panel); border:1px solid var(--line); border-radius:var(--r); padding:24px 24px 20px;}
.qcard p{font-size:.92rem; color:var(--mut); line-height:1.65;}
.qcard b{display:block; margin-top:14px; font-family:var(--mono); font-weight:500; font-size:.75rem; color:var(--gold);}
.testimonial-masonry{display:grid; grid-template-columns:repeat(3,1fr); gap:34px;}
@media (max-width:980px){ .testimonial-masonry{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .testimonial-masonry{grid-template-columns:1fr;} }
.testimonial-card{display:flex; flex-direction:column; border-top:2px solid var(--line2); padding-top:18px;}
.testimonial-card blockquote{font-size:.95rem; line-height:1.7; color:var(--mut);
  overflow:hidden; display:-webkit-box; -webkit-line-clamp:8; -webkit-box-orient:vertical;}
.testimonial-card.expanded blockquote{-webkit-line-clamp:unset;}
.testimonial-card.expanded{border-top-color:var(--gold);}
.testimonial-more{align-self:flex-start; margin-top:12px; background:none; border:none; cursor:pointer;
  font-family:var(--sans); font-weight:600; font-size:.85rem; color:var(--gold); padding:0; display:none;}
.testimonial-card.has-overflow .testimonial-more{display:inline-block;}
.testimonial-card figcaption{margin-top:14px;}
.testimonial-card .t-name{font-weight:600; font-size:.9rem; color:var(--txt); display:block;}
.testimonial-card .t-meta{font-family:var(--mono); font-size:.72rem; color:var(--dim);}
.t-nav{display:flex; align-items:center; gap:14px; margin-top:40px;}
.carousel-btn{width:48px; height:48px; border-radius:50%; border:1px solid var(--line2); background:transparent; color:var(--txt);
  display:grid; place-items:center; cursor:pointer; transition:border-color .2s, color .2s, transform .2s;}
.carousel-btn:hover{border-color:var(--gold); color:var(--gold); transform:translateY(-2px);}
.carousel-btn:disabled{opacity:.3; pointer-events:none;}
.carousel-btn svg{width:18px; height:18px;}
.testimonial-page-info{font-family:var(--mono); font-size:.8rem; color:var(--dim);}

/* ---- videó blokkok ---- */
.frame{position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line); border-radius:var(--r); background:var(--panel);}
.frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.vgrid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
@media (max-width:860px){ .vgrid{grid-template-columns:1fr;} }
.vcap{padding:18px 2px 0;}
.vcap h3{font-size:1.15rem; margin-bottom:6px;}
.vcap p{color:var(--mut); font-size:.95rem;}
.badge{display:inline-block; vertical-align:middle; margin-left:10px; font-family:var(--mono); font-size:.62rem;
  padding:3px 10px; border-radius:999px; letter-spacing:.06em;}
.badge-a{background:color-mix(in srgb, var(--up) 14%, transparent); color:var(--up);}
.badge-p{background:var(--gold); color:#FFFFFF;}

/* ---- osztott blokk ---- */
.sp{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,70px); align-items:center;}
.sp.rev{grid-template-columns:.95fr 1.05fr;}
.sp.rev .sp-media{order:2;}
.sp-copy h2{font-size:clamp(1.55rem,2.8vw,2.2rem); margin-bottom:18px;}
.sp-copy h3{font-size:1.25rem; margin:24px 0 8px;}
.sp-copy p{color:var(--mut); margin-bottom:14px; max-width:56ch;}
.sp-copy p strong{color:var(--txt);}
@media (max-width:860px){ .sp,.sp.rev{grid-template-columns:1fr;} .sp.rev .sp-media{order:0;} }

/* ---- hírlevél ---- */
.nl-panel{border:1px solid var(--line2); background:var(--panel); border-radius:var(--r); padding:clamp(34px,6vw,60px);
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,5vw,60px); align-items:center; position:relative; overflow:hidden;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.6);}
.nl-panel h2{font-size:clamp(1.5rem,2.6vw,2rem);}
.nl-panel .nl-sub{color:var(--mut); margin-top:12px; font-size:.98rem;}
.nl-form{position:relative; z-index:1;}
.nl-input{width:100%; background:var(--bg); border:1px solid var(--line2); color:var(--txt);
  font-family:var(--sans); font-size:.95rem; padding:15px 16px; border-radius:10px; margin-bottom:10px;}
.nl-input:focus{outline:none; border-color:var(--gold);}
.nl-input::placeholder{color:var(--dim);}
.nl-row{display:flex; gap:10px;}
.nl-row .nl-input{margin-bottom:0;}
.nl-btn{flex:none;}
.nl-optin{display:flex; gap:10px; align-items:flex-start; margin-top:14px; font-size:.85rem; color:var(--mut); cursor:pointer;}
.nl-optin input{margin-top:4px; accent-color:var(--gold);}
.nl-optin a{color:var(--txt); border-bottom:1px solid var(--gold);}
.nl-note{margin-top:12px; font-size:.78rem; color:var(--dim);}
.nl-msg{margin-top:14px; font-weight:600; font-size:.92rem;}
.nl-msg-ok{color:var(--up);} .nl-msg-err{color:var(--down);}
.nl-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); border:0; padding:0; margin:-1px;}
@media (max-width:860px){ .nl-panel{grid-template-columns:1fr;} .nl-row{flex-direction:column;} .nl-btn{width:100%;} }

/* ---- nagy záró CTA: arany sáv ---- */
.cta{padding:clamp(90px,12vh,160px) 0; background:linear-gradient(135deg,#131A30,#1A1240 55%,#2B1B66); color:#E6EDF7; position:relative; overflow:hidden;}
.cta::before{content:''; position:absolute; inset:0; opacity:.8;
  background:radial-gradient(900px 420px at 80% 10%, rgba(139,92,246,.3), transparent 60%),
             radial-gradient(700px 400px at 10% 90%, rgba(92,226,162,.08), transparent 60%);}
.cta-in{text-align:center; position:relative;}
.cta-in .kk{justify-content:center; color:inherit; opacity:.62;}
.cta-in .kk::before{display:none;}
.cta-in h2{font-size:clamp(1.9rem,4vw,3rem); letter-spacing:-0.02em; line-height:1.18; color:inherit;}
.cta-in h2 b{font-weight:700; background:linear-gradient(100deg,#B79BFF,#5CE2A2); -webkit-background-clip:text; background-clip:text; color:transparent;}
.cta-in p{color:inherit; opacity:.78; max-width:560px; margin:22px auto 0; font-size:1.1rem;}
.cta-acts{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:38px;}
.cta .b-g{background:#8B5CF6; color:#fff;}
.cta .b-g:hover{background:#B79BFF; transform:translateY(-2px);}
.cta .b-o{border-color:rgba(230,237,247,.4); color:#E6EDF7;}
.cta .b-o:hover{border-color:#E6EDF7; color:#fff;}

/* ---- lábléc ---- */
.ft{border-top:1px solid var(--line); background:var(--bg2); position:relative; overflow:hidden;}
.ft-mark{display:none;}
.ft-grid{display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:34px; padding:clamp(36px,6vw,64px) 0 44px;}
.ft-brand img{height:32px; margin-bottom:16px;}
.ft-brand .lg-l{display:none;} .ft-brand .lg-d{display:block;}
html[data-theme="light"] .ft-brand .lg-l{display:block;}
html[data-theme="light"] .ft-brand .lg-d{display:none;}
.ft-brand p{color:var(--mut); font-size:.92rem; max-width:300px;}
.ft-grid h4{font-family:var(--sans); font-size:.8rem; font-weight:600; color:var(--dim); margin-bottom:14px;}
.ft-grid a{display:block; color:var(--mut); font-size:.92rem; padding:4px 0;}
.ft-grid a:hover{color:var(--gold);}
.ft-foot{border-top:1px solid var(--line); padding:26px 0 36px; font-size:.8rem; color:var(--dim);}
.ft-foot .risk{margin-top:14px; line-height:1.65; text-align:justify; hyphens:auto;}
.ft-foot .risk strong{color:var(--mut);}
@media (max-width:880px){ .ft-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .ft-grid{grid-template-columns:1fr;} }

/* ---- aloldal fejléc ---- */
.ph{padding:clamp(140px,19vh,190px) 0 clamp(36px,6vh,70px); position:relative;}
.ph h1{font-size:clamp(2rem,4.2vw,3.2rem); letter-spacing:-0.02em; line-height:1.14; max-width:22ch;}
.ph h1 b{color:var(--gold); font-weight:700;}
.ph .ld{margin-top:22px; font-size:1.1rem; color:var(--mut); max-width:640px;}
.ph-rule{height:2px; background:var(--line); margin-top:clamp(36px,6vh,60px); position:relative; overflow:hidden;}
.ph-rule i{position:absolute; inset:0 auto 0 0; width:120px; background:var(--gold); animation:rule 3.2s cubic-bezier(.6,0,.4,1) infinite;}
@keyframes rule{0%{left:-140px}100%{left:100%}}

/* ---- fejezetek (képzések) ---- */
.ch{display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,5vw,80px); padding:clamp(60px,9vh,110px) 0; border-top:1px solid var(--line);}
.ch:first-of-type{border-top:none;}
.ch-ix{font-family:var(--mono); font-weight:500; font-size:.95rem; color:var(--gold);
  width:50px; height:50px; border:1px solid var(--line2); border-radius:50%; display:grid; place-items:center;
  position:sticky; top:120px; align-self:start;}
.ch-body h2{font-size:clamp(1.55rem,2.8vw,2.2rem); margin-bottom:16px;}
.ch-body .ld{color:var(--mut); font-size:1.1rem; max-width:640px; margin-bottom:24px;}
.ch-body h3{font-size:1.25rem; margin:26px 0 8px;}
.ch-body p{color:var(--mut); max-width:66ch; margin-bottom:14px;}
.ch-media{margin-top:34px;}
@media (max-width:720px){ .ch{grid-template-columns:1fr;} .ch-ix{position:static;} }

/* ---- ár-lista (ledger) ---- */
.feat-plan{border:1px solid var(--line2); background:var(--panel); border-radius:var(--r); padding:clamp(30px,5vw,56px); position:relative; overflow:hidden;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.6);}
.feat-plan::before{content:''; position:absolute; inset:0 0 auto; height:3px;
  background:linear-gradient(90deg, var(--gold), transparent 70%);}
.feat-head{display:flex; justify-content:space-between; align-items:flex-start; gap:30px; flex-wrap:wrap; margin-bottom:26px; position:relative;}
.feat-head h2{font-size:clamp(1.55rem,2.8vw,2.2rem);}
.feat-head .tagline{color:var(--gold); font-size:.9rem; font-weight:600; margin-bottom:8px;}
.price{font-family:var(--disp); font-weight:700; font-size:clamp(1.7rem,3.2vw,2.4rem); color:var(--txt); white-space:nowrap;}
.price small{font-size:.45em; color:var(--mut);}
.feat-cols{display:grid; grid-template-columns:1fr 1fr; gap:10px 44px; position:relative;}
@media (max-width:720px){ .feat-cols{grid-template-columns:1fr;} }
.tick{list-style:none; display:flex; align-items:flex-start; gap:12px; padding:9px 0; border-top:1px dashed var(--line); color:var(--mut); font-size:.95rem;}
.tick::before{content:'→'; color:var(--gold); font-weight:700;}
.tick ul{list-style:none; margin-top:8px; width:100%;}
.tick ul li{padding:3px 0; font-size:.88rem; color:var(--dim);}
.tick details summary{cursor:pointer; color:var(--txt); font-weight:600;}
.feat-cta{margin-top:30px; position:relative;}
.lg-rows{margin-top:26px; border-top:1px solid var(--line);}
.lg-row{border-bottom:1px solid var(--line);}
.lg-row summary{display:grid; grid-template-columns:1fr auto auto; gap:20px; align-items:center;
  padding:26px 6px; cursor:pointer; list-style:none; transition:background .2s;}
.lg-row summary::-webkit-details-marker{display:none;}
.lg-row summary:hover{background:color-mix(in srgb, var(--gold) 4%, transparent);}
.lg-row h3{font-size:clamp(1.1rem,2vw,1.35rem);}
.lg-row .who{display:inline-block; font-size:.7rem; font-weight:600; padding:3px 11px; border-radius:999px; margin-top:7px;}
.who-open{background:color-mix(in srgb, var(--up) 16%, transparent); color:var(--up);}
.who-prem{background:color-mix(in srgb, var(--gold) 18%, transparent); color:var(--gold2);}
html[data-theme="light"] .who-prem{color:var(--gold);}
.lg-row .price{font-size:clamp(1.1rem,2.2vw,1.5rem);}
.lg-row .pm{width:34px; height:34px; border:1px solid var(--line2); border-radius:50%; display:grid; place-items:center;
  color:var(--gold); font-size:1.2rem; transition:transform .3s;}
.lg-row[open] .pm{transform:rotate(45deg);}
.lg-body{padding:0 6px 28px; display:grid; grid-template-columns:1fr auto; gap:24px; align-items:end;}
.lg-body ul{max-width:640px;}
@media (max-width:720px){ .lg-row summary{grid-template-columns:1fr auto;} .lg-row .pm{display:none;} .lg-body{grid-template-columns:1fr;} }

/* ---- idővonal (rólam) ---- */
.tl{position:relative; margin-top:20px;}
.tl-item{display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,4vw,60px); padding:clamp(40px,7vh,70px) 0; border-top:1px solid var(--line);}
.tl-item:first-child{border-top:none;}
.tl-y{font-family:var(--mono); font-weight:500; font-size:clamp(1rem,1.6vw,1.15rem); color:var(--gold);
  border:1px solid var(--line2); border-radius:999px; padding:9px 18px;
  position:sticky; top:130px; align-self:start; white-space:nowrap;}
.tl-item h3{font-size:1.25rem; margin-bottom:12px;}
.tl-item p{color:var(--mut); max-width:66ch; margin-bottom:12px;}
@media (max-width:640px){ .tl-item{grid-template-columns:1fr; gap:12px;} .tl-y{position:static; justify-self:start;} }
.portrait{position:relative; overflow:hidden; border:1px solid var(--line); border-radius:var(--r);}
.sp-media.portrait, .sp-media .portrait{max-width:360px; margin-left:auto;}
@media (max-width:860px){ .sp-media.portrait, .sp-media .portrait{margin:0 auto;} }
.portrait img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; filter:grayscale(.2) contrast(1.04);}
.portrait::after{content:''; position:absolute; inset:0; background:linear-gradient(200deg, color-mix(in srgb, var(--gold) 26%, transparent), transparent 55%); mix-blend-mode:overlay;}

/* ---- podcast ---- */
.pod-hero{background:linear-gradient(160deg,#131A30,#1A1240 50%,#2B1B66); color:#E6EDF7; padding:clamp(150px,20vh,210px) 0 0; position:relative; overflow:hidden;}
.pod-hero::before{content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(800px 460px at 85% 20%, rgba(139,92,246,.3), transparent 60%);}
.pod-hero h1{color:inherit; font-size:clamp(2.1rem,4.6vw,3.5rem); line-height:1.12; max-width:20ch;}
.pod-hero .ld{color:inherit; opacity:.8; margin-top:22px; max-width:620px; font-size:1.1rem;}
.pod-eq{display:flex; align-items:flex-end; gap:clamp(6px,1vw,14px); height:clamp(90px,16vh,160px); margin-top:clamp(40px,7vh,70px);}
.pod-eq i{flex:1; background:linear-gradient(180deg,#B79BFF,#8B5CF6); opacity:.9; animation:eq 1.6s ease-in-out infinite; transform-origin:bottom; border-radius:3px 3px 0 0;}
@keyframes eq{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
.pod-acts{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px;}
.pod-acts .b{border-color:rgba(230,237,247,.45); color:#E6EDF7;}
.pod-acts .b:hover{background:#8B5CF6; border-color:#8B5CF6; color:#fff;}
.spotify-embed iframe{display:block; width:100%; border:0;}

/* ---- discord ---- */
.shot{position:relative; border:1px solid var(--line); border-radius:var(--r); background:var(--panel); overflow:hidden; box-shadow:0 24px 60px -30px rgba(0,0,0,.6);}
.shot-bar{display:flex; gap:7px; padding:12px 16px; border-bottom:1px solid var(--line);}
.shot-bar i{width:10px; height:10px; border-radius:50%; background:var(--line2);}
.shot-bar i:first-child{background:var(--down);} .shot-bar i:nth-child(2){background:var(--gold);} .shot-bar i:nth-child(3){background:var(--up);}
.slideshow-track{display:flex; transition:transform .55s cubic-bezier(.2,.8,.2,1);}
.slide{flex:0 0 100%; aspect-ratio:16/9;}
.slide img{width:100%; height:100%; object-fit:cover;}
.slideshow-btn{position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%;
  border:1px solid var(--line2); background:color-mix(in srgb, var(--bg) 80%, transparent); color:var(--txt);
  display:grid; place-items:center; cursor:pointer; z-index:2; backdrop-filter:blur(6px);}
.slideshow-btn:hover{border-color:var(--gold); color:var(--gold);}
.slideshow-btn svg{width:18px; height:18px;}
.slideshow-prev{left:14px;} .slideshow-next{right:14px;}
.slideshow-dots{position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:2;}
.slideshow-dot{width:8px; height:8px; border-radius:50%; border:none; background:color-mix(in srgb, var(--txt) 40%, transparent); cursor:pointer; padding:0;}
.slideshow-dot.active{background:var(--gold);}

/* ---- GYIK / fogalomtár ---- */
.faq-list{display:flex; flex-direction:column; counter-reset:faq;}
.faq-item{border-top:1px solid var(--line); counter-increment:faq;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-item summary{display:flex; align-items:baseline; gap:clamp(16px,3vw,34px); padding:26px 4px; cursor:pointer; list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::before{content:counter(faq,decimal-leading-zero); font-family:var(--mono); font-size:.85rem; color:var(--gold); flex:none;}
.faq-item summary{font-family:var(--disp); font-weight:600; font-size:clamp(1rem,1.8vw,1.2rem); color:var(--txt); transition:color .2s;}
.faq-item summary:hover{color:var(--gold);}
.faq-item summary::after{content:'+'; margin-left:auto; color:var(--gold); font-size:1.5rem; font-weight:400; transition:transform .3s; flex:none;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p, .faq-item li{color:var(--mut); font-size:1rem; line-height:1.7;}
.faq-item > p, .faq-item > div, .faq-item ul{padding:0 4px 26px clamp(40px,6vw,70px);}
.faq-item ul{list-style:disc; padding-left:clamp(60px,8vw,92px);}
.faq-item a{color:var(--txt); border-bottom:1px solid var(--gold);}
.faq-item a:hover{color:var(--gold);}

/* ---- jogi / dokumentum oldalak ---- */
.doc{display:grid; grid-template-columns:260px 1fr; gap:clamp(30px,5vw,70px); align-items:start;}
.legal-toc{position:sticky; top:110px; border:1px solid var(--line); border-radius:var(--r); padding:20px; font-size:.85rem; max-height:70vh; overflow:auto;}
.legal-toc a{display:block; padding:5px 0; color:var(--mut);}
.legal-toc a:hover{color:var(--gold);}
.legal-content{min-width:0; max-width:760px;}
.legal-meta{font-family:var(--mono); font-size:.8rem; color:var(--dim); margin-bottom:30px;}
.legal-section{padding:26px 0; border-top:1px solid var(--line);}
.legal-section h2{font-size:1.5rem; margin-bottom:14px; display:flex; gap:14px; align-items:baseline;}
.legal-section h2 .sec-num{font-family:var(--mono); font-weight:500; font-size:.9rem; color:var(--gold);}
.legal-section h3{font-size:1.08rem; margin:20px 0 8px;}
.legal-section p, .legal-section li{color:var(--mut); font-size:.96rem; line-height:1.7; margin-bottom:10px;}
.legal-section ul, .legal-section ol{padding-left:22px; margin-bottom:12px;}
.legal-box, .legal-card, .legal-sample{border:1px solid var(--line); background:var(--panel); border-radius:12px; padding:18px 20px; margin:14px 0;}
.legal-note, .legal-foot-note{font-size:.85rem; color:var(--dim);}
.legal-risk{border-left:3px solid var(--gold); padding-left:16px;}
.legal-section strong{color:var(--txt);}
.legal-section a{color:var(--txt); border-bottom:1px solid var(--gold);}
@media (max-width:860px){ .doc{grid-template-columns:1fr;} .legal-toc{position:static; max-height:none;} }

/* ---- blog ---- */
.feat-post{display:grid; grid-template-columns:1fr; border:1px solid var(--line2); background:var(--panel); border-radius:var(--r);
  padding:clamp(30px,5vw,52px); position:relative; overflow:hidden; box-shadow:0 24px 60px -30px rgba(0,0,0,.6);}
.feat-post::before{content:''; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg, var(--gold), transparent 70%);}
.feat-post .cat{color:var(--gold); font-weight:600; font-size:.85rem; margin-bottom:14px; display:block;}
.feat-post h2{font-size:clamp(1.5rem,3vw,2.2rem); max-width:26ch;}
.feat-post:hover h2{color:var(--gold);}
.feat-post p{color:var(--mut); margin-top:16px; max-width:620px;}
.post-meta{font-family:var(--mono); font-size:.76rem; color:var(--dim); display:flex; gap:16px; margin-top:22px;}
.post-rows{margin-top:26px; border-top:1px solid var(--line);}
.post-row{display:grid; grid-template-columns:150px 1fr auto; gap:clamp(16px,3vw,40px); align-items:baseline;
  padding:30px 4px; border-bottom:1px solid var(--line); transition:background .2s;}
.post-row:hover{background:color-mix(in srgb, var(--gold) 4%, transparent);}
.post-row .cat{font-size:.78rem; font-weight:600; color:var(--gold);}
.post-row h3{font-size:clamp(1.05rem,2vw,1.3rem); transition:color .2s;}
.post-row:hover h3{color:var(--gold);}
.post-row p{color:var(--mut); font-size:.92rem; margin-top:6px; max-width:60ch;}
.post-row .post-meta{margin-top:0; white-space:nowrap; font-size:.82rem; color:var(--mut);}
@media (max-width:760px){ .post-row{grid-template-columns:1fr;} }

/* ---- cikk ---- */
.art-bar{position:fixed; top:0; left:0; height:3px; width:0; background:var(--gold); z-index:130;}
.art{max-width:760px; margin:0 auto; padding:clamp(150px,20vh,210px) 0 60px;}
.art .cat{color:var(--gold); font-weight:600; font-size:.9rem;}
.art h1{font-size:clamp(1.8rem,3.8vw,2.7rem); margin:18px 0 22px; line-height:1.18;}
.art .post-meta{border-bottom:1px solid var(--line); padding-bottom:28px; margin-bottom:38px;}
.blog-post-body{font-size:1.07rem; line-height:1.8; color:var(--mut);}
.blog-post-body .post-lead{font-size:1.25rem; line-height:1.65; color:var(--txt); margin-bottom:30px;}
.blog-post-body h2{font-size:1.65rem; color:var(--txt); margin:44px 0 16px;}
.blog-post-body h3{font-size:1.2rem; color:var(--txt); margin:32px 0 12px;}
.blog-post-body p{margin-bottom:18px;}
.blog-post-body strong{color:var(--txt);}
.blog-post-body ul{margin:0 0 18px 22px;}
.blog-post-body li{margin-bottom:8px;}
.blog-post-body a{color:var(--txt); border-bottom:1px solid var(--gold); font-weight:600;}
.blog-post-body a:hover{color:var(--gold);}
.blog-post-body em{font-style:italic; color:var(--txt);}
.art-back{font-family:var(--mono); font-size:.82rem; color:var(--dim);}
.art-back:hover{color:var(--gold);}
.art-cta{border:1px solid var(--line2); background:var(--panel); border-radius:var(--r); padding:38px; text-align:center; margin-top:60px;}
.art-cta h3{font-size:1.5rem; margin-bottom:8px;}
.art-cta p{color:var(--mut); margin-bottom:24px;}
.art-cta .cta-acts{margin-top:0;}

/* ---- kapcsolat ---- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,90px); align-items:start;}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
.contact-form{display:flex; flex-direction:column; gap:16px; border:1px solid var(--line2); background:var(--panel); border-radius:var(--r); padding:clamp(26px,4vw,44px);}
.contact-form label{display:flex; flex-direction:column; gap:8px; font-size:.86rem; font-weight:600; color:var(--txt);}
.contact-form input, .contact-form textarea{font-family:var(--sans); font-size:.95rem; color:var(--txt);
  background:var(--bg); border:1px solid var(--line2); padding:14px; border-radius:10px; resize:vertical;}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--gold);}
.contact-form-status{font-size:.9rem; min-height:1.2em;}
.contact-form-status.success{color:var(--up);} .contact-form-status.error{color:var(--down);}
.contact-aside p{color:var(--mut); margin-bottom:18px; max-width:46ch;}
.contact-aside .big{font-family:var(--disp); font-weight:700; font-size:clamp(1.35rem,2.6vw,1.9rem); color:var(--txt); line-height:1.25;}

/* ---- 404 ---- */
.nf{min-height:100vh; min-height:100dvh; display:flex; align-items:center; padding:140px 0 60px;}
.nf-in{text-align:center; display:flex; flex-direction:column; align-items:center;}
.nf-img{width:min(400px,76vw); height:auto; margin-bottom:8px; mix-blend-mode:screen;}
html[data-theme="light"] .nf-img{mix-blend-mode:normal; border-radius:var(--r);}
.nf b{display:block; font-family:var(--disp); font-weight:700; font-size:clamp(3.4rem,9vw,5.5rem); line-height:1;
  color:transparent; -webkit-text-stroke:1.5px var(--gold);}
.nf h1{font-size:clamp(1.3rem,2.6vw,1.8rem); margin:14px 0 12px;}
.nf p{color:var(--mut); max-width:52ch;}
.nf .cta-acts{justify-content:center; margin-top:26px;}

/* ---- vissza fel + süti ---- */
.to-top{position:fixed; right:22px; bottom:22px; z-index:90; width:50px; height:50px; border-radius:50%; border:1px solid var(--line2);
  background:var(--bg2); color:var(--gold); display:grid; place-items:center; cursor:pointer;
  opacity:0; visibility:hidden; transform:translateY(14px); transition:.3s;}
.to-top.show{opacity:1; visibility:visible; transform:none;}
.to-top:hover{border-color:var(--gold);}
.to-top svg{width:20px; height:20px;}
.cookie-banner{position:fixed; left:18px; right:auto; bottom:18px; z-index:140; max-width:340px; margin:0;
  background:var(--bg2); border:1px solid var(--line2); border-radius:var(--r); padding:18px 20px;
  transform:translateY(140%); transition:transform .5s cubic-bezier(.2,.8,.2,1); box-shadow:0 30px 70px -30px rgba(0,0,0,.7);}
@media (max-width:480px){ .cookie-banner{right:18px; max-width:none;} }
.cookie-banner.show{transform:none;}
.cookie-banner h4{font-size:1.02rem; margin-bottom:8px;}
.cookie-banner p{font-size:.86rem; color:var(--mut); margin-bottom:16px;}
.cookie-banner p a{color:var(--txt); border-bottom:1px solid var(--gold);}
.cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}
.cookie-actions .b{flex:1; min-width:130px; padding:12px 16px; font-size:.85rem;}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important; transition-duration:.01ms!important; scroll-behavior:auto!important;}
  [data-a]{opacity:1; transform:none; filter:none;}
  .hs-track{transform:none!important;}
  .hero h1 .l i{transform:none;}
  .hero-foot,.hero-top{opacity:1;}
}

.bio-collapse .bio-extra{display:none;}
.bio-collapse.open .bio-extra{display:block!important;}

/* ---- fejléc arany hátterű oldalon (podcast) ---- */
body.on-gold .hd:not(.bg) .hd-links a{color:rgba(230,237,247,.7);}
body.on-gold .hd:not(.bg) .hd-links a:hover,
body.on-gold .hd:not(.bg) .hd-links a[aria-current="page"]{color:#FFFFFF;}
body.on-gold .hd:not(.bg) .tgl,
body.on-gold .hd:not(.bg) .mbtn{border-color:rgba(230,237,247,.4); color:#E6EDF7;}
body.on-gold .hd:not(.bg) .tgl:hover,
body.on-gold .hd:not(.bg) .mbtn:hover{border-color:#fff; color:#fff;}
body.on-gold .hd:not(.bg) .brand .lg-d{display:block;}
body.on-gold .hd:not(.bg) .brand .lg-l{display:none;}

/* ---- portré blokk (főoldal · rólam kivonat) ---- */
.home-portrait .portrait{max-width:440px;}
.home-portrait blockquote{font-family:var(--disp); font-weight:600; font-size:clamp(1.15rem,2.2vw,1.5rem); line-height:1.4;
  border-left:3px solid var(--gold); padding-left:22px; margin:26px 0;}
.home-portrait .sig{font-family:var(--mono); font-size:.8rem; color:var(--dim);}

html[data-theme="light"] .stack-p, html[data-theme="light"] .hs-card{background:var(--panel);}


/* ---- témaváltás átmenettel ---- */
html.theme-anim, html.theme-anim *, html.theme-anim *::before, html.theme-anim *::after{
  transition:background-color .5s ease, background .5s ease, color .5s ease, border-color .5s ease, box-shadow .5s ease, fill .5s ease, stroke .5s ease !important;}

/* ---- gradiens gomb ---- */
.b-grad{background:linear-gradient(120deg,#8B5CF6,#5CE2A2); color:#fff; border:none;}
.b-grad:hover{filter:brightness(1.12); transform:translateY(-2px);}

/* ---- konzultáció panel ---- */
.consult{margin-top:30px; position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap;
  padding:clamp(22px,3.5vw,32px) clamp(22px,4vw,40px); border-radius:var(--r); border:1px solid transparent;
  background:linear-gradient(var(--panel),var(--panel)) padding-box, linear-gradient(120deg,#8B5CF6,#5CE2A2) border-box;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.6);}
.consult-left{display:flex; gap:14px; align-items:flex-start;}
.consult .dot{width:10px; height:10px; border-radius:50%; background:var(--up); box-shadow:0 0 14px var(--up); animation:pulse 2.2s infinite; flex:none; margin-top:8px;}
.consult h3{font-size:1.12rem; margin-bottom:4px;}
.consult .sub{color:var(--mut); font-size:.94rem; max-width:54ch;}

/* ---- záró jelenet: telefon + chart ---- */
.cta-stage{position:relative;}
.cta-stage .cta{min-height:100vh; display:flex; align-items:center; position:sticky; top:0;}
.cta-wrapgrid{display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; width:100%;}
.cta-wrapgrid .cta-in{text-align:left;}
.cta-wrapgrid .cta-in .kk{justify-content:flex-start;}
.cta-wrapgrid .cta-in p{margin-left:0;}
.cta-wrapgrid .cta-acts{justify-content:flex-start;}
.cta-phone{justify-self:center; will-change:transform; opacity:0;}
.phone{width:min(240px,24vw); aspect-ratio:9/18.5; border-radius:32px; border:1px solid rgba(230,237,247,.25);
  background:linear-gradient(170deg,#10182B,#0A1020); position:relative; padding:12px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.8), 0 0 90px rgba(139,92,246,.3);}
.phone::before{content:''; position:absolute; top:9px; left:50%; transform:translateX(-50%); width:70px; height:15px; border-radius:999px; background:#070B14; z-index:2;}
.ph-scr{height:100%; border-radius:21px; background:#0B1226; border:1px solid rgba(143,163,200,.15); padding:36px 15px 15px; display:flex; flex-direction:column; gap:7px;}
.ph-scr b{font-family:var(--disp); font-size:.95rem; color:#E6EDF7; line-height:1.3;}
.ph-scr > span{font-family:var(--mono); font-size:.66rem; color:#8FA3C8;}
.ph-cal{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:10px 0;}
.ph-cal i{height:26px; border-radius:7px; background:rgba(143,163,200,.12);}
.ph-cal i:nth-child(2){background:rgba(139,92,246,.6);}
.ph-scr em{margin-top:auto; font-style:normal; text-align:center; background:#8B5CF6; color:#fff; font-size:.76rem; font-weight:600; padding:10px; border-radius:10px;}
.cta-big{position:absolute; inset:0; opacity:.5; pointer-events:none;}
.cta-big svg{width:100%; height:100%; overflow:visible;}
.cta-big .ln{fill:none; stroke:#5CE2A2; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:3000; stroke-dashoffset:3000;}
.cta-big .lv{fill:none; stroke-width:1.2; stroke-dasharray:4 7;}
.cta-big text{font-family:var(--mono); font-size:13px;}
.cta-big .pulse{opacity:0; transition:opacity .4s;}
.cta-big .pulse.onp{opacity:1;}
.cta-big .lvl{opacity:0; transition:opacity .6s;}
.cta-big .lvl.onl{opacity:1;}
.cta-big .pulse .ring{transform-origin:center; transform-box:fill-box; animation:ringout 1.7s ease-out infinite;}
@keyframes ringout{0%{transform:scale(.3); opacity:.9}100%{transform:scale(3); opacity:0}}
.cta-stage .wrap{position:relative; z-index:2;}
.ph-btn{margin-top:auto; font-style:normal; text-align:center; background:#8B5CF6; color:#fff; font-size:.76rem; font-weight:600; padding:10px; border-radius:10px; display:block; pointer-events:auto;}
.ph-btn:hover{background:#B79BFF;}
@media (max-width:1080px){
  .cta-wrapgrid{grid-template-columns:1fr;}
  .cta-phone, .cta-big{display:none;}
  .cta-stage{height:auto!important;}
  .cta-stage .cta{position:static; min-height:0;}
}

/* ---- vissza-fel gomb: görgetési gyűrű ---- */
.to-top{overflow:visible;}
.to-top .tt-ring{position:absolute; inset:-2px; width:calc(100% + 4px); height:calc(100% + 4px); transform:rotate(-90deg); pointer-events:none;}
.to-top .tt-ring circle{fill:none; stroke:var(--gold); stroke-width:2.4; stroke-linecap:round;}

/* ---- háttér trade-sztori canvas ---- */
#storyCanvas{position:fixed; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none;}
body::before{z-index:-2;}

@media (min-width:861px){ #hs .consult{margin-top:-64px;} }


/* ---- konzultáció hero (segédeszközök) ---- */
.consult-hero{border-radius:var(--r); padding:clamp(34px,5.5vw,58px); position:relative; overflow:hidden;
  background:linear-gradient(135deg,#131A30,#1A1240 55%,#2B1B66); color:#E6EDF7;
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;}
.consult-hero::before{content:''; position:absolute; inset:0;
  background:radial-gradient(700px 380px at 85% 10%, rgba(139,92,246,.35), transparent 60%),
             radial-gradient(500px 300px at 5% 95%, rgba(92,226,162,.1), transparent 60%);}
.consult-hero .chl{display:flex; gap:22px; align-items:center; position:relative;}
.consult-hero .ic{width:62px; height:62px; border-radius:18px; flex:none; display:grid; place-items:center;
  background:rgba(139,92,246,.22); border:1px solid rgba(183,155,255,.35);}
.consult-hero .ic svg{width:30px; height:30px; color:#B79BFF;}
.consult-hero h2{color:inherit; font-size:clamp(1.35rem,2.5vw,1.8rem); margin-bottom:6px;}
.consult-hero p{opacity:.8; max-width:52ch; font-size:.97rem;}
.consult-hero .b{position:relative;}


/* ---- pörgő bakelit (podcast) ---- */
.vinyl{position:absolute; right:clamp(-70px,3vw,70px); top:52%; width:min(430px,32vw); aspect-ratio:1; border-radius:50%;
  background:conic-gradient(from 20deg, rgba(255,255,255,.07) 0 14deg, transparent 14deg 150deg, rgba(255,255,255,.05) 150deg 170deg, transparent 170deg 330deg, rgba(255,255,255,.04) 330deg 344deg, transparent 344deg),
    repeating-radial-gradient(circle at 50% 50%, #0A0F1E 0 2px, #151C31 2px 4px);
  border:1px solid rgba(230,237,247,.14);
  box-shadow:0 30px 90px -30px rgba(0,0,0,.8), 0 0 90px rgba(139,92,246,.3);
  animation:spin 8s linear infinite;}
.vinyl::before{content:''; position:absolute; inset:33%; border-radius:50%; background:linear-gradient(135deg,#8B5CF6,#5CE2A2);}
.vinyl::after{content:''; position:absolute; inset:48%; border-radius:50%; background:#0B1226;}
@keyframes spin{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}
.vinyl{transform:translateY(-50%);}
@media (max-width:1000px){ .vinyl{display:none;} }


/* ---- jelentkezési űrlap (Mentorprogram) ---- */
.order-form{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:22px;}
.of-step{border:1px solid var(--line); border-radius:var(--r); background:var(--panel); padding:clamp(22px,4vw,34px); margin:0;
  box-shadow:0 18px 50px -30px rgba(0,0,0,.55); transition:border-color .3s;}
.of-step.done{border-color:color-mix(in srgb, var(--up) 45%, transparent);}
.of-step legend{float:left; width:100%; font-family:var(--disp); font-weight:700; font-size:1.15rem; color:var(--txt); display:flex; align-items:center; gap:12px; padding:0; margin:0 0 14px;}
.of-step legend + *{clear:both;}
.of-n{font-family:var(--mono); font-size:.8rem; font-weight:500; color:var(--gold); width:34px; height:34px; border:1px solid var(--line2); border-radius:50%; display:grid; place-items:center; transition:.3s;}
.of-step.done .of-n{background:var(--up); border-color:var(--up); color:#06120c;}
.of-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; margin-top:16px;}
.of-full{grid-column:1 / -1;}
@media (max-width:620px){ .of-grid{grid-template-columns:1fr;} }
.order-form label{display:flex; flex-direction:column; gap:7px; font-size:.86rem; font-weight:600; color:var(--txt);}
.order-form input[type=text], .order-form input[type=email], .order-form select, .order-form textarea{
  font-family:var(--sans); font-size:.95rem; color:var(--txt); background:var(--bg); border:1px solid var(--line2);
  padding:13px 14px; border-radius:10px; width:100%; transition:border-color .2s, box-shadow .2s;}
.order-form textarea{resize:vertical;}
.order-form input:focus, .order-form select:focus, .order-form textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 20%, transparent);}
.order-form .bad{border-color:var(--down)!important;}
.of-opt{font-weight:400; color:var(--dim);}
.of-plans{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px;}
@media (max-width:520px){ .of-plans{grid-template-columns:1fr;} }
.of-plan{position:relative; cursor:pointer;}
.of-plan input{position:absolute; opacity:0; pointer-events:none;}
.of-plan span{display:flex; flex-direction:column; gap:4px; padding:20px; border:1px solid var(--line2); border-radius:12px; background:var(--bg); transition:.25s;}
.of-plan b{font-family:var(--disp); font-size:1.4rem; color:var(--txt);}
.of-plan small{font-size:.8rem; color:var(--mut); font-weight:500;}
.of-plan input:checked + span{border-color:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 22%, transparent); background:color-mix(in srgb, var(--gold) 8%, var(--bg));}
.of-plan input:focus-visible + span{outline:2px solid var(--gold); outline-offset:2px;}
.of-hint{margin-top:14px; font-size:.9rem; color:var(--mut);}
.of-hint a, .of-check a, .of-done a{color:var(--txt); border-bottom:1px solid var(--gold);}
.order-form .of-check{flex-direction:row; align-items:flex-start; gap:12px; font-weight:400; color:var(--mut); font-size:.92rem; line-height:1.6; margin-top:14px; cursor:pointer;}
.of-check input{margin-top:4px; width:18px; height:18px; flex:none; accent-color:var(--gold);}
.of-consent{margin-top:20px; padding-top:18px; border-top:1px dashed var(--line);}
.of-consent p{font-size:.92rem; color:var(--mut); line-height:1.6;}
.of-toggle{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap;}
.order-form .of-toggle label{flex-direction:row; cursor:pointer;}
.of-toggle input{position:absolute; opacity:0; pointer-events:none;}
.of-toggle span{padding:10px 18px; border:1px solid var(--line2); border-radius:999px; font-size:.88rem; transition:.2s;}
.of-toggle input:checked + span{background:var(--gold); border-color:var(--gold); color:#fff;}
.of-toggle input:focus-visible + span{outline:2px solid var(--gold); outline-offset:2px;}
.of-submit{display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:6px;}
.of-submit .b{padding:16px 34px; font-size:1rem;}
.of-submit .b:disabled{opacity:.6; pointer-events:none;}
.of-done{max-width:640px; margin:0 auto; text-align:center; border:1px solid var(--line2); border-radius:var(--r); background:var(--panel); padding:clamp(30px,5vw,50px);}
.of-done .ic{width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:color-mix(in srgb, var(--up) 18%, transparent); color:var(--up); display:grid; place-items:center;}
.of-done .ic svg{width:32px; height:32px;}
.of-done h2{font-size:1.6rem; margin-bottom:10px;}
.of-done p{color:var(--mut);}

/* rögzített haladásjelző sáv */
body.has-progress{padding-bottom:86px;}
body.has-progress .to-top{bottom:100px;}
.of-progress{position:fixed; left:0; right:0; bottom:0; z-index:125; padding:12px 0 calc(12px + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--line);}
.of-progress-top{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:9px; gap:10px;}
.of-stage{font-size:.86rem; font-weight:600; color:var(--txt);}
.of-pct{font-family:var(--mono); font-size:.8rem; color:var(--gold);}
.of-track{position:relative; height:6px; border-radius:999px; background:var(--line);}
.of-track i{position:absolute; inset:0 auto 0 0; width:0; border-radius:999px; background:linear-gradient(90deg,#8B5CF6,#5CE2A2); transition:width .5s cubic-bezier(.2,.8,.2,1);}
.of-track span{position:absolute; top:50%; width:10px; height:10px; margin:-5px 0 0 -5px; border-radius:50%; background:var(--bg); border:2px solid var(--line2); transition:.3s;}
.of-track span:first-of-type{margin-left:0;} .of-track span:last-of-type{margin-left:-10px;}
.of-track span.on{background:#5CE2A2; border-color:#5CE2A2;}

.req{font-style:normal; color:var(--down); font-weight:700; margin-left:2px;}
.of-check.is-req span::after{content:' *'; color:var(--down); font-weight:700;}
.of-legend-note{max-width:820px; margin:0 auto 14px; font-size:.85rem; color:var(--mut);}
.order-form input::placeholder, .order-form textarea::placeholder{color:var(--dim); opacity:.75;}
.of-submit .b{background:linear-gradient(120deg,#4C1D95,#6D28D9); color:#fff; font-weight:700; border:1px solid #7C3AED;
  padding:18px 44px; font-size:1.05rem; box-shadow:0 14px 36px -14px rgba(76,29,149,.9);}
.of-submit .b:hover{background:linear-gradient(120deg,#5B21B6,#7C3AED); transform:translateY(-2px);}
.order-form[hidden]{display:none!important;}
