body { margin: 0; background: #1A1D23; color:#F5F6F8; font-family: Inter, sans-serif; }
* { box-sizing: border-box; }
::selection { background: #2563EB; color: #F5F6F8; }
@keyframes floatSlow { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-18px); } }
@keyframes floatSlow2 { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(14px); } }
@keyframes ringPulse { 0% { box-shadow: 0 0 0 0 rgba(37,99,235,0.55); } 100% { box-shadow: 0 0 0 26px rgba(37,99,235,0); } }
@keyframes spinSlow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
a { color: #3b82f6; text-decoration: none; }
a:hover { color: #93b4f7; }
.nav-link { cursor:pointer; font-size:15px; color:#9CA3AF; font-weight:500; background:none; border:none; font-family:inherit; text-decoration:none; }
.nav-link.active { color:#F5F6F8; font-weight:700; }
.cta-btn:hover { background:#1d4ed8; }
.outline-btn:hover { border-color:#3b82f6 !important; color:#3b82f6 !important; }
@media (max-width: 880px) {
  .desktop-nav { display: none !important; }
  .mobile-nav-btn { display: flex !important; }
  .pitch-grid, .method-grid, .nfc-grid, .about-grid, .honesty-grid, .step-row, .core-plan, .contact-grid, .form-row, .honesty-cols { grid-template-columns: 1fr !important; }
  .method-grid > div { border-right:none !important; border-bottom:1px solid rgba(255,255,255,0.08); padding:28px 0 !important; }
}
@media (max-width: 780px) { .footer-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) { .addon-row { flex-direction:column; align-items:flex-start !important; gap:6px !important; } }

/* ─── Scroll reveal ─────────────────────────── */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.6s ease, transform 0.6s ease; will-change: opacity, transform; }
.reveal.in-view { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; }
}

/* ─── Card hover polish ──────────────────────── */
.method-card, .honesty-card, .addon-row, .step-row, .core-plan {
  transition: border-color 0.3s ease, transform 0.25s ease, box-shadow 0.3s ease, background 0.2s ease;
}
.method-card:hover { border-color: rgba(37,99,235,0.4) !important; }
.honesty-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0,0,0,0.25); }
.addon-row:hover { background: rgba(37,99,235,0.05); }
.core-plan:hover { box-shadow: 0 20px 50px rgba(37,99,235,0.14); }
.step-row:hover { background: rgba(37,99,235,0.03); }

/* ─── FAQ accordion (native details/summary, crawlable without JS) ─── */
.faq-item { background:#14161b; }
.faq-item summary { list-style:none; padding:26px 28px; display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; font-family:'League Spartan',sans-serif; font-weight:700; font-size:17px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; font-size:22px; color:#2563EB; flex-shrink:0; transition:transform 0.25s; }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item p { margin:0; padding:0 28px 28px; font-size:15px; line-height:1.7; color:#C7CBD3; }
.faq-item { transition: transform 0.2s ease, background 0.2s ease; }
.faq-item:hover { transform: translateX(3px); }

/* ─── Nav services dropdown ─────────────────── */
.nav-dropdown { position: relative; }
.nav-dropdown-trigger { display:flex; align-items:center; gap:5px; cursor:pointer; font-size:15px; color:#9CA3AF; font-weight:500; }
.nav-dropdown-trigger.active { color:#F5F6F8; font-weight:700; }
.nav-dropdown:hover .nav-dropdown-trigger { color:#F5F6F8; }
.nav-dropdown-trigger::after { content:''; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform 0.2s; }
.nav-dropdown-panel { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px); background:#14161b; border:1px solid rgba(255,255,255,0.08); border-radius:6px; padding:8px; min-width:260px; box-shadow:0 16px 40px rgba(0,0,0,0.4); opacity:0; visibility:hidden; transition:opacity 0.2s, transform 0.2s, visibility 0.2s; }
.nav-dropdown:hover .nav-dropdown-panel { opacity:1; visibility:visible; transform:translateX(-50%) translateY(2px); }
.nav-dropdown-panel a { display:block; padding:10px 14px; border-radius:4px; font-size:14px; color:#C7CBD3; }
.nav-dropdown-panel a:hover { background:#1A1D23; color:#F5F6F8; }
.mobile-menu-label { font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:#6b7280; margin-top:8px; }
.mobile-submenu { display:flex; flex-direction:column; gap:16px; padding-left:12px; }
.mobile-submenu a.mnav-link { font-size:18px; }

/* ─── Service page components ───────────────── */
.service-hero-badge { font-size:13px; text-transform:uppercase; letter-spacing:2px; color:#3b82f6; font-weight:700; margin-bottom:16px; }
.problem-solution-real { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:56px; }
.problem-solution-real h3 { font-family:'League Spartan',sans-serif; font-size:20px; font-weight:700; margin:0 0 16px; }
.problem-solution-real p, .problem-solution-real li { font-size:16px; line-height:1.75; color:#C7CBD3; }
.problem-solution-real ul { margin:0; padding-left:18px; line-height:2; }
.plan-callout-real { margin-top:64px; background:#14161b; border:1px solid rgba(37,99,235,0.3); border-radius:8px; padding:clamp(24px,5vw,44px); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.related-services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:32px; }
.related-service-card { background:#14161b; border:1px solid rgba(255,255,255,0.08); border-radius:6px; padding:22px; text-decoration:none; display:flex; flex-direction:column; gap:8px; transition:border-color 0.3s, transform 0.25s; }
.related-service-card:hover { border-color:rgba(37,99,235,0.4); transform:translateY(-3px); }
.related-service-card .name { font-family:'League Spartan',sans-serif; font-size:15px; font-weight:700; color:#F5F6F8; }
.related-service-card .desc { font-size:13px; color:#9CA3AF; line-height:1.55; }

@media (max-width: 880px) {
  .problem-solution-real, .related-services-grid { grid-template-columns:1fr !important; }
  .plan-callout-real { flex-direction:column; align-items:flex-start; text-align:left; }
}
