/* Shared responsive and keyboard accessibility improvements. */
:root { --text2:#b7bcc7; --text3:#929aa9; }
body { cursor:auto; }
main { position:relative; z-index:2; }
.cs-cover { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
section[id] { scroll-margin-top:110px; }
:where(a,button,input,textarea,[tabindex]):focus-visible { outline:3px solid var(--neon); outline-offset:5px; }
.skip-link { position:fixed; top:8px; left:16px; z-index:10000; padding:14px 20px; color:#060810; background:var(--neon); border-radius:8px; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.lang-btn,.nav-logo,.nav-back,.f-top,.f-privacy { min-height:44px; display:inline-flex; align-items:center; }
.lang-btn { min-width:44px; justify-content:center; }
.lang-switch { gap:2px; }
.proj-card { color:inherit; text-decoration:none; }
.stat-idea { display:flex; align-items:center; justify-content:flex-start; height:1em; }
.stat-idea svg { width:.72em; height:.9em; display:block; overflow:visible; filter:drop-shadow(0 0 10px var(--neon-glow)); }
@media(max-width:700px) {
  .proj-card.scroll-active .proj-img-bw { opacity:0; }
  .proj-card.scroll-active .proj-img-color { opacity:1; }
  .proj-card.scroll-active { border-color:var(--border2); box-shadow:0 0 38px rgba(204,206,0,.1); }
  .proj-card.scroll-active::after { opacity:1; }
}
.proj-card:focus-visible .proj-img-color { opacity:1; }
.proj-card:focus-visible .proj-img-bw { opacity:0; }
.social-row { flex-wrap:wrap; }
.social-row a { min-height:44px; display:inline-flex; align-items:center; overflow-wrap:anywhere; }
.wrap,.ct-form-panel,.ct-intro,.cs-overview-grid > *, .about-grid > * { min-width:0; }
.cs-title,.cs-h2,.sec-title,.ct-title { overflow-wrap:anywhere; }
.field input,.field textarea { font-size:16px; }
.field input,.field textarea { border-color:#737c8b; }
.field-error { color:#ffb3b3; }
.menu-toggle { display:none; }
.privacy-consent { padding:8px 0; }
@media(max-width:900px) {
  nav,.nav-right { gap:12px; }
  .nav-links { gap:16px; }
  .ct-inner { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .menu-toggle { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; color:var(--text); background:transparent; border:1px solid #737c8b; border-radius:8px; font:inherit; }
  .nav-links { display:none; position:absolute; top:100%; left:0; right:0; padding:12px 6vw; background:#0b0f1a; border-bottom:1px solid var(--border2); flex-direction:column; gap:0; }
  .nav-links.is-open { display:flex; }
  .nav-links a { display:flex; align-items:center; min-height:48px; }
  nav { padding:10px 6vw; }
  .nav-back { font-size:.7rem; letter-spacing:.04em; }
  .social-row { gap:8px 20px; }
  .social-row a:last-child { flex-basis:100%; }
  .social-row .sep { display:none; }
  .form-footer { flex-wrap:wrap; gap:16px; }
  .cs-tags { flex-wrap:wrap; }
  .cs-title { font-size:clamp(2.8rem,13vw,5rem); }
  .ct-inner { padding:28px 20px; }
}
@media (hover:none), (pointer:coarse), (max-width:700px) {
  #cur,#curR { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .fade { opacity:1!important; transform:none!important; }
  .blink,#cur,#curR { display:none!important; }
}
