/*--------------------------------------------------------------
    # Dennis Digital Solutions - Modern Redesign
    --------------------------------------------------------------*/

    @import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300&display=swap');

    :root {
      --bg-primary: #080c14;
      --bg-secondary: #0d1525;
      --bg-card: #111827;
      --bg-card-hover: #161f33;
      --accent: #0078ff;
      --accent-bright: #3d9fff;
      --accent-glow: rgba(0, 120, 255, 0.25);
      --accent-subtle: rgba(0, 120, 255, 0.08);
      --text-primary: #f0f4ff;
      --text-secondary: #8895ab;
      --text-muted: #4e5d73;
      --border: rgba(255,255,255,0.07);
      --border-accent: rgba(0,120,255,0.3);
      --font-display: 'Space Mono', monospace;
      --font-body: 'DM Sans', sans-serif;
      --radius: 12px;
      --radius-lg: 20px;
      --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    *, *::before, *::after {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      background-color: var(--bg-primary);
      color: var(--text-primary);
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.7;
      overflow-x: hidden;
    }

    h1, h2, h3, h4, h5, h6 {
      color: var(--text-primary);
      font-family: var(--font-body);
      font-weight: 700;
      line-height: 1.3;
    }

    a {
      color: var(--accent);
      text-decoration: none;
      transition: var(--transition);
    }

    a:hover {
      color: var(--accent-bright);
    }

    p {
      color: var(--text-secondary);
    }

    .lead {
      color: var(--text-secondary);
      font-size: 1rem;
      font-weight: 400;
    }

    /*--------------------------------------------------------------
    # Noise texture overlay
    --------------------------------------------------------------*/
    body::before {
      content: '';
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 0;
      opacity: 0.4;
    }

    /*--------------------------------------------------------------
    # Preloader
    --------------------------------------------------------------*/
    #preloader {
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 9999;
      background: var(--bg-primary);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #preloader::after {
      content: '';
      width: 48px;
      height: 48px;
      border: 3px solid var(--border);
      border-top-color: var(--accent);
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
    }

    @keyframes spin {
      to { transform: rotate(360deg); }
    }

    /*--------------------------------------------------------------
    # Header
    --------------------------------------------------------------*/
    #header {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 997;
      padding: 16px 0;
      transition: var(--transition);
      background: rgba(8, 12, 20, 0.88);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid transparent;
    }

    /* When mobile menu is open, header goes fullscreen */
    #header.mobile-menu-open {
      bottom: 0;
      height: 100dvh;
      background: rgba(8, 12, 20, 0.99);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      display: flex;
      flex-direction: column;
      overflow-y: auto;
    }
        
    #header.header-scrolled {
      background: rgba(8, 12, 20, 0.97);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      padding: 10px 0;
      border-bottom: 1px solid var(--border);
      box-shadow: 0 4px 24px rgba(0,0,0,0.5);
    }

    #header .logo {
      display: flex;
      align-items: center;
      flex-shrink: 0;
    }

    #header .logo img {
      max-height: 56px;
      width: auto;
      display: block;
      transition: var(--transition);
    }

    #header.header-scrolled .logo img {
      max-height: 44px;
    }

    #header .container {
      flex-wrap: nowrap;
      gap: 12px;
    }

    /*--------------------------------------------------------------
    # Navbar
    --------------------------------------------------------------*/
    .navbar {
      padding: 0;
    }

    .navbar ul {
      margin: 0;
      padding: 0;
      display: flex;
      list-style: none;
      align-items: center;
      gap: 4px;
    }

    .navbar li {
      position: relative;
    }

    .navbar a,
    .navbar a:focus {
      display: flex;
      align-items: center;
      color: rgba(255,255,255,0.75);
      font-size: 13px;
      font-weight: 500;
      padding: 8px 14px;
      border-radius: 8px;
      white-space: nowrap;
      transition: var(--transition);
      letter-spacing: 0.8px;
      text-transform: uppercase;
      font-family: var(--font-display);
    }

    .navbar a:hover,
    .navbar .active,
    .navbar .active:focus,
    .navbar li:hover > a {
      color: #fff;
      background: var(--accent-subtle);
    }

    .navbar > ul > li > a.active {
      color: var(--accent-bright);
      background: var(--accent-subtle);
    }

    .navbar > ul > li > a:before { display: none; }

    /*--------------------------------------------------------------
    # Mobile Nav Toggle Button
    --------------------------------------------------------------*/
    .mobile-nav-toggle {
      color: #fff;
      font-size: 24px;
      cursor: pointer;
      line-height: 0;
      transition: background 0.3s, border 0.3s;
      background: rgba(0, 120, 255, 0.15);
      border: 1px solid rgba(0, 120, 255, 0.4);
      border-radius: 10px;
      padding: 8px 12px;
      /* Hidden on desktop, shown only on mobile via media query */
      display: none;
      position: relative;
      z-index: 998;
      flex-shrink: 0;
    }

    /* Show burger only on mobile, fixed to viewport */
    @media (max-width: 991px) {
      .mobile-nav-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 14px;
        right: 16px;
        z-index: 1001;
      }
    }

    .mobile-nav-toggle:hover {
      background: rgba(0, 120, 255, 0.3);
    }

    @media (max-width: 991px) {
      .navbar:not(.navbar-mobile) ul {
        display: none;
      }
    }

    /*--------------------------------------------------------------
    # Mobile Nav Overlay — FIXED
    --------------------------------------------------------------*/
    .navbar-mobile {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
    }

        .navbar-mobile ul {
      display: flex !important;
      flex-direction: column;
      position: static;
      width: calc(100% - 48px);
      max-width: 360px;
      padding: 16px;
      background: rgba(17, 24, 39, 0.95);
      border: 1px solid rgba(0, 120, 255, 0.2);
      border-radius: var(--radius-lg);
      gap: 4px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
    }

    .navbar-mobile a,
    .navbar-mobile a:focus {
      padding: 14px 20px;
      font-size: 13px;
      color: var(--text-secondary);
      border-radius: var(--radius);
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      letter-spacing: 1.5px;
    }

    .navbar-mobile a:hover,
    .navbar-mobile .active,
    .navbar-mobile li:hover > a {
      color: var(--accent-bright);
      background: var(--accent-subtle);
    }

    .navbar-mobile a:hover:before,
    .navbar-mobile li:hover > a:before,
    .navbar-mobile .active:before {
      display: none;
    }

    /*--------------------------------------------------------------
    # Hero Section
    --------------------------------------------------------------*/
    .hero {
      min-height: 100vh;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      background: var(--bg-primary);
    }

    .hero .overlay-itro {
      display: none;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: 
        linear-gradient(rgba(0, 120, 255, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 120, 255, 0.06) 1px, transparent 1px);
      background-size: 60px 60px;
      animation: gridMove 20s linear infinite;
    }

    @keyframes gridMove {
      0% { background-position: 0 0; }
      100% { background-position: 60px 60px; }
    }

    .hero::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 800px;
      height: 800px;
      background: radial-gradient(ellipse at center, rgba(0, 120, 255, 0.12) 0%, transparent 70%);
      pointer-events: none;
    }

    .hero .hero-content {
      position: relative;
      z-index: 2;
      text-align: center;
      width: 100%;
    }

    .hero .display-table {
      width: 100%;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .hero .table-cell {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
    }

    .hero .display-6.color-d {
      color: var(--text-secondary) !important;
      font-family: var(--font-display);
      font-size: 1rem;
      letter-spacing: 3px;
      text-transform: uppercase;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
    }

    .hero .display-6.color-d::before,
    .hero .display-6.color-d::after {
      content: '';
      width: 40px;
      height: 1px;
      background: var(--accent);
      opacity: 0.6;
    }

    .hero-title {
      font-family: var(--font-body);
      font-size: clamp(2.5rem, 7vw, 5rem);
      font-weight: 800;
      color: #fff !important;
      letter-spacing: -2px;
      line-height: 1.1;
      margin-bottom: 24px;
      background: linear-gradient(135deg, #ffffff 0%, #a8c4ff 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .hero-subtitle {
      font-size: clamp(1rem, 2.5vw, 1.4rem) !important;
      color: var(--accent-bright) !important;
      font-weight: 500;
      font-family: var(--font-display);
      letter-spacing: 1px;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(0, 120, 255, 0.1);
      border: 1px solid rgba(0, 120, 255, 0.25);
      border-radius: 100px;
      padding: 8px 20px;
      font-size: 13px;
      color: var(--accent-bright);
      margin-bottom: 32px;
      font-family: var(--font-display);
    }

    .hero-badge .dot {
      width: 8px;
      height: 8px;
      background: #22c55e;
      border-radius: 50%;
      animation: pulse-dot 2s infinite;
    }

    @keyframes pulse-dot {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.5; transform: scale(0.8); }
    }

    .hero-cta {
      display: flex;
      gap: 16px;
      justify-content: center;
      margin-top: 40px;
      flex-wrap: wrap;
    }

    .btn-primary-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 32px;
      background: var(--accent);
      color: #fff;
      border-radius: 100px;
      font-weight: 600;
      font-size: 15px;
      transition: var(--transition);
      border: 1px solid transparent;
    }

    .btn-primary-cta:hover {
      background: var(--accent-bright);
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(0,120,255,0.4);
    }

    .btn-outline-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 14px 32px;
      background: transparent;
      color: var(--text-primary);
      border-radius: 100px;
      font-weight: 600;
      font-size: 15px;
      transition: var(--transition);
      border: 1px solid var(--border);
    }

    .btn-outline-cta:hover {
      border-color: var(--accent);
      color: var(--accent-bright);
      background: var(--accent-subtle);
      transform: translateY(-2px);
    }

    .scroll-indicator {
      position: absolute;
      bottom: 40px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      color: var(--text-muted);
      font-size: 12px;
      letter-spacing: 2px;
      font-family: var(--font-display);
      z-index: 2;
      animation: bounce 2s infinite;
    }

    .scroll-mouse {
      width: 24px;
      height: 38px;
      border: 2px solid var(--text-muted);
      border-radius: 12px;
      display: flex;
      justify-content: center;
      padding-top: 6px;
    }

    .scroll-mouse::after {
      content: '';
      width: 3px;
      height: 8px;
      background: var(--accent);
      border-radius: 2px;
      animation: scrollDown 1.5s infinite;
    }

    @keyframes scrollDown {
      0% { transform: translateY(0); opacity: 1; }
      100% { transform: translateY(10px); opacity: 0; }
    }

    @keyframes bounce {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(-8px); }
    }

    /*--------------------------------------------------------------
    # Section Globals
    --------------------------------------------------------------*/
    section {
      position: relative;
      z-index: 1;
    }

    .section-header {
      text-align: center;
      margin-bottom: 64px;
    }

    .section-label {
      font-family: var(--font-display);
      font-size: 11px;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: var(--accent);
      margin-bottom: 12px;
      display: block;
    }

    .section-title {
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 800;
      color: var(--text-primary);
      letter-spacing: -1px;
      margin-bottom: 16px;
    }

    .section-divider {
      width: 48px;
      height: 3px;
      background: var(--accent);
      margin: 16px auto;
      border-radius: 2px;
    }

    .section-subtitle {
      color: var(--text-secondary);
      max-width: 560px;
      margin: 0 auto;
      font-size: 1rem;
    }

    .title-box {
      margin-bottom: 4rem;
      text-align: center;
    }

    .title-a {
      font-size: clamp(1.8rem, 4vw, 2.5rem);
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: -1px;
      color: var(--text-primary);
    }

    .line-mf {
      width: 48px;
      height: 3px;
      background: var(--accent);
      margin: 16px auto;
      border-radius: 2px;
    }

    .title-box-2 {
      margin-bottom: 2rem;
    }

    .title-left {
      font-size: 1.6rem;
      font-weight: 700;
      color: var(--text-primary);
      position: relative;
      padding-bottom: 16px;
    }

    .title-left::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 48px;
      height: 3px;
      background: var(--accent);
      border-radius: 2px;
    }

    /*--------------------------------------------------------------
    # About Section
    --------------------------------------------------------------*/
    .about-mf {
      background: var(--bg-secondary);
      padding: 100px 0;
    }

    .about-mf .box-shadow-full {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 48px;
      box-shadow: 0 24px 80px rgba(0,0,0,0.4);
    }

    @media (max-width: 768px) {
      .about-mf .box-shadow-full {
        padding: 28px 20px;
      }
    }

    .about-mf .about-img img {
      border-radius: var(--radius-lg);
      width: 100%;
      border: 2px solid var(--border-accent);
      filter: grayscale(20%);
      transition: var(--transition);
    }

    .about-mf .about-img img:hover {
      filter: grayscale(0%);
      border-color: var(--accent);
    }

    .about-info {
      padding: 20px 0;
    }

    .about-info p {
      color: var(--text-secondary);
      margin-bottom: 8px;
      font-size: 14px;
    }

    .title-s {
      font-family: var(--font-display);
      font-size: 11px;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--accent);
    }

    .about-info span:not(.title-s) {
      color: var(--text-primary);
      font-weight: 500;
    }

    .skill-mf {
      margin-top: 24px;
    }

    .skill-mf > p.title-s {
      font-family: var(--font-display);
      font-size: 11px;
      letter-spacing: 3px;
      color: var(--accent);
      margin-bottom: 24px;
      text-transform: uppercase;
    }

    .skill-item {
      margin-bottom: 20px;
    }

    .skill-mf span:not(.pull-right):not(.title-s) {
      font-size: 13px;
      font-weight: 600;
      color: var(--text-primary);
      letter-spacing: 0.5px;
    }

    .skill-mf .progress {
      background: rgba(255,255,255,0.06);
      margin: 8px 0;
      border-radius: 4px;
      height: 6px;
      overflow: visible;
    }

    .skill-mf .progress-bar {
      height: 6px;
      background: linear-gradient(90deg, var(--accent), var(--accent-bright));
      border-radius: 4px;
      position: relative;
      transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .skill-mf .progress-bar::after {
      content: '';
      position: absolute;
      right: -1px;
      top: 50%;
      transform: translateY(-50%);
      width: 10px;
      height: 10px;
      background: var(--accent-bright);
      border-radius: 50%;
      box-shadow: 0 0 8px var(--accent);
    }

    .about-me {
      padding-left: 16px;
    }

    @media (max-width: 768px) {
      .about-me {
        padding-left: 0;
        margin-top: 32px;
      }
    }

    .about-me .lead {
      color: var(--text-secondary);
      font-size: 15px;
      line-height: 1.8;
    }

    .about-me b {
      color: var(--text-primary);
      font-weight: 600;
    }

    /*--------------------------------------------------------------
    # Services Section
    --------------------------------------------------------------*/
    .services-mf {
      background: var(--bg-primary);
      padding: 100px 0;
    }

    .service-box {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 36px 28px;
      margin-bottom: 24px;
      text-align: center;
      transition: var(--transition);
      position: relative;
      overflow: hidden;
      height: 100%;
    }

    .service-box::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--accent), transparent);
      opacity: 0;
      transition: var(--transition);
    }

    .service-box:hover {
      background: var(--bg-card-hover);
      border-color: var(--border-accent);
      transform: translateY(-6px);
      box-shadow: 0 20px 60px rgba(0, 120, 255, 0.15);
    }

    .service-box:hover::before {
      opacity: 1;
    }

    .service-box .service-ico {
      margin-bottom: 20px;
    }

    .ico-circle {
      width: 72px;
      height: 72px;
      font-size: 28px;
      border-radius: 18px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: var(--accent-subtle);
      border: 1px solid var(--border-accent);
      color: var(--accent);
      box-shadow: none;
      line-height: 1;
      transition: var(--transition);
    }

    .service-box:hover .ico-circle {
      background: var(--accent);
      color: #fff;
      border-color: var(--accent);
      box-shadow: 0 8px 24px rgba(0,120,255,0.4);
      transform: scale(1.1);
    }

    .service-box .ico-circle i {
      font-size: 28px;
      line-height: 0;
    }

    .service-box .s-title {
      font-size: 1rem;
      font-weight: 700;
      color: var(--text-primary);
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 12px;
    }

    .service-box .lead {
      font-size: 14px;
      color: var(--text-secondary);
      line-height: 1.7;
    }

    /*--------------------------------------------------------------
    # Pricing Section
    --------------------------------------------------------------*/
    .pricing-section {
      background: var(--bg-secondary);
      padding: 100px 0;
    }

    .pricing-card {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 40px 32px;
      margin: 12px 0;
      transition: var(--transition);
      position: relative;
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    .pricing-card:hover {
      border-color: var(--border-accent);
      transform: translateY(-8px);
      box-shadow: 0 24px 60px rgba(0,0,0,0.3);
    }

    .pricing-card.featured {
      background: linear-gradient(135deg, #0a1628, #0f2040);
      border: 1px solid var(--accent);
      box-shadow: 0 0 0 1px rgba(0,120,255,0.1), 0 24px 60px rgba(0,120,255,0.2);
      transform: translateY(-8px);
    }

    .pricing-card.featured:hover {
      transform: translateY(-16px);
      box-shadow: 0 0 0 1px rgba(0,120,255,0.3), 0 32px 80px rgba(0,120,255,0.3);
    }

    .popular-badge {
      background: var(--accent);
      color: #fff;
      padding: 6px 18px;
      border-radius: 100px;
      font-size: 11px;
      font-weight: 700;
      position: absolute;
      top: -14px;
      left: 50%;
      transform: translateX(-50%);
      text-transform: uppercase;
      letter-spacing: 1.5px;
      font-family: var(--font-display);
      white-space: nowrap;
      box-shadow: 0 4px 16px rgba(0,120,255,0.4);
    }

    .pricing-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--text-primary);
      margin-bottom: 8px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      font-family: var(--font-display);
    }

    .pricing-amount {
      font-size: 2.2rem;
      font-weight: 800;
      color: var(--accent-bright);
      margin: 20px 0;
      font-family: var(--font-display);
      letter-spacing: -1px;
    }

    .pricing-card.featured .pricing-amount {
      color: #fff;
    }

    .pricing-subtitle {
      color: var(--text-secondary);
      margin-bottom: 24px;
      font-size: 13px;
      line-height: 1.6;
    }

    .pricing-features {
      list-style: none;
      padding: 0;
      margin: 0 0 32px;
      flex: 1;
    }

    .pricing-features li {
      padding: 10px 0;
      padding-left: 24px;
      position: relative;
      color: var(--text-secondary);
      font-size: 14px;
      border-bottom: 1px solid var(--border);
    }

    .pricing-features li:last-child {
      border-bottom: none;
    }

    .pricing-features li::before {
      content: "✓";
      color: var(--accent);
      font-weight: 700;
      position: absolute;
      left: 0;
      top: 10px;
      font-size: 13px;
    }

    .pricing-card.featured .pricing-features li {
      color: rgba(255,255,255,0.7);
      border-bottom-color: rgba(255,255,255,0.08);
    }

    .pricing-btn {
      background: var(--accent-subtle);
      color: var(--accent-bright);
      border: 1px solid var(--border-accent);
      padding: 14px 28px;
      border-radius: 100px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-size: 13px;
      transition: var(--transition);
      width: 100%;
      font-family: var(--font-display);
      cursor: pointer;
    }

    .pricing-btn:hover {
      background: var(--accent);
      color: #fff;
      border-color: var(--accent);
      box-shadow: 0 8px 24px rgba(0,120,255,0.35);
      transform: translateY(-2px);
    }

    .pricing-card.featured .pricing-btn {
      background: var(--accent);
      color: #fff;
      border-color: var(--accent);
    }

    .pricing-card.featured .pricing-btn:hover {
      background: var(--accent-bright);
      box-shadow: 0 8px 32px rgba(0,120,255,0.5);
    }

    .custom-section {
      text-align: center;
      margin-top: 64px;
      padding: 48px;
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      position: relative;
      overflow: hidden;
    }

    .custom-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at center, rgba(0,120,255,0.06) 0%, transparent 70%);
      pointer-events: none;
    }

    .custom-title {
      font-size: 1.8rem;
      font-weight: 800;
      color: var(--text-primary);
      margin-bottom: 12px;
      letter-spacing: -0.5px;
    }

    .custom-subtitle {
      color: var(--text-secondary);
      max-width: 520px;
      margin: 0 auto 28px;
      font-size: 15px;
    }

    .custom-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--accent);
      color: #fff;
      border: none;
      padding: 14px 36px;
      border-radius: 100px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      font-size: 13px;
      transition: var(--transition);
      font-family: var(--font-display);
      cursor: pointer;
      position: relative;
      z-index: 1;
    }

    .custom-btn:hover {
      background: var(--accent-bright);
      transform: translateY(-3px);
      box-shadow: 0 12px 32px rgba(0,120,255,0.4);
    }

    /*--------------------------------------------------------------
    # Projects Section
    --------------------------------------------------------------*/
    .portfolio-mf {
      background: var(--bg-primary);
      padding: 100px 0;
    }

    .work-box {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      overflow: hidden;
      margin-bottom: 24px;
      transition: var(--transition);
    }

    .work-box:hover {
      border-color: var(--border-accent);
      transform: translateY(-6px);
      box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    }

    .work-box:hover img {
      transform: scale(1.08);
    }

    .work-img {
      display: block;
      overflow: hidden;
      height: 220px;
    }

    .work-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .work-content {
      padding: 20px 24px 16px;
    }

    .w-title {
      font-size: 1rem;
      font-weight: 700;
      color: var(--text-primary);
      margin-bottom: 8px;
    }

    .work-content .w-more {
      color: var(--text-secondary);
      font-size: 12px;
    }

    .work-content .w-more .w-ctegory {
      color: var(--accent-bright);
      font-family: var(--font-display);
      letter-spacing: 0.5px;
    }

    .work-content .w-like {
      font-size: 1.5rem;
      color: var(--accent);
      float: right;
    }

    .work-content .w-like a {
      color: var(--accent);
      transition: var(--transition);
      display: flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      background: var(--accent-subtle);
      border: 1px solid var(--border-accent);
      border-radius: 8px;
    }

    .work-content .w-like a:hover {
      background: var(--accent);
      color: #fff;
    }

    .w-link a {
      color: var(--accent);
      font-size: 12px;
      font-family: var(--font-display);
    }

    /*--------------------------------------------------------------
    # Contact Section
    --------------------------------------------------------------*/
    .footer-paralax {
      padding: 100px 0 0;
      background: var(--bg-secondary) !important;
      background-image: none !important;
    }

    .footer-paralax .overlay-mf {
      display: none;
    }

    .contact-mf .box-shadow-full {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 48px;
      box-shadow: 0 24px 80px rgba(0,0,0,0.4);
    }

    @media (max-width: 768px) {
      .contact-mf .box-shadow-full {
        padding: 28px 20px;
      }
    }

    .php-email-form .form-control {
      background: rgba(255,255,255,0.04);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      color: var(--text-primary);
      padding: 14px 18px;
      font-size: 14px;
      transition: var(--transition);
      font-family: var(--font-body);
    }

    .php-email-form .form-control:focus {
      background: rgba(0,120,255,0.05);
      border-color: var(--accent);
      box-shadow: 0 0 0 3px rgba(0,120,255,0.1);
      outline: none;
      color: var(--text-primary);
    }

    .php-email-form .form-control::placeholder {
      color: var(--text-muted);
    }

    .php-email-form textarea.form-control {
      resize: none;
      min-height: 130px;
    }

    .php-email-form button[type=submit],
    .button.button-a {
      background: var(--accent);
      border: none;
      padding: 14px 40px;
      border-radius: 100px;
      color: #fff;
      font-weight: 700;
      font-size: 14px;
      letter-spacing: 1px;
      text-transform: uppercase;
      transition: var(--transition);
      font-family: var(--font-display);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }

    .php-email-form button[type=submit]:hover,
    .button.button-a:hover {
      background: var(--accent-bright);
      transform: translateY(-2px);
      box-shadow: 0 12px 32px rgba(0,120,255,0.4);
    }

    .more-info .lead {
      font-size: 14px;
      color: var(--text-secondary);
      line-height: 1.8;
      margin-bottom: 24px;
    }

    .list-ico {
      list-style: none;
      padding: 0;
      margin-bottom: 28px;
    }

    .list-ico li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      color: var(--text-secondary);
      margin-bottom: 14px;
      font-size: 14px;
    }

    .list-ico span {
      color: var(--accent);
      margin: 0;
      font-size: 16px;
      flex-shrink: 0;
      margin-top: 2px;
    }

    .list-ico a {
      color: var(--accent);
    }

    .socials {
      padding: 8px 0;
    }

    .socials ul {
      list-style: none;
      padding: 0;
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }

    .socials .ico-circle {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      font-size: 18px;
      box-shadow: none;
      background: rgba(255,255,255,0.04);
      border: 1px solid var(--border);
      color: var(--text-secondary);
    }

    .socials .ico-circle:hover {
      background: var(--accent);
      color: #fff;
      border-color: var(--accent);
      box-shadow: 0 8px 20px rgba(0,120,255,0.35);
      transform: translateY(-3px);
    }

    /*--------------------------------------------------------------
    # FAQ Section
    --------------------------------------------------------------*/
    .faq {
      padding: 100px 0;
      background: var(--bg-primary);
    }

    .faq h2.section-title {
      color: var(--text-primary);
    }

    .accordion-item {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius) !important;
      margin-bottom: 12px;
      overflow: hidden;
    }

    .accordion-button {
      background: var(--bg-card) !important;
      color: var(--text-primary) !important;
      font-weight: 600;
      font-size: 15px;
      padding: 18px 24px;
      border-radius: var(--radius) !important;
      transition: var(--transition);
    }

    .accordion-button:not(.collapsed) {
      background: rgba(0,120,255,0.08) !important;
      color: var(--accent-bright) !important;
      box-shadow: none;
      border-bottom: 1px solid var(--border);
      border-radius: var(--radius) var(--radius) 0 0 !important;
    }

    .accordion-button::after {
      filter: invert(1) brightness(0.6);
    }

    .accordion-button:not(.collapsed)::after {
      filter: invert(0.4) sepia(1) saturate(5) hue-rotate(200deg);
    }

    .accordion-button:focus {
      box-shadow: none;
      border-color: transparent;
    }

    .accordion-body {
      background: rgba(255,255,255,0.02);
      color: var(--text-secondary);
      border: none;
      border-radius: 0 0 var(--radius) var(--radius);
      padding: 20px 24px;
      font-size: 14px;
      line-height: 1.8;
    }

    .accordion-collapse {
      border: none;
    }

    /*--------------------------------------------------------------
    # Footer
    --------------------------------------------------------------*/
    footer {
      text-align: center;
      padding: 28px 0;
      background: var(--bg-primary);
      border-top: 1px solid var(--border);
      margin-top: 0;
    }

    footer .copyright {
      color: var(--text-muted);
      font-size: 13px;
      margin-bottom: 0;
      font-family: var(--font-display);
      letter-spacing: 0.5px;
    }

    footer .copyright span {
      color: var(--accent-bright);
    }

    /*--------------------------------------------------------------
    # Back to Top
    --------------------------------------------------------------*/
    .back-to-top {
      position: fixed;
      visibility: hidden;
      opacity: 0;
      right: 20px;
      bottom: 20px;
      z-index: 996;
      background: var(--accent);
      width: 44px;
      height: 44px;
      border-radius: 12px;
      transition: var(--transition);
      border: none;
      box-shadow: 0 8px 20px rgba(0,120,255,0.3);
    }

    .back-to-top i {
      font-size: 22px;
      color: #fff;
      line-height: 0;
    }

    .back-to-top:hover {
      background: var(--accent-bright);
      transform: translateY(-3px);
      box-shadow: 0 12px 28px rgba(0,120,255,0.45);
      color: #fff;
    }

    .back-to-top.active {
      visibility: visible;
      opacity: 1;
    }

    /*--------------------------------------------------------------
    # Portfolio Details (Modal)
    --------------------------------------------------------------*/
    .modal-content {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
    }

    .modal-header {
      background: var(--bg-secondary);
      border-bottom: 1px solid var(--border);
      padding: 20px 28px;
    }

    .modal-title {
      color: var(--text-primary);
      font-weight: 700;
    }

    .btn-close {
      filter: invert(1);
      opacity: 0.6;
    }

    .modal-body {
      padding: 28px;
    }

    .portfolio-info {
      background: rgba(255,255,255,0.03);
      border: 1px solid var(--border);
      border-radius: var(--radius);
    }

    .portfolio-info h3 {
      color: var(--text-primary);
      font-size: 16px;
    }

    .portfolio-info ul {
      color: var(--text-secondary);
      font-size: 14px;
    }

    .portfolio-info ul strong {
      color: var(--text-primary);
    }

    .portfolio-details-slider {
      width: 100%;
      height: 420px;
      border-radius: 12px;
      overflow: hidden;
    }

    .portfolio-details-slider .swiper-wrapper {
      height: 100%;
    }

    .portfolio-details-slider .swiper-slide {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #0d1525;
    }

    .portfolio-details-slider .swiper-slide img {
      width: 100%;
      height: 100%;
      display: block;
    }

    .portfolio-details-slider .swiper-pagination {
      position: relative !important;
      bottom: auto !important;
      margin-top: 12px;
      text-align: center;
    }

    .portfolio-details-slider .swiper-pagination-bullet {
      width: 8px;
      height: 8px;
      background: rgba(255,255,255,0.2) !important;
      opacity: 1 !important;
      border: none !important;
      transition: all 0.3s ease;
    }

    .portfolio-details-slider .swiper-pagination-bullet-active {
      background: var(--accent) !important;
      width: 24px !important;
      border-radius: 4px !important;
    }

    .portfolio-details-slider.single-image {
      height: 400px;
    }

    .modal-backdrop.show {
      opacity: 0.85;
      background-color: #000;
    }

    @media (max-width: 991px) {
      .portfolio-details-slider {
        height: 280px;
      }
    }

    @media (max-width: 576px) {
      .portfolio-details-slider {
        height: 220px;
      }
    }

    /*--------------------------------------------------------------
    # Utility
    --------------------------------------------------------------*/
    .p-r { position: relative; }
    .color-a { color: var(--accent); }
    .color-d { color: var(--text-secondary); }
    .box-shadow { box-shadow: 0 8px 32px rgba(0,0,0,0.3); }
    .sect-pt4 { padding-top: 100px; }
    .sect-mt4 { margin-top: 4rem; }

    .stat-card {
      text-align: center;
      padding: 32px;
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      transition: var(--transition);
    }

    .stat-card:hover {
      border-color: var(--border-accent);
      transform: translateY(-4px);
    }

    .stat-number {
      font-size: 3rem;
      font-weight: 800;
      color: var(--accent-bright);
      font-family: var(--font-display);
      line-height: 1;
      margin-bottom: 8px;
    }

    .stat-label {
      color: var(--text-secondary);
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: 1.5px;
    }

    /*--------------------------------------------------------------
    # Animations
    --------------------------------------------------------------*/
    @keyframes float {
      0%, 100% { transform: translateY(0px); }
      50% { transform: translateY(-20px); }
    }

    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(30px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .fade-in-up {
      animation: fadeInUp 0.6s ease forwards;
    }

    .spinner-border-custom {
      color: var(--accent);
    }

    .form-loading {
      opacity: 0.6;
      pointer-events: none;
    }

    /*--------------------------------------------------------------
    # Responsive
    --------------------------------------------------------------*/
    @media (max-width: 768px) {
      .about-mf, .services-mf, .portfolio-mf, .pricing-section, .faq {
        padding: 72px 0;
      }

      .pricing-card.featured {
        transform: none;
      }

      .custom-section {
        padding: 32px 20px;
      }

      .footer-paralax {
        padding: 72px 0 0;
      }
    }

    @media (max-width: 576px) {
      .hero-cta {
        flex-direction: column;
        align-items: center;
      }

      .btn-primary-cta, .btn-outline-cta {
        width: 100%;
        justify-content: center;
      }

      .hero-title {
        letter-spacing: -1px;
      }
    }