@import url("/public/vuexy/fonts/public-sans.css");
/* Supara / Ekstrem — supplied Vuexy Bootstrap 5 foundation. */
:root { --brand:#7367f0; --brand-dark:#574bd1; --ink:#444050; --muted:#6d6b77; --canvas:#f8f7fa; --border:#e6e6e8; --soft:#eeecfd; --surface:#fff; --bs-body-font-family:"Public Sans","Segoe UI",Arial,sans-serif; }
html { font-size:16px; scroll-behavior:smooth; }
body { font-family:var(--bs-body-font-family); color:var(--ink); }
button,input,select,textarea { font:inherit; }
a { text-decoration:none; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #7367f0; outline-offset:4px; }
[hidden] { display:none !important; }
.icon-base { flex-shrink:0; font-size:1.25rem; }
.btn { gap:8px; min-height:42px; border-radius:7px; font-weight:600; }
.btn-primary { background:var(--brand); border-color:var(--brand); color:white; box-shadow:0 2px 6px #7367f044; }
.btn-primary:hover { background:var(--brand-dark); border-color:var(--brand-dark); }
.form-control,.form-select { min-height:46px; border-color:#d5d3d8; border-radius:7px; color:var(--ink); font-size:1rem; }
.form-control:focus,.form-select:focus { border-color:var(--brand); box-shadow:0 0 0 3px #7367f01f; }
.skip-link { position:fixed; top:-100px; left:20px; padding:12px 18px; z-index:10000; background:white; color:var(--brand); }
.skip-link:focus { top:12px; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
