:root{
  --bg:#070707;
  --panel: rgba(255,255,255,0.03);
  --muted:#bdbdbd;
  --accent:#ffffff;
  --glass-blur:12px;
  --container:1200px;
  --pad:20px;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* basics */
*{box-sizing:border-box}
html,body{height:100%;margin:0;padding:0}
body.theme-dark{margin:0;background:linear-gradient(180deg,#030303,#0b0b0b);color:var(--accent);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.container{max-width:var(--container);margin:0 auto;padding:40px var(--pad)}
a{color:inherit;text-decoration:none}

/* header */
.site-header{border-bottom:1px solid rgba(255,255,255,0.03);position:sticky;top:0;background:linear-gradient(180deg,rgba(0,0,0,0.45),transparent);backdrop-filter:blur(4px);z-index:40}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:50}
.logo{width:46px;height:46px;object-fit:cover;border-radius:8px}
.brand-text{font-weight:700;letter-spacing:0.4px}
.nav{display:flex;align-items:center;gap:16px;position:relative;z-index:50}
.nav a{color:var(--muted);padding:6px 8px;border-radius:8px;transition:color 0.2s;position:relative;z-index:50}
.nav a:hover{color:var(--accent)}
.cta{border:1px solid rgba(255,255,255,0.06);padding:8px 12px;border-radius:10px}

/* mobile menu button */
.mobile-menu-btn{
  display:none;
  background:transparent;
  border:1px solid rgba(255,255,255,0.1);
  color:var(--accent);
  font-size:24px;
  width:44px;
  height:44px;
  border-radius:8px;
  cursor:pointer;
  transition:all 0.3s;
  position:relative;
  z-index:101;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.mobile-menu-btn:active{
  background:rgba(255,255,255,0.1);
  transform:scale(0.95);
}

/* mobile menu */
.mobile-menu{
  display:none;
  position:fixed;
  top:70px;
  left:0;
  right:0;
  background:rgba(7,7,7,0.98);
  backdrop-filter:blur(20px);
  padding:20px;
  z-index:100;
  border-bottom:1px solid rgba(255,255,255,0.1);
  box-shadow:0 10px 40px rgba(0,0,0,0.5);
  max-height:calc(100vh - 70px);
  overflow-y:auto;
}
.mobile-menu[aria-hidden="false"]{
  display:block !important;
}
.mobile-menu a{
  display:block;
  padding:15px 20px;
  color:var(--accent);
  font-size:18px;
  border-radius:8px;
  margin-bottom:8px;
  transition:all 0.3s;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  position:relative;
  z-index:101;
}
.mobile-menu a:active{
  background:rgba(255,255,255,0.1);
  transform:scale(0.98);
}
.mobile-menu .lang-toggle{
  width:100%;
  margin-top:10px;
  padding:15px;
  font-size:16px;
}

/* hero */
.hero{padding:56px 0}
.hero-inner{display:flex;gap:36px;align-items:center;justify-content:space-between}
.hero-copy{flex:1}
.title{font-size:44px;margin:0 0 12px;line-height:1.2}
.subtitle{color:var(--muted);margin-bottom:18px;max-width:640px;line-height:1.6;font-size:18px}
.hero-cta .btn{margin-right:12px;margin-bottom:10px}
.btn{
  display:inline-block;
  padding:12px 18px;
  border-radius:12px;
  cursor:pointer;
  font-weight:600;
  transition:all 0.3s;
  border:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  position:relative;
  z-index:50;
  pointer-events:auto !important;
}
.btn:active{transform:scale(0.97)}
.btn-primary{background:var(--accent);color:#000}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,255,255,0.2)}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--accent)}
.btn-ghost:hover{border-color:rgba(255,255,255,0.2)}
.hero-features{display:flex;gap:12px;list-style:none;padding:0;margin-top:18px;color:var(--muted);flex-wrap:wrap}
.hero-features li{font-size:14px;line-height:1.5}

/* videos - FIXED FOR EQUAL SIZING */
.video-frame{
  border-radius:12px;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(255,255,255,0.03);
  margin-bottom:12px;
}
.video-lg video{
  width:560px;
  max-width:100%;
  height:auto;
  display:block;
}
.video-note{
  font-size:12px;
  color:var(--muted);
  margin-top:6px;
  font-style:italic;
  padding:0 8px;
}

/* sections */
.section{padding:48px 0}
.section-title{font-size:28px;margin-bottom:18px;font-weight:700}
.section-subtitle{color:var(--muted);font-size:18px;margin:-10px auto 50px;max-width:600px;line-height:1.6}
.text-center{text-align:center}
.lead{font-size:18px;color:var(--muted);margin-bottom:24px;line-height:1.6}
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--panel);padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,0.02);transition:transform 0.2s,border-color 0.2s}
.card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,0.08)}
.card h3{margin-top:0;margin-bottom:12px;font-size:18px}
.card p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}

