/* ==========================================================================
   CodeCraft Workshops — Premium Dark Glassmorphism Design System
   Palette : --bg #0b0e1a | --surface #12172b | --blue #3b82f6
             --purple #8b5cf6 | --cyan #22d3ee | --ink #e6e9f5
   Type    : Space Grotesk (display) / Inter (body) / JetBrains Mono (code)
   ========================================================================== */

:root{
  --bg:#f4f8ff;
  --bg-alt:#edf5ff;
  --surface:#ffffff;
  --surface-2:#eef5ff;
  --border:rgba(15,23,42,.08);
  --border-strong:rgba(30,41,59,.12);
  --ink:#0f172a;
  --ink-dim:#334155;
  --ink-mute:#64748b;

  --blue:#0e5ee7;
  --purple:#3d7fff;
  --cyan:#12b8d6;
  --pink:#ec4899;

  --grad-primary:linear-gradient(135deg,#0f4fe8 0%,#1ca4dc 45%,#38d7ff 100%);
  --grad-primary-hover:linear-gradient(135deg,#12b8d6 0%,#2f72ff 55%,#0f4fe8 100%);
  --grad-text:linear-gradient(120deg,#0f4fe8 0%,#1ca4dc 50%,#18c5d8 100%);
  --grad-radial:radial-gradient(circle at 30% 20%,rgba(30,125,255,.12),transparent 60%);

  --shadow-soft:0 24px 60px -30px rgba(30,64,175,.22);
  --shadow-glow:0 0 0 1px rgba(14,94,231,.08),0 22px 48px -26px rgba(21,140,195,.28);

  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;

  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}

*{scroll-behavior:smooth;}
html{scroll-padding-top:90px;}

body{
  background:linear-gradient(180deg,#f9fbff 0%,#eff6ff 100%);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  font-weight:600;
  color:var(--ink);
  letter-spacing:-0.02em;
}

a{color:var(--ink);text-decoration:none;transition:.25s ease;}
a:hover{color:var(--cyan);}

.text-gradient{
  background:var(--grad-text);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.mono{font-family:var(--font-mono);}

section{position:relative;padding:110px 0;}
@media(max-width:768px){section{padding:70px 0;}}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-mono);
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cyan);
  padding:.4rem 1rem;
  border:1px solid var(--border-strong);
  border-radius:100px;
  background:rgba(34,211,238,.06);
  margin-bottom:1.25rem;
}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);}

.section-title{font-size:clamp(1.9rem,4vw,3rem);margin-bottom:1rem;}
.section-sub{color:var(--ink-dim);font-size:1.08rem;max-width:640px;}

/* ---------- Ambient background layers ---------- */
.bg-grid{
  position:fixed;inset:0;z-index:-3;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);
}
.bg-blob{position:fixed;border-radius:50%;filter:blur(110px);z-index:-2;opacity:.35;pointer-events:none;}
.blob-blue{width:520px;height:520px;background:var(--blue);top:-120px;left:-160px;}
.blob-purple{width:560px;height:560px;background:var(--purple);top:30%;right:-220px;}
.blob-cyan{width:460px;height:460px;background:var(--cyan);bottom:-160px;left:20%;opacity:.22;}

/* ---------- Preloader ---------- */
#preloader{
  position:fixed;inset:0;z-index:9999;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .5s ease,visibility .5s ease;
}
#preloader.loaded{opacity:0;visibility:hidden;}
.loader-glyph{
  font-family:var(--font-mono);font-size:2rem;font-weight:600;
  background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:pulseGlyph 1.1s ease-in-out infinite;
}
@keyframes pulseGlyph{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.15);opacity:.6;}}

