*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --dark: #1a1a1a;
  --mid: #2F2F2F;
  --gray: #585A5D;
  --light-gray: #6A6C70;
  --accent: #127796;
  --accent-light: #1a9ec2;
  --accent-glow: #0d5a73;
  --white: #f0f0f0;
  --dim: #9a9a9e;
}
html { scroll-behavior: smooth; }
body { background: var(--dark); color: var(--white); font-family: 'Manrope', sans-serif; overflow-x: hidden; cursor: default; }

/* CURSOR */
.cursor-dot { width:8px;height:8px;background:var(--accent-light);border-radius:50%;position:fixed;pointer-events:none;z-index:99999;transition:transform .1s; }
.cursor-ring { width:40px;height:40px;border:1.5px solid var(--accent-light);border-radius:50%;position:fixed;pointer-events:none;z-index:99998;transition:transform .15s ease-out,width .3s,height .3s;transform:translate(-50%,-50%); }

/* STARS */
.starfield { position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none; }
.star { position:absolute;background:#fff;border-radius:50%;animation:twinkle var(--dur) ease-in-out infinite alternate; }
@keyframes twinkle { 0%{opacity:var(--min-o);transform:scale(1)} 100%{opacity:var(--max-o);transform:scale(1.5)} }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:1000;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(20px);background:rgba(26,26,26,0.6);border-bottom:1px solid rgba(18,119,150,0.08);transition:all .4s; }
nav.scrolled { padding:16px 48px;background:rgba(26,26,26,0.92); }
.logo { font-family:'Outfit',sans-serif;font-weight:800;font-size:28px;letter-spacing:-1px;display:flex;align-items:center;gap:8px; }
.logo .zero-one { color:var(--accent-light);font-family:'JetBrains Mono',monospace;font-size:24px; }
.logo .planet-text { color:var(--white); }
.nav-links { display:flex;gap:36px;align-items:center; }
.nav-links a { color:var(--dim);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase;transition:color .3s;position:relative; }
.nav-links a::after { content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s; }
.nav-links a:hover { color:var(--accent-light); }
.nav-links a:hover::after { width:100%; }
.nav-cta { padding:10px 28px;background:var(--accent);color:#fff;border:none;border-radius:100px;font-family:'Outfit',sans-serif;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s; }
.nav-cta:hover { transform:scale(1.05);box-shadow:0 0 30px rgba(18,119,150,0.4); }

/* HERO */
.hero { position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden; }
.hero-canvas { position:absolute;top:0;left:0;width:100%;height:100%;z-index:1; }
.hero-content { position:relative;z-index:10;text-align:center;max-width:900px;padding:0 24px; }
.hero-tag { font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--accent-light);letter-spacing:4px;text-transform:uppercase;margin-bottom:24px;opacity:0;animation:fadeSlideUp .8s .3s forwards; }
.hero-title { font-family:'Outfit',sans-serif;font-size:clamp(48px,8vw,120px);font-weight:800;line-height:.95;letter-spacing:-3px;margin-bottom:28px;opacity:0;animation:fadeSlideUp .8s .6s forwards; }
.hero-title .highlight { background:linear-gradient(135deg,var(--accent-light),#0fa3d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.hero-sub { font-size:18px;color:var(--dim);line-height:1.7;max-width:560px;margin:0 auto 40px;opacity:0;animation:fadeSlideUp .8s .9s forwards; }
.hero-btns { display:flex;gap:16px;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeSlideUp .8s 1.2s forwards; }
.btn-primary { padding:16px 40px;background:var(--accent);color:#fff;border:none;border-radius:100px;font-family:'Outfit',sans-serif;font-weight:700;font-size:15px;letter-spacing:.5px;cursor:pointer;transition:all .3s; }
.btn-primary:hover { transform:translateY(-2px);box-shadow:0 10px 40px rgba(18,119,150,0.35); }
.btn-secondary { padding:16px 40px;background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.15);border-radius:100px;font-family:'Outfit',sans-serif;font-weight:600;font-size:15px;cursor:pointer;transition:all .3s; }
.btn-secondary:hover { border-color:var(--accent-light);color:var(--accent-light); }
.scroll-indicator { position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:fadeIn 1s 2s forwards; }
.scroll-indicator span { font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--dim);letter-spacing:3px;text-transform:uppercase; }
.scroll-line { width:1px;height:40px;background:linear-gradient(to bottom,var(--accent-light),transparent);animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%,100%{opacity:.3;transform:scaleY(.5)} 50%{opacity:1;transform:scaleY(1)} }

/* SOLAR SYSTEM DIVIDER */
.solar-system-section { position:relative;height:400px;overflow:hidden; }
.solar-canvas { width:100%;height:100%; }

/* SECTION COMMON */
.section-pad { padding:120px 48px;position:relative;z-index:2; }
.section-header { text-align:center;max-width:700px;margin:0 auto 80px; }
.section-header .section-tag, .section-tag { font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent-light);letter-spacing:4px;text-transform:uppercase;margin-bottom:20px; }
.section-header h2 { font-family:'Outfit',sans-serif;font-size:clamp(36px,4vw,56px);font-weight:800;line-height:1.1;letter-spacing:-2px;margin-bottom:20px; }
.section-header p { font-size:16px;color:var(--dim);line-height:1.7; }