/* demos */
.demo h4{margin-top:0;margin-bottom:10px;font-size:20px}
.demo p{color:var(--muted);margin-bottom:16px;line-height:1.6;font-size:15px}
.demo-frame{background:#0b0b0b;border-radius:10px;padding:12px;border:1px solid rgba(255,255,255,0.02)}
.demo-frame.small{padding:16px}
.tour-list{list-style:none;padding:0;margin:0;color:var(--muted)}
.tour-list li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.02);font-size:15px;line-height:1.6}
.tour-list li:last-child{border-bottom:none}

/* chat */
.chat{min-height:140px;max-height:320px;padding:12px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;background:rgba(0,0,0,0.3);border-radius:8px}
.msg{background:rgba(255,255,255,0.02);padding:12px 14px;border-radius:12px;max-width:85%;line-height:1.6;animation:fadeIn 0.3s;font-size:15px}
.msg.user{align-self:flex-end;background:rgba(255,255,255,0.06)}
.msg.bot{align-self:flex-start}
.chat-controls{display:flex;gap:8px;margin-top:10px}
.chat-controls input{flex:1;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:rgba(0,0,0,0.3);color:var(--accent);font-size:15px}
.chat-controls input:focus{outline:none;border-color:rgba(255,255,255,0.15)}
.chat-controls button{padding:12px 18px;border:none;cursor:pointer;font-size:15px}

/* leadership */
.leadership .person{background:var(--panel);padding:18px;border-radius:12px;text-align:center;border:1px solid rgba(255,255,255,0.02);transition:transform 0.2s}
.leadership .person:hover{transform:translateY(-4px)}
.leadership img{width:88px;height:88px;border-radius:12px;object-fit:cover;margin:0 auto 10px;display:block}
.leadership h5{margin:8px 0 4px;font-size:16px}
.leadership p{margin:0;color:var(--muted);font-size:14px}

/* safety & footer */
.safety{background:linear-gradient(180deg,rgba(255,255,255,0.01),transparent);padding:24px;border-radius:12px}
.safety h3{margin-top:0;font-size:20px}
.safety ul{color:var(--muted);line-height:1.8;font-size:15px}
.site-footer{border-top:1px solid rgba(255,255,255,0.03);padding:24px 0;margin-top:32px}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-left p{margin:4px 0;font-size:15px}
.footer-nav{display:flex;gap:16px;flex-wrap:wrap}
.footer-nav a{color:var(--muted);font-size:14px;transition:color 0.2s;position:relative;z-index:50}
.footer-nav a:hover{color:var(--accent)}

/* glass */
.glass{background:var(--panel);backdrop-filter:blur(var(--glass-blur));padding:28px;border-radius:14px;border:1px solid rgba(255,255,255,0.03)}

/* contact form */
.contact-panel{max-width:700px;margin:40px auto}
.contact-panel h1{margin-top:0;font-size:32px}
.contact-panel p{font-size:16px;line-height:1.6}
.contact-panel label{display:block;margin-bottom:16px;color:var(--muted)}
.contact-panel label span{display:block;margin-bottom:6px;font-weight:600;color:var(--accent);font-size:15px}
.contact-panel input,.contact-panel textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,0.06);background:rgba(0,0,0,0.3);color:var(--accent);font-size:15px;font-family:inherit}
.contact-panel input:focus,.contact-panel textarea:focus{outline:none;border-color:rgba(255,255,255,0.15)}
.contact-panel textarea{resize:vertical;min-height:140px;line-height:1.6}
.contact-panel button[type="submit"]{margin-top:12px}

/* utilities */
.muted{color:var(--muted)}
.small{font-size:13px}
.bg-contrast{background:rgba(255,255,255,0.01)}
.bg-soft{background:rgba(255,255,255,0.005)}

/* animations */
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* lang toggle button */
.lang-toggle{
  background:transparent;
  border:1px solid rgba(255,255,255,0.06);
  color:var(--accent);
  padding:8px 14px;
  border-radius:8px;
  cursor:pointer;
  font-size:14px;
  font-weight:600;
  transition:all 0.2s;
  -webkit-tap-highlight-color:transparent;
  position:relative;
  z-index:50;
  touch-action:manipulation;
  pointer-events:auto !important;
}
.lang-toggle:hover{border-color:rgba(255,255,255,0.15);background:rgba(255,255,255,0.02)}
.lang-toggle:active{transform:scale(0.95)}

