/* Kulcs-Soft – KATA 2027 landing (Shadow DOM-ban töltődik be) */
:host{display:block}
.ks-lp{
  /* a téma öröklődő szövegtulajdonságainak nullázása (ezek átjutnak a Shadow DOM határán) */
  letter-spacing:normal; word-spacing:normal; text-transform:none; font-style:normal; font-variant:normal; font-feature-settings:normal;
  text-shadow:none; text-indent:0; white-space:normal; hyphens:manual; overflow-wrap:normal; visibility:visible; direction:ltr; text-align:left;
  cursor:auto; color-scheme:light; -webkit-font-smoothing:auto; font-weight:400;
}
.ks-lp [hidden]{display:none!important}
.ks-lp img{max-width:100%}
/* a ks.hu ragadós fejléce ne takarja el a horgonyokkal elért szakaszokat */
.ks-lp section[id],.ks-lp .ks-kata,.ks-lp .ks-kata .kr{scroll-margin-top:140px}
@media print{.ks-lp .rv,.ks-lp .rv *,.ks-lp .rv::before,.ks-lp .rv *::before{opacity:1!important;transform:none!important}}

/* Layout: sötét „tinta” hős + világos tartalmi sávok, 1120px-es tartalmi szélesség; a kalkulátorokkal azonos Kulcs-Soft arculat (egy, világos téma, minden szín explicit) */
:host{
  color-scheme:light;
  --tinta:#0E133E; --kek:#23395D; --kek80:#4F617D; --kek60:#7B889E; --kek40:#A7B0BE; --kek20:#D3D7DF; --kek08:#EEF0F4;
  --tech:#1275BB; --egkek:#5CC8FF; --piros:#FF0000; --sarga:#FFC24D;
  --lap:#F4F6F9; --feher:#FFFFFF;
  --display:"Saira Condensed","Saira","Arial Narrow",sans-serif; --saira:"Saira","Segoe UI",sans-serif; --lexend:"Lexend",system-ui,"Segoe UI",sans-serif;
  --r:10px; --r-lg:18px; --max:1120px;
  --arnyek:0 1px 2px rgba(14,19,62,.06),0 18px 48px -12px rgba(14,19,62,.22);
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.ks-lp{background:var(--lap);color:var(--kek80);font-family:var(--lexend);font-size:16px;line-height:1.6;margin:0}
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3,p,ul,ol{margin:0}
a{color:var(--tech)}
b,strong{color:var(--tinta);font-weight:700}
.wrap{max-width:calc(var(--max) + 32px);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.num{font-family:var(--saira);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
:focus-visible{outline:2px solid var(--tech);outline-offset:3px;border-radius:4px}

/* ---------- gombok ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--saira);font-weight:600;font-size:17px;line-height:1.2;text-decoration:none;border-radius:999px;padding:14px 22px 14px 26px;transition:background .15s,border-color .15s,transform .15s}
.btn svg{width:20px;height:20px;flex:none;transition:transform .15s}
.btn:hover svg{transform:translateX(3px)}
.btn-fo{background:var(--tech);color:var(--feher)}
.btn-fo:hover{background:#0F66A3}
.btn-kerv{color:var(--feher);border:1.5px solid rgba(255,255,255,.32)}
.btn-kerv:hover{border-color:rgba(255,255,255,.7)}
.btn-vil{color:var(--tinta);border:1.5px solid var(--kek20);background:var(--feher)}
.btn-vil:hover{border-color:var(--kek40)}

/* ---------- fejléc + hős ---------- */
.hos{position:relative;background:var(--tinta);color:var(--feher);overflow:hidden;isolation:isolate}
.hos::before{content:"";position:absolute;z-index:-1;width:900px;height:900px;right:-300px;top:-420px;background:radial-gradient(closest-side,rgba(18,117,187,.62),rgba(18,117,187,0))}
.hos::after{content:"";position:absolute;z-index:-1;width:700px;height:700px;left:-330px;bottom:-420px;background:radial-gradient(closest-side,rgba(255,0,0,.30),rgba(255,0,0,0))}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px}
.logo{display:block;color:var(--feher);line-height:0}
.logo svg{width:170px;height:auto}
.nav ul{list-style:none;display:flex;gap:26px;padding:0;font-size:14.5px}
.nav ul a{color:rgba(255,255,255,.8);text-decoration:none}
.nav ul a:hover{color:var(--feher)}
@media (max-width:860px){.nav ul{display:none}}
.nav .btn{font-size:15px;padding:10px 16px 10px 20px}

.hos-g{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center;padding-block:48px 80px}
@media (max-width:900px){.hos-g{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:28px 56px}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--saira);font-weight:600;font-size:13.5px;letter-spacing:.04em;color:var(--feher);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 14px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--sarga)}
.hos h1{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(48px,7.4vw,96px);line-height:.92;color:var(--feher);margin:20px 0 22px;text-wrap:balance}
.hos h1 span{color:var(--egkek)}
.hos .lead{font-size:clamp(17px,1.6vw,19px);line-height:1.55;color:rgba(255,255,255,.82);max-width:34em}
.hos .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hos .frissites{margin-top:22px;font-size:13px;color:rgba(255,255,255,.6)}

/* tételes adó „blokk” a hősben */
/* a hős jobb oldala: a fő számok közvetlenül a sötét háttéren, régi → új összevetéssel */
.szamsor{color:rgba(255,255,255,.78);border-left:2px solid rgba(255,255,255,.16);padding-left:clamp(20px,3vw,36px)}
@media (max-width:900px){.szamsor{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.16);padding-top:28px}}
.szamsor-cimke{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--egkek)}
.szamsor-fo{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:4px 0 8px;font-variant-numeric:tabular-nums}
.szamsor-volt{margin-top:14px;font-size:14px;color:rgba(255,255,255,.6)}
.szamsor-volt s{font-family:var(--saira);font-weight:600;color:rgba(255,255,255,.6);text-decoration-color:rgba(255,255,255,.6);text-decoration-thickness:1.5px;margin-left:4px}
.szamsor-fo strong{display:inline-block;min-width:6.4ch;font-family:var(--display);font-weight:800;font-size:clamp(64px,8vw,104px);line-height:.9;color:var(--feher)}
.szamsor-fo em{font-style:normal;font-family:var(--saira);font-weight:500;font-size:18px;color:rgba(255,255,255,.7)}
.szamsor-meg{font-size:14px}
.szamsor dl{margin:28px 0 0;display:grid}
.szamsor dl div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}
.szamsor dt{font-size:14.5px;color:rgba(255,255,255,.75)}
.szamsor dd{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.4vw,30px);line-height:1;color:var(--feher);white-space:nowrap;font-variant-numeric:tabular-nums}
.szamsor dd s{font-weight:700;font-size:.7em;color:rgba(255,255,255,.42);margin-right:8px}
.szamsor dd em{font-style:normal;font-family:var(--saira);font-weight:500;font-size:13px;color:rgba(255,255,255,.65);margin-left:5px}
.szamsor-lab{margin-top:6px;font-size:12.5px;color:rgba(255,255,255,.55)}

