﻿
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    /* =========================================
       MAINT-THEME OVERRIDES REMOVED
       Managed by unified-theme.css
       ========================================= */
.maint-theme .mega-menu{
    z-index:10000;
}

    /* Footer styled identical to other pages */
    .maint-theme .enterprise-footer {
      background-color: #0B041C !important;
      color: #FFFFFF !important;
      border-top: none !important;
      padding-top: 40px;
      position: relative;
    }
    .maint-theme .enterprise-footer .footer-grid {
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
      gap: 40px;
      margin-bottom: 60px;
    }
    .maint-theme .enterprise-footer .logo-text.text-white {
      color: #FFFFFF !important;
    }
    .maint-theme .enterprise-footer .footer-tagline {
      color: rgba(255,255,255,0.6) !important;
      font-size: 14px;
      line-height: 1.8;
      margin-top: 16px;
    }
    .maint-theme .enterprise-footer .footer-social {
      display: flex;
      gap: 12px;
      margin-top: 24px;
    }
    .maint-theme .enterprise-footer .social-link {
      width: 40px; height: 40px;
      border-radius: 8px;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.1);
      color: #FFFFFF !important;
      display: flex; justify-content: center; align-items: center;
      transition: all 0.3s ease;
    }
    .maint-theme .enterprise-footer .social-link:hover {
      background: #255bbd;
      border-color: #255bbd;
      transform: translateY(-2px);
    }
    .maint-theme .enterprise-footer .footer-col-title {
      color: #FFFFFF !important;
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 24px;
      position: relative;
      display: inline-block;
    }
    .maint-theme .enterprise-footer .footer-col-title::after {
      content: '';
      position: absolute;
      bottom: -8px; left: 0;
      width: 24px; height: 2px;
      background: #255bbd;
    }
    .maint-theme .enterprise-footer .footer-links a {
      color: rgba(255,255,255,0.7) !important;
      font-size: 14px;
      display: flex;
      align-items: center;
      margin-bottom: 16px;
      transition: color 0.3s ease;
      text-decoration: none;
    }
    .maint-theme .enterprise-footer .footer-links a::before {
      content: '›';
      color: #255bbd;
      font-size: 18px;
      font-weight: bold;
      margin-right: 8px;
      transition: margin 0.3s ease;
    }
    .maint-theme .enterprise-footer .footer-links a:hover {
      color: #FFFFFF !important;
    }
    .maint-theme .enterprise-footer .footer-links a:hover::before {
      margin-right: 12px;
    }
    .maint-theme .enterprise-footer .contact-item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 24px;
    }
    .maint-theme .enterprise-footer .ci-icon {
      width: 32px; height: 32px;
      border-radius: 8px;
      background: rgba(124, 58, 237, 0.2);
      color: #A78BFA;
      display: flex; justify-content: center; align-items: center;
      flex-shrink: 0;
      margin-right: 16px;
    }
    .maint-theme .enterprise-footer .ci-text {
      color: rgba(255,255,255,0.7);
      font-size: 14px;
      line-height: 1.6;
    }
    .maint-theme .enterprise-footer .ci-text a {
      color: rgba(255,255,255,0.7);
      text-decoration: none;
      transition: color 0.3s;
    }
    .maint-theme .enterprise-footer .ci-text a:hover {
      color: #FFFFFF;
    }
    .maint-theme .footer-cta-pill {
      background: linear-gradient(90deg, #5B21B6 0%, #255bbd 100%);
      border-radius: 100px;
      padding: 16px 24px 16px 32px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      transform: translateY(30px);
      position: relative;
      z-index: 10;
      box-shadow: 0 20px 40px rgba(91, 33, 182, 0.4);
      max-width: 900px;
      margin: 0 auto;
    }
    .maint-theme .fcp-text {
      display: flex; align-items: center; gap: 12px;
      color: #FFFFFF; font-weight: 600; font-size: 16px;
    }
    .maint-theme .fcp-actions {
      display: flex; gap: 16px;
    }
    .maint-theme .fcp-btn {
      background: #FFFFFF;
      color: #5B21B6 !important;
      font-weight: 700;
      font-size: 14px;
      padding: 10px 24px;
      border-radius: 100px;
      text-decoration: none;
      display: flex; align-items: center; gap: 8px;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .maint-theme .fcp-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
    .maint-theme .enterprise-footer .footer-bottom {
      border-top: 1px solid rgba(255,255,255,0.05);
      padding: 50px 0 24px 0;
    }
    .maint-theme .enterprise-footer .footer-bottom-inner {
      display: flex; justify-content: space-between; align-items: center;
    }
    .maint-theme .enterprise-footer .fb-left {
      color: rgba(255,255,255,0.5) !important;
      font-size: 13px;
    }
    .maint-theme .enterprise-footer .footer-legal a {
      color: rgba(255,255,255,0.5) !important;
      font-size: 13px;
      margin-left: 24px;
      text-decoration: none;
    }
    .maint-theme .enterprise-footer .footer-legal a:hover {
      color: #FFFFFF !important;
    }

    /* CURSOR LIGHT */
    .cursor-light {
      position: fixed; width: 700px; height: 700px; border-radius: 50%;
      background: radial-gradient(circle, rgba(168,85,247,0.10) 0%, rgba(59,130,246,0.05) 40%, transparent 70%);
      pointer-events: none; z-index: 1;
      transform: translate(-50%, -50%);
      transition: left 0.3s ease, top 0.3s ease; will-change: left, top;
    }

    /* PUZZLE GRID BACKGROUND */
    .puzzle-grid {
      position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0;
    }
    .puzzle-grid::before {
      content: '';
      position: absolute; inset: -50%;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M40 0 L40 20 Q50 20 50 30 Q50 40 40 40 L40 60 Q40 70 50 70 Q60 70 60 60 L80 60 L80 0 Z' fill='none' stroke='rgba(168,85,247,0.12)' stroke-width='1'/%3E%3Cpath d='M0 40 L20 40 Q20 50 30 50 Q40 50 40 40 L60 40 L60 80 L0 80 Z' fill='none' stroke='rgba(59,130,246,0.10)' stroke-width='1'/%3E%3Crect x='0' y='0' width='80' height='80' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='0.5'/%3E%3C/svg%3E");
      background-size: 80px 80px;
      animation: puzzle-drift 60s linear infinite;
      opacity: 0.7;
    }
    .puzzle-grid::after {
      content: '';
      position: absolute; inset: -50%;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M0 0 L40 0 L40 20 Q50 20 50 30 Q50 40 40 40 L40 80 L80 80 L80 40 Q90 40 90 30 Q90 20 80 20 L80 0 Z' fill='none' stroke='rgba(30, 58, 138,0.08)' stroke-width='1'/%3E%3C/svg%3E");
      background-size: 120px 120px;
      animation: puzzle-drift 90s linear infinite reverse;
      opacity: 0.5;
    }
    @keyframes puzzle-drift { 0% { transform: translate(0,0); } 100% { transform: translate(80px,80px); } }

    /* FLOATING GLASS BUBBLES */
    .bubble-field { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 1; }
    .fb {
      position: absolute; border-radius: 50%;
      background: radial-gradient(circle at 32% 30%, rgba(255,255,255,0.85) 0%, rgba(200,180,255,0.6) 20%, rgba(120,100,230,0.7) 50%, rgba(30,20,80,0.9) 100%);
      box-shadow: inset 0 3px 6px rgba(255,255,255,0.9), inset 0 12px 30px rgba(255,255,255,0.25), inset -12px -20px 35px rgba(0,0,0,0.7), 0 20px 40px rgba(0,0,0,0.4);
      border: 1px solid rgba(255,255,255,0.08);
      border-top: 1.5px solid rgba(255,255,255,0.85);
      border-left: 1px solid rgba(255,255,255,0.4);
      animation: rise-bubble linear infinite; bottom: -250px;
    }
    .fb.cyan { background: radial-gradient(circle at 32% 30%, rgba(255,255,255,0.85) 0%, rgba(150,250,250,0.6) 20%, rgba(20,180,180,0.7) 50%, rgba(0,60,80,0.9) 100%); }
    .fb.green { background: radial-gradient(circle at 32% 30%, rgba(255,255,255,0.85) 0%, rgba(180,255,200,0.6) 20%, rgba(30, 58, 138,0.7) 50%, rgba(0,60,40,0.9) 100%); }
    .fb.orange { background: radial-gradient(circle at 32% 30%, rgba(255,255,255,0.85) 0%, rgba(255,230,150,0.6) 20%, rgba(249,115,22,0.7) 50%, rgba(80,30,0,0.9) 100%); }
    .fb.s1  { width:90px;  height:90px;  left:5%;  animation-duration:16s; animation-delay:0s; }
    .fb.s2  { width:55px;  height:55px;  left:15%; animation-duration:20s; animation-delay:4s; }
    .fb.s3  { width:140px; height:140px; left:25%; animation-duration:24s; animation-delay:2s; }
    .fb.s4  { width:40px;  height:40px;  left:38%; animation-duration:13s; animation-delay:7s; }
    .fb.s5  { width:110px; height:110px; left:50%; animation-duration:19s; animation-delay:1s; }
    .fb.s6  { width:70px;  height:70px;  left:63%; animation-duration:22s; animation-delay:5s; }
    .fb.s7  { width:200px; height:200px; left:72%; animation-duration:30s; animation-delay:0s; }
    .fb.s8  { width:45px;  height:45px;  left:85%; animation-duration:14s; animation-delay:9s; }
    .fb.s9  { width:160px; height:160px; left:93%; animation-duration:26s; animation-delay:3s; }
    .fb.s10 { width:30px;  height:30px;  left:44%; animation-duration:11s; animation-delay:6s; }
    @keyframes rise-bubble {
      0%   { transform: translateY(0) scale(0.7) rotate(0deg);    opacity: 0; }
      10%  { opacity: 1; }
      90%  { opacity: 0.9; }
      100% { transform: translateY(-1600px) scale(1.3) rotate(15deg); opacity: 0; }
    }

    /* ROTATING BLOCKS */
    .rot-block { position: absolute; border-radius: 18px; pointer-events: none; z-index: 0; }
    .rot-block.rb1 { width:80px; height:80px; background: linear-gradient(135deg, rgba(168,85,247,0.35), rgba(59,130,246,0.2)); border: 1px solid rgba(168,85,247,0.4); top:10%; right:8%; animation: spin-block 18s linear infinite; }
    .rot-block.rb2 { width:50px; height:50px; background: linear-gradient(135deg, rgba(30, 58, 138,0.3), rgba(59,130,246,0.15)); border: 1px solid rgba(30, 58, 138,0.4); top:35%; left:5%; animation: spin-block 12s linear infinite reverse; }
    .rot-block.rb3 { width:120px; height:120px; background: linear-gradient(135deg, rgba(249,115,22,0.25), rgba(168,85,247,0.2)); border: 1px solid rgba(249,115,22,0.35); bottom:20%; right:5%; animation: spin-block 22s linear infinite; border-radius:28px; }
    .rot-block.rb4 { width:60px; height:60px; background: linear-gradient(135deg, rgba(59,130,246,0.3), rgba(30, 58, 138,0.2)); border: 1px solid rgba(59,130,246,0.4); bottom:40%; left:8%; animation: spin-block 15s linear infinite reverse; border-radius:14px; }
    .rot-block.rb5 { width:40px; height:40px; background: linear-gradient(135deg, rgba(239,68,68,0.3), rgba(249,115,22,0.2)); border: 1px solid rgba(239,68,68,0.4); top:55%; right:12%; animation: spin-block 9s linear infinite; border-radius:10px; }
    @keyframes spin-block { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

    /* GLOW ORBS */
    .g-orb { position: absolute; border-radius: 50%; filter: blur(100px); pointer-events: none; z-index: 0; }
    .g-orb.o1 { width:550px; height:550px; background: rgba(37,91,189,0.12); top:-80px; left:-100px; animation: orb-float 18s ease-in-out infinite alternate; }
    .g-orb.o2 { width:450px; height:450px; background: rgba(59,130,246,0.08);  top:30%;   right:-80px; animation: orb-float 24s ease-in-out infinite alternate-reverse; }
    .g-orb.o3 { width:380px; height:380px; background: rgba(37,91,189,0.07);  bottom:10%; left:30%; animation: orb-float 20s ease-in-out infinite alternate; }
    @keyframes orb-float { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(4vw,4vh) scale(1.08); } 100% { transform: translate(-3vw,8vh) scale(0.95); } }

    /* REVEAL */
    .reveal-up { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); }
    .reveal-visible { opacity: 1 !important; transform: translateY(0) !important; }

    /* HERO — COMPACT SPLIT LAYOUT */
    .maint-hero {
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, #0d1628 0%, #131d35 45%, #0f1e2e 100%);
      padding: 90px 60px 60px;
    }
    .maint-hero-inner {
      position: relative; z-index: 10;
      max-width: 1500px; width: 100%; margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }

    /* LEFT COLUMN */
    .hero-left { display:flex; flex-direction:column; align-items:flex-start; }
    .maint-hero-badge {
      display: inline-flex; align-items: center; gap: 8px;
      background: rgba(37,91,189,0.08);
      border: 1px solid rgba(37,91,189,0.2); border-radius: 100px;
      padding: 7px 18px; font-size: 12px; font-weight: 600; color: #255bbd;
      letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 24px;
    }
    .maint-hero-badge span { width: 6px; height: 6px; border-radius: 50%; background: #255bbd; animation: blink 1.4s ease-in-out infinite; display: inline-block; }
    @keyframes blink { 0%,100%{opacity:1;} 50%{opacity:0.3;} }
    .maint-hero h1 {
      font-family:'Space Grotesk',sans-serif;
      font-size: clamp(32px, 3.8vw, 60px);
      font-weight:900; line-height:1.12; color:#0D1B3E;
      margin-bottom:20px; text-align:left;
    }
    .grad-purple { background: linear-gradient(135deg,#255bbd,#6366f1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .grad-cyan   { background: linear-gradient(135deg,#0077b6,#3b82f6); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .maint-hero .hero-desc { font-size: clamp(15px,1.4vw,18px); color:#000000; font-weight: 500; line-height:1.8; margin-bottom:32px; text-align:left; max-width:520px; }
    .hero-cta-row { display:flex; gap:16px; flex-wrap:wrap; }
    .btn-primary-m { padding:14px 32px; background:linear-gradient(135deg,#255bbd,#0077b6); border:none; border-radius:100px; color:#fff; font-weight:700; font-size:15px; cursor:pointer; text-decoration:none; transition:transform 0.3s ease,box-shadow 0.3s ease; box-shadow:0 8px 28px rgba(37,91,189,0.3); display:inline-block; }
    .btn-primary-m:hover { transform:translateY(-3px); box-shadow:0 16px 48px rgba(37,91,189,0.4); }
    .btn-outline-m { padding:14px 32px; background:transparent; border:1px solid rgba(37,91,189,0.3); border-radius:100px; color:#255bbd; font-weight:600; font-size:15px; cursor:pointer; text-decoration:none; transition:all 0.3s ease; display:inline-block; }
    .btn-outline-m:hover { border-color:#255bbd; color:#255bbd; background:rgba(37,91,189,0.05); }

    /* RIGHT COLUMN – Stats Panel */
    .hero-right {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 20px;
    }
    .hero-right-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      padding: 0;
      border-radius: 0;
      box-shadow: none;
      border: none;
      background: none;
    }
    .h-stat-card {
      border-radius: 24px;
      padding: 28px 24px;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.12);
      box-shadow: 0 4px 20px rgba(0,0,0,0.15);
      min-height: 200px;
    }
    .h-stat-card::after {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(5, 8, 22, 0.35);
      border-radius: 24px;
      z-index: 0;
    }
    .h-stat-card > * {
      position: relative;
      z-index: 1;
    }
    .h-stat-card:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(0,0,0,0.25); border-color: rgba(76, 201, 240, 0.4); }
    .h-stat-card.ca1 { background: url('../../images/card1_bg.png') center/cover no-repeat; }
    .h-stat-card.ca2 { background: url('../../images/card2_bg.png') center/cover no-repeat; }
    .h-stat-card.ca3 { background: url('../../images/card3_bg.png') center/cover no-repeat; }
    .h-stat-card.ca4 { background: url('../../images/card4_bg.png') center/cover no-repeat; }
    .h-stat-icon { font-size: 26px; margin-bottom: 14px; color: #FFFFFF; }
    .h-stat-num {
      font-family:'Space Grotesk',sans-serif; font-size:36px; font-weight:900;
      color: #FFFFFF;
      line-height:1;
    }
    .h-stat-label { font-size:13px; color:#AEB8D0; margin-top:6px; line-height:1.4; font-weight:500; }

    /* SECTION COMMON */
    .section-label { text-align:center; font-size:12px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:#255bbd; margin-bottom:16px; }
    .section-title { font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,3.5vw,52px); font-weight:800; text-align:center; color:#0D1B3E; margin-bottom:20px; line-height:1.2; }

    .section-subtitle { text-align:center; font-size:17px; color:#475569; max-width:700px; margin:0 auto 70px; line-height:1.75; }

    /* WHY SECTION */
    .why-section { position:relative; padding:90px 40px 40px; background:#eef4ff; overflow:hidden; }
    .why-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:1400px; margin:0 auto; }
    .why-card { background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%); border:1px solid rgba(251,191,36,0.3); border-radius:28px; padding:48px; position:relative; overflow:hidden; transition:transform 0.4s ease,box-shadow 0.4s ease,border-color 0.4s ease; }
    .why-card::before { content:''; position:absolute; inset:0; border-radius:28px; background:var(--card-glow); opacity:0; transition:opacity 0.4s ease; pointer-events:none; }
    .why-card:hover { transform:translateY(-8px); box-shadow:0 30px 80px rgba(251,191,36,0.15); border-color:var(--card-border); }
    .why-card:hover::before { opacity:1; }
    .why-card.c1 { --card-glow:linear-gradient(135deg,rgba(251,191,36,0.15),transparent); --card-border:rgba(251,191,36,0.6); }
    .why-card.c2 { --card-glow:linear-gradient(135deg,rgba(245,158,11,0.15),transparent); --card-border:rgba(245,158,11,0.6); }
    .why-icon { width:64px; height:64px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:28px; }
    .ic-purple { background:linear-gradient(135deg,rgba(37,91,189,0.15),rgba(99,102,241,0.1)); border:1px solid rgba(37,91,189,0.3); }
    .ic-blue   { background:linear-gradient(135deg,rgba(59,130,246,0.15),rgba(99,102,241,0.1)); border:1px solid rgba(59,130,246,0.3); }
    .why-card h3 { font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; color:#0D1B3E; margin-bottom:16px; }
    .why-card p { font-size:16px; color:#475569; line-height:1.8; }

    /* SERVICES SECTION */
    .services-section { position:relative; padding:90px 40px; background:#f4f8ff; overflow:hidden; }
    .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; max-width:1500px; margin:0 auto; }
    .svc-card { position:relative; border-radius:32px; padding:52px 44px; overflow:hidden; transition:transform 0.4s ease,box-shadow 0.4s ease; cursor:default; }
    .svc-card::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; border-radius:32px 32px 0 0; background:var(--accent); }
    .svc-card:hover { transform:translateY(-12px); box-shadow:0 40px 80px rgba(37,91,189,0.1); }
    .svc-card.sc1 { --accent:linear-gradient(90deg,#255bbd,#6366f1); background:linear-gradient(160deg,#e0e7ff 0%,#dbeafe 100%) !important; border:1px solid rgba(37,91,189,0.3); }
    .svc-card.sc2 { --accent:linear-gradient(90deg,#0077b6,#3b82f6); background:linear-gradient(160deg,#dbeafe 0%,#cffafe 100%) !important; border:1px solid rgba(59,130,246,0.3); }
    .svc-card.sc3 { --accent:linear-gradient(90deg,#1E3A8A,#22d3ee); background:linear-gradient(160deg,#e0f2fe 0%,#ccfbf1 100%) !important; border:1px solid rgba(30,58,138,0.3); }
    .svc-icon-wrap { width:72px; height:72px; border-radius:22px; display:flex; align-items:center; justify-content:center; font-size:32px; margin-bottom:32px; }
    .si1 { background:linear-gradient(135deg,rgba(37,91,189,0.15),rgba(99,102,241,0.1)); border:1px solid rgba(37,91,189,0.3); }
    .si2 { background:linear-gradient(135deg,rgba(59,130,246,0.15),rgba(99,102,241,0.1)); border:1px solid rgba(59,130,246,0.3); }
    .si3 { background:linear-gradient(135deg,rgba(30,58,138,0.15),rgba(34,211,238,0.1)); border:1px solid rgba(30,58,138,0.3); }
    .svc-card h3 { font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:800; color:#0D1B3E; margin-bottom:18px; line-height:1.3; }
    .svc-card p { font-size:16px; color:#475569; line-height:1.8; margin-bottom:28px; }
    .svc-tag { display:inline-block; padding:5px 14px; border-radius:100px; font-size:12px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; }
    .t1 { background:rgba(37,91,189,0.1); color:#255bbd; border:1px solid rgba(37,91,189,0.2); }
    .t2 { background:rgba(59,130,246,0.1); color:#3b82f6; border:1px solid rgba(59,130,246,0.2); }
    .t3 { background:rgba(30,58,138,0.1); color:#1E3A8A; border:1px solid rgba(30,58,138,0.2); }
    .svc-num { position:absolute; bottom:-20px; right:20px; font-family:'Space Grotesk',sans-serif; font-size:120px; font-weight:900; opacity:0.04; color:#0D1B3E; line-height:1; user-select:none; }

    /* PUZZLE FEATURE ROW */
    .puzzle-row-section { position:relative; padding:90px 40px; background:#eef4ff; overflow:hidden; }
    .puzzle-row { display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:1400px; margin:0 auto; align-items:center; }
    .puzzle-visual { position:relative; height:520px; }
    .pz { position:absolute; border-radius:20px; display:flex; align-items:center; justify-content:center; font-size:32px; transition:transform 0.4s ease; box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
    .pz:hover { transform:scale(1.06) !important; box-shadow: 0 8px 28px rgba(0,0,0,0.1); }
    .pz1 { width:200px; height:180px; top:0;   left:0;     background:linear-gradient(135deg,#DBEAFE,#BFDBFE);   border:1px solid rgba(37,91,189,0.15); animation:pz-float 6s  ease-in-out infinite; }
    .pz2 { width:160px; height:160px; top:0;   left:210px; background:linear-gradient(135deg,#CCFBF1,#99F6E4);     border:1px solid rgba(13,148,136,0.15);   animation:pz-float 8s  ease-in-out infinite 1s; }
    .pz3 { width:140px; height:160px; top:0;   right:0;    background:linear-gradient(135deg,#E0E7FF,#C7D2FE);    border:1px solid rgba(79,70,229,0.15);  animation:pz-float 7s  ease-in-out infinite 0.5s; }
    .pz4 { width:180px; height:200px; top:190px; left:0;   background:linear-gradient(135deg,#DCFCE7,#BBF7D0);    border:1px solid rgba(34,197,94,0.15);  animation:pz-float 9s  ease-in-out infinite 2s; }
    .pz5 { width:200px; height:170px; top:170px; left:190px; background:linear-gradient(135deg,#E0F2FE,#BAE6FD);   border:1px solid rgba(14,165,233,0.15);   animation:pz-float 7s  ease-in-out infinite 1.5s; }
    .pz6 { width:150px; height:170px; top:170px; right:0;  background:linear-gradient(135deg,#F3E8FF,#E9D5FF);   border:1px solid rgba(139,92,246,0.15);  animation:pz-float 10s ease-in-out infinite 3s; }
    .pz7 { width:370px; height:140px; top:360px; left:0;   background:linear-gradient(135deg,#EFF6FF,#DBEAFE);   border:1px solid rgba(59,130,246,0.15);  animation:pz-float 8s  ease-in-out infinite 0.7s; }
    .pz8 { width:150px; height:140px; top:360px; right:0;  background:linear-gradient(135deg,#ECFCCB,#D9F99D);   border:1px solid rgba(132,204,22,0.15);   animation:pz-float 11s ease-in-out infinite 1.2s; }
    @keyframes pz-float { 0%,100%{transform:translateY(0px);} 50%{transform:translateY(-8px);} }
    .pz-inner { text-align:center; padding:16px; } .pz-inner span { font-size:24px; font-weight:700; color:#0D1B3E; }
    .pz-inner h4 { font-family:'Space Grotesk',sans-serif; font-size:17px; font-weight:700; color:#0D1B3E; margin-top:8px; line-height:1.3; }
    .puzzle-content h2 { font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,3vw,46px); font-weight:800; color:#0D1B3E; margin-bottom:24px; line-height:1.2; }
    .puzzle-content p { font-size:17px; color:#475569; line-height:1.85; margin-bottom:20px; }
    .feature-list { list-style:none; margin-top:32px; display:flex; flex-direction:column; gap:16px; }
    .feature-list li { display:flex; align-items:flex-start; gap:14px; font-size:16px; color:#475569; line-height:1.6; }
    .feature-list li .check { width:24px; height:24px; min-width:24px; border-radius:50%; background:linear-gradient(135deg,#255bbd,#0077b6); display:flex; align-items:center; justify-content:center; font-size:12px; margin-top:2px; color:#fff; }

    /* CTA */
    .cta-section { position:relative; padding:100px 40px; overflow:hidden; background:linear-gradient(160deg,#f4f8ff 0%,#e8f0ff 50%,#f0f5ff 100%); text-align:center; }
    .cta-glow-ring { position:absolute; border-radius:50%; border:1px solid; animation:ring-pulse 4s ease-in-out infinite; pointer-events:none; }
    .cta-glow-ring.r1 { width:400px; height:400px; top:50%; left:50%; transform:translate(-50%,-50%); border-color:rgba(37,91,189,0.15); animation-delay:0s; }
    .cta-glow-ring.r2 { width:650px; height:650px; top:50%; left:50%; transform:translate(-50%,-50%); border-color:rgba(37,91,189,0.08); animation-delay:0.7s; }
    .cta-glow-ring.r3 { width:900px; height:900px; top:50%; left:50%; transform:translate(-50%,-50%); border-color:rgba(37,91,189,0.04); animation-delay:1.4s; }
    @keyframes ring-pulse { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1;} 50%{transform:translate(-50%,-50%) scale(1.05);opacity:0.6;} }
    .cta-section h2 { font-family:'Space Grotesk',sans-serif; font-size:clamp(32px,4vw,64px); font-weight:900; color:#0D1B3E; margin-bottom:24px; position:relative; z-index:5; line-height:1.15; }
    .cta-section h2 span { background:linear-gradient(135deg,#255bbd,#6366f1); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
    .cta-section p:not(.section-label) { font-size:18px; color:#475569; max-width:650px; margin:0 auto 48px; line-height:1.8; position:relative; z-index:5; }
    .cta-btn-wrap { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; position:relative; z-index:5; }

    /* RESPONSIVE */
    @media(max-width:1100px){ .services-grid{grid-template-columns:1fr 1fr;} .puzzle-row{grid-template-columns:1fr;} .puzzle-visual{display:none;} .maint-hero-inner{grid-template-columns:1fr;} .hero-right-grid{grid-template-columns:1fr 1fr;} }
    @media(max-width:768px){ 
      .services-grid{grid-template-columns:1fr;} 
      .why-grid{grid-template-columns:1fr;} 
      .hero-right-grid{grid-template-columns:1fr 1fr;} 
      .maint-hero { padding: 200px 24px 60px !important; }
      .why-section,.services-section,.puzzle-row-section,.cta-section{padding:60px 24px;} 
    }

.maint-theme .maint-hero{
    background: linear-gradient(135deg,#f4f8ff 0%,#e8f0ff 45%,#f0f5ff 100%) !important;
}

.maint-theme .why-section{
    background:#eef4ff !important;
}

.maint-theme .services-section{
    background:#f4f8ff !important;
}

.maint-theme .puzzle-row-section{
    background:#eef4ff !important;
}

.maint-theme .cta-section{
    background:linear-gradient(
        160deg,
        #f4f8ff 0%,
        #e8f0ff 50%,
        #f0f5ff 100%
    ) !important;
}

/* --- GLOBAL MOBILE OPTIMIZATION PATCH --- */
@media (max-width: 768px) {
  /* Fix container paddings */
  section, .container, .container-balanced, .container-expanded, .main-content, .hero-container, .content-wrapper {
    padding-left: 15px !important;
    padding-right: 15px !important;
    min-width: 0 !important;
  }
  
  /* Reset rigid min-widths causing overflow or squishing */
  [style*="min-width"], .bento-card, .glass-card, .r-card, .step-card, .folder-box, .glass-box {
    min-width: 0 !important;
    width: 100% !important;
  }
  
  /* Force inline flex containers to wrap */
  [style*="display: flex"] {
    flex-wrap: wrap !important;
  }
  
  /* Force common grid/flex layouts to stack vertically */
  .hero-bubble-layout, .bento-container, .glass-grid, .retail-grid, .hero-container, .zig-zag-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }
  
  /* Reduce massive padding inside cards and CTA sections */
  .bento-card, .glass-card, .r-card, .step-card, .folder-box, .bento-glass, .glass-box, .massive-cta, .cta-glass-panel, .retail-cta, .r-cta-content {
    padding: 25px 20px !important;
  }
  
  /* Fix overlapping absolute elements in hero sections (e.g., Shopify page) */
  section > div > div[style*="position: relative; width: 100%; display: flex"] {
    flex-direction: column !important;
    gap: 30px !important;
  }
  
  /* Avoid giant box shadows pushing width */
  .folder-box, .glass-card, .step-card, .bento-card {
    box-shadow: 5px 5px 15px rgba(0,0,0,0.05) !important;
  }
}

