
:root {
  --bg-main: #f8fafc;
  --bg-gradient: linear-gradient(to bottom, rgba(248, 250, 252, 0) 0%, rgba(248, 250, 252, 0.4) 40%, #f1f5f9 100%);
  --bg-features: #f1f5f9;
  --bg-engine: #ffffff;
  --text-main: #020617;
  --text-inverse: #ffffff;
  --text-muted: #475569;
  --accent-primary: #667eea;
  --accent-secondary: #764ba2;
  --btn-gradient: linear-gradient(135deg, #667eea, #764ba2);
  --btn-hover: linear-gradient(135deg, #764ba2, #667eea);
  --card-bg: #ffffff;
  --card-border: #e2e8f0;
  --chat-btn-shadow: 0 10px 25px rgba(102, 126, 234, 0.4);
  --chat-bg: #f8fafc;
  --chat-msg-user: var(--btn-gradient);
  --chat-msg-bot: #f1f5f9;
  --hero-text: #020617;
  --hero-text-secondary: #1e293b;
  --hero-overlay-opacity: 0.15;
  --btn-text-hero: #020617;
  --index-scrollbar-track: rgba(15, 23, 42, 0.08);
  --index-scrollbar-thumb: #667eea;
  --index-scrollbar-thumb-hover: #764ba2;
}

[data-theme="dark"] {
  --bg-main: #020617;
  --bg-gradient: linear-gradient(to bottom, rgba(2, 6, 23, 0) 0%, rgba(2, 6, 23, 0.4) 40%, #0f172a 100%);
  --bg-features: #0f172a;
  --bg-engine: #020617; 
  --text-main: #f8fafc;
  --text-inverse: #020617;
  --text-muted: #94a3b8;
  --card-bg: #1e293b; 
  --card-border: #334155;
  --chat-bg: #0f172a;
  --chat-msg-bot: #1e293b;
  --hero-text: #ffffff;
  --hero-text-secondary: #e8eef7;
  --hero-overlay-opacity: 0.35;
  --btn-text-hero: #ffffff;
  --index-scrollbar-track: rgba(248, 250, 252, 0.1);
  --index-scrollbar-thumb: #a5b4fc;
  --index-scrollbar-thumb-hover: #d8b4fe;
}

/* GLOBAL */

html{
scroll-behavior:smooth;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins,sans-serif;
}

body{
background: var(--bg-main);
color: var(--text-main);
line-height:1.6;
}

.simplebar-content-wrapper {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.simplebar-track,
.simplebar-scrollbar {
    transition: opacity 0.35s ease;
    opacity: 0;
}

.simplebar-track .simplebar-scrollbar:before {
    background: var(--index-scrollbar-thumb) !important;
    border-radius: 999px;
    width: 6px !important;
}

.simplebar-track.simplebar-visible::before,
.show-footer-scrollbar .simplebar-track,
.show-footer-scrollbar .simplebar-track .simplebar-scrollbar:before {
    opacity: 1;
}

.simplebar-track .simplebar-scrollbar:before {
    box-shadow: 0 0 15px rgba(102, 126, 234, 0.6) !important;
    opacity: 0.9 !important;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar {
    opacity: 1 !important;
}

[data-theme="dark"] .simplebar-track .simplebar-scrollbar:before {
    background: #a5b4fc !important;
    box-shadow: 0 0 15px rgba(165, 180, 252, 0.6) !important;
}

.simplebar-track .simplebar-scrollbar:hover::before,
.simplebar-track .simplebar-scrollbar:active::before {
    background: #764ba2 !important;
    box-shadow: 0 0 25px rgba(118, 75, 162, 0.8) !important;
    opacity: 1 !important;
}

[data-theme="dark"] .simplebar-track .simplebar-scrollbar:hover::before,
[data-theme="dark"] .simplebar-track .simplebar-scrollbar:active::before {
    background: #d8b4fe !important;
    box-shadow: 0 0 25px rgba(216, 180, 254, 0.8) !important;
}

.show-main-scrollbar .simplebar-track,
.show-main-scrollbar .simplebar-scrollbar,
.show-main-scrollbar .simplebar-track .simplebar-scrollbar:before {
    opacity: 1 !important;
}

.container{
max-width:1200px;
margin:auto;
padding:0 20px;
}


/* NAVBAR */

.navbar{
padding:20px 0;
background:transparent;
border-bottom:none;
position:absolute;
top:0;
left:0;
width:100%;
z-index:10;
}

.nav-wrapper{
display:flex;
justify-content:space-between;
align-items:center;
}

.hero-buttons {
  display: flex;
  align-items: center;
  gap: 15px;
}

.logo{
font-size:26px;
font-weight:700;
color: var(--text-main);
}

.nav-links{
display:flex;
gap:30px;
}

.nav-links a{
text-decoration:none;
color: var(--text-main);
font-weight:500;
transition:.2s;
}

.nav-links a:hover{
color: var(--accent-secondary);
}

.theme-toggle {
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(102, 126, 234, 0.1);
  color: var(--text-main) !important;
}

.theme-toggle:hover {
  background: rgba(102, 126, 234, 0.2);
  transform: scale(1.1);
}

.cta-btn{
background: var(--btn-gradient);
color: #ffffff;
border:none;
padding:10px 22px;
border-radius:25px;
cursor:pointer;
transition:.25s;
}

.cta-btn:hover{
background: var(--btn-hover);
}


/* HERO */

.hero{
padding:210px 0;
position:relative;
overflow:hidden;
display:flex;
align-items:center;
justify-content:flex-start;
}


/* VIDEO */

.hero-video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center 1%;
z-index:-1;
}

/* DARK OVERLAY */

.hero::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,var(--hero-overlay-opacity));
z-index:-1;
}


/* VIDEO → BACKGROUND SMOOTH TRANSITION */

.hero::after{
content:"";
position:absolute;
bottom:0;
left:0;
width:100%;
height:220px;

background: var(--bg-gradient);

pointer-events:none;
}


/* HERO CONTENT */

.hero-grid{
display:grid;
grid-template-columns:1fr;
align-items:center;
justify-items:start;
text-align:left;
gap:40px;

width:100%;
max-width:none;
padding-left:80px;
}

.hero-left{
max-width:700px;
width:40%;
animation:heroFade .9s ease;
}

.hero-left h1{
font-size:52px;
line-height:1.2;
margin-bottom:20px;
color: var(--hero-text);
text-shadow: 0 1px 3px rgba(255,255,255,0.5);
}

.hero-left p{
color: var(--hero-text-secondary);
opacity: 1;
margin-bottom:30px;
text-shadow: 0 1px 2px rgba(255,255,255,0.3);
}


/* BUTTONS */

.primary-btn{
background: var(--btn-gradient);
color: #ffffff;
border:none;
padding:14px 28px;
border-radius:30px;
cursor:pointer;
margin-right:12px;
font-weight:500;
transition:.25s;
}

.primary-btn:hover{
background: var(--btn-hover);
transform:translateY(-3px);
}

.secondary-btn{
border: 2px solid var(--accent-primary);
background: transparent;
padding:14px 28px;
border-radius:30px;
color: var(--btn-text-hero);
cursor:pointer;
font-weight:500;
transition:.25s;
text-shadow: 0 1px 2px rgba(255,255,255,0.3);
}

.secondary-btn:hover{
background: var(--btn-gradient);
color: #ffffff;
border-color: var(--accent-secondary);
transform:translateY(-3px);
}


/* FEATURES */

.features{
padding:190px 0;
text-align:center;
background: var(--bg-features);
}

.features h2{
font-size:40px;
margin-bottom:10px;
}

.subtitle{
color: var(--text-muted);
margin-bottom:60px;
}

.features-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.feature-card{
background: var(--card-bg);
padding:40px;
border-radius:14px;
box-shadow:0 15px 40px rgba(0,0,0,0.06);
transition:.3s;
border: 1px solid var(--card-border);
}

.feature-card:hover{
transform:translateY(-10px);
}


/* ENGINE */

.engine{
background: var(--bg-engine);
color: var(--text-main);
padding:190px 0;
text-align:center;
box-shadow: 0 -5px 30px rgba(0, 0, 0, 0.05), 0 5px 30px rgba(0, 0, 0, 0.05);
}

[data-theme="dark"] .engine {
  background: #1a2847;
  color: #ffffff;
  box-shadow: 0 -5px 30px rgba(0, 0, 0, 0.3), 0 5px 30px rgba(0, 0, 0, 0.3);
}

/* Light mode styling for engine section */
.engine h2 {
  color: var(--text-main);
}

[data-theme="dark"] .engine h2 {
  color: #ffffff;
}

.engine .subtitle {
    color: var(--text-muted);
}

[data-theme="dark"] .engine .subtitle {
  color: #94a3b8;
}

.engine-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:40px;
margin-top:50px;
}

.engine-card{
background: var(--card-bg);
color: var(--text-main);
padding:30px;
border-radius:14px;
border: 1px solid var(--card-border);
transition:.3s;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] .engine-card {
  background: #1e293b;
  color: #ffffff;
  border: 1px solid #334155;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.engine-card:hover{
transform:translateY(-10px);
box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] .engine-card:hover {
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.5);
}
}


