:root{
      --bg:#0f1724; /* deep navy */
      --card:#1a2436;
      --muted:#94a3b8;
      --accent:#ff6f00; /* orange accent */
      --accent-2:#00b4d8; /* teal accent */
      --accent-3:#ff9e3a; /* lighter orange */
      --glass: rgba(255,255,255,0.06);
      --maxw:1200px;
      --transition: all 0.3s ease;
    }
    *{box-sizing:border-box; margin:0; padding:0;}
    html,body{height:100%; scroll-behavior: smooth;}
    body{
      margin:0;
      font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;
      background: linear-gradient(180deg,#071229 0%, #0d1b2b 100%);
      color:#e6eef8;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      line-height:1.45;
      overflow-x: hidden;
    }
    a{color:var(--accent);text-decoration:none; transition: var(--transition);}
    a:hover{color: var(--accent-3);}
    .container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

    /* Header */
    header{
      position:sticky;top:0;z-index:60;background:linear-gradient(180deg, rgba(6,10,20,0.9), rgba(6,10,20,0.7));backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,0.03);
      transition: var(--transition);
    }
    header.scrolled {
      background: rgba(6,10,20,0.95);
      box-shadow: 0 5px 20px rgba(0,0,0,0.2);
    }
    .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px; transition: var(--transition);}
    .brand{display:flex;gap:12px;align-items:center}
    .brand img{
        width:200px;
        height:auto;
    }
    .brand:hover .logo {
      transform: rotate(5deg) scale(1.05);
      box-shadow: 0 8px 20px rgba(255, 111, 0, 0.3);
    }
    .brand .title{font-weight:700;font-size:16px}
    nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
    nav ul li{font-weight:600;color:var(--muted); position: relative;}
    nav ul li a {padding: 8px 0; position: relative;}
    nav ul li a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 2px;
      background: var(--accent);
      transition: var(--transition);
    }
    nav ul li a:hover::after,
    nav ul li a.active::after {
      width: 100%;
    }
    .cta{display:flex;gap:10px;align-items:center}
    .btn{
      background:var(--accent);color:#081022;padding:10px 16px;border-radius:10px;border:0;font-weight:700;cursor:pointer;
      transition: var(--transition); display: inline-flex; align-items: center; gap: 8px;
    }
    .btn:hover {
      background: var(--accent-3); transform: translateY(-2px); box-shadow: 0 6px 15px rgba(255, 111, 0, 0.3);
    }
    .btn.ghost{
      background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted);padding:8px 12px;
    }
    .btn.ghost:hover {
      background: rgba(255,255,255,0.05); color: #fff; border-color: rgba(255,255,255,0.1);
    }

    /* Mobile nav */
    .menu-toggle{
      display:none;
      border:0;
      background:transparent;
      color:var(--muted);
      font-size:24px;
      cursor: pointer;
      z-index: 100;
      padding: 8px;
      border-radius: 6px;
      transition: var(--transition);
    }
    .menu-toggle:hover {
      background: rgba(255,255,255,0.05);
      color: var(--accent);
    }
    .mobile-nav {
      position: fixed;
      top: 0;
      right: -100%;
      width: 280px;
      height: 100vh;
      background: linear-gradient(180deg, var(--bg), rgba(26,35,50,0.95));
      z-index: 90;
      padding: 100px 25px 40px;
      transition: var(--transition);
      box-shadow: -5px 0 25px rgba(0,0,0,0.2);
      display: flex;
      flex-direction: column;
    }
    .mobile-nav.active {
      right: 0;
    }
    .mobile-nav-header {
      margin-bottom: 20px;
      padding-bottom: 15px;
      border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .mobile-nav ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 20px;
      flex: 1;
    }
    .mobile-nav ul li a {
      color: var(--muted);
      font-weight: 600;
      font-size: 18px;
      display: block;
      padding: 15px 0;
      border-radius: 8px;
      transition: var(--transition);
    }
    .mobile-nav ul li a:hover,
    .mobile-nav ul li a.active {
      color: var(--accent);
      background: rgba(255,122,26,0.1);
      padding-left: 15px;
    }
    .mobile-cta {
      display: flex;
      flex-direction: column;
      gap: 12px;
      margin-top: auto;
      padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,0.1);
    }
    .mobile-cta .btn {
      width: 100%;
      justify-content: center;
      padding: 16px;
      font-size: 16px;
      margin-bottom: 8px;
      border-radius: 10px;
    }
    .mobile-cta .btn:last-child {
      margin-bottom: 0;
    }
    .overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.7);
      backdrop-filter: blur(4px);
      z-index: 80;
      opacity: 0;
      visibility: hidden;
      transition: var(--transition);
    }
    .overlay.active {
      opacity: 1;
      visibility: visible;
    }
    @media (max-width:900px){
      nav ul{display:none}
      .menu-toggle{display:inline-block}
      .cta{display:none}
    }

    /* Hero */
    .hero{
      padding:100px 0 60px;position:relative;overflow:hidden
    }
    .hero::before {
      content: '';
      position: absolute;
      top: -100px;
      right: -100px;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 111, 0, 0.15) 0%, transparent 70%);
      z-index: -1;
    }
    .hero-grid{display:grid;grid-template-columns:1fr 420px;gap:36px;align-items:center}
    .hero-left small{color:var(--muted);font-weight:600; text-transform: uppercase; letter-spacing: 1px;}
    .hero h1{font-size:42px;margin:12px 0 10px;line-height:1.05;color:#fff; font-weight: 800;}
    .hero p{color:var(--muted);max-width:760px; font-size: 17px;}
    .hero-actions{display:flex;gap:12px;margin-top:18px; flex-wrap: wrap;}
    .kpi{display:flex;gap:18px;margin-top:28px; flex-wrap: wrap;}
    .kpi .box{background:var(--glass);padding:18px;border-radius:12px;min-width:120px;text-align:center; transition: var(--transition);}
    .kpi .box:hover {
      transform: translateY(-5px);
      background: rgba(255,255,255,0.08);
    }
    .kpi .num{font-size:22px;font-weight:800;color:var(--accent); display: flex; align-items: center; justify-content: center; gap: 5px;}

    .hero-right{position:relative}
    .hero-art{width:100%;border-radius:14px;overflow:hidden;box-shadow: 0 20px 60px rgba(3,7,18,0.6); position: relative;}
    .hero-art::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(45deg, rgba(15,23,36,0.4), transparent);
      z-index: 1;
    }
    .hero-art img{display:block;width:100%;height:100%;object-fit:cover; transition: var(--transition);}
    .hero-art:hover img {
      transform: scale(1.03);
    }
    .ribbon{position:absolute;left:-40px;top:20px;background:linear-gradient(90deg,var(--accent),#ff913b);padding:8px 56px;color:#071022;font-weight:800;transform:rotate(-10deg);border-radius:8px;box-shadow:0 8px 18px rgba(0,0,0,0.35); z-index: 2;}

    /* Sections */
    section.card{
      background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
      border-radius:14px;
      padding:32px;
      margin-top:30px;
      border: 1px solid rgba(255,255,255,0.03);
      box-shadow: 0 10px 30px rgba(0,0,0,0.2);
      transition: var(--transition);
    }
    section.card:hover {
      box-shadow: 0 15px 40px rgba(0,0,0,0.25);
      transform: translateY(-3px);
    }

    .about-grid{display:grid;grid-template-columns:1fr 380px;gap:30px;align-items:start}
    .about h2{color:var(--accent-2);margin:0 0 12px; font-size: 28px;}
    .meta{background:rgba(255,255,255,0.02);padding:20px;border-radius:10px;color:var(--muted);display:flex;flex-direction:column;gap:12px; border: 1px solid rgba(255,255,255,0.03);}
    .meta strong{color:#fff}
    .meta div {display: flex; align-items: center; gap: 10px;}
    .meta i {color: var(--accent); width: 20px;}

    /* Services */
    .services-grid{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}
    .service{background:#071022;border-radius:10px;padding:20px;flex:1;min-width:220px;box-shadow:0 8px 30px rgba(2,6,14,0.6); transition: var(--transition); position: relative; overflow: hidden;}
    .service::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 5px;
      height: 0;
      background: var(--accent);
      transition: var(--transition);
    }
    .service:hover {
      transform: translateY(-5px);
      box-shadow: 0 12px 40px rgba(2,6,14,0.7);
    }
    .service:hover::before {
      height: 100%;
    }
    .service h3{margin:0 0 8px;color:var(--accent); display: flex; align-items: center; gap: 10px;}
    .service p{color:var(--muted);font-size:14px; margin-bottom: 0;}

    /* Portfolio */
    .portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px}
    .card-portfolio{background:#071728;border-radius:12px;padding:0; overflow: hidden; transition: var(--transition); position: relative;}
    .card-portfolio:hover {
      transform: translateY(-5px);
      box-shadow: 0 15px 30px rgba(0,0,0,0.3);
    }
    .card-portfolio-img {height: 180px; overflow: hidden;}
    .card-portfolio img{width:100%;height:100%;object-fit:cover; transition: var(--transition);}
    .card-portfolio:hover img {
      transform: scale(1.05);
    }
    .card-portfolio-content {padding: 16px;}
    .card-portfolio h4{margin:10px 0 6px; color: #fff;}
    .card-portfolio p{color:var(--muted);font-size:14px; margin-bottom: 0;}

    /* Testimonials */
    .testimonials {margin-top: 40px;}
    .testimonials-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 20px;}
    .testimonial {background: rgba(255,255,255,0.02); border-radius: 12px; padding: 20px; border: 1px solid rgba(255,255,255,0.03);}
    .testimonial-text {color: var(--muted); font-style: italic; margin-bottom: 15px;}
    .testimonial-author {display: flex; align-items: center; gap: 12px;}
    .testimonial-avatar {width: 40px; height: 40px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; color: #071229; font-weight: bold;}
    .testimonial-info {display: flex; flex-direction: column;}
    .testimonial-name {font-weight: 600; color: #fff;}
    .testimonial-role {font-size: 14px; color: var(--muted);}

    /* Contact */
    .contact-grid{display:grid;grid-template-columns:1fr 420px;gap:30px}
    .form-group {margin-bottom: 16px;}
    .form input,.form textarea{width:100%;padding:14px;border-radius:8px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.03);color:#e6eef8;margin-bottom:10px; transition: var(--transition); font-family: inherit;}
    .form input:focus,.form textarea:focus {
      outline: none;
      border-color: var(--accent);
      background: rgba(255,255,255,0.05);
      box-shadow: 0 0 0 3px rgba(255, 111, 0, 0.1);
    }
    .form button{display:inline-flex; align-items: center; gap: 8px;}
    .form-success {
      display: none;
      background: rgba(0, 180, 216, 0.1);
      border: 1px solid var(--accent-2);
      color: var(--accent-2);
      padding: 16px;
      border-radius: 8px;
      margin-top: 16px;
    }

    /* Back to top */
    .back-to-top {
      position: fixed;
      bottom: 30px;
      right: 30px;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background: var(--accent);
      color: #071229;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transition: var(--transition);
      box-shadow: 0 5px 15px rgba(0,0,0,0.2);
      z-index: 99;
    }
    .back-to-top.visible {
      opacity: 1;
      visibility: visible;
    }
    .back-to-top:hover {
      background: var(--accent-3);
      transform: translateY(-3px);
    }

    footer{margin-top:38px;padding:28px 0;color:var(--muted);border-top:1px solid rgba(255,255,255,0.03); background: rgba(6,10,20,0.5);}
    .footer-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
    }
    .footer-col h4 {color: #fff; margin-bottom: 16px; font-size: 18px;}
    .footer-links {list-style: none;}
    .footer-links li {margin-bottom: 10px;}
    .footer-links a {color: var(--muted); display: flex; align-items: center; gap: 8px;}
    .footer-links a:hover {color: var(--accent);}
    .social-links {display: flex; gap: 12px; margin-top: 16px;}
    .social-links a {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: rgba(255,255,255,0.05);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: var(--transition);
    }
    .social-links a:hover {
      background: var(--accent);
      color: #071229;
      transform: translateY(-3px);
    }

    /* Responsive smaller */
    @media (max-width:1000px){
      .hero-grid{grid-template-columns:1fr}
      .about-grid{grid-template-columns:1fr}
      .contact-grid{grid-template-columns:1fr}
      .portfolio{grid-template-columns:repeat(2,1fr)}
      .testimonials-grid {grid-template-columns: 1fr;}
      .footer-grid {grid-template-columns: repeat(2, 1fr);}
      .hero h1{font-size:34px}
    }
    @media (max-width:640px){
      .portfolio{grid-template-columns:1fr}
      .footer-grid {grid-template-columns: 1fr;}
      .hero h1{font-size:28px}
      .brand .title{display:none}
      .hero-actions {flex-direction: column; align-items: flex-start;}
      .kpi {flex-direction: column;}
      .container {padding: 0 15px;}
      .nav {padding: 14px 15px;}
      .hero {padding: 80px 0 40px;}
      section.card {padding: 24px;}
      .about-grid {gap: 20px;}
      .contact-grid {gap: 20px;}
    }

    /* Animations */
    .fade-up{transform:translateY(20px);opacity:0;transition:transform 0.6s ease, opacity 0.6s ease}
    .fade-up.appear{transform:none;opacity:1}
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }