    :root {
      --navy:          #0B1526;
      --navy-mid:      #142035;
      --blue:          #1A4A7A;
      --electric:      #2196F3;
      --electric-light:#64B5F6;
      --gold:          #C8972A;
      --gold-light:    #DDB44A;
      --tan:           #F5EDD8;
      --tan-dark:      #EAE0C8;
      --tan-darker:    #D9CEB0;
      --white:         #FFFFFF;
      --text-dark:     #1A2332;
      --text-mid:      #3D4F62;
      --text-light:    #6B7F94;
      --shadow:        rgba(11,21,38,0.12);
    }

    * { margin:0; padding:0; box-sizing:border-box; }
    picture { display: contents; }

    body {
      font-family: 'Nunito', sans-serif;
      background: var(--tan);
      color: var(--text-dark);
      line-height: 1.6;
    }

    /* ── NAV ── */
    nav {
      background: var(--navy);
      padding: 0 2rem;
      position: sticky;
      top: 0;
      z-index: 100;
      box-shadow: 0 2px 20px rgba(0,0,0,0.35);
    }
    .nav-inner {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 68px;
    }
    .nav-logo {
      display: flex;
      align-items: center;
      gap: 12px;
      cursor: pointer;
      text-decoration: none;
    }
    .nav-logo img { height: 44px; width: auto; }
    .nav-brand {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--white);
      letter-spacing: 0.5px;
    }
    .nav-brand span { color: var(--gold); }
    .nav-links { display:flex; gap:0.2rem; list-style:none; }
    .nav-links a {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      color: rgba(255,255,255,0.8);
      text-decoration: none;
      padding: 0.45rem 0.85rem;
      border-radius: 6px;
      letter-spacing: 0.4px;
      transition: all 0.2s;
      cursor: pointer;
    }
    .nav-links a:hover,
    .nav-links a.active { color: var(--gold); background: rgba(200,151,42,0.1); }
    .nav-cta {
      background: var(--gold) !important;
      color: var(--navy) !important;
      font-weight: 700 !important;
    }
    .nav-cta:hover { background: var(--gold-light) !important; color: var(--navy) !important; }
    .nav-cta.active { background: var(--gold-light) !important; }
    .nav-portal {
      border: 1.5px solid var(--gold);
      color: var(--gold) !important;
      font-weight: 700 !important;
    }
    .nav-portal:hover { background: var(--gold) !important; color: var(--navy) !important; }

    /* ── PAGES ── */
    .page { display:none; }
    .page.active { display:block; }

    /* ── SHARED SECTION STYLES ── */
    .section { padding: 4rem 2rem; }
    .section-inner { max-width: 1100px; margin: 0 auto; }
    .section-alt  { background: var(--tan-dark); }
    .section-dark { background: var(--navy); color: var(--white); }

    .section-title {
      font-family: 'Rajdhani', sans-serif;
      font-size: 2rem;
      font-weight: 700;
      color: var(--navy);
      margin-bottom: 0.4rem;
      letter-spacing: 0.4px;
    }
    .section-dark .section-title { color: var(--white); }
    .section-subtitle { color: var(--text-mid); font-size: 1.02rem; margin-bottom: 2.25rem; }
    .section-dark .section-subtitle { color: rgba(255,255,255,0.6); }

    .gold-line {
      width: 48px; height: 3px;
      background: var(--gold);
      border-radius: 2px;
      margin-bottom: 0.9rem;
    }

    /* ── BUTTONS ── */
    .btn-primary {
      display: inline-block;
      background: var(--gold);
      color: var(--navy);
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.05rem;
      font-weight: 700;
      padding: 0.85rem 2rem;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      letter-spacing: 0.4px;
      text-decoration: none;
      transition: all 0.2s;
    }
    .btn-primary:hover {
      background: var(--gold-light);
      transform: translateY(-2px);
      box-shadow: 0 6px 20px rgba(200,151,42,0.4);
    }
    .btn-outline {
      display: inline-block;
      background: transparent;
      color: var(--white);
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.05rem;
      font-weight: 700;
      padding: 0.85rem 2rem;
      border: 2px solid rgba(255,255,255,0.38);
      border-radius: 8px;
      cursor: pointer;
      letter-spacing: 0.4px;
      text-decoration: none;
      transition: all 0.2s;
    }
    .btn-outline:hover {
      border-color: var(--electric-light);
      color: var(--electric-light);
      transform: translateY(-2px);
    }

    /* ━━━━━━━━━━━━━━━━━━ HOME ━━━━━━━━━━━━━━━━━━ */
    .hero {
      background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 55%, var(--blue) 100%);
      padding: 5.5rem 2rem 5rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .hero::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(circle at 72% 45%, rgba(33,150,243,0.09) 0%, transparent 55%),
        radial-gradient(circle at 28% 75%, rgba(200,151,42,0.07) 0%, transparent 50%);
    }
    .hero-content { position: relative; max-width: 820px; margin: 0 auto; }
    .hero-logo {
      width: 280px; height: auto;
      margin-bottom: 1.5rem;
      filter: drop-shadow(0 4px 22px rgba(33,150,243,0.32));
    }
    .hero h1 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 3.2rem; font-weight: 700;
      color: var(--white);
      letter-spacing: 1px; margin-bottom: 0.4rem;
    }
    .hero h1 span { color: var(--gold); }
    .hero-tagline {
      font-size: 1.22rem;
      color: rgba(255,255,255,0.78);
      margin-bottom: 1.1rem; font-weight: 300;
    }
    .hero-sub {
      font-size: 0.97rem;
      color: rgba(255,255,255,0.55);
      margin-bottom: 2.5rem; letter-spacing: 0.2px;
    }
    .hero-buttons { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

    /* Value Props */
    .props-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.4rem;
    }
    .prop-card {
      background: var(--white);
      border-radius: 12px; padding: 1.9rem;
      box-shadow: 0 2px 16px var(--shadow);
      border-top: 3px solid var(--electric);
    }
    .prop-icon { font-size: 2.1rem; margin-bottom: 0.7rem; color: var(--navy); line-height: 1; }
    .prop-icon svg { width: 38px; height: 38px; }
    .prop-card h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.18rem; font-weight: 700;
      color: var(--navy); margin-bottom: 0.45rem;
    }
    .prop-card p { color: var(--text-mid); font-size: 0.93rem; }

    /* How It Works Steps */
    .steps-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
      gap: 1rem;
    }
    .step-card {
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 12px; padding: 1.7rem 1.4rem;
      text-align: center;
    }
    .step-num {
      display: inline-flex; align-items: center; justify-content: center;
      width: 40px; height: 40px;
      background: var(--gold); color: var(--navy);
      border-radius: 50%;
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 1.1rem; margin-bottom: 0.7rem;
    }
    .step-card h4 {
      font-family: 'Rajdhani', sans-serif;
      color: var(--white); font-size: 1rem; font-weight: 600; margin-bottom: 0.35rem;
    }
    .step-card p { color: rgba(255,255,255,0.58); font-size: 0.87rem; }

    /* Who We Serve */
    .serve-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.2rem;
    }
    .serve-card {
      background: var(--white); border-radius: 12px;
      padding: 1.75rem; box-shadow: 0 2px 12px var(--shadow); text-align: center;
    }
    .serve-icon { font-size: 2.4rem; margin-bottom: 0.7rem; color: var(--navy); line-height: 1; }
    .serve-icon svg { width: 42px; height: 42px; }
    .serve-card h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.12rem; font-weight: 700; color: var(--navy); margin-bottom: 0.35rem;
    }
    .serve-card p { color: var(--text-mid); font-size: 0.89rem; }

    /* Flip cards: For Your Home → How We Can Help (click/tap to flip, details on the back) */
    .serve-hint { text-align: center; font-size: 0.85rem; color: var(--text-light); margin: -0.4rem 0 1.4rem; }
    .flip-card { height: 23rem; perspective: 1200px; cursor: pointer; background: transparent; }
    .flip-card:focus-visible { outline: 2px solid var(--electric); outline-offset: 3px; border-radius: 14px; }
    .flip-card-inner { position: relative; width: 100%; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; }
    .flip-card.flipped .flip-card-inner { transform: rotateY(180deg); }
    .flip-card-front, .flip-card-back {
      position: absolute; inset: 0;
      -webkit-backface-visibility: hidden; backface-visibility: hidden;
      background: var(--white); border-radius: 12px; box-shadow: 0 2px 12px var(--shadow);
      display: flex; flex-direction: column; overflow: hidden;
    }
    /* Front padding matches the .serve-icon negative margins in vertical.css (1.75rem) so the
       navy icon band bleeds to the card edges as a full-width header, like the other cards. */
    .flip-card-front { padding: 1.75rem; text-align: center; }
    .flip-card-front h3 { font-family: 'Rajdhani', sans-serif; font-size: 1.12rem; font-weight: 700; color: var(--navy); margin-bottom: 0.4rem; }
    .flip-card-front p { color: var(--text-mid); font-size: 0.89rem; }
    .flip-card-front .flip-hint { margin-top: auto; padding-top: 0.9rem; }
    .flip-card-back { padding: 1.6rem; transform: rotateY(180deg); text-align: left; overflow-y: auto; }
    .flip-card-back h4 { font-family: 'Rajdhani', sans-serif; font-size: 0.95rem; font-weight: 700; color: var(--navy); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.55rem; }
    .flip-card-back ul { list-style: none; margin: 0; padding: 0; }
    .flip-card-back li { position: relative; padding: 0.26rem 0 0.26rem 1.3rem; color: var(--text-mid); font-size: 0.83rem; line-height: 1.5; }
    .flip-card-back li::before { content: '→'; position: absolute; left: 0; top: 0.26rem; color: var(--electric); font-weight: 700; }
    .flip-hint { margin-top: 0.9rem; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: var(--electric); }
    .flip-hint-back { display: inline-block; margin-top: 0.7rem; }
    @media (prefers-reduced-motion: reduce) { .flip-card-inner { transition: none; } }

    /* CTA Banner */
    .cta-banner {
      background: linear-gradient(135deg, var(--blue), var(--navy));
      padding: 3.75rem 2rem; text-align: center;
    }
    .cta-banner h2 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 2rem; color: var(--white); margin-bottom: 0.45rem;
    }
    .cta-banner p { color: rgba(255,255,255,0.68); margin-bottom: 1.75rem; }

    /* ━━━━━━━━━━━━━━━━━━ SERVICES ━━━━━━━━━━━━━━━━━━ */
    .page-hero {
      background: linear-gradient(135deg, var(--navy), var(--blue));
      padding: 3.5rem 2rem; text-align: center;
    }
    .page-hero h1 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 2.5rem; color: var(--white); margin-bottom: 0.4rem;
    }
    .page-hero p { color: rgba(255,255,255,0.68); font-size: 1.02rem; }

    .tier-label {
      display: inline-flex; align-items: center; gap: 0.45rem;
      background: var(--navy); color: var(--gold);
      font-family: 'Rajdhani', sans-serif;
      font-size: 0.82rem; font-weight: 700;
      letter-spacing: 1.4px; text-transform: uppercase;
      padding: 0.33rem 0.85rem; border-radius: 20px; margin-bottom: 0.65rem;
    }
    .tier-description {
      color: var(--text-mid); font-size: 0.93rem;
      margin-bottom: 1.6rem; font-style: italic;
    }
    .services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
      gap: 1.2rem; margin-bottom: 3rem;
    }
    .service-card {
      background: var(--white); border-radius: 12px;
      padding: 1.65rem;
      box-shadow: 0 2px 14px var(--shadow);
      border-left: 4px solid var(--electric);
      display: flex; flex-direction: column;
      cursor: pointer;
      transition: transform 0.2s, box-shadow 0.2s;
    }
    .service-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 28px rgba(11,21,38,0.18);
    }
    .service-card-header {
      display: flex; align-items: flex-start;
      gap: 0.7rem; margin-bottom: 0.65rem;
    }
    .service-emoji { font-size: 1.55rem; flex-shrink: 0; margin-top: 1px; }
    .service-card h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.12rem; font-weight: 700; color: var(--navy);
    }
    .service-desc {
      color: var(--text-mid); font-size: 0.88rem;
      margin-bottom: 0.9rem; font-style: italic;
    }
    .service-includes { font-size: 0.84rem; color: var(--text-mid); margin-bottom: 0.9rem; flex: 1; }
    .service-includes strong { color: var(--navy); font-size: 0.81rem; }
    .service-includes ul { list-style: none; margin-top: 0.35rem; }
    .service-includes li { padding: 0.18rem 0 0.18rem 1.05rem; position: relative; }
    .service-includes li::before {
      content: '✓'; position: absolute; left: 0;
      color: var(--electric); font-size: 0.78rem; font-weight: 700; top: 3px;
    }
    .service-footer {
      display: flex; justify-content: space-between; align-items: center;
      padding-top: 0.9rem; border-top: 1px solid var(--tan-dark); margin-top: auto;
    }
    .service-price {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.08rem; font-weight: 700; color: var(--navy);
    }
    .service-mode {
      font-size: 0.78rem; color: var(--text-light);
      background: var(--tan); padding: 0.22rem 0.55rem; border-radius: 10px;
    }
    .tier-2 .service-card { border-left-color: var(--gold); }
    .tier-3 .service-card { border-left-color: #8B5CF6; }
    .tier-personal .service-card { border-left-color: #10B981; }
    .tier-personal-label {
      display: inline-flex; align-items: center; gap: 0.45rem;
      background: var(--white); color: #10B981;
      border: 1.5px solid #10B981;
      font-family: 'Rajdhani', sans-serif;
      font-size: 0.82rem; font-weight: 700;
      letter-spacing: 1.4px; text-transform: uppercase;
      padding: 0.33rem 0.85rem; border-radius: 20px; margin-bottom: 0.65rem;
    }

    /* Threat Intel */
    .threat-intel-section {
      background: var(--navy); border-radius: 16px;
      padding: 2rem; margin-bottom: 3rem; color: var(--white);
    }
    .threat-intel-section h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.4rem; color: var(--gold); margin-bottom: 0.45rem;
    }
    .threat-intel-section > p {
      color: rgba(255,255,255,0.68); font-size: 0.93rem; margin-bottom: 1.4rem;
    }
    .ti-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
      gap: 1rem;
    }
    .ti-card {
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.11);
      border-radius: 10px; padding: 1.5rem; text-align: center;
      cursor: pointer;
      transition: background 0.2s, border-color 0.2s;
    }
    .ti-card:hover {
      background: rgba(255,255,255,0.13);
      border-color: rgba(200,151,42,0.5);
    }
    .ti-tier {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.08rem; font-weight: 700; color: var(--gold); margin-bottom: 0.2rem;
    }
    .ti-price {
      font-size: 1.9rem; font-weight: 700; color: var(--white); margin-bottom: 0.7rem;
    }
    .ti-price span { font-size: 0.88rem; font-weight: 400; color: rgba(255,255,255,0.45); }
    .ti-features { list-style: none; font-size: 0.84rem; color: rgba(255,255,255,0.68); text-align: left; }
    .ti-features li { padding: 0.28rem 0 0.28rem 1.1rem; position: relative; }
    .ti-features li::before {
      content: '→'; position: absolute; left: 0; color: var(--electric-light);
    }

    /* Add-ons Table */
    .addons-table {
      width: 100%; border-collapse: collapse;
      background: var(--white); border-radius: 12px;
      overflow: hidden; box-shadow: 0 2px 14px var(--shadow);
    }
    .addons-table th {
      background: var(--navy); color: var(--gold);
      font-family: 'Rajdhani', sans-serif;
      padding: 0.85rem 1.2rem; text-align: left;
      font-size: 0.88rem; letter-spacing: 0.4px;
    }
    .addons-table td {
      padding: 0.82rem 1.2rem;
      border-bottom: 1px solid var(--tan-dark);
      font-size: 0.88rem; color: var(--text-mid);
    }
    .addons-table tr:last-child td { border-bottom: none; }
    .addons-table tr:hover td { background: var(--tan); }
    .addons-table td:last-child {
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; color: var(--navy); white-space: nowrap;
    }

    /* Notes card */
    .notes-card {
      background: var(--white); border-radius: 12px;
      padding: 1.65rem; margin-top: 2rem;
      box-shadow: 0 2px 12px var(--shadow);
      border-left: 4px solid var(--gold);
    }
    .notes-card h3 {
      font-family: 'Rajdhani', sans-serif;
      color: var(--navy); margin-bottom: 0.7rem;
    }
    .notes-card p { color: var(--text-mid); font-size: 0.91rem; margin-bottom: 0.45rem; }
    .notes-card p:last-child { margin-bottom: 0; }

    /* ━━━━━━━━━━━━━━━━━━ ABOUT ━━━━━━━━━━━━━━━━━━ */
    .about-layout {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3rem; align-items: start;
    }
    .about-bio h2 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.85rem; color: var(--navy); margin-bottom: 0.3rem;
    }
    .about-bio .role {
      color: var(--electric); font-weight: 600;
      font-size: 0.97rem; margin-bottom: 1.2rem;
    }
    .about-bio p { color: var(--text-mid); line-height: 1.78; margin-bottom: 0.95rem; }
    .mission-block {
      background: var(--navy); border-radius: 14px;
      padding: 1.85rem; margin-top: 1.75rem;
    }
    .mission-block h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.28rem; color: var(--gold); margin-bottom: 0.7rem;
    }
    .mission-block p { color: rgba(255,255,255,0.72); line-height: 1.78; font-size: 0.93rem; }

    .cred-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
    .cred-badge {
      background: var(--white); border-radius: 10px;
      padding: 0.95rem; box-shadow: 0 2px 10px var(--shadow);
      display: flex; align-items: center; gap: 0.55rem;
    }
    .cred-badge .icon { font-size: 1.35rem; flex-shrink: 0; color: var(--navy); display: inline-flex; align-items: center; }
    .cred-badge .icon svg { width: 24px; height: 24px; }
    .cred-badge .cred-text { font-size: 0.81rem; }
    .cred-badge .cred-text strong {
      display: block; color: var(--navy);
      font-weight: 700; font-size: 0.83rem;
    }
    .cred-badge .cred-text span { color: var(--text-light); }

    .promise-card {
      background: var(--white); border-radius: 12px;
      padding: 1.5rem; margin-top: 1.4rem;
      box-shadow: 0 2px 12px var(--shadow);
    }
    .promise-card h3 {
      font-family: 'Rajdhani', sans-serif;
      color: var(--navy); font-size: 1.12rem; margin-bottom: 0.7rem;
    }
    .promise-card p { color: var(--text-mid); font-size: 0.9rem; margin-bottom: 0.42rem; }

    /* ━━━━━━━━━━━━━━━━━━ CONTACT ━━━━━━━━━━━━━━━━━━ */
    .contact-layout {
      display: grid;
      grid-template-columns: 1fr 1.65fr;
      gap: 2.25rem; align-items: start;
    }
    .contact-info-block {
      background: var(--navy); border-radius: 16px;
      padding: 1.9rem; color: var(--white);
    }
    .contact-info-block h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.28rem; color: var(--gold); margin-bottom: 1.2rem;
    }
    .contact-item {
      display: flex; align-items: center;
      gap: 0.7rem; padding: 0.7rem 0;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .contact-item:last-of-type { border-bottom: none; }
    .ci-icon {
      width: 34px; height: 34px; flex-shrink: 0;
      border-radius: 50%;
      background: linear-gradient(135deg, #14304d, #1E4668);
      display: inline-flex; align-items: center; justify-content: center;
      color: var(--gold);
    }
    .ci-icon svg { width: 17px; height: 17px; }
    .contact-item a {
      color: var(--electric-light); text-decoration: none; font-size: 0.93rem;
    }
    .contact-item a:hover { color: var(--gold); }
    .contact-item span { color: rgba(255,255,255,0.72); font-size: 0.93rem; }
    .discovery-note {
      background: rgba(200,151,42,0.1);
      border: 1px solid rgba(200,151,42,0.28);
      border-radius: 10px; padding: 1rem; margin-top: 1.4rem;
      font-size: 0.87rem; color: rgba(255,255,255,0.75);
      line-height: 1.65;
    }
    .discovery-note strong { color: var(--gold); }

    .contact-form-card {
      background: var(--white); border-radius: 16px;
      padding: 2rem; box-shadow: 0 4px 24px var(--shadow);
    }
    .contact-form-card h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.4rem; color: var(--navy); margin-bottom: 1.4rem;
    }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:0.9rem; }
    .form-group { margin-bottom: 1rem; }
    .form-group label {
      display: block; font-size: 0.86rem;
      font-weight: 600; color: var(--text-dark); margin-bottom: 0.3rem;
    }
    .form-group input,
    .form-group select,
    .form-group textarea {
      width: 100%;
      padding: 0.68rem 0.88rem;
      border: 1.5px solid var(--tan-darker);
      border-radius: 8px;
      font-family: 'Nunito', sans-serif;
      font-size: 0.93rem;
      color: var(--text-dark);
      background: var(--tan);
      transition: border-color 0.2s, background 0.2s;
    }
    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
      outline: none; border-color: var(--electric); background: var(--white);
    }
    .form-group textarea { resize: vertical; min-height: 95px; }

    .checkbox-group {
      display: flex; flex-direction: column; gap: 0.45rem; margin-top: 0.38rem;
    }
    .checkbox-item {
      display: flex; align-items: center;
      gap: 0.45rem; font-size: 0.86rem;
      color: var(--text-mid); cursor: pointer;
    }
    .checkbox-item input[type="checkbox"] {
      width: 15px; height: 15px; accent-color: var(--electric); flex-shrink: 0;
    }
    .svc-fold {
      border: 1px solid var(--tan-darker); border-radius: 8px;
      background: var(--white); overflow: hidden;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .svc-fold-header {
      display: flex; align-items: center; gap: 0.5rem;
      width: 100%; padding: 0.6rem 0.8rem;
      background: none; border: none; cursor: pointer; text-align: left;
      transition: background 0.15s;
    }
    .svc-fold-header:hover { background: rgba(7,37,64,0.04); }
    .svc-fold-title {
      flex: 1;
      font-family: 'Rajdhani', sans-serif; font-weight: 700;
      font-size: 0.76rem; color: var(--text-light);
      text-transform: uppercase; letter-spacing: 1px;
    }
    .svc-fold-count {
      display: none;
      font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 0.7rem;
      color: var(--navy); background: rgba(201,168,76,0.18);
      border: 1px solid var(--gold); border-radius: 999px;
      padding: 0.05rem 0.55rem; letter-spacing: 0.4px; white-space: nowrap;
    }
    .svc-fold-chevron {
      font-size: 0.72rem; color: var(--text-light);
      flex-shrink: 0; transition: transform 0.2s;
    }
    .svc-fold.open .svc-fold-chevron { transform: rotate(180deg); }
    .svc-fold-body {
      display: none;
      grid-template-columns: 1fr 1fr; gap: 0.38rem;
      padding: 0.1rem 0.8rem 0.7rem;
    }
    .svc-fold.open .svc-fold-body { display: grid; }
    .svc-fold.has-checked {
      border-color: var(--gold);
      box-shadow: 0 2px 8px -3px rgba(201,168,76,0.55);
    }
    .svc-fold.has-checked .svc-fold-header { background: rgba(201,168,76,0.10); }
    .svc-fold.has-checked .svc-fold-title { color: var(--navy); }
    .svc-fold.has-checked .svc-fold-count { display: inline-block; }
    .checkbox-item-bundle {
      grid-column: 1 / -1;
      display: flex; align-items: flex-start;
      gap: 0.45rem; font-size: 0.86rem; color: var(--text-mid); cursor: pointer;
    }
    .checkbox-item-bundle input[type="checkbox"] {
      width: 15px; height: 15px; accent-color: var(--electric);
      flex-shrink: 0; margin-top: 3px;
    }
    .bundle-check-name { font-family: 'Rajdhani', sans-serif; font-weight: 700; color: var(--navy); }
    .bundle-check-services { font-size: 0.72rem; color: var(--text-light); margin-top: 0.05rem; }
    .get-started-btn {
      display: block; width: 100%; margin-top: 0.75rem;
      padding: 0.42rem 1rem;
      background: #112038; color: var(--gold);
      font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 0.85rem;
      border: 1.5px solid #142035; border-radius: 7px;
      cursor: pointer; letter-spacing: 0.3px; text-align: center;
      transition: opacity 0.2s;
    }
    .get-started-btn:hover { opacity: 0.82; }
    .available-in-btn {
      display: block; width: 100%; margin-top: 0.65rem;
      padding: 0.38rem 0.9rem;
      font-family: 'Rajdhani', sans-serif; font-weight: 700; font-size: 0.8rem;
      border-radius: 7px; cursor: pointer; letter-spacing: 0.3px; text-align: center;
      transition: opacity 0.2s;
    }
    .available-in-btn:hover { opacity: 0.8; }

    .form-submit {
      width: 100%;
      background: var(--gold); color: var(--navy);
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.1rem; font-weight: 700;
      padding: 0.88rem; border: none; border-radius: 8px;
      cursor: pointer; letter-spacing: 0.4px;
      transition: all 0.2s; margin-top: 0.4rem;
    }
    .form-submit:hover {
      background: var(--gold-light); transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(200,151,42,0.38);
    }
    .form-success {
      display: none; text-align: center; padding: 2.5rem 1.5rem;
    }
    .form-success .s-icon { font-size: 3rem; margin-bottom: 0.9rem; }
    .form-success h3 {
      font-family: 'Rajdhani', sans-serif;
      color: var(--navy); font-size: 1.55rem; margin-bottom: 0.5rem;
    }
    .form-success p { color: var(--text-mid); }

    /* ━━━━━━━━━━━━━━━━━━ BLOG ━━━━━━━━━━━━━━━━━━ */
    .blog-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
      gap: 1.4rem;
    }
    .blog-card {
      background: var(--white); border-radius: 12px;
      overflow: hidden; box-shadow: 0 2px 14px var(--shadow);
      transition: transform 0.2s, box-shadow 0.2s; cursor: default;
    }
    .blog-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 28px rgba(11,21,38,0.18);
    }
    .blog-card-header {
      background: radial-gradient(circle at 28% 25%, rgba(30,70,104,0.55), transparent 62%), linear-gradient(135deg, #0B1526 0%, #1E4668 100%);
      padding: 0; height: 132px;
      display: flex; align-items: center; justify-content: center;
      position: relative; overflow: hidden;
    }
    .blog-emoji { color: var(--gold); display: inline-flex; align-items: center; justify-content: center; }
    .blog-emoji svg { width: 50px; height: 50px; }
    .blog-badge {
      background: rgba(200,151,42,0.18);
      color: var(--gold-light);
      font-family: 'Rajdhani', sans-serif;
      font-size: 0.74rem; font-weight: 700; letter-spacing: 1px;
      padding: 0.22rem 0.58rem; border-radius: 12px;
      border: 1px solid rgba(200,151,42,0.3);
    }
    .blog-card-body { padding: 1.4rem 1.5rem; }
    .blog-card h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.12rem; font-weight: 700; color: var(--navy);
      margin-bottom: 0.55rem; line-height: 1.35;
    }
    .blog-card p { color: var(--text-mid); font-size: 0.89rem; line-height: 1.65; }
    .blog-card-footer {
      padding: 0.9rem 1.5rem; border-top: 1px solid var(--tan-dark);
      display: flex; justify-content: space-between; align-items: center;
    }
    .blog-category {
      font-size: 0.77rem; color: var(--electric);
      font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
    }
    .blog-coming { font-size: 0.83rem; color: var(--text-light); }
    .blog-read-link {
      font-size: 0.83rem; font-weight: 700;
      color: var(--electric); text-decoration: none; cursor: pointer;
      transition: color 0.2s;
    }
    .blog-read-link:hover { color: var(--gold); }
    a.blog-card { display: block; text-decoration: none; color: inherit; cursor: pointer; }
    .blog-card { cursor: pointer; }

    /* ── ARTICLE MODAL ── */
    .article-overlay {
      display: none;
      position: fixed; inset: 0;
      background: rgba(11,21,38,0.82);
      z-index: 500;
      overflow-y: auto;
      padding: 2rem 1rem;
    }
    .article-overlay.open { display: flex; align-items: flex-start; justify-content: center; }
    .article-modal {
      background: var(--white);
      border-radius: 16px;
      max-width: 760px; width: 100%;
      padding: 2.75rem 3rem;
      position: relative;
      margin: auto;
      box-shadow: 0 16px 60px rgba(11,21,38,0.45);
    }
    .article-close {
      position: absolute; top: 1.1rem; right: 1.3rem;
      background: var(--tan-dark); border: none;
      border-radius: 50%; width: 34px; height: 34px;
      font-size: 1.1rem; cursor: pointer; color: var(--text-dark);
      display: flex; align-items: center; justify-content: center;
      transition: background 0.2s;
    }
    .article-close:hover { background: var(--tan-darker); }
    .article-category-tag {
      display: inline-block;
      font-size: 0.74rem; font-weight: 700;
      color: var(--electric); text-transform: uppercase; letter-spacing: 0.8px;
      margin-bottom: 0.65rem;
    }
    .article-modal h1 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.9rem; font-weight: 700;
      color: var(--navy); line-height: 1.25;
      margin-bottom: 1.4rem;
    }
    .article-body p {
      color: var(--text-mid); font-size: 0.96rem;
      line-height: 1.78; margin-bottom: 1.1rem;
    }
    .article-body h3 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.22rem; font-weight: 700;
      color: var(--navy); margin: 1.75rem 0 0.55rem;
    }
    .article-body h4 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1rem; font-weight: 700;
      color: var(--navy); margin: 1.1rem 0 0.3rem;
    }
    .article-body ul {
      list-style: none; margin: 0.4rem 0 1.1rem 0;
    }
    .article-body ul li {
      padding: 0.22rem 0 0.22rem 1.2rem;
      position: relative; color: var(--text-mid);
      font-size: 0.95rem; line-height: 1.65;
    }
    .article-body ul li::before {
      content: '→'; position: absolute; left: 0;
      color: var(--electric); font-weight: 700;
    }
    .article-body strong { color: var(--navy); font-weight: 700; }
    .article-cta {
      background: var(--tan); border-left: 4px solid var(--gold);
      border-radius: 0 10px 10px 0;
      padding: 1.2rem 1.4rem; margin-top: 2rem;
    }
    .article-cta p { margin-bottom: 0.6rem; }
    .article-cta p:last-child { margin-bottom: 0; }
    .article-footer-tag {
      margin-top: 2rem; padding-top: 1.2rem;
      border-top: 1px solid var(--tan-dark);
      font-size: 0.82rem; color: var(--text-light);
      font-style: italic;
    }
    @media (max-width: 640px) {
      .article-modal { padding: 1.75rem 1.3rem; }
      .article-modal h1 { font-size: 1.45rem; }
    }

    /* ── STANDALONE BLOG ARTICLE PAGES (/blog/<slug>/) ── */
    .article-page {
      display: block;
      background: var(--white);
      border-radius: 16px;
      max-width: 760px; width: 100%;
      margin: 2.5rem auto;
      padding: 2.75rem 3rem;
      box-shadow: 0 12px 44px rgba(11,21,38,0.10);
    }
    .article-page h1 {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.9rem; font-weight: 700;
      color: var(--navy); line-height: 1.25;
      margin: 0.2rem 0 0.5rem;
    }
    .article-breadcrumb { font-size: 0.78rem; color: var(--text-light); margin-bottom: 1rem; }
    .article-breadcrumb a { color: var(--electric); text-decoration: none; }
    .article-breadcrumb a:hover { color: var(--gold); }
    .article-byline { font-size: 0.85rem; color: var(--text-light); margin-bottom: 1.6rem; }
    .article-byline a { color: var(--electric); text-decoration: none; font-weight: 600; }
    .article-byline a:hover { color: var(--gold); }
    .article-footer-tag a { color: var(--electric); text-decoration: none; }
    .article-footer-tag a:hover { color: var(--gold); }
    .article-back { display: inline-block; margin: 0 auto 2.5rem; }
    .article-back-wrap { max-width: 760px; margin: 0 auto; padding: 0 1rem; text-align: center; }
    .article-back a { color: var(--electric); text-decoration: none; font-weight: 600; font-size: 0.9rem; }
    .article-back a:hover { color: var(--gold); }
    @media (max-width: 640px) {
      .article-page { padding: 1.75rem 1.3rem; margin: 1.25rem auto; }
      .article-page h1 { font-size: 1.45rem; }
    }

    /* ── FOOTER ── */
    footer {
      background: var(--navy); color: rgba(255,255,255,0.55);
      padding: 2.5rem 2rem; text-align: center;
    }
    .footer-brand {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.3rem; font-weight: 700; color: var(--white); margin-bottom: 0.45rem;
    }
    .footer-brand span { color: var(--gold); }
    .footer-links {
      display: flex; justify-content: center;
      gap: 1.5rem; margin: 0.65rem 0; flex-wrap: wrap;
    }
    .footer-links a {
      color: rgba(255,255,255,0.48); text-decoration: none;
      font-size: 0.87rem; transition: color 0.2s; cursor: pointer;
    }
    .footer-links a:hover { color: var(--gold); }
    footer p { font-size: 0.81rem; margin-top: 0.4rem; }
    .footer-ci {
      width: 22px; height: 22px; border-radius: 50%;
      background: linear-gradient(135deg, #14304d, #1E4668);
      display: inline-flex; align-items: center; justify-content: center;
      color: var(--gold); vertical-align: middle; margin-right: 0.3rem;
    }
    .footer-ci svg { width: 12px; height: 12px; }

    /* ── HAMBURGER BUTTON ── */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0.5rem;
      flex-shrink: 0;
    }
    .nav-hamburger span {
      display: block;
      width: 24px;
      height: 2px;
      background: var(--white);
      border-radius: 2px;
      transition: all 0.3s;
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .about-layout    { grid-template-columns: 1fr; }
      .contact-layout  { grid-template-columns: 1fr; }
      .cred-grid       { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 640px) {
      .hero h1         { font-size: 2.1rem; }
      .hero-logo       { width: 200px; }
      .form-row        { grid-template-columns: 1fr; }
      .svc-fold-body   { grid-template-columns: 1fr; }
      .cred-grid       { grid-template-columns: 1fr; }
      .blog-grid       { grid-template-columns: 1fr; }

      /* Mobile nav: hamburger */
      .nav-hamburger   { display: flex; }
      nav              { position: sticky; }
      .nav-links {
        display: none;
        position: absolute;
        top: 68px;
        left: 0;
        right: 0;
        background: var(--navy);
        flex-direction: column;
        padding: 0.5rem 1rem 1rem;
        gap: 0.25rem;
        box-shadow: 0 6px 20px rgba(0,0,0,0.4);
        z-index: 99;
      }
      .nav-links.open  { display: flex; }
      .nav-links a     { font-size: 1rem; display: inline-block; padding: 0.35rem 0.8rem; border-radius: 6px; }
      .nav-cta         { margin-top: 0.25rem; text-align: center; }
      .nav-portal      { margin-top: 0.25rem; text-align: center; }
    }

    /* ── CONSULT BANNER ── */
    .consult-banner {
      background: var(--gold);
      color: var(--navy);
      text-align: center;
      padding: 0.65rem 1.5rem;
      font-family: 'Nunito', sans-serif;
      font-size: 0.93rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      flex-wrap: wrap;
      line-height: 1.4;
    }
    .consult-banner a {
      color: var(--navy);
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700;
      font-size: 0.97rem;
      letter-spacing: 0.3px;
      text-decoration: underline;
      cursor: pointer;
      white-space: nowrap;
    }
    .consult-banner a:hover { opacity: 0.75; }

    /* ━━━━━━━━━━━━━━━━━━ SERVICES REDESIGN ━━━━━━━━━━━━━━━━━━ */
    .svc-tabs {
      display: none;
      background: var(--navy);
      padding: 0.75rem 1rem;
      gap: 0.5rem;
    }
    .svc-tab {
      flex: 1;
      padding: 0.7rem 0.5rem 0.55rem;
      background: rgba(255,255,255,0.08);
      border: 1.5px solid rgba(255,255,255,0.15);
      border-radius: 8px;
      color: rgba(255,255,255,0.65);
      font-family: 'Rajdhani', sans-serif;
      font-size: 0.9rem;
      font-weight: 700;
      letter-spacing: 0.4px;
      cursor: pointer;
      transition: all 0.2s;
      display: flex; flex-direction: column; align-items: center;
      position: relative;
    }
    .svc-tab.active { background: var(--gold); border-color: var(--gold); color: var(--navy); }
    .tab-sub {
      font-family: 'Nunito', sans-serif;
      font-size: 0.67rem; font-weight: 500; letter-spacing: 0;
      color: rgba(255,255,255,0.45); margin-top: 0.15rem;
    }
    .svc-tab.active .tab-sub { color: rgba(11,21,38,0.6); }
    .tab-badge {
      position: absolute; top: 0.28rem; right: 0.3rem;
      font-size: 0.58rem; font-weight: 800; letter-spacing: 0.4px;
      padding: 0.08rem 0.38rem; border-radius: 10px; line-height: 1.5;
    }
    .tab-badge.save { background: #10B981; color: #fff; }
    .tab-badge.best { background: var(--gold); color: var(--navy); }
    .svc-tab-hint {
      display: none;
      text-align: center; font-size: 0.78rem;
      color: rgba(255,255,255,0.45);
      background: var(--navy); padding: 0.25rem 0 0.5rem;
      animation: hint-fade 3.5s ease-in-out forwards;
    }
    @keyframes hint-fade {
      0%, 60% { opacity: 1; }
      100% { opacity: 0; }
    }

    .svc-col-headers {
      display: grid;
      grid-template-columns: 1fr 1fr 268px;
      gap: 1.5rem;
      margin-bottom: 1.15rem;
    }
    .svc-col-head {
      padding-bottom: 0.5rem;
      border-bottom: 2.5px solid var(--gold);
    }
    .svc-col-head-title {
      display: block;
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 1.15rem;
      text-transform: uppercase; letter-spacing: 1.5px;
      color: var(--navy);
    }
    .svc-col-head-sub {
      display: block;
      font-size: 0.8rem; color: var(--text-light); margin-top: 0.12rem;
    }
    .svc-layout {
      display: grid;
      grid-template-columns: 1fr 1fr 268px;
      grid-template-rows: auto auto auto;
      gap: 1.5rem;
    }
    /* Each column spans all 3 rows; children share outer row tracks via subgrid */
    .svc-individual-col {
      grid-column: 1; grid-row: 1 / span 3;
      display: grid; grid-template-rows: subgrid; gap: 1.5rem;
    }
    .svc-bundles-col {
      grid-column: 2; grid-row: 1 / span 3;
      display: grid; grid-template-rows: subgrid; gap: 1.5rem;
    }
    .svc-platinum-col {
      grid-column: 3; grid-row: 1 / span 3;
      display: flex; flex-direction: column; gap: 0.6rem;
    }
    /* Arrows connecting each row across columns */
    .svc-individual-col > .svc-cat-block,
    .svc-bundles-col > .svc-cat-block { position: relative; }
    .svc-individual-col > .svc-cat-block::after,
    .svc-bundles-col > .svc-cat-block::after {
      content: '➤';
      position: absolute;
      left: 100%; width: 1.5rem;
      top: 50%; transform: translateY(-50%);
      color: var(--gold); font-size: 1.55rem; font-weight: 900;
      text-shadow: 0 0 10px rgba(200,151,42,0.85), 0 0 4px rgba(200,151,42,0.6);
      text-align: center; z-index: 10; pointer-events: none;
      line-height: 1;
    }
    /* The last bundles block (Cyber Documentation) has no column to its right,
       so suppress its trailing arrow so it doesn't point into empty space. */
    .svc-bundles-col > .svc-cat-block:last-child::after { content: none; }

    .svc-cat-block {
      background: var(--white);
      border-radius: 14px;
      padding: 1rem;
      box-shadow: 0 2px 12px var(--shadow);
    }
    .svc-cat-header {
      display: flex; align-items: center; gap: 0.5rem;
      padding-bottom: 0.7rem; margin-bottom: 0.7rem;
      border-bottom: 1.5px solid var(--tan-dark);
    }
    .svc-cat-icon { font-size: 1.1rem; color: var(--navy); display: inline-flex; align-items: center; }
    .svc-cat-icon svg { width: 20px; height: 20px; }
    .svc-cat-title {
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 0.97rem; color: var(--navy); flex: 1;
    }
    .svc-cat-mode {
      font-size: 0.74rem; color: var(--text-light);
      background: var(--tan); padding: 0.18rem 0.5rem; border-radius: 8px;
    }

    .svc-bubbles { display: flex; flex-direction: column; gap: 0.42rem; }
    .svc-bubble-wrap { display: flex; flex-direction: column; }
    .svc-bubble {
      display: flex; align-items: center; gap: 0.55rem; flex-wrap: wrap;
      padding: 0.7rem 0.85rem 0.55rem;
      background: var(--tan); border-radius: 9px;
      cursor: pointer; position: relative;
      transition: background 0.15s, box-shadow 0.15s, border-color 0.15s;
      border: 1.5px solid transparent;
      user-select: none;
    }
    .svc-bubble::after {
      content: 'Click to see more ▾';
      width: 100%;
      font-family: 'Rajdhani', sans-serif;
      font-weight: 600; font-size: 0.72rem; letter-spacing: 0.2px;
      color: var(--text-light); text-align: right;
      padding-top: 0.4rem; margin-top: 0.5rem;
      border-top: 1px solid rgba(11,21,38,0.08);
    }
    .svc-bubble.open::after { content: 'Click to hide ▴'; color: var(--electric); }
    .svc-bubble:hover {
      background: var(--white);
      border-color: var(--electric);
      box-shadow: 0 3px 12px rgba(33,150,243,0.15);
    }
    .svc-bubble.open {
      background: var(--white);
      border-color: var(--electric-light);
      border-radius: 9px 9px 0 0;
      border-bottom-color: transparent;
    }
    .svc-bi { font-size: 1.05rem; flex-shrink: 0; color: var(--navy); display: inline-flex; align-items: center; }
    .svc-bi svg { width: 19px; height: 19px; }
    .svc-bn {
      flex: 1;
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 0.91rem; color: var(--navy); line-height: 1.2;
    }
    .svc-bp {
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 0.83rem;
      color: var(--gold); background: #112038;
      padding: 0.14rem 0.48rem; border-radius: 6px;
      white-space: nowrap; flex-shrink: 0;
    }
    .svc-bp span { font-size: 0.68rem; font-weight: 400; color: rgba(201,168,76,0.82); }
    .svc-chevron { display: none; }
    .svc-bubble.open .svc-chevron { transform: rotate(180deg); }

    .svc-detail {
      display: none;
      background: var(--white);
      border-radius: 0 0 9px 9px;
      padding: 0.7rem 0.9rem;
      border: 1.5px solid var(--electric-light);
      border-top: none;
    }
    .svc-detail.open { display: block; }
    .svc-detail-title {
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 0.93rem; color: var(--navy); margin-bottom: 0.25rem;
    }
    .svc-detail-desc {
      font-size: 0.82rem; color: var(--text-mid);
      margin-bottom: 0.45rem; font-style: italic; line-height: 1.5;
    }
    .svc-detail-list { list-style: none; }
    .svc-detail-list li {
      padding: 0.15rem 0 0.15rem 1rem; position: relative;
      font-size: 0.82rem; color: var(--text-mid);
    }
    .svc-detail-list li::before {
      content: '✓'; position: absolute; left: 0;
      color: var(--electric); font-size: 0.72rem; top: 3px; font-weight: 700;
    }

    .svc-bundle-cards { display: flex; flex-direction: column; gap: 0.42rem; }
    .svc-bcard-wrap { display: flex; flex-direction: column; }
    .svc-bsubhead {
      font-family: 'Rajdhani', sans-serif; font-weight: 700;
      font-size: 0.74rem; letter-spacing: 0.09em; text-transform: uppercase;
      color: rgba(255,255,255,0.62); margin: 0.6rem 0 0.15rem; padding-left: 0.15rem;
    }
    .svc-bundle-cards .svc-bsubhead:first-child { margin-top: 0; }
    .svc-bundles-col .svc-cat-block {
      background: #1E4668;
      border: 1px solid #133252;
    }
    /* Individual column: toned-down light blue-grey card with white service bubbles */
    .svc-individual-col .svc-cat-block {
      background: #DCE1E8;
      border: 1px solid #C3D3E5;
    }
    .svc-individual-col .svc-cat-header { border-bottom-color: #C3D3E5; }
    .svc-individual-col .svc-cat-mode { background: #FFFFFF; }
    .svc-individual-col .svc-bubble { background: var(--tan); box-shadow: 0 4px 9px -4px rgba(17,32,56,0.55); }
    .svc-bundles-col .svc-cat-block .svc-cat-title { color: var(--white); }
    .svc-bundles-col .svc-cat-icon { color: var(--white); }
    .svc-bundles-col .svc-cat-block .svc-cat-header { border-bottom-color: rgba(255,255,255,0.2); }
    .svc-bundles-col .svc-cat-block .svc-cat-mode { color: var(--navy); background: rgba(255,255,255,0.85); }
    .svc-bcard {
      display: flex; align-items: center; justify-content: space-between;
      flex-wrap: wrap;
      gap: 0.6rem; padding: 0.65rem 0.8rem;
      background: var(--tan); border-radius: 9px;
      border-left: 3px solid var(--text-light);
      position: relative; cursor: pointer;
    }
    .svc-bcard.open { border-radius: 9px 9px 0 0; }
    .svc-bcard-cta {
      width: 100%;
      font-size: 0.72rem; color: var(--text-light);
      text-align: right;
      padding-top: 0.28rem;
      border-top: 1px solid rgba(0,0,0,0.07);
      margin-top: 0.1rem;
      letter-spacing: 0.2px;
    }
    .svc-bcard.open .svc-bcard-cta { color: var(--electric); }
    .svc-bcard-detail {
      display: none;
      background: rgba(255,255,255,0.95);
      border-radius: 0 0 9px 9px;
      padding: 0.7rem 0.85rem;
      border: 1px solid rgba(33,150,243,0.18);
      border-top: none;
      font-size: 0.84rem; color: var(--text-mid); line-height: 1.58;
    }
    .svc-bcard-detail.open { display: block; }
    .svc-bubble.highlight {
      background: #DAE9F7;
      border-color: var(--electric-light);
      box-shadow: 0 3px 12px rgba(33,150,243,0.2);
    }
    .svc-bcard.highlight {
      background: #DAE9F7;
      box-shadow: 0 0 0 2px var(--electric-light), 0 4px 16px rgba(33,150,243,0.2) !important;
    }
    .svc-bcard.tier-bronze { border-left-color: #CD7F32; box-shadow: 0 4px 9px -4px rgba(205,127,50,0.6); }
    .svc-bcard.tier-silver { border-left-color: #9EA0A5; box-shadow: 0 4px 9px -4px rgba(158,160,165,0.65); }
    .svc-bcard.tier-gold   { border-left-color: var(--gold); box-shadow: 0 4px 9px -4px rgba(201,168,76,0.65); }
    .svc-bcard.tier-single { border-left-color: var(--electric); box-shadow: 0 4px 9px -4px rgba(33,150,243,0.55); }
    .svc-bcard-left { flex: 1; min-width: 0; }
    .svc-bcard-tier {
      display: flex; align-items: center; gap: 0.35rem;
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 0.8rem; color: var(--navy);
      letter-spacing: 0.5px; margin-bottom: 0.15rem;
    }
    .tier-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
    .tier-dot.bronze  { background: #CD7F32; }
    .tier-dot.silver  { background: #9EA0A5; }
    .tier-dot.gold-d  { background: var(--gold); }
    .svc-bcard-items { font-size: 0.78rem; color: var(--text-mid); line-height: 1.35; }
    .svc-bcard-save { font-size: 0.72rem; color: #10B981; margin-top: 0.15rem; font-weight: 600; }
    .svc-bcard-price {
      font-family: 'Rajdhani', sans-serif;
      font-weight: 700; font-size: 1rem; color: var(--gold);
      background: #112038; padding: 0.16rem 0.55rem; border-radius: 6px;
      white-space: nowrap; flex-shrink: 0;
    }
    .svc-bcard-price span { font-size: 0.72rem; font-weight: 400; color: rgba(201,168,76,0.8); }

    .svc-plat-card {
      background: linear-gradient(145deg, #0B1526, #112038);
      border-radius: 16px; padding: 1.4rem;
      box-shadow: 0 6px 28px rgba(11,21,38,0.4);
      border: 1.5px solid rgba(200,151,42,0.35);
      color: var(--white);
      cursor: pointer;
      transition: border-color 0.2s, box-shadow 0.2s;
    }
    .svc-plat-card:hover {
      border-color: rgba(200,151,42,0.65);
      box-shadow: 0 6px 32px rgba(11,21,38,0.5), 0 0 16px rgba(200,151,42,0.15);
    }
    .svc-plat-card.plat-open {
      border-color: var(--gold);
      box-shadow: 0 6px 32px rgba(11,21,38,0.5), 0 0 20px rgba(200,151,42,0.25);
    }
    .plat-expand-hint {
      font-size: 0.72rem; color: rgba(255,255,255,0.45);
      text-align: center; margin-top: 0.65rem;
      letter-spacing: 0.3px;
    }
    .svc-plat-badge {
      display: inline-block; background: var(--gold); color: var(--navy);
      font-family: 'Rajdhani', sans-serif; font-weight: 700;
      font-size: 0.75rem; letter-spacing: 1.5px;
      padding: 0.18rem 0.65rem; border-radius: 20px; margin-bottom: 0.65rem;
    }
    .svc-plat-title {
      font-family: 'Rajdhani', sans-serif;
      font-size: 1.45rem; font-weight: 700; color: var(--gold); margin-bottom: 0.2rem;
    }
    .svc-plat-subtitle { font-size: 0.83rem; color: rgba(255,255,255,0.5); margin-bottom: 1rem; }
    .svc-plat-row {
      background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08);
      border-radius: 10px; padding: 0.8rem 0.9rem; margin-bottom: 0.6rem;
    }
    .svc-plat-row-label {
      font-family: 'Rajdhani', sans-serif; font-size: 0.73rem; font-weight: 700;
      color: rgba(255,255,255,0.45); text-transform: uppercase;
      letter-spacing: 1px; margin-bottom: 0.2rem;
    }
    .svc-plat-row-price {
      font-family: 'Rajdhani', sans-serif; font-size: 1.6rem;
      font-weight: 700; color: var(--gold); line-height: 1; margin-bottom: 0.4rem;
    }
    .svc-plat-row-price span { font-size: 0.85rem; font-weight: 400; color: rgba(255,255,255,0.4); }
    .svc-plat-row-items { font-size: 0.79rem; color: rgba(255,255,255,0.62); line-height: 1.55; }
    .svc-plat-row-note { font-size: 0.73rem; color: #10B981; margin-top: 0.35rem; font-weight: 600; }
    .svc-plat-savings {
      background: rgba(200,151,42,0.1); border: 1px solid rgba(200,151,42,0.25);
      border-radius: 8px; padding: 0.6rem 0.75rem;
      font-size: 0.79rem; color: var(--gold-light); line-height: 1.5; text-align: center;
    }
    .svc-custom-card {
      display: flex; align-items: center; gap: 1.2rem; flex-wrap: wrap;
      background: var(--white); border-radius: 12px; padding: 1rem 1.5rem;
      box-shadow: 0 2px 12px var(--shadow);
      border: 1.5px dashed var(--tan-darker); margin-top: 1.5rem;
    }
    .svc-custom-icon { font-size: 1.5rem; flex-shrink: 0; }
    .svc-custom-text { flex: 1; min-width: 180px; }
    .svc-custom-title {
      font-family: 'Rajdhani', sans-serif; font-weight: 700;
      font-size: 1rem; color: var(--navy); margin-bottom: 0.1rem;
    }
    .svc-custom-desc { font-size: 0.82rem; color: var(--text-mid); line-height: 1.5; }
    .svc-custom-btn {
      display: inline-block;
      background: transparent; color: var(--navy);
      font-family: 'Rajdhani', sans-serif; font-size: 0.9rem; font-weight: 700;
      padding: 0.5rem 1.4rem; border: 1.5px solid var(--navy);
      border-radius: 8px; cursor: pointer; transition: all 0.2s; white-space: nowrap; flex-shrink: 0;
    }
    .svc-custom-btn:hover { background: var(--navy); color: var(--white); }

    /* ── Mobile bundle expand: service detail mini-cards ── */
    .bcard-services-grid {
      display: none;
      grid-template-columns: repeat(2, 1fr);
      gap: 0.55rem;
      margin-top: 0.7rem;
      padding-top: 0.65rem;
      border-top: 1px solid var(--tan-darker);
    }
    .bcard-services-grid.open { display: grid; }
    /* Odd last item (3-service bundles) spans full width */
    .bcard-services-grid .bcard-service-mini:last-child:nth-child(odd) {
      grid-column: 1 / -1;
    }
    .bcard-service-mini {
      background: #EEF5FB;
      border-radius: 8px;
      padding: 0.55rem 0.65rem;
      border: 1px solid #C8DFF0;
    }
    .bsm-header {
      display: flex; align-items: center; gap: 0.35rem;
      margin-bottom: 0.3rem;
    }
    .bsm-icon { font-size: 0.95rem; flex-shrink: 0; line-height: 1; color: var(--navy); display: inline-flex; align-items: center; }
    .bsm-icon svg { width: 16px; height: 16px; }
    .bsm-title {
      font-family: 'Rajdhani', sans-serif; font-weight: 700;
      font-size: 0.82rem; color: var(--navy); line-height: 1.2;
    }
    .bsm-desc {
      font-size: 0.71rem; color: var(--text-mid);
      line-height: 1.4; margin-bottom: 0.35rem; font-style: italic;
    }
    .bcard-services-grid .svc-detail-list li {
      font-size: 0.7rem; padding: 0.07rem 0 0.07rem 0.9rem;
    }

    /* Platinum row drop: hidden everywhere by default */
    .plat-row-cta { display: none; }
    .plat-row-drop { display: none; list-style: none; }

    @media (max-width: 820px) {
      .svc-tabs { display: flex; }
      .svc-tab-hint { display: block; }
      .svc-col-headers { display: none; }
      .svc-layout { display: block; }
      .svc-individual-col, .svc-bundles-col, .svc-platinum-col { display: none; }
      .svc-individual-col.tab-active,
      .svc-bundles-col.tab-active,
      .svc-platinum-col.tab-active { display: flex; flex-direction: column; gap: 1.2rem; }
      .svc-individual-col > .svc-cat-block::after,
      .svc-bundles-col > .svc-cat-block::after { display: none; }
      .svc-plat-card { position: static; }

      /* Platinum rows: service lists always visible on mobile */
      .svc-plat-row-items { display: none; }
      .plat-row-drop {
        display: block;
        margin-top: 0.5rem;
        padding-top: 0.45rem;
        border-top: 1px solid rgba(255,255,255,0.1);
      }
      .plat-row-drop li {
        font-size: 0.79rem; color: rgba(255,255,255,0.82);
        padding: 0.2rem 0 0.2rem 1rem; position: relative; line-height: 1.4;
      }
      .plat-row-drop li::before {
        content: '▸'; position: absolute; left: 0;
        color: var(--gold); font-size: 0.72rem; top: 4px;
      }
    }
