﻿*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#060912;--surface:#0E1220;--surf2:#141929;
  --accent:#7C5CFC;--accent-b:#9B80FF;
  --warm:#F0A500;--warm-l:rgba(240,165,0,.07);
  --text:#E8E6F0;--mid:#B8B5CC;--muted:#7A7D94;
  --border:#1E2440;
  --font:system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Cascadia Code','Consolas','Fira Code','Courier New',monospace;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}

/* ── HERO ── */
.hero{
  min-height:100vh;background:var(--bg);
  position:relative;overflow:hidden;
  display:flex;align-items:center;
  padding:0 clamp(1.5rem,5vw,4rem);
}
.hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(124,92,252,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(124,92,252,.04) 1px,transparent 1px);
  background-size:44px 44px;pointer-events:none;
}
.hero::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 55% 60% at 12% 50%,rgba(124,92,252,.09) 0%,transparent 65%),
    radial-gradient(ellipse 40% 50% at 88% 30%,rgba(240,165,0,.07) 0%,transparent 60%);
  pointer-events:none;
}
.hero-inner{
  max-width:1280px;width:100%;margin:0 auto;
  display:grid;grid-template-columns:1fr 300px 240px;
  gap:2.5rem;align-items:center;
  position:relative;z-index:1;padding:5rem 0;
}

/* left */
.hero-l{}
.hero-prompt{
  font-family:var(--mono);font-size:.6rem;
  letter-spacing:.25em;text-transform:uppercase;
  color:var(--warm);display:flex;align-items:center;gap:.5rem;
  margin-bottom:1.5rem;
}
.hero-prompt::before{content:'>';color:var(--accent-b);font-size:.85rem;font-weight:700}
.hero-name{line-height:.83;margin-bottom:1.75rem}
.n1{display:block;font-size:clamp(4.5rem,10vw,9rem);font-weight:900;letter-spacing:-.045em;color:var(--text)}
.n2{
  display:block;font-size:clamp(4.5rem,10vw,9rem);font-weight:900;
  letter-spacing:-.045em;color:var(--warm);
  text-shadow:0 0 55px rgba(240,165,0,.35),0 0 110px rgba(240,165,0,.12);
}
.hero-sub{
  font-size:clamp(.82rem,1.3vw,.97rem);color:var(--mid);
  line-height:1.85;max-width:420px;margin-bottom:1.75rem;
}
.hero-links{display:flex;flex-wrap:wrap;gap:.35rem}
.hero-links a{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;
  color:var(--muted);text-decoration:none;
  padding:.22rem .55rem;border:1px solid var(--border);
  transition:border-color .2s,color .2s;
}
.hero-links a:hover{border-color:var(--accent-b);color:var(--accent-b)}

