
:root{
  --bg:#080a0d;--bg2:#0d1116;--panel:#10151b;--panel2:#151b22;--text:#f4f6f8;
  --muted:#98a2ad;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.15);
  --accent:#7cffaf;--accent2:#52d9ff;--max:1180px;--radius:20px;--shadow:0 26px 70px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;color:var(--text);background:radial-gradient(circle at 82% 5%,rgba(82,217,255,.07),transparent 30%),radial-gradient(circle at 12% 20%,rgba(124,255,175,.05),transparent 30%),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}::selection{background:rgba(124,255,175,.22);color:white}
.site-header{position:sticky;top:0;z-index:100;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line);background:rgba(8,10,13,.78);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:-.025em}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(124,255,175,.36);border-radius:9px;background:linear-gradient(145deg,rgba(124,255,175,.14),rgba(82,217,255,.04));color:var(--accent);font:850 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.nav{display:flex;align-items:center;gap:27px}.nav a{position:relative;color:var(--muted);font-size:13px;font-weight:650}.nav a:hover,.nav a.active{color:var(--text)}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-25px;height:1px;background:var(--accent)}.nav .nav-cta{color:#06100a;background:var(--accent);padding:9px 13px;border-radius:8px}.nav .nav-cta:hover{color:#06100a}
.menu-toggle{display:none;background:transparent;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0}
.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.section{width:min(var(--max),calc(100% - 48px));margin-inline:auto;padding:94px 0}.section + .section{border-top:1px solid var(--line)}
.eyebrow{margin:0 0 16px;color:var(--accent);font:800 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,7.5vw,94px);line-height:.95;letter-spacing:-.065em;margin-bottom:25px}h2{font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.05em;margin-bottom:16px}h3{letter-spacing:-.025em}
.lead{font-size:clamp(18px,2.1vw,24px);line-height:1.55;color:#c7cdd4}.muted{color:var(--muted)}.section-heading{max-width:760px;margin-bottom:42px}.section-heading p:last-child{color:var(--muted);font-size:17px}
.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.button{min-height:48px;padding:0 19px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:10px;font-size:13px;font-weight:800;transition:transform .16s ease,border-color .16s ease,background .16s ease}.button:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28)}.button.primary{color:#06100a;border-color:var(--accent);background:var(--accent)}.button.ghost{background:rgba(255,255,255,.025)}
.text-link{font-size:13px;font-weight:800;color:var(--accent)}.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:#c3cad1;font-size:11px}.pill.live{color:var(--accent);border-color:rgba(124,255,175,.26);background:rgba(124,255,175,.055)}.pill:before{content:"";width:5px;height:5px;border-radius:99px;background:currentColor;opacity:.8}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin:0;padding:0;list-style:none}.tags li{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:#aeb6bf;font-size:10px}
.hero{width:min(var(--max),calc(100% - 48px));min-height:calc(100vh - 72px);margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:58px;align-items:center;padding:80px 0}.hero-copy{max-width:680px;color:var(--muted);font-size:18px;margin-bottom:31px}.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;color:#707985;font-size:11px;font-weight:750;letter-spacing:.07em}
.hero-console{min-height:390px;position:relative;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01));box-shadow:var(--shadow);overflow:hidden}.console-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.console-dot{width:7px;height:7px;border-radius:99px;background:var(--accent);box-shadow:0 0 16px var(--accent)}.console-label{font:750 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#69727d;letter-spacing:.12em}.console-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font:750 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.console-row span{color:#69727d}.console-row b{color:var(--accent)}
.console-grid{height:155px;margin-top:24px;border:1px solid rgba(124,255,175,.12);background-image:linear-gradient(rgba(124,255,175,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(124,255,175,.065) 1px,transparent 1px);background-size:19px 19px;position:relative;overflow:hidden}.console-grid:after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--accent);box-shadow:0 0 18px var(--accent);animation:scan 3.3s linear infinite}@keyframes scan{from{top:0;opacity:.1}50%{opacity:.9}to{top:100%;opacity:.1}}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.018)}.stat{padding:25px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-size:30px;line-height:1;letter-spacing:-.04em}.stat span{display:block;margin-top:8px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.game-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;transition:transform .18s ease,border-color .18s ease;box-shadow:0 8px 24px rgba(0,0,0,.08)}.game-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.19)}.game-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.25fr .75fr}.game-image{position:relative;min-height:300px;background:#0c1116;overflow:hidden}.game-card.featured .game-image{min-height:430px}.game-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.93) contrast(1.04);transition:transform .45s ease}.game-card:hover .game-image img{transform:scale(1.025)}.game-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,6,9,.65),transparent 46%)}.game-status{position:absolute;z-index:2;left:19px;top:19px}.game-body{padding:27px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.game-kicker{margin:0 0 6px;color:#747d88;font:800 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.game-title{font-size:28px;margin-bottom:10px}.game-body p{color:var(--muted)}.game-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature{min-height:245px;padding:24px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008))}.feature-num{display:block;margin-bottom:68px;color:var(--accent);font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.feature h3{font-size:18px;margin-bottom:8px}.feature p{color:var(--muted);font-size:14px;margin-bottom:0}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:92px}.copy-stack p{color:var(--muted);font-size:17px}.copy-stack .lead{color:#d8dde2}.value-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.value{padding:18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015)}.value strong{display:block;font-size:13px;margin-bottom:4px}.value span{color:var(--muted);font-size:12px}
.page-hero{padding:104px 0 76px}.page-hero .hero-inner{max-width:900px}.page-hero h1{font-size:clamp(52px,7vw,88px)}.breadcrumbs{display:flex;gap:8px;align-items:center;margin-bottom:23px;color:#69727d;font-size:11px}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs span{opacity:.5}
.game-detail-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:32px;align-items:stretch;padding-bottom:84px}.detail-image{min-height:420px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-copy{padding:18px 0;display:flex;flex-direction:column;justify-content:center}.detail-copy h1{font-size:clamp(44px,5.7vw,74px)}.detail-copy .lead{color:#bcc4cc}.detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.role{padding:23px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.role h3{font-size:16px;margin-bottom:8px}.role p{color:var(--muted);font-size:13px;margin-bottom:0}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.fact{padding:20px;border-right:1px solid var(--line)}.fact:last-child{border:0}.fact span{display:block;color:#6d7681;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.fact strong{display:block;margin-top:7px;font-size:14px}
.cv-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.cv-subtitle{max-width:660px}.cv-layout{display:grid;grid-template-columns:270px 1fr;gap:58px}.cv-aside{position:sticky;top:100px;align-self:start}.avatar{width:74px;height:74px;display:grid;place-items:center;border-radius:16px;border:1px solid rgba(124,255,175,.28);background:linear-gradient(145deg,rgba(124,255,175,.13),rgba(82,217,255,.05));color:var(--accent);font-size:26px;font-weight:900}.cv-aside h3{margin:15px 0 3px}.cv-aside p{color:var(--muted);font-size:13px}.cv-side-links{display:grid;gap:9px;margin-top:24px}.cv-side-links a{color:#b9c1c9;font-size:12px}.cv-block{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line)}.cv-label{display:block;margin-bottom:21px;color:var(--accent);font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.cv-entry + .cv-entry{margin-top:30px}.cv-entry-head{display:flex;justify-content:space-between;gap:28px;margin-bottom:11px}.cv-entry-head h3{font-size:19px;margin:0}.cv-entry-head span{color:var(--muted);font-size:12px;text-align:right}.cv-entry p,.cv-entry li{color:var(--muted);font-size:14px}.cv-entry ul{margin-bottom:0;padding-left:20px}.skill-table{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.skill-group{padding:19px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.013)}.skill-group h3{font-size:14px;margin-bottom:7px}.skill-group p{color:var(--muted);font-size:12px;margin-bottom:0}
.contact-card{padding:68px;border:1px solid rgba(124,255,175,.18);border-radius:24px;background:linear-gradient(135deg,rgba(124,255,175,.075),rgba(82,217,255,.025),rgba(255,255,255,.01))}.contact-card h2{max-width:790px}.contact-card p{max-width:620px;color:var(--muted)}.contact-note{margin-top:24px;color:#68717c;font-size:11px}
footer{width:min(var(--max),calc(100% - 48px));margin:auto;padding:30px 0 42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#68717c;font-size:11px}.footer-links{display:flex;gap:18px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:930px){.hero{grid-template-columns:1fr;min-height:auto;padding:110px 0 70px}.hero-console{min-height:300px}.game-card.featured{display:block}.game-card.featured .game-image{min-height:360px}.feature-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:20px}.game-detail-hero{grid-template-columns:1fr}.detail-image{min-height:330px}.roles-grid{grid-template-columns:repeat(2,1fr)}.project-facts{grid-template-columns:repeat(2,1fr)}.fact:nth-child(2){border-right:0}.fact:nth-child(-n+2){border-bottom:1px solid var(--line)}.cv-layout{grid-template-columns:1fr}.cv-aside{position:static}}
@media(max-width:690px){.site-header{padding-inline:18px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:10px 20px 20px;background:rgba(8,10,13,.98);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px 0}.nav a.active:after{display:none}.nav .nav-cta{margin-top:6px;text-align:center}.section,.hero,.wrap,footer{width:calc(100% - 32px)}.section{padding:70px 0}h1{font-size:clamp(44px,14vw,65px)}.hero-copy{font-size:16px}.stats-row{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.game-grid{grid-template-columns:1fr}.game-card.featured{grid-column:auto}.game-image,.game-card.featured .game-image{min-height:280px}.feature-grid,.value-list,.roles-grid,.skill-table{grid-template-columns:1fr}.feature{min-height:195px}.feature-num{margin-bottom:36px}.project-facts{grid-template-columns:1fr}.fact,.fact:nth-child(2){border-right:0}.fact:nth-child(-n+3){border-bottom:1px solid var(--line)}.cv-head{grid-template-columns:1fr}.cv-entry-head{display:block}.cv-entry-head span{display:block;text-align:left;margin-top:4px}.contact-card{padding:42px 24px}footer{flex-direction:column}}


/* v3.1: project technology segments + contact extensions */

.tech-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.tech-item{
  position:relative;
  min-height:168px;
  padding:24px 24px 22px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.032),rgba(255,255,255,.008)),
    var(--panel);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.tech-item::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(to bottom,var(--accent),rgba(124,255,175,.08));
  opacity:.7;
}

.tech-item:hover{
  transform:translateY(-2px);
  border-color:rgba(124,255,175,.20);
  background:
    linear-gradient(145deg,rgba(124,255,175,.035),rgba(255,255,255,.008)),
    var(--panel);
}

.tech-item > span{
  display:block;
  margin:0 0 12px;
  color:#747e89;
  font:800 10px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tech-item > strong{
  display:block;
  margin:0 0 10px;
  color:var(--text);
  font-size:17px;
  line-height:1.35;
  letter-spacing:-.015em;
}

.tech-item > p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.contact-option{
  padding:28px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
}

.contact-option .eyebrow{margin-bottom:12px}
.contact-option h3{
  font-size:22px;
  margin-bottom:8px;
  overflow-wrap:anywhere;
}
.contact-option p{
  color:var(--muted);
  font-size:13px;
}

.timeline-note{
  color:#727b86;
  font-size:12px;
  margin-top:8px;
}

.inline-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:14px;
}

.inline-links a{
  color:var(--accent);
  font-size:12px;
  font-weight:800;
}

@media(max-width:690px){
  .tech-grid,
  .contact-grid{
    grid-template-columns:1fr;
  }

  .tech-item{
    min-height:0;
    padding:21px 20px;
  }
}


/* v3.2: card spacing / image fallback polish */
.game-image{
  display:block;
}

.game-status{
  max-width:calc(100% - 38px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.game-body{
  padding:30px;
  gap:26px;
}

.game-body > div:first-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.game-kicker{
  display:block;
  margin:0 0 10px;
  line-height:1.5;
}

.game-title{
  margin:0 0 16px;
  line-height:1.08;
}

.game-body p{
  margin-bottom:0;
}

.detail-image img,
.game-image img{
  color:transparent;
  font-size:0;
}

@media(max-width:690px){
  .game-body{
    padding:24px;
    gap:22px;
  }

  .game-kicker{
    margin-bottom:8px;
  }

  .game-title{
    margin-bottom:14px;
  }
}




/* v4.2: compact language switch beside 4Tins Studios */
.header-left{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.lang-switcher{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
  font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.02em;
}

.lang-option{
  color:#626c77;
  padding:7px 2px;
  transition:color .16s ease,transform .16s ease;
}

.lang-option:hover{
  color:var(--text);
  transform:translateY(-1px);
}

.lang-option.active{
  color:var(--accent);
}

/* Polish copy can be slightly longer; prevent cards from feeling cramped. */
html[lang="pl"] .game-body{
  min-height:238px;
}

html[lang="pl"] .game-title{
  margin-bottom:14px;
}

@media(max-width:760px){
  .header-left{
    gap:10px;
  }

  .lang-switcher{
    gap:2px;
    font-size:10px;
  }

  .lang-option{
    padding:7px 1px;
  }
}

@media(max-width:390px){
  .brand > span:last-child{
    font-size:14px;
  }

  .brand-mark{
    width:32px;
    height:32px;
  }

  .header-left{
    gap:7px;
  }

  .lang-switcher{
    font-size:9px;
  }
}


/* v4.3 — portfolio & recruitment polish */

/* Home hero */
.hero-showcase{
  display:grid;
  gap:12px;
  min-width:0;
}
.hero-showcase-media{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
  box-shadow:var(--shadow);
}
.hero-showcase-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  color:transparent;
  font-size:0;
  filter:saturate(.9) contrast(1.06);
}
.hero-showcase-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(5,8,10,.9) 0%,rgba(5,8,10,.32) 45%,rgba(5,8,10,.08) 100%),
    linear-gradient(110deg,rgba(124,255,175,.08),transparent 45%);
}
.hero-showcase-overlay{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:22px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}
.hero-showcase-overlay strong{
  font-size:clamp(25px,3vw,38px);
  line-height:1;
  letter-spacing:-.045em;
}
.hero-showcase-overlay > span:last-child{
  color:#bac2ca;
  font-size:12px;
}
.hero-mini-console{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  border-radius:13px;
  overflow:hidden;
  background:rgba(255,255,255,.018);
}
.hero-mini-console .console-row{
  display:block;
  border-bottom:0;
  border-right:1px solid var(--line);
  padding:15px 16px;
}
.hero-mini-console .console-row:last-child{border-right:0}
.hero-mini-console .console-row span,
.hero-mini-console .console-row b{display:block}
.hero-mini-console .console-row b{margin-top:5px;font-size:10px}

/* Home cards: featured title + three equal secondary projects */
@media(min-width:980px){
  .home-game-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .home-game-grid .game-card.featured{
    grid-column:1/-1;
  }
}

/* Unified project card rhythm */
.portfolio-game-grid .game-card,
.home-game-grid .game-card:not(.featured){
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.portfolio-game-grid .game-image,
.home-game-grid .game-card:not(.featured) .game-image{
  aspect-ratio:460 / 215;
  min-height:0;
}
.portfolio-game-grid .game-body,
.home-game-grid .game-card:not(.featured) .game-body{
  flex:1;
  min-height:250px;
}
.portfolio-game-grid .game-links,
.home-game-grid .game-card:not(.featured) .game-links{
  margin-top:auto;
}

/* PROTOCOL: VOID systems case study */
.case-study-section{
  position:relative;
}
.case-study-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.case-study-card{
  position:relative;
  min-height:220px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(124,255,175,.025),rgba(255,255,255,.012)),
    var(--panel);
  overflow:hidden;
}
.case-study-card::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-70px;
  bottom:-85px;
  border:1px solid rgba(124,255,175,.08);
  transform:rotate(45deg);
}
.case-study-card:nth-child(5){
  grid-column:1/-1;
}
.case-study-label{
  display:block;
  margin-bottom:42px;
  color:var(--accent);
  font:800 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
.case-study-card h3{
  margin-bottom:9px;
  font-size:20px;
}
.case-study-card p{
  max-width:650px;
  margin-bottom:0;
  color:var(--muted);
  font-size:14px;
}
.case-media-hook[hidden]{display:none}

/* CV positioning */
.availability-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:2px 0 16px;
  padding:7px 10px;
  border:1px solid rgba(124,255,175,.25);
  border-radius:999px;
  background:rgba(124,255,175,.055);
  color:var(--accent);
  font:800 10px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.06em;
}
.availability-badge::before{
  content:"";
  width:6px;
  height:6px;
  margin-right:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 12px rgba(124,255,175,.7);
}
.career-metrics-section{
  padding-top:0;
  padding-bottom:72px;
  border-top:0 !important;
}
.career-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.016);
}
.career-metric{
  min-width:0;
  padding:23px;
  border-right:1px solid var(--line);
}
.career-metric:last-child{border-right:0}
.career-metric strong{
  display:block;
  font-size:28px;
  line-height:1;
  letter-spacing:-.045em;
}
.career-metric span{
  display:block;
  margin-top:8px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

@media(max-width:930px){
  .hero-showcase-media{min-height:330px}
  .career-metrics{grid-template-columns:repeat(2,1fr)}
  .career-metric:nth-child(2){border-right:0}
  .career-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:690px){
  .hero-showcase-media{min-height:260px}
  .hero-showcase-overlay{left:18px;right:18px;bottom:17px}
  .hero-mini-console{grid-template-columns:1fr}
  .hero-mini-console .console-row{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .hero-mini-console .console-row:last-child{border-bottom:0}
  .case-study-grid{grid-template-columns:1fr}
  .case-study-card,
  .case-study-card:nth-child(5){grid-column:auto}
  .case-study-label{margin-bottom:30px}
  .career-metrics{grid-template-columns:1fr}
  .career-metric,
  .career-metric:nth-child(2){
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .career-metric:last-child{border-bottom:0}
}


/* v4.4 — simplified home: hero -> games */
.hero.hero-simple{
  min-height:0;
  grid-template-columns:1fr;
  padding-top:112px;
  padding-bottom:84px;
}

.hero.hero-simple > .reveal{
  max-width:900px;
}

.hero.hero-simple h1{
  max-width:900px;
}

.hero.hero-simple .hero-copy{
  max-width:700px;
}

@media(max-width:690px){
  .hero.hero-simple{
    padding-top:82px;
    padding-bottom:62px;
  }
}


/* v4.5 — centered compact home hero */
.hero.hero-simple{
  padding-top:92px;
  padding-bottom:42px;
  text-align:center;
  justify-items:center;
}

.hero.hero-simple > .reveal{
  max-width:900px;
  margin-inline:auto;
}

.hero.hero-simple h1,
.hero.hero-simple .hero-copy{
  margin-left:auto;
  margin-right:auto;
}

.hero.hero-simple .button-row,
.hero.hero-simple .hero-meta{
  justify-content:center;
}

.hero.hero-simple + .section{
  padding-top:48px;
}

@media(max-width:690px){
  .hero.hero-simple{
    padding-top:72px;
    padding-bottom:32px;
  }

  .hero.hero-simple + .section{
    padding-top:38px;
  }
}


/* v4.6 — compact centered desktop hero + segmented language buttons */

/* Keep brand and languages on exactly one horizontal row. */
.site-header .header-left{
  display:inline-flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:14px !important;
  min-width:0;
}

.site-header .header-left .brand{
  flex:0 0 auto;
  white-space:nowrap;
}

.site-header .lang-switcher{
  display:inline-flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:3px !important;
  padding:3px;
  border:1px solid var(--line2);
  border-radius:9px;
  background:rgba(255,255,255,.025);
  white-space:nowrap;
  line-height:1;
}

.site-header .lang-option{
  width:36px;
  height:27px;
  padding:0 !important;
  display:grid !important;
  place-items:center;
  border:1px solid transparent;
  border-radius:6px;
  color:#858f9a;
  font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.04em;
  transition:
    background .16s ease,
    color .16s ease,
    border-color .16s ease,
    transform .16s ease;
}

.site-header .lang-option:hover{
  transform:none;
  color:var(--text);
  background:rgba(255,255,255,.055);
  border-color:var(--line);
}

.site-header .lang-option.active{
  color:#06100a;
  background:var(--accent);
  border-color:var(--accent);
}

/* Home: intentionally much shorter than viewport height. */
.hero.hero-simple{
  width:min(900px,calc(100% - 48px)) !important;
  min-height:auto !important;
  height:auto !important;
  display:block !important;
  margin-inline:auto !important;
  padding:54px 0 24px !important;
  text-align:center !important;
}

.hero.hero-simple > .reveal{
  width:100% !important;
  max-width:760px !important;
  margin:0 auto !important;
  text-align:center !important;
}

.hero.hero-simple .eyebrow,
.hero.hero-simple h1,
.hero.hero-simple .hero-copy{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.hero.hero-simple h1{
  max-width:760px !important;
  margin-bottom:20px !important;
}

.hero.hero-simple .hero-copy{
  max-width:660px !important;
  margin-bottom:25px !important;
}

.hero.hero-simple .button-row{
  justify-content:center !important;
}

.hero.hero-simple .hero-meta{
  justify-content:center !important;
  margin-top:24px !important;
}

/* Games begins nearly immediately below the hero. */
.hero.hero-simple + .section{
  padding-top:26px !important;
}

/* Give the Games heading itself less bottom dead-space. */
.hero.hero-simple + .section .section-heading{
  margin-bottom:32px;
}

@media(max-width:760px){
  .site-header .header-left{
    gap:9px !important;
  }

  .site-header .lang-switcher{
    gap:2px !important;
    padding:2px;
  }

  .site-header .lang-option{
    width:32px;
    height:25px;
    font-size:9px;
  }
}

@media(max-width:690px){
  .hero.hero-simple{
    width:calc(100% - 32px) !important;
    padding:46px 0 20px !important;
  }

  .hero.hero-simple + .section{
    padding-top:22px !important;
  }

  .hero.hero-simple .hero-meta{
    margin-top:20px !important;
  }
}

@media(max-width:410px){
  .site-header .header-left{
    gap:7px !important;
  }

  .site-header .brand{
    gap:7px;
  }

  .site-header .brand > span:last-child{
    font-size:13px;
  }

  .site-header .lang-option{
    width:29px;
    height:24px;
  }
}


/* v4.7 — clickable project titles in CV */
.cv-project-link{
  color:var(--text);
  text-decoration:none;
  text-underline-offset:4px;
  transition:color .16s ease,text-decoration-color .16s ease;
}

.cv-project-link strong{
  color:inherit;
}

.cv-project-link:hover{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:var(--accent);
}


/* v4.8 — recruitment-focused CV and contact polish */

/* Home positioning line */
.hero.hero-simple .eyebrow{
  line-height:1.6;
}

/* Stronger QA scanability */
.experience-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 15px;
}

.experience-highlights span{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 9px;
  border:1px solid rgba(124,255,175,.18);
  border-radius:999px;
  background:rgba(124,255,175,.035);
  color:#b9c5bd;
  font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.06em;
}

.cv-entry-secondary{
  padding-top:4px;
  opacity:.78;
}

.cv-entry-secondary .cv-entry-head h3{
  font-size:17px;
}

.cv-entry-secondary li{
  font-size:13px;
}

/* Skills organized by target role */
.skill-table{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.role-skill-group{
  min-height:180px;
}

.role-skill-group h3{
  font-size:15px;
}

.role-skill-group p{
  line-height:1.7;
}

.language-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:12px;
  padding:15px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.012);
}

.language-strip strong{
  font-size:13px;
}

.language-strip span{
  color:var(--muted);
  font-size:12px;
  text-align:right;
}

/* Simplified contact page: exactly three routes */
.contact-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.contact-option{
  min-height:270px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.contact-option .button{
  margin-top:auto;
}

.contact-option-primary{
  border-color:rgba(124,255,175,.18);
  background:linear-gradient(145deg,rgba(124,255,175,.045),rgba(255,255,255,.012));
}

.contact-secondary-email{
  display:block;
  margin-top:13px;
  color:#7f8994;
  font-size:11px;
  overflow-wrap:anywhere;
}

.contact-secondary-email:hover{
  color:var(--accent);
}

/* Slightly clearer hierarchy between project page and Steam */
.game-links .text-link:first-child{
  font-weight:850;
}

.game-links .text-link.muted{
  font-size:12px;
  opacity:.9;
}

@media(max-width:930px){
  .skill-table{
    grid-template-columns:1fr;
  }

  .role-skill-group{
    min-height:0;
  }

  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-option{
    min-height:0;
  }
}

@media(max-width:690px){
  .language-strip{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }

  .language-strip span{
    text-align:left;
  }
}
