/* ==========================================================================
   Doknol — 2026 Modern Tech Website
   ========================================================================== */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg:#09090b;
  --bg-card:#111113;
  --bg-card-hover:#18181b;
  --border:#1e1e22;
  --border-hover:#2e2e33;
  --text:#fafafa;
  --text-2:#a1a1aa;
  --text-3:#71717a;
  --accent:#6366f1;
  --accent-2:#818cf8;
  --accent-glow:rgba(99,102,241,.15);
  --gradient:linear-gradient(135deg,#6366f1,#a78bfa,#06b6d4);
  --font-ar:'IBM Plex Sans Arabic',sans-serif;
  --font-en:'Space Grotesk','IBM Plex Sans Arabic',sans-serif;
  --radius:12px;
  --radius-lg:20px;
  --radius-xl:28px;
  --transition:250ms cubic-bezier(.4,0,.2,1);
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  font-family:var(--font-ar);
  font-size:1rem;
  line-height:1.7;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
ul{list-style:none}
img{max-width:100%;display:block}

.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}

/* ---------- Cursor Glow ---------- */
.cursor-glow{
  position:fixed;top:0;left:0;width:500px;height:500px;
  background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);
  border-radius:50%;pointer-events:none;z-index:0;
  opacity:0;transition:opacity .3s;
  transform:translate(-50%,-50%);
  will-change:transform;
}

/* ---------- Gradient Text ---------- */
.gradient-text{
  background:var(--gradient);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* ---------- Fade In ---------- */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.fade-in--visible{opacity:1;transform:translateY(0)}

/* ---------- Section Helpers ---------- */
.section-tag{
  font-size:.8rem;font-weight:600;color:var(--accent-2);
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;
}
.section-title{
  font-size:clamp(1.8rem,4vw,3rem);font-weight:700;line-height:1.25;
  color:var(--text);margin-bottom:20px;
}
.section-center{text-align:center;margin-bottom:56px}

/* ---------- Header ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:16px 0;
  background:transparent;
  transition:background var(--transition),backdrop-filter var(--transition);
}
.header--scrolled{
  background:rgba(9,9,11,.8);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between}
.nav__logo{
  font-size:1.2rem;font-weight:700;color:var(--text);
  letter-spacing:-.01em;
}
.nav__menu{display:flex;align-items:center;gap:32px}
.nav__link{
  font-size:.9rem;font-weight:500;color:var(--text-2);
  transition:color var(--transition);position:relative;
}
.nav__link:hover{color:var(--text)}
.btn-nav{
  background:var(--accent);color:#fff !important;
  padding:8px 20px;border-radius:999px;font-size:.85rem;
  transition:all var(--transition);
}
.btn-nav:hover{background:var(--accent-2);transform:translateY(-1px)}

/* Mobile toggle */
.nav__toggle{
  display:none;width:28px;height:28px;
  background:none;border:none;cursor:pointer;
  position:relative;padding:0;
}
.nav__toggle span{
  display:block;width:100%;height:2px;
  background:var(--text);border-radius:2px;
  transition:all var(--transition);
  position:absolute;left:0;
}
.nav__toggle span:first-child{top:8px}
.nav__toggle span:last-child{top:18px}
.nav__toggle--active span:first-child{top:13px;transform:rotate(45deg)}
.nav__toggle--active span:last-child{top:13px;transform:rotate(-45deg)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-ar);font-size:.95rem;font-weight:600;
  padding:14px 28px;border-radius:999px;border:none;cursor:pointer;
  transition:all var(--transition);white-space:nowrap;
}
.btn--primary{
  background:var(--accent);color:#fff;
  box-shadow:0 0 0 0 var(--accent-glow);
}
.btn--primary:hover{
  background:var(--accent-2);transform:translateY(-2px);
  box-shadow:0 8px 30px var(--accent-glow);
}
.btn--ghost{
  background:transparent;color:var(--text-2);
  border:1px solid var(--border);
}
.btn--ghost:hover{color:var(--text);border-color:var(--border-hover);background:var(--bg-card)}
.btn--lg{padding:16px 36px;font-size:1rem}
.btn--full{width:100%;justify-content:center}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  padding:140px 0 100px;overflow:hidden;
}
.hero__grid-bg{
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--border) 1px,transparent 1px),
    linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:60px 60px;
  opacity:.3;
  mask-image:radial-gradient(ellipse 60% 60% at 50% 40%,black,transparent);
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 40%,black,transparent);
}
.hero__orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float 8s ease-in-out infinite}
.orb--1{width:400px;height:400px;background:#6366f1;top:-10%;right:10%;animation-delay:0s}
.orb--2{width:300px;height:300px;background:#06b6d4;bottom:10%;left:5%;animation-delay:-3s}
.orb--3{width:250px;height:250px;background:#a78bfa;top:40%;right:30%;animation-delay:-5s;opacity:.25}
@keyframes float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}

.hero__content{position:relative;z-index:1;max-width:720px}
.hero__badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.8rem;font-weight:500;color:var(--text-2);
  background:var(--bg-card);border:1px solid var(--border);
  padding:6px 16px;border-radius:999px;margin-bottom:28px;
}
.hero__badge-dot{
  width:6px;height:6px;border-radius:50%;background:#22c55e;
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

.hero__title{
  font-size:clamp(2.2rem,5.5vw,4rem);font-weight:700;
  line-height:1.15;margin-bottom:24px;letter-spacing:-.02em;
}
.hero__subtitle{
  font-size:1.15rem;color:var(--text-2);line-height:1.8;
  margin-bottom:36px;max-width:560px;
}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:56px}
.hero__stats{display:flex;align-items:center;gap:24px}
.hero__stat-num{
  display:block;font-family:var(--font-en);
  font-size:1.8rem;font-weight:700;color:var(--text);
}
.hero__stat-label{font-size:.8rem;color:var(--text-3)}
.hero__stat-divider{width:1px;height:40px;background:var(--border)}

/* ---------- About ---------- */
.about{padding:120px 0;position:relative}
.about__layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about__text{font-size:1.05rem;color:var(--text-2);line-height:1.9;margin-bottom:16px}
.about__cards{display:flex;flex-direction:column;gap:16px}
.about__card{
  display:flex;align-items:flex-start;gap:16px;
  padding:24px;border-radius:var(--radius-lg);
  background:var(--bg-card);border:1px solid var(--border);
  transition:all var(--transition);
}
.about__card:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateX(-4px)}
.about__card-icon{
  flex-shrink:0;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border-radius:var(--radius);
  background:var(--accent-glow);color:var(--accent-2);
}
.about__card h3{font-size:1rem;font-weight:600;margin-bottom:4px}
.about__card p{font-size:.85rem;color:var(--text-3);line-height:1.6}

