﻿    :root{
      --bg:#ffffff;
      --ink:#0b1220;
      --muted:#556274;
      --red:#ef4134;
      --red-deep:#c92a1d;
      --blue:#1f374a;

      --glass: rgba(255, 255, 255, 0.90);
      --glass-border: 1px solid rgba(255, 255, 255, 0.8);
      --glass-blur: blur(25px);

      --r-pill: 100px;
      --r-card: 28px;

      --bounce: cubic-bezier(0.68, -0.55, 0.27, 1.55);
      --smooth: cubic-bezier(0.25, 1, 0.5, 1);
    }

    * { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior: smooth; }

    body {
      font-family: "Poppins", sans-serif;
      background: var(--bg);
      color: var(--ink);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }
	/* =========================================
       DARK MODE SWITCHER STYLES
       ========================================= */
    
    /* 1. The Toggle Button Style */
    .theme-toggle-btn {
      background: rgba(31,55,74,0.05);
      border: 1px solid rgba(31,55,74,0.1);
      color: var(--blue);
      width: 40px;
      height: 40px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s ease;
      font-size: 1.1rem;
      margin-left: 10px;
    }
    
    .theme-toggle-btn:hover {
      background: rgba(239,65,52,0.1);
      color: var(--red);
      transform: rotate(15deg);
    }

    /* 2. Dark Theme Variables Override */
    [data-theme="dark"] {
      --bg: #0f172a;           /* Deep Navy/Black */
      --ink: #f1f5f9;          /* Off-white text */
      --muted: #94a3b8;        /* Light grey */
      --blue: #e2e8f0;         /* Make dark blue text light */
      
      --glass: rgba(15, 23, 42, 0.65);
      --glass-border: 1px solid rgba(255, 255, 255, 0.08);
      --glass-blur: blur(25px);
    }

    /* 3. Dark Mode Specific Element Fixes */
    [data-theme="dark"] body {
      background: #020617; /* Even darker background for body */
    }

    /* Fix visual cards gradients (Hero, Compliance, Ops, etc.) */
    [data-theme="dark"] .hero-visual, 
    [data-theme="dark"] .compliance-visual, 
    [data-theme="dark"] .ops-visual, 
    [data-theme="dark"] .visibility-visual,
    [data-theme="dark"] .msme-visual {
      background: 
        radial-gradient(circle at 70% 20%, rgba(239,65,52,0.15), transparent 50%),
        radial-gradient(circle at 30% 80%, rgba(56, 189, 248, 0.1), transparent 50%),
        linear-gradient(180deg, rgba(30, 41, 59, 0.8), rgba(15, 23, 42, 1));
      border-color: rgba(255,255,255,0.05);
    }

    /* Invert Logos if they are dark images */
    [data-theme="dark"] .logo img, 
    [data-theme="dark"] footer img {
      filter: brightness(0) invert(1);
    }

    /* Cards and Panels Backgrounds */
    [data-theme="dark"] .hcard, 
    [data-theme="dark"] .ops-card, 
    [data-theme="dark"] .vv-card, 
    [data-theme="dark"] .mv-card,
    [data-theme="dark"] .mv-orbit,
    [data-theme="dark"] .bcard,
    [data-theme="dark"] .glass-card,
    [data-theme="dark"] .rank-panel,
    [data-theme="dark"] .policy-panel,
    [data-theme="dark"] .policy-content,
    [data-theme="dark"] .vv-search,
    [data-theme="dark"] .ops-topbar {
      background: rgba(30, 41, 59, 0.6); /* Dark slate semi-transparent */
      border-color: rgba(255,255,255,0.08);
      color: var(--ink);
    }

    /* Text Adjustments inside cards */
    [data-theme="dark"] .hcard .htxt b,
    [data-theme="dark"] .ops-card-head b,
    [data-theme="dark"] .metric b,
    [data-theme="dark"] .mv-card b,
    [data-theme="dark"] .bcard b,
    [data-theme="dark"] .vv-query,
    [data-theme="dark"] .vv-meta b {
      color: #fff;
    }

    /* Header & Footer */
    [data-theme="dark"] header {
      background: rgba(15, 23, 42, 0.85);
      border-bottom: 1px solid rgba(255,255,255,0.05);
    }
    
    [data-theme="dark"] .nav-btn {
      color: #cbd5e1;
    }
    
    [data-theme="dark"] footer,
    [data-theme="dark"] .copyright-bar,
    [data-theme="dark"] .policy-nav {
      background-color: #0f172a;
      border-color: rgba(255,255,255,0.05);
      color: #94a3b8;
    }
    
    [data-theme="dark"] .policy-nav button {
      background: rgba(255,255,255,0.03);
      border-color: rgba(255,255,255,0.05);
      color: #cbd5e1;
    }

    /* Rank Cards Specifics */
    [data-theme="dark"] .rank-title {
      color: #fff;
    }
    [data-theme="dark"] .supreme-gold {
      background: linear-gradient(135deg, rgba(66, 48, 0, 0.9), rgba(46, 35, 0, 0.9));
      border-left: 4px solid #ffd700;
    }
    [data-theme="dark"] .supreme-pool {
      background: rgba(0,0,0,0.3);
      color: #ffd700;
      border-color: #ffd700;
    }
    [data-theme="dark"] .supreme-pool strong {
      color: #fff;
    }

    /* Mobile Menu */
    [data-theme="dark"] .mobile-menu {
      background: #1e293b;
      border: 1px solid rgba(255,255,255,0.1);
    }
    [data-theme="dark"] .mobile-btn {
      background: #0f172a;
      color: #fff;
    }
    /* ========= HERO VISUAL (HTML/CSS/JS - NO IMAGE) ========= */
    .hero-visual{
      position: relative;
      width: 100%;
      min-height: 340px;
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 18px 50px rgba(11,18,32,.10);
      background:
        radial-gradient(900px 380px at 70% 25%, rgba(239,65,52,.16), transparent 55%),
        radial-gradient(720px 360px at 30% 75%, rgba(31,55,74,.14), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,1));
      transform-style: preserve-3d;
    }
    
    .hero-visual::before{
      content:"";
      position:absolute; inset:0;
      background:
        linear-gradient(rgba(31,55,74,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,55,74,.06) 1px, transparent 1px);
      background-size: 28px 28px;
      opacity: .35;
      mask-image: radial-gradient(60% 60% at 50% 50%, #000 50%, transparent 100%);
      pointer-events:none;
    }
    
    .hero-visual::after{
      content:"";
      position:absolute; inset:-2px;
      background: radial-gradient(380px 220px at 55% 45%, rgba(239,65,52,.18), transparent 60%);
      opacity:.9;
      pointer-events:none;
    }
    
    /* SVG lines */
    .hero-lines{
      position:absolute; inset:0;
      width:100%; height:100%;
      opacity:.9;
      pointer-events:none;
    }
    .hero-lines .line{
      fill:none;
      stroke: rgba(31,55,74,.22);
      stroke-width: 2;
      stroke-dasharray: 7 10;
      animation: dash 8.5s linear infinite;
    }
    @keyframes dash{
      to{ stroke-dashoffset: -220; }
    }
    
    /* Hub */
    .hub{
      position:absolute;
      left: 50%; top: 52%;
      transform: translate(-50%,-50%);
      text-align:center;
      z-index: 2;
    }
    .hub-ring{
      width: 170px; height: 170px;
      border-radius: 999px;
      border: 1px solid rgba(31,55,74,.14);
      background: radial-gradient(circle at 50% 50%, rgba(239,65,52,.16), transparent 55%);
      animation: hubPulse 2.8s ease-in-out infinite;
    }
    @keyframes hubPulse{
      0%,100%{ transform: scale(1); opacity: .9; }
      50%{ transform: scale(1.06); opacity: 1; }
    }
    .hub-core{
      position:absolute;
      left:50%; top:50%;
      transform: translate(-50%,-50%);
      width: 74px; height: 74px;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(31,55,74,.16);
      box-shadow: 0 16px 35px rgba(11,18,32,.14);
      display:flex; align-items:center; justify-content:center;
    }
    .hub-core i{
      font-size: 28px;
      color: var(--red, #ef4134);
    }
    .hub-label{
      margin-top: 12px;
      display:inline-flex;
      align-items:center;
      gap: 10px;
      font-size: 13px;
      color: rgba(31,55,74,.86);
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(31,55,74,.12);
      padding: 8px 12px;
      border-radius: 999px;
      box-shadow: 0 10px 22px rgba(11,18,32,.08);
    }
    .hub-label .dot{
      width: 8px; height: 8px; border-radius: 999px;
      background: var(--red, #ef4134);
      box-shadow: 0 0 0 6px rgba(239,65,52,.12);
    }
    
    /* --- PDF RESPONSIVE FIX --- */

    /* Default (Desktop): Show iframe, hide mobile view */
    .pdf-desktop-frame {
      display: block;
      width: 100%;
      height: 100%;
      border: none;
    }
    .pdf-mobile-view {
      display: none;
    }
    
    /* Mobile & Tablet (Screens smaller than 900px) */
    @media (max-width: 900px) {
      /* Hide the iframe because mobile browsers can't render it well */
      .pdf-desktop-frame {
        display: none;
      }
      
      /* Show the mobile-friendly card */
      .pdf-mobile-view {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        background: #f8fafc;
        text-align: center;
        padding: 30px 20px;
      }
      
      /* Adjust container height on mobile so it's not too tall */
      .glass-card.pdf-card-container {
        height: auto !important; /* Override fixed 500px */
        min-height: 300px;
      }
    }
    
    /* Floating cards */
    .hcard{
      position:absolute;
      display:flex;
      gap: 10px;
      align-items:center;
      padding: 12px 14px;
      background: rgba(255,255,255,.88);
      border: 1px solid rgba(31,55,74,.14);
      border-radius: 16px;
      box-shadow: 0 16px 40px rgba(11,18,32,.10);
      backdrop-filter: blur(8px);
      transform: translate3d(0,0,0);
      animation: floaty 4.6s ease-in-out infinite;
      z-index: 3;
    }
    @keyframes floaty{
      0%,100%{ transform: translate3d(0,0,0); }
      50%{ transform: translate3d(0,-10px,0); }
    }
    .hcard .hicon{
      width: 38px; height: 38px;
      border-radius: 12px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(239,65,52,.10);
      border: 1px solid rgba(239,65,52,.22);
    }
    .hcard .hicon i{
      color: var(--red, #ef4134);
      font-size: 16px;
    }
    .hcard .htxt b{
      display:block;
      font-size: 13px;
      color: rgba(11,18,32,.92);
      letter-spacing: .2px;
    }
    .hcard .htxt small{
      display:block;
      font-size: 12px;
      color: rgba(31,55,74,.72);
      margin-top: 2px;
    }
    
    /* Card positions */
    .c1{ left: 7%; top: 12%; animation-delay: .2s; }
    .c2{ right: 7%; top: 16%; animation-delay: .8s; }
    .c3{ left: 8%; bottom: 14%; animation-delay: 1.2s; }
    .c4{ right: 8%; bottom: 18%; animation-delay: .5s; }
    
    /* Micro icons */
    .spark{
      position:absolute;
      width: 34px; height: 34px;
      border-radius: 12px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(31,55,74,.06);
      border: 1px solid rgba(31,55,74,.12);
      color: rgba(31,55,74,.78);
      box-shadow: 0 14px 30px rgba(11,18,32,.08);
      animation: drift 6s ease-in-out infinite;
      z-index: 1;
    }
    @keyframes drift{
      0%,100%{ transform: translate(0,0) rotate(0deg); opacity: .9; }
      50%{ transform: translate(0,-14px) rotate(4deg); opacity: 1; }
    }
    .s1{ left: 24%; top: 28%; animation-delay: .1s; }
    .s2{ right: 24%; top: 34%; animation-delay: .7s; }
    .s3{ left: 28%; bottom: 30%; animation-delay: 1.1s; }
    .s4{ right: 28%; bottom: 32%; animation-delay: .4s; }
    
    /* Mobile tweaks */
    @media (max-width: 640px){
      .hero-visual{ min-height: 320px; }
      .hub-ring{ width: 150px; height: 150px; }
      .hcard{ padding: 10px 12px; }
      .c1,.c3{ left: 5%; }
      .c2,.c4{ right: 5%; }
    }
    
    /* Respect reduced motion */
    @media (prefers-reduced-motion: reduce){
      .hero-lines .line, .hcard, .spark, .hub-ring{ animation: none !important; }
    }


    /* === POLICY CONTENT SCROLLBAR (only when needed) === */
    .policy-content{
      overflow: auto;
      max-height: 70vh;
      -webkit-overflow-scrolling: touch;
    }

    .policy-content::-webkit-scrollbar{ width: 10px; }
    .policy-content::-webkit-scrollbar-track{
      background: rgba(31,55,74,0.06);
      border-radius: 999px;
    }
    .policy-content::-webkit-scrollbar-thumb{
      background: rgba(31,55,74,0.28);
      border-radius: 999px;
      border: 2px solid rgba(255,255,255,0.7);
    }
    .policy-content::-webkit-scrollbar-thumb:hover{
      background: rgba(239,65,52,0.45);
    }

    .policy-content{
      scrollbar-width: thin;
      scrollbar-color: rgba(31,55,74,0.35) rgba(31,55,74,0.08);
    }

    .policy-nav{
      overflow: auto;
      max-height: 70vh;
    }
    /* ========= COMPLIANCE VISUAL ========= */
    .compliance-visual{
      position:relative;
      width:100%;
      min-height:340px;
      border-radius:22px;
      overflow:hidden;
      border:1px solid rgba(31,55,74,.12);
      box-shadow:0 18px 50px rgba(11,18,32,.10);
      background:
        radial-gradient(720px 340px at 70% 20%, rgba(239,65,52,.14), transparent 55%),
        radial-gradient(680px 360px at 30% 78%, rgba(31,55,74,.14), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,1));
      transform-style:preserve-3d;
    }
    
    .cv-grid{
      position:absolute; inset:0;
      background:
        linear-gradient(rgba(31,55,74,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,55,74,.06) 1px, transparent 1px);
      background-size:28px 28px;
      opacity:.35;
      mask-image: radial-gradient(62% 62% at 50% 55%, #000 55%, transparent 100%);
      pointer-events:none;
    }
    
    .compliance-visual::after{
      content:"";
      position:absolute; inset:-2px;
      background: radial-gradient(360px 220px at 55% 55%, rgba(239,65,52,.14), transparent 60%);
      pointer-events:none;
    }
    
    /* chips */
    .cv-chip{
      position:absolute;
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:9px 12px;
      border-radius:999px;
      font-size:12px;
      font-weight:600;
      color: rgba(31,55,74,.86);
      background: rgba(255,255,255,.80);
      border:1px solid rgba(31,55,74,.12);
      box-shadow:0 10px 22px rgba(11,18,32,.08);
      backdrop-filter: blur(8px);
      z-index:3;
      animation: cvFloat 6s ease-in-out infinite;
    }
    .cv-chip i{ color: var(--red,#ef4134); }
    @keyframes cvFloat{
      0%,100%{ transform: translate3d(0,0,0); }
      50%{ transform: translate3d(0,-10px,0); }
    }
    .ch1{ left: 14px; top: 16px; animation-delay:.1s; }
    .ch2{ right: 14px; top: 54px; animation-delay:.6s; }
    .ch3{ left: 14px; bottom: 18px; animation-delay:1.2s; }
    
    /* document */
    .cv-doc{
      position:absolute;
      left: 18px;
      right: 140px;
      top: 70px;
      bottom: 18px;
      border-radius:18px;
      background: rgba(255,255,255,.88);
      border:1px solid rgba(31,55,74,.14);
      box-shadow:0 18px 45px rgba(11,18,32,.10);
      backdrop-filter: blur(10px);
      z-index:2;
      overflow:hidden;
    }
    
    .cv-doc::before{
      content:"";
      position:absolute; inset:0;
      background:
        radial-gradient(220px 140px at 20% 20%, rgba(239,65,52,.10), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.70));
      pointer-events:none;
    }
    
    .cv-doc-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      padding:14px 14px 10px;
      border-bottom:1px solid rgba(31,55,74,.10);
      position:relative;
      z-index:1;
    }
    .cv-doc-mark b{
      display:block;
      font-size:13px;
      color: rgba(11,18,32,.92);
    }
    .cv-doc-mark small{
      display:block;
      margin-top:3px;
      font-size:12px;
      color: rgba(31,55,74,.70);
    }
    .cv-doc-mark .dot{
      display:inline-block;
      width:8px; height:8px;
      border-radius:999px;
      background: var(--red,#ef4134);
      box-shadow:0 0 0 6px rgba(239,65,52,.12);
      margin-right:10px;
      vertical-align:middle;
    }
    .cv-doc-id{
      font-size:12px;
      font-weight:700;
      color: rgba(31,55,74,.78);
      background: rgba(31,55,74,.06);
      border:1px solid rgba(31,55,74,.10);
      padding:7px 10px;
      border-radius:999px;
    }
    
    .cv-lines{
      padding:12px 14px 0;
      display:grid;
      gap:10px;
      position:relative;
      z-index:1;
    }
    .cv-lines span{
      height:10px;
      border-radius:999px;
      background: rgba(31,55,74,.07);
      border:1px solid rgba(31,55,74,.10);
    }
    .cv-lines span:nth-child(1){ width: 86%; }
    .cv-lines span:nth-child(2){ width: 72%; }
    .cv-lines span:nth-child(3){ width: 90%; }
    .cv-lines span:nth-child(4){ width: 66%; }
    .cv-lines span:nth-child(5){ width: 78%; }
    
    .cv-checks{
      list-style:none;
      margin: 12px 0 0;
      padding: 0 14px;
      display:grid;
      gap:10px;
      position:relative;
      z-index:1;
    }
    .cv-checks li{
      display:flex;
      align-items:center;
      gap:10px;
      padding:10px 10px;
      border-radius:14px;
      background: rgba(255,255,255,.70);
      border:1px solid rgba(31,55,74,.10);
      color: rgba(11,18,32,.88);
      font-size:12px;
      font-weight:600;
    }
    .tick{
      width:20px; height:20px;
      border-radius:8px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(239,65,52,.10);
      border:1px solid rgba(239,65,52,.20);
    }
    .tick i{ color: var(--red,#ef4134); font-size:12px; }
    
    /* footer */
    .cv-footer{
      position:absolute;
      left:14px; right:14px; bottom:12px;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
      z-index:1;
    }
    .cv-sign .sig{
      display:block;
      width:120px; height:10px;
      border-radius:999px;
      background: rgba(31,55,74,.10);
      border:1px solid rgba(31,55,74,.12);
    }
    .cv-sign small{
      display:block;
      margin-top:6px;
      font-size:11px;
      color: rgba(31,55,74,.70);
    }
    .cv-seal{
      display:flex;
      align-items:center;
      gap:10px;
      padding:8px 10px;
      border-radius:14px;
      background: rgba(31,55,74,.06);
      border:1px solid rgba(31,55,74,.10);
    }
    .cv-seal i{ color: var(--red,#ef4134); }
    .cv-seal small{ color: rgba(31,55,74,.75); font-weight:700; }
    
    /* shield */
    .cv-shield{
      position:absolute;
      right: 18px;
      top: 92px;
      width: 170px;
      height: 210px;
      border-radius: 22px;
      background:
        radial-gradient(220px 160px at 50% 35%, rgba(239,65,52,.18), transparent 65%),
        linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.70));
      border: 1px solid rgba(31,55,74,.14);
      box-shadow: 0 20px 55px rgba(11,18,32,.12);
      backdrop-filter: blur(10px);
      z-index:4;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
    }
    .cv-shield-inner{
      text-align:center;
      padding: 16px;
    }
    .cv-shield-inner i{
      font-size: 34px;
      color: var(--red,#ef4134);
      filter: drop-shadow(0 10px 16px rgba(239,65,52,.18));
    }
    .cv-shield-inner b{
      display:block;
      margin-top: 10px;
      font-size: 14px;
      letter-spacing: .6px;
      color: rgba(11,18,32,.90);
    }
    .cv-shield-inner small{
      display:block;
      margin-top: 6px;
      font-size: 12px;
      color: rgba(31,55,74,.72);
    }
    .cv-shield::after{
      content:"";
      position:absolute; inset:-40px;
      background: conic-gradient(from 180deg, rgba(239,65,52,.0), rgba(239,65,52,.18), rgba(239,65,52,.0));
      animation: cvGlow 4.8s linear infinite;
      opacity:.75;
      pointer-events:none;
    }
    @keyframes cvGlow{ to{ transform: rotate(360deg); } }
    
    /* stamp */
    .cv-stamp{
      position:absolute;
      right: 44px;
      bottom: 38px;
      width: 120px; height: 120px;
      border-radius: 999px;
      border: 2px dashed rgba(239,65,52,.55);
      background: rgba(239,65,52,.06);
      box-shadow: 0 18px 45px rgba(11,18,32,.10);
      display:flex;
      align-items:center;
      justify-content:center;
      z-index:5;
      transform: rotate(-10deg);
      animation: stampPulse 2.6s ease-in-out infinite;
    }
    @keyframes stampPulse{
      0%,100%{ transform: rotate(-10deg) scale(1); }
      50%{ transform: rotate(-10deg) scale(1.04); }
    }
    .cv-stamp-ring{
      position:absolute;
      inset: 10px;
      border-radius:999px;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:10px;
      letter-spacing: 2px;
      color: rgba(239,65,52,.85);
      text-transform: uppercase;
    }
    .cv-stamp-core{
      width: 54px; height: 54px;
      border-radius: 16px;
      background: rgba(255,255,255,.86);
      border: 1px solid rgba(239,65,52,.30);
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight: 900;
      color: rgba(239,65,52,.95);
    }
    
    /* scan line */
    .cv-scan{
      position:absolute;
      left: 0; right: 0;
      top: -30%;
      height: 140px;
      background: linear-gradient(180deg, transparent, rgba(239,65,52,.10), transparent);
      opacity: .65;
      transform: skewY(-6deg);
      animation: scan 4.8s ease-in-out infinite;
      pointer-events:none;
      z-index:1;
    }
    @keyframes scan{
      0%{ top: -30%; }
      50%{ top: 55%; }
      100%{ top: 120%; }
    }
    
    /* Mobile */
    @media (max-width: 640px){
      .compliance-visual{ min-height: 360px; }
      .cv-doc{ right: 18px; bottom: 120px; }
      .cv-shield{ right: 18px; top: auto; bottom: 18px; width: 180px; height: 92px; }
      .cv-shield-inner i{ font-size: 22px; }
      .cv-stamp{ right: 18px; bottom: 18px; width: 96px; height: 96px; display:none; }
    }
    
    /* Reduced motion */
    @media (prefers-reduced-motion: reduce){
      .cv-chip, .cv-shield::after, .cv-stamp, .cv-scan{ animation: none !important; }
    }

    /* ========= OPS / HELPING BUSINESSES VISUAL ========= */
    .ops-visual{
      position: relative;
      width: 100%;
      min-height: 340px;
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 18px 50px rgba(11,18,32,.10);
      background:
        radial-gradient(720px 340px at 70% 20%, rgba(239,65,52,.14), transparent 55%),
        radial-gradient(680px 360px at 30% 78%, rgba(31,55,74,.14), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,1));
      transform-style: preserve-3d;
    }
    
    .ops-visual::after{
      content:"";
      position:absolute; inset:-2px;
      background: radial-gradient(360px 220px at 55% 55%, rgba(239,65,52,.14), transparent 60%);
      pointer-events:none;
    }
    
    .ops-grid{
      position:absolute; inset:0;
      background:
        linear-gradient(rgba(31,55,74,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,55,74,.06) 1px, transparent 1px);
      background-size: 28px 28px;
      opacity: .35;
      mask-image: radial-gradient(62% 62% at 50% 55%, #000 55%, transparent 100%);
      pointer-events:none;
    }
    
    /* Topbar */
    .ops-topbar{
      position:absolute;
      left: 18px; right: 18px; top: 16px;
      display:flex;
      align-items:center;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 16px;
      background: rgba(255,255,255,.82);
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 14px 30px rgba(11,18,32,.08);
      backdrop-filter: blur(8px);
      z-index: 5;
    }
    .ops-dot{
      width:10px; height:10px;
      border-radius: 999px;
      background: rgba(31,55,74,.18);
    }
    .ops-title{
      margin-left: 2px;
      font-weight: 700;
      font-size: 13px;
      color: rgba(11,18,32,.86);
      letter-spacing: .3px;
    }
    .ops-pill{
      margin-left:auto;
      display:inline-flex;
      align-items:center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 999px;
      font-size: 12px;
      background: rgba(239,65,52,.10);
      border: 1px solid rgba(239,65,52,.18);
      color: rgba(11,18,32,.84);
    }
    .ops-pill i{ color: var(--red, #ef4134); }
    
    /* Cards */
    .ops-card{
      position:absolute;
      background: rgba(255,255,255,.88);
      border: 1px solid rgba(31,55,74,.14);
      border-radius: 18px;
      box-shadow: 0 18px 45px rgba(11,18,32,.10);
      backdrop-filter: blur(10px);
      z-index: 3;
      overflow:hidden;
    }
    
    .ops-card.main{
      left: 18px; right: 18px;
      top: 72px;
      padding: 14px;
    }
    
    .ops-card-head{
      display:flex;
      justify-content: space-between;
      align-items:flex-start;
      gap: 12px;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(31,55,74,.10);
    }
    .ops-card-head b{
      display:block;
      font-size: 14px;
      color: rgba(11,18,32,.90);
    }
    .ops-card-head small{
      display:block;
      margin-top: 3px;
      font-size: 12px;
      color: rgba(31,55,74,.68);
    }
    .ops-badge{
      display:inline-flex;
      align-items:center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 999px;
      font-size: 12px;
      background: rgba(31,55,74,.06);
      border: 1px solid rgba(31,55,74,.12);
      color: rgba(31,55,74,.86);
    }
    .ops-badge i{ color: var(--red, #ef4134); }
    
    /* Metrics */
    .ops-metrics{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 12px;
    }
    .metric{
      padding: 10px 10px;
      border-radius: 14px;
      background: rgba(31,55,74,.04);
      border: 1px solid rgba(31,55,74,.10);
    }
    .metric span{
      display:block;
      font-size: 12px;
      color: rgba(31,55,74,.68);
    }
    .metric b{
      display:block;
      margin-top: 6px;
      font-size: 18px;
      color: rgba(11,18,32,.92);
    }
    .metric em{
      display:inline-flex;
      align-items:center;
      gap: 6px;
      margin-top: 6px;
      font-style: normal;
      font-size: 12px;
      color: rgba(31,55,74,.72);
    }
    .metric em.up{ color: rgba(239,65,52,.95); }
    
    /* List */
    .ops-list{
      margin-top: 12px;
      display:grid;
      gap: 10px;
    }
    .ops-list .row{
      display:flex;
      align-items:center;
      gap: 12px;
      padding: 10px 10px;
      border-radius: 14px;
      border: 1px solid rgba(31,55,74,.10);
      background: rgba(255,255,255,.72);
    }
    .chk{
      width: 18px; height: 18px;
      border-radius: 6px;
      border: 1px solid rgba(31,55,74,.22);
      background: rgba(255,255,255,.9);
      position:relative;
    }
    .chk.done{
      border-color: rgba(239,65,52,.35);
      background: rgba(239,65,52,.12);
    }
    .chk.done::after{
      content:"";
      position:absolute;
      left: 5px; top: 2px;
      width: 6px; height: 10px;
      border-right: 2px solid var(--red,#ef4134);
      border-bottom: 2px solid var(--red,#ef4134);
      transform: rotate(40deg);
    }
    .ops-list .txt b{
      display:block;
      font-size: 13px;
      color: rgba(11,18,32,.90);
    }
    .ops-list .txt small{
      display:block;
      margin-top: 2px;
      font-size: 12px;
      color: rgba(31,55,74,.68);
    }
    .tag{
      margin-left:auto;
      font-size: 11px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(31,55,74,.12);
      background: rgba(31,55,74,.06);
      color: rgba(31,55,74,.78);
      font-weight: 700;
      letter-spacing: .3px;
    }
    .tag.red{
      border-color: rgba(239,65,52,.22);
      background: rgba(239,65,52,.10);
      color: rgba(239,65,52,.95);
    }
    .tag.blue{
      border-color: rgba(31,55,74,.18);
      background: rgba(31,55,74,.08);
      color: rgba(31,55,74,.92);
    }
    
    /* Side mini cards */
    .ops-card.inbox{
      width: 210px;
      right: 18px;
      bottom: 18px;
      padding: 12px;
      z-index: 4;
    }
    .ops-card.automate{
      width: 190px;
      left: 18px;
      bottom: 18px;
      padding: 12px;
      z-index: 2;
    }
    
    .mini-head{
      display:flex;
      align-items:center;
      gap: 10px;
    }
    .mini-head i{ color: var(--red,#ef4134); }
    .mini-head b{
      font-size: 13px;
      color: rgba(11,18,32,.90);
    }
    .mini-pill{
      margin-left:auto;
      font-size: 11px;
      padding: 5px 8px;
      border-radius: 999px;
      border: 1px solid rgba(239,65,52,.18);
      background: rgba(239,65,52,.10);
      font-weight: 800;
    }
    .mini-line{
      height:1px;
      background: rgba(31,55,74,.10);
      margin: 10px 0;
    }
    .mini-item{
      display:flex;
      gap: 10px;
      align-items:center;
      padding: 8px 0;
    }
    .avatar{
      width: 26px; height: 26px;
      border-radius: 10px;
      background: rgba(31,55,74,.10);
      border: 1px solid rgba(31,55,74,.12);
    }
    .avatar.a2{
      background: rgba(239,65,52,.10);
      border-color: rgba(239,65,52,.18);
    }
    .mini-item b{
      display:block;
      font-size: 12px;
      color: rgba(11,18,32,.90);
    }
    .mini-item small{
      display:block;
      margin-top: 2px;
      font-size: 11px;
      color: rgba(31,55,74,.68);
    }
    
    /* Automation bars */
    .bars{ display:grid; gap: 8px; margin: 10px 0 6px; }
    .bar{
      height: 10px;
      border-radius: 999px;
      background: rgba(31,55,74,.08);
      border: 1px solid rgba(31,55,74,.12);
      overflow:hidden;
    }
    .bar span{
      display:block;
      height: 100%;
      width: 65%;
      background: linear-gradient(90deg, rgba(239,65,52,.85), rgba(239,65,52,.25));
      border-radius: 999px;
      animation: fillPulse 2.2s ease-in-out infinite;
    }
    .bar:nth-child(2) span{ width: 82%; animation-delay:.4s; }
    .bar:nth-child(3) span{ width: 55%; animation-delay:.8s; }
    
    @keyframes fillPulse{
      0%,100%{ filter: saturate(1); opacity:.85; }
      50%{ filter: saturate(1.2); opacity:1; }
    }
    .muted{ color: rgba(31,55,74,.68); font-size: 12px; }
    
    /* Support bubble */
    .ops-bubble{
      position:absolute;
      left: 50%;
      top: 62%;
      transform: translate(-50%,-50%);
      display:inline-flex;
      align-items:center;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 999px;
      background: rgba(255,255,255,.86);
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 14px 30px rgba(11,18,32,.10);
      z-index: 6;
      font-size: 12px;
      color: rgba(31,55,74,.84);
    }
    .ops-bubble i{ color: var(--red,#ef4134); }
    
    /* Decorative sparks */
    .ops-spark{
      position:absolute;
      width: 34px; height: 34px;
      border-radius: 12px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(31,55,74,.06);
      border: 1px solid rgba(31,55,74,.12);
      color: rgba(31,55,74,.78);
      box-shadow: 0 14px 30px rgba(11,18,32,.08);
      animation: opsDrift 6s ease-in-out infinite;
      z-index: 1;
    }
    @keyframes opsDrift{
      0%,100%{ transform: translate(0,0) rotate(0deg); opacity:.9; }
      50%{ transform: translate(0,-14px) rotate(4deg); opacity:1; }
    }
    .ops-spark.s1{ left: 22%; top: 30%; animation-delay:.1s; }
    .ops-spark.s2{ right: 22%; top: 34%; animation-delay:.8s; }
    .ops-spark.s3{ left: 40%; bottom: 18%; animation-delay:1.2s; }
    
    /* Responsive */
    @media (max-width: 900px){
      .ops-card.inbox{ width: 200px; }
      .ops-card.automate{ width: 180px; }
    }
    @media (max-width: 640px){
      .ops-visual{ min-height: 360px; }
      .ops-metrics{ grid-template-columns: 1fr; }
      .ops-card.inbox{ right: 12px; bottom: 12px; width: 190px; }
      .ops-card.automate{ left: 12px; bottom: 12px; width: 170px; }
    }
    
    /* Reduced motion */
    @media (prefers-reduced-motion: reduce){
      .bar span, .ops-spark{ animation: none !important; }
    }

    /* ========= VISIBILITY VISUAL (NO IMAGE) ========= */
    .visibility-visual{
      position: relative;
      width: 100%;
      min-height: 340px;
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 18px 50px rgba(11,18,32,.10);
      background:
        radial-gradient(600px 280px at 20% 15%, rgba(239,65,52,.16), transparent 60%),
        radial-gradient(720px 340px at 85% 70%, rgba(31,55,74,.16), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,1));
    }
    
    .visibility-visual::before{
      content:"";
      position:absolute; inset:0;
      background:
        linear-gradient(rgba(31,55,74,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,55,74,.06) 1px, transparent 1px);
      background-size: 28px 28px;
      opacity: .28;
      mask-image: radial-gradient(60% 60% at 50% 50%, #000 55%, transparent 100%);
      pointer-events:none;
    }
    
    .vv-topbar{
      display:flex;
      align-items:center;
      gap: 8px;
      padding: 10px 12px;
      border-bottom: 1px solid rgba(31,55,74,.12);
      background: rgba(255,255,255,.65);
      backdrop-filter: blur(8px);
    }
    .vv-dot{
      width: 10px; height: 10px;
      border-radius: 999px;
      background: rgba(31,55,74,.18);
    }
    .vv-url{
      margin-left: 8px;
      font-size: 12px;
      color: rgba(31,55,74,.70);
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(31,55,74,.12);
      background: rgba(255,255,255,.75);
    }
    
    .vv-search{
      margin: 12px;
      padding: 12px 12px;
      display:flex;
      align-items:center;
      gap: 10px;
      border-radius: 16px;
      border: 1px solid rgba(31,55,74,.14);
      background: rgba(255,255,255,.86);
      box-shadow: 0 16px 40px rgba(11,18,32,.08);
    }
    .vv-search i{
      color: rgba(31,55,74,.70);
    }
    .vv-query{
      font-weight: 600;
      font-size: 13px;
      color: rgba(11,18,32,.88);
      flex: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .vv-chip{
      font-size: 12px;
      color: rgba(31,55,74,.75);
      border: 1px solid rgba(31,55,74,.12);
      background: rgba(255,255,255,.8);
      padding: 7px 10px;
      border-radius: 999px;
      display:inline-flex;
      align-items:center;
      gap: 7px;
    }
    
    .vv-body{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 14px;
      padding: 0 12px 14px 12px;
    }
    
    .vv-map{
      position: relative;
      border-radius: 18px;
      border: 1px solid rgba(31,55,74,.12);
      background:
        radial-gradient(260px 200px at 30% 30%, rgba(31,55,74,.10), transparent 60%),
        radial-gradient(280px 220px at 70% 70%, rgba(239,65,52,.10), transparent 60%),
        rgba(255,255,255,.72);
      overflow:hidden;
      min-height: 240px;
    }
    .vv-grid{
      position:absolute; inset:0;
      background:
        linear-gradient(rgba(31,55,74,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,55,74,.06) 1px, transparent 1px);
      background-size: 26px 26px;
      opacity:.55;
      mask-image: radial-gradient(60% 60% at 50% 50%, #000 55%, transparent 100%);
    }
    
    /* Pins */
    .vv-pin{
      position:absolute;
      width: 14px; height: 14px;
      border-radius: 999px;
      background: rgba(31,55,74,.85);
      box-shadow: 0 0 0 6px rgba(31,55,74,.12);
    }
    .vv-pin::after{
      content:"";
      position:absolute;
      left:50%; top:50%;
      transform: translate(-50%,-50%);
      width: 6px; height: 6px;
      border-radius: 999px;
      background: #fff;
    }
    .vv-pin.p1{
      left: 44%; top: 54%;
      background: var(--red, #ef4134);
      box-shadow: 0 0 0 8px rgba(239,65,52,.14);
    }
    .vv-pin.p2{ left: 22%; top: 32%; }
    .vv-pin.p3{ left: 72%; top: 28%; }
    .vv-pin.p4{ left: 78%; top: 74%; }
    
    /* Waves around the main pin */
    .vv-wave{
      position:absolute;
      left: 44%; top: 54%;
      width: 22px; height: 22px;
      border-radius: 999px;
      border: 2px solid rgba(239,65,52,.28);
      transform: translate(-50%,-50%);
      animation: vvWave 2.4s ease-out infinite;
    }
    .vv-wave.w2{ animation-delay: 1.2s; opacity:.8; }
    @keyframes vvWave{
      0%{ width: 22px; height: 22px; opacity: .95; }
      100%{ width: 140px; height: 140px; opacity: 0; }
    }
    
    /* Route line (simple pseudo path) */
    .vv-route{
      position:absolute;
      left: 22%; top: 32%;
      width: 58%;
      height: 52%;
      border-left: 2px dashed rgba(31,55,74,.25);
      border-bottom: 2px dashed rgba(31,55,74,.25);
      border-radius: 16px;
      transform: rotate(-8deg);
      opacity:.9;
    }
    
    /* Map badges */
    .vv-badge{
      position:absolute;
      padding: 8px 10px;
      border-radius: 999px;
      font-size: 12px;
      border: 1px solid rgba(31,55,74,.12);
      background: rgba(255,255,255,.86);
      box-shadow: 0 14px 30px rgba(11,18,32,.08);
      display:inline-flex;
      gap: 8px;
      align-items:center;
      color: rgba(31,55,74,.78);
    }
    .vv-badge i{ color: var(--red, #ef4134); }
    .vv-badge.b1{ left: 12px; top: 12px; }
    .vv-badge.b2{ right: 12px; bottom: 12px; }
    
    /* Results side */
    .vv-results{
      display:flex;
      flex-direction: column;
      gap: 10px;
    }
    .vv-card{
      display:flex;
      align-items:center;
      gap: 12px;
      padding: 12px 12px;
      border-radius: 16px;
      border: 1px solid rgba(31,55,74,.14);
      background: rgba(255,255,255,.88);
      box-shadow: 0 16px 40px rgba(11,18,32,.08);
      transform: translate3d(0,0,0);
      transition: transform .18s ease;
    }
    .vv-card:hover{ transform: translate3d(0,-4px,0); }
    .vv-rank{
      width: 44px; height: 44px;
      border-radius: 14px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(239,65,52,.10);
      border: 1px solid rgba(239,65,52,.22);
      color: rgba(11,18,32,.88);
      font-weight: 800;
    }
    .rank-1 .vv-rank{
      background: rgba(239,65,52,.14);
      box-shadow: 0 0 0 6px rgba(239,65,52,.10);
    }
    
    .vv-meta b{
      display:block;
      font-size: 13px;
      color: rgba(11,18,32,.92);
    }
    .vv-meta small{
      display:block;
      margin-top: 2px;
      font-size: 12px;
      color: rgba(31,55,74,.70);
    }
    
    .vv-score{
      margin-left: auto;
      display:flex;
      align-items:center;
      gap: 8px;
      font-weight: 800;
      color: rgba(31,55,74,.86);
    }
    .vv-score i{ color: var(--red, #ef4134); }
    .vv-bar{
      width: 56px; height: 9px;
      border-radius: 999px;
      background: rgba(31,55,74,.12);
      position: relative;
      overflow:hidden;
    }
    .vv-bar::after{
      content:"";
      position:absolute; left:0; top:0; bottom:0;
      width: 78%;
      background: rgba(239,65,52,.55);
      border-radius: 999px;
    }
    .rank-1 .vv-bar::after{ width: 92%; }
    
    .vv-mini{
      margin-top: 2px;
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
    }
    .vv-kpi{
      padding: 10px 10px;
      border-radius: 16px;
      border: 1px solid rgba(31,55,74,.12);
      background: rgba(255,255,255,.78);
    }
    .vv-kpi span{
      display:block;
      font-size: 12px;
      color: rgba(31,55,74,.68);
    }
    .vv-kpi b{
      display:block;
      margin-top: 2px;
      font-size: 14px;
      color: rgba(11,18,32,.90);
    }
    
    /* glow */
    .vv-glow{
      position:absolute;
      inset:-2px;
      background: radial-gradient(380px 220px at 60% 50%, rgba(239,65,52,.16), transparent 60%);
      pointer-events:none;
      opacity:.9;
    }
    
    /* Responsive */
    @media (max-width: 900px){
      .vv-body{ grid-template-columns: 1fr; }
      .vv-map{ min-height: 220px; }
    }
    
    /* Reduce motion */
    @media (prefers-reduced-motion: reduce){
      .vv-wave{ animation:none !important; }
    }
    /* FEDERAL BANK THEME STYLES */
    .federal-card {
      background: linear-gradient(135deg, #004a80 0%, #002D62 100%); /* Official Federal Blue */
      color: white;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 20px 50px rgba(0, 45, 98, 0.25);
      border: 1px solid #005599;
      max-width: 850px;
      margin: 0 auto;
      position: relative;
      font-family: 'Poppins', sans-serif;
    }
    
    /* Subtle background texture */
    .federal-card::before {
      content: '';
      position: absolute;
      top: -50%; left: -50%;
      width: 200%; height: 200%;
      background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 60%);
      pointer-events: none;
    }
    
    /* Header Section */
    .fed-header {
      background: rgba(0,0,0,0.15);
      padding: 20px 30px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .fed-logo {
      font-weight: 800;
      font-size: 1.3rem;
      letter-spacing: 0.5px;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .fed-logo i { color: #FABD00; font-size: 1.5rem; } /* Federal Gold */
    
    .fed-badge {
      background: rgba(255,255,255,0.1);
      padding: 6px 12px;
      border-radius: 6px;
      font-size: 0.75rem;
      letter-spacing: 1px;
      font-weight: 600;
      color: #FABD00;
      border: 1px solid rgba(250, 189, 0, 0.3);
    }
    
    /* Body Layout */
    .fed-body {
      padding: 40px;
      display: grid;
      grid-template-columns: 1.6fr 0.7fr; /* Text wider than QR */
      gap: 40px;
      align-items: center;
    }
    
    /* Text Details */
    .fed-row { margin-bottom: 24px; }
    
    .fed-label {
      color: #FABD00; /* Gold Label */
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 1.2px;
      font-weight: 700;
      margin-bottom: 6px;
      display: block;
      opacity: 0.9;
    }
    
    .fed-value {
      font-size: 1.2rem;
      font-weight: 600;
      color: #fff;
      letter-spacing: 0.3px;
    }
    
    .fed-value.large {
      font-size: 1.6rem;
      letter-spacing: 2px;
      font-family: monospace; /* Monospaced for account numbers looks more official */
      text-shadow: 0 2px 4px rgba(0,0,0,0.2);
    }
    
    .fed-grid-row {
      display: flex;
      gap: 40px;
      flex-wrap: wrap;
    }
    
    /* QR Code Box */
    .fed-qr-box {
      background: #fff;
      padding: 20px;
      border-radius: 18px;
      text-align: center;
      color: #002D62;
      box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    }
    
    .qr-title {
      font-size: 0.75rem;
      font-weight: 800;
      color: #555;
      display: block;
      margin-bottom: 10px;
      letter-spacing: 1px;
    }
    
    .fed-qr-img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 8px;
      margin-bottom: 12px;
      border: 1px solid #eee;
    }
    
    .fed-upi {
      font-weight: 700;
      font-size: 0.95rem;
      word-break: break-all;
      background: #f0f4f8;
      padding: 6px;
      border-radius: 6px;
      color: #004a80;
    }
    
    .verified-tag {
      font-size: 0.7rem;
      color: #16a34a; /* Green */
      font-weight: 700;
      margin-top: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 5px;
    }
    
    /* Mobile Responsiveness */
    @media(max-width: 768px){
      .fed-body {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 30px;
      }
      .fed-grid-row {
        justify-content: center;
        gap: 20px;
      }
      .fed-qr-box {
        max-width: 220px;
        margin: 0 auto;
      }
      .fed-header {
        flex-direction: column;
        gap: 10px;
      }
    }
    /* ========= MSME SECTION UPGRADE ========= */
    .msme-chips{
      display:flex;
      justify-content:center;
      gap:10px;
      flex-wrap:wrap;
      margin: 16px auto 18px;
    }
    .msme-chips .chip{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding: 9px 12px;
      border-radius:999px;
      font-size:12px;
      font-weight:600;
      color: rgba(31,55,74,.86);
      background: rgba(255,255,255,.82);
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 10px 22px rgba(11,18,32,.08);
      backdrop-filter: blur(8px);
    }
    .msme-chips .chip i{ color: var(--red,#ef4134); }
    
    .msme-kpis{
      margin: 8px auto 22px;
      display:grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: 12px;
      max-width: 980px;
    }
    .msme-kpis .kpi{
      text-align:left;
      padding: 12px 14px;
      border-radius: 18px;
      background: rgba(255,255,255,.80);
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 14px 30px rgba(11,18,32,.08);
    }
    .msme-kpis .kpi b{
      display:block;
      font-size: 22px;
      letter-spacing: .2px;
      color: rgba(11,18,32,.92);
    }
    .msme-kpis .kpi span{
      display:block;
      margin-top: 6px;
      font-size: 12px;
      color: rgba(31,55,74,.72);
      font-weight: 600;
    }
    
    .msme-grid{
      margin-top: 10px;
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 18px;
      align-items: stretch;
    }
    
    /* Visual */
    .msme-visual{
      position:relative;
      min-height: 420px;
      border-radius: 22px;
      overflow:hidden;
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 18px 50px rgba(11,18,32,.10);
      background:
        radial-gradient(820px 360px at 70% 20%, rgba(239,65,52,.14), transparent 55%),
        radial-gradient(700px 380px at 30% 80%, rgba(31,55,74,.14), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,1));
      transform-style: preserve-3d;
    }
    .mv-grid{
      position:absolute; inset:0;
      background:
        linear-gradient(rgba(31,55,74,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,55,74,.06) 1px, transparent 1px);
      background-size: 28px 28px;
      opacity: .35;
      mask-image: radial-gradient(62% 62% at 50% 55%, #000 55%, transparent 100%);
      pointer-events:none;
    }
    .msme-visual::after{
      content:"";
      position:absolute; inset:-2px;
      background: radial-gradient(360px 220px at 55% 55%, rgba(239,65,52,.14), transparent 60%);
      pointer-events:none;
    }
    
    /* Hub */
    .mv-hub{
      position:absolute;
      left:50%; top:52%;
      transform: translate(-50%,-50%);
      z-index:2;
      text-align:center;
    }
    .mv-ring{
      width: 190px; height: 190px;
      border-radius:999px;
      border: 1px solid rgba(31,55,74,.14);
      background: radial-gradient(circle at 50% 50%, rgba(239,65,52,.14), transparent 55%);
      animation: mvPulse 2.8s ease-in-out infinite;
    }
    @keyframes mvPulse{
      0%,100%{ transform: scale(1); opacity:.9; }
      50%{ transform: scale(1.06); opacity:1; }
    }
    .mv-core{
      position:absolute;
      left:50%; top:50%;
      transform: translate(-50%,-50%);
      width: 78px; height: 78px;
      border-radius: 18px;
      background: rgba(255,255,255,.90);
      border: 1px solid rgba(31,55,74,.14);
      box-shadow: 0 16px 35px rgba(11,18,32,.14);
      display:flex; align-items:center; justify-content:center;
    }
    .mv-core i{ font-size: 28px; color: var(--red,#ef4134); }
    .mv-label{
      margin-top: 12px;
      display:inline-flex;
      align-items:center;
      gap: 10px;
      font-size: 12px;
      color: rgba(31,55,74,.86);
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(31,55,74,.12);
      padding: 8px 12px;
      border-radius: 999px;
      box-shadow: 0 10px 22px rgba(11,18,32,.08);
    }
    .mv-label .dot{
      width: 8px; height: 8px;
      border-radius: 999px;
      background: var(--red,#ef4134);
      box-shadow: 0 0 0 6px rgba(239,65,52,.12);
    }
    
    /* Orbits */
    .mv-orbit{
      position:absolute;
      padding: 9px 12px;
      border-radius:999px;
      font-size: 12px;
      font-weight: 700;
      background: rgba(255,255,255,.82);
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 12px 26px rgba(11,18,32,.08);
      color: rgba(11,18,32,.86);
      backdrop-filter: blur(8px);
      animation: mvFloat 6s ease-in-out infinite;
      z-index:3;
    }
    .mv-orbit i{ color: var(--red,#ef4134); margin-right: 8px; }
    @keyframes mvFloat{
      0%,100%{ transform: translate3d(0,0,0); }
      50%{ transform: translate3d(0,-12px,0); }
    }
    .o1{ left: 14%; top: 18%; animation-delay:.1s; }
    .o2{ right: 14%; top: 22%; animation-delay:.7s; }
    .o3{ left: 16%; bottom: 18%; animation-delay:1.1s; }
    .o4{ right: 16%; bottom: 22%; animation-delay:.4s; }
    
    /* Mini cards */
    .mv-card{
      position:absolute;
      padding: 12px 12px;
      border-radius: 18px;
      background: rgba(255,255,255,.88);
      border: 1px solid rgba(31,55,74,.14);
      box-shadow: 0 18px 40px rgba(11,18,32,.10);
      backdrop-filter: blur(10px);
      z-index:2;
      text-align:left;
      width: 170px;
    }
    .mv-card b{ display:block; font-size: 13px; color: rgba(11,18,32,.90); }
    .mv-card span{
      float:right;
      font-weight: 900;
      font-size: 12px;
      margin-top: 1px;
      color: rgba(31,55,74,.90);
    }
    .mv-card small{
      display:block;
      margin-top: 8px;
      font-size: 12px;
      color: rgba(31,55,74,.70);
    }
    .c1{ left: 18px; top: 58%; }
    .c2{ right: 18px; top: 52%; }
    .c3{ left: 50%; bottom: 18px; transform: translateX(-50%); width: 210px; }
    
    /* Sparks */
    .mv-spark{
      position:absolute;
      width: 34px; height: 34px;
      border-radius: 12px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(31,55,74,.06);
      border: 1px solid rgba(31,55,74,.12);
      color: rgba(31,55,74,.80);
      box-shadow: 0 14px 30px rgba(11,18,32,.08);
      animation: mvDrift 6s ease-in-out infinite;
      z-index:1;
    }
    @keyframes mvDrift{
      0%,100%{ transform: translate(0,0) rotate(0deg); opacity:.9; }
      50%{ transform: translate(0,-14px) rotate(4deg); opacity:1; }
    }
    .s1{ left: 26%; top: 36%; animation-delay:.1s; }
    .s2{ right: 26%; top: 40%; animation-delay:.7s; }
    .s3{ left: 34%; bottom: 30%; animation-delay:1.1s; }
    .s4{ right: 34%; bottom: 34%; animation-delay:.4s; }
    
    /* Benefits */
    .msme-benefits{
      display:grid;
      gap: 12px;
      text-align:left;
    }
    .bcard{
      display:flex;
      gap: 12px;
      align-items:flex-start;
      padding: 14px 14px;
      border-radius: 20px;
      background: rgba(255,255,255,.82);
      border: 1px solid rgba(31,55,74,.12);
      box-shadow: 0 14px 30px rgba(11,18,32,.08);
    }
    .bicon{
      width: 44px; height: 44px;
      border-radius: 16px;
      display:flex; align-items:center; justify-content:center;
      background: rgba(239,65,52,.10);
      border: 1px solid rgba(239,65,52,.18);
      flex: 0 0 auto;
    }
    .bicon i{ color: var(--red,#ef4134); }
    .bcard b{
      display:block;
      font-size: 14px;
      color: rgba(11,18,32,.92);
    }
    .bcard p{
      margin: 6px 0 0;
      font-size: 13px;
      color: rgba(31,55,74,.74);
      line-height: 1.55;
    }
    
    /* CTA */
    .msme-cta{
      display:flex;
      gap: 12px;
      flex-wrap:wrap;
      margin-top: 6px;
    }
    
    /* Responsive */
    @media (max-width: 900px){
      .msme-grid{ grid-template-columns: 1fr; }
      .msme-kpis{ grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 520px){
      .msme-kpis{ grid-template-columns: 1fr; }
      .msme-visual{ min-height: 380px; }
    }
    /* --- PREMIUM RESPONSIVE FRAME STYLES --- */

    /* The Outer Grid Container */
    .premium-contact-frame {
      display: grid;
      grid-template-columns: 1fr 1fr; /* Two equal columns */
      gap: 30px;
      align-items: stretch;
      width: 100%;
    }
    
    /* Shared Card Styling (Glass Effect) */
    .premium-card {
      background: rgba(255, 255, 255, 0.9);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.5);
      border-radius: 24px;
      box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    /* Hover Effect for Cards */
    .premium-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 30px 60px rgba(31, 55, 74, 0.12);
    }
    
    /* --- LEFT PANEL: CONTACT DETAILS --- */
    .p-content {
      padding: 40px;
      display: flex;
      flex-direction: column;
      height: 100%;
      justify-content: space-between;
    }
    
    /* Header Section */
    .p-header { margin-bottom: 30px; position: relative; }
    .p-header::before {
      content: ''; position: absolute; left: -40px; top: 5px; bottom: 5px;
      width: 6px; background: var(--red); border-radius: 0 4px 4px 0;
    }
    .p-label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: var(--blue); margin-bottom: 8px; display: block; opacity: 0.7; }
    .p-company { font-size: 1.4rem; font-weight: 800; color: var(--ink); line-height: 1.2; margin-bottom: 10px; }
    .p-address { font-size: 1rem; color: var(--muted); line-height: 1.6; }
    
    /* Direct Contact List */
    .p-actions { display: flex; flex-direction: column; gap: 12px; margin-bottom: 30px; }
    .p-link {
      display: flex; align-items: center; gap: 15px;
      padding: 12px 16px;
      background: #ffffff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      text-decoration: none;
      transition: all 0.2s ease;
    }
    .p-link:hover { border-color: var(--blue); background: #f8fafc; transform: translateX(5px); }
    
    .p-icon {
      width: 42px; height: 42px; border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.2rem; flex-shrink: 0;
    }
    .icon-blue { background: rgba(31,55,74,0.08); color: var(--blue); }
    .icon-green { background: rgba(37, 211, 102, 0.1); color: #25D366; }
    .icon-red { background: rgba(239, 65, 52, 0.08); color: var(--red); }
    
    .p-link-info span { display: block; font-size: 0.75rem; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: 2px;}
    .p-link-info strong { display: block; font-size: 1rem; font-weight: 700; color: var(--ink); }
    
    /* Compliance Grid */
    .p-compliance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 25px; }
    .p-comp-card {
      background: #f8fafc; border: 1px solid #e2e8f0; padding: 15px; border-radius: 14px;
    }
    .p-comp-title { font-size: 0.7rem; font-weight: 800; color: var(--red); text-transform: uppercase; display: block; margin-bottom: 5px; }
    .p-comp-name { font-size: 0.95rem; font-weight: 700; color: var(--blue); margin-bottom: 8px; }
    .p-comp-contact a {
      display: block; font-size: 0.8rem; color: var(--muted); text-decoration: none; margin-top: 4px;
    }
    .p-comp-contact a:hover { color: var(--blue); text-decoration: underline; }
    
    /* Hours Footer */
    .p-footer {
      border-top: 1px solid #e2e8f0; padding-top: 20px;
      display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px;
    }
    .p-hours strong { color: var(--ink); }
    .p-tag { font-size: 0.75rem; font-weight: 700; background: var(--red); color: white; padding: 4px 10px; border-radius: 6px; }
    
    /* --- RIGHT PANEL: MAP --- */
    .p-map-wrapper { width: 100%; height: 100%; min-height: 600px; position: relative; }
    .p-map-wrapper iframe { width: 100%; height: 100%; border: 0; filter: grayscale(10%) contrast(1.05); }
    
    /* --- RESPONSIVE BREAKPOINTS --- */
    @media (max-width: 950px) {
      .premium-contact-frame { grid-template-columns: 1fr; } /* Stack vertically on tablet/mobile */
      .p-map-wrapper { min-height: 400px; border-radius: 0 0 24px 24px; }
      .premium-card { border-radius: 24px; }
    }
    @media (max-width: 500px) {
      .p-compliance-grid { grid-template-columns: 1fr; }
      .p-content { padding: 30px 20px; }
    }

    /* ============================
       SUPREME GOLD CARD (Luxury)
       ============================ */
    .supreme-gold{
      position: relative;
      border-left: 6px solid #b88a12;
      background: linear-gradient(135deg,
        rgba(255, 246, 214, 0.95) 0%,
        rgba(255, 231, 153, 0.70) 35%,
        rgba(255, 243, 205, 0.92) 100%
      );
      overflow: hidden;
      box-shadow: 0 18px 55px rgba(184, 138, 18, 0.18);
    }

    .supreme-gold::before{
      content:"";
      position:absolute;
      inset:-40%;
      background: linear-gradient(
        120deg,
        transparent 40%,
        rgba(255,255,255,0.45) 50%,
        transparent 60%
      );
      transform: rotate(15deg);
      animation: goldShine 6s linear infinite;
      pointer-events:none;
    }
    @keyframes goldShine{
      0%{ transform: translateX(-35%) rotate(15deg); opacity:0.35; }
      50%{ opacity:0.55; }
      100%{ transform: translateX(35%) rotate(15deg); opacity:0.35; }
    }

    .supreme-title{
      color:#6b4e00;
      font-weight: 900;
    }
    .supreme-title i{
      color:#b88a12;
      filter: drop-shadow(0 6px 12px rgba(0,0,0,0.12));
    }
    .supreme-divider{
      height: 1px;
      width: 100%;
      margin: 12px 0;
      background: linear-gradient(90deg,
        rgba(184,138,18,0.15),
        rgba(184,138,18,0.55),
        rgba(184,138,18,0.15)
      );
    }
    .supreme-pool{
      margin-top: 12px;
      padding: 12px 14px;
      border-radius: 14px;
      font-size: 0.86rem;
      color: #5a3f00;
      background: linear-gradient(135deg, rgba(255,255,255,0.55), rgba(255, 237, 176, 0.55));
      border: 1px solid rgba(184,138,18,0.30);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.55);
    }
    .supreme-pool strong{ color:#6b4e00; }

    /* clickable badge button */
    /* View more button — grey + thin font */
    .rank-pv.pv-link{
      background: #f1f5f9;          /* light grey */
      border: 1px solid #e2e8f0;    /* thin border */
      color: #64748b;               /* grey text */
      font-weight: 300;             /* thin (Poppins supports 300) */
      padding: 4px 12px;
      border-radius: 999px;
      font-size: 0.72rem;
      letter-spacing: 0.2px;
      cursor: pointer;
      transition: 0.2s;
      box-shadow: none;
    }
    
    .rank-pv.pv-link:hover{
      background: #e2e8f0;
      border-color: #cbd5e1;
      color: #475569;
      transform: translateY(-1px);
    }
    
    .rank-pv.pv-link:focus{
      outline: 2px solid rgba(31,55,74,0.25);
      outline-offset: 2px;
    }


    /* ===== Rank Modal ===== */
    body.rank-modal-open{ overflow: hidden; }

    .rank-modal{
      position: fixed;
      inset: 0;
      z-index: 6000;
      display: none;
      padding: 18px;
    }
    .rank-modal.show{ display: block; }

    .rank-backdrop{
      position: absolute;
      inset: 0;
      background: rgba(2,6,23,0.55);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
    }

    .rank-panel{
      position: relative;
      max-width: 680px;
      width: 100%;
      margin: 0 auto;
      top: 10vh;
      border-radius: 22px;
      overflow: hidden;
      background: rgba(255,255,255,0.94);
      border: 1px solid rgba(255,255,255,0.65);
      box-shadow: 0 30px 120px rgba(0,0,0,0.35);
      transform: translateY(10px);
      opacity: 0;
      transition: 0.25s var(--smooth);
    }
    .rank-modal.show .rank-panel{
      /* translate(X-axis, Y-axis) */
      transform: translate(0px, 150px); /* Moves it 20px to the RIGHT */
      opacity: 1;
    }
    .rank-head{
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      padding: 16px;
      background: linear-gradient(90deg, rgba(31,55,74,0.06), rgba(239,65,52,0.06));
      border-bottom: 1px solid rgba(148,163,184,0.35);
    }

    .rank-chip{
      display: inline-flex;
      align-items: center;
      padding: 6px 10px;
      border-radius: 999px;
      font-weight: 900;
      font-size: 0.78rem;
      background: rgba(31,55,74,0.08);
      color: var(--blue);
      margin-bottom: 6px;
    }

    #rankModalTitle{
      margin: 0;
      font-size: 1.15rem;
      font-weight: 900;
      color: var(--blue);
    }

    .rank-close{
      border: none;
      cursor: pointer;
      width: 42px;
      height: 42px;
      border-radius: 14px;
      background: white;
      color: var(--blue);
      box-shadow: 0 10px 25px rgba(2,6,23,0.12);
      transition: 0.2s;
    }
    .rank-close:hover{ transform: translateY(-2px); color: var(--red); }

    .rank-content{
      padding: 16px 16px 18px;
      overflow: auto;
      max-height: 55vh;
      -webkit-overflow-scrolling: touch;
      color: #334155;
      line-height: 1.85;
      font-size: 1rem;
    }
    .rank-content .note{
      background: rgba(239,65,52,0.06);
      border: 1px solid rgba(239,65,52,0.18);
      padding: 12px 14px;
      border-radius: 14px;
    }

    /* ==========================================================
       BACKGROUND SYSTEM
       ========================================================== */
    .bg-grid {
      position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
      background-image:
        linear-gradient(rgba(31,55,74,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,55,74,0.04) 1px, transparent 1px);
      background-size: 60px 60px;
      z-index: -5; pointer-events: none;
    }

    .icon-universe {
      position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
      z-index: -4; pointer-events: none; overflow: hidden;
    }

    .f-icon {
      position: absolute; color: var(--blue); opacity: 0.04;
      will-change: transform; animation: floatInfinite linear infinite;
    }
    .f-icon.red { color: var(--red); opacity: 0.06; }

    @keyframes floatInfinite {
      0% { transform: translateY(0) rotate(0deg); }
      100% { transform: translateY(-100vh) rotate(360deg); }
    }

    /* ==========================================================
       ANIMATION ENGINE
       ========================================================== */
    .observe-me {
      opacity: 0;
      transition-duration: 0.8s;
      transition-timing-function: var(--smooth);
    }
    .observe-me.active { opacity: 1; }

    .anim-elastic.active { animation: elasticUp 1s var(--bounce) forwards; }
    @keyframes elasticUp {
      0% { opacity:0; transform:translateY(80px) scale(0.9); }
      100% { opacity:1; transform:translateY(0) scale(1); }
    }
    .anim-flip.active { animation: flipUp 0.9s ease-out forwards; }
    @keyframes flipUp {
      0% { opacity:0; transform:perspective(1000px) rotateX(45deg) translateY(50px); }
      100% { opacity:1; transform:perspective(1000px) rotateX(0) translateY(0); }
    }
    .anim-blur.active { animation: blurSlide 1.2s ease-out forwards; }
    @keyframes blurSlide {
      0% { opacity:0; filter:blur(15px); transform:translateX(-30px); }
      100% { opacity:1; filter:blur(0); transform:translateX(0); }
    }
    .anim-zoom.active { animation: zoomRot 1s var(--smooth) forwards; }
    @keyframes zoomRot {
      0% { opacity:0; transform:scale(0.8) rotate(-2deg); }
      100% { opacity:1; transform:scale(1) rotate(0); }
    }
    .anim-skew.active { animation: skewSlide 0.8s var(--smooth) forwards; }
    @keyframes skewSlide {
      0% { opacity:0; transform:translateY(50px) skewY(5deg); }
      100% { opacity:1; transform:translateY(0) skewY(0); }
    }
    .anim-rotate.active { animation: rotateUp 0.95s var(--smooth) forwards; }
    @keyframes rotateUp {
      0%   { opacity:0; transform:translateY(60px) rotate(-8deg) scale(0.98); }
      100% { opacity:1; transform:translateY(0) rotate(0) scale(1); }
    }

    /* ==========================================================
       UI COMPONENTS
       ========================================================== */
    .container { width: 90%; max-width: 1280px; margin: 0 auto; position: relative; }
    section { padding: clamp(60px, 8vw, 120px) 0; }

    h1, h2, h3 { color: var(--blue); letter-spacing: -0.03em; line-height: 1.15; margin-bottom: 1rem; }
    h1 { font-size: clamp(2.8rem, 5vw, 4.5rem); font-weight: 800; }
    h2 { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 700; }
    h4 { font-weight: 700; color: var(--blue); margin-bottom: 0.5rem; }
    p { color: var(--muted); font-size: 1.05rem; line-height: 1.8; margin-bottom: 2rem; }

    .text-red { color: var(--red); }
    .kicker {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 8px 16px; border-radius: var(--r-pill);
      background: rgba(239, 65, 52, 0.1); color: var(--red);
      font-weight: 700; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 1px;
      margin-bottom: 1.5rem;
    }

    .btn {
      padding: 14px 32px; border-radius: var(--r-pill);
      font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 10px;
      transition: 0.3s; border: none; cursor: pointer; font-size: 1rem;
    }
    .btn-primary { background: var(--blue); color: white; box-shadow: 0 10px 20px rgba(31,55,74,0.2); }
    .btn-primary:hover { background: var(--red); transform: translateY(-3px); box-shadow: 0 15px 30px rgba(239,65,52,0.3); }
    .btn-ghost { background: white; color: var(--blue); border: 1px solid #ddd; }
    .btn-ghost:hover { border-color: var(--blue); transform: translateY(-3px); }

    .glass-card {
      background: var(--glass);
      backdrop-filter: var(--glass-blur);
      -webkit-backdrop-filter: var(--glass-blur);
      border: var(--glass-border);
      border-radius: var(--r-card);
      padding: 3rem;
      box-shadow: 0 10px 40px rgba(0,0,0,0.05);
      transition: 0.4s var(--smooth);
    }
    .glass-card:hover { transform: translateY(-8px); box-shadow: 0 20px 50px rgba(31,55,74,0.1); }

    header {
      position: sticky; top: 15px; z-index: 1000; width: 95%; margin: 0 auto;
      background: rgba(255,255,255,0.9); backdrop-filter: blur(20px);
      border-radius: 0;
      border: 1px solid rgba(255,255,255,0.5);
      padding: 10px 35px; box-shadow: 0 10px 30px rgba(0,0,0,0.05);
      display: flex; justify-content: space-between; align-items: center;
    }

    .nav-list { display: flex; gap: 5px; list-style: none; }
    .nav-btn {
      background: transparent; border: none; padding: 10px 16px;
      font-family: 'Poppins'; font-weight: 600; color: var(--blue);
      border-radius: var(--r-pill); cursor: pointer; transition: 0.2s; font-size: 0.9rem;
    }
    .nav-btn:hover, .nav-btn.active { background: rgba(239, 65, 52, 0.08); color: var(--red); }
    .hamburger { display: none; background: none; border: none; font-size: 1.5rem; color: var(--blue); cursor: pointer; }

    .mobile-menu{
      position: fixed;
      right: 2.5%;
      width: 40%;
      background: white;
      border-radius: 20px;
      padding: 16px;
      box-shadow: 0 20px 60px rgba(0,0,0,0.2);
      z-index: 1200;

      display: none;
      flex-direction: column;
      gap: 10px;

      max-height: calc(100vh - 130px);
      overflow: auto;
      -webkit-overflow-scrolling: touch;
    }
    .mobile-btn { padding: 15px; background: #f8fafc; border:none; border-radius: 15px; font-weight: 600; text-align: left; color: var(--blue); cursor:pointer; }
    .mobile-btn.active { background: var(--red); color: white; }

    .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
    .grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }
    .grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }
    .text-center { text-align: center; }

    .hero-img { border-radius: var(--r-card); width: 100%; box-shadow: 0 20px 60px rgba(0,0,0,0.1); }
    .icon-box {
      width: 70px; height: 70px; border-radius: 20px;
      background: rgba(239, 65, 52, 0.1); color: var(--red);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.8rem; margin-bottom: 1.5rem;
    }
    .float-badge {
      position: absolute; background: white; padding: 15px 25px; border-radius: 50px;
      box-shadow: 0 10px 40px rgba(0,0,0,0.1); font-weight: 700; z-index: 2;
      animation: floatItem 4s ease-in-out infinite; display: flex; gap: 10px; align-items: center;
    }
    @keyframes floatItem { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-15px);} }

    ul.check-list { list-style: none; }
    ul.check-list li { margin-bottom: 10px; position: relative; padding-left: 30px; font-size: 0.95rem; color: var(--muted); }
    ul.check-list li::before {
      content: '\f00c'; font-family: "Font Awesome 6 Free"; font-weight: 900;
      position: absolute; left: 0; color: var(--red);
    }

    .rank-card { border-left: 5px solid var(--blue); transition: 0.3s; }
    .rank-card:hover { border-left-color: var(--red); }
    .rank-title { font-size: 1.2rem; font-weight: 800; color: var(--blue); display: flex; justify-content: space-between; align-items: center; }
    .rank-pv { background: #eee; padding: 2px 10px; border-radius: 20px; font-size: 0.7rem; font-weight: 700; color: #555; }
    .rank-detail { font-size: 0.85rem; margin-bottom: 5px; color: var(--muted); display: flex; justify-content: space-between; }
    .rank-detail strong { color: var(--ink); }

    /* ==========================================================
       FOOTER
       ========================================================== */
    footer {
      background-color: #F2F2F2;
      color: #475569;
      padding-top: 5rem;
      border-top: 1px solid #e2e8f0;
      position: relative;
      margin-top: 6rem;
      z-index: 10;
    }
    footer::before {
      content: ''; position: absolute; top: 0; left: 0; right: 0;
      height: 4px; background: linear-gradient(90deg, var(--blue) 0%, var(--red) 100%);
    }
    .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
    .footer-col h4 {
      color: var(--blue); font-size: 0.9rem; font-weight: 800; text-transform: uppercase;
      letter-spacing: 0.5px; margin-bottom: 1.5rem; position: relative; padding-bottom: 10px;
    }
    .footer-col h4::after {
      content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px;
      background-color: var(--red); border-radius: 2px;
    }

    /* ==========================================================
       POLICY MODAL
       ========================================================== */
    body.modal-open { overflow: hidden; }

    .policy-modal {
      position: fixed;
      inset: 0;
      z-index: 5000;
      display: none;
      padding: 18px;
    }

    .policy-modal.show { display: block; }

    .policy-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(2, 6, 23, 0.55);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
    }

    .policy-panel {
      position: relative;
      max-width: 980px;
      width: 100%;
      margin: 0 auto;
      top: 3vh;
      border-radius: 24px;
      overflow: hidden;
      background: rgba(255,255,255,0.92);
      border: 1px solid rgba(255,255,255,0.65);
      box-shadow: 0 30px 120px rgba(0,0,0,0.35);
      transform: translateY(10px);
      opacity: 0;
      transition: 0.25s var(--smooth);
    }

    .policy-modal.show .policy-panel {
      transform: translateY(0);
      opacity: 1;
    }

    .policy-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 18px 18px;
      background: linear-gradient(90deg, rgba(31,55,74,0.06), rgba(239,65,52,0.06));
      border-bottom: 1px solid rgba(148,163,184,0.35);
    }

    .policy-title {
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .policy-title h3{
      margin: 0;
      font-size: 1.2rem;
      font-weight: 800;
      color: var(--blue);
    }

    .policy-meta {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      font-size: 0.85rem;
      color: var(--muted);
    }

    .badge-soft{
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(239, 65, 52, 0.10);
      color: var(--red);
      font-weight: 700;
      font-size: 0.78rem;
    }

    .policy-close {
      border: none;
      cursor: pointer;
      width: 42px;
      height: 42px;
      border-radius: 14px;
      background: white;
      color: var(--blue);
      box-shadow: 0 10px 25px rgba(2,6,23,0.12);
      transition: 0.2s;
    }
    .policy-close:hover { transform: translateY(-2px); color: var(--red); }

    .policy-body {
      display: grid;
      grid-template-columns: 240px 1fr;
      min-height: min(70vh, 640px);
    }

    .policy-nav {
      padding: 14px;
      border-right: 1px solid rgba(148,163,184,0.25);
      background: rgba(248,250,252,0.8);
    }

    .policy-nav button{
      width: 100%;
      text-align: left;
      border: 1px solid rgba(226,232,240,1);
      background: white;
      padding: 12px 12px;
      border-radius: 14px;
      margin-bottom: 10px;
      font-family: "Poppins", sans-serif;
      font-weight: 700;
      color: var(--blue);
      cursor: pointer;
      transition: 0.2s;
    }
    .policy-nav button:hover { border-color: rgba(31,55,74,0.35); transform: translateY(-1px); }
    .policy-nav button.active {
      background: rgba(239,65,52,0.10);
      border-color: rgba(239,65,52,0.35);
      color: var(--red);
    }

    .policy-content {
      padding: 18px 20px;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      background: rgba(255,255,255,0.92);
    }

    .policy-content h2{
      font-size: 1.4rem;
      margin-bottom: 10px;
      color: var(--blue);
    }
    .policy-content h5{
      margin: 18px 0 8px;
      color: var(--blue);
      font-size: 1rem;
    }
    .policy-content p{
      margin-bottom: 12px;
      font-size: 0.98rem;
      line-height: 1.8;
    }
    .policy-content ul{
      margin: 8px 0 14px 18px;
      color: var(--muted);
      line-height: 1.8;
    }
    .policy-content li{ margin-bottom: 6px; }

    .policy-foot {
      padding: 14px 18px;
      border-top: 1px solid rgba(148,163,184,0.25);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      background: rgba(248,250,252,0.75);
      font-size: 0.9rem;
      color: #64748b;
    }

    @media (max-width: 820px) {
      .policy-body { grid-template-columns: 1fr; }
      .policy-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border-right: none; border-bottom: 1px solid rgba(148,163,184,0.25); }
      .policy-nav button { margin: 0; }
    }

    @media (prefers-reduced-motion: reduce) {
      .policy-panel { transition: none; }
      .policy-modal.show .policy-panel { transform: none; }
    }

    .footer-col p { font-size: 0.95rem; line-height: 1.6; margin-bottom: 1rem; color: #64748b; }
    .footer-col strong { color: var(--ink); }
    .footer-links { list-style: none; padding: 0; }
    .footer-links li { margin-bottom: 10px; }
    .footer-links a {
      text-decoration: none; color: #64748b; font-size: 0.95rem;
      transition: all 0.3s ease; display: inline-block;
    }
    .footer-links a:hover { color: var(--red); transform: translateX(5px); }
    .map-card {
      border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.05);
      border: 1px solid #e2e8f0; height: 800px; margin-top: 1rem;
    }
    .copyright-bar {
      background-color: #f8fafc; border-top: 1px solid #e2e8f0;
      padding: 1.5rem 0; text-align: center; font-size: 0.9rem; color: #94a3b8;
    }

    @media(max-width:1100px){
      .nav-list{display:none;} .hamburger{display:block;}
      .grid-2{grid-template-columns:1fr; gap:3rem;}
      .footer-grid{grid-template-columns:1fr 1fr;}
    }
    @media(max-width:600px){
      h1{font-size:2.5rem;}
      .footer-grid{grid-template-columns:1fr;}
      header{padding:10px 20px;}
    }
            .product-hero-container {
              position: relative;
              padding: 60px 20px;
              margin: 20px auto;
              max-width: 900px;
              display: flex;
              justify-content: center;
              align-items: center;
              overflow: hidden; /* Keeps animation inside */
              border-radius: 30px;
              background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.8) 0%, rgba(248,250,252,0.5) 100%);
              border: 1px solid rgba(255,255,255,0.6);
            }
        
            /* --- RADAR BACKGROUND --- */
            .radar-grid {
              position: absolute; inset: -50%;
              background-image: 
                linear-gradient(rgba(31,55,74,0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(31,55,74,0.03) 1px, transparent 1px);
              background-size: 40px 40px;
              z-index: 0;
              transform: perspective(500px) rotateX(20deg);
            }
            .radar-scan {
              position: absolute; top: 50%; left: 50%;
              width: 100%; height: 100%;
              transform: translate(-50%, -50%);
              background: conic-gradient(from 0deg, transparent 0%, rgba(239, 65, 52, 0.05) 20%, transparent 40%);
              animation: radarSpin 8s linear infinite;
              border-radius: 50%;
              z-index: 0;
              opacity: 0.6;
            }
            @keyframes radarSpin { 100% { transform: translate(-50%, -50%) rotate(360deg); } }
        
            /* --- THE MAGNETIC SEARCH LENS --- */
            .magnetic-lens-wrapper {
              position: absolute;
              top: 0; left: 0; width: 100%; height: 100%;
              z-index: 5; /* Above card */
              pointer-events: none; /* Let clicks pass through */
            }
            .search-lens {
              position: absolute;
              width: 100px; height: 100px;
              /* Lens Animation Path */
              animation: lensSearch 12s ease-in-out infinite;
            }
            .lens-glass {
              width: 70px; height: 70px;
              border-radius: 50%;
              border: 4px solid #0052cc; /* Blue Rim */
              background: rgba(255, 255, 255, 0.2);
              backdrop-filter: blur(4px) contrast(1.2); /* The "Lens" Effect */
              box-shadow: 
                inset 0 0 10px rgba(255,255,255,0.6),
                0 10px 25px rgba(0, 82, 204, 0.3);
              position: relative;
            }
            .lens-reflection {
              position: absolute; top: 10px; left: 12px;
              width: 20px; height: 10px;
              border-radius: 50%;
              background: rgba(255,255,255,0.7);
              transform: rotate(-45deg);
            }
            .lens-handle {
              position: absolute; bottom: 8px; right: 8px;
              width: 30px; height: 8px;
              background: #334155;
              transform: rotate(45deg) translate(20px, 0);
              border-radius: 4px;
              box-shadow: 0 4px 8px rgba(0,0,0,0.2);
            }
            
            /* Animation: Figure-8 Scanning motion */
            @keyframes lensSearch {
              0%   { top: 10%; left: 10%; transform: rotate(0deg); }
              25%  { top: 20%; left: 70%; transform: rotate(15deg); }
              50%  { top: 60%; left: 80%; transform: rotate(0deg); }
              75%  { top: 70%; left: 20%; transform: rotate(-15deg); }
              100% { top: 10%; left: 10%; transform: rotate(0deg); }
            }
        
            /* --- MAIN PRODUCT CARD --- */
            .product-glass-card {
              position: relative;
              z-index: 2;
              background: rgba(255, 255, 255, 0.85);
              backdrop-filter: blur(15px);
              border: 1px solid rgba(255,255,255,0.8);
              border-radius: 24px;
              padding: 40px;
              text-align: center;
              box-shadow: 
                0 20px 60px rgba(31,55,74,0.1),
                0 0 0 1px rgba(255,255,255,0.5);
              max-width: 480px;
              width: 100%;
              transition: transform 0.3s;
            }
            .product-glass-card:hover { transform: translateY(-5px); }
        
            .badge-pill {
              display: inline-flex; align-items: center; gap: 8px;
              background: #fee2e2; color: #ef4444;
              padding: 6px 14px; border-radius: 50px;
              font-size: 0.75rem; font-weight: 700;
              text-transform: uppercase; letter-spacing: 1px;
              margin-bottom: 20px;
            }
            
            .product-logo { height: 200px; margin-bottom: 15px; }
            
            .product-title {
              font-size: 2.2rem; font-weight: 800;
              color: #1e293b; line-height: 1.1; margin: 10px 0;
            }
            .highlight-red { color: #ef4444; }
            .product-subtitle { color: #64748b; font-size: 0.95rem; font-weight: 500; }
        
            .price-tag-wrapper {
              margin: 25px 0;
              display: flex; flex-direction: column; align-items: center;
            }
            .price-main {
              font-size: 3.5rem; font-weight: 900;
              color: #0f172a; line-height: 1;
              letter-spacing: -1px;
              background: linear-gradient(135deg, #0f172a 0%, #334155 100%);
              -webkit-background-clip: text; -webkit-text-fill-color: transparent;
            }
            .currency { font-size: 2rem; vertical-align: super; margin-right: 5px; }
            .price-tax {
              font-size: 0.9rem; font-weight: 700; color: #0052cc;
              background: #e0f2fe; padding: 4px 10px; border-radius: 6px;
              margin-top: 8px;
            }
        
            .card-divider {
              height: 1px; width: 80%; margin: 20px auto;
              background: linear-gradient(90deg, transparent, rgba(0,0,0,0.1), transparent);
            }
        
            .product-hook {
              background: #f8fafc;
              border: 1px solid #e2e8f0;
              border-radius: 14px;
              padding: 12px 18px;
              display: inline-flex; align-items: center; gap: 12px;
            }
            .hook-icon { color: #f59e0b; font-size: 1.2rem; }
            .hook-text { color: #334155; font-size: 0.9rem; text-align: left; line-height: 1.3; }
            .hook-highlight { color: #ef4444; font-size: 1.1rem; text-decoration: underline; }
        
            /* --- FLOATING ORBS --- */
            .eco-orb {
              position: absolute;
              width: 48px; height: 48px;
              border-radius: 50%;
              background: white;
              box-shadow: 0 8px 20px rgba(0,0,0,0.08);
              display: flex; align-items: center; justify-content: center;
              font-size: 1.2rem;
              z-index: 3;
              animation: floatOrb 6s ease-in-out infinite;
            }
            /* Orb Positions & Colors */
            .orb-1 { top: 15%; left: 15%; color: #f97316; animation-delay: 0s; }
            .orb-2 { top: 25%; right: 10%; color: #8b5cf6; animation-delay: 1.2s; }
            .orb-3 { bottom: 20%; left: 10%; color: #ef4444; animation-delay: 2.5s; }
            .orb-4 { bottom: 15%; right: 15%; color: #06b6d4; animation-delay: 0.5s; }
            .orb-5 { top: 50%; left: 5%; color: #10b981; animation-delay: 3s; width: 36px; height: 36px; font-size: 0.9rem; }
        
            @keyframes floatOrb {
              0%, 100% { transform: translateY(0); }
              50% { transform: translateY(-15px); }
            }
        
            /* Mobile Responsive */
            @media (max-width: 600px) {
              .product-glass-card { padding: 25px 15px; }
              .product-title { font-size: 1.8rem; }
              .price-main { font-size: 2.8rem; }
              .search-lens { width: 70px; height: 70px; }
              .lens-glass { width: 50px; height: 50px; border-width: 3px; }
              .lens-handle { width: 20px; height: 6px; bottom: 6px; right: 6px; }
              .eco-orb { transform: scale(0.8); }
            }
            /* Uses your existing tokens if present; safe fallbacks included */
            :root{
              --red:#ef4134;
              --blue:#1f374a;
              --ink:#0b1220;
              --muted:#556274;
              --card: rgba(255,255,255,0.68);
              --stroke: rgba(31,55,74,0.16);
            }
            
            /* Card */
            .trust-badge{
              position:relative;
              padding:26px 26px 20px;
              border-radius:22px;
              background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.55));
              border:1px solid var(--stroke);
              box-shadow: 0 18px 40px rgba(11,18,32,0.10);
              overflow:hidden;
              max-width: 560px;
            }
            
            /* Subtle premium glow */
            .trust-badge::before{
              content:"";
              position:absolute;
              inset:-2px;
              background:
                radial-gradient(800px 320px at 20% 10%, rgba(239,65,52,0.16), transparent 55%),
                radial-gradient(620px 260px at 90% 40%, rgba(31,55,74,0.14), transparent 55%);
              pointer-events:none;
            }
            .trust-badge::after{
              content:"";
              position:absolute;
              top:-120px; right:-120px;
              width:260px; height:260px;
              border-radius:50%;
              border:1px dashed rgba(31,55,74,0.22);
              opacity:.55;
              pointer-events:none;
            }
            
            /* Top label */
            .trust-top{
              position:relative;
              display:flex;
              align-items:center;
              gap:10px;
              margin-bottom:14px;
            }
            .trust-dot{
              width:10px;height:10px;border-radius:50%;
              background: var(--red);
              box-shadow: 0 0 0 6px rgba(239,65,52,0.12);
            }
            .trust-label{
              font-size:13px;
              letter-spacing: .2px;
              color: var(--blue);
              background: rgba(31,55,74,0.08);
              padding:6px 10px;
              border-radius: 999px;
              border: 1px solid rgba(31,55,74,0.10);
              font-weight:600;
            }
            
            /* Title */
            .trust-title{
              position:relative;
              margin: 0 0 10px;
              font-weight: 800;
              line-height: 1.04;
              font-size: clamp(30px, 4vw, 44px);
              color: var(--ink);
            }
            .trust-title .accent{ color: var(--red); }
            .trust-title .outline{
              color: transparent;
              -webkit-text-stroke: 1px rgba(31,55,74,0.55);
              text-shadow: 0 10px 30px rgba(31,55,74,0.10);
            }
            
            /* Tiny shine on first word */
            .shine{
              background: linear-gradient(90deg, var(--ink), rgba(11,18,32,0.55), var(--ink));
              -webkit-background-clip:text;
              background-clip:text;
              color:transparent;
              position:relative;
            }
            .shine::after{
              content:"";
              position:absolute;
              left:-25%;
              top:0;
              width:40%;
              height:100%;
              background: linear-gradient(90deg, transparent, rgba(255,255,255,0.75), transparent);
              transform: skewX(-18deg);
              animation: shineMove 3.8s ease-in-out infinite;
              mix-blend-mode: overlay;
            }
            @keyframes shineMove{
              0%, 45% { transform: translateX(-120%) skewX(-18deg); opacity:0; }
              55%     { opacity:1; }
              100%    { transform: translateX(260%) skewX(-18deg); opacity:0; }
            }
            
            /* Subtitle */
            .trust-sub{
              position:relative;
              margin: 0 0 16px;
              color: var(--muted);
              font-size: 15px;
              line-height: 1.7;
              max-width: 48ch;
            }
            
            /* Pills */
            .trust-pills{
              position:relative;
              display:flex;
              flex-wrap:wrap;
              gap:10px;
              margin-bottom: 14px;
            }
            .pill{
              display:inline-flex;
              align-items:center;
              gap:8px;
              padding:9px 12px;
              border-radius: 999px;
              border: 1px solid rgba(31,55,74,0.14);
              background: rgba(255,255,255,0.55);
              color: var(--blue);
              font-weight:600;
              font-size: 13px;
              box-shadow: 0 10px 20px rgba(11,18,32,0.06);
            }
            .pill i{ color: var(--red); }
            
            /* Footer checks */
            .trust-footer{
              position:relative;
              display:grid;
              grid-template-columns: repeat(3, minmax(0, 1fr));
              gap:10px;
              padding-top: 12px;
              border-top: 1px solid rgba(31,55,74,0.10);
            }
            .mini{
              display:flex;
              align-items:center;
              gap:8px;
              font-size: 12.5px;
              color: rgba(11,18,32,0.75);
              background: rgba(31,55,74,0.05);
              border: 1px solid rgba(31,55,74,0.08);
              padding:10px 10px;
              border-radius: 14px;
            }
            .mini i{ color: var(--red); }
            
            /* Mobile */
            @media (max-width: 520px){
              .trust-badge{ padding:22px 18px 18px; }
              .trust-footer{ grid-template-columns: 1fr; }
              .trust-sub{ max-width: 100%; }
            }
