* { box-sizing: border-box; margin: 0; padding: 0; cursor: none !important; }

/* Custom scroll bar — Effect 3 redesigned */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0a1628; }
::-webkit-scrollbar-thumb { background: #00c896; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #04a87a; }

/* Top progress bar */
#scroll-bar { position: fixed; top: 0; left: 0; height: 3px; background: linear-gradient(90deg,#00c896,#04a87a,#00c896); background-size: 200% 100%; width: 0%; z-index: 999998; border-radius: 0 2px 2px 0; box-shadow: 0 0 10px rgba(0,200,150,0.6); }

/* Custom cursor */
#custom-cursor { position: fixed; pointer-events: none; z-index: 999999; }
#cursor-dot { width: 8px; height: 8px; background: #00c896; border-radius: 50%; position: absolute; transform: translate(-50%,-50%); transition: width 0.15s, height 0.15s; }
#cursor-ring { width: 28px; height: 28px; border: 1.5px solid rgba(0,200,150,0.55); border-radius: 50%; position: absolute; transform: translate(-50%,-50%); transition: width 0.25s, height 0.25s, border-color 0.2s; }
#custom-cursor.hovering #cursor-dot { width: 11px; height: 11px; }
#custom-cursor.hovering #cursor-ring { width: 40px; height: 40px; border-color: rgba(0,200,150,0.85); }
#custom-cursor.clicking #cursor-dot { width: 5px; height: 5px; }

/* Pulse */
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(0,200,150,0.6)}70%{box-shadow:0 0 0 8px rgba(0,200,150,0)}100%{box-shadow:0 0 0 0 rgba(0,200,150,0)} }
.pulse-dot { animation: pulse 2s infinite; }

/* Fade up */
@keyframes fadeUp { from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)} }
.fu1{opacity:0;animation:fadeUp 0.55s ease forwards 0.1s}
.fu4{opacity:0;animation:fadeUp 0.55s ease forwards 0.7s}
.fu5{opacity:0;animation:fadeUp 0.55s ease forwards 0.9s}

/* Float in */
@keyframes floatIn { from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)} }
.fc1{opacity:0;animation:floatIn 0.65s ease forwards 0.2s}
.fc2{opacity:0;animation:floatIn 0.65s ease forwards 0.42s}

/* Typewriter cursor */
@keyframes blink { 0%,100%{opacity:1}50%{opacity:0} }
.tw-cursor { display:inline-block;width:3px;height:0.85em;background:#00c896;margin-left:2px;vertical-align:middle;animation:blink 0.7s infinite; }

/* Ripple */
@keyframes rippleOut { 0%{transform:scale(0);opacity:0.75}100%{transform:scale(4);opacity:0} }
.ripple-el { position:fixed;pointer-events:none;border-radius:50%;border:2px solid #00c896;animation:rippleOut 0.75s ease-out forwards;z-index:99990; }

/* Page fade */
@keyframes fadeInPage { from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)} }
.page-in { animation:fadeInPage 0.4s ease forwards; }

/* Lang slide — LEFT to RIGHT (forward) */
@keyframes slideLangIn { from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)} }
.lang-in { animation:slideLangIn 0.35s ease forwards; }

/* Card glow on hover handled in JS */
.tilt-card { transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.2s ease; }

.lang-wrap { position:relative;display:inline-block; }
.lang-btn { background:transparent;border:none;color:#8899aa;font-size:11px;font-family:'DM Sans',sans-serif;cursor:none;display:flex;align-items:center;gap:4px;padding:0; }
.lang-dd { display:none;position:absolute;right:0;top:calc(100% + 8px);background:white;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.15);padding:6px;min-width:150px;z-index:9999;border:0.5px solid #e0e0e0; }
.lang-wrap:hover .lang-dd { display:block; }
.lang-opt { display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:none;font-size:12px;color:#333;font-family:'DM Sans',sans-serif; }
.lang-opt:hover { background:#f0fdf9;color:#00c896; }
.mode-toggle { width:44px;height:24px;border-radius:12px;cursor:none;position:relative;flex-shrink:0; }
.mode-knob { width:17px;height:17px;border-radius:50%;position:absolute;top:3px;transition:left 0.25s; }

@media(max-width:640px){
  .hero-grid{grid-template-columns:1fr!important}
  .cards-grid{grid-template-columns:1fr!important}
  .footer-grid{grid-template-columns:1fr!important}
  .header-nav{display:none!important}
  .hero-title{font-size:24px!important}
  .card-title{font-size:18px!important}
  .stat-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){
  .hero-pad{padding:2.5rem 1.25rem!important}
  .body-pad{padding:2rem 1.25rem!important}
  .footer-pad{padding:1.5rem 1.25rem!important}
  .header-pad{padding:0.75rem 1.25rem!important}
}
/* Spotlight glow (moved out of inline HTML) */
#spotlight {
  position: fixed;
  pointer-events: none;
  z-index: 9995;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,200,150,0.09) 0%, transparent 70%);
  transform: translate(-50%,-50%);
  display: none;
}

