/* ==========================================================================
   RanKnight — Home page
   ========================================================================== */

/* ---- Hero ---- */
.hero { position: relative; background: var(--ink); overflow: hidden; padding-block: var(--space-8) var(--space-8); }
.hero::before { /* faint gold field glow, top-right */
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(60% 55% at 82% 8%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 70%),
    radial-gradient(50% 40% at 4% 100%, color-mix(in srgb, var(--gold) 8%, transparent), transparent 70%);
  pointer-events: none;
}
.hero__grid { position: relative; z-index: 1; display: grid; gap: var(--space-6); align-items: center; }
@media (min-width: 940px) { .hero__grid { grid-template-columns: 1.04fr 1fr; gap: var(--space-7); } }
.hero h1 { margin-bottom: var(--space-4); }
.hero h1 .accent { color: var(--color-accent); }
.hero__lede { font-size: var(--text-md); color: var(--color-text-muted); max-width: 46ch; margin-bottom: var(--space-5); }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.hero__reassure { margin-top: var(--space-4); color: var(--steel); font-size: var(--text-sm); display: flex; align-items: center; gap: var(--space-2); }
.hero__reassure svg { width: 1.1rem; height: 1.1rem; color: var(--color-accent); flex-shrink: 0; }

/* ---- Positioning trifecta (Maps + Search + AI) ---- */
.trifecta { background: var(--ink-800); border-block: 1px solid var(--ink-600); }
.trifecta__grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
@media (min-width: 720px) { .trifecta__grid { grid-template-columns: repeat(3, 1fr); } }
.pillar { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-4) 0; }
.pillar__icon { flex-shrink: 0; width: 2.6rem; height: 2.6rem; border-radius: 12px; display: grid; place-items: center;
  background: color-mix(in srgb, var(--gold) 14%, transparent); color: var(--color-accent); border: 1px solid color-mix(in srgb, var(--gold) 30%, transparent); }
.pillar__icon svg { width: 1.4rem; height: 1.4rem; }
.pillar h3 { font-size: var(--text-md); margin-bottom: .25rem; }
.pillar p { font-size: var(--text-sm); color: var(--color-text-muted); }

/* ---- Outcome reframe band ---- */
.reframe .container { max-width: 900px; text-align: center; }
.reframe h2 { margin-bottom: var(--space-4); }
.reframe .lede { margin-inline: auto; }