/* ---------- Services ---------- */
.services{padding:120px 0}
.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.service{
  padding:36px;border-radius:var(--radius-lg);
  background:var(--bg-card);border:1px solid var(--border);
  transition:all var(--transition);position:relative;overflow:hidden;
}
.service:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 40px var(--accent-glow)}
.service__num{
  font-family:var(--font-en);font-size:3rem;font-weight:700;
  color:var(--border);line-height:1;margin-bottom:16px;
  transition:color var(--transition);
}
.service:hover .service__num{color:var(--accent-glow)}
.service__title{font-size:1.2rem;font-weight:600;margin-bottom:12px}
.service__desc{font-size:.9rem;color:var(--text-2);line-height:1.8;margin-bottom:20px}
.service__tags{display:flex;flex-wrap:wrap;gap:8px}
.service__tags span{
  font-family:var(--font-en);font-size:.75rem;font-weight:500;
  color:var(--text-3);background:var(--bg);
  padding:4px 12px;border-radius:999px;border:1px solid var(--border);
}

/* ---------- Projects ---------- */
.projects{padding:120px 0}
.projects__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.project{
  padding:32px;border-radius:var(--radius-lg);
  background:var(--bg-card);border:1px solid var(--border);
  transition:all var(--transition);
  display:flex;flex-direction:column;
}
.project:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.project__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.project__badge{
  font-size:.75rem;font-weight:600;color:var(--accent-2);
  background:var(--accent-glow);padding:4px 12px;border-radius:999px;
}
.project__arrow{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);border:1px solid var(--border);
  color:var(--text-3);transition:all var(--transition);
}
.project:hover .project__arrow{background:var(--accent);color:#fff;border-color:var(--accent);transform:rotate(-45deg)}
.project__title{font-size:1.15rem;font-weight:600;margin-bottom:10px}
.project__desc{font-size:.88rem;color:var(--text-2);line-height:1.7;margin-bottom:20px;flex:1}
.project__tech{display:flex;gap:8px;flex-wrap:wrap}
.project__tech span{
  font-family:var(--font-en);font-size:.72rem;font-weight:500;
  color:var(--text-3);background:var(--bg);
  padding:4px 10px;border-radius:var(--radius);border:1px solid var(--border);
}

/* ---------- CTA ---------- */
.cta{padding:80px 0}
.cta__box{
  position:relative;overflow:hidden;
  text-align:center;padding:80px 40px;
  border-radius:var(--radius-xl);
  background:var(--bg-card);border:1px solid var(--border);
}
.cta__orb{
  position:absolute;top:-50%;left:50%;transform:translateX(-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,var(--accent-glow),transparent 70%);
  pointer-events:none;
}
.cta__title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;margin-bottom:16px;position:relative}
.cta__text{font-size:1.05rem;color:var(--text-2);margin-bottom:32px;max-width:500px;margin-inline:auto;position:relative}