/* ABOUT */
.about-grid { max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.about-left h2 { font-family:'Outfit',sans-serif;font-size:clamp(36px,4vw,56px);font-weight:800;line-height:1.1;letter-spacing:-2px;margin-bottom:24px; }
.about-left p { font-size:16px;color:var(--dim);line-height:1.8;max-width:480px; }
.stats-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.stat-card { padding:32px;background:linear-gradient(135deg,rgba(47,47,47,0.6),rgba(88,90,93,0.2));border:1px solid rgba(255,255,255,0.05);border-radius:20px;backdrop-filter:blur(10px);transition:all .4s;position:relative;overflow:hidden; }
.stat-card::before { content:'';position:absolute;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(18,119,150,0.15),transparent 70%);top:-20px;right:-20px;transition:all .5s; }
.stat-card:hover::before { transform:scale(2); }
.stat-card:hover { border-color:rgba(18,119,150,0.2);transform:translateY(-4px); }
.stat-number { font-family:'Outfit',sans-serif;font-size:42px;font-weight:800;color:var(--accent-light);margin-bottom:4px; }
.stat-label { font-size:13px;color:var(--dim);letter-spacing:1px;text-transform:uppercase; }

/* SERVICES */
.services-grid { max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.service-card { position:relative;padding:48px 36px;background:linear-gradient(160deg,rgba(47,47,47,0.5),rgba(26,26,26,0.8));border:1px solid rgba(255,255,255,0.04);border-radius:24px;overflow:hidden;transition:all .5s cubic-bezier(.23,1,.32,1);cursor:pointer; }
.service-card::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-light),transparent);opacity:0;transition:opacity .5s; }
.service-card:hover::before { opacity:1; }
.service-card:hover { transform:translateY(-8px);border-color:rgba(18,119,150,0.15); }
.service-planet { position:absolute;bottom:-40px;right:-40px;width:160px;height:160px;border-radius:50%;opacity:0;transition:all .7s cubic-bezier(.23,1,.32,1);pointer-events:none;background:radial-gradient(circle at 35% 30%,rgba(18,119,150,0.15),transparent 60%);box-shadow:inset -10px -8px 30px rgba(0,0,0,0.3); }
.service-card:hover .service-planet { opacity:1;transform:scale(1.3) translate(-10px,-10px); }
.service-icon { width:56px;height:56px;border-radius:16px;background:rgba(18,119,150,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:28px;transition:all .4s;position:relative;z-index:2; }
.service-card:hover .service-icon { background:rgba(18,119,150,0.2);transform:scale(1.1) rotate(-5deg);box-shadow:0 0 25px rgba(18,119,150,0.15); }
.service-number { font-family:'JetBrains Mono',monospace;font-size:11px;color:rgba(18,119,150,0.4);letter-spacing:2px;margin-bottom:16px;position:relative;z-index:2; }
.service-card h3 { font-family:'Outfit',sans-serif;font-size:22px;font-weight:700;margin-bottom:14px;letter-spacing:-.5px;position:relative;z-index:2; }
.service-card > p { font-size:14px;color:var(--dim);line-height:1.7;position:relative;z-index:2; }
.service-tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;position:relative;z-index:2; }
.service-tags span { padding:6px 14px;background:rgba(18,119,150,0.06);border:1px solid rgba(18,119,150,0.1);border-radius:100px;font-size:11px;color:var(--dim);letter-spacing:.5px;transition:all .3s; }
.service-card:hover .service-tags span { border-color:rgba(18,119,150,0.25);color:var(--accent-light); }