/* ---------- szekciók ---------- */
.ks-main>section{padding-block:88px 0}
.ks-main>section:last-of-type{padding-bottom:96px}
@media (max-width:700px){.ks-main>section{padding-block:64px 0}}

/* beágyazott KATA 2027 kalkulátor */
#kalkulator{padding-top:64px}
#kalkulator .szfej{margin-bottom:28px}
.ks-kata{scroll-margin-top:24px}
/* az artifact nézet nem enged nyomtatást, és a link-másolás sem megbízható: ezek a gombok itt rejtve */
.ks-kata [data-act="pdf"],.ks-kata [data-act="share"]{display:none!important}
.ks-kata .kacts{grid-template-columns:1fr!important}
.ks-kata .kdock{bottom:calc(12px + env(safe-area-inset-bottom, 0px));left:calc(12px + env(safe-area-inset-left, 0px));right:calc(12px + env(safe-area-inset-right, 0px))}
.szfej{max-width:760px;margin-bottom:36px}
.cimke{display:block;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--tech);margin-bottom:10px}
h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(34px,4.6vw,54px);line-height:.98;color:var(--tinta);text-wrap:balance}
.szfej p{margin-top:14px;font-size:17px;max-width:40em}
h3{font-family:var(--lexend);font-weight:700;font-size:19px;line-height:1.3;letter-spacing:-.01em;color:var(--tinta);text-wrap:balance}

/* idővonal */
.ido{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative}
.ido::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--kek20)}
.ido li{position:relative;padding:36px 22px 0 0;min-width:0}
.ido li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--feher);border:4px solid var(--tech)}
.ido li.vege::before{border-color:var(--piros)}
.ido time{display:block;font-family:var(--display);font-weight:800;font-size:26px;line-height:1.05;text-transform:uppercase;color:var(--tinta)}
.ido h3{font-size:16px;margin:8px 0 6px}
.ido p{font-size:14.5px;line-height:1.5}
@media (max-width:860px){
  .ido{grid-template-columns:minmax(0,1fr);gap:28px}
  .ido::before{left:9px;right:auto;top:6px;bottom:6px;width:2px;height:auto}
  .ido li{padding:0 0 0 40px}
}
.allapot{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin-top:40px;background:var(--feher);border:1.5px solid var(--kek20);border-radius:var(--r);padding:16px 18px;font-size:14.5px;color:var(--kek)}
.allapot i{width:10px;height:10px;border-radius:50%;background:var(--sarga);margin-top:7px;box-shadow:0 0 0 5px rgba(255,194,77,.25)}

/* összehasonlító tábla */
.tabla-k{background:var(--feher);border-radius:var(--r-lg);box-shadow:var(--arnyek);overflow-x:auto}
table{width:100%;min-width:720px;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:16px 20px;vertical-align:top;border-bottom:1px solid var(--kek20)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
thead th{font-family:var(--display);font-weight:700;font-size:16px;line-height:1.2;text-transform:uppercase;color:var(--tinta);background:var(--kek08);border-bottom:0}
thead th small{display:block;font-family:var(--lexend);font-weight:400;text-transform:none;font-size:12.5px;color:var(--kek80);margin-top:2px}
thead th.uj{background:var(--tinta);color:var(--feher)}
thead th.uj small{color:rgba(255,255,255,.7)}
tbody th{font-weight:600;color:var(--tinta);width:24%}
td.uj{background:rgba(18,117,187,.05)}
td .num{font-size:17px;color:var(--tinta)}
td small{display:block;font-size:12.5px;color:var(--kek60);margin-top:2px;line-height:1.4}
.tabla-lab{margin-top:14px;font-size:13.5px;color:var(--kek80)}

/* változás-kártyák */
.kartyak{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:980px){.kartyak{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.kartyak{grid-template-columns:minmax(0,1fr)}}
.kartya{background:var(--feher);border-radius:var(--r-lg);padding:26px 26px 28px;display:flex;flex-direction:column;gap:12px;min-width:0;border:1px solid var(--kek20)}
.kartya .ik{width:44px;height:44px;border-radius:12px;background:var(--kek08);color:var(--tech);display:grid;place-items:center}
.kartya .ik svg{width:22px;height:22px}
.kartya p,.kartya li{font-size:15px;line-height:1.55}
.kartya ul{padding-left:18px;display:grid;gap:6px}
.kartya li::marker{color:var(--tech)}
.kartya .tag{align-self:flex-start;font-family:var(--saira);font-weight:600;font-size:12px;color:var(--tech);background:rgba(18,117,187,.08);border-radius:999px;padding:3px 10px}
.kartya.kiemelt{grid-column:span 2;background:var(--tinta);border-color:var(--tinta);color:rgba(255,255,255,.82);position:relative;overflow:hidden;isolation:isolate}
@media (max-width:640px){.kartya.kiemelt{grid-column:auto}}
.kartya.kiemelt::before{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-160px;top:-200px;background:radial-gradient(closest-side,rgba(18,117,187,.6),rgba(18,117,187,0))}
.kartya.kiemelt h3,.kartya.kiemelt b{color:var(--feher)}
.kartya.kiemelt .ik{background:rgba(255,255,255,.1);color:var(--egkek)}
.kartya.kiemelt .tag{color:var(--egkek);background:rgba(92,200,255,.12)}

/* 15%-os sáv-ábra */
.sav{margin-top:6px}
.sav-sor{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:center;margin-top:12px}
.sav-sor>span{font-size:13px;color:rgba(255,255,255,.75);line-height:1.3}
.sav-sav{position:relative;height:34px;border-radius:8px;overflow:hidden;display:flex;background:rgba(255,255,255,.06)}
.sav-sav i{display:flex;align-items:center;padding:0 10px;font-style:normal;font-family:var(--saira);font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden}
.sav-sav .men{background:rgba(92,200,255,.22);color:var(--feher)}
.sav-sav .ado{background:var(--sarga);color:var(--tinta)}
.sav-sav .kul{background:var(--piros);color:var(--feher)}
.sav-ten{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;margin-top:6px}
.sav-ten div{position:relative;height:18px;font-family:var(--saira);font-weight:500;font-size:12px;color:rgba(255,255,255,.6)}
.sav-ten span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.sav-lab{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:12.5px;color:rgba(255,255,255,.75)}
.sav-lab span{display:inline-flex;align-items:center;gap:6px}
.sav-lab i{width:10px;height:10px;border-radius:3px}
@media (max-width:520px){.sav-sor,.sav-ten{grid-template-columns:minmax(0,1fr)}.sav-ten>span{display:none}}

/* kinek mit jelent – fülek */
.fulek{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:24px;align-items:start}
@media (max-width:900px){.fulek{grid-template-columns:minmax(0,1fr)}}
.ful-lista{display:grid;gap:8px}
.ful{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;background:var(--feher);border:1.5px solid var(--kek20);border-radius:var(--r);padding:16px 18px;transition:border-color .15s,background .15s}
.ful:hover{border-color:var(--kek40)}
.ful:focus-visible{outline:2px solid var(--tech);outline-offset:2px}
.ful .pont{grid-row:span 2;width:12px;height:12px;border-radius:50%;border:2px solid var(--kek40)}
.ful b{font-size:15.5px;line-height:1.35}
.ful small{font-size:13px;color:var(--kek60);line-height:1.35}
.ful[aria-selected="true"]{background:var(--tinta);border-color:var(--tinta)}
.ful[aria-selected="true"] b{color:var(--feher)}
.ful[aria-selected="true"] small{color:rgba(255,255,255,.65)}
.ful[aria-selected="true"] .pont{border-color:var(--egkek);background:var(--egkek)}
.panel{background:var(--feher);border-radius:var(--r-lg);box-shadow:var(--arnyek);padding:clamp(22px,3.4vw,36px);min-width:0}
.panel h3{font-size:clamp(20px,2.2vw,24px)}
.panel>p{margin-top:12px;font-size:16px}
.panel .lepes{margin-top:22px;display:grid;gap:12px}
.panel .lepes div{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;font-size:15px}
.panel .lepes svg{width:22px;height:22px;color:var(--tech);margin-top:1px}
.panel .figy{margin-top:22px;display:grid;grid-template-columns:auto 1fr;gap:12px;background:#FFF6E3;border-radius:var(--r);padding:14px 16px;font-size:14.5px;color:var(--kek)}
.panel .figy b{display:block}
.panel .figy i{width:24px;height:24px;border-radius:50%;background:var(--sarga);color:var(--tinta);font:700 14px/24px var(--lexend);text-align:center;font-style:normal}

/* Kulcs Flow */
.flow{background:var(--tinta);border-radius:24px;color:rgba(255,255,255,.82);padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);position:relative;overflow:hidden;isolation:isolate}
.flow::before{content:"";position:absolute;z-index:-1;width:760px;height:760px;right:-280px;bottom:-420px;background:radial-gradient(closest-side,rgba(18,117,187,.6),rgba(18,117,187,0))}
.flow::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;left:-260px;top:-300px;background:radial-gradient(closest-side,rgba(255,0,0,.25),rgba(255,0,0,0))}
@media (max-width:900px){.flow{grid-template-columns:minmax(0,1fr)}}
.flow .cimke{color:var(--egkek)}
.flow h2{color:var(--feher)}
.flow>div>p{margin-top:16px;font-size:17px}
.flow .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.flow ul{list-style:none;padding:0;display:grid;gap:14px;align-content:center}
.flow li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:18px}
.flow li .ik{width:44px;height:44px;border-radius:12px;background:rgba(92,200,255,.12);color:var(--egkek);display:grid;place-items:center}
.flow li .ik svg{width:22px;height:22px}
.flow li b{display:block;color:var(--feher);font-size:16px;margin-bottom:2px}
.flow li p{font-size:14.5px;line-height:1.5}

