:root {
  color-scheme: dark;
  --bg: #070b13;
  --rail: #05080e;
  --panel: #0e1725;
  --panel-2: #121e2f;
  --line: rgba(157, 186, 218, .17);
  --text: #ecf2f8;
  --muted: #9eacbd;
  --dim: #64758b;
  --cyan: #6de4f3;
  --cyan-soft: rgba(109, 228, 243, .12);
  --gold: #ffd261;
  --gold-soft: rgba(255, 210, 97, .13);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Inter, Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(ellipse at 77% 6%, rgba(37, 87, 131, .16), transparent 36rem),
    linear-gradient(135deg, #080d16, #0a101b 48%, #080d15);
  color: var(--text);
  font-family: var(--sans);
  font-size: 15px;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 10;
  width: 286px;
  padding: 38px 29px 27px;
  background: linear-gradient(180deg, #050910 0%, #070c14 100%);
  border-right: 1px solid rgba(124, 158, 195, .17);
  display: flex;
  flex-direction: column;
}
.brand {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--line);
}
.brand-mark {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  border: 1px solid rgba(109,228,243,.6);
  color: var(--cyan);
  font: 700 15px var(--mono);
  transform: rotate(45deg);
  box-shadow: 0 0 24px rgba(109,228,243,.09);
}
.brand-mark span { transform: rotate(-45deg); }
.brand-name { font: 700 23px var(--serif); letter-spacing: .01em; }
.brand-caption { margin-top: 4px; color: var(--dim); font: 10px var(--mono); letter-spacing: .14em; }
.rail-state {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 0 26px;
  color: var(--dim); font: 9px var(--mono); letter-spacing: .11em;
}
.rail-state strong { color: #c6d3e2; font-weight: 500; }
.live-dot, .status-dot {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--cyan); box-shadow: 0 0 11px var(--cyan);
  margin-right: 7px; vertical-align: 1px;
}
.nav-label, .rail-heading { color: #64758b; font: 9px var(--mono); letter-spacing: .18em; margin: 0 0 10px; }
nav { display: grid; gap: 3px; }
nav a, .project-nav a {
  min-height: 43px; padding: 0 11px;
  display: flex; align-items: center; gap: 12px;
  color: #a7b5c7; border: 1px solid transparent;
  font: 12px var(--mono); letter-spacing: .015em;
  transition: .2s ease;
}
nav a span { color: #52647a; font-size: 10px; }
nav a:hover, nav a.active, .project-nav a:hover {
  color: var(--text); background: rgba(127, 164, 203, .07); border-color: var(--line);
}
nav a.active span { color: var(--cyan); }
.project-nav { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.project-nav a { min-height: 39px; padding-left: 2px; }
.project-nav small { margin-left: auto; color: var(--dim); font-size: 8px; letter-spacing: .1em; }
.key-dot { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
.key-dot.gold { background: var(--gold); box-shadow: 0 0 10px rgba(255,210,97,.5); }
.key-dot.cyan { background: var(--cyan); box-shadow: 0 0 10px rgba(109,228,243,.5); }
.sidebar-bottom { margin-top: auto; border-top: 1px solid var(--line); padding-top: 20px; }
.sidebar-bottom p { color: var(--muted); font: 12px/1.6 var(--serif); margin: 0 0 13px; }
.sidebar-bottom .rail-heading { margin-bottom: 8px; }
.rail-contact {
  color: var(--cyan); font: 10px var(--mono); letter-spacing: .1em;
  display: inline-block; padding: 9px 0 18px;
}
.social-row { display: flex; gap: 8px; }
.social-row a {
  width: 31px; height: 31px; display: grid; place-items: center;
  color: #91a4ba; border: 1px solid var(--line); font: 10px var(--mono);
}
.social-row a:hover { color: var(--cyan); border-color: rgba(109,228,243,.5); }
.rail-foot { margin-top: 16px; color: #526075; font: 8px var(--mono); letter-spacing: .1em; }
main { margin-left: 286px; min-height: 100vh; padding: 31px 46px 80px; }
.frame { max-width: 1080px; margin: 0 auto; }
.page-top {
  height: 29px; display: flex; justify-content: space-between; align-items: flex-start;
  color: #71839a; font: 9px var(--mono); letter-spacing: .13em; text-transform: uppercase;
}
.page-top p { margin: 0; }
.page-top .mode { color: var(--gold); }
.panel {
  border: 1px solid rgba(155, 188, 222, .18);
  background:
    linear-gradient(135deg, rgba(19,31,48,.97), rgba(12,20,33,.96)),
    var(--panel);
  position: relative;
  overflow: hidden;
  box-shadow: 0 22px 80px rgba(0,0,0,.2);
}
.hero { padding: 31px 38px 24px; }
.hero:before {
  content: ""; position: absolute; inset: 0 0 auto;
  height: 2px; background: linear-gradient(90deg, var(--cyan), transparent 39%, var(--gold) 100%);
  opacity: .7;
}
.hero:after {
  content: ""; pointer-events: none; position: absolute; width: 420px; height: 420px;
  right: 35px; top: 40px; border-radius: 50%;
  background: radial-gradient(circle, rgba(64,163,200,.12), transparent 68%);
}
.hero-head, .hero-main, .video-heading, .video-caption, .hero-bottom { position: relative; z-index: 1; }
.hero-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.eyebrow { color: var(--cyan); font: 9px var(--mono); letter-spacing: .18em; }
.sample-chip {
  color: #ffe2a1; background: var(--gold-soft); border: 1px solid rgba(255,210,97,.28);
  padding: 7px 9px; font: 8px var(--mono); letter-spacing: .1em;
}
.hero-main { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 27px 4px 24px; }
.hero-copy { max-width: 650px; }
.hero h1 {
  margin: 0; font: 500 clamp(40px, 5vw, 67px)/.98 var(--serif);
  letter-spacing: -.045em; color: #f1f4f8;
}
.hero h1 em { color: var(--cyan); font-style: normal; }
.hero-lead { max-width: 620px; margin: 16px 0 0; color: #aab8c8; font: 16px/1.65 var(--serif); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.btn {
  min-height: 40px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(166,192,220,.28); color: #c8d5e4;
  font: 9px var(--mono); letter-spacing: .1em;
}
.btn.primary { color: #061018; border-color: var(--cyan); background: var(--cyan); font-weight: 700; }
.btn:hover { border-color: var(--cyan); color: var(--cyan); }
.btn.primary:hover { background: transparent; }
.hero-symbol {
  flex: 0 0 150px; height: 150px; display: grid; place-items: center; position: relative;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(64,173,205,.14), transparent 65%);
}
.hero-symbol:before, .hero-symbol:after {
  content: ""; position: absolute; border: 1px solid rgba(109,228,243,.18); border-radius: 50%;
}
.hero-symbol:before { inset: 9px; }
.hero-symbol:after { inset: 27px; border-style: dashed; opacity: .7; }
.hero-symbol svg { width: 55px; height: 55px; filter: drop-shadow(0 0 13px rgba(109,228,243,.45)); }
.video-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 0 10px; }
.video-heading strong { color: #d4e0ec; font: 9px var(--mono); letter-spacing: .14em; }
.video-heading span { color: var(--dim); font: 8px var(--mono); letter-spacing: .08em; }
.video-frame {
  position: relative; width: 100%; aspect-ratio: 16 / 8.9; min-height: 230px;
  background:
    radial-gradient(circle at 50% 50%, rgba(25,81,119,.36), transparent 40%),
    repeating-linear-gradient(0deg, transparent 0 27px, rgba(114,173,216,.04) 28px),
    #020408;
  border: 1px solid rgba(109,228,243,.36);
  box-shadow: 0 0 0 4px rgba(109,228,243,.035), 0 12px 38px rgba(0,0,0,.26);
}
.video-frame:before, .video-frame:after {
  content: ""; position: absolute; width: 24px; height: 24px; z-index: 2; pointer-events: none;
  border-color: var(--gold); opacity: .78;
}
.video-frame:before { top: -1px; left: -1px; border-top: 2px solid; border-left: 2px solid; }
.video-frame:after { right: -1px; bottom: -1px; border-right: 2px solid; border-bottom: 2px solid; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-caption { display: flex; justify-content: space-between; gap: 10px; padding: 10px 1px 0; color: #78899e; font: 8px var(--mono); letter-spacing: .1em; }
.video-caption strong { color: var(--gold); font-weight: 500; }
.hero-bottom {
  margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; color: #708198; font: 8px var(--mono); letter-spacing: .12em;
}
.section { padding-top: 52px; scroll-margin-top: 25px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.section-kicker { color: var(--cyan); font: 9px var(--mono); letter-spacing: .18em; }
.section h2 { margin: 6px 0 0; font: 500 34px/1.1 var(--serif); letter-spacing: -.02em; }
.section-sub { max-width: 380px; color: var(--muted); font: 12px/1.6 var(--serif); text-align: right; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.project-card {
  --accent: var(--cyan); --accent-soft: var(--cyan-soft);
  min-height: 315px; border: 1px solid var(--line); background: linear-gradient(140deg, rgba(17,29,45,.97), rgba(9,16,27,.97));
  position: relative; overflow: hidden; padding: 18px 19px 17px;
}
.project-card.kis { --accent: var(--gold); --accent-soft: var(--gold-soft); }
.project-card:before { content:""; position:absolute; left:0; top:0; width:3px; height:100%; background:var(--accent); opacity:.84; }
.card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; color:#73869c; font:8px var(--mono); letter-spacing:.11em; }
.card-state { color:var(--accent); border:1px solid color-mix(in srgb, var(--accent) 40%, transparent); padding:5px 7px; font-size:7px; }
.card-visual {
  height: 111px; margin: 16px -1px 14px; position: relative; overflow: hidden;
  border:1px solid rgba(155,188,222,.12); background:rgba(4,10,18,.43);
  display:flex; align-items:center; justify-content:center;
}
.card-visual:before {
  content:""; position:absolute; inset:0;
  background: repeating-linear-gradient(90deg, transparent 0 34px, rgba(140,180,220,.05) 35px),
              repeating-linear-gradient(0deg, transparent 0 27px, rgba(140,180,220,.035) 28px);
}
.parallax-visual:after {
  content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(109,228,243,.18);
  border-radius:50%; box-shadow:0 0 0 20px rgba(109,228,243,.025), 0 0 0 42px rgba(109,228,243,.02);
}
.parallax-visual svg { position:relative; z-index:1; width:60px; height:60px; }
.kis-visual:after {
  content:""; position:absolute; width:205px; height:85px; border:1px solid rgba(255,210,97,.13);
  border-radius:50%; transform:rotate(-15deg); box-shadow:0 0 0 18px rgba(255,210,97,.025);
}
.kis-visual svg { position:relative; z-index:1; width:152px; height:70px; filter:drop-shadow(0 0 10px rgba(255,210,97,.24)); }
.card-content h3 { margin:0; color:var(--text); font:500 25px var(--serif); }
.card-content p { margin:7px 0 12px; min-height:42px; color:#9eacbd; font:12px/1.55 var(--serif); }
.tag-row { display:flex; flex-wrap:wrap; gap:6px; }
.tag-row span { color:#9baec2; border:1px solid var(--line); padding:5px 7px; font:7px var(--mono); letter-spacing:.05em; }
.card-link { display:inline-block; margin-top:16px; color:var(--accent); font:9px var(--mono); letter-spacing:.1em; }
.card-link:hover { text-decoration:underline; text-underline-offset:4px; }
.cv-wrap { border:1px solid var(--line); background:linear-gradient(145deg, rgba(17,28,43,.94), rgba(10,16,26,.96)); }
.fiction-banner {
  padding:12px 16px; color:#ffe3a4; background:rgba(255,210,97,.08);
  border-bottom:1px solid rgba(255,210,97,.22); font:9px var(--mono); letter-spacing:.1em;
}
.cv-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:24px; padding:24px; }
.cv-profile { padding:17px; border:1px solid var(--line); background:rgba(5,11,18,.4); }
.cv-profile .monogram {
  width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(109,228,243,.5);
  color:var(--cyan); font:17px var(--mono); background:var(--cyan-soft);
}
.cv-profile h3 { margin:17px 0 3px; font:500 24px var(--serif); }
.cv-profile .role { color:var(--gold); font:9px var(--mono); letter-spacing:.1em; }
.cv-profile p { color:#a6b2c1; font:12px/1.6 var(--serif); }
.profile-label { color:#77899d; font:8px var(--mono); letter-spacing:.12em; }
.fake-chip { display:inline-block; margin:4px 4px 0 0; padding:5px 7px; color:#afbdcc; border:1px solid var(--line); font:8px var(--mono); }
.timeline { padding:5px 0; }
.timeline h3 { margin:0 0 18px; color:#dfe8f1; font:500 19px var(--serif); }
.timeline-item { position:relative; border-left:1px solid rgba(109,228,243,.35); margin-left:5px; padding:0 0 20px 20px; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-item:before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; left:-4px; top:4px; background:var(--cyan); box-shadow:0 0 10px rgba(109,228,243,.6); }
.timeline-meta { display:flex; justify-content:space-between; gap:10px; color:#77899e; font:8px var(--mono); letter-spacing:.07em; }
.timeline-item h4 { margin:8px 0 4px; font:500 16px var(--serif); }
.timeline-item p { margin:0; color:#9ba9b9; font:11px/1.55 var(--serif); }
.cv-download {
  display:flex; justify-content:space-between; align-items:center; gap:10px;
  margin:0 24px 24px; padding:13px 15px; border:1px dashed rgba(109,228,243,.3); color:#aebed0;
  font:9px var(--mono); letter-spacing:.08em;
}
.cv-download span:last-child { color:var(--cyan); }
.about-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:14px; }
.about-box { padding:23px; border:1px solid var(--line); background:rgba(15,25,39,.86); }
.about-box h3 { margin:0 0 11px; font:500 22px var(--serif); }
.about-box p { color:#9daabb; font:13px/1.65 var(--serif); margin:0; }
.signal-box { display:flex; flex-direction:column; justify-content:space-between; min-height:144px; }
.signal-box .signal-title { color:var(--cyan); font:9px var(--mono); letter-spacing:.13em; }
.signal-box strong { font:500 17px/1.35 var(--serif); }
.signal-box small { color:#76879b; font:8px var(--mono); letter-spacing:.1em; }
.contact-panel { padding:24px; display:flex; justify-content:space-between; align-items:center; gap:22px; border:1px solid var(--line); background:linear-gradient(110deg, rgba(20,35,54,.98), rgba(9,16,26,.94)); }
.contact-panel h3 { margin:0 0 6px; font:500 25px var(--serif); }
.contact-panel p { margin:0; color:#9eacbd; font:12px/1.5 var(--serif); }
.contact-button { border:1px solid var(--cyan); padding:12px 14px; color:var(--cyan); font:9px var(--mono); letter-spacing:.1em; white-space:nowrap; }
.footer { padding:24px 0 0; display:flex; justify-content:space-between; color:#586a80; font:8px var(--mono); letter-spacing:.1em; }
@media (max-width: 1000px) {
  .sidebar { width:240px; padding-left:22px; padding-right:22px; }
  main { margin-left:240px; padding:27px 28px 65px; }
  .hero { padding:26px 26px 21px; }
  .hero-symbol { flex-basis:110px; height:110px; }
  .cv-grid { grid-template-columns:.9fr 1.1fr; gap:15px; padding:18px; }
  .cv-download { margin:0 18px 18px; }
}
@media (max-width: 740px) {
  .sidebar { position:relative; inset:auto; width:auto; padding:18px 18px 13px; border-right:0; border-bottom:1px solid var(--line); }
  .brand { padding-bottom:14px; }
  .brand-name { font-size:20px; }
  .rail-state { padding:11px 0 12px; }
  nav { display:flex; overflow-x:auto; gap:4px; padding-bottom:4px; }
  .nav-label, .project-nav, .sidebar-bottom { display:none; }
  nav a { min-width:max-content; min-height:36px; padding:0 10px; }
  main { margin-left:0; padding:17px 14px 50px; }
  .page-top { height:27px; font-size:8px; }
  .hero { padding:20px 17px 17px; }
  .hero-head { align-items:flex-start; flex-direction:column; }
  .hero-main { padding:20px 0 17px; }
  .hero h1 { font-size:44px; }
  .hero-lead { font-size:14px; }
  .hero-symbol { display:none; }
  .video-frame { min-height:190px; }
  .video-caption { flex-direction:column; gap:5px; font-size:7px; }
  .section { padding-top:36px; }
  .section-head { align-items:flex-start; flex-direction:column; }
  .section-sub { text-align:left; }
  .section h2 { font-size:30px; }
  .project-grid, .cv-grid, .about-grid { grid-template-columns:1fr; }
  .cv-grid { padding:14px; }
  .cv-download { margin:0 14px 14px; }
  .contact-panel { align-items:flex-start; flex-direction:column; }
  .footer { gap:9px; flex-direction:column; }
}


/* A végleges tartalom elrendezése. */
body{font-size:16px;background:repeating-linear-gradient(90deg,transparent 0 43px,#87b5d904 44px),repeating-linear-gradient(0deg,transparent 0 43px,#87b5d904 44px),#070b13}
.sidebar{overflow-y:auto}.brand-caption{display:block;color:var(--muted);font:13px/1.5 var(--sans);letter-spacing:0;margin-top:5px}.sidebar nav{margin-top:30px}nav a,.project-nav a{font:14px/1.4 var(--sans);min-height:46px}.project-nav a{gap:10px}.project-nav a span{margin-left:auto;font-size:12px;color:var(--muted)}
.sidebar-bottom{display:flex;flex-wrap:wrap;gap:16px}.sidebar-bottom a{font-size:13px;color:var(--muted)}.sidebar-bottom a:hover{color:var(--cyan)}
main{padding:48px 34px 64px}.frame{max-width:1160px}.hero{padding:30px 38px 25px}.hero-main{padding:14px 0 30px}.hero h1{font-size:clamp(46px,4.7vw,68px);line-height:1.08}.hero-copy{max-width:650px}.hero-lead{font:17px/1.7 var(--sans);max-width:550px}.hero-actions{margin-top:24px}
.btn{font:14px var(--sans);letter-spacing:0;min-height:44px;padding:0 20px;cursor:pointer;background:transparent}.hero-symbol{flex-basis:135px;height:135px}.video-heading strong{font:13px var(--sans);letter-spacing:0}.video-frame{aspect-ratio:16/9;min-height:0;display:grid;place-items:center}.video-launch{width:100%;height:100%;min-height:160px;border:0;background:transparent;color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;font:16px var(--sans)}.play{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:#070b13;font-size:28px;padding-left:4px;box-shadow:0 0 45px #6de4f326}.video-launch small{font:12px var(--sans);color:var(--muted)}.video-caption{font:12px/1.6 var(--sans);letter-spacing:0;color:var(--muted)}.video-caption a{color:var(--cyan);text-decoration:underline;text-underline-offset:4px}
.section-head{margin-bottom:22px}.section-head h2{font-size:36px}.project-card{padding:22px;min-height:0}.card-content h3{font:26px/1.25 var(--serif)}.card-content h3 a:hover{color:var(--accent)}.card-content p{font:16px/1.7 var(--sans);min-height:82px;margin:12px 0}.card-link{font:14px var(--sans);letter-spacing:0;margin-top:8px}.card-visual{height:156px;margin:0 0 22px;gap:18px}.project-logo-link:before{pointer-events:none}.project-logo{position:relative;z-index:1;display:block;object-fit:contain}.kis-logo{width:70px;height:70px}.wordmark{font:32px var(--serif);color:var(--gold);position:relative;z-index:1}.parallax-logo{width:140px;height:140px}
.contact-panel{align-items:start;padding:26px}.contact-panel h2{font:32px/1.2 var(--serif);margin:0}.contact-links{display:flex;flex-direction:column;align-items:start;gap:14px}.contact-links a{color:var(--cyan);font-size:15px;text-underline-offset:4px}.contact-links a:hover{text-decoration:underline}
.cv-heading{margin-bottom:26px}.cv-title{font:48px/1.2 var(--serif);margin:0 0 10px}.cv-source{font-size:14px;color:var(--muted);margin:0 0 20px}.cv-actions{display:flex;flex-wrap:wrap;gap:12px}.cv-wrap{overflow-wrap:anywhere}.cv-grid{grid-template-columns:.9fr 1.1fr;gap:30px;padding:26px}.cv-profile{padding:22px}.cv-profile section+section{margin-top:30px}.cv-profile h2{font:24px/1.3 var(--serif);margin:0 0 12px}.cv-profile section:first-child h2{font-size:30px}.cv-profile p,.cv-profile li,.timeline-item p{font:15px/1.7 var(--sans);color:var(--muted)}.cv-profile p{margin:10px 0 0}.cv-profile ul{padding-left:20px;margin:0}.cv-profile li+li{margin-top:8px}.cv-profile a{color:var(--cyan)}.timeline>h2{font:28px var(--serif);margin:0 0 28px}.timeline-item{padding-bottom:28px}.timeline-item h3{font:22px/1.3 var(--serif);margin:7px 0}.timeline-item .timeline-meta{font:12px/1.5 var(--mono);color:var(--muted);letter-spacing:0}.timeline-item .job-title{color:var(--text);margin-bottom:8px}.cv-profile strong{font-weight:600;color:var(--text)}
.footer{font:12px/1.7 var(--sans);letter-spacing:0;color:var(--muted);padding-top:28px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:var(--cyan);color:#070b13;padding:16px}.skip:focus{top:16px}[hidden]{display:none!important}
@media(max-width:1100px) and (min-width:741px){.hero-main{gap:12px}.hero-symbol{flex-basis:75px;height:75px}.hero h1{font-size:47px}.card-visual{gap:10px}.wordmark{font-size:26px}.kis-logo{width:48px;height:48px}.project-card{padding:16px}.cv-grid{grid-template-columns:1fr;padding:20px}}
@media(max-width:740px){.sidebar{overflow:visible;padding:20px 18px 14px}.brand{padding-bottom:20px}.brand-caption{font-size:12px}.sidebar nav{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding:0;gap:3px}.sidebar nav a{min-width:0;justify-content:center;padding:0 3px;min-height:42px;font-size:12px}.project-nav,.sidebar-bottom{display:none}main{padding:22px 14px 40px}.hero{padding:24px 18px 18px}.hero-main{padding:6px 0 26px}.hero h1{font-size:clamp(35px,9.6vw,46px)}.hero-lead{font-size:16px}.hero-symbol{display:none}.hero-actions{gap:10px}.btn{font-size:13px;padding:0 18px}.video-launch{min-height:150px;font-size:14px;gap:12px;padding:14px}.play{width:52px;height:52px;font-size:22px}.video-caption{flex-direction:row;flex-wrap:wrap;font-size:11px;gap:8px}.section{padding-top:36px}.section-head h2{font-size:32px}.project-grid{grid-template-columns:1fr}.project-card{padding:20px}.card-content p{min-height:0}.card-visual{height:145px}.contact-panel{gap:22px}.contact-panel h2{font-size:30px}.contact-links a{font-size:14px;overflow-wrap:anywhere}.cv-title{font-size:40px}.cv-grid{grid-template-columns:1fr;padding:14px;gap:28px}.cv-profile{padding:18px}.cv-profile h2{font-size:23px}.timeline>h2{font-size:25px}.timeline-item h3{font-size:21px}.cv-source{font-size:13px}.cv-actions .btn{font-size:12px;padding:0 14px}.footer{flex-direction:row}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{:root{color-scheme:light}body{background:white!important;color:#111;font:11pt/1.5 Arial,sans-serif}.sidebar,.footer,.skip,.cv-actions{display:none!important}main{margin:0;padding:0}.frame{max-width:none}.cv-title{font-size:26pt}.cv-heading{margin-bottom:20px}.cv-source{color:#333}.cv-wrap{border:0;background:white;box-shadow:none}.cv-grid{display:block;padding:0}.cv-profile{background:white;border:0;padding:0;margin-bottom:28px}.cv-profile section{break-inside:avoid}.cv-profile section+section{margin-top:18px}.cv-profile section:first-child h2{font-size:20pt}.cv-profile h2,.timeline>h2{font-size:17pt}.cv-profile p,.cv-profile li,.timeline-item p,.cv-profile strong,.cv-profile a{color:#111!important;font-size:10pt}.timeline-item{break-inside:avoid;border-color:#555;padding-bottom:18px}.timeline-item h3{font-size:14pt;color:#111}.timeline-item:before{background:#333;box-shadow:none}.timeline>h2{margin:0 0 20px}.timeline-item .timeline-meta{color:#333;font-size:9pt}.cv-profile ul{padding-left:18px}@page{margin:16mm}}

/* Szó szerinti forrásszövegek */
.cv-profile h3{font:19px/1.4 var(--serif);margin:18px 0 10px}.timeline-item h3{font-size:20px}.timeline-item ul{padding-left:20px;margin:12px 0;color:var(--muted)}.timeline-item li{font:15px/1.7 var(--sans);margin-bottom:8px}.timeline-item p+p{margin-top:12px}.timeline>p{font:15px/1.7 var(--sans);color:var(--muted);margin-bottom:26px}.timeline>h2:not(:first-child){margin-top:30px}.cv-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media(max-width:1100px){.cv-grid{grid-template-columns:1fr}}
@media print{.timeline-item li,.timeline>p{color:#111;font-size:10pt}.timeline-item h3{font-size:14pt}.cv-profile h3{font-size:12pt}.timeline-item{break-inside:auto}.timeline-item h3{break-after:avoid}.timeline-item p,.timeline-item li{orphans:3;widows:3}.cv-grid{display:block}}

/* Nyelvválasztó */
.language-switch{display:flex;align-items:center;gap:4px;margin:10px 0 14px}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:28px;padding:0 7px;border:1px solid var(--line);color:var(--muted);font:11px var(--sans)}.language-switch a[aria-current="true"]{color:var(--cyan);border-color:var(--cyan);background:var(--cyan-soft)}.language-switch a:hover{color:var(--text);border-color:var(--cyan)}.sidebar nav{margin-top:18px}.cv-source{overflow-wrap:anywhere}.hero-copy{min-width:0}.hero h1{overflow-wrap:normal}
@media(max-width:740px){.brand{padding-bottom:12px}.language-switch{margin:8px 0 10px}.sidebar nav{margin-top:12px}.hero h1{font-size:clamp(30px,8.2vw,40px)}}
@media print{.language-switch{display:none!important}}

/* Jóváhagyott tartalmi javítások. */
.project-nav .rail-heading{font:11px/1.5 var(--mono);letter-spacing:.12em;color:var(--muted);margin:0 0 10px}.kis-logo{width:110px;height:110px}.spoken-languages{margin:0}.spoken-languages dt{font:600 15px/1.6 var(--sans);color:var(--text)}.spoken-languages dd{margin:2px 0 15px;font:15px/1.7 var(--sans);color:var(--muted)}
@media(max-width:380px){.project-logo-link{gap:10px}.project-logo-link .wordmark{font-size:28px}.kis-logo{width:100px;height:100px}}
@media print{.spoken-languages dt,.spoken-languages dd{color:#111;font-size:10pt}}
.timeline-item h3 .timeline-date,.timeline-current .timeline-date{display:block;font:11px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted)}.timeline-item h3 .timeline-date{margin-bottom:4px}.timeline-item h3 .timeline-role,.timeline-current .timeline-role{display:block}.timeline-current{margin:0 0 26px;font:15px/1.7 var(--sans);color:var(--muted)}.timeline-current .timeline-role{margin-top:3px}


/* Main app: fixed viewport with in-page view tabs. */
html.app-document { height:100%; overflow:hidden; }
body.app-body { display:grid; grid-template-columns:286px minmax(0,1fr); height:100vh; height:100dvh; min-height:0; overflow:hidden; }
.app-body .sidebar { position:relative; inset:auto; width:auto; height:100vh; height:100dvh; min-height:0; padding:28px 23px 22px; overflow-y:auto; }
.app-body .brand { flex:0 0 auto; padding-bottom:15px; }
.app-body .language-switch { flex:0 0 auto; width:max-content; margin:9px 0 2px; }
.app-body .primary-nav { display:grid; gap:3px; margin-top:16px; }
.app-body .primary-nav button,.app-body .project-nav button {
  min-height:42px; width:100%; padding:0 11px; display:flex; align-items:center; gap:11px;
  color:#a7b5c7; background:transparent; border:1px solid transparent; text-align:left;
  font:14px/1.4 var(--sans); cursor:pointer; transition:.2s ease;
}
.app-body .primary-nav button:hover,.app-body .primary-nav button.active,.app-body .project-nav button:hover,.app-body .project-nav button.active { color:var(--text); background:rgba(127,164,203,.07); border-color:var(--line); }
.app-body .primary-nav button.active { border-left-color:var(--cyan); }
.app-body .project-nav { flex:0 0 auto; margin-top:19px; padding-top:15px; }
.app-body .project-nav button { min-height:38px; padding-left:2px; }
.app-body .project-nav button .nav-text { flex:1; }
.app-body .sidebar-bottom { display:flex; flex-wrap:wrap; gap:15px; margin-top:auto; padding-top:18px; }
.app-main { display:flex; flex-direction:column; min-width:0; min-height:0; height:100vh; height:100dvh; margin:0; padding:20px 26px; overflow:hidden; }
.view-tabs { flex:0 0 auto; display:flex; gap:6px; max-width:1160px; width:100%; margin:0 auto 12px; overflow-x:auto; }
.view-tab { display:flex; flex:0 0 auto; border:1px solid var(--line); background:rgba(10,17,28,.88); }
.view-tab [role=tab] { min-height:36px; padding:0 12px; color:var(--muted); background:transparent; border:0; font:12px var(--sans); cursor:pointer; }
.view-tab [role=tab][aria-selected="true"] { color:var(--cyan); background:var(--cyan-soft); }
.view-tab-close { width:34px; color:var(--muted); background:transparent; border:0; border-left:1px solid var(--line); font:18px var(--sans); cursor:pointer; }
.view-tab-close:hover { color:var(--gold); }
.app-panels { flex:1 1 auto; min-width:0; min-height:0; width:100%; max-width:1160px; margin:0 auto; }
.view-panel { width:100%; height:100%; min-width:0; min-height:0; }
.home-panel { overflow:hidden; }
.home-view { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(8px,2.4dvh,22px); width:100%; height:100%; min-height:0; }
.home-greeting { flex:0 0 auto; width:min(100%,960px); margin:0; text-align:left; font:500 clamp(34px,5.2vw,62px)/1.02 var(--serif); letter-spacing:-.04em; color:#f1f4f8; }
.home-greeting em { color:var(--cyan); font-style:normal; }
.home-video { flex:0 1 auto; width:min(100%,960px); min-height:0; }
.video-frame { width:100%; min-height:0; aspect-ratio:16/9; display:grid; place-items:center; }
.video-launch { min-height:0; }
.frame-panel { overflow:hidden; }
.cv-frame { display:block; width:100%; height:100%; border:0; background:var(--bg); }
.content-panel { overflow:auto; padding:clamp(16px,3vw,34px); }
.project-page { min-height:100%; display:flex; flex-direction:column; gap:20px; }
.project-header { display:grid; grid-template-columns:minmax(105px,160px) minmax(0,1fr); align-items:center; gap:22px; padding:22px; border:1px solid var(--line); background:linear-gradient(140deg,rgba(17,29,45,.97),rgba(9,16,27,.97)); }
.project-header h1,.contact-panel h1 { margin:0; color:var(--text); font:500 clamp(27px,3.6vw,40px)/1.2 var(--serif); }
.project-header p { max-width:760px; margin:9px 0 0; color:var(--muted); font:16px/1.65 var(--sans); }
.project-header .project-logo { justify-self:center; width:min(100%,135px); height:135px; object-fit:contain; }
.project-header .kis-logo { width:135px; height:135px; }
.project-header .card-link { font-size:14px; letter-spacing:0; }
.dance-page { align-items:flex-start; }
.dance-page .project-header { width:100%; }
.dance-mark { width:122px; height:122px; display:grid; place-items:center; justify-self:center; border:1px solid rgba(109,228,243,.45); color:var(--cyan); background:var(--cyan-soft); font:500 22px var(--mono); letter-spacing:.06em; }
.dance-result { width:min(100%,760px); padding:20px 22px; border:1px solid var(--line); background:rgba(15,25,39,.86); }
.dance-result h2 { margin:0 0 8px; font:500 23px/1.25 var(--serif); }
.dance-result p { margin:0; color:var(--muted); font:15px/1.6 var(--sans); }
.dance-page .btn { min-height:40px; }
.contact-panel { width:100%; max-width:920px; margin:0 auto; align-items:center; }
.embedded-cv { display:block!important; height:auto!important; min-height:100%!important; overflow:auto!important; }
.embedded-cv .sidebar,.embedded-cv .skip,.embedded-cv .footer { display:none!important; }
.embedded-cv main { height:auto; min-height:100vh; margin:0; padding:25px 26px 40px; overflow:visible; }
.embedded-cv .frame { max-width:1080px; }
@media(max-width:1000px) and (min-width:741px) {
  body.app-body { grid-template-columns:240px minmax(0,1fr); }
  .app-body .sidebar { padding-left:19px; padding-right:19px; }
  .app-main { padding:18px; }
}
@media(max-width:740px) {
  html.app-document { height:100%; overflow:hidden; }
  body.app-body { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
  .app-body .sidebar { width:100%; height:auto; max-height:auto; max-height:46dvh; padding:12px 16px 10px; border-right:0; border-bottom:1px solid var(--line); }
  .app-body .brand { padding-bottom:10px; }
  .app-body .brand-mark { width:34px; height:34px; }
  .app-body .brand-name { font-size:19px; }
  .app-body .brand-caption { font-size:11px; }
  .app-body .language-switch { margin:7px 0 0; }
  .app-body .primary-nav { display:flex; flex:0 0 auto; gap:4px; margin-top:9px; overflow-x:auto; padding-bottom:2px; }
  .app-body .primary-nav button { width:auto; min-width:max-content; min-height:34px; justify-content:center; padding:0 10px; font-size:12px; }
  .app-body .project-nav { display:flex; flex-wrap:wrap; align-items:center; gap:2px; flex:0 0 auto; margin-top:5px; padding-top:7px; }
  .app-body .project-nav .rail-heading { width:100%; }
  .app-body .project-nav .rail-heading { margin:0 0 3px; font-size:9px; }
  .app-body .project-nav button { width:auto; min-width:max-content; min-height:32px; padding:0 7px; font-size:11px; }
  .app-body .project-nav .key-dot { flex:0 0 7px; }
  .app-body .sidebar-bottom { display:none; }
  .app-main { height:auto; padding:10px 12px; }
  .view-tabs { margin-bottom:8px; }
  .home-view { gap:clamp(6px,1.7dvh,12px); }
  .home-greeting { font-size:clamp(30px,8vw,42px); }
  .home-video { width:min(100%,960px); }
  .content-panel { padding:12px 2px; }
  .project-header { grid-template-columns:84px minmax(0,1fr); gap:13px; padding:15px; }
  .project-header .project-logo,.project-header .kis-logo { width:80px; height:80px; }
  .project-header p { font-size:14px; }
  .dance-mark { width:75px; height:75px; font-size:16px; }
  .dance-result { padding:16px; }
  .contact-panel { padding:18px; }
}
@media(max-width:380px) {
  .app-body .sidebar { max-max-height:48dvh; padding-left:11px; padding-right:11px; }
  .app-main { padding-left:8px; padding-right:8px; }
  .home-greeting { font-size:clamp(28px,8.4vw,34px); }
  .home-video { width:min(100%,960px); }
  .project-header { grid-template-columns:1fr; text-align:center; }
  .project-header .card-link { display:inline-block; }
}

@media(max-height:700px) and (min-width:741px) {
  .home-greeting { font-size:clamp(34px,4.7vw,52px); }
  .home-video { width:min(100%,760px); }
}
@media(max-height:520px) and (min-width:741px) {
  .home-greeting { font-size:36px; }
  .home-video { width:min(100%,640px); }
}
@media(max-height:420px) and (min-width:741px) {
  .home-video { width:min(100%,480px); }
}
@media(max-height:520px) and (max-width:740px) {
  .app-body .sidebar { max-height:42dvh; }
  .home-video { width:min(100%,250px); }
}
@media(max-height:430px) and (max-width:740px) {
  .app-body .sidebar { max-height:40dvh; }
  .home-video { width:min(100%,220px); }
}

.project-header.project-intro { grid-template-columns:minmax(120px,160px) minmax(0,1fr); width:min(100%,1000px); align-items:center; }
.project-art-link { display:grid; place-items:center; width:100%; aspect-ratio:1; overflow:hidden; border:1px solid var(--line); background:#0b1421; transition:border-color .18s ease, transform .18s ease; }
.project-art-link:hover { border-color:var(--accent,var(--cyan)); transform:translateY(-2px); }
.project-art-link.parallax-art { --accent:var(--cyan); padding:8px; background:radial-gradient(circle at 50% 45%,#162d42,#09111b 74%); }
.project-art-link.kistigris-art { --accent:var(--gold); padding:0; background:#0c1725; }
.project-art-link img { display:block; width:100%; height:100%; object-fit:contain; }
.project-copy { min-width:0; }
.project-header.project-intro .project-art-link .project-logo { width:100%; height:100%; }
@media(max-width:740px) {
  .project-header.project-intro { grid-template-columns:minmax(96px,120px) minmax(0,1fr); gap:13px; }
  .project-header.project-intro .project-art-link { width:100%; height:auto; }
}
@media(max-width:380px) {
  .project-header.project-intro { grid-template-columns:1fr; text-align:left; }
  .project-header.project-intro .project-art-link { width:112px; height:112px; justify-self:center; }
}


/* Keep the current role as prominent as the entries in History. */
.timeline-current .timeline-role { display:block; margin-top:3px; color:var(--text); font:500 20px/1.3 var(--serif); }
@media(max-width:740px) { .timeline-current .timeline-role { font-size:21px; } }
@media print { .timeline-current .timeline-role { font-size:14pt; } }

/* Keep CV actions aligned with the page title. */
.cv-heading-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:12px; }
.cv-heading-row .cv-title { margin:0; }
.cv-heading-row .cv-actions { margin-left:auto; }
@media(max-width:560px) {
  .cv-heading-row { align-items:flex-start; flex-direction:column; gap:10px; }
  .cv-heading-row .cv-actions { margin-left:0; }
}

/* Crop halfway through the gap after Let's Play, before the first menu button. */
.app-body .parallax-panel { display:flex; flex-direction:column; overflow:hidden; padding:clamp(14px,2.4vw,28px); }
.app-body .parallax-panel .project-page { flex:1 1 auto; height:100%; min-height:0; gap:0; }
.app-body .parallax-panel .project-header.project-intro.parallax-intro {
  display:flex; flex:1 1 auto; flex-direction:column; align-items:stretch; width:100%; min-height:0;
  gap:clamp(10px,2.2dvh,22px); padding:0; border:0; background:none;
}
.app-body .parallax-panel .project-copy { flex:0 0 auto; width:min(100%,760px); }
.parallax-artwork {
  --parallax-scale:.68;
  position:relative; flex:0 1 369.92px; width:100%; height:369.92px; min-height:0; max-width:none;
  overflow:hidden; isolation:isolate; border:0; background:#070b16;
}
.parallax-homepage-frame {
  position:absolute; left:-130px; top:-53.04px; width:1920px; height:904px; border:0;
  transform:scale(var(--parallax-scale)); transform-origin:top left; pointer-events:none;
}
.parallax-artwork-link { position:absolute; z-index:1; inset:0; }
.parallax-artwork:has(.parallax-artwork-link:focus-visible) { outline:2px solid var(--cyan); outline-offset:3px; }

@media(max-width:1100px) {
  .parallax-artwork { --parallax-scale:.57; flex-basis:310.08px; height:310.08px; }
  .parallax-homepage-frame { left:calc(50% - 547.2px); top:-44.46px; }
}
@media(min-width:1101px) and (max-width:1400px) {
  .parallax-artwork { --parallax-scale:.49; flex-basis:266.56px; height:266.56px; }
  .parallax-homepage-frame { left:calc(50% - 470.4px); top:-38.22px; }
}
@media(min-width:981px) and (max-width:1100px) {
  .parallax-artwork { --parallax-scale:.39; flex-basis:212.16px; height:212.16px; }
  .parallax-homepage-frame { left:calc(50% - 374.4px); top:-30.42px; }
}
@media(min-width:881px) and (max-width:980px) {
  .parallax-artwork { --parallax-scale:.31; flex-basis:168.64px; height:168.64px; }
  .parallax-homepage-frame { left:calc(50% - 297.6px); top:-24.18px; }
}
@media(min-width:821px) and (max-width:880px) {
  .parallax-artwork { --parallax-scale:.23; flex-basis:125.12px; height:125.12px; }
  .parallax-homepage-frame { left:calc(50% - 220.8px); top:-17.94px; }
}
@media(min-width:741px) and (max-width:820px) {
  .parallax-artwork { --parallax-scale:.17; flex-basis:92.48px; height:92.48px; }
  .parallax-homepage-frame { left:calc(50% - 163.2px); top:-13.26px; }
}
@media(max-width:740px) {
  .app-body .parallax-panel { padding:12px 2px; }
  .app-body .parallax-panel .project-header.project-intro.parallax-intro { gap:10px; }
  .parallax-artwork { --parallax-scale:.4; flex-basis:217.6px; height:217.6px; }
  .parallax-homepage-frame { left:calc(50% - 384px); top:-31.2px; }
}
@media(min-width:501px) and (max-width:600px) {
  .parallax-artwork { --parallax-scale:.32; flex-basis:174.08px; height:174.08px; }
  .parallax-homepage-frame { left:calc(50% - 307.2px); top:-24.96px; }
}
@media(min-width:421px) and (max-width:500px) {
  .parallax-artwork { --parallax-scale:.27; flex-basis:146.88px; height:146.88px; }
  .parallax-homepage-frame { left:calc(50% - 259.2px); top:-21.06px; }
}
@media(min-width:361px) and (max-width:420px) {
  .parallax-artwork { --parallax-scale:.23; flex-basis:125.12px; height:125.12px; }
  .parallax-homepage-frame { left:calc(50% - 220.8px); top:-17.94px; }
}
@media(max-width:360px) {
  .parallax-artwork { --parallax-scale:.18; flex-basis:97.92px; height:97.92px; }
  .parallax-homepage-frame { left:calc(50% - 172.8px); top:-14.04px; }
}
@media(max-height:700px) {
  .app-body .parallax-panel { padding-top:12px; padding-bottom:12px; }
  .app-body .parallax-panel .project-header.project-intro.parallax-intro { gap:clamp(8px,1.6dvh,14px); }
}
@media(max-height:520px) {
  .app-body .parallax-panel .project-copy h1 { font-size:clamp(24px,4vw,32px); }
  .app-body .parallax-panel .project-copy p { margin-top:5px; font-size:13px; line-height:1.45; }
}
