/* =====================================================
   Fi-Fy CLONE — HOMEPAGE STYLES
   ===================================================== */

/* ══════════════════════════════════════
   HERO SECTION — matched to real Fi-Fy.com
══════════════════════════════════════ */
.hero {
  background: var(--navy-900);
  padding: var(--space-20) 0 0;
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}

/* Subtle radial glow */
.hero::before {
  content: '';
  position: absolute;
  background: radial-gradient(ellipse at center,
    rgba(93,95,239,0.28) 0%,
    rgba(93,95,239,0.08) 45%,
    transparent 70%);
  pointer-events: none;
}

/* Stars/noise texture */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,0.18) 0%, transparent 100%),
    radial-gradient(1px 1px at 70% 15%, rgba(255,255,255,0.12) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 45% 60%, rgba(255,255,255,0.10) 0%, transparent 100%),
    radial-gradient(1px 1px at 85% 45%, rgba(255,255,255,0.08) 0%, transparent 100%),
    radial-gradient(1px 1px at 10% 70%, rgba(255,255,255,0.14) 0%, transparent 100%);
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.hero-badge {
  margin-bottom: var(--space-6);
}

.hero-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: rgba(93,95,239,0.18);
  border: 1px solid rgba(93,95,239,0.35);
  color: #c0c1fc;
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  padding: 6px 14px;
  border-radius: var(--radius-full);
}
.hero-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--purple-500);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.6; transform: scale(0.85); }
}

.hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 6vw, 4.2rem);
  font-weight: var(--weight-extrabold);
  color: var(--white);
  line-height: var(--leading-tight);
  max-width: 820px;
  margin-bottom: var(--space-6);
  letter-spacing: -0.025em;
}
.hero-title .highlight {
  background: linear-gradient(135deg, #a8a9f9 0%, #7c7ef5 50%, #5D5FEF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-subtitle {
  font-size: var(--text-xl);
  color: rgba(255,255,255,0.65);
  max-width: 600px;
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-10);
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: var(--space-12);
}

/* Small trust note under CTAs */
.hero-trust {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.45);
}
.hero-trust-dot { 
  width: 4px; height: 4px; 
  border-radius: 50%; 
  background: rgba(255,255,255,0.3); 
}

/* Metrics belt inside hero */
.hero-metrics {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--space-8);
  padding-top: var(--space-8);
  border-top: 1px solid rgba(255,255,255,0.08);
  width: 100%;
  max-width: 680px;
}
.hero-metric {
  text-align: center;
}
.hero-metric-number {
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  font-weight: var(--weight-bold);
  color: var(--white);
  line-height: 1;
  margin-bottom: 4px;
}
.hero-metric-label {
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.50);
}

/* ══════════════════════════════════════
   FUNDRAISING TOOL SELECTOR
══════════════════════════════════════ */
.tools-section {
  background: var(--white);
  padding: var(--space-20) 0;
}
.tools-header {
  text-align: center;
  margin-bottom: var(--space-12);
}
.tools-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: var(--space-3);
}
.tool-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-3);
  border: 1.5px solid var(--slate-200);
  border-radius: var(--radius-lg);
  cursor: pointer;
  text-decoration: none;
  background: var(--white);
  transition: all var(--transition-base);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.tool-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--purple-50), transparent);
  opacity: 0;
  transition: opacity var(--transition-base);
}
.tool-card:hover,
.tool-card.active {
  border-color: var(--purple-600);
  box-shadow: 0 0 0 3px rgba(93,95,239,0.10);
  transform: translateY(-3px);
}
.tool-card:hover::before,
.tool-card.active::before {
  opacity: 1;
}
.tool-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  background: var(--purple-100);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: background var(--transition-base), transform var(--transition-base);
  position: relative;
  z-index: 1;
}
.tool-card:hover .tool-icon,
.tool-card.active .tool-icon {
  background: var(--purple-600);
  transform: scale(1.08);
}
.tool-name {
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  color: var(--slate-700);
  line-height: var(--leading-tight);
  position: relative;
  z-index: 1;
}
.tool-card:hover .tool-name,
.tool-card.active .tool-name {
  color: var(--purple-700);
}

