/* ==========================================================================
   DroneEAR AI — public site styles
   ========================================================================== */

:root{
  --bg:#04070e;
  --panel:#0b1320;
  --panel-solid:#0c1422;
  --line:#1e2a3d;
  --text:#e6edf6;
  --muted:#8fa3bd;
  --cyan:#35d0e0;
  --nato2:#2f6fe0;
  --green:#3fb950;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --trk-airliner:#35d0e0;
  --trk-helo:#4a9eff;
  --trk-mil:#e05353;
  --trk-unknown:#8fa3bd;
  --apt:#ffd740;
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  background:var(--bg);
  color:var(--text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{
  left:8px;top:8px;background:var(--panel-solid);padding:8px 12px;
  z-index:999;border-radius:6px;
}

.btn{
  display:inline-block;
  padding:9px 16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  color:var(--text);
  font:600 14px/1 var(--mono);
  letter-spacing:.5px;
  cursor:pointer;
  text-decoration:none;
  transition:border-color .15s, background .15s, color .15s;
}
.btn:hover{border-color:var(--nato2);text-decoration:none}
.btn.primary{background:var(--nato2);border-color:var(--nato2);color:#fff}
.btn.primary:hover{background:#255bc4}
.btn-lg{padding:13px 30px;font-size:15px}

.lwrap{max-width:1100px;margin:0 auto;padding:0 22px}

/* ===== Nav ===== */
.lnav{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 22px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(9,15,26,.96),rgba(6,10,18,.9));
  position:sticky;top:0;z-index:20;
}
.lnav .brand{display:flex;align-items:center}
.brand-link{display:flex;align-items:center;color:inherit;text-decoration:none}
.brand-link:hover{text-decoration:none}
.brand-logo{
  margin-right:10px;vertical-align:middle;width:42px;height:42px;
  object-fit:cover;border-radius:8px;flex:0 0 auto;
}
.brand-name{font-size:18px;letter-spacing:2px;margin:0;display:inline-block;vertical-align:middle;color:var(--text)}
.navbtns{display:flex;align-items:center;gap:8px;flex-shrink:0}

@media(max-width:820px){
  .lnav{flex-wrap:wrap;gap:10px;padding:12px 16px}
  .brand-logo{width:34px;height:34px;margin-right:8px!important;border-radius:6px}
  .brand-name{font-size:15px!important;letter-spacing:1px!important}
  .navbtns .btn{padding:8px 12px;font-size:14px}
}
@media(max-width:520px){
  .lnav{justify-content:center;text-align:center}
  .navbtns{width:100%;justify-content:center;flex-wrap:wrap}
  .navbtns .btn{flex:1 1 0;text-align:center;white-space:nowrap}
}

.langswitch{
  display:inline-flex;align-items:center;
  border:1px solid var(--line);border-radius:8px;overflow:hidden;
  background:var(--panel);margin-right:6px;
}
.langbtn{
  padding:7px 12px;font:700 12px var(--mono);letter-spacing:1px;
  color:var(--muted);text-decoration:none;transition:background .15s,color .15s;
}
.langbtn:hover{background:rgba(47,111,224,.14);color:var(--text);text-decoration:none}
.langbtn.on{background:var(--nato2);color:#fff}
@media(max-width:520px){.langswitch{margin-right:0}}

/* ===== Hero ===== */
.hero{text-align:center;padding:0 0 44px;position:relative;overflow:hidden;background:#04070e}
.heromast{display:block;width:100%}
.heromast img{display:block;width:100%;height:auto}
.heroinner{padding:34px 22px 0}
.herogrid{
  display:grid;grid-template-columns:minmax(0,1fr) 460px;
  gap:34px;align-items:center;max-width:1060px;margin:0 auto;text-align:left;
}
.hero h2{font-size:40px;letter-spacing:1px;margin:14px 0 8px;color:var(--text)}
.hero .tag{color:var(--cyan);font:700 13px var(--mono);letter-spacing:3px}
.hero p.lead{color:var(--muted);font-size:17px;max-width:720px;margin:10px 0 26px;line-height:1.6}
.cta{display:flex;gap:14px;justify-content:flex-start;flex-wrap:wrap}
.cta .btn{padding:13px 26px;font-size:15px}
.cta-center{justify-content:center}

@media(max-width:980px){
  .herogrid{grid-template-columns:1fr;gap:20px;text-align:center}
  .cta{justify-content:center}
  .hero h2{font-size:30px}
  .hero p.lead{margin-left:auto;margin-right:auto}
}

.livebadge{
  display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;
  background:rgba(10,30,20,.62);border:1px solid #235c3a;border-radius:22px;
  padding:7px 16px;color:#8fe0a6;font:600 12px var(--mono);letter-spacing:1.4px;
}
.livebadge .dot{
  width:9px;height:9px;border-radius:50%;background:var(--green);flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(63,185,80,.7);animation:livePulse 2.4s ease-out infinite;
}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(63,185,80,.65)}
  70%{box-shadow:0 0 0 11px rgba(63,185,80,0)}
  100%{box-shadow:0 0 0 0 rgba(63,185,80,0)}
}
@media(prefers-reduced-motion:reduce){
  .livebadge .dot{animation:none}
  .sweep{animation:none;opacity:0}
}

.honest{
  max-width:820px;margin:24px auto 0;
  background:rgba(30,22,10,.6);border:1px solid #3a2c16;border-radius:10px;
  padding:11px 16px;color:#f0cf9a;font-size:14px;text-align:left;
}

/* ===== Scope ===== */
.scope{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;position:relative}
.scope-hd{
  display:flex;justify-content:space-between;align-items:center;
  font:600 11px var(--mono);color:var(--muted);letter-spacing:1.2px;
  margin-bottom:8px;gap:8px;flex-wrap:wrap;
}
.scope-tag{color:var(--cyan)}
.scope-axis{cursor:help;text-align:center;flex:1 1 auto;font-size:10.5px}
.scope-live{color:#8fe0a6;display:inline-flex;align-items:center;gap:6px}
.scope-live i{
  width:7px;height:7px;border-radius:50%;background:var(--green);
  display:inline-block;animation:livePulse 2.4s ease-out infinite;
}

.scope-ctrl{
  display:flex;flex-wrap:wrap;gap:10px 18px;
  padding:8px 12px;margin-bottom:10px;
  background:rgba(5,10,19,.7);border:1px solid var(--line);border-radius:8px;
  font-size:12px;
}
.scope-ctrl-group{display:flex;align-items:center;gap:8px;flex:1 1 auto}
.scope-ctrl-label{color:var(--muted);font:700 10px var(--mono);letter-spacing:1.5px;white-space:nowrap}
.scope-ctrl-btns{display:flex;flex-wrap:wrap;gap:4px}
.scope-ctrl-btns button{
  background:rgba(47,111,224,.08);border:1px solid var(--line);color:var(--muted);
  border-radius:6px;padding:4px 9px;font:600 11px var(--mono);letter-spacing:.3px;
  cursor:pointer;transition:background .15s, color .15s, border-color .15s;
}
.scope-ctrl-btns button:hover{
  background:rgba(47,111,224,.18);color:var(--text);border-color:var(--nato2);
}
.scope-ctrl-btns button.on{
  background:var(--nato2);color:#fff;border-color:var(--nato2);
}
@media(max-width:820px){
  .scope-ctrl{font-size:11px;gap:8px 12px;padding:6px 8px}
  .scope-ctrl-label{font-size:9px}
  .scope-ctrl-btns button{font-size:10px;padding:3px 7px}
}
@media(max-width:520px){
  .scope-ctrl-group{flex:1 1 100%}
  .scope-ctrl-label{min-width:60px}
}

.scope-airport{
  display:flex;align-items:center;gap:8px;padding:6px 12px;margin-bottom:8px;
  background:linear-gradient(90deg,rgba(53,208,224,.10),rgba(53,208,224,0));
  border-left:2px solid var(--cyan);border-radius:4px;
  font:600 11px var(--mono);letter-spacing:1px;
}
.scope-airport-icon{color:var(--cyan);font-size:14px}
.scope-airport-code{color:var(--cyan);font-weight:700;letter-spacing:1.5px}
.scope-airport-name{color:var(--muted)}

.scope-face{
  position:relative;aspect-ratio:600/400;background:#050a13;
  border:1px solid var(--line);border-radius:8px;overflow:hidden;
  cursor:zoom-in;transition:box-shadow .2s;
}
.scope-face:hover{
  box-shadow:0 0 0 2px rgba(53,208,224,.4), 0 0 20px rgba(53,208,224,.2);
}
.scope-face::after{
  content:"Klik pre fullscreen";
  position:absolute;right:8px;bottom:8px;
  background:rgba(4,7,14,.85);color:var(--cyan);
  font:600 10px var(--mono);letter-spacing:1px;
  padding:4px 8px;border:1px solid var(--line);border-radius:4px;
  opacity:0;transition:opacity .2s;pointer-events:none;z-index:10;
}
.scope-face:hover::after{opacity:1}
@media(max-width:820px){.scope-face::after{font-size:9px;padding:3px 6px}}

.scope-grid{position:absolute;inset:0;width:100%;height:100%}
.scope-grid .band{fill:none;stroke:rgba(53,208,224,.32);stroke-width:1.2;filter:drop-shadow(0 0 1px rgba(53,208,224,.5))}
.scope-grid .bandlab{fill:rgba(53,208,224,.75);font:700 10px var(--mono);text-anchor:middle;letter-spacing:.5px;paint-order:stroke;stroke:rgba(5,10,19,.9);stroke-width:2px;stroke-linejoin:round}
.scope-grid .cross{stroke:rgba(53,208,224,.22);stroke-width:1;stroke-dasharray:2 3}
.scope-grid .tick{stroke:rgba(53,208,224,.28);stroke-width:1}
.scope-grid .tick.major{stroke:rgba(53,208,224,.65);stroke-width:2}
.scope-grid .tlab{fill:var(--cyan);font:700 11px var(--mono);text-anchor:middle;letter-spacing:1px;paint-order:stroke;stroke:rgba(5,10,19,.95);stroke-width:2.5px;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(53,208,224,.5))}
.scope-grid .hub-outer{fill:none;stroke:rgba(53,208,224,.35);stroke-width:1}
.scope-grid .hub{fill:var(--cyan);filter:drop-shadow(0 0 4px rgba(53,208,224,.9))}

.sweep{position:absolute;inset:0;pointer-events:none;border-radius:8px;transform-origin:50% 50%;animation:sweep 6s linear infinite;opacity:0}
.sweep-1{background:conic-gradient(from 0deg at 50% 50%,rgba(53,208,224,0) 0deg,rgba(53,208,224,0) 30deg,rgba(53,208,224,.35) 55deg,rgba(53,208,224,.05) 60deg,rgba(53,208,224,0) 62deg)}
.sweep-2{background:conic-gradient(from 0deg at 50% 50%,rgba(53,208,224,0) 0deg,rgba(53,208,224,0) 15deg,rgba(53,208,224,.18) 55deg,rgba(53,208,224,0) 62deg);animation-delay:.15s}
.sweep-3{background:conic-gradient(from 0deg at 50% 50%,rgba(53,208,224,0) 0deg,rgba(53,208,224,0) 0deg,rgba(53,208,224,.08) 55deg,rgba(53,208,224,0) 62deg);animation-delay:.30s}
@keyframes sweep{
  0%{transform:rotate(0deg);opacity:0}
  5%{opacity:1}
  95%{opacity:1}
  100%{transform:rotate(360deg);opacity:0}
}

.compass{position:absolute;inset:0;pointer-events:none;font:700 12px var(--mono);color:var(--cyan);letter-spacing:1.5px;z-index:3}
.compass span{position:absolute;text-shadow:0 0 6px rgba(53,208,224,.7),0 1px 3px rgba(0,0,0,.95)}
.compass .c-n{top:4px;left:50%;transform:translateX(-50%)}
.compass .c-e{right:6px;top:50%;transform:translateY(-50%)}
.compass .c-s{bottom:4px;left:50%;transform:translateX(-50%)}
.compass .c-w{left:6px;top:50%;transform:translateY(-50%)}

/* ===== Blipy ===== */
.trkwrap{position:absolute;inset:0;pointer-events:none}
.trk{
  position:absolute;width:16px;height:16px;
  transform:translate(-50%,-50%) rotate(var(--rot, 0deg));
  left:var(--x,50%);top:var(--y,50%);
  transition:left 1.2s ease-out, top 1.2s ease-out;
  z-index:6;
}
.trk::before{
  content:"";position:absolute;inset:0;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  filter:drop-shadow(0 0 4px currentColor);
}
.trk.auth{color:var(--trk-airliner);width:16px;height:16px}
.trk.auth::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2335d0e0'><path d='M12 2 L14 10 L22 12 L14 13 L13 21 L12 22 L11 21 L10 13 L2 12 L10 10 Z'/></svg>")}
.trk.helo{color:var(--trk-helo);width:12px;height:12px}
.trk.helo::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234a9eff'><circle cx='12' cy='12' r='3'/><rect x='2' y='11' width='20' height='2'/><rect x='11' y='2' width='2' height='20'/></svg>")}
.trk.mil{color:var(--trk-mil);width:16px;height:16px}
.trk.mil::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e05353'><path d='M12 2 L14 10 L22 12 L14 13 L13 21 L12 22 L11 21 L10 13 L2 12 L10 10 Z'/></svg>")}
.trk.unknown{color:var(--trk-unknown);width:8px;height:8px}
.trk.unknown::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238fa3bd'><circle cx='12' cy='12' r='6'/></svg>")}

.trk-label{
  position:absolute;transform:translate(-50%,0);
  left:var(--x,50%);top:var(--y,50%);
  margin-top:14px;padding-left:9px;
  font:600 9px var(--mono);color:var(--text);
  white-space:nowrap;pointer-events:none;text-align:left;
  line-height:1.2;letter-spacing:.3px;z-index:6;
  text-shadow:0 1px 2px rgba(0,0,0,.95);
}
.trk-label .cs{display:block;font-weight:700;letter-spacing:.4px}
.trk-label.auth .cs{color:var(--trk-airliner)}
.trk-label.helo .cs{color:var(--trk-helo)}
.trk-label.mil .cs{color:var(--trk-mil)}
.trk-label.unknown .cs{color:var(--trk-unknown)}
.trk-label .alt{display:block;color:var(--muted);font-size:8px;letter-spacing:.2px;margin-top:1px}
@media(max-width:820px){
  .trk-label{font-size:8px;margin-top:12px}
  .trk-label .alt{font-size:7px}
}
@media(max-width:520px){
  .trk-label{font-size:7px;padding-left:7px}
  .trk-label .alt{display:none}
}

/* ===== Scope footer ===== */
.scope-ft{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
  font:600 10.5px var(--mono);color:var(--muted);letter-spacing:.8px;margin-top:8px;
}
.scope-key i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
.scope-key i.k-auth{background:var(--trk-airliner)}
.scope-key i.k-helo{background:var(--trk-helo)}
.scope-key i.k-mil{background:var(--trk-mil)}
.scope-key i.k-unknown{background:var(--trk-unknown)}

.mono{font-family:var(--mono)}

/* ===== Sections ===== */
.sect{padding:34px 0;border-top:1px solid var(--line)}
.sect h3{
  color:var(--cyan);font:700 13px var(--mono);letter-spacing:2px;
  text-transform:uppercase;margin:0 0 14px;
}
.sect .body-p{color:#cfe0f4;font-size:14.5px;line-height:1.6;margin:0 0 12px}
.sect .muted-p{color:#8fb0d8;font-size:14px;line-height:1.6;margin:0 0 12px}
.sect .body-p b,.sect .muted-p b{color:var(--text)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.lcard h4{margin:0 0 6px;color:var(--text);font-size:15px}
.lcard p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.lcard .ic{font-size:22px;color:var(--nato2);display:block;margin-bottom:6px}

.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.two p{color:#cfe0f4;font-size:14.5px;line-height:1.6;margin:0}

.stdtable{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}
.stdtable th,.stdtable td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.stdtable th{background:rgba(47,111,224,.14);color:var(--text)}
.stdtable td{color:var(--muted)}
.w-stage{width:118px}
.w-status{width:104px}
.status-built{color:var(--green)}

.prov{max-width:820px;margin:14px auto 0;color:var(--muted);font-size:14px;text-align:center}
.prov a{color:var(--text);text-decoration:underline;text-underline-offset:3px}

@media(max-width:820px){
  .cards{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .hero h2{font-size:30px}
}

/* ===== Page header ===== */
.pagehead{
  padding:44px 0 20px;
  background:linear-gradient(180deg,rgba(9,15,26,.6),rgba(4,7,14,0));
  border-bottom:1px solid var(--line);margin-bottom:26px;
}
.pagehead h1{font-size:34px;letter-spacing:1.5px;margin:0 0 8px;color:var(--text)}
.pagehead .lead{color:var(--muted);font-size:16px;max-width:760px;margin:0;line-height:1.6}
@media(max-width:820px){
  .pagehead{padding:28px 0 16px}
  .pagehead h1{font-size:26px}
}
.pagebody{padding-bottom:60px}

.infoblock{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 24px}
.infoblock h3{color:var(--cyan);font:700 12px var(--mono);letter-spacing:2px;text-transform:uppercase;margin:0 0 10px}
.infoblock h3:not(:first-child){margin-top:22px}
.infoblock p{color:#cfe0f4;font-size:14.5px;line-height:1.65;margin:0 0 8px}
.infoblock a{color:var(--cyan)}
.infoblock .muted.small{color:var(--muted);font-size:12px}
.infoblock .mono{font-family:var(--mono)}

.contactform{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.contactform label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font:600 12px var(--mono);letter-spacing:1px;text-transform:uppercase}
.contactform input,.contactform textarea{
  background:#0a1220;border:1px solid var(--line);border-radius:8px;
  padding:11px 13px;color:var(--text);
  font:400 14px system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  letter-spacing:normal;text-transform:none;
}
.contactform input:focus,.contactform textarea:focus{outline:none;border-color:var(--nato2)}
.contactform textarea{resize:vertical;min-height:120px}
.contactform .btn{align-self:flex-start}

.alert{border-radius:10px;padding:12px 16px;font-size:14.5px;margin-bottom:20px}
.alert-ok{background:rgba(10,30,20,.62);border:1px solid #235c3a;color:#8fe0a6}
.alert-err{background:rgba(40,15,15,.65);border:1px solid #5a2424;color:#f4a0a0}

.prose{max-width:820px}
.prose h2{color:var(--cyan);font:700 14px var(--mono);letter-spacing:2px;text-transform:uppercase;margin:32px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{color:#cfe0f4;font-size:14.5px;line-height:1.7;margin:0 0 14px}
.prose b{color:var(--text)}
.prose a{color:var(--cyan)}
.prose ul{margin:0 0 14px;padding-left:22px}
.prose li{color:#cfe0f4;font-size:14.5px;line-height:1.7;margin-bottom:6px}

/* ===== Footer ===== */
.lfoot{
  border-top:1px solid var(--line);padding:22px;text-align:center;
  color:var(--muted);font-size:14px;margin-top:20px;
}
.lfoot a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.legal{max-width:820px;margin:0 auto 14px;text-align:left;line-height:1.6}
.legal b{color:var(--text)}

/* ===== Small-text guard ===== */
.lnav .btn,.navbtns .btn,.sect h3,section h3,div>h3,
.livebadge,.scope-hd,.scope-ft,.scope-key,.scope-axis,.scope-live{font-size:14px}
@media(max-width:560px){
  .sect h3,section h3,div>h3{font-size:14px}
}

/* ==========================================================================
   Letiská na hero scope — runway čiary so smerovaním
   ========================================================================== */
.apt{
  position:absolute;
  transform:translate(-50%,-50%) rotate(var(--rot, 0deg));
  left:var(--x,50%);top:var(--y,50%);
  display:flex;flex-direction:column;align-items:center;gap:0;
  pointer-events:none;z-index:3;
  font:700 8px var(--mono);
  color:var(--apt, #ffd740);
  text-shadow:0 0 4px rgba(0,0,0,.95),0 1px 2px rgba(0,0,0,1);
  opacity:.95;
}
.apt-rw-svg{
  display:block;
  width:100%;
  height:6px;
  overflow:visible;
  filter:drop-shadow(0 0 3px currentColor);
}
.apt-large .apt-rw-svg{height:8px;width:48px}
.apt-medium .apt-rw-svg{height:6px;width:38px}
.apt-small .apt-rw-svg{height:5px;width:28px}

.apt-code{
  display:block;
  font-size:8px;
  line-height:1;
  letter-spacing:.8px;
  color:var(--apt, #ffd740);
  font-weight:800;
  margin-top:2px;
  transform:rotate(calc(-1 * var(--rot, 0deg)));
}
.apt-name{
  display:block;
  font-size:7px;
  line-height:1;
  color:var(--apt, #ffd740);
  opacity:.85;
  margin-top:1px;
  font-weight:600;
  transform:rotate(calc(-1 * var(--rot, 0deg)));
}

.apt-hub{opacity:1;z-index:5}
.apt-hub .apt-rw-svg{
  height:10px;width:60px;
  filter:drop-shadow(0 0 8px var(--apt, #ffd740));
}
.apt-hub .apt-code{font-size:10px;letter-spacing:1.2px}
.apt-hub .apt-name{font-size:8px;opacity:1}

.apt-large{opacity:1}
.apt-medium{opacity:.95}
.apt-small{opacity:.7}
.apt-small .apt-name{display:none}

@media(max-width:820px){
  .apt-name{display:none}
  .apt-hub .apt-name{display:block;font-size:7px}
  .apt-large .apt-rw-svg{width:36px}
  .apt-medium .apt-rw-svg{width:28px}
  .apt-small .apt-rw-svg{width:22px}
  .apt-hub .apt-rw-svg{width:44px;height:8px}
}
/* ===== Naše projekty ===== */
.projects-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 22px;
}
.projects-list li{
  padding:8px 12px;
  border-left:2px solid var(--cyan);
  background:rgba(53,208,224,.04);
  border-radius:4px;
  line-height:1.5;
}
.projects-list a{color:var(--cyan);text-decoration:none}
.projects-list a:hover{text-decoration:underline}
.projects-list .muted{color:var(--muted);font-size:13px}
@media(max-width:820px){
  .projects-list{grid-template-columns:1fr}
}