/* ---- Service cards ---- */
.svc-grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
@media (min-width: 640px) { .svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .svc-grid { grid-template-columns: repeat(3, 1fr); } }
/* Ghost cards: icon-led + always-gold outline + a spark that travels the border */
@property --svc-beam { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.svc-card { position: relative; display: flex; flex-direction: column; gap: var(--space-3); height: 100%;
  background: rgba(255,255,255,0.04); border: 1px solid color-mix(in srgb, var(--gold) 55%, transparent); border-radius: 12px;
  transition: border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
.svc-card:hover { border-color: color-mix(in srgb, var(--gold) 88%, transparent);
  background: color-mix(in srgb, var(--gold) 6%, transparent); }
/* travelling gold spark around the window border */
.svc-card::after { content: ""; position: absolute; inset: 0; border-radius: 12px; padding: 1px; pointer-events: none;
  background: conic-gradient(from var(--svc-beam), transparent 0 63%, color-mix(in srgb, var(--gold) 85%, transparent) 76%, #fff2cf 85%, color-mix(in srgb, var(--gold) 85%, transparent) 93%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;
  animation: svc-beam 5s linear infinite; }
.svc-card:hover::after { animation-duration: 2.4s; }
@keyframes svc-beam { to { --svc-beam: 360deg; } }
@media (prefers-reduced-motion: reduce) { .svc-card::after { animation: none; } }
.svc-card__icon { width: 2.9rem; height: 2.9rem; border-radius: 12px; display: grid; place-items: center;
  background: color-mix(in srgb, var(--gold) 12%, transparent); color: var(--color-accent); border: 1px solid color-mix(in srgb, var(--gold) 26%, transparent); }
.svc-card__icon svg { width: 1.5rem; height: 1.5rem; }
.svc-card h3 { font-size: var(--text-md); max-width: 16ch; }
.svc-card p { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; flex-grow: 1; }
.svc-card .link { font-size: var(--text-sm); }
.svc-card__jargon { font-size: var(--text-xs); color: var(--steel); letter-spacing: .02em; }

/* ---- AI hook (differentiator) ---- */
.aihook { background:
    radial-gradient(70% 120% at 100% 0%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 60%), var(--ink); }
.aihook__grid { display: grid; gap: var(--space-6); align-items: center; }
@media (min-width: 900px) { .aihook__grid { grid-template-columns: 1.1fr .9fr; } }
.chatcard { background: color-mix(in srgb, var(--ink) 16%, transparent); border: 1px solid var(--ink-600); border-radius: var(--radius); padding: var(--space-5); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.chatcard__q { font-size: var(--text-xl); line-height: 1.2; color: var(--color-accent);
  font-family: var(--font-display); font-weight: 700; margin-bottom: var(--space-4);
  display: flex; gap: .55rem; align-items: flex-start; }
.chatcard__q svg { color: var(--color-accent); margin-top: .3rem; flex: none; }
/* Split — icon column: rank chip + name, hairline rows */
.chatcard__a { display: grid; gap: 0; }
.chatrow { display: grid; grid-template-columns: 2.9rem 1fr; align-items: center; gap: var(--space-3);
  padding: var(--space-3) 0; background: none; border: 0; border-top: 1px solid var(--ink-600); border-radius: 0; }
.chatrow .rank { width: 2.9rem; height: 2.9rem; border-radius: 10px; display: grid; place-items: center;
  background: color-mix(in srgb, var(--gold) 12%, transparent); border: 1px solid color-mix(in srgb, var(--gold) 26%, transparent);
  color: var(--color-accent); font-family: var(--font-display); font-weight: 800; font-size: var(--text-md); }
.chatrow .who { font-weight: 600; }
.chatrow .badge-you { margin-left: auto; font-size: var(--text-xs); font-weight: 700; color: var(--color-on-accent); background: var(--color-accent); padding: .2rem .6rem; border-radius: var(--radius-pill); }
.chatrow.missing .rank { background: transparent; border-style: dashed; color: var(--rank-low); }
.chatrow.missing .who { color: var(--rank-low); }

/* ---- Founder teaser ---- */
.founder__grid { display: grid; gap: var(--space-6); align-items: center; }
@media (min-width: 820px) { .founder__grid { grid-template-columns: .8fr 1.2fr; } }
.founder__photo { position: relative; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--color-border); max-width: 380px; }
.founder__photo img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.founder__photo::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 -80px 60px -40px rgba(11,11,12,.6); }
.founder blockquote { font-family: var(--font-display); font-weight: 700; font-size: var(--text-lg); line-height: 1.25; color: var(--color-heading); letter-spacing: -0.01em; }
.founder cite { display: block; margin-top: var(--space-4); font-style: normal; color: var(--color-text-muted); }
.founder cite strong { color: var(--color-heading); display: block; }

/* ---- Final CTA band ---- */
.cta-band { position: relative; overflow: hidden; background: var(--ink-800); border-top: 1px solid var(--ink-600); }
.cta-band::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 140% at 50% 0%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 65%); }
.cta-band .container { position: relative; text-align: center; max-width: 780px; }
.cta-band h2 { margin-bottom: var(--space-4); }
.cta-band .lede { margin-inline: auto; margin-bottom: var(--space-5); }
.cta-band__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; }

/* Section eyebrow spacing */
.section__head .eyebrow { margin-bottom: var(--space-3); }