/* terminal */
.terminal{
  background:#070C18;border:1px solid var(--border);
  box-shadow:0 0 50px rgba(124,92,252,.14),inset 0 0 30px rgba(0,0,0,.5);
  overflow:hidden;align-self:center;
}
.term-chrome{
  background:var(--surface);padding:.42rem .7rem;
  display:flex;align-items:center;gap:.35rem;
  border-bottom:1px solid var(--border);
}
.td{width:10px;height:10px;border-radius:50%}
.td-r{background:#FF5F57}.td-y{background:#FEBC2E}.td-g{background:#28C840}
.term-fname{
  font-family:var(--mono);font-size:.55rem;
  color:var(--muted);letter-spacing:.08em;
  margin:0 auto;
}
.term-body{
  padding:.9rem 1.1rem;min-height:248px;
  font-family:var(--mono);font-size:.74rem;line-height:1.72;
}
.jk{color:#9B80FF}.jstr{color:#7EC8A0}.jnum{color:#FFB86C}.jpun{color:var(--muted)}
.cursor{
  display:inline-block;width:.55em;height:1.05em;
  background:var(--accent-b);vertical-align:text-bottom;
  animation:blink 1.1s step-end infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* right: photo+stats */
.hero-r{display:flex;flex-direction:column;align-items:center;gap:1.25rem}
.avatar-wrap{position:relative;width:170px;height:170px}
.avatar-wrap::before{
  content:'';position:absolute;inset:-5px;
  background:conic-gradient(var(--accent),var(--warm),var(--accent-b),var(--accent));
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  animation:spin 7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.avatar-inner{
  position:relative;width:170px;height:170px;
  overflow:hidden;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  background:var(--surface);
}
.avatar-img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  filter:grayscale(100%) sepia(35%) hue-rotate(220deg) saturate(160%) brightness(.87);
  display:block;
}
.stats-penta{
  position:relative;
  width:240px;height:240px;
  margin:1.2rem auto 0;
}
.penta-svg{
  position:absolute;inset:0;
  width:100%;height:100%;pointer-events:none;
}
.pstat{
  position:absolute;
  background:var(--surf2);
  border:1px solid rgba(124,92,252,.38);
  border-radius:7px;
  padding:.38rem .5rem;
  text-align:center;
  transform:translate(-50%,-50%);
  min-width:60px;
  transition:border-color .2s,box-shadow .2s;
  box-shadow:0 0 8px rgba(124,92,252,.12);
}
.pstat:hover{
  border-color:rgba(124,92,252,.75);
  box-shadow:0 0 18px rgba(124,92,252,.3);
}
.pstat-0{left:50%;top:10.4%;}
.pstat-1{left:87.5%;top:37.9%;}
.pstat-2{left:73.3%;top:82.1%;}
.pstat-3{left:26.7%;top:82.1%;}
.pstat-4{left:12.5%;top:37.9%;}
.stat-n{
  display:block;font-family:var(--mono);
  font-size:1.3rem;font-weight:700;
  color:var(--warm);letter-spacing:-.03em;
  text-shadow:0 0 10px rgba(240,165,0,.4);
}
.stat-l{
  display:block;font-family:var(--mono);
  font-size:.55rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin-top:.1rem;
  white-space:normal;line-height:1.3;
}

/* ── BANDS ── */
.band{padding:4.5rem clamp(1.5rem,5vw,4rem)}
.band-alt{background:var(--surface)}
.band-inner{max-width:1280px;margin:0 auto}

.sec-hd{
  display:flex;align-items:baseline;gap:1rem;
  margin-bottom:2.75rem;padding-bottom:.7rem;
  border-bottom:1px solid var(--border);
}
.sec-eye{font-family:var(--mono);font-size:.55rem;color:var(--warm);letter-spacing:.2em}
.sec-title{font-size:1.4rem;font-weight:800;color:var(--text);letter-spacing:-.025em}

/* ── PROFIEL ── */
.profiel-grid{display:grid;grid-template-columns:1fr 255px;gap:4rem}
.pt{font-size:.9rem;color:var(--mid);line-height:1.9}
.pt strong{color:var(--accent-b);font-weight:600}
.pt p+p{margin-top:.95rem}

.meta-blk{margin-bottom:1.5rem}
.meta-lbl{
  font-family:var(--mono);font-size:.65rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--warm);
  display:flex;align-items:center;gap:.45rem;margin-bottom:.55rem;
}
.meta-lbl::after{content:'';flex:1;height:1px;background:var(--border)}
.meta-row{margin-bottom:.3rem}
.mk{font-family:var(--mono);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block}
.mv{font-size:.78rem;color:var(--mid)}
.mv a{color:var(--accent-b);text-decoration:none}
.mv a:hover{text-decoration:underline}

.lang-item{margin-bottom:.65rem}
.lang-row{display:flex;justify-content:space-between;font-size:.76rem;color:var(--text);margin-bottom:.22rem}
.lang-lv{font-family:var(--mono);font-size:.52rem;color:var(--muted)}
.lang-bar{height:2px;background:var(--border)}
.lang-fill{height:100%;background:linear-gradient(to right,var(--accent),var(--accent-b));box-shadow:0 0 6px rgba(124,92,252,.5)}

.tag-cloud{display:flex;flex-wrap:wrap;gap:.2rem}
.tag{
  font-family:var(--mono);font-size:.75rem;padding:.22rem .55rem;
  border:1px solid var(--border);color:var(--muted);letter-spacing:.03em;
  transition:border-color .15s,color .15s;
}
.tag:hover{border-color:var(--accent);color:var(--accent-b)}

/* ── WERK ── */
.seg-hd{
  display:flex;align-items:center;gap:.7rem;
  margin:2.5rem 0 1rem;padding-bottom:.45rem;
  border-bottom:1px solid rgba(124,92,252,.1);
}
.seg-hd:first-child{margin-top:0}
.seg-gem{
  width:8px;height:8px;background:var(--accent);
  transform:rotate(45deg);flex-shrink:0;
  box-shadow:0 0 8px rgba(124,92,252,.6);
}
.seg-lbl{
  font-family:var(--mono);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-b);font-weight:700;
}

.tl-item{
  display:grid;grid-template-columns:78px 18px 1fr;
  gap:0 1.4rem;margin-bottom:.6rem;
}
.tl-when{
  font-family:var(--mono);font-size:.7rem;color:var(--warm);
  letter-spacing:.03em;text-align:right;padding-top:.32rem;line-height:1.5;
}
.tl-loc{display:block;font-size:.53rem;color:var(--muted);margin-top:.28rem}
.tl-rail{
  position:relative;display:flex;
  justify-content:center;padding-top:.32rem;
}
.tl-rail::before{
  content:'';position:absolute;top:0;bottom:0;
  left:50%;transform:translateX(-50%);
  width:1px;background:linear-gradient(to bottom,var(--accent) 0%,rgba(124,92,252,.06) 100%);
}
.tl-dot{
  width:8px;height:8px;background:var(--surface);
  border:2px solid var(--accent);transform:rotate(45deg);
  position:relative;z-index:1;flex-shrink:0;
  transition:background .2s,box-shadow .2s;
}
.tl-item:hover .tl-dot{background:var(--accent);box-shadow:0 0 10px rgba(124,92,252,.6)}

.jc{
  background:var(--surf2);border-left:3px solid rgba(124,92,252,.18);
  padding:1.15rem 1.4rem;margin-bottom:.4rem;
  transition:border-color .2s,box-shadow .2s;
}
.jc:hover{border-left-color:var(--accent);box-shadow:-3px 0 18px rgba(124,92,252,.07)}
.jc-title{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:.1rem}
.jc-co{font-family:var(--mono);font-size:.72rem;color:var(--accent-b);letter-spacing:.08em;margin-bottom:.55rem}
.jc-desc{font-size:.79rem;color:var(--muted);line-height:1.75;margin-bottom:.5rem;max-width:580px}
.jc-desc strong{color:var(--mid)}
.tasks{list-style:none;margin-bottom:.45rem}
.tasks li{font-size:.77rem;color:var(--muted);padding-left:.95rem;position:relative;margin-bottom:.12rem;line-height:1.62}
.tasks li::before{content:'›';position:absolute;left:0;color:var(--accent);font-weight:700}
.phase{
  font-family:var(--mono);font-size:.67rem;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;color:var(--warm);
  display:flex;align-items:center;gap:.45rem;margin:.85rem 0 .4rem;
}
.phase::before{content:'';width:4px;height:4px;background:var(--warm);transform:rotate(45deg);flex-shrink:0}
.phase::after{content:'';flex:1;height:1px;background:rgba(240,165,0,.1)}
.tech{display:flex;flex-wrap:wrap;gap:.16rem;margin-top:.32rem}
.tt{
  font-family:var(--mono);font-size:.72rem;padding:.18rem .42rem;
  border:1px solid rgba(124,92,252,.18);
  color:var(--accent-b);background:rgba(124,92,252,.05);
}

/* ── EDU + CERTS ── */
.ec-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.edu-list{display:flex;flex-direction:column;gap:1.4rem}
.edu{display:grid;grid-template-columns:76px 1fr;gap:0 1.4rem}
.edu-yr{font-family:var(--mono);font-size:.58rem;color:var(--warm);text-align:right;padding-top:.12rem;letter-spacing:.04em}
.edu-deg{font-size:.86rem;font-weight:700;color:var(--text);margin-bottom:.1rem}
.edu-sch{font-family:var(--mono);font-size:.6rem;color:var(--accent-b);letter-spacing:.06em;margin-bottom:.28rem}
.edu-note{font-size:.73rem;color:var(--muted);font-style:italic;line-height:1.55}
.cert-list{display:flex;flex-direction:column;gap:.6rem}
.cert{display:grid;grid-template-columns:36px 1fr;gap:0 .95rem}
.cert-yr{font-family:var(--mono);font-size:.6rem;color:var(--accent-b);text-align:right;padding-top:.07rem}
.cert-name{font-size:.78rem;font-weight:500;color:var(--text);line-height:1.4;margin-bottom:.03rem}
.cert-org{font-family:var(--mono);font-size:.67rem;color:var(--muted)}

/* ── SKILLS ── */
.sk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:2rem 3rem}
.sg-lbl{
  font-family:var(--mono);font-size:.65rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--warm);
  display:flex;align-items:center;gap:.45rem;margin-bottom:.5rem;
}
.sg-lbl::after{content:'';flex:1;height:1px;background:var(--border)}
.sk-cloud{display:flex;flex-wrap:wrap;gap:.18rem}
.sk{
  font-family:var(--mono);font-size:.73rem;padding:.2rem .44rem;
  border:1px solid var(--border);color:var(--muted);
  transition:border-color .15s,color .15s;
}
.sk:hover{border-color:var(--accent);color:var(--accent-b)}
.sk.hi{border-color:rgba(124,92,252,.32);color:var(--accent-b);background:rgba(124,92,252,.07)}
.sk.warm{border-color:rgba(240,165,0,.28);color:var(--warm);background:rgba(240,165,0,.05)}