/* CHATBOT */

.chatbot{
position:fixed;
bottom:20px;
right:20px;
z-index:9999;
display:flex;
flex-direction:column-reverse;
align-items:flex-end;
}


/* CHAT BUTTON */

.chat-toggle{
width:60px;
height:60px;
background: var(--btn-gradient);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:white;
font-size:24px;
cursor:pointer;
box-shadow: var(--chat-btn-shadow);
transition:transform .2s ease;
}

.chat-toggle:hover{
transform:scale(1.08);
}


/* CHAT WINDOW */

.chat-window{
width:320px;
height:420px;
background: var(--bg-main);
border-radius:20px;
box-shadow:0 20px 50px rgba(0,0,0,0.25);
display:flex;
flex-direction:column;
overflow:hidden;
margin-bottom:12px;
opacity:0;
pointer-events:none;
transform:translateY(20px) scale(.9);
transition:all .3s ease;
}

.chat-window.active{
opacity:1;
pointer-events:auto;
transform:translateY(0) scale(1);
}


/* HEADER */

.chat-header{
background: var(--bg-engine);
color: var(--text-inverse);
padding:15px;
display:flex;
justify-content:space-between;
align-items:center;
font-weight:600;
}


/* MESSAGES */

.chat-messages{
flex:1;
padding:15px;
overflow-y:auto;
font-size:14px;
}

