/* The /features/ pages. Everything else they use (hero, cards, callout, FAQ,
   chip row, CTA) comes from vs.css; this file only adds what those pages need
   on top: hero buttons, screenshots, and the text-beside-screenshot rows. */
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-note { font-family: var(--mono); font-size: 12px; color: var(--muted); letter-spacing: .02em; margin-top: 16px; }
.vs-hero h1 { max-width: 20ch; }

.f-shot { margin: 0; }
.f-shot a { display: block; }
.f-shot img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--line-2); background: #fff; }
.f-shot figcaption { font-size: 13px; line-height: 1.45; color: var(--muted); margin-top: 10px; }
html.t-light .f-shot img { box-shadow: 0 12px 30px -18px rgba(27,35,55,.14); }

.f-rows { display: grid; gap: 18px; }
.f-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px; align-items: start; background: var(--bg-2); border: 1px solid var(--line); border-radius: 16px; padding: 28px; }
.f-row.no-shot { grid-template-columns: minmax(0, 1fr); }
.f-row.no-shot .f-txt { max-width: 68ch; }
/* kicker-styled, so ink, not red (red stays sparse) */
.f-num { font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--text-2); }
.f-row h3 { font-size: 22px; letter-spacing: -0.015em; margin: 10px 0 12px; }
.f-row p { font-size: 16px; color: var(--text-2); line-height: 1.6; }
.f-row p + p { margin-top: 12px; }
.f-row strong { color: var(--text); font-weight: 700; }
html.t-light .f-row { box-shadow: 0 12px 30px -18px rgba(27,35,55,.14); }
@media (max-width: 860px) {
  .f-row { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px; }
}

.f-phones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 860px; margin: 0 auto; }
.f-phones figure { margin: 0; }
.f-phones a { display: block; }
.f-phones img { display: block; width: 100%; height: auto; border-radius: 18px; border: 1px solid var(--line-2); }
.f-phones figcaption { font-size: 14px; line-height: 1.45; color: var(--muted); margin-top: 12px; text-align: center; }
@media (max-width: 560px) {
  .f-phones { gap: 10px; }
  .f-phones figcaption { font-size: 12px; }
}

/* hub cards */
.why-grid.f-two { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 820px) { .why-grid.f-two { grid-template-columns: 1fr; } }
.f-new { font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .1em; vertical-align: middle; margin-left: 6px; padding: 3px 7px; border-radius: 5px; background: var(--accent); color: var(--accent-ink); }
.f-more { display: inline-block; margin-top: 14px; font-size: 15px; font-weight: 600; color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--accent-line); }
.f-more:hover { text-decoration-color: currentColor; }
