/* Start custom CSS for html, class: .elementor-element-b924836 *//* =====================================================================
   BASE / SHARED — variables, resets, typography helpers, focus states,
   scrollbar and container. Duplicated from header.html so this file
   renders correctly on its own; drop this block if pasting footer.html
   into the combined page.
   ===================================================================== */
:root{
  --ink:#0a0a0b;
  --charcoal:#151517;
  --panel:#1c1c1f;
  --panel-2:#232326;
  --line:#2a2a2e;
  --line-soft:#232327;
  --volt:#c6ff3d;
  --volt-dim:#9fd92e;
  --volt-soft:rgba(198,255,61,.1);
  --paper:#f5f5f2;
  --grey:#9a9a9f;
  --grey-dim:#6b6b70;
  --radius:2px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:'Archivo',sans-serif;
  overflow-x:hidden;
}
::selection{background:var(--volt);color:var(--ink);}

.display{
  font-family:'Anton',sans-serif;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:.92;
}
.mono{
  font-family:'JetBrains Mono',monospace;
  letter-spacing:.04em;
}
a{color:inherit;text-decoration:none;}
.text-grey{color:var(--grey);}
.text-grey-dim{color:var(--grey-dim);}

/* ===== Focus visibility ===== */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--volt);
  outline-offset:3px;
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--ink);}
::-webkit-scrollbar-thumb{background:var(--line);}

.container-xl{max-width:1320px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px);width:100%;}

/* ===== Footer ===== */
footer{background:var(--ink);border-top:1px solid var(--line);padding:70px 0 26px;}
footer .brand-mark{margin-bottom:20px;display:inline-flex;align-items:center;}
footer .brand-mark img{height:34px;width:auto;display:block;}
footer h4{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-dim);margin-bottom:18px;}
footer ul{list-style:none;padding:0;margin:0;}
footer ul li{margin-bottom:11px;}
footer ul li a{color:var(--grey);font-size:.92rem;transition:color .2s ease;}
footer ul li a:hover{color:var(--volt);}
.footer-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:24px;font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--grey-dim);letter-spacing:.03em;}
.social-row a{
  width:38px;height:38px;border:1px solid var(--line);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;margin-right:10px;
  color:var(--grey);transition:.25s ease;
}
.social-row a:hover{border-color:var(--volt);color:var(--volt);transform:translateY(-3px);}

/* ===== Accessibility widget ===== */
.a11y-btn{
  position:fixed;right:22px;bottom:22px;z-index:1200;
  width:52px;height:52px;border-radius:50%;
  background:var(--volt);border:none;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  cursor:pointer;
  transition:transform .25s ease;
}
.a11y-btn:hover{transform:scale(1.08);}
.a11y-btn img{width:24px;height:24px;}
.a11y-btn img.spin{animation:spin 6s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.a11y-panel{
  position:fixed;right:22px;bottom:86px;z-index:1200;
  width:240px;background:var(--charcoal);border:1px solid var(--line);
  padding:18px;
  transform:translateY(12px) scale(.96);opacity:0;visibility:hidden;pointer-events:none;
  transition:.25s ease;
}
.a11y-panel.open{transform:translateY(0) scale(1);opacity:1;visibility:visible;pointer-events:auto;}
.a11y-panel h5{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--volt);margin-bottom:14px;}
.a11y-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:.84rem;color:var(--grey);}
.a11y-row:last-child{border-bottom:none;}
.a11y-toggle{width:36px;height:20px;background:var(--line);border-radius:20px;position:relative;cursor:pointer;border:none;flex-shrink:0;}
.a11y-toggle::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--paper);transition:.2s ease;}
.a11y-toggle.on{background:var(--volt);}
.a11y-toggle.on::after{transform:translateX(16px);background:var(--ink);}

/* High-contrast mode toggled by accessibility widget */
body.high-contrast{background:#000;}
body.high-contrast .display, body.high-contrast p, body.high-contrast span, body.high-contrast a{color:#fff !important;}
body.high-contrast .spec-card img, body.high-contrast .about-figure img, body.high-contrast .listing-img-wrap img{filter:contrast(1.3) !important;}

/* ===== Back to top ===== */
.back-top{
  position:fixed;left:22px;bottom:22px;z-index:1150;
  width:44px;height:44px;border-radius:50%;
  background:var(--charcoal);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--grey);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:.3s ease;
}
.back-top.show{opacity:1;visibility:visible;transform:none;}
.back-top:hover{border-color:var(--volt);color:var(--volt);}/* End custom CSS */