.bot-message{
background: var(--chat-msg-bot);
padding:10px 14px;
border-radius:12px;
margin-bottom:10px;
max-width:80%;
border: none;
box-shadow: none;
}

.user-message{
background: var(--btn-gradient);
color:white;
padding:10px 14px;
border-radius:12px;
margin-bottom:10px;
max-width:80%;
margin-left:auto;
position: relative;
}

.message-actions {
display: flex;
gap: 12px;
margin-top: 6px;
padding: 0 4px;
opacity: 0;
transition: opacity 0.2s ease;
}

.user-message:hover .message-actions,
.bot-message:hover .message-actions {
opacity: 1;
}

.message-action-btn {
background: transparent;
border: none;
color: var(--text-muted);
cursor: pointer;
font-size: 14px;
padding: 4px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s ease;
border-radius: 4px;
}

.message-action-btn:hover {
color: var(--accent-primary);
background: rgba(0, 0, 0, 0.05);
}

/* Inline edit for small chatbot */
.inline-edit-container {
padding: 10px;
background: var(--bg-features);
border-radius: 8px;
margin-top: 5px;
}

.inline-edit-textarea {
width: 100%;
height: 60px;
border: 1px solid var(--card-border);
border-radius: 4px;
padding: 5px;
font-size: 13px;
resize: none;
}

.inline-edit-footer {
display: flex;
justify-content: flex-end;
gap: 5px;
margin-top: 5px;
}

.inline-edit-btn {
padding: 4px 8px;
font-size: 12px;
border: none;
border-radius: 4px;
cursor: pointer;
}

.inline-edit-btn.send {
background: var(--accent-primary);
color: white;
}

#close-chat{
cursor:pointer;
}


/* INPUT */

.chat-input{
display:flex;
border-top: 1px solid var(--card-border);
}

.chat-input input{
flex:1;
border:none;
padding:12px;
outline:none;
background: var(--bg-main);
}

.chat-input button{
background: var(--btn-gradient);
border:none;
color:white;
width:50px;
cursor:pointer;
font-size:16px;
}


/* HERO FADE */

@keyframes heroFade{
0%{
opacity:0;
transform:translateY(30px);
}
100%{
opacity:1;
transform:translateY(0);
}
}


/* Hide default scrollbar */