/* MARQUEE */
.marquee-section { padding:60px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,0.03);border-bottom:1px solid rgba(255,255,255,0.03);position:relative;z-index:2; }
.marquee-track { display:flex;animation:marqueeScroll 25s linear infinite;width:max-content; }
.marquee-item { font-family:'Outfit',sans-serif;font-size:clamp(48px,6vw,80px);font-weight:800;white-space:nowrap;padding:0 40px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.08); }
.marquee-item .dot { display:inline-block;width:12px;height:12px;background:var(--accent);border-radius:50%;margin:0 20px;vertical-align:middle;box-shadow:0 0 12px rgba(18,119,150,0.4); }
@keyframes marqueeScroll { to{transform:translateX(-50%)} }

/* PORTFOLIO TABS */
.portfolio-tabs { display:flex;justify-content:center;gap:8px;margin-bottom:48px;flex-wrap:wrap; }
.portfolio-tab { padding:10px 24px;background:rgba(47,47,47,0.5);border:1px solid rgba(255,255,255,0.06);border-radius:100px;font-family:'Outfit',sans-serif;font-size:14px;font-weight:600;color:var(--dim);cursor:pointer;transition:all .3s;letter-spacing:.3px; }
.portfolio-tab:hover { color:var(--accent-light);border-color:rgba(18,119,150,0.2); }
.portfolio-tab.active { background:var(--accent);color:#fff;border-color:var(--accent); }
.portfolio-category { display:none;max-width:1200px;margin:0 auto; }
.portfolio-category.active { display:block; }
.portfolio-masonry { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:0 auto; }
.portfolio-masonry .p-item { border-radius:16px;overflow:hidden;position:relative;cursor:pointer;transition:all .5s cubic-bezier(.23,1,.32,1);opacity:0;transform:translateY(20px);animation:pItemIn .5s forwards; }
.portfolio-masonry .p-item:nth-child(1){animation-delay:.05s} .portfolio-masonry .p-item:nth-child(2){animation-delay:.1s} .portfolio-masonry .p-item:nth-child(3){animation-delay:.15s}
.portfolio-masonry .p-item:nth-child(4){animation-delay:.2s} .portfolio-masonry .p-item:nth-child(5){animation-delay:.25s} .portfolio-masonry .p-item:nth-child(6){animation-delay:.3s}
.portfolio-masonry .p-item:nth-child(7){animation-delay:.35s} .portfolio-masonry .p-item:nth-child(8){animation-delay:.4s} .portfolio-masonry .p-item:nth-child(9){animation-delay:.45s}
@keyframes pItemIn { to{opacity:1;transform:translateY(0)} }
.portfolio-masonry .p-item:hover { transform:translateY(-6px); }
.portfolio-masonry .p-item img { width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .5s; }
.portfolio-masonry .p-item:hover img { transform:scale(1.05); }
.portfolio-masonry .p-item .p-overlay { position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(26,26,26,0.92) 0%,rgba(26,26,26,0.4) 60%,transparent);opacity:0;transform:translateY(10px);transition:all .35s; }
.portfolio-masonry .p-item:hover .p-overlay { opacity:1;transform:translateY(0); }
.portfolio-masonry .p-item .p-overlay h4 { font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;margin-bottom:3px; }
.portfolio-masonry .p-item .p-overlay span { font-size:11px;color:var(--accent-light);font-family:'JetBrains Mono',monospace; }
.portfolio-empty { text-align:center;padding:80px 20px;color:var(--dim);font-size:16px; }
.portfolio-empty .empty-icon { font-size:48px;margin-bottom:16px;opacity:0.3; }
.portfolio-empty p { max-width:400px;margin:0 auto; }
/* Pagination */
.portfolio-pager { display:flex;align-items:center;justify-content:center;gap:16px;margin-top:48px; }
.pager-btn { width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,0.08);background:rgba(47,47,47,0.5);color:var(--dim);font-size:18px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px); }
.pager-btn:hover:not(:disabled) { border-color:var(--accent-light);color:var(--accent-light);box-shadow:0 0 20px rgba(18,119,150,0.15); }
.pager-btn:disabled { opacity:0.2;cursor:default; }
.pager-dots { display:flex;gap:6px;align-items:center; }
.pager-dot { width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.1);transition:all .3s;cursor:pointer; }
.pager-dot.active { background:var(--accent-light);width:24px;border-radius:4px;box-shadow:0 0 10px rgba(18,119,150,0.3); }
.pager-dot:hover:not(.active) { background:rgba(255,255,255,0.25); }
.pager-info { font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim);letter-spacing:1px;min-width:60px;text-align:center; }
@media (max-width:1024px) { .portfolio-masonry { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px) { .portfolio-masonry { grid-template-columns:repeat(2,1fr);gap:10px; } }
/* Lightbox */
.lightbox { position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.92);z-index:10000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(10px);cursor:zoom-out; }
.lightbox.open { display:flex; }
.lightbox img { max-width:90vw;max-height:90vh;border-radius:12px;box-shadow:0 20px 80px rgba(0,0,0,0.5);animation:lbIn .3s ease-out; }
.lightbox-close { position:absolute;top:24px;right:32px;width:48px;height:48px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;font-size:20px;color:#fff; }
.lightbox-close:hover { background:var(--accent);border-color:var(--accent); }
.lightbox-nav { position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;font-size:18px;color:#fff; }
.lightbox-nav:hover { background:var(--accent);border-color:var(--accent); }
.lightbox-prev { left:24px; }
.lightbox-next { right:24px; }
.lightbox-counter { position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--dim); }
@keyframes lbIn { from{opacity:0;transform:scale(0.9)} to{opacity:1;transform:scale(1)} }

/* PROJECT CARDS (for Software Dev) */
.projects-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto; }
.project-card { position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,rgba(47,47,47,0.5),rgba(26,26,26,0.85));border:1px solid rgba(255,255,255,0.04);cursor:pointer;transition:all .5s cubic-bezier(.23,1,.32,1);aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 20px; }
.project-card::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent-light),transparent);opacity:0;transition:opacity .4s; }
.project-card:hover::before { opacity:1; }
.project-card:hover { transform:translateY(-8px);border-color:rgba(18,119,150,0.2);box-shadow:0 20px 60px rgba(18,119,150,0.08); }
.project-card .proj-icon { width:64px;height:64px;border-radius:18px;background:rgba(18,119,150,0.1);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:28px;transition:all .4s; }
.project-card:hover .proj-icon { background:rgba(18,119,150,0.2);transform:scale(1.1) rotate(-5deg);box-shadow:0 0 25px rgba(18,119,150,0.15); }
.project-card .proj-name { font-family:'Outfit',sans-serif;font-size:18px;font-weight:700;margin-bottom:6px;letter-spacing:-.3px; }
.project-card .proj-type { font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent-light);letter-spacing:1px; }
.project-card .proj-count { position:absolute;top:16px;right:16px;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--dim);background:rgba(255,255,255,0.04);padding:4px 10px;border-radius:100px;border:1px solid rgba(255,255,255,0.06); }
.project-card .proj-thumb { position:absolute;top:0;left:0;width:100%;height:100%;opacity:0.08;transition:opacity .5s;pointer-events:none; }
.project-card .proj-thumb img { width:100%;height:100%;object-fit:cover; }
.project-card:hover .proj-thumb { opacity:0.15; }

