:root{
    --primary:#87CEEB;
    --accent:#5DADE2;
    --bg:#ffffff;
    --text:#14303a;
    --muted:#60727a;
    --transition:300ms cubic-bezier(.2,.9,.2,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;font-family:Inter,Arial, sans-serif}
  body{background:var(--bg);color:var(--text)}
  a{text-decoration:none;color:inherit}
  img,video{max-width:100%;display:block}

  /* NAVBAR */
  header{
    position:sticky;top:0;left:0;right:0;z-index:1500;
    background:rgba(255,255,255,0.9);
    backdrop-filter:blur(8px);
    box-shadow:0 2px 8px rgba(0,0,0,0.05);
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    max-width:1200px;margin:auto;padding:10px 16px;
  }
  .brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--primary);font-size:20px}
  .socials{display:none;gap:10px;margin-left:10px}
  .socials a{color:var(--muted);font-size:16px;transition:color var(--transition)}
  .socials a:hover{color:var(--primary)}
  .nav-links{display:flex;gap:16px}
  .nav-links a{padding:8px;border-radius:6px;font-weight:600;transition:background var(--transition)}
  .nav-links a:hover{background:rgba(135,206,235,0.15);color:var(--primary)}
  .hamburger{display:none;font-size:22px;cursor:pointer;color:var(--primary)}

  /* Mobile menu */
  .mobile-menu{
    position:fixed;top:0;right:-260px;width:260px;height:100%;
    background:white;box-shadow:-4px 0 12px rgba(0,0,0,0.15);
    transition:right 0.4s ease;z-index:2000;padding:20px;
    display:flex;flex-direction:column;gap:18px;
  }
  .mobile-menu.open{right:0}
  .mobile-menu a{font-weight:600;padding:10px;border-radius:6px;color:var(--text)}
  .mobile-menu a:hover{background:rgba(135,206,235,0.15);color:var(--primary)}
  .mobile-close{text-align:right;font-size:20px;cursor:pointer;color:var(--muted)}

  /* HERO horizontal scroll */
  .hero-wrapper{position:relative;overflow:hidden}
  .hero-slides{
    display:flex;scroll-snap-type:x mandatory;overflow-x:auto;scroll-behavior:smooth;
    width:100vw;height:100vh;
  }
  .slide{
    position:relative;min-width:100%;height:100vh;scroll-snap-align:start;
    display:flex;align-items:center;justify-content:center;color:#fff;
  }
  .slide video,.slide .bg{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  }
  .slide::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(8,46,76,0.45),rgba(135,206,235,0.25));
  }
  .slide-content{
    position:relative;z-index:2;text-align:center;max-width:800px;padding:20px;
  }
  .slide h2{font-size:2rem;margin-bottom:10px}
  .slide p{font-size:1rem;margin-bottom:14px}
  .btn{background:var(--bg);color:var(--primary);padding:10px 18px;border:none;border-radius:30px;font-weight:600;cursor:pointer}
  .btn:hover{opacity:0.9}

  /* Responsive */
  @media(max-width:768px){
    .nav-links{display:none}
    .socials{display:flex}
    .hamburger{display:block}
  }
  


  :root{
    --primary: #87CEEB;      /* sky blue */
    --accent:  #5DADE2;
    --bg:      #ffffff;
    --text:    #14303a;
    --muted:   #60727a;
    --card-r:  12px;
    --shadow:  0 12px 30px rgba(6,30,41,0.08);
    --glass:   rgba(255,255,255,0.7);
    --transition: 300ms cubic-bezier(.2,.9,.2,1);
  }
  /* base */
  *{box-sizing:border-box;margin:0;padding:0;font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial}
  html,body{height:100%}
  body{
    background:var(--bg);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1.45;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .container{max-width:1200px;margin:0 auto;padding:0 18px}

  /* NAVBAR */
  header{
    position:sticky;top:0;left:0;right:0;z-index:1500;
    background:linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.85));
    backdrop-filter: blur(6px);
    box-shadow: 0 6px 18px rgba(12,40,56,0.06);
    transition: box-shadow var(--transition), background var(--transition);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;max-width:1200px;margin:0 auto}
  .brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--primary);font-size:20px}
  .brand .logo{display:flex;align-items:center;gap:8px}
  .brand .logo i{font-size:20px; transform:rotate(-10deg)}
  .nav-links{display:flex;gap:10px;align-items:center}
  .nav-links a{padding:8px 10px;border-radius:8px;font-weight:600;color:var(--text);transition:all var(--transition)}
  .nav-links a:hover{background:rgba(135,206,235,0.12);color:var(--primary);transform:translateY(-3px)}

  /* social icons (mobile position between brand and burger) */
  .socials{display:none;gap:8px;align-items:center}
  .socials a{padding:6px;border-radius:8px;color:var(--muted);transition:all var(--transition)}
  .socials a:hover{color:var(--primary);transform:translateY(-3px)}

  /* user/cart icons */
  .nav-actions{display:flex;gap:10px;align-items:center}
  .icon-btn{padding:8px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:transform var(--transition)}
  .icon-btn:hover{transform:translateY(-3px);color:var(--primary)}
  .badge{position:relative;background:var(--primary);color:white;border-radius:50%;width:18px;height:18px;display:inline-flex;justify-content:center;align-items:center;font-size:11px;margin-left:-10px;margin-top:-18px}

  /* hamburger */
  .hamburger{display:none;font-size:20px;padding:8px;border-radius:8px;cursor:pointer}

  /* HERO with 3 scroll-snap slides */
  .hero-wrapper{
    height:100vh;
    overflow: hidden;
    position:relative;
  }
  .hero-slides{
    height:100vh;
    scroll-snap-type:y mandatory;
    overflow-y:scroll;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
  }
  .slide{
    height:100vh;
    min-height:480px;
    scroll-snap-align:start;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    color: #fff;
  }
  /* media backgrounds */
  .slide .media{
    position:absolute;inset:0;background-size:cover;background-position:center center;z-index:0;filter:contrast(0.95) saturate(1.05)
  }
  .slide .media.video-bg{object-fit:cover;width:100%;height:100%;display:block}
  /* overlay */
  .slide::after{
    content:'';position:absolute;inset:0;background:linear-gradient(135deg, rgba(8,46,76,0.45), rgba(135,206,235,0.12));mix-blend-mode:multiply;z-index:1;
  }
  .slide-content{position:relative;z-index:2;text-align:center;max-width:1000px;padding:28px}
  .slide h2{font-size:2rem;margin-bottom:10px;text-shadow:0 10px 30px rgba(2,6,23,0.4)}
  .slide p{max-width:780px;margin:0 auto 14px;color:rgba(255,255,255,0.95);font-size:1rem}
  .slide .hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

  .btn{background:var(--bg);color:var(--primary);padding:10px 16px;border-radius:999px;font-weight:700;border:none;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,0.12);transition:transform var(--transition)}
  .btn.outline{background:transparent;border:2px solid rgba(255,255,255,0.9);color:var(--bg)}
  .btn:hover{transform:translateY(-6px)}

  /* typing effect small tagline */
  .type { color: #fff; font-weight:700; font-size:1.05rem; display:block; margin-bottom:10px; opacity:0.95 }

  /* MAIN sections */
  section{padding:48px 0}
  .section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
  .section-head h3{color:var(--primary);font-size:1.2rem}
  .grid{display:grid;gap:18px;}
  .service-card p{ color:var(--muted);font-size:0.95rem; grid-template-columns:repeat(3,1fr);}
  /* SERVICES */
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .service-card{background:#fff;border-radius:12px;padding:18px;box-shadow:var(--shadow);transition:transform var(--transition)}
  .service-card:hover{transform:translateY(-8px)}
  .service-card i{font-size:26px;color:var(--primary);margin-bottom:8px}
  .service-card h4{font-size:1.02rem;margin-bottom:6px}
  .service-card p{color:var(--muted);font-size:0.95rem}

  /* PORTFOLIO */
  .portfolio-grid{grid-template-columns:repeat(3,1fr)}
  .portfolio-item{overflow:hidden;border-radius:12px;box-shadow:var(--shadow);position:relative}
  .portfolio-item img{width:100%;height:220px;object-fit:cover;transition:transform 400ms ease}
  .portfolio-item:hover img{transform:scale(1.06)}
  .portfolio-item .caption{position:absolute;left:12px;bottom:12px;background:#5DADE2;padding:8px 10px;border-radius:8px;color:#fff;font-weight:700}

  /* SKILLS (progress bars) */
  .skills-grid{grid-template-columns:repeat(2,1fr)}
  .skill{
    background:transparent;padding:12px;border-radius:8px;
  }
  .skill .label{display:flex;justify-content:space-between;margin-bottom:8px}
  .progress{
    height:14px;background:rgba(0,0,0,0.06);border-radius:999px;overflow:hidden
  }
  .progress > i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px;transition:width 900ms cubic-bezier(.2,.9,.2,1)}

  /* WHY PEOPLE LIKE US */
  .why-grid{grid-template-columns:repeat(4,1fr)}
  .why-card{padding:18px;background:#fff;border-radius:12px;box-shadow:var(--shadow);text-align:center}
  .why-card i{font-size:26px;color:var(--primary);margin-bottom:8px}
  .why-card h4{font-weight:800;margin-bottom:6px}

  /* TESTIMONIALS */
  .testi-wrap{position:relative;overflow:hidden}
  .testi-items{display:flex;gap:14px;transition:transform 600ms cubic-bezier(.2,.9,.2,1)}
  .testi-card{min-width:320px;background:#fff;padding:18px;border-radius:12px;box-shadow:var(--shadow)}
  .testi-card p{color:var(--muted);margin-bottom:8px}
  .testi-meta{display:flex;gap:12px;align-items:center}
  .testi-avatar{width:56px;height:56px;border-radius:10px;object-fit:cover}

  /* CONTACT */
  .contact-grid{grid-template-columns: 1fr 360px;gap:22px}
  .contact-card{background:#fff;padding:18px;border-radius:12px;box-shadow:var(--shadow)}
  .contact-info p{color:var(--muted);margin-bottom:6px}
  .form-field{margin-bottom:12px}
  .form-field input,.form-field textarea{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,0.10)}

  /* FOOTER */
  footer{background:linear-gradient(90deg,var(--primary),var(--accent));color:white;padding:28px 0;margin-top:18px}
  footer .foot-inner{display:flex;justify-content:space-between;align-items:center;gap:12px}

  /* LAYOUT RESPONSES */
  @media (max-width: 1024px){
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width: 768px){
    .nav-links{display:none}
    .socials{display:flex}
    .hamburger{display:block}
    .services-grid{grid-template-columns:1fr}
    .portfolio-grid{grid-template-columns:repeat(2,1fr)}
    .skills-grid{grid-template-columns:1fr}
    .why-grid{grid-template-columns:repeat(2,1fr)}
    .contact-grid{grid-template-columns:1fr}
    .hero-slides{overflow-y:auto}
  }
  @media (max-width:420px){
    .portfolio-item img{height:140px}
    .testi-card{min-width:260px}
  }

  /* small helpers & animations */
  .fade-up{opacity:0;transform:translateY(14px);transition:opacity 680ms ease,transform 680ms ease}
  .in-view{opacity:1;transform:translateY(0)}
  .center{text-align:center}
  .muted{color:var(--muted)}