/* Shared styles for top-level marketing pages (extends src/styles.css) */

.hero-grid {
  position: absolute; inset: 0; pointer-events: none; opacity: .06;
  background-image:
    linear-gradient(#0E0E10 1px, transparent 1px),
    linear-gradient(90deg, #0E0E10 1px, transparent 1px);
  background-size: 52px 52px;
}

.crumb a { transition: color .25s; }
.crumb a:hover { color: #0E0E10; }

/* Generic content links */
.prose-link { border-bottom: 2px solid #A8D94A; padding-bottom: 1px; transition: background-color .25s, color .25s; }
.prose-link:hover { background: #A8D94A; color: #0E0E10; }

/* Card hover (deep-dark) */
.flip-card {
  transition: background-color .35s, color .35s, border-color .35s, transform .35s;
}
.flip-card:hover {
  background: #0E0E10; color: #F5F3EE; border-color: #0E0E10; transform: translateY(-3px);
}
.flip-card:hover .flip-num { color: #A8D94A; }
.flip-num { transition: color .3s; }
.flip-card:hover .flip-arrow { color: #A8D94A; transform: translate(4px,-4px); }
.flip-arrow { transition: transform .3s, color .3s; }

/* Tag pill */
.tag-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .35rem .8rem; border-radius: 999px;
  border: 1px solid rgba(14,14,16,.15);
  font-size: 12.5px; color: rgba(14,14,16,.75);
}

/* Faq */
.faq-item summary { cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item .chev { transition: transform .3s ease; }
.faq-item[open] .chev { transform: rotate(45deg); }
.faq-item[open] summary { color: #0E0E10; }
.faq-item { border-bottom: 1px solid rgba(14,14,16,.1); }

/* Job row */
.job-row { transition: background-color .3s, padding-left .3s, color .3s; }
.job-row:hover { background: #0E0E10; color: #F5F3EE; padding-left: 1.25rem; }
.job-row:hover .job-arrow { color: #A8D94A; transform: translateX(6px); }
.job-arrow { transition: transform .3s, color .3s; }

/* Press tile */
.press-tile { transition: transform .35s, border-color .3s; }
.press-tile:hover { transform: translateY(-3px); border-color: #0E0E10; }

/* Insight card */
.insight-card { transition: transform .35s; }
.insight-card:hover { transform: translateY(-4px); }
.insight-card:hover .insight-img { transform: scale(1.04); }
.insight-img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }

/* Repo row */
.repo-row { transition: background-color .25s, color .25s, border-color .25s; }
.repo-row:hover { background: #0E0E10; color: #F5F3EE; border-color: #0E0E10; }
.repo-row:hover .repo-meta { color: rgba(245,243,238,.65); }
.repo-row:hover .repo-lang-dot { box-shadow: 0 0 0 3px rgba(168,217,74,.4); }
.repo-row:hover .repo-arrow { color: #A8D94A; }
.repo-arrow { transition: color .25s; }

/* Legal doc tweaks */
.legal-doc h2 { font-family: 'Space Grotesk', system-ui, sans-serif; font-weight: 700; letter-spacing: -0.01em; font-size: 1.75rem; margin-top: 3rem; margin-bottom: 1rem; color: #0E0E10; }
.legal-doc h3 { font-weight: 600; font-size: 1.05rem; margin-top: 1.75rem; margin-bottom: .5rem; color: #0E0E10; }
.legal-doc p, .legal-doc li { color: rgba(14,14,16,.78); line-height: 1.7; }
.legal-doc p { margin-bottom: 1rem; }
.legal-doc ul { list-style: disc; margin-left: 1.25rem; margin-bottom: 1rem; }
.legal-doc strong { color: #0E0E10; }
.legal-doc a { border-bottom: 2px solid #A8D94A; transition: background-color .25s; }
.legal-doc a:hover { background: #A8D94A; }

/* Image placeholder */
.img-ph {
  background-color: #E8E6E0;
  background-image: repeating-linear-gradient(135deg, transparent 0 14px, rgba(14,14,16,0.04) 14px 28px);
  display:flex; align-items:center; justify-content:center;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(14,14,16,0.45);
}

/* Contact form */
.input-line {
  width:100%; background: transparent; border: 0; border-bottom: 2px solid rgba(14,14,16,.15);
  padding: .9rem 0; font-size: 16px; color: #0E0E10; outline: none;
  transition: border-color .25s;
}
.input-line:focus { border-color: #0E0E10; }
.input-line::placeholder { color: rgba(14,14,16,.35); }

.chip-toggle { cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.chip-toggle.is-on { background: #0E0E10; color: #F5F3EE; border-color: #0E0E10; }

/* Office card */
.office-card { transition: border-color .3s, transform .3s; }
.office-card:hover { border-color: #0E0E10; transform: translateY(-3px); }

/* Newsletter issue */
.issue-row { transition: background-color .25s, padding-left .25s; }
.issue-row:hover { background: rgba(14,14,16,.04); padding-left: 1rem; }