/* PROJECT MODAL */
.project-modal { position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.94);z-index:10001;display:none;flex-direction:column;align-items:center;backdrop-filter:blur(12px);overflow-y:auto;padding:0; }
.project-modal.open { display:flex; }
.project-modal-header { width:100%;max-width:1200px;padding:32px 40px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:linear-gradient(to bottom,rgba(0,0,0,0.95) 60%,transparent); }
.project-modal-header h3 { font-family:'Outfit',sans-serif;font-size:24px;font-weight:800; }
.project-modal-header span { font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--accent-light);letter-spacing:1px; }
.project-modal-close { width:48px;height:48px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;font-size:20px;color:#fff;flex-shrink:0; }
.project-modal-close:hover { background:var(--accent);border-color:var(--accent); }
.project-modal-gallery { width:100%;max-width:1200px;padding:0 40px 60px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.project-modal-gallery img { width:100%;border-radius:12px;cursor:pointer;transition:all .4s;border:1px solid rgba(255,255,255,0.04); }
.project-modal-gallery img:hover { transform:scale(1.02);border-color:rgba(18,119,150,0.2);box-shadow:0 10px 40px rgba(0,0,0,0.4); }
@media (max-width:1024px) { .projects-grid { grid-template-columns:repeat(3,1fr); } .project-modal-gallery { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px) { .projects-grid { grid-template-columns:repeat(2,1fr);gap:16px; } .project-modal-gallery { grid-template-columns:1fr 1fr;padding:0 20px 40px; } .project-modal-header { padding:20px 20px 16px; } .project-card { padding:24px 16px; } }
@media (max-width:768px) {
  .portfolio-masonry { columns:2; }
}

/* CLIENTS */
.clients-grid { max-width:1100px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:60px;flex-wrap:wrap; }
.client-logo { display:flex;flex-direction:column;align-items:center;gap:16px;opacity:0.45;transition:all .5s;cursor:default; }
.client-logo:hover { opacity:1;transform:translateY(-6px); }
.client-logo img { width:100px;height:100px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,0.06);transition:all .4s; }
.client-logo:hover img { border-color:rgba(18,119,150,0.25);box-shadow:0 0 40px rgba(18,119,150,0.12); }
.client-logo .logo-circle { width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,rgba(47,47,47,0.8),rgba(26,26,26,0.9));border:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:800;font-size:28px;color:var(--accent-light);transition:all .4s;position:relative;overflow:hidden; }
.client-logo:hover .logo-circle { border-color:rgba(18,119,150,0.25);box-shadow:0 0 40px rgba(18,119,150,0.12); }
.client-logo .logo-circle .orbit-ring-mini { position:absolute;width:90px;height:90px;border:1px solid rgba(18,119,150,0.08);border-radius:50%;animation:orbitSpin 10s linear infinite; }
.client-logo span { font-size:13px;color:var(--dim);font-weight:500;letter-spacing:.5px;white-space:nowrap; }
@keyframes orbitSpin { to{transform:rotate(360deg)} }

/* PORTFOLIO — see tabs CSS above */

/* PACKAGES */
.packages-grid { max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.package-card { padding:48px 36px;background:linear-gradient(160deg,rgba(47,47,47,0.5),rgba(26,26,26,0.8));border:1px solid rgba(255,255,255,0.04);border-radius:24px;position:relative;overflow:hidden;transition:all .5s; }
.package-card.featured { border-color:rgba(18,119,150,0.2);background:linear-gradient(160deg,rgba(18,119,150,0.08),rgba(26,26,26,0.9)); }
.package-card:hover { transform:translateY(-8px);border-color:rgba(18,119,150,0.2); }
.package-badge { position:absolute;top:24px;right:24px;padding:5px 14px;background:var(--accent);color:#fff;border-radius:100px;font-size:10px;font-family:'JetBrains Mono',monospace;font-weight:700;letter-spacing:1px; }
.package-name { font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent-light);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px; }
.package-title { font-family:'Outfit',sans-serif;font-size:28px;font-weight:800;margin-bottom:8px;letter-spacing:-1px; }
.package-price { font-family:'Outfit',sans-serif;font-size:40px;font-weight:800;color:var(--accent-light);margin-bottom:24px; }
.package-price small { font-size:16px;color:var(--dim);font-weight:400; }
.package-list { list-style:none;margin-bottom:32px; }
.package-list li { padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:14px;color:var(--dim);display:flex;align-items:center;gap:10px; }
.package-list li::before { content:'✦';color:var(--accent-light);font-size:10px; }
.package-btn { width:100%;padding:14px;background:rgba(88,90,93,0.5);color:var(--accent-light);border:1px solid rgba(18,119,150,0.15);border-radius:100px;font-family:'Outfit',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:all .3s; }
.package-btn:hover { background:var(--accent);color:#fff;border-color:var(--accent); }
.package-card.featured .package-btn { background:var(--accent);color:#fff;border-color:var(--accent); }
.package-card.featured .package-btn:hover { box-shadow:0 10px 30px rgba(18,119,150,0.3); }

/* TEAM */
.team-grid { max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px; }
.team-card { text-align:center;transition:all .4s; }
.team-card:hover { transform:translateY(-6px); }
.team-avatar { width:140px;height:140px;border-radius:50%;margin:0 auto 20px;position:relative;background:linear-gradient(135deg,rgba(47,47,47,0.8),rgba(26,26,26,0.9));border:2px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .4s; }
.team-card:hover .team-avatar { border-color:rgba(18,119,150,0.3);box-shadow:0 0 40px rgba(18,119,150,0.1); }
.team-avatar img { width:100%;height:100%;object-fit:cover;border-radius:50%; }
.team-avatar .avatar-letter { font-family:'Outfit',sans-serif;font-size:48px;font-weight:800;color:rgba(18,119,150,0.3);transition:all .4s; }
.team-card:hover .avatar-letter { color:var(--accent-light); }
.team-avatar .orbit-anim { position:absolute;width:130px;height:130px;border:1px solid rgba(18,119,150,0.06);border-radius:50%;animation:orbitSpin 8s linear infinite; }
.team-avatar .orbit-anim::before { content:'';position:absolute;top:-3px;left:50%;width:6px;height:6px;background:var(--accent-light);border-radius:50%;opacity:0.4; }
.team-card h4 { font-family:'Outfit',sans-serif;font-size:18px;font-weight:700;margin-bottom:4px; }
.team-card p { font-size:13px;color:var(--dim);letter-spacing:.5px; }

/* REELS */
.reels-track-wrapper { overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;padding:0 48px; }
.reels-track-wrapper::-webkit-scrollbar { display:none; }
.reels-track { display:flex;gap:20px;width:max-content; }
.reel-card { width:280px;height:480px;border-radius:20px;background:linear-gradient(160deg,rgba(47,47,47,0.6),rgba(26,26,26,0.9));border:1px solid rgba(255,255,255,0.04);overflow:hidden;position:relative;cursor:pointer;transition:all .5s;flex-shrink:0; }
.reel-card:hover { transform:translateY(-8px) scale(1.02);border-color:rgba(18,119,150,0.2); }
.reel-placeholder { width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px; }
.reel-play { width:60px;height:60px;border-radius:50%;background:rgba(18,119,150,0.15);border:2px solid rgba(18,119,150,0.25);display:flex;align-items:center;justify-content:center;transition:all .4s; }
.reel-card:hover .reel-play { background:var(--accent);border-color:var(--accent);box-shadow:0 0 30px rgba(18,119,150,0.3); }
.reel-play svg { margin-left:3px; }
.reel-title { font-size:13px;color:var(--dim);font-weight:500;padding:0 20px;text-align:center; }

/* VISION */
.vision-section { position:relative;overflow:hidden; }
.vision-canvas { position:absolute;top:0;left:0;width:100%;height:100%;z-index:0; }
.vision-content { position:relative;z-index:5;max-width:800px;margin:0 auto;text-align:center; }
.vision-content h2 { font-family:'Outfit',sans-serif;font-size:clamp(36px,5vw,64px);font-weight:800;letter-spacing:-2px;margin-bottom:24px; }
.vision-content p { font-size:18px;color:var(--dim);line-height:1.9;max-width:600px;margin:0 auto; }
.vision-quote { font-family:'Outfit',sans-serif;font-style:italic;font-size:24px;color:var(--accent-light);margin-top:40px;font-weight:300;letter-spacing:-.5px; }

/* PROCESS */
.process-orbit { max-width:800px;margin:0 auto;position:relative;height:600px;display:flex;align-items:center;justify-content:center; }
.orbit-center { width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,var(--accent-light),rgba(18,119,150,0.3));display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:800;font-size:20px;color:#fff;z-index:5;box-shadow:0 0 80px rgba(18,119,150,0.25);animation:pulse 3s ease-in-out infinite; }
@keyframes pulse { 0%,100%{box-shadow:0 0 80px rgba(18,119,150,0.25)} 50%{box-shadow:0 0 120px rgba(18,119,150,0.4)} }
.orbit-path { position:absolute;border:1px dashed rgba(18,119,150,0.1);border-radius:50%;animation:orbitSpin 40s linear infinite; }
.orbit-path:nth-child(2){width:300px;height:300px;animation-duration:30s}
.orbit-path:nth-child(3){width:450px;height:450px;animation-duration:50s;animation-direction:reverse}
.orbit-path:nth-child(4){width:580px;height:580px;animation-duration:60s}
.process-step { position:absolute;padding:16px 24px;background:rgba(47,47,47,0.8);border:1px solid rgba(18,119,150,0.1);border-radius:16px;backdrop-filter:blur(10px);z-index:6;transition:all .3s; }
.process-step:hover { border-color:rgba(18,119,150,0.3);transform:scale(1.05);box-shadow:0 0 20px rgba(18,119,150,0.1); }
.process-step .step-num { font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--accent-light);letter-spacing:2px; }
.process-step h4 { font-family:'Outfit',sans-serif;font-size:15px;font-weight:700;margin-top:4px; }
.process-step:nth-child(5){top:40px;left:50%;transform:translateX(-50%)}
.process-step:nth-child(6){top:50%;right:20px;transform:translateY(-50%)}
.process-step:nth-child(7){bottom:40px;left:50%;transform:translateX(-50%)}
.process-step:nth-child(8){top:50%;left:20px;transform:translateY(-50%)}

/* CTA */
.cta-section { padding:200px 48px 160px;position:relative;z-index:2;text-align:center;overflow:hidden; }
.cta-canvas { position:absolute;top:0;left:0;width:100%;height:100%;z-index:0; }
.cta-section > .reveal { position:relative;z-index:5; }
.cta-planet { width:300px;height:300px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(106,108,112,0.35),rgba(47,47,47,0.55) 50%,rgba(26,26,26,0.95));margin:0 auto 60px;position:relative;z-index:5;animation:ctaFloat 6s ease-in-out infinite;box-shadow:inset -40px -20px 60px rgba(0,0,0,0.5),0 0 100px rgba(18,119,150,0.08); }
.cta-planet::before { content:'';position:absolute;top:50%;left:-70px;right:-70px;height:100%;border:2px solid rgba(18,119,150,0.12);border-radius:50%;transform:translateY(-50%) rotateX(75deg);animation:ringRotate 20s linear infinite; }
.cta-planet::after { content:'';position:absolute;top:50%;left:-50px;right:-50px;height:80%;border:1px solid rgba(18,119,150,0.06);border-radius:50%;transform:translateY(-50%) rotateX(75deg) rotateZ(15deg);animation:ringRotate 30s linear infinite reverse; }
.cta-planet .planet-shine { position:absolute;top:15%;left:20%;width:30%;height:30%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.06),transparent 70%); }
.cta-planet .planet-atmosphere { position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(18,119,150,0.08),transparent 60%); }
.cta-planet .mini-moon { position:absolute;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(26,158,194,0.7),rgba(18,119,150,0.3));box-shadow:0 0 15px rgba(18,119,150,0.3);animation:moonOrbit 8s linear infinite; }
.cta-planet .mini-moon:nth-child(4) { width:8px;height:8px;animation:moonOrbit2 12s linear infinite; }
@keyframes ctaFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-20px)} }
@keyframes ringRotate { to{transform:translateY(-50%) rotateX(75deg) rotateZ(360deg)} }
@keyframes moonOrbit { 0%{top:50%;left:-30px} 25%{top:-20px;left:50%} 50%{top:50%;right:-30px;left:auto} 75%{top:110%;left:50%} 100%{top:50%;left:-30px} }
@keyframes moonOrbit2 { 0%{bottom:-20px;right:20%;top:auto;left:auto} 25%{top:20%;right:-20px;bottom:auto} 50%{top:-20px;left:30%;right:auto} 75%{bottom:20%;left:-15px;top:auto} 100%{bottom:-20px;right:20%;top:auto;left:auto} }
.cta-section h2 { font-family:'Outfit',sans-serif;font-size:clamp(36px,5vw,64px);font-weight:800;letter-spacing:-2px;margin-bottom:20px; }
.cta-section p { font-size:18px;color:var(--dim);margin-bottom:40px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.7; }
.cta-section .btn-primary { font-size:16px;padding:20px 50px; }

