/* Homepage only. Typography mirrors the partner homepage: Arial everywhere. */
.home { font: 400 1rem/1.6 Arial, Helvetica, sans-serif; }
.home :is(h1, h2, h3) { font-family: Arial, Helvetica, sans-serif; }
.home :is(h1, h2, h3, p, figure) { margin: 0; }
.home h1 { font-size: 3.25rem; font-weight: 700; line-height: 1.08; letter-spacing: -1.8px; }
.home h1 span { color: var(--accent); }
.home h2 { font-size: 2rem; font-weight: 700; line-height: 1.18; letter-spacing: -0.7px; margin-bottom: 0; }
.home h3 { font-size: 1rem; font-weight: 700; line-height: 1.5; letter-spacing: 0; margin-bottom: 0; }
.home .container { width: 100%; max-width: 1280px; padding-inline: 32px; }
.home .section { padding-block: 76px; }
.home .nav { background: var(--bg); box-shadow: 0 3px 12px rgba(16, 27, 48, 0.03); }
.home .nav-inner { height: auto; padding-block: 14px; }
.home .nav-links a { display: inline-flex; align-items: center; min-height: 44px; }
.home .logo { font-family: Arial, Helvetica, sans-serif; letter-spacing: -0.7px; font-size: 1.375rem; white-space: nowrap; }
.home .kicker { margin-bottom: 14px; font-size: 0.875rem; letter-spacing: 0; text-transform: none; }
.home .home-process .kicker { border-top: 3px solid var(--accent-tint); padding-top: 18px; margin-bottom: 16px; text-transform: uppercase; }
[hidden] { display: none !important; }

/* Hero */
.home-hero { padding-block: 64px 38px; }
.hero-grid { display: grid; grid-template-columns: 0.9fr 1.15fr; column-gap: 44px; align-items: center; }
.hero-grid > * { min-width: 0; }
.hero-text { grid-column: 1; }
.hero-lead { max-width: 520px; margin-top: 24px; }
.hero-actions { grid-column: 1; margin-top: 24px; }
.hero-actions .btn-lg { display: inline-flex; padding: 15px 22px; font-size: 1rem; line-height: 1.4; min-height: 48px; align-items: center; }
.hero-meta { margin-top: 12px; font-size: 0.875rem; }
.hero-call { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; font-size: 0.875rem; color: var(--text-muted); text-decoration: underline; text-underline-offset: 4px; }
.ticks { display: flex; flex-wrap: wrap; gap: 16px 32px; margin-top: 38px; padding-top: 26px; border-top: 1px solid var(--line); }
.ticks li { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 700; }
.ticks li::before { content: "✓"; color: var(--accent); }
.hero-note { margin-top: 14px; font-size: 0.875rem; }

/* Video card */
.video { grid-area: 1 / 2 / 3; border-radius: var(--radius); box-shadow: 16px 16px var(--accent-tint); }
.video-frame { position: relative; overflow: hidden; background: var(--dark); border-radius: var(--radius); aspect-ratio: 16 / 10; }
.video video { display: block; width: 100%; height: 100%; object-fit: contain; }
.video-cover { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; width: 100%; padding: 32px; border: 0; text-align: left; color: #fff; background: linear-gradient(125deg, var(--dark) 35%, var(--accent-dark)); }
.video-cover strong { font-size: clamp(1.5rem, 2.4vw, 2.125rem); font-weight: 700; line-height: 1.2; letter-spacing: -0.5px; }
.video-cover strong span { color: var(--accent-on-dark); }
.video-play { display: flex; align-items: center; gap: 14px; font-size: 0.875rem; font-weight: 700; }
.video-play::before { content: "▶"; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--accent); font-size: 1rem; padding-left: 3px; }

/* Featured case study */
.proof-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 20px 56px; align-items: start; }
.home .lead { max-width: 600px; margin-top: 20px; }
.proof-grid .stat strong { font-family: Arial, Helvetica, sans-serif; font-size: 2rem; line-height: 1.2; letter-spacing: -0.7px; }
.proof-grid .stat-pair { gap: 24px 40px; margin-bottom: 20px; }
.proof-shot { margin-top: 36px; }
.proof-shot figcaption { padding: 15px 20px; border-top: 1px solid var(--line); font-size: 0.875rem; color: var(--text-muted); }
.proof-note { max-width: 900px; margin-top: 24px; font-size: 0.875rem; }

/* Fit, process, ownership */
.fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; margin-top: 32px; }
.fit-aside { border-left: 3px solid var(--accent-tint); padding-left: 26px; }
.home-process { padding-top: 0; }
.steps { gap: 28px; margin-top: 34px; }
.steps p { margin-top: 12px; }
.home-own { border-block: 1px solid var(--line); }
.own-grid { gap: 24px; margin-top: 32px; }
.own-card { background: var(--bg-alt); border-top: 3px solid var(--accent); border-radius: var(--radius); padding: 28px; }
.own-card p { margin-top: 12px; }
.own-note { margin-top: 24px; font-size: 0.875rem; }

/* Work, FAQ, blog, footer */
.work-grid { gap: 28px; margin-top: 30px; }
.work-card { display: block; height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); }
.home-thumb { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: top; }
.home .work-thumb-c { background: linear-gradient(135deg, var(--accent-dark), var(--accent)); }
.work-card > div:last-child { padding: 24px; }
.work-card p { margin-top: 12px; }
.work-card .text-link { display: inline-block; margin-top: 14px; }
.work-card:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.home-faq { padding-top: 0; }
.home .faq { max-width: none; margin: 30px 0 0; }
.home .faq summary { font-family: Arial, Helvetica, sans-serif; }
.home .faq details p { padding: 14px 0 0; max-width: 850px; }
.home-blog { padding-bottom: 76px; }
.home-blog .post-list { margin-top: 24px; }
.blog-all { display: inline-block; margin-top: 20px; }
.home .cta-band h2 { max-width: 650px; }
.home-footer { padding-block: 32px; }
.home-footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; }
.home-footer p, .home-footer small { display: block; font-size: 0.875rem; }
.home-footlinks { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; font-size: 0.875rem; }
.home-footlinks a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 1000px) {
  .hero-grid { column-gap: 28px; }
  .grid-4.steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 850px) {
  .hero-grid { display: flex; flex-direction: column; align-items: stretch; }
  .hero-text { order: 1; }
  .hero-actions { order: 2; }
  .video { order: 3; margin-top: 32px; box-shadow: 10px 10px var(--accent-tint); }
  .home-hero { padding-top: 40px; }
  .home h1 { font-size: 2.5rem; letter-spacing: -1px; max-width: 650px; }
  .proof-grid { column-gap: 28px; }
  .video-cover strong { font-size: 2rem; }
}
@media (max-width: 640px) {
  .home .container { padding-inline: 20px; }
  .home h1 { font-size: 2.25rem; }
  .home h2 { font-size: 1.75rem; }
  .home .section { padding-block: 48px; }
  .home-hero { padding-block: 32px; }
  .hero-actions { margin-top: 20px; }
  .hero-actions .btn-lg { width: 100%; justify-content: center; }
  .ticks { gap: 14px; margin-top: 30px; }
  .video-frame { aspect-ratio: 4 / 3; }
  .video-cover { padding: 20px; }
  .video-cover strong { font-size: 1.625rem; }
  .proof-grid, .fit-grid { grid-template-columns: 1fr; gap: 24px; }
  .proof-grid .stat strong { font-size: 1.75rem; }
  .grid-4.steps { grid-template-columns: 1fr; }
  .own-card { padding: 22px; }
}