/* ==========================================================================
   Homepage additions — hero text link, focused services, logo strip,
   trust row, founder video slot
   ========================================================================== */

/* Hero secondary text link (replaces the ghost button) */
.hero__textlink { display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--font-display); font-weight: 700; font-size: var(--text-base);
  color: var(--color-heading); padding-block: .4rem; }
.hero__textlink svg { width: 1em; height: 1em; transition: transform var(--dur) var(--ease-out); }
.hero__textlink:hover { color: var(--color-accent-text); }
.hero__textlink:hover svg { transform: translateX(3px); }

/* Focused 2-card services grid (main product gets more room) */
.svc-grid--focus { grid-template-columns: 1fr; }
@media (min-width: 820px) { .svc-grid--focus { grid-template-columns: 1.35fr 1fr; align-items: stretch; } }
.svc-card--lead { background: color-mix(in srgb, var(--gold) 6%, rgba(255,255,255,0.04)); }
.svc-card--lead h3 { font-size: var(--text-lg); max-width: none; }
.svc-more { margin-top: var(--space-5); text-align: center; color: var(--color-text-muted); font-size: var(--text-base); }
.svc-more .link { margin-left: .35rem; }

/* Logo strip — owned brands + sites built */
.logostrip__row + .logostrip__row { margin-top: var(--space-6); }
.logostrip__head { font-family: var(--font-display); font-weight: 700; font-size: var(--text-md);
  color: var(--color-heading); text-align: center; margin-bottom: var(--space-4); }
.logostrip__head--sub { font-size: var(--text-base); color: var(--color-text-muted); }
.logostrip__logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-4); justify-content: center; }
/* Dark chips: client logos are light/knockout artwork and vanish on white. */
.logo-chip { display: grid; place-items: center; width: 190px; height: 120px; padding: var(--space-3);
  background: var(--ink-800); border-radius: var(--radius); border: 1px solid var(--ink-600); }
.logo-chip img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }

/* Trust row — plain checkmark list above final CTA */
.trustrow__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3);
  grid-template-columns: 1fr; max-width: 900px; margin-inline: auto; }
@media (min-width: 720px) { .trustrow__list { grid-template-columns: 1fr 1fr; gap: var(--space-3) var(--space-6); } }
.trustrow__list li { display: flex; align-items: flex-start; gap: .6rem; color: var(--color-text); font-size: var(--text-base); }
.trustrow__list li svg { width: 1.2rem; height: 1.2rem; color: var(--rank-top); flex-shrink: 0; margin-top: .15rem; }

/* Founder video slot placeholder */
.founder__videoslot { position: absolute; left: 50%; bottom: var(--space-3); transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: .45rem; z-index: 2;
  background: color-mix(in srgb, var(--ink) 82%, transparent); backdrop-filter: blur(6px);
  border: 1px solid var(--ink-600); border-radius: var(--radius-pill);
  padding: .4rem .85rem; font-size: var(--text-xs); font-weight: 600; color: var(--color-text-muted); white-space: nowrap; }
.founder__videoslot svg { width: 1rem; height: 1rem; color: var(--color-accent); }
.founder__lede { color: var(--color-text-muted); font-size: var(--text-md); }
.founder__lede + .founder__lede { margin-top: var(--space-3); }

/* ---- Centered, full-width hero (single column, no side visual) ---- */
.hero--center { padding-block: var(--space-8); }
.hero--center .hero__inner { position: relative; z-index: 1; max-width: 1100px; margin-inline: auto; text-align: center; }
.hero--center .eyebrow { margin-bottom: var(--space-4); }
.hero--center h1 { max-width: 24ch; margin: 0 auto var(--space-4); font-size: clamp(2.6rem, 5.4vw, 4.6rem); line-height: 1.02; }
.hero--center .hero__lede { max-width: 62ch; margin: 0 auto var(--space-5); }
.hero--center .hero__actions { justify-content: center; }
.hero--center .hero__reassure { justify-content: center; max-width: none; }