/* ── HOBBIES ── */
.hob{font-size:.88rem;color:var(--mid);line-height:1.85}

/* ── FOOTER ── */
.site-footer{
  background:var(--surface);border-top:1px solid var(--border);
  padding:1.4rem clamp(1.5rem,5vw,4rem);
  font-family:var(--mono);font-size:.58rem;color:var(--muted);letter-spacing:.1em;
}
.footer-inner{
  max-width:1320px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:.8rem;
}
.footer-copy{color:var(--muted)}
.footer-links{display:flex;gap:1.6rem;flex-wrap:wrap}
.footer-links a{color:var(--muted);text-decoration:none;transition:color .15s}
.footer-links a:hover{color:var(--accent-b)}

a:focus-visible{outline:2px solid var(--accent-b);outline-offset:3px}

/* ── SITE NAV ── */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:52px;
  background:rgba(6,9,18,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1320px;margin:0 auto;height:100%;
  display:flex;align-items:center;gap:2rem;
  padding:0 clamp(1rem,4vw,3rem);
}
.nav-logo{
  font-family:var(--mono);font-size:.82rem;font-weight:700;
  color:var(--accent-b);text-decoration:none;letter-spacing:.1em;
  flex-shrink:0;
}
.nav-links{display:flex;gap:1.6rem;flex:1}
.nav-links a{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;
  transition:color .15s;padding:.2rem 0;
  border-bottom:1px solid transparent;
}
.nav-links a:hover,.nav-links a.active{color:var(--accent-b);border-bottom-color:rgba(155,128,255,.4)}
.nav-cta{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);
  border:1px solid rgba(124,92,252,.4);border-radius:2px;
  padding:.28rem .9rem;text-decoration:none;flex-shrink:0;
  transition:border-color .15s,color .15s,background .15s;
}
.nav-cta:hover{border-color:var(--accent);background:rgba(124,92,252,.08);color:var(--accent-b)}
.nav-dl{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--warm);
  border:1px solid rgba(240,165,0,.35);border-radius:2px;
  padding:.28rem .9rem;text-decoration:none;flex-shrink:0;
  transition:border-color .15s,background .15s;
}
.nav-dl:hover{border-color:var(--warm);background:rgba(240,165,0,.07)}
.dl-btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;
  color:var(--warm);border:1px solid rgba(240,165,0,.4);
  padding:.5rem 1.2rem;margin-top:1rem;
  transition:border-color .15s,background .15s;
}
.dl-btn:hover{border-color:var(--warm);background:rgba(240,165,0,.08)}
.dl-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.print-btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;cursor:pointer;
  color:var(--mid);border:1px solid rgba(184,181,204,.25);background:none;
  padding:.5rem 1.2rem;margin-top:1rem;margin-left:.6rem;
  transition:border-color .15s,background .15s,color .15s;
}
.print-btn:hover{border-color:var(--mid);background:rgba(184,181,204,.06);color:var(--text)}
.print-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.nav-print{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);
  border:1px solid rgba(184,181,204,.2);border-radius:2px;
  padding:.28rem .9rem;background:none;cursor:pointer;flex-shrink:0;
  transition:border-color .15s,color .15s;
}
.nav-print:hover{border-color:var(--mid);color:var(--text)}
html{scroll-padding-top:60px}