/* következő lépés + lábléc */
.kovetkezo{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center;background:var(--feher);border:1px solid var(--kek20);border-radius:var(--r-lg);padding:clamp(24px,4vw,44px)}
@media (max-width:860px){.kovetkezo{grid-template-columns:minmax(0,1fr);gap:24px}}
.kovetkezo p{margin-top:12px;font-size:16px}
.kovetkezo .cta{display:flex;flex-wrap:wrap;gap:12px}
.jogi{margin-top:28px;font-size:13px;line-height:1.55;color:var(--kek80);max-width:80ch}
footer{background:var(--tinta);color:rgba(255,255,255,.7);font-size:14px;padding-block:44px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-start}
footer address{font-style:normal;line-height:1.7}
footer a{color:rgba(255,255,255,.85)}
footer .lablinkek{display:flex;flex-wrap:wrap;gap:8px 22px}
footer .copy{flex-basis:100%;font-size:12.5px;color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.12);padding-top:18px}

/* ===== ks.hu arculat: kék színátmenetes hős, #23395D menüsáv, narancs fő gomb (6px), Lexend H2,
   fehér és #F1F6FF váltakozó szakaszok, 10px-es kártyák puha árnyékkal ===== */
:host{--tech:#1B87E7; --kekmely:#2274D2; --kek:#23395D; --halvany:#F1F6FF; --narancs:#FF5D31; --lap:#FFFFFF; --egkek:#CFE6FF; --r:6px; --r-lg:10px;
  --arnyek:0 0 12px rgba(14,19,62,.2)}
.ks-lp{background:var(--feher)}