/* ---------- Contact ---------- */
.contact{padding:120px 0}
.contact__layout{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start}
.contact__text{font-size:1.05rem;color:var(--text-2);margin-bottom:32px}
.contact__links{display:flex;flex-direction:column;gap:16px}
.contact__link{
  display:flex;align-items:center;gap:12px;
  font-size:.95rem;color:var(--text-2);transition:color var(--transition);
}
.contact__link:hover{color:var(--accent-2)}
.contact__link svg{color:var(--accent);flex-shrink:0}

.contact__form{
  padding:36px;border-radius:var(--radius-lg);
  background:var(--bg-card);border:1px solid var(--border);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{margin-bottom:16px}
.form-input{
  width:100%;font-family:var(--font-ar);font-size:.95rem;
  color:var(--text);background:var(--bg);
  border:1px solid var(--border);border-radius:var(--radius);
  padding:14px 16px;transition:border-color var(--transition);
}
.form-input::placeholder{color:var(--text-3)}
.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.form-textarea{resize:vertical;min-height:120px}
.form-status{margin-top:12px;font-size:.9rem;text-align:center}
.form-status--ok{color:#22c55e}
.form-status--err{color:#ef4444}

/* ---------- Footer ---------- */
.footer{
  padding:40px 0;border-top:1px solid var(--border);
}
.footer__content{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:20px;
}
.footer__logo{font-size:1.1rem;font-weight:700;color:var(--text)}
.footer__sub{font-size:.8rem;color:var(--text-3);margin-top:2px}
.footer__links{display:flex;gap:24px}
.footer__links a{font-size:.85rem;color:var(--text-3);transition:color var(--transition)}
.footer__links a:hover{color:var(--text)}
.footer__copy p{font-size:.8rem;color:var(--text-3)}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media(max-width:1024px){
  .about__layout{grid-template-columns:1fr;gap:48px}
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .contact__layout{grid-template-columns:1fr}
}

@media(max-width:768px){
  .nav__toggle{display:block}
  .nav__menu{
    position:fixed;top:0;left:0;right:0;bottom:0;
    background:rgba(9,9,11,.98);backdrop-filter:blur(20px);
    flex-direction:column;justify-content:center;align-items:center;gap:24px;
    opacity:0;visibility:hidden;transition:all .3s ease;
  }
  .nav__menu--open{opacity:1;visibility:visible}
  .nav__menu .nav__link{font-size:1.3rem;color:var(--text)}

  .hero{min-height:auto;padding:120px 0 80px}
  .hero__title{font-size:clamp(1.8rem,6vw,2.8rem)}
  .hero__stats{flex-wrap:wrap;gap:16px}
  .hero__stat-divider{display:none}

  .about,.services,.projects,.contact{padding:80px 0}
  .services__grid,.projects__grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .cta__box{padding:48px 24px}
  .footer__content{flex-direction:column;text-align:center}
  .footer__links{justify-content:center}
}

@media(max-width:480px){
  .container{padding:0 16px}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{width:100%;justify-content:center}
}

/* ---------- Print ---------- */
@media print{
  .header,.cursor-glow,.hero__grid-bg,.hero__orbs,.cta__orb{display:none}
  body{background:#fff;color:#111}
  .gradient-text{-webkit-text-fill-color:#6366f1}
  .hero{min-height:auto;padding:40px 0}
}
