/**
 * home.css — Store Home (front-page.php). Loaded only on the front page.
 * Uses tokens.css variables + shared components from main.css.
 */

/* Hero */
.gfo-hero { background: var(--gfo-ink-deep); color: #fff; padding: 78px 0 64px; text-align: center; }
.gfo-hero__inner { max-width: 1100px; }
.gfo-hero__title { color: #fff; font-size: var(--gfo-fs-display); line-height: 1.02; letter-spacing: -.02em; margin: 22px auto 0; max-width: 16ch; }
.gfo-hero__lead { font-size: 17px; color: var(--gfo-on-dark-muted); max-width: 56ch; margin: 22px auto 0; }
.gfo-hero__rating { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 26px; color: var(--gfo-on-dark); font-size: 13px; font-weight: 500; }
.gfo-hero__cta { display: flex; gap: 13px; justify-content: center; margin-top: 30px; flex-wrap: wrap; }
.gfo-hero__chips { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 28px 0 36px; }
.gfo-hero__media { height: 240px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; }

/* Trust bar */
.gfo-trustbar { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--gfo-surface); border-bottom: 1px solid rgba(58,40,32,.1); }
.gfo-trustbar__item { padding: 18px 30px; text-align: center; font-size: 12.5px; }
.gfo-trustbar__item + .gfo-trustbar__item { border-left: 1px solid rgba(58,40,32,.1); }
.gfo-trustbar__item strong { font-weight: 600; }
.gfo-trustbar__item span { color: var(--gfo-text-muted); }

/* Press */
.gfo-press { padding: 34px var(--gfo-gutter); text-align: center; background: var(--gfo-sand); border-bottom: 1px solid rgba(58,40,32,.1); }
.gfo-press__row { display: flex; align-items: center; justify-content: center; gap: 46px; flex-wrap: wrap; opacity: .6; margin-top: 16px; }
.gfo-press__logo { font-family: var(--gfo-font-display); font-weight: 600; font-size: 18px; color: var(--gfo-ink); }

/* Stat band */
.gfo-stats { padding: var(--gfo-space-section) 0; background: var(--gfo-ink-deep); color: #fff; }
.gfo-stats__title { color: #fff; text-align: center; margin: 0 0 6px; }
.gfo-stats__sub { text-align: center; color: var(--gfo-on-dark-faint); margin: 0 0 42px; }
.gfo-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.gfo-stat { background: rgba(224,160,121,.1); border: 1px solid rgba(224,160,121,.24); border-radius: 12px; padding: 28px 18px; text-align: center; }
.gfo-stat__pct { font-family: var(--gfo-font-display); font-weight: 700; font-size: 46px; color: var(--gfo-clay-light); }
.gfo-stat__label { font-size: 12.5px; color: var(--gfo-on-dark); margin-top: 12px; }
.gfo-stats__note { text-align: center; font-family: var(--gfo-font-mono); font-size: 11px; color: var(--gfo-on-dark-faint); margin-top: 34px; }

/* Range */
.gfo-range { padding: var(--gfo-space-section) 0; background: var(--gfo-sand); scroll-margin-top: 70px; }
.gfo-range__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* Systems */
.gfo-systems { padding: var(--gfo-space-section) 0; background: var(--gfo-surface); border-top: 1px solid rgba(58,40,32,.1); scroll-margin-top: 70px; }
.gfo-systems__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gfo-syscard { background: var(--gfo-sand); border: 1px solid rgba(58,40,32,.12); border-left: 3px solid var(--gfo-terracotta); border-radius: 8px; padding: 20px 22px; display: flex; gap: 14px; }
.gfo-syscard__idx { font-family: var(--gfo-font-mono); font-size: 12px; color: var(--gfo-terracotta); padding-top: 2px; }
.gfo-syscard__name { font-family: var(--gfo-font-display); font-weight: 700; font-size: 16px; }
.gfo-syscard__line { font-size: 12px; color: var(--gfo-text-muted); margin-top: 5px; }

/* Comparison */
.gfo-compare { padding: var(--gfo-space-section) 0; background: var(--gfo-sand); }
.gfo-compare__inner { max-width: 960px; margin-inline: auto; padding-inline: var(--gfo-gutter); }
.gfo-table { border: 1px solid rgba(58,40,32,.16); border-radius: 12px; overflow: hidden; margin-top: 34px; }
.gfo-table__head, .gfo-table__row { display: grid; grid-template-columns: 1.7fr 1fr 1fr; }
.gfo-table__head { background: var(--gfo-ink-deep); }
.gfo-table__head > div { padding: 18px 16px; text-align: center; font-weight: 600; font-size: 13px; color: var(--gfo-on-dark-faint); }
.gfo-table__head .gfo-table__us { color: var(--gfo-ink-deep); background: var(--gfo-clay-light); font-weight: 700; }
.gfo-table__row { background: var(--gfo-surface); border-top: 1px solid rgba(58,40,32,.1); }
.gfo-table__feature { padding: 16px 24px; font-size: 14px; font-weight: 500; }
.gfo-table__row .gfo-table__us { padding: 16px; text-align: center; font-weight: 700; font-size: 14px; background: var(--gfo-soft); color: var(--gfo-ink); }
.gfo-table__row .gfo-table__them { padding: 16px; text-align: center; font-size: 14px; color: var(--gfo-text-faint); }

/* Reviews */
.gfo-reviews { padding: var(--gfo-space-section) 0; background: var(--gfo-sand); scroll-margin-top: 70px; }
.gfo-reviews__head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 30px; flex-wrap: wrap; gap: 14px; }
.gfo-reviews__avg { text-align: right; font-size: 12px; color: var(--gfo-text-muted); }
.gfo-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.gfo-review { background: var(--gfo-surface); border: 1px solid rgba(58,40,32,.12); border-radius: 10px; padding: 24px 22px; display: flex; flex-direction: column; gap: 12px; }
.gfo-review__quote { font-size: 14.5px; line-height: 1.6; color: var(--gfo-ink); margin: 0; flex: 1; }
.gfo-review__by { border-top: 1px solid rgba(58,40,32,.1); padding-top: 12px; }
.gfo-review__name { font-weight: 600; font-size: 13px; }
.gfo-review__role { font-size: 11.5px; color: var(--gfo-text-muted); }

/* Awards */
.gfo-awards { padding: 56px 0; background: var(--gfo-ink-deep); color: #fff; }
.gfo-awards__inner { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 30px; align-items: center; max-width: 980px; margin-inline: auto; padding-inline: var(--gfo-gutter); }
.gfo-award { text-align: center; }
.gfo-award__num { font-family: var(--gfo-font-display); font-weight: 700; font-size: 66px; color: var(--gfo-clay-light); }
.gfo-award__label { font-size: 13px; color: var(--gfo-on-dark-muted); margin-top: 6px; }
.gfo-award__note { border-left: 1px solid rgba(255,255,255,.2); padding-left: 30px; }
.gfo-award__note p { color: var(--gfo-on-dark); font-size: 14px; margin: 0; }

/* FAQ */
.gfo-faqs { padding: var(--gfo-space-section) 0; background: var(--gfo-sand); scroll-margin-top: 70px; }
.gfo-faqs__title { text-align: center; margin: 0 0 34px; }
.gfo-faqs__list { max-width: 760px; margin-inline: auto; padding-inline: var(--gfo-gutter); }

/* Responsive */
@media (max-width: 1024px) {
  .gfo-range__grid, .gfo-systems__grid, .gfo-reviews__grid { grid-template-columns: repeat(2, 1fr); }
  .gfo-awards__inner { grid-template-columns: 1fr; text-align: center; }
  .gfo-award__note { border-left: 0; padding-left: 0; }
}
@media (max-width: 640px) {
  .gfo-trustbar, .gfo-stats__grid, .gfo-range__grid, .gfo-systems__grid, .gfo-reviews__grid { grid-template-columns: 1fr; }
  .gfo-trustbar__item + .gfo-trustbar__item { border-left: 0; border-top: 1px solid rgba(58,40,32,.1); }
  .gfo-table__head, .gfo-table__row { grid-template-columns: 1.4fr .8fr .8fr; }
}