/* ---------- Navbar ---------- */
.glass-nav{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--border);
  padding:.85rem 0;
  transition:.3s ease;
}
.glass-nav.scrolled{background:rgba(255,255,255,.88);padding:.55rem 0;box-shadow:0 10px 30px -15px rgba(30,64,175,.18);}
.navbar-brand{display:flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-weight:700;font-size:1.2rem;}
.brand-logo{
  width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(14,94,231,.18));
}
.footer-logo{width:54px;height:54px;}
.brand-mark{
  font-family:var(--font-mono);color:#fff;background:var(--grad-primary);
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;font-size:.85rem;
}
.nav-link{color:var(--ink-dim)!important;font-weight:500;font-size:.94rem;padding:.5rem 1rem!important;position:relative;}
.nav-link.active,.nav-link:hover{color:var(--ink)!important;}
.navbar-dark .navbar-toggler{border-color:var(--border-strong);}
.navbar-dark .navbar-toggler-icon{filter:invert(0.25) saturate(1.2);}
.nav-link.active::after{
  content:'';position:absolute;left:1rem;right:1rem;bottom:.15rem;height:2px;
  background:var(--grad-primary);border-radius:2px;
}

/* ---------- Buttons ---------- */
.btn-gradient{
  background:var(--grad-primary);
  color:#fff;border:none;font-weight:600;
  border-radius:100px;padding:.75rem 1.9rem;
  position:relative;overflow:hidden;
  box-shadow:0 10px 30px -10px rgba(139,92,246,.55);
  transition:transform .3s ease,box-shadow .3s ease;
}
.btn-gradient:hover{
  color:#fff;transform:translateY(-2px);
  box-shadow:0 14px 36px -8px rgba(34,211,238,.55);
}
.btn-outline-glass{
  background:rgba(255,255,255,.03);
  border:1px solid var(--border-strong);
  color:var(--ink);font-weight:600;border-radius:100px;
  padding:.75rem 1.9rem;backdrop-filter:blur(10px);
  transition:.3s ease;
}
.btn-outline-glass:hover{color:var(--ink);background:rgba(255,255,255,.08);border-color:var(--cyan);}
.btn-lg{padding:.95rem 2.4rem;font-size:1.02rem;}

/* ---------- Glass card ---------- */
.glass-card{
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.72));
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
  box-shadow:0 12px 28px -22px rgba(15,23,42,.18);
}
.glass-card:hover{transform:translateY(-6px);border-color:rgba(14,94,231,.28);box-shadow:var(--shadow-glow);}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  min-height:100vh;
  display:flex;align-items:center;
  padding-top:140px;padding-bottom:80px;
  position:relative;
  overflow:hidden;
}
.hero-badge{font-family:var(--font-mono);}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1.08;margin-bottom:1.3rem;}
.hero p.lead{color:var(--ink-dim);font-size:1.15rem;max-width:560px;}
.hero-stats{display:flex;gap:2.2rem;margin-top:2.5rem;flex-wrap:wrap;}
.hero-stats .stat-num{font-family:var(--font-display);font-size:1.9rem;font-weight:700;}
.hero-stats .stat-label{color:var(--ink-mute);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;}