/* Default body font (the original set this inline on #site) */
body { font-family: 'DM Sans', sans-serif; }
#site { font-family: 'DM Sans', sans-serif; }

/* ===== Cookie consent (corner card) ===== */
#cig-cookie{position:fixed;bottom:20px;left:20px;width:320px;max-width:calc(100vw - 40px);background:#0a1628;border:1px solid rgba(0,200,150,0.25);border-radius:14px;padding:1.25rem;z-index:100000;font-family:'DM Sans',sans-serif;box-shadow:0 18px 50px rgba(0,0,0,0.45);transform:translateY(160%);opacity:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .35s ease;}
#cig-cookie.show{transform:translateY(0);opacity:1;}
#cig-cookie .cc-ico{width:40px;height:40px;border-radius:10px;background:rgba(0,200,150,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
#cig-cookie .cc-ico i{color:#00c896;font-size:22px;}
#cig-cookie h4{color:#fff;font-size:15px;font-weight:700;margin:0 0 6px;font-family:'Montserrat',sans-serif;}
#cig-cookie p{color:#8899aa;font-size:12px;margin:0 0 14px;line-height:1.6;}
#cig-cookie a{color:#00c896;text-decoration:none;}
#cig-cookie .cc-actions{display:flex;flex-direction:column;gap:8px;}
#cig-cookie .cc-row{display:flex;gap:8px;}
#cig-cookie button{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;border-radius:8px;padding:9px 12px;cursor:pointer;transition:transform .15s;}
#cig-cookie button:hover{transform:translateY(-1px);}
#cig-cookie .cc-accept{background:#00c896;color:#04342C;border:none;width:100%;}
#cig-cookie .cc-reject,#cig-cookie .cc-manage{background:transparent;color:#c8d6e5;border:1px solid rgba(255,255,255,0.18);flex:1;font-size:12px;}
#cig-cookie .cc-save{background:#00c896;color:#04342C;border:none;width:100%;margin-top:12px;}
#cig-cookie .cc-prefs{display:none;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,0.1);}
#cig-cookie .cc-prefs.open{display:block;}
#cig-cookie .cc-pref{display:flex;justify-content:space-between;align-items:center;padding:9px 0;gap:12px;}
#cig-cookie .cc-pref+.cc-pref{border-top:0.5px solid rgba(255,255,255,0.06);}
#cig-cookie .cc-name{color:#fff;font-size:13px;font-weight:600;margin:0;font-family:'Montserrat',sans-serif;}
#cig-cookie .cc-sub{color:#8899aa;font-size:11px;margin:2px 0 0;line-height:1.5;}
#cig-cookie .cc-always{background:rgba(0,200,150,0.15);color:#00c896;font-size:10px;padding:3px 9px;border-radius:6px;font-weight:600;white-space:nowrap;}
#cig-cookie .cc-switch{position:relative;display:inline-block;width:42px;height:23px;flex-shrink:0;cursor:pointer;}
#cig-cookie .cc-switch input{opacity:0;width:0;height:0;}
#cig-cookie .cc-slider{position:absolute;inset:0;background:#3a4a5c;border-radius:23px;transition:background .2s;}
#cig-cookie .cc-slider::before{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;background:#fff;border-radius:50%;transition:left .2s;}
#cig-cookie .cc-switch input:checked + .cc-slider{background:#00c896;}
#cig-cookie .cc-switch input:checked + .cc-slider::before{left:22px;}
#cig-cookie-reopen{position:fixed;bottom:18px;left:18px;width:42px;height:42px;border-radius:50%;background:#0a1628;border:1px solid rgba(0,200,150,0.3);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:99999;box-shadow:0 8px 24px rgba(0,0,0,0.35);transition:transform .2s;}
#cig-cookie-reopen:hover{transform:scale(1.08);}
#cig-cookie-reopen i{color:#00c896;font-size:20px;}
#cig-cookie-reopen.show{display:flex;}
@media(max-width:480px){#cig-cookie{left:12px;right:12px;width:auto;bottom:12px;}}