html, body{
  overflow: hidden;
  scrollbar-width: none; /* Firefox */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar{
  display: none; /* Chrome, Edge, Safari */
}

.simplebar-track.simplebar-vertical{
  width:8px;
  right:6px;
  background: transparent;
  border-radius:10px;
  box-shadow: none;
  height: 120px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%);
  pointer-events: none;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{
  background: var(--index-scrollbar-thumb) !important;
  border-radius:10px !important;
  min-height:18px;
  width:6px;
  left:1px;
  opacity:1 !important;
  box-shadow: 0 0 15px rgba(102, 126, 234, 0.45) !important;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar {
  right: 0 !important;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:hover::before,
.simplebar-track.simplebar-vertical .simplebar-scrollbar:active::before{
  background: var(--index-scrollbar-thumb-hover) !important;
  opacity:1 !important;
  box-shadow: 0 0 20px rgba(118, 75, 162, 0.55) !important;
}

/* ============================= */
/* SVG SCROLL PATH ANIMATION */
/* ============================= */

/* .scroll-line-section{
position:relative;
height:100vh;
margin-top:-200px;
overflow:hidden;
}
.scroll-line-section svg{
position:sticky;
top:0;
left:0;
width:100%;
height:100%;
}

#line{
stroke:url(#lineGradient);
stroke-width:20;
fill:none;
stroke-linecap:round;

stroke-dasharray:3000;
stroke-dashoffset:3000;

transition:stroke-dashoffset .15s linear;
} */

/* ============================= */
/* CONTACT SECTION - ULTRA PREMIUM */
/* ============================= */

.contact-section {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}

[data-theme="dark"] .contact-section {
  background: linear-gradient(135deg, #0f172a 0%, #1a2847 100%);
}

.contact-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(102, 126, 234, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.contact-section::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(118, 75, 162, 0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.contact-header {
  text-align: center;
  margin-bottom: 80px;
  position: relative;
  z-index: 2;
}

.contact-title {
  font-size: 3rem;
  font-weight: 700;
  background: linear-gradient(135deg, #667eea, #764ba2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 20px;
  letter-spacing: -0.5px;
}

[data-theme="dark"] .contact-title {
  background: linear-gradient(135deg, #a5b4fc, #d8b4fe);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.contact-subtitle {
  font-size: 1.2rem;
  color: var(--text-muted);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.8;
}

[data-theme="dark"] .contact-subtitle {
  color: #cbd5e1;
}

.contact-cards-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  position: relative;
  z-index: 2;
  max-width: 1100px;
  margin: 0 auto;
}

.contact-card-email {
  grid-column: 1;
}

.contact-card-started {
  grid-column: 2;
}

.contact-card-phone {
  grid-column: 3;
}

.contact-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 40px 30px;
  text-align: center;
  border: 1px solid #e2e8f0;
  transition: all 0.4s cubic-bezier(0.23, 1, 0.320, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] .contact-card {
  background: #1e293b;
  border: 1px solid #334155;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.contact-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.contact-card:hover::before {
  transform: scaleX(1);
}

.contact-card:hover {
  transform: translateY(-15px) scale(1.02);
  box-shadow: 0 30px 60px rgba(102, 126, 234, 0.2);
  border-color: #667eea;
}

[data-theme="dark"] .contact-card:hover {
  box-shadow: 0 30px 60px rgba(102, 126, 234, 0.15);
}

.contact-card-icon {
  font-size: 3.5rem;
  margin-bottom: 20px;
  display: inline-block;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

.contact-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-main);
  margin-bottom: 10px;
  letter-spacing: -0.3px;
}

[data-theme="dark"] .contact-card h3 {
  color: #f8fafc;
}

.contact-text {
  color: var(--text-muted);
  font-size: 0.95rem;
  margin-bottom: 25px;
  line-height: 1.6;
}

[data-theme="dark"] .contact-text {
  color: #cbd5e1;
}

.contact-link {
  display: inline-block;
  color: #667eea;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  padding: 10px 16px;
  border-radius: 10px;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

.contact-link:hover {
  color: #764ba2;
  background: rgba(102, 126, 234, 0.1);
  border: 2px solid rgba(102, 126, 234, 0.3);
}

[data-theme="dark"] .contact-link {
  color: #a5b4fc;
}

[data-theme="dark"] .contact-link:hover {
  color: #d8b4fe;
  background: rgba(165, 180, 252, 0.1);
  border: 2px solid rgba(165, 180, 252, 0.3);
}

.contact-link-btn,
.contact-cta-btn {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 10px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.95rem;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.contact-link-btn:hover,
.contact-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.contact-cta-btn {
  padding: 14px 32px;
  font-size: 1rem;
  width: 100%;
}

/* Responsive */
@media (max-width: 768px) {
  .contact-title {
    font-size: 2rem;
  }

  .contact-subtitle {
    font-size: 1rem;
  }

  .contact-cards-wrapper {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .contact-card {
    padding: 30px 20px;
  }

  .contact-card-icon {
    font-size: 2.5rem;
  }
}