/* Tool detail panel */
.tool-detail {
  display: none;
  margin-top: var(--space-8);
  padding: var(--space-8);
  background: var(--slate-50);
  border-radius: var(--radius-xl);
  border: 1px solid var(--slate-200);
}
.tool-detail.active { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); align-items: center; }
.tool-detail-title { font-size: var(--text-3xl); font-weight: var(--weight-bold); color: var(--slate-900); margin-bottom: var(--space-3); }
.tool-detail-desc { font-size: var(--text-lg); color: var(--slate-600); line-height: var(--leading-relaxed); margin-bottom: var(--space-6); }
.tool-detail-features { display: flex; flex-direction: column; gap: var(--space-2); margin-bottom: var(--space-6); }
.tool-feat-item { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); color: var(--slate-700); }
.tool-feat-check { width: 16px; height: 16px; background: var(--green-500); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tool-detail-preview { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-xl); }
.tool-detail-preview img { width: 100%; display: block; }

/* ══════════════════════════════════════
   ZERO FEES CTA BANNER
══════════════════════════════════════ */
.zero-fees-banner {
  background: linear-gradient(135deg, var(--navy-900) 0%, #0d1160 100%);
  padding: var(--space-16) 0;
  position: relative;
  overflow: hidden;
}
.zero-fees-banner::before {
  content: '';
  position: absolute;
  right: -100px;
  top: -100px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(93,95,239,0.25) 0%, transparent 65%);
  pointer-events: none;
}
.zero-fees-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-8);
}
.zero-fees-title {
  font-family: var(--font-display);
  font-size: var(--text-4xl);
  font-weight: var(--weight-extrabold);
  color: var(--white);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-2);
}
.zero-fees-title .amount {
  color: #7c7ef5;
}
.zero-fees-subtitle {
  font-size: var(--text-lg);
  color: rgba(255,255,255,0.60);
}
.zero-fees-actions { flex-shrink: 0; display: flex; gap: var(--space-3); }

/* ══════════════════════════════════════
   FEATURE SECTIONS (alternating)
══════════════════════════════════════ */
.feature-section {
  padding: var(--space-20) 0;
}
.feature-section.bg-subtle { background: var(--slate-50); }

.feature-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: center;
}
.feature-row.reverse { direction: rtl; }
.feature-row.reverse > * { direction: ltr; }

.feature-visual {
  position: relative;
}
.feature-screenshot {
  width: 100%;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-2xl);
  border: 1px solid var(--slate-200);
}
/* Floating badge on screenshot */
.feature-float-badge {
  position: absolute;
  bottom: -16px;
  left: -16px;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  padding: var(--space-3) var(--space-4);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  border: 1px solid var(--slate-200);
}
.feature-float-badge strong {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  color: var(--slate-900);
}
.feature-float-badge span {
  font-size: var(--text-sm);
  color: var(--slate-500);
}

/* ── HERO TITLE — force correct color overrides ── */
.hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 6.5vw, 5rem) !important;
  font-weight: var(--weight-black);
  color: var(--white) !important;
  line-height: 1.15 !important;
  max-width: 820px;
  margin-bottom: var(--space-4);
  letter-spacing: -0.03em;
}

/* Teal "zero fees." text — MUST override any inherited color */
.hero-teal,
.hero-title .hero-teal {
  color: #2DD4C0 !important;
  -webkit-text-fill-color: #2DD4C0 !important;
  background: none !important;
}

/* Old highlight class compatibility */
.hero-title .highlight {
  color: #2DD4C0 !important;
  -webkit-text-fill-color: #2DD4C0 !important;
  background: none !important;
}

