/* ── Sticky Quick Nav ── */
.quick-nav { background: var(--white); border-bottom: 1px solid var(--gray-200); position: sticky; top: 64px; z-index: 99; box-shadow: var(--shadow-sm); }
.quick-nav-inner { display: flex; gap: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.quick-nav-inner::-webkit-scrollbar { display: none; }
.quick-nav-inner a { padding: 16px 22px; font-size: .84rem; font-weight: 600; color: var(--gray-500); white-space: nowrap; border-bottom: 3px solid transparent; transition: all var(--transition); flex-shrink: 0; }
.quick-nav-inner a:hover, .quick-nav-inner a.qn-active { color: var(--blue); border-bottom-color: var(--blue); }

/* ── Service Section ── */
.svc-section { padding: 80px 0; }
.svc-section:nth-child(odd) { background: var(--offwhite); }
.svc-section:nth-child(even) { background: var(--white); }
.svc-header { margin-bottom: 50px; }
.svc-header .svc-icon { width: 60px; height: 60px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; margin-bottom: 18px; }
.svc-header p { font-size: 1rem; color: var(--gray-500); max-width: 700px; line-height: 1.75; }

/* ── Feature Grid ── */
.svc-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.svc-feature-grid.reverse > :first-child { order: 2; }
.svc-feature-grid.reverse > :last-child { order: 1; }
.feature-list { list-style: none; display: flex; flex-direction: column; gap: 16px; margin: 24px 0 32px; }
.feature-list li { display: flex; align-items: flex-start; gap: 12px; font-size: .93rem; color: var(--gray-700); line-height: 1.65; }
.feature-list .check { width: 26px; height: 26px; min-width: 26px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .82rem; margin-top: 2px; }
.feature-visual { background: var(--gray-100); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 32px; }

/* ── Package Cards ── */
.pkg-grid { display: grid; gap: 24px; }
.pkg-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.pkg-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.pkg-grid.cols-5 { grid-template-columns: repeat(5, 1fr); }
.pkg-card { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 32px 28px; transition: all var(--transition); position: relative; display: flex; flex-direction: column; }
.pkg-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: transparent; }
.pkg-card.featured { border: 2px solid var(--blue); box-shadow: var(--shadow-md); }
.pkg-card.featured::before { content: 'Popular'; position: absolute; top: -1px; right: 24px; background: var(--blue); color: var(--white); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 4px 14px; border-radius: 0 0 8px 8px; }
.pkg-num { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 800; font-size: .95rem; margin-bottom: 16px; }
.pkg-card h3 { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
.pkg-ideal { font-size: .82rem; font-weight: 600; color: var(--blue); margin-bottom: 14px; }
.pkg-card > p { font-size: .88rem; color: var(--gray-500); line-height: 1.7; margin-bottom: 18px; }
.pkg-includes { list-style: none; flex: 1; display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.pkg-includes li { font-size: .85rem; color: var(--gray-700); line-height: 1.6; padding-left: 22px; position: relative; }
.pkg-includes li::before { content: '✓'; position: absolute; left: 0; top: 0; font-weight: 700; font-size: .8rem; }
.pkg-card .btn { width: 100%; justify-content: center; margin-top: auto; }

/* ── Color Coding ── */
.pkg-num.c-blue { background: var(--ice); color: var(--blue); }
.pkg-num.c-green { background: var(--green-bg); color: var(--green); }
.pkg-num.c-orange { background: var(--orange-bg); color: var(--orange); }
.pkg-num.c-purple { background: var(--purple-bg); color: var(--purple); }
.pkg-num.c-red { background: var(--red-bg); color: var(--red); }
.pkg-num.c-slate { background: var(--slate-bg); color: var(--slate); }
.pkg-includes .c-blue::before { color: var(--blue); }
.pkg-includes .c-green::before { color: var(--green); }
.pkg-includes .c-purple::before { color: var(--purple); }
.pkg-includes .c-red::before { color: var(--red); }
.pkg-includes .c-slate::before { color: var(--slate); }

/* ── Gateway Mockup ── */
.gw-mockup { background: var(--white); border-radius: 10px; padding: 20px; margin-bottom: 18px; border: 1px solid var(--gray-200); }
.gw-bar { display: flex; gap: 6px; margin-bottom: 14px; }
.gw-bar span { width: 10px; height: 10px; border-radius: 50%; }
.gw-bar span:nth-child(1) { background: #FF5F56; }
.gw-bar span:nth-child(2) { background: #FFBD2E; }
.gw-bar span:nth-child(3) { background: #27C93F; }
.gw-listings { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.gw-listing { background: var(--gray-100); border-radius: 8px; height: 70px; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 8px; font-size: .68rem; color: var(--gray-500); }
.gw-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.gw-stat { text-align: center; padding: 14px 8px; background: var(--white); border-radius: 10px; border: 1px solid var(--gray-200); }
.gw-stat strong { display: block; font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--blue); }
.gw-stat span { font-size: .7rem; color: var(--gray-500); }

/* ── Cyber Card Visual ── */
.cyber-mockup { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.cyber-card-visual { width: 280px; height: 170px; border-radius: 16px; background: linear-gradient(135deg, var(--navy), var(--navy-mid)); border: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; justify-content: space-between; padding: 22px; box-shadow: 0 12px 40px rgba(11,29,58,.3); position: relative; overflow: hidden; }
.cyber-card-visual::before { content: ''; position: absolute; top: -30px; right: -30px; width: 100px; height: 100px; border-radius: 50%; background: rgba(0,191,166,.15); }
.cc-top { display: flex; justify-content: space-between; align-items: flex-start; }
.cc-nfc { font-size: .65rem; color: var(--accent); font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; background: rgba(0,191,166,.15); padding: 3px 10px; border-radius: 4px; }
.cc-qr { width: 36px; height: 36px; background: var(--white); border-radius: 4px; display: flex; align-items: center; justify-content: center; font-size: .5rem; color: var(--navy); font-weight: 700; }
.cc-bottom { color: var(--white); font-size: .78rem; font-weight: 600; }
.cc-bottom span { display: block; font-size: .65rem; color: rgba(255,255,255,.5); font-weight: 400; margin-top: 2px; }
.cyber-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; }
.cyber-feat { text-align: center; padding: 12px 8px; background: var(--white); border: 1px solid var(--gray-200); border-radius: 10px; }
.cyber-feat strong { display: block; font-size: .78rem; color: var(--navy); margin-bottom: 2px; }
.cyber-feat span { font-size: .7rem; color: var(--gray-500); }

/* ── Partner Banner ── */
.partner-banner { background: linear-gradient(135deg, var(--ice), var(--ice-mid)); border: 1px solid var(--blue-bright); border-radius: var(--radius-lg); padding: 32px 36px; display: flex; align-items: center; gap: 24px; margin-bottom: 40px; }
.partner-banner .pb-icon { width: 56px; height: 56px; min-width: 56px; border-radius: 14px; background: var(--white); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; box-shadow: var(--shadow-sm); }
.partner-banner h3 { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.partner-banner p { font-size: .88rem; color: var(--gray-500); line-height: 1.6; }
.partner-banner a { color: var(--blue); font-weight: 600; font-size: .88rem; margin-left: auto; white-space: nowrap; padding: 10px 22px; border-radius: 8px; border: 1.5px solid var(--blue); transition: all var(--transition); }
.partner-banner a:hover { background: var(--blue); color: var(--white); }

@media (max-width: 1024px) {
  .svc-feature-grid { grid-template-columns: 1fr; }
  .svc-feature-grid.reverse > :first-child { order: 0; }
  .svc-feature-grid.reverse > :last-child { order: 0; }
  .pkg-grid.cols-5 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .svc-section { padding: 60px 0; }
  .quick-nav { top: 62px; }
  .quick-nav-inner a { padding: 14px 16px; font-size: .8rem; }
  .pkg-grid.cols-2, .pkg-grid.cols-3, .pkg-grid.cols-5 { grid-template-columns: 1fr; }
  .partner-banner { flex-direction: column; text-align: center; }
  .partner-banner a { margin-left: 0; }
  .cyber-features { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .gw-listings { grid-template-columns: repeat(2, 1fr); }
  .gw-stats { grid-template-columns: 1fr; }
  .cyber-card-visual { width: 240px; height: 150px; }
}