/* SAFI Showcase Section */
.safi-showcase{
  background:linear-gradient(180deg,rgba(0,15,30,0.4),rgba(0,30,60,0.3),rgba(0,15,30,0.4));
  padding:100px 0;
  position:relative;
  overflow:hidden;
}
.safi-showcase::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:radial-gradient(circle at 20% 50%,rgba(0,150,255,0.05) 0%,transparent 60%),radial-gradient(circle at 80% 50%,rgba(100,0,255,0.04) 0%,transparent 60%);
  pointer-events:none;
}
.safi-showcase-grid{
  display:grid;
  grid-template-columns:45% 55%;
  gap:80px;
  align-items:center;
  position:relative;
  z-index:1;
}
.safi-info{
  position:relative;
  z-index:15;
}
.safi-info h3{
  font-size:36px;
  margin-bottom:24px;
  background:linear-gradient(135deg,#00ff88,#0088ff,#8800ff);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  line-height:1.3;
}
.safi-info > p{color:var(--muted);line-height:1.9;margin-bottom:40px;font-size:17px}
.safi-capabilities{margin-bottom:40px}
.capability-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:20px;
  margin-bottom:16px;
  background:var(--panel);
  border-radius:12px;
  border:1px solid rgba(0,255,150,0.08);
  transition:all 0.3s;
  position:relative;
  z-index:50;
  pointer-events:auto !important;
  touch-action:manipulation;
}
.capability-item:hover{
  transform:translateX(10px);
  border-color:rgba(0,255,150,0.3);
  background:rgba(0,255,150,0.03);
  box-shadow:0 5px 20px rgba(0,255,150,0.15);
}
.capability-icon{font-size:32px;line-height:1}
.capability-text h4{margin:0 0 6px;font-size:18px;color:var(--accent)}
.capability-text p{margin:0;font-size:15px;color:var(--muted);line-height:1.6}

.btn-large{
  width:100%;
  padding:18px 32px;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:linear-gradient(135deg,#00ff88,#0088ff);
  border:none;
  position:relative;
  overflow:hidden;
  z-index:50;
  pointer-events:auto !important;
  touch-action:manipulation;
}
.btn-large::before{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);
  transition:left 0.5s;
}
.btn-large:hover::before{left:100%}
.btn-arrow{transition:transform 0.3s}
.btn-large:hover .btn-arrow{transform:translateX(5px)}

/* Safari specific fixes */
@supports (-webkit-touch-callout:none){
  .btn,.btn-primary,.btn-ghost,.btn-large,button{-webkit-appearance:none;appearance:none}
  input,textarea{-webkit-appearance:none;appearance:none;border-radius:8px}
}

/* responsive */
@media (max-width:980px){
  .hero-inner{flex-direction:column-reverse;text-align:center}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .title{font-size:32px}
  .subtitle{font-size:16px}
  .video-lg video{width:100%}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .nav{display:none !important}
  .mobile-menu-btn{display:flex;align-items:center;justify-content:center}
  .footer-inner{flex-direction:column;text-align:center}
  .footer-nav{justify-content:center}
  .hero-features{justify-content:center}
  .safi-showcase{padding:60px 0}
  .safi-showcase-grid{grid-template-columns:1fr;gap:50px}
  .safi-info{text-align:center}
  .safi-info h3{font-size:28px}
  .capability-item{text-align:left}
  .capability-item:hover{transform:translateY(-5px) translateX(0)}
  .section-title{font-size:24px}
  .section-subtitle{font-size:16px}
}

/* RTL support - FIXED FOR BETTER ARABIC LAYOUT */
[dir="rtl"] .header-inner{direction:rtl}
[dir="rtl"] .nav{flex-direction:row-reverse}
[dir="rtl"] .hero-inner{direction:rtl;text-align:right}
[dir="rtl"] .hero-copy{align-items:flex-start}
[dir="rtl"] .hero-cta .btn{margin-right:0;margin-left:12px}
[dir="rtl"] .hero-features{flex-direction:row-reverse;text-align:right}
[dir="rtl"] .footer-inner{direction:rtl}
[dir="rtl"] .footer-nav{flex-direction:row-reverse}
[dir="rtl"] .msg.user{align-self:flex-start}
[dir="rtl"] .msg.bot{align-self:flex-end}
[dir="rtl"] .safi-info{text-align:right}
[dir="rtl"] .capability-item{flex-direction:row-reverse}
[dir="rtl"] .btn-arrow{transform:scaleX(-1)}
[dir="rtl"] .card{text-align:right}
[dir="rtl"] .demo{text-align:right}
[dir="rtl"] .tour-list{text-align:right}

/* RTL mobile fixes */
@media (max-width:980px){
  [dir="rtl"] .hero-copy{align-items:center}
  [dir="rtl"] .hero-inner{text-align:center}
  [dir="rtl"] .safi-info{text-align:center}
}

/* Fix all interactive elements z-index */
button,a,input,textarea,.btn,.btn-primary,.btn-ghost,.btn-large,#talkToSafi,#demoSend,.nav a,.cta,#langToggle,#langToggleMobile,#mobileMenuBtn{
  position:relative;
  z-index:50;
  pointer-events:auto !important;
}