.feature-content {}
.feature-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--purple-600);
  margin-bottom: var(--space-3);
}
.feature-title {
  font-family: var(--font-display);
  font-size: var(--text-4xl);
  font-weight: var(--weight-bold);
  color: var(--slate-900);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
  letter-spacing: -0.02em;
}
.feature-desc {
  font-size: var(--text-lg);
  color: var(--slate-600);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-6);
}
.feature-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-8);
}
.feature-list-item {
  display: flex;
  gap: var(--space-3);
}
.feature-list-icon {
  width: 22px;
  height: 22px;
  border-radius: var(--radius-full);
  background: var(--green-100);
  color: #16A34A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.feature-list-text {}
.feature-list-title { font-weight: var(--weight-semibold); color: var(--slate-900); margin-bottom: 2px; font-size: var(--text-base); }
.feature-list-desc  { font-size: var(--text-sm); color: var(--slate-500); line-height: var(--leading-relaxed); }

/* ══════════════════════════════════════
   SOCIAL PROOF / TRUST SECTION
══════════════════════════════════════ */
.trust-section {
  background: var(--slate-50);
  padding: var(--space-20) 0;
}
.trust-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-10);
  flex-wrap: wrap;
  margin-top: var(--space-8);
  opacity: 0.55;
  filter: grayscale(1);
}
.trust-logo-item {
  font-size: var(--text-lg);
  font-weight: var(--weight-bold);
  color: var(--slate-700);
  letter-spacing: -0.01em;
}

/* Testimonial cards */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
  margin-top: var(--space-12);
}
.testimonial-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--slate-200);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition-base), transform var(--transition-base);
}
.testimonial-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
}
.testimonial-stars {
  display: flex;
  gap: 2px;
  margin-bottom: var(--space-4);
  color: #F59E0B;
  font-size: 16px;
}
.testimonial-quote {
  font-size: var(--text-base);
  color: var(--slate-700);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-5);
  font-style: italic;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.testimonial-avatar {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  object-fit: cover;
}
.testimonial-avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  background: var(--purple-100);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--weight-semibold);
  color: var(--purple-600);
  font-size: var(--text-sm);
  flex-shrink: 0;
}
.testimonial-name {
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  color: var(--slate-900);
}
.testimonial-org {
  font-size: var(--text-xs);
  color: var(--slate-500);
  margin-top: 1px;
}

/* ══════════════════════════════════════
   HOW Fi-Fy WORKS / MONETIZATION
══════════════════════════════════════ */
.how-section {
  padding: var(--space-20) 0;
}
.how-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-8);
  margin-top: var(--space-12);
  position: relative;
}
/* Connector between steps */
.how-steps::before {
  content: '';
  position: absolute;
  top: 28px;
  left: calc(33% + 16px);
  right: calc(33% + 16px);
  height: 1.5px;
  background: linear-gradient(90deg, var(--purple-600), var(--purple-600));
  background-size: 8px 1.5px;
  z-index: 0;
}
.how-step {
  text-align: center;
  position: relative;
  z-index: 1;
  padding: var(--space-6);
}
.how-step-number {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-full);
  background: var(--purple-600);
  color: var(--white);
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: var(--text-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-4);
  box-shadow: 0 4px 16px rgba(93,95,239,0.35);
}
.how-step-title {
  font-size: var(--text-xl);
  font-weight: var(--weight-bold);
  color: var(--slate-900);
  margin-bottom: var(--space-2);
}
.how-step-desc {
  font-size: var(--text-base);
  color: var(--slate-600);
  line-height: var(--leading-relaxed);
}

/* ══════════════════════════════════════
   FAQ / ACCORDION SECTION
══════════════════════════════════════ */
.faq-section {
  padding: var(--space-20) 0;
  background: var(--slate-50);
}
.faq-layout {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: var(--space-16);
  align-items: start;
}
.faq-sticky {
  position: sticky;
  top: calc(var(--header-height) + var(--space-6));
}
.faq-side-title {
  font-family: var(--font-display);
  font-size: var(--text-4xl);
  font-weight: var(--weight-bold);
  color: var(--slate-900);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
}
.faq-side-desc {
  font-size: var(--text-lg);
  color: var(--slate-600);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-6);
}

/* ══════════════════════════════════════
   FINAL CTA SECTION
══════════════════════════════════════ */
.cta-section {
  background: var(--navy-900);
  padding: var(--space-20) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center bottom,
    rgba(93,95,239,0.30) 0%,
    transparent 60%);
  pointer-events: none;
}
.cta-inner { position: relative; z-index: 1; }
.cta-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: var(--weight-extrabold);
  color: var(--white);
  line-height: var(--leading-tight);
  margin-bottom: var(--space-4);
  letter-spacing: -0.025em;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.cta-subtitle {
  font-size: var(--text-lg);
  color: rgba(255,255,255,0.60);
  margin-bottom: var(--space-8);
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
}
.cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.cta-fine {
  margin-top: var(--space-5);
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.35);
}