/* FOOTER */
footer { padding:60px 48px 40px;border-top:1px solid rgba(255,255,255,0.04);position:relative;z-index:2; }
.footer-grid { max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:start;gap:40px;flex-wrap:wrap; }
.footer-brand .logo { margin-bottom:12px; }
.footer-brand p { font-size:13px;color:var(--dim);max-width:280px;line-height:1.6; }
.footer-col h4 { font-family:'Outfit',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--white);margin-bottom:16px; }
.footer-col a { display:block;font-size:14px;color:var(--dim);text-decoration:none;margin-bottom:10px;transition:color .3s; }
.footer-col a:hover { color:var(--accent-light); }
.footer-bottom { max-width:1200px;margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,0.04);display:flex;justify-content:space-between;align-items:center; }
.footer-bottom span { font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim); }

/* ANIMATIONS */
@keyframes fadeSlideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
.reveal { opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.23,1,.32,1); }
.reveal.visible { opacity:1;transform:translateY(0); }
.noise { position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;pointer-events:none;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat; }
.glow-orb { position:absolute;width:500px;height:500px;border-radius:50%;filter:blur(120px);opacity:0.06;pointer-events:none;z-index:1; }

/* LANG TOGGLE */
.lang-toggle { display:flex;align-items:center;gap:0;margin-left:16px; }
.lang-btn { padding:8px 14px;background:transparent;color:var(--dim);border:1px solid rgba(255,255,255,0.08);font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:all .3s; }
.lang-btn:first-child { border-radius:100px 0 0 100px;border-right:none; }
.lang-btn:last-child { border-radius:0 100px 100px 0; }
.lang-btn.active { background:var(--accent);color:#fff;border-color:var(--accent); }
.lang-btn:hover:not(.active) { color:var(--accent-light);border-color:rgba(18,119,150,0.2); }

/* RTL SUPPORT */
html[dir="rtl"] body { font-family:'Noto Kufi Arabic','Manrope',sans-serif; }
html[dir="rtl"] .hero-title,
html[dir="rtl"] .about-left h2,
html[dir="rtl"] .section-header h2,
html[dir="rtl"] .cta-section h2,
html[dir="rtl"] .vision-content h2,
html[dir="rtl"] .service-card h3,
html[dir="rtl"] .package-title,
html[dir="rtl"] .team-card h4,
html[dir="rtl"] .stat-number { font-family:'Noto Kufi Arabic','Outfit',sans-serif;letter-spacing:0; }
html[dir="rtl"] .hero-tag,
html[dir="rtl"] .section-tag,
html[dir="rtl"] .service-number,
html[dir="rtl"] .package-name,
html[dir="rtl"] .step-num,
html[dir="rtl"] .stat-label,
html[dir="rtl"] .package-badge,
html[dir="rtl"] .footer-col h4 { font-family:'Noto Kufi Arabic','JetBrains Mono',monospace;letter-spacing:1px; }
html[dir="rtl"] .nav-links { direction:rtl; }
html[dir="rtl"] .nav-links a { letter-spacing:0; }
html[dir="rtl"] .about-grid { direction:rtl; }
html[dir="rtl"] .footer-grid { direction:rtl; }
html[dir="rtl"] .service-tags { direction:rtl; }
html[dir="rtl"] .hero-title { letter-spacing:0; }
html[dir="rtl"] .package-list li { direction:rtl;text-align:right; }
html[dir="rtl"] .marquee-track { animation-direction:reverse; }

/* Floating 3D section separators */
.space-divider { position:relative;height:200px;overflow:hidden;z-index:2; }
.space-divider canvas { width:100%;height:100%; }

/* RESPONSIVE */
@media (max-width:1024px) {
  .services-grid,.packages-grid,.portfolio-grid { grid-template-columns:repeat(2,1fr); }
  .about-grid { grid-template-columns:1fr;gap:60px; }
  .team-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px) {
  nav { padding:16px 24px; }
  .nav-links { display:none; }
  .services-grid,.packages-grid,.team-grid { grid-template-columns:1fr; }
  .portfolio-grid { grid-template-columns:1fr 1fr; }
  .section-pad { padding:80px 24px; }
  .cursor-dot,.cursor-ring,.follower-planet { display:none; }
  .stats-grid { grid-template-columns:1fr 1fr;gap:16px; }
  .process-orbit { display:none; }
  .solar-system-section { height:250px; }
  .cta-planet { width:200px;height:200px; }
  .clients-grid { gap:30px; }
  .client-logo img { width:75px;height:75px; }
  .client-logo .logo-circle { width:75px;height:75px;font-size:22px; }
}