/* ── PRINT ── */
@media print{
  .site-nav,.dl-btn,.print-btn,.nav-dl,.nav-cta,.nav-print,.site-footer{display:none!important}
  body{background:#fff!important;color:#111!important;font-size:11pt}
  .hero{min-height:auto;padding:1.5rem 2rem;background:#fff!important}
  .hero::before,.hero::after{display:none}
  .hex-ring,.hex-photo{display:none}
  .hero-inner{grid-template-columns:1fr!important;gap:1rem}
  .hero-r{display:none!important}
  .hero-name{font-size:22pt;color:#111!important;text-shadow:none}
  .hero-sub,.hero-role{color:#333!important}
  .hero-links a{color:#333!important;border-color:#ccc!important}
  .band{padding:1.2rem 2rem}
  .band-alt{background:#f9f9f9!important}
  .sec-title{color:#111!important;font-size:14pt}
  .sec-eye{color:#555!important}
  .jc-title{color:#111!important}
  .jc-co{color:#444!important}
  .jc-desc,.tasks li,.pt p{color:#222!important}
  .tt,.tag{border-color:#bbb!important;color:#333!important}
  .tl-when{color:#444!important}
  .tl-rail{display:none}
  .tl-item{grid-template-columns:78px 1fr!important;gap:0 1rem}
  .stat-n{color:#111!important;text-shadow:none}
  .stat-l{color:#555!important}
  .lang-fill{background:#555!important;box-shadow:none}
  a{color:inherit!important;text-decoration:none}
  section,article{page-break-inside:avoid}
}
@media(max-width:700px){.nav-links{display:none}}

/* ── RESPONSIVE ── */
@media(max-width:1050px){
  .hero-inner{grid-template-columns:1fr 280px}
  .hero-r{display:none}
  .profiel-grid{grid-template-columns:1fr}
  .ec-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .hero-inner{grid-template-columns:1fr}
  .hero-r{display:flex}
  .tl-item{grid-template-columns:64px 14px 1fr;gap:0 .8rem}
  .sk-grid{grid-template-columns:1fr}
}
@media(max-width:440px){
  .tl-item{grid-template-columns:1fr}
  .tl-when{text-align:left;margin-bottom:.25rem}
  .tl-rail{display:none}
}
@media(prefers-reduced-motion:reduce){
  .avatar-wrap::before,.cursor{animation:none}
  *{transition:none!important}
}