/* ══════════════════════════════════════
   COMPARISON TABLE STRIP
══════════════════════════════════════ */
.compare-strip {
  padding: var(--space-20) 0;
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--radius-xl);
  overflow: hidden;
  border: 1px solid var(--slate-200);
  box-shadow: var(--shadow-lg);
}
.compare-table th {
  background: var(--slate-900);
  color: var(--white);
  padding: var(--space-4) var(--space-6);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  text-align: center;
}
.compare-table th:first-child { text-align: left; }
.compare-table th.zeffy-col {
  background: var(--purple-600);
}
.compare-table td {
  padding: var(--space-4) var(--space-6);
  font-size: var(--text-sm);
  color: var(--slate-700);
  border-bottom: 1px solid var(--slate-100);
  text-align: center;
}
.compare-table td:first-child { text-align: left; font-weight: var(--weight-medium); color: var(--slate-900); }
.compare-table tr:last-child td { border-bottom: none; }
.compare-table tr:nth-child(even) td { background: var(--slate-50); }
.compare-table .check { color: var(--green-500); font-size: 18px; }
.compare-table .cross { color: #EF4444; font-size: 18px; }
.compare-table .zeffy-cell { font-weight: var(--weight-semibold); color: var(--purple-700); background: var(--purple-50) !important; }

/* ══════════════════════════════════════
   RESPONSIVE — HOMEPAGE
══════════════════════════════════════ */
@media (max-width: 1024px) {
  .tools-grid { grid-template-columns: repeat(4, 1fr); }
  .feature-row, .feature-row.reverse { grid-template-columns: 1fr; direction: ltr; }
  .faq-layout { grid-template-columns: 1fr; }
  .faq-sticky { position: static; }
  .how-steps { grid-template-columns: 1fr; }
  .testimonials-grid { grid-template-columns: 1fr 1fr; }
  .zero-fees-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 768px) {
  .hero { padding: var(--space-16) 0; }
  .hero-metrics { gap: var(--space-8); }
  .tools-grid { grid-template-columns: repeat(3, 1fr); }
  .testimonials-grid { grid-template-columns: 1fr; }
  .tool-detail.active { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .tools-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-title { font-size: var(--text-4xl); }
}



/* ======== HERO - match real Fi-Fy ======== */
.hero { background: #0E1064; padding-top: var(--space-20); padding-bottom: 0; position: relative; overflow: hidden; min-height: auto; }
.hero-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding-bottom: 56px; }
.hero-wave { position: relative; z-index: 2; line-height: 0; margin-top: -2px; }
.hero-wave svg { display: block; width: 100%; height: 80px; }
.hero-btn-primary { display: inline-flex; align-items: center; justify-content: center; padding: 14px 28px; background: #5B5FC7; color: #fff; border-radius: 10px; font-size: 1rem; font-weight: 600; border: none; cursor: pointer; text-decoration: none; transition: background 0.15s, transform 0.15s; white-space: nowrap; }
.hero-btn-primary:hover { background: #4A4DAD; transform: translateY(-2px); }
.hero-actions { margin-bottom: 48px; }
.hero-visuals { display: flex; align-items: flex-end; justify-content: center; gap: 0; width: 100%; max-width: 960px; margin: 0 auto; position: relative; }
.hero-mockup-main { flex: 1.4; position: relative; z-index: 1; transform: scale(0.97) translateX(20px); transform-origin: bottom right; pointer-events: none; }
.hero-mock-blur-wrap { background: #E8FBF8; border-radius: 16px 16px 0 0; overflow: hidden; box-shadow: 0 -8px 40px rgba(0,0,0,0.3); }
.hero-mock-inner { display: flex; min-height: 280px; }
.hero-mock-photo-area { width: 45%; flex-shrink: 0; overflow: hidden; background: #c8efea; transition: opacity 0.2s ease; }
.hero-mock-photo-area img { width: 100%; height: 100%; object-fit: cover; }
.hero-mock-form-area { flex: 1; padding: 20px 16px; background: white; display: flex; flex-direction: column; gap: 8px; }
.hero-mock-org-row { display: flex; align-items: center; gap: 6px; font-size: 10px; color: #64748B; }
.hero-mock-org-dot { width: 8px; height: 8px; border-radius: 50%; background: #2DD4BF; flex-shrink: 0; }
.hero-mock-form-title { font-size: 13px; font-weight: 700; color: #1E293B; }
.hero-mock-tabs { display: flex; gap: 4px; margin-top: 2px; }
.hero-mock-tab { padding: 4px 10px; border-radius: 6px; border: 1px solid #E2E8F0; font-size: 10px; font-weight: 600; color: #64748B; background: white; cursor: pointer; }
.hero-mock-tab.active { background: #2DD4BF; color: white; border-color: #2DD4BF; }
.hero-mock-amts { display: flex; gap: 4px; }
.hero-mock-amt-btn { flex: 1; padding: 5px 0; border-radius: 6px; border: 1px solid #E2E8F0; font-size: 11px; font-weight: 700; color: #334155; background: white; cursor: pointer; }
.hero-mock-amt-btn.active { background: #2DD4BF; color: white; border-color: #2DD4BF; }
.hero-mock-go-btn { background: #2DD4BF; color: white; border: none; border-radius: 8px; padding: 8px; font-size: 11px; font-weight: 700; cursor: pointer; margin-top: auto; }
.hero-mock-stats { background: white; padding: 16px 20px; display: flex; flex-direction: column; gap: 4px; border-top: 1px solid #F1F5F9; }
.hero-mock-stat { display: flex; align-items: baseline; gap: 8px; }
.hero-mock-stat-val { font-size: 18px; font-weight: 800; color: #1E293B; }
.hero-mock-stat-label { font-size: 10px; color: #94A3B8; text-transform: uppercase; letter-spacing: 0.05em; }
.hero-tool-picker { flex: 1; background: white; border-radius: 12px; padding: 20px; box-shadow: 0 10px 50px rgba(0,0,0,0.25); position: relative; z-index: 3; min-width: 260px; max-width: 310px; }
.hero-tool-title { font-size: 14px; font-weight: 700; color: #1E293B; margin-bottom: 12px; text-align: center; }
.hero-tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 6px; }
.hero-tool-grid-last { display: flex; justify-content: center; gap: 6px; margin-bottom: 0; }
.hero-tool-grid-last .hero-tool-item { width: calc(33.333% - 3px); }
.hero-tool-item { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 5px; padding: 10px 4px 8px; border: 1px solid #E2E8F0; border-radius: 8px; font-size: 9px; font-weight: 500; color: #94A3B8; cursor: pointer; text-align: center; line-height: 1.2; transition: all 0.15s ease; min-height: 68px; }
.hero-tool-item .ht-icon { width: 24px; height: 24px; stroke: #CBD5E1; fill: none; flex-shrink: 0; transition: stroke 0.15s; }
.hero-tool-item span { font-size: 9px; }
.hero-tool-item:hover,
.hero-tool-item.active { border-color: #2DD4BF; color: #1E293B; }
.hero-tool-item:hover .ht-icon,
.hero-tool-item.active .ht-icon { stroke: #2DD4BF; }
.hero-tool-cta-btn { width: 100%; margin-top: 12px; background: #2DD4BF; color: white; border: none; border-radius: 100px; padding: 13px 16px; font-size: 13px; font-weight: 700; cursor: pointer; transition: transform 0.15s, box-shadow 0.15s; display: flex; align-items: center; justify-content: center; gap: 6px; }
.hero-tool-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(45,212,191,0.35); }
.hero-handnote { display: flex; align-items: flex-start; gap: 6px; position: absolute; top: 80px; right: -60px; opacity: .8; transform: rotate(4deg); pointer-events: none; z-index: 2; }
.hero-handnote-text { font-size: .72rem; font-weight: 500; color: rgba(255,255,255,.8); line-height: 1.7; text-align: left; font-style: italic; }
@media (max-width: 768px) {
  .hero-visuals { flex-direction: column; align-items: center; gap: 16px; }
  .hero-mockup-main { max-width: 100%; filter: none; transform: none; }
  .hero-tool-picker { max-width: 100%; min-width: unset; }
  .hero-handnote { display: none; }
}