.btn{border-radius:6px;padding:13px 20px 13px 22px;font-weight:600}
.btn-fo{background:var(--narancs);color:var(--feher)}
.btn-fo:hover{background:#E94B20}
.btn-kerv{border:1.5px solid rgba(255,255,255,.7)}
.btn-kerv:hover{border-color:var(--feher);background:rgba(255,255,255,.08)}
.btn-vil{color:var(--tech);background:var(--feher);border:1.5px solid var(--tech)}
.btn-vil:hover{background:var(--halvany);border-color:var(--tech)}

.hos{background:linear-gradient(115deg,#0E4AA8 0%,#1A6BD0 48%,#1B87E7 100%)}
.hos::before{background:radial-gradient(closest-side,rgba(255,255,255,.16),rgba(255,255,255,0))}
.hos::after{display:none}
.nav{position:relative;padding-block:14px}
.nav::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-100vw;right:-100vw;background:var(--kek)}
.nav ul a{color:var(--feher);font-size:15px}
.nav .btn{background:var(--narancs);border-color:var(--narancs);padding:9px 14px 9px 16px;font-size:14px}
.nav .btn:hover{background:#E94B20;border-color:#E94B20}
.hos-g{padding-block:72px 80px}
@media (max-width:900px){.hos-g{padding-block:48px 56px}}
.eyebrow{border-radius:6px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.eyebrow i{background:var(--narancs)}
.hos h1 span{color:var(--feher)}
.hos .lead{color:rgba(255,255,255,.9)}
.hos .frissites{color:rgba(255,255,255,.72)}
.szamsor{border-left-color:rgba(255,255,255,.28);color:rgba(255,255,255,.88)}
.szamsor-cimke{color:var(--feher)}
.szamsor-volt,.szamsor-volt s,.szamsor-lab{color:rgba(255,255,255,.75)}
.szamsor dl div{border-top-color:rgba(255,255,255,.22)}
.szamsor dt{color:rgba(255,255,255,.88)}
.szamsor dd s{color:rgba(255,255,255,.55)}

.ks-main>section{padding-block:80px}
.ks-main>section:last-of-type{padding-bottom:80px}
@media (max-width:700px){.ks-main>section{padding-block:56px}}
#kalkulator{padding-top:64px}
#menetrend,#valtozasok,#kovetkezo{background:var(--halvany)}
h2{font-family:var(--lexend);font-weight:800;text-transform:none;font-size:clamp(28px,3.4vw,36px);line-height:1.2;letter-spacing:0}
.flow h2{font-size:clamp(28px,3.4vw,36px)}

.allapot{border:0;box-shadow:var(--arnyek);border-radius:var(--r-lg)}
.ido li::before{border-color:var(--tech)}
.ido li.vege::before{border-color:var(--narancs)}
.tabla-k{border-radius:var(--r-lg)}
thead th{background:var(--halvany)}
thead th.uj{background:var(--kek)}
td.uj{background:rgba(27,135,231,.05)}
.kartya{border:0;border-radius:var(--r-lg);box-shadow:var(--arnyek)}
.kartya .ik{background:var(--halvany);border-radius:8px}
.kartya .tag{border-radius:6px;color:var(--tech);background:rgba(27,135,231,.1)}
.kartya.kiemelt{background:var(--kek)}
.kartya.kiemelt::before{background:radial-gradient(closest-side,rgba(27,135,231,.55),rgba(27,135,231,0))}
.kartya.kiemelt .ik{background:rgba(255,255,255,.12);color:var(--egkek)}
.kartya.kiemelt .tag{color:var(--feher);background:var(--narancs)}
.sav-sav .men{background:rgba(207,230,255,.28)}
.ful{border-radius:var(--r-lg);border-color:var(--kek20)}
.ful[aria-selected="true"]{background:var(--kek);border-color:var(--kek)}
.ful[aria-selected="true"] .pont{border-color:var(--narancs);background:var(--narancs)}
.panel{border-radius:var(--r-lg);background:var(--halvany);box-shadow:none}
.panel .figy{background:var(--feher)}
.flow{border-radius:var(--r-lg);background:linear-gradient(115deg,#0E4AA8 0%,#1A6BD0 48%,#1B87E7 100%);color:rgba(255,255,255,.9)}
.flow::before{background:radial-gradient(closest-side,rgba(255,255,255,.14),rgba(255,255,255,0))}
.flow::after{display:none}
.flow .cimke{color:var(--feher)}
.flow li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}
.flow li .ik{background:rgba(255,255,255,.16);color:var(--feher)}
.kovetkezo{border:0;border-radius:var(--r-lg);box-shadow:var(--arnyek)}
footer{background:var(--kek)}
/* az utolsó kártya ne álljon egyedül a sorban */
@media (min-width:641px){.kartyak>.kartya:last-child{grid-column:1/-1}}

/* ===== mozgás: betöltési sorozat a hősben, görgetésre beúszó tartalom, mikrointerakciók.
   Csak ha a látogató nem kért kevesebb mozgást; a tartalom mozgás nélkül is teljes. ===== */
@media (prefers-reduced-motion:no-preference){
  @keyframes ks-fel{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes ks-balrol{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
  @keyframes ks-uszik{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-120px,80px) scale(1.12)}100%{transform:translate(60px,140px) scale(.95)}}
  @keyframes ks-fenycsik{from{transform:translateX(-120%) skewX(-18deg)}to{transform:translateX(320%) skewX(-18deg)}}
  @keyframes ks-pulzus{0%,100%{box-shadow:0 0 0 0 rgba(255,93,49,.55)}50%{box-shadow:0 0 0 6px rgba(255,93,49,0)}}

  /* hős: lépcsőzetes beúszás */
  .hos-g>div>*{animation:ks-fel .7s cubic-bezier(.2,.8,.2,1) both}
  .hos-g>div>.eyebrow{animation-delay:.05s}
  .hos-g>div>h1{animation-delay:.15s}
  .hos-g>div>.lead{animation-delay:.3s}
  .hos-g>div>.cta{animation-delay:.42s}
  .hos-g>div>.frissites{animation-delay:.52s}
  .szamsor{animation:ks-balrol .8s .35s cubic-bezier(.2,.8,.2,1) both}
  .szamsor dl div{animation:ks-balrol .6s cubic-bezier(.2,.8,.2,1) both}
  .szamsor dl div:nth-child(1){animation-delay:.7s}
  .szamsor dl div:nth-child(2){animation-delay:.8s}
  .szamsor dl div:nth-child(3){animation-delay:.9s}
  .eyebrow i{animation:ks-pulzus 2.4s 1.2s ease-in-out 4}
  /* hős: lassan úszó fény a háttérben */
  .hos::before{animation:ks-uszik 22s ease-in-out 2 alternate}
  /* fő gomb: egyszeri fénycsík */
  .btn-fo{position:relative;overflow:hidden;isolation:isolate}
  .btn-fo::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.35),rgba(255,255,255,0));transform:translateX(-120%) skewX(-18deg);pointer-events:none}
  .hos .btn-fo::after{animation:ks-fenycsik 1.1s 1.3s ease-out both}
  .btn-fo:hover::after{animation:ks-fenycsik .8s ease-out}
  .btn{transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(14,19,62,.45)}

  /* görgetésre beúszás (a script csak a hajtás alatti elemekre teszi rá) */
  .rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
  .rv.be{opacity:1;transform:none}

  /* idővonal: a vonal végigfut, a pontok kipattannak */
  .ido.rv{opacity:1;transform:none}
  .ido::before{transform-origin:left center;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
  .ido.rv::before{transform:scaleX(0)}
  .ido.rv.be::before{transform:none}
  @media (max-width:860px){.ido::before{transform-origin:center top}.ido.rv::before{transform:scaleY(0)}}
  .ido li{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
  .ido li::before{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
  .ido.rv li{opacity:0;transform:translateY(16px)}
  .ido.rv li::before{transform:scale(0)}
  .ido.rv.be li{opacity:1;transform:none}
  .ido.rv.be li::before{transform:none}
  .ido.rv.be li:nth-child(1),.ido.rv.be li:nth-child(1)::before{transition-delay:.15s}
  .ido.rv.be li:nth-child(2),.ido.rv.be li:nth-child(2)::before{transition-delay:.4s}
  .ido.rv.be li:nth-child(3),.ido.rv.be li:nth-child(3)::before{transition-delay:.65s}
  .ido.rv.be li:nth-child(4),.ido.rv.be li:nth-child(4)::before{transition-delay:.9s}

  /* 15%-os ábra: a sávok balról kinőnek */
  .sav-sav i{transform-origin:left center;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
  .kartya.kiemelt.rv .sav-sav i{transform:scaleX(0)}
  .kartya.kiemelt.rv.be .sav-sav i{transform:none}
  .kartya.kiemelt.rv.be .sav-sav i:nth-child(1){transition-delay:.35s}
  .kartya.kiemelt.rv.be .sav-sav i:nth-child(2){transition-delay:.6s}
  .kartya.kiemelt.rv.be .sav-sav i:nth-child(3){transition-delay:.85s}

  /* táblázat: a sorok egymás után úsznak be */
  .tabla-k.rv tbody tr{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
  .tabla-k.rv.be tbody tr{opacity:1;transform:none}
  .tabla-k.rv.be tbody tr:nth-child(1){transition-delay:.2s}
  .tabla-k.rv.be tbody tr:nth-child(2){transition-delay:.28s}
  .tabla-k.rv.be tbody tr:nth-child(3){transition-delay:.36s}
  .tabla-k.rv.be tbody tr:nth-child(4){transition-delay:.44s}
  .tabla-k.rv.be tbody tr:nth-child(5){transition-delay:.52s}
  .tabla-k.rv.be tbody tr:nth-child(6){transition-delay:.6s}

  /* mikrointerakciók */
  .kartya{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
  .kartya.be:hover,.kartya:not(.rv):hover{transform:translateY(-4px);box-shadow:0 14px 34px -12px rgba(14,19,62,.35)}
  .kartya .ik{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
  .kartya:hover .ik{transform:rotate(-8deg) scale(1.08)}
  .ful{transition:border-color .2s,background .2s,transform .2s}
  .ful:hover{transform:translateX(4px)}
  .panel:not([hidden]){animation:ks-fel .45s cubic-bezier(.2,.8,.2,1) both}
  .flow li{transition:transform .25s,background .25s}
  .flow li:hover{transform:translateX(6px);background:rgba(255,255,255,.16)}
}

/* ---------- beágyazott KATA 2027 kalkulátor ---------- */

.ks-kata{
  /* Brandbook v2.0 – márkaszínek */
  --tinta:#0E133E; --kek:#23395D; --kek80:#4F617D; --kek60:#7B889E; --kek40:#A7B0BE; --kek20:#D3D7DF; --kek08:#EEF0F4;
  --tech:#1275BB; --piros:#FF0000; --white:#fff;
  --r:10px; --r-lg:18px;
  --display:"Saira Condensed","Saira",sans-serif; --saira:"Saira",sans-serif; --lexend:"Lexend",system-ui,sans-serif;
  font-family:var(--lexend); color:var(--kek80); font-size:16px; line-height:1.55; font-weight:400;
  max-width:1240px; margin:0 auto; text-align:left; position:relative; box-sizing:border-box;
}
.ks-kata *,.ks-kata *::before,.ks-kata *::after{box-sizing:border-box}
.ks-kata [hidden]{display:none!important}
.ks-kata p{margin:0}
.ks-kata b,.ks-kata strong{font-weight:700;color:var(--tinta)}
.ks-kata .ksr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- RÁCS ---------- */
.ks-kata .kg{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:24px;align-items:start;margin:0;position:relative}
@media (max-width:960px){.ks-kata .kg{grid-template-columns:minmax(0,1fr)}}
.ks-kata .kcard{background:#fff;border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(14,19,62,.06),0 18px 48px -12px rgba(14,19,62,.22)}

/* ---------- ŰRLAP ---------- */
.ks-kata .kf{padding:clamp(20px,3.2vw,36px);margin:0}
.ks-kata .ks{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--kek20)}
.ks-kata .ks.last{border-bottom:0;margin-bottom:0;padding-bottom:0}
.ks-kata .ks-h{display:flex;align-items:center;gap:14px;margin:0 0 18px}
.ks-kata .ks-n{flex:none;font-family:var(--display);font-weight:800;font-size:15px;color:var(--tech);letter-spacing:0;border:1.5px solid var(--kek20);border-radius:8px;width:40px;height:40px;display:grid;place-items:center}
.ks-kata .ks-t{font-family:var(--lexend)!important;font-weight:800!important;font-size:clamp(19px,2vw,22px)!important;line-height:1.25!important;letter-spacing:-.01em!important;color:var(--tinta)!important;margin:0!important;text-transform:none!important}
.ks-kata .ks-t small{display:block;font-weight:400;font-size:14px;color:var(--kek80);letter-spacing:0;margin-top:2px}

.ks-kata .kc{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.ks-kata .kc{grid-template-columns:1fr}}
.ks-kata label.kc-o{display:grid;grid-template-columns:44px 1fr;gap:4px 14px;align-items:start;position:relative;cursor:pointer;border:1.5px solid var(--kek20);border-radius:var(--r);padding:16px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s;margin:0;line-height:1.35;vertical-align:initial}
.ks-kata label.kc-o:hover{border-color:var(--kek40);transform:translateY(-1px)}
.ks-kata .kc-o input{position:absolute;opacity:0;pointer-events:none}
.ks-kata .kc-o.on{border-color:var(--tech);box-shadow:0 0 0 3px rgba(18,117,187,.14),0 10px 24px -12px rgba(18,117,187,.5)}
.ks-kata .kc-o:focus-within{outline:2px solid var(--tech);outline-offset:3px}
.ks-kata .kc-ic{grid-row:span 3;width:44px;height:44px;border-radius:10px;background:var(--kek08);display:grid;place-items:center;color:var(--kek);transition:background .2s,color .2s}
.ks-kata .kc-o.on .kc-ic{background:var(--tech);color:#fff}
.ks-kata .kc-ic svg{width:22px;height:22px}
.ks-kata .kc-o b{font-size:16px;color:var(--tinta);padding-right:22px}
.ks-kata .kc-o .kc-p{font-family:var(--saira);font-weight:700;font-size:16px;color:var(--tech);white-space:nowrap}
.ks-kata .kc-o small{font-size:13px;color:var(--kek80)}
.ks-kata .kc-o::after{content:"";position:absolute;right:14px;top:14px;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--kek20);background:#fff center/12px no-repeat;transition:all .2s}
.ks-kata .kc-o.on::after{border-color:var(--tech);background-color:var(--tech);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media (min-width:961px) and (max-width:1100px){.ks-kata .kc-o .kc-ic{display:none}.ks-kata label.kc-o{grid-template-columns:1fr}}

.ks-kata .kchips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.ks-kata .kchips button{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--lexend);font-size:14px;font-weight:500;color:var(--kek);border:1.5px solid var(--kek20);border-radius:999px;padding:7px 14px;transition:all .15s;line-height:1.2}
.ks-kata .kchips button:hover{border-color:var(--kek40)}
.ks-kata .kchips button[aria-pressed="true"]{background:var(--kek);border-color:var(--kek);color:#fff}
.ks-kata .kchips button:focus-visible{outline:2px solid var(--tech);outline-offset:2px}

.ks-kata .krow{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;justify-content:space-between;margin:0 0 18px}
.ks-kata .kseg{display:inline-flex;background:var(--kek08);border-radius:999px;padding:4px;gap:2px;position:relative}
.ks-kata .kseg button{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--saira);font-weight:600;font-size:14px;letter-spacing:.02em;padding:7px 18px;border-radius:999px;color:var(--kek);transition:background .2s,color .2s;line-height:1.2}
.ks-kata .kseg button[aria-pressed="true"]{background:var(--tinta);color:#fff}
.ks-kata .kseg button:focus-visible{outline:2px solid var(--tech);outline-offset:2px}
.ks-kata label.kmini{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--tinta);letter-spacing:-.01em;white-space:nowrap;margin:0;line-height:1.2;vertical-align:initial}

.ks-kata .kfld{display:block;margin:0 0 18px}
.ks-kata .klbl{display:block;font-family:var(--lexend);font-weight:700;font-size:14px;color:var(--tinta);line-height:1.35;margin:0;letter-spacing:-.01em}
.ks-kata .klbl small{display:block;font-weight:400;color:var(--kek80);font-size:12.5px;letter-spacing:0}
.ks-kata .kin{position:relative;display:flex;align-items:center}
.ks-kata .kin input,.ks-kata .kfld select,.ks-kata .kmini select,.ks-kata .klead input[type=email]{
  width:100%!important;height:52px!important;margin:0!important;border:1.5px solid var(--kek20)!important;border-radius:var(--r)!important;
  background:#fff!important;color:var(--tinta)!important;font:600 19px/1.2 var(--saira)!important;padding:0 16px!important;box-shadow:none!important;
  outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;letter-spacing:0}
.ks-kata .kin input{padding-right:76px!important;text-align:right!important;font-variant-numeric:tabular-nums}
.ks-kata .kin.sm input{padding-right:44px!important}
.ks-kata .kfld select,.ks-kata .kmini select{cursor:pointer;font:500 15px/1.2 var(--lexend)!important;padding-right:42px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2323395D' stroke-width='2'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 16px center!important}
.ks-kata label.kmini select{height:40px!important;width:auto!important;font-size:14px!important;padding:0 36px 0 12px!important;background-position:right 12px center!important}
.ks-kata .kin input:focus,.ks-kata .kfld select:focus,.ks-kata .kmini select:focus,.ks-kata .klead input[type=email]:focus{border-color:var(--tech)!important;box-shadow:0 0 0 4px rgba(18,117,187,.15)!important}
.ks-kata .kin input[aria-invalid="true"],.ks-kata .klead input[aria-invalid="true"]{border-color:var(--piros)!important;box-shadow:0 0 0 4px rgba(255,0,0,.1)!important}
.ks-kata .kunit{position:absolute;right:16px;font-size:13px;color:var(--kek80);pointer-events:none;white-space:nowrap}
.ks-kata .kin input::placeholder{color:var(--kek40);opacity:1}
.ks-kata .khelp{font-size:13px;color:var(--kek80);margin:-6px 0 16px}
.ks-kata .kfe,.ks-kata .khint{position:relative;display:block;font-size:13px;line-height:1.4;color:var(--tinta);margin:6px 0 0;padding-left:22px}
.ks-kata .kfe::before,.ks-kata .khint::before{content:"!";position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;background:var(--piros);color:#fff;font:700 11px/16px var(--lexend);text-align:center}
.ks-kata .khint::before{content:"i";background:var(--tech)}

.ks-kata input[type=range].krange{-webkit-appearance:none!important;appearance:none!important;width:100%!important;height:22px!important;background:transparent!important;margin:8px 0 0!important;padding:0!important;border:0!important;cursor:pointer;--p:0%}
.ks-kata input[type=range].krange:focus{outline:none}
.ks-kata input[type=range].krange::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--tech) var(--p),var(--kek20) var(--p))}
.ks-kata input[type=range].krange::-moz-range-track{height:6px;border-radius:999px;background:var(--kek20)}
.ks-kata input[type=range].krange::-moz-range-progress{height:6px;border-radius:999px;background:var(--tech)}
.ks-kata input[type=range].krange::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--tech);margin-top:-8px;box-shadow:0 2px 8px rgba(14,19,62,.25);transition:transform .15s}
.ks-kata input[type=range].krange::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--tech);box-shadow:0 2px 8px rgba(14,19,62,.25)}
.ks-kata input[type=range].krange:active::-webkit-slider-thumb{transform:scale(1.15)}
.ks-kata input[type=range].krange:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px rgba(18,117,187,.3)}

.ks-kata .kcap{background:var(--kek08);border-radius:var(--r);padding:14px 16px 16px;margin:4px 0 0}
.ks-kata .kcap-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.ks-kata .kcap-top span{font-size:13px;font-weight:700;color:var(--tinta)}
.ks-kata .kcap-top b{font-family:var(--saira);font-weight:700;font-size:22px;color:var(--tinta);white-space:nowrap;font-variant-numeric:tabular-nums}
.ks-kata .kcap-bar{position:relative;height:8px;border-radius:999px;background:var(--kek20);margin:10px 0 6px}
.ks-kata .kcap-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--tech);transition:width .45s cubic-bezier(.2,.8,.2,1),background .3s}
.ks-kata .kcap-fill.over{background:var(--piros)}
.ks-kata .kcap-meta{display:flex;justify-content:space-between;gap:10px;font-family:var(--saira);font-weight:500;font-size:12.5px;color:var(--kek80)}

.ks-kata details.kadv{border:1.5px solid var(--kek20);border-radius:var(--r);margin:22px 0 0;background:#fff}
.ks-kata .kadv>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:center;gap:14px}
.ks-kata .kadv>summary::-webkit-details-marker{display:none}
.ks-kata .kadv>summary:focus-visible{outline:2px solid var(--tech);outline-offset:2px;border-radius:var(--r)}
.ks-kata .kadv-ic{flex:none;width:36px;height:36px;border-radius:8px;background:var(--kek08);display:grid;place-items:center;color:var(--kek)}
.ks-kata .kadv-ic svg{width:18px;height:18px}
.ks-kata .kadv>summary b{display:block;font-weight:700;font-size:15px;letter-spacing:-.01em}
.ks-kata .kadv>summary small{display:block;font-size:13px}
.ks-kata .kadv>summary::after{content:"";margin-left:auto;flex:none;width:9px;height:9px;border-right:2px solid var(--kek);border-bottom:2px solid var(--kek);transform:rotate(45deg);transition:transform .25s}
.ks-kata .kadv[open]>summary::after{transform:rotate(-135deg)}
.ks-kata .kadv-b{padding:18px 16px 4px;border-top:1px solid var(--kek20)}

.ks-kata .kerr{margin:18px 0 0;padding:12px 14px 12px 42px;border-radius:var(--r);background:#fff;border:1.5px solid var(--piros);color:var(--tinta);font-size:14px;position:relative}
.ks-kata .kerr::before{content:"!";position:absolute;left:14px;top:13px;width:18px;height:18px;border-radius:50%;background:var(--piros);color:#fff;font:700 12px/18px var(--lexend);text-align:center}

/* ---------- EREDMÉNY ---------- */
/* a ks.hu fejléce görgetéskor rögzül (120 px), a kártya alatta áll meg */
.ks-kata .kr{position:sticky;top:140px;overflow:hidden}
@media (max-width:960px){.ks-kata .kr{position:static}}
.ks-kata .kr-top{position:relative;background:var(--tinta);color:#fff;padding:26px clamp(20px,3vw,32px) 28px;overflow:hidden;isolation:isolate}
.ks-kata .kr-top::before{content:"";position:absolute;z-index:-1;width:340px;height:340px;right:-140px;top:-170px;background:radial-gradient(closest-side,rgba(18,117,187,.7),transparent)}
.ks-kata .kr-top::after{content:"";position:absolute;z-index:-1;width:260px;height:260px;left:-130px;bottom:-170px;background:radial-gradient(closest-side,rgba(255,0,0,.38),transparent)}
.ks-kata .kr-lbl{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;text-transform:uppercase;color:rgba(255,255,255,.78);margin:0 0 6px}
.ks-kata .kr-rate{font-family:var(--saira);font-weight:600;letter-spacing:0;text-transform:none;font-size:13px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:3px 10px;white-space:nowrap}
.ks-kata .kr-num{font-family:var(--display);font-weight:800;font-size:clamp(46px,6vw,72px);line-height:1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:0;margin:4px 0 6px;word-break:break-word}
.ks-kata .kr-num.neg{color:#FF8080}
.ks-kata .kr-num .u{font-family:var(--saira);font-weight:500;font-size:.3em;color:rgba(255,255,255,.75);margin-left:10px;letter-spacing:.02em;white-space:nowrap}
.ks-kata .kr-num .d{color:rgba(255,255,255,.5);padding:0 .1em}
.ks-kata .kr-sub{font-size:14px;color:rgba(255,255,255,.78)}
.ks-kata .kr-sub b{color:#fff;font-family:var(--saira);font-weight:600}

.ks-kata .kr-body{padding:22px clamp(20px,3vw,32px) 26px}
.ks-kata .kr-h{font-family:var(--display)!important;font-weight:700!important;font-size:17px!important;letter-spacing:-.01em!important;text-transform:uppercase;color:var(--tinta)!important;margin:0 0 12px!important;line-height:1.2!important}
.ks-kata .ksec{margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--kek20)}
.ks-kata .ksplit{display:flex;gap:2px;height:14px;margin:0 0 14px}
.ks-kata .ksplit i{display:block;height:100%;border-radius:4px;min-width:0;transition:flex-basis .45s cubic-bezier(.2,.8,.2,1)}
.ks-kata .klg{display:grid;gap:8px;margin:0 0 22px}
.ks-kata .klg-r{display:grid;grid-template-columns:12px 1fr auto auto;gap:10px;align-items:center;font-size:14px}
.ks-kata .klg-r i{width:12px;height:12px;border-radius:3px}
.ks-kata .klg-r b{font-family:var(--saira);font-weight:600;color:var(--tinta);font-variant-numeric:tabular-nums;white-space:nowrap}
.ks-kata .klg-r em{font-style:normal;font-family:var(--saira);font-weight:500;font-size:12.5px;color:var(--kek80);min-width:44px;text-align:right;font-variant-numeric:tabular-nums}

.ks-kata details.kbd{border-top:1px solid var(--kek20);padding:16px 0 0;margin:16px 0 0}
.ks-kata details.kbd[open]{padding-bottom:6px}
.ks-kata .kbd>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px}
.ks-kata .kbd[open]>summary{margin:0 0 12px}
.ks-kata .kbd-v{margin-left:auto;font-family:var(--saira);font-weight:600;font-size:14px;color:var(--tinta);white-space:nowrap;font-variant-numeric:tabular-nums}
.ks-kata .kbd-v.cnt{min-width:24px;height:24px;border-radius:999px;background:var(--kek08);display:grid;place-items:center;padding:0 8px;font-size:13px}
.ks-kata .kbd-v.cnt.alert{background:var(--piros);color:#fff}
.ks-kata details.kmore{margin:12px 0 0}
.ks-kata .kmore>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--tech)}
.ks-kata .kmore>summary::-webkit-details-marker{display:none}
.ks-kata .kmore>summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.ks-kata .kmore[open]>summary::after{transform:rotate(-135deg)}
.ks-kata .kmore>summary:focus-visible{outline:2px solid var(--tech);outline-offset:2px}
.ks-kata .kbd>summary::-webkit-details-marker{display:none}
.ks-kata .kbd>summary:focus-visible{outline:2px solid var(--tech);outline-offset:4px}
.ks-kata .kbd>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--kek);border-bottom:2px solid var(--kek);transform:rotate(45deg);transition:transform .25s;margin-right:4px}
.ks-kata .kbd[open]>summary::after{transform:rotate(-135deg)}
.ks-kata .kbd>summary .kr-h{margin:0!important;flex:1}
.ks-kata .kbr{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px dashed var(--kek20)}
.ks-kata .kbr:first-of-type{margin-top:8px}
.ks-kata .kbr b{font-family:var(--saira);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ks-kata .kbr.zero{opacity:.55}
.ks-kata .kbr.tot{border-bottom:0;font-weight:700;color:var(--tinta);letter-spacing:-.01em}
.ks-kata .knote{font-size:12.5px;color:var(--kek80);margin:8px 0 0}
.ks-kata .knote a{color:var(--tech);font-weight:600}

/* KATA vs átalányadó */
.ks-kata .kvs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ks-kata .kvs-col{position:relative;border:1.5px solid var(--kek20);border-radius:var(--r);padding:14px 14px 12px}
.ks-kata .kvs-col.win{border-color:var(--tech);background:linear-gradient(180deg,rgba(18,117,187,.07),rgba(18,117,187,0))}
.ks-kata .kvs-col span{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:15px;color:var(--tinta);letter-spacing:-.01em}
.ks-kata .kvs-col b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,30px);line-height:1.1;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.ks-kata .kvs-col small{display:block;font-size:12.5px;color:var(--kek80)}
.ks-kata .kvs-col small em{font-style:normal;font-family:var(--saira);font-weight:600;color:var(--tinta)}
.ks-kata .kvs-badge{position:absolute;top:-10px;right:10px;background:var(--tech);color:#fff;font-family:var(--saira);font-weight:600;font-size:11.5px;letter-spacing:.02em;border-radius:999px;padding:2px 9px}
.ks-kata .kvs-diff{margin:12px 0 0;font-size:14px;color:var(--kek)}
.ks-kata .kvs-diff b{font-family:var(--saira);font-weight:700}
.ks-kata .kvs-set{display:flex;flex-wrap:wrap;gap:10px 16px;margin:12px 0 0}

/* tippek */
.ks-kata .kins{display:grid;gap:10px}
.ks-kata .ki{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;background:var(--kek08);border-radius:var(--r);padding:12px 14px;font-size:14px;line-height:1.45;color:var(--kek)}
.ks-kata .ki b{font-family:var(--saira);font-weight:700}
.ks-kata .ki-ic{width:34px;height:34px;border-radius:8px;background:#fff;color:var(--tech);display:grid;place-items:center}
.ks-kata .ki-ic svg{width:18px;height:18px}
.ks-kata .ki.alert{background:#fff;border:1.5px solid var(--piros)}
.ks-kata .ki.alert .ki-ic{background:var(--piros);color:#fff}
.ks-kata .klink{all:unset;cursor:pointer;color:var(--tech);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ks-kata .klink:focus-visible{outline:2px solid var(--tech);outline-offset:2px}

/* grafikon */
.ks-kata .kch-sub{font-size:13px;color:var(--kek80);margin:-6px 0 10px}
.ks-kata .kch-w{position:relative;touch-action:pan-y}
.ks-kata .kch-w svg{display:block;width:100%;height:auto;overflow:visible}
.ks-kata .kch-w text{font-family:var(--saira);font-weight:500;font-size:12.5px;fill:var(--kek80)}
.ks-kata .kch-tip{position:absolute;pointer-events:none;background:var(--tinta);color:#fff;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.35;white-space:nowrap;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 8px 20px rgba(14,19,62,.3);opacity:0;transition:opacity .12s}
.ks-kata .kch-tip b{color:#fff;font-family:var(--saira);font-weight:700;font-size:14px}
.ks-kata .kch-tip.show{opacity:1}

/* forgatókönyv + műveletek */
.ks-kata .kscn{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;background:var(--kek08);border-radius:var(--r);padding:12px 14px;font-size:14px;color:var(--kek);margin:0 0 12px}
.ks-kata .kscn b{font-family:var(--saira);font-weight:700}
.ks-kata .kscn .up{color:var(--tech)}
.ks-kata .kacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:420px){.ks-kata .kacts{grid-template-columns:1fr}}
.ks-kata .kbtn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;font-family:var(--saira);font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--kek);border:1.5px solid var(--kek20);border-radius:999px;padding:10px 12px;line-height:1.2;transition:border-color .15s,background .15s,color .15s}
.ks-kata .kbtn:hover{border-color:var(--kek);background:var(--kek08)}
.ks-kata .kbtn:focus-visible{outline:2px solid var(--tech);outline-offset:2px}
.ks-kata .kbtn svg{width:16px;height:16px;flex:none}
.ks-kata .kbtn.done{border-color:var(--tech);color:var(--tech)}

/* CTA */
.ks-kata .kcta-box{margin:22px 0 0;border-radius:var(--r);background:var(--tinta);color:rgba(255,255,255,.82);padding:18px;position:relative;overflow:hidden;isolation:isolate}
.ks-kata .kcta-box::before{content:"";position:absolute;z-index:-1;width:260px;height:260px;right:-120px;top:-140px;background:radial-gradient(closest-side,rgba(18,117,187,.65),transparent)}
.ks-kata .kcta-box p{font-size:14px;margin:0 0 14px}
.ks-kata .kcta-box p b{display:block;color:#fff;font-family:var(--lexend);font-weight:800;font-size:17px;letter-spacing:-.01em;margin:0 0 4px}
.ks-kata a.kcta{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--tech);color:#fff!important;text-decoration:none!important;font-family:var(--saira);font-weight:600;font-size:16px;letter-spacing:.02em;border-radius:999px;padding:14px 22px;transition:background .2s,transform .2s;box-shadow:0 10px 24px -10px rgba(18,117,187,.7)}
.ks-kata a.kcta:hover,.ks-kata a.kcta:focus-visible{background:#0f63a0;transform:translateY(-1px)}
.ks-kata a.kcta svg{width:18px;height:18px;transition:transform .2s}
.ks-kata a.kcta:hover svg{transform:translateX(3px)}
.ks-kata a.kcta2{display:block;text-align:center;margin:12px 0 0;color:#fff!important;font-size:13.5px;font-weight:600;text-decoration:underline!important;text-underline-offset:3px}

/* e-mailes űrlap */
.ks-kata .klead{display:grid;gap:10px}
.ks-kata .klead p{font-size:14px}
.ks-kata .klead-row{display:flex;gap:8px}
@media (max-width:420px){.ks-kata .klead-row{flex-direction:column}}
.ks-kata .klead input[type=email]{height:48px!important;font:500 15px/1.2 var(--lexend)!important;flex:1}
.ks-kata .klead button[type=submit]{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--saira);font-weight:600;font-size:15px;letter-spacing:.02em;background:var(--tinta);color:#fff;border-radius:999px;padding:0 22px;height:48px;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.ks-kata .klead button[type=submit]:hover{background:var(--kek)}
.ks-kata .klead button[type=submit]:focus-visible{outline:2px solid var(--tech);outline-offset:2px}
.ks-kata .klead button[disabled]{opacity:.6;cursor:wait}
.ks-kata label.kchk{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:13px;line-height:1.45;color:var(--kek80);cursor:pointer;margin:0;vertical-align:initial}
.ks-kata label.kchk input{width:18px!important;height:18px!important;margin:1px 0 0!important;accent-color:var(--tech);cursor:pointer}
.ks-kata label.kchk a{color:var(--tech);font-weight:600}
.ks-kata .klead-msg{font-size:14px;font-weight:600;color:var(--tinta);border-radius:var(--r);padding:10px 12px;background:var(--kek08)}
.ks-kata .klead-msg.err{background:#fff;border:1.5px solid var(--piros)}

/* hibás/üres állapot */
.ks-kata .kempty{padding:28px clamp(20px,3vw,32px)}
.ks-kata .kempty h3{font-family:var(--lexend)!important;font-weight:800!important;font-size:20px!important;color:var(--tinta)!important;margin:0 0 6px!important;line-height:1.3!important;letter-spacing:-.01em}
.ks-kata .kempty p{font-size:15px;margin:0 0 12px}
.ks-kata .kempty.start{position:relative;background:var(--tinta);color:rgba(255,255,255,.82);padding:34px clamp(20px,3vw,32px) 32px;overflow:hidden;isolation:isolate}
.ks-kata .kempty.start::before{content:"";position:absolute;z-index:-1;width:340px;height:340px;right:-140px;top:-170px;background:radial-gradient(closest-side,rgba(18,117,187,.7),transparent)}
.ks-kata .kempty.start h3{font-family:var(--display)!important;font-weight:800!important;text-transform:uppercase;font-size:clamp(30px,3.6vw,40px)!important;line-height:1!important;color:#fff!important;letter-spacing:0;margin:0 0 10px!important}
.ks-kata .kempty.start p{color:rgba(255,255,255,.82)}
.ks-kata .kex{display:grid;gap:8px;margin:18px 0 0}
.ks-kata .kex>span{font-family:var(--display);font-weight:700;font-size:14px;text-transform:uppercase;color:rgba(255,255,255,.7)}
.ks-kata .kex button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:11px 14px;transition:background .15s,border-color .15s;line-height:1.3}
.ks-kata .kex button:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.35)}
.ks-kata .kex button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ks-kata .kex button b{color:#fff;font-family:var(--saira);font-weight:600;white-space:nowrap}

/* mobil lebegő sáv */
.ks-kata .kdock{position:fixed;left:12px;right:12px;bottom:12px;z-index:9990;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--tinta);color:#fff;border-radius:14px;padding:10px 12px 10px 18px;box-shadow:0 14px 34px rgba(14,19,62,.4);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ks-kata .kdock.show{transform:none}
.ks-kata .kdock small{display:block;font-size:12px;color:rgba(255,255,255,.75);letter-spacing:-.01em;text-transform:uppercase;font-family:var(--display);font-weight:700}
.ks-kata .kdock b{font-family:var(--display);font-weight:800;font-size:24px;color:#fff;line-height:1.1}
.ks-kata .kdock button{all:unset;cursor:pointer;font-family:var(--saira);font-weight:600;font-size:14px;letter-spacing:.02em;background:var(--tech);color:#fff;border-radius:999px;padding:9px 16px;white-space:nowrap}
@media (min-width:961px){.ks-kata .kdock{display:none}}

@media (prefers-reduced-motion:reduce){.ks-kata *{animation:none!important;transition:none!important}}

.ksr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