/* Animated "code editor" visual used as the hero's signature element */
.code-window{
  background:rgba(14,18,38,.75);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(20px);
  transform:perspective(1000px) rotateY(-6deg) rotateX(2deg);
}
.code-window .cw-bar{
  display:flex;align-items:center;gap:.4rem;
  padding:.85rem 1.1rem;border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.02);
}
.cw-bar span{width:11px;height:11px;border-radius:50%;display:inline-block;}
.cw-bar span:nth-child(1){background:#ff5f56;}
.cw-bar span:nth-child(2){background:#ffbd2e;}
.cw-bar span:nth-child(3){background:#27c93f;}
.cw-bar .cw-title{margin-left:.7rem;color:var(--ink-mute);font-family:var(--font-mono);font-size:.78rem;}
.code-window pre{
  margin:0;padding:1.4rem;font-family:var(--font-mono);font-size:.86rem;line-height:1.75;
  color:#c9d1f0;min-height:300px;
}
.code-window .c-key{color:#c084fc;}
.code-window .c-str{color:#5eead4;}
.code-window .c-fn{color:#60a5fa;}
.code-window .c-com{color:#5b6284;}
.code-window .c-cursor{display:inline-block;width:8px;height:1.1em;background:var(--cyan);vertical-align:middle;animation:blink 1s step-end infinite;}
@keyframes blink{50%{opacity:0;}}

/* Video promo section */
.video-promo{
  border-radius:var(--radius-lg);overflow:hidden;position:relative;
  border:1px solid var(--border-strong);box-shadow:var(--shadow-soft);
  aspect-ratio:16/9;background:#000;
}
.video-promo iframe,.video-promo video{width:100%;height:100%;object-fit:cover;display:block;}
.video-play-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(59,130,246,.35),rgba(139,92,246,.35));
  cursor:pointer;
}
.play-btn{
  width:86px;height:86px;border-radius:50%;
  background:rgba(255,255,255,.12);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.4);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;
  transition:.3s ease;
}
.play-btn:hover{transform:scale(1.08);background:var(--grad-primary);}

/* ==========================================================================
   TECH GRID
   ========================================================================== */
.tech-card{padding:2rem 1.4rem;text-align:center;border-radius:var(--radius-md);}
.tech-card i,.tech-card .tech-glyph{font-size:2.1rem;margin-bottom:1rem;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.tech-card h6{margin-bottom:0;font-size:.95rem;}

/* ==========================================================================
   WHY CHOOSE / FEATURES
   ========================================================================== */
.feature-card{padding:2.1rem;border-radius:var(--radius-md);height:100%;}
.feature-icon{
  width:54px;height:54px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--grad-primary);color:#fff;font-size:1.25rem;margin-bottom:1.25rem;
}

/* ==========================================================================
   ROADMAP / TIMELINE
   ========================================================================== */
.roadmap{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding-left:0;
}
.roadmap::before{
  content:'';position:absolute;left:22px;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--blue),var(--purple),var(--cyan));
  opacity:.7;
  z-index:0;
}
@media(min-width:992px){
  .roadmap::before{left:50%;transform:translateX(-50%);} 
}
.roadmap-item{
  position:relative;
  display:block;
  width:100%;
  padding-left:72px;
  margin-bottom:1rem;
  opacity:1 !important;
  z-index:1;
}
@media(min-width:992px){
  .roadmap-item{width:50%;padding-left:0;padding-right:56px;text-align:right;}
  .roadmap-item:nth-child(even){margin-left:50%;padding-right:0;padding-left:56px;text-align:left;}
}
.roadmap-item .glass-card{position:relative;z-index:1;}
.roadmap-num{
  position:absolute;left:0;top:12px;
  width:48px;height:48px;border-radius:50%;
  background:var(--grad-primary);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:600;color:#fff;
  box-shadow:0 0 0 6px var(--bg);
  z-index:2;
}
@media(min-width:992px){
  .roadmap-num{left:auto;right:-24px;top:20px;}
  .roadmap-item:nth-child(even) .roadmap-num{right:auto;left:-24px;}
}

/* ==========================================================================
   CERTIFICATE PREVIEW
   ========================================================================== */
.cert-frame{
  border-radius:var(--radius-lg);
  border:1px solid var(--border-strong);
  padding:3px;background:var(--grad-primary);
  box-shadow:var(--shadow-soft);
}
.cert-inner{
  background:var(--surface);border-radius:calc(var(--radius-lg) - 3px);
  padding:2.8rem;text-align:center;position:relative;overflow:hidden;
}
.cert-inner::before{
  content:'';position:absolute;inset:14px;border:1px dashed var(--border-strong);border-radius:16px;pointer-events:none;
}
.cert-seal{
  width:70px;height:70px;border-radius:50%;margin:0 auto 1rem;
  background:var(--grad-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;
}

.cert-image-card{
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(240,247,255,.94));
  border:1px solid var(--border-strong);
  border-radius:var(--radius-lg);
  padding:16px;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.cert-image-card img{
  display:block;
  width:100%;
  height:auto;
  border-radius:16px;
  border:1px solid rgba(14,94,231,.12);
  object-fit:cover;
  background:#eef6ff;
}
.cert-badge{
  position:absolute;
  top:28px;
  right:28px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(14,94,231,.14);
  border-radius:999px;
  color:var(--ink);
  font-size:.72rem;
  font-family:var(--font-mono);
  font-weight:600;
  padding:.42rem .8rem;
  backdrop-filter:blur(12px);
}

/* ==========================================================================
   GALLERY / TESTIMONIALS (Swiper)
   ========================================================================== */
.gallery-slide{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;position:relative;border:1px solid var(--border);}
.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.gallery-slide:hover img{transform:scale(1.08);}
.gallery-slide .gs-tag{
  position:absolute;left:12px;bottom:12px;
  background:rgba(11,14,26,.75);backdrop-filter:blur(6px);
  padding:.35rem .8rem;border-radius:100px;font-size:.78rem;font-family:var(--font-mono);color:var(--cyan);
  border:1px solid var(--border);
}

.testimonial-card{padding:2.2rem;border-radius:var(--radius-md);height:100%;}
.testimonial-quote{color:var(--ink-dim);font-style:italic;margin-bottom:1.4rem;}
.testimonial-avatar{
  width:50px;height:50px;border-radius:50%;
  background:var(--grad-primary);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;color:#fff;
}
.rating i{color:#facc15;font-size:.85rem;}

.swiper-pagination-bullet{background:var(--ink-mute);opacity:.6;}
.swiper-pagination-bullet-active{background:var(--cyan);opacity:1;}
.swiper-button-next,.swiper-button-prev{color:var(--cyan)!important;}
.swiper-button-next:after,.swiper-button-prev:after{font-size:1.3rem!important;}

/* ==========================================================================
   FAQ (accordion)
   ========================================================================== */
.faq-accordion .accordion-item{
  background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--radius-sm)!important;
  margin-bottom:1rem;overflow:hidden;
}
.faq-accordion .accordion-button{
  background:transparent;color:var(--ink);font-family:var(--font-display);font-weight:600;
  box-shadow:none!important;padding:1.15rem 1.4rem;
}
.faq-accordion .accordion-button:not(.collapsed){color:var(--cyan);}
.faq-accordion .accordion-button::after{filter:invert(1) brightness(2);}
.faq-accordion .accordion-body{color:var(--ink-dim);padding:0 1.4rem 1.3rem;}

/* ==========================================================================
   FORMS
   ========================================================================== */
.form-control,.form-select{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border-strong);
  color:var(--ink);border-radius:var(--radius-sm);
  padding:.75rem 1rem;
}
.form-control:focus,.form-select:focus{
  background:rgba(255,255,255,.06);border-color:var(--cyan);color:var(--ink);
  box-shadow:0 0 0 4px rgba(34,211,238,.12);
}
.form-control::placeholder{color:var(--ink-mute);}
.form-label{color:var(--ink-dim);font-size:.88rem;font-weight:500;margin-bottom:.4rem;}
.form-select option{background:var(--surface);color:var(--ink);}
.form-check-input{background-color:rgba(255,255,255,.05);border-color:var(--border-strong);}
.form-check-input:checked{background-color:var(--purple);border-color:var(--purple);}
.invalid-feedback{color:#fb7185;}
.form-control.is-invalid,.form-select.is-invalid{border-color:#fb7185;}

.registration-panel{
  border-radius:var(--radius-lg);border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  backdrop-filter:blur(18px);padding:2.6rem;
}
@media(max-width:576px){.registration-panel{padding:1.6rem;}}

.alert-glass{
  border-radius:var(--radius-sm);border:1px solid var(--border-strong);
  background:rgba(34,211,238,.08);color:var(--ink);
}
.alert-glass.alert-success{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.08);}
.alert-glass.alert-danger{border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.08);}

/* ==========================================================================
   MISC SECTION HELPERS
   ========================================================================== */
.section-alt{background:var(--bg-alt);}
.badge-pill{
  background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.35);
  color:#c4b5fd;padding:.35rem .9rem;border-radius:100px;font-size:.78rem;font-family:var(--font-mono);
}
.stat-block{text-align:center;padding:1.5rem;}
.stat-block .num{font-family:var(--font-display);font-size:2.6rem;font-weight:700;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat-block .lbl{color:var(--ink-mute);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;}

.divider-grad{height:1px;background:linear-gradient(90deg,transparent,var(--border-strong),transparent);border:none;margin:0;}

.team-card{text-align:center;padding:2rem 1.4rem;border-radius:var(--radius-md);}
.team-avatar{
  width:96px;height:96px;border-radius:50%;margin:0 auto 1.1rem;
  background:var(--grad-primary);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:#fff;
}

.value-card{padding:2rem;border-radius:var(--radius-md);text-align:center;}

.map-frame{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-strong);filter:grayscale(.3) invert(.92) contrast(.9);}

.contact-info-item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.6rem;}
.contact-info-icon{
  width:46px;height:46px;flex:none;border-radius:12px;
  background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);
  display:flex;align-items:center;justify-content:center;color:var(--cyan);
}

