* { 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; }

/* ===================================================
   CONTACT PAGE — specific styles
=================================================== */

/* form fields */
.cig-field { display:flex; flex-direction:column; gap:6px; }
.cig-field label { font-size:12px; font-weight:600; letter-spacing:0.02em; font-family:'Montserrat',sans-serif; }
.cig-field input,
.cig-field select,
.cig-field textarea {
  width:100%;
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  padding:12px 14px;
  border-radius:9px;
  outline:none;
  cursor:none;
  transition:border-color .2s, box-shadow .2s, background .3s;
}
.cig-field textarea { resize:vertical; min-height:120px; }
.cig-field input:focus,
.cig-field select:focus,
.cig-field textarea:focus {
  border-color:#00c896;
  box-shadow:0 0 0 3px rgba(0,200,150,0.15);
}
.cig-field .err { color:#e94d65; font-size:11px; min-height:14px; }

/* checkbox */
.cig-check { display:flex; align-items:flex-start; gap:10px; }
.cig-check input { width:16px; height:16px; margin-top:3px; accent-color:#00c896; cursor:none; flex-shrink:0; }
.cig-check label { font-size:12px; line-height:1.6; }

/* submit button */
.cig-submit {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:100%;
  background:#00c896; color:#04342C;
  border:none; border-radius:10px;
  padding:14px 22px;
  font-family:'Montserrat',sans-serif; font-size:14px; font-weight:600;
  cursor:none; transition:transform .15s, opacity .2s;
}
.cig-submit:hover { transform:translateY(-2px); }
.cig-submit:disabled { opacity:.6; transform:none; }

/* success banner */
.cig-success {
  display:none;
  background:rgba(0,200,150,0.1);
  border:1px solid rgba(0,200,150,0.35);
  border-radius:10px;
  padding:16px 18px;
  align-items:center; gap:12px;
  margin-top:14px;
}
.cig-success.show { display:flex; animation:fadeUp .4s ease; }

/* contact info cards */
.info-card {
  display:flex; align-items:flex-start; gap:14px;
  border-radius:12px; padding:16px 18px;
  transition:transform .2s, border-color .2s;
}
.info-card:hover { transform:translateY(-3px); }
.info-ico {
  width:44px; height:44px; border-radius:11px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,200,150,0.12);
}

@media(max-width:860px){
  .contact-grid { grid-template-columns:1fr !important; }
}

/* Ensure dropdown option list is always readable (esp. dark mode) */
.cig-field select option { background:#ffffff !important; color:#0a2540 !important; }
.cig-field select { appearance:auto; }
