:root {
      --su-navy: #092347;
      --su-primary: #0b3768;
      --su-azure: #0284c7;
      --su-cyan: #06b6d4;
      --su-accent: #0ea5e9;
      --su-light-blue: #f0f7ff;
      --su-soft-bg: #f8fafc;
      --su-border: #e2e8f0;
      --su-dark: #0f172a;
      --su-text-muted: #64748b;
    }

    body {
      font-family: 'Plus Jakarta Sans', sans-serif;
      color: #334155;
      background-color: #ffffff;
      line-height: 1.6;
    }

    h1, h2, h3, h4, h5, h6 {
      font-family: 'Outfit', sans-serif;
      font-weight: 700;
      color: var(--su-navy);
    }

    /* Top Utility Bar */
    .top-bar {
      background-color: var(--su-navy);
      font-size: 0.85rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    /* Navbar */
    .navbar {
      transition: all 0.3s ease;
      background: #ffffff;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    }
    .navbar-brand .brand-logo-text {
      font-weight: 800;
      font-size: 1.45rem;
      color: var(--su-primary);
      letter-spacing: -0.5px;
      line-height: 1.1;
    }
    .brand-logo-text span {
      color: var(--su-azure);
      display: block;
      font-size: 0.82rem;
      letter-spacing: 1.2px;
      font-weight: 600;
      text-transform: uppercase;
    }
    .nav-link {
      font-weight: 500;
      color: #334155 !important;
      padding: 0.5rem 0.9rem !important;
      border-radius: 6px;
      transition: all 0.2s ease;
    }
    .nav-link:hover {
      color: var(--su-azure) !important;
      background: var(--su-light-blue);
    }

    /* Hero Section */
    .hero-section {
      background: radial-gradient(circle at 85% 20%, rgba(14, 165, 233, 0.18) 0%, transparent 45%),
                  linear-gradient(135deg, #071933 0%, #092347 50%, #0b3768 100%);
      color: white;
      padding: 100px 0 110px 0;
      position: relative;
      overflow: hidden;
    }
    .hero-badge {
      background-color: rgba(6, 182, 212, 0.2);
      border: 1px solid rgba(6, 182, 212, 0.4);
      color: #67e8f9;
      font-size: 0.85rem;
      font-weight: 600;
      padding: 0.35rem 1rem;
      border-radius: 50px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    /* Hero Right Visual Frame */
    .hero-preview-card {
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 24px;
      padding: 14px;
      backdrop-filter: blur(12px);
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
    }
    .hero-preview-img-wrapper {
      position: relative;
      border-radius: 18px;
      overflow: hidden;
      height: 310px;
    }
    .hero-preview-img-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .hero-preview-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(9, 35, 71, 0.85) 0%, transparent 60%);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 1.5rem;
      color: white;
    }
    /* .floating-location-pill {
      position: absolute;
      top: 14px;
      left: 14px;
      background: rgba(9, 35, 71, 0.85);
      border: 1px solid rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(8px);
      font-size: 0.8rem;
      padding: 0.35rem 0.85rem;
      border-radius: 50px;
      color: #e0f2fe;
      font-weight: 500;
    } */

    /* Stat Cards */
    .stat-card {
      background: #ffffff;
      border: 1px solid var(--su-border);
      border-radius: 14px;
      padding: 1.5rem;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }
    .stat-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 36px rgba(11, 55, 104, 0.09);
    }
    .stat-icon {
      width: 54px;
      height: 54px;
      background: var(--su-light-blue);
      color: var(--su-azure);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      margin-bottom: 1rem;
    }

    /* Section Headers */
    .section-title {
      position: relative;
      margin-bottom: 2.5rem;
    }
    .section-title h2 {
      font-size: 2.2rem;
      margin-bottom: 0.5rem;
    }
    .section-title .subtitle {
      color: var(--su-azure);
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      font-size: 0.82rem;
      display: block;
      margin-bottom: 0.25rem;
    }

    /* Tariff Cards */
    .tariff-card {
      background: #ffffff;
      border-radius: 16px;
      border: 1px solid var(--su-border);
      box-shadow: 0 8px 24px rgba(0,0,0,0.04);
      overflow: hidden;
      transition: all 0.3s ease;
    }
    .tariff-card:hover {
      border-color: var(--su-azure);
      transform: translateY(-5px);
      box-shadow: 0 15px 35px rgba(2, 132, 199, 0.12);
    }
    .tariff-header {
      background: var(--su-light-blue);
      padding: 1.5rem;
      border-bottom: 1px solid var(--su-border);
    }
    .tariff-header.official {
      background: linear-gradient(135deg, var(--su-navy), var(--su-primary));
      color: white;
    }
    .tariff-header.official h4,
    .tariff-header.official .price {
      color: white;
    }

    /* Steps Flow */
    .step-card {
      border: none;
      background: #ffffff;
      border-radius: 16px;
      padding: 1.75rem;
      box-shadow: 0 6px 20px rgba(0,0,0,0.04);
      border-left: 4px solid var(--su-azure);
      height: 100%;
    }
    .step-number {
      font-size: 0.85rem;
      font-weight: 800;
      color: var(--su-azure);
      letter-spacing: 1px;
    }

    /* Gallery Cards */
    .gallery-img-wrap {
      border-radius: 14px;
      overflow: hidden;
      position: relative;
      height: 250px;
      background: #e2e8f0;
    }
    .gallery-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }
    .gallery-img-wrap:hover img {
      transform: scale(1.06);
    }
    .gallery-caption {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(to top, rgba(9, 35, 71, 0.9), transparent);
      color: white;
      padding: 1rem;
      font-size: 0.95rem;
      font-weight: 600;
    }

    /* Calculator Box */
    .calc-box {
      background: linear-gradient(145deg, #092347, #0b3768);
      color: white;
      border-radius: 20px;
      padding: 2.2rem;
      box-shadow: 0 20px 40px rgba(9, 35, 71, 0.2);
    }
    .calc-box h3, .calc-box h4 {
      color: #ffffff;
    }

    /* Accordion Custom */
    .accordion-button:not(.collapsed) {
      color: var(--su-primary);
      background-color: var(--su-light-blue);
      box-shadow: none;
      font-weight: 600;
    }
    .accordion-button:focus {
      box-shadow: none;
      border-color: rgba(2, 132, 199, 0.4);
    }
    .accordion-item {
      border-radius: 12px !important;
      border: 1px solid var(--su-border);
      margin-bottom: 0.75rem;
      overflow: hidden;
    }

    /* Buttons */
    .btn-silicon-primary {
      background: var(--su-azure);
      color: #fff;
      font-weight: 600;
      border: none;
      padding: 0.65rem 1.4rem;
      border-radius: 8px;
      transition: all 0.2s ease;
    }
    .btn-silicon-primary:hover {
      background: #0369a1;
      color: #fff;
      transform: translateY(-1px);
    }
    .btn-silicon-outline {
      border: 2px solid white;
      color: white;
      font-weight: 600;
      padding: 0.6rem 1.4rem;
      border-radius: 8px;
    }
    .btn-silicon-outline:hover {
      background: white;
      color: var(--su-navy);
    }

    /* Rules Item */
    .rule-item {
      display: flex;
      gap: 12px;
      padding: 0.85rem;
      border-radius: 8px;
      background: var(--su-soft-bg);
      margin-bottom: 0.65rem;
      font-size: 0.95rem;
    }

    /* Footer */
    footer {
      background-color: var(--su-navy);
      color: #94a3b8;
      font-size: 0.9rem;
    }
    footer a {
      color: #cbd5e1;
      text-decoration: none;
      transition: color 0.2s ease;
    }
    footer a:hover {
      color: var(--su-cyan);
    }