/* Provide / Require checklist */
.check-list{list-style:none;padding:0;margin:0;}
.check-list li{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.9rem;color:var(--ink-dim);}
.check-list li i{color:var(--cyan);margin-top:.25rem;}

.duration-card{padding:2.2rem;border-radius:var(--radius-md);text-align:center;position:relative;}
.duration-card.popular{border-color:rgba(139,92,246,.55);}
.duration-card .pop-tag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--grad-primary);color:#fff;font-size:.72rem;padding:.3rem .9rem;border-radius:100px;font-family:var(--font-mono);
}

/* Back to top button */
#backToTop{
  position:fixed;right:24px;bottom:24px;z-index:900;
  width:46px;height:46px;border-radius:50%;border:1px solid var(--border-strong);
  background:rgba(18,23,43,.85);backdrop-filter:blur(10px);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s ease;
}
#backToTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backToTop:hover{background:var(--grad-primary);border-color:transparent;}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--bg-alt);border-top:1px solid var(--border);padding-top:2rem;}
.footer-about{color:var(--ink-mute);font-size:.92rem;max-width:340px;}
.footer-heading{font-family:var(--font-display);font-size:.92rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:1.1rem;}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{margin-bottom:.7rem;color:var(--ink-mute);font-size:.92rem;}
.footer-links a{color:var(--ink-mute);}
.footer-links a:hover{color:var(--cyan);}
.footer-divider{border-color:var(--border);margin:0;}
.social-links{display:flex;gap:.7rem;margin-top:1.3rem;}
.social-links a{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:center;color:var(--ink-dim);font-size:.9rem;
  transition:.3s ease;
}
.social-links a:hover{background:var(--grad-primary);border-color:transparent;color:#fff;}

/* ==========================================================================
   PAGE HEADER (for inner pages)
   ========================================================================== */
.page-header{padding:170px 0 90px;text-align:center;}
.page-header .eyebrow{margin-bottom:1.2rem;}
.page-header h1{font-size:clamp(2.1rem,4.6vw,3.4rem);}
.breadcrumb-trail{color:var(--ink-mute);font-family:var(--font-mono);font-size:.85rem;}
.breadcrumb-trail a{color:var(--ink-mute);}
.breadcrumb-trail a:hover{color:var(--cyan);}

/* ==========================================================================
   UTILITIES
   ========================================================================== */
.fw-display{font-family:var(--font-display);}
::selection{background:var(--purple);color:#fff;}
.lazy-img{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* Focus visibility for accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--cyan);outline-offset:2px;
}
