/* ============================================================
   BOOKSBYAMA — FEATURES PAGE  (features.css)
   Redesign — all classes prefixed fh-
============================================================ */

/* ── Shared helpers ──────────────────────────────────────── */
.fh-gradient {
  background: linear-gradient(90deg, #635DA9, #65A1D7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.fh-h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 800;
  color: var(--color-text);
  letter-spacing: -.03em;
  line-height: 1.18;
}
.fh-lead  { font-size: 1.05rem; color: var(--color-muted); line-height: 1.75; max-width: 600px; }
.fh-body  { font-size: .95rem;  color: var(--color-muted); line-height: 1.75; }
.fh-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .72rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.75);
  margin-bottom: 4px;
}
.fh-eyebrow__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #FFC93B; box-shadow: 0 0 8px #FFC93B;
}
/* Tags */
.fh-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .7rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: 5px 14px;
  border-radius: 50px;
}
.fh-tag--purple { background: var(--color-purple-soft); color: var(--color-purple); }
.fh-tag--green  { background: var(--color-green-soft);  color: var(--color-green);  }
.fh-tag--blue   { background: var(--color-blue-soft);   color: var(--color-blue);   }
.fh-tag--coral  { background: var(--color-coral-soft);  color: var(--color-coral);  }
.fh-tag--dark   { background: rgba(45,42,74,.12); color: var(--color-text); }
.fh-tag--white  { background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.22); }

/* Section scaffold */
.fh-section { padding: 96px 0; }
.fh-section--bg    { background: var(--color-bg); }
.fh-section--white { background: #fff; }
.fh-section-head   { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; margin-bottom: 56px; }
.fh-section-head--light .fh-h2 { color: #fff; }

/* Pills */
.fh-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.fh-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px 15px; border-radius: 50px;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.26);
  color: #fff; font-size: .8rem; font-weight: 600;
  text-decoration: none; transition: background .2s, transform .2s;
}
.fh-pill:hover { background: rgba(255,255,255,.28); transform: translateY(-1px); }

/* ── HERO ────────────────────────────────────────────────── */
.fh-hero {
  position: relative;
  background: linear-gradient(140deg, #3d3880 0%, #635DA9 60%, #7b75c2 100%);
  padding-top: 48px;
  overflow: hidden;
}
.fh-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.fh-hero__orb {
  position: absolute; border-radius: 50%;
  filter: blur(90px); opacity: .55;
}
.fh-hero__orb--1 { width: 620px; height: 620px; top: -200px; right: -160px; background: rgba(101,161,215,.3); }
.fh-hero__orb--2 { width: 420px; height: 420px; bottom: -60px; left: -100px; background: rgba(255,201,59,.18); }
.fh-hero__orb--3 { width: 280px; height: 280px; top: 40%; left: 42%; background: rgba(81,187,121,.12); }
.fh-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 36px 36px;
}
.fh-hero__inner {
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 64px;
  padding: 48px 0 calc(48px + 80px);
  position: relative; z-index: 2;
}
.fh-hero__text {
  display: flex; flex-direction: column; gap: 24px;
}
.fh-hero__h1 {
  font-family: var(--font-heading);
  font-size: clamp(2.25rem, 4.5vw, 3.6rem);
  font-weight: 800; color: #fff;
  letter-spacing: -.04em; line-height: 1.1;
}
.fh-hero__accent { color: #FFC93B; }
.fh-hero__lead { font-size: 1.1rem; color: rgba(255,255,255,.8); line-height: 1.75; max-width: 500px; }
.fh-hero__cta { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.fh-scroll-link {
  display: inline-flex; align-items: center; gap: 6px;
  color: rgba(255,255,255,.72); font-size: .95rem; font-weight: 600;
  text-decoration: none; transition: color .2s;
}
.fh-scroll-link:hover { color: #fff; }
.fh-hero__wave { background: linear-gradient(135deg,#4E4890,#3d3880); line-height: 0; margin-top: -2px; }
.fh-hero__wave svg { display: block; width: 100%; height: 80px; }

/* Phone stack in hero */
.fh-hero__visual {
  position: relative; display: flex;
  justify-content: center; align-items: flex-end;
}
.fh-hero__phone-glow {
  position: absolute; inset: -40px;
  background: radial-gradient(ellipse, rgba(99,93,169,.22) 0%, transparent 70%);
  pointer-events: none;
}
.fh-phone { position: absolute; bottom: 0; }
.fh-phone--front { right: 0; z-index: 2; animation: fhFloat 5s ease-in-out infinite; }
.fh-phone--back  { left: 0; z-index: 1; transform: rotate(-7deg) scale(.85); opacity: .6; animation: fhFloat 6s ease-in-out .5s infinite; }
.fh-hero__visual { height: 440px; width: 300px; }

/* Floating badges */
.fh-badge {
  position: absolute; background: #fff; border-radius: 14px;
  box-shadow: 0 8px 32px rgba(45,42,74,.16);
  padding: 10px 14px; display: flex; align-items: center; gap: 10px;
  z-index: 10; font-size: 1.35rem;
}
.fh-badge div { display: flex; flex-direction: column; }
.fh-badge strong { font-size: .71rem; font-weight: 700; color: var(--color-text); font-family: var(--font-heading); }
.fh-badge em     { font-style: normal; font-size: .62rem; color: var(--color-light); margin-top: 1px; }
.fh-badge--1 { top: 10px;   right: -24px; animation: fhFloat 3.5s ease-in-out .3s infinite; }
.fh-badge--2 { bottom: 90px; left: -28px; animation: fhFloat 4s   ease-in-out .7s infinite; }
.fh-badge--3 { top: 55%;    right: -28px; animation: fhFloat 5s   ease-in-out 1s  infinite; }

/* ── STATS STRIP ─────────────────────────────────────────── */
.fh-stats {
  background: #fff;
  border-bottom: 1px solid var(--color-border);
  padding: 28px 0;
}
.fh-stats__inner {
  display: flex; align-items: center;
  justify-content: center; flex-wrap: wrap; gap: 0;
}
.fh-stat {
  display: flex; flex-direction: column; align-items: center;
  gap: 3px; padding: 10px 36px; text-align: center;
}
.fh-stat strong {
  font-family: var(--font-heading);
  font-size: 1.6rem; font-weight: 800;
  color: var(--color-text); letter-spacing: -.02em;
}
.fh-stat span { font-size: .78rem; color: var(--color-muted); }
.fh-stats__div { width: 1px; height: 40px; background: var(--color-border); }

/* ── BENTO FEATURE GRID ──────────────────────────────────── */
.fhb-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: auto auto;
  gap: 18px;
}

/* tile base */
.fhb-tile {
  background: #fff;
  border: 1.5px solid var(--color-border);
  border-radius: 22px;
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  overflow: hidden;
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s;
}
.fhb-tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(99,93,169,.13);
  border-color: var(--color-purple-tint);
}

/* grid placement */
.fhb-tile--library   { grid-column: span 7; background: linear-gradient(135deg,#4E4890 0%,#635DA9 60%,#7b75c2 100%); border: none; }
.fhb-tile--offline   { grid-column: span 5; }
.fhb-tile--safe      { grid-column: span 4; background: #fff8f8; border-color: var(--color-coral-soft); }
.fhb-tile--audio     { grid-column: span 4; background: linear-gradient(150deg,#0f1d14 0%,#1a3322 100%); border: none; }
.fhb-tile--progress  { grid-column: span 4; }
.fhb-tile--reco      { grid-column: span 8; background: var(--color-bg); }

/* ① Library tile */
.fhb-tile--library .fhb-tile__h3,
.fhb-tile--library .fhb-tile__p { color: #fff; }
.fhb-tile--library .fhb-tile__p { color: rgba(255,255,255,.75); }
.fhb-tile--library::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.055) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.fhb-tile__inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 12px; }
.fhb-tile__label { display: flex; align-items: center; gap: 10px; }
.fhb-tile__icon-sm { font-size: 1.4rem; }
.fhb-tile__stats { display: flex; gap: 28px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); margin-top: 4px; }
.fhb-stat { display: flex; flex-direction: column; gap: 2px; }
.fhb-stat strong { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 800; color: #FFC93B; }
.fhb-stat em     { font-style: normal; font-size: .68rem; color: rgba(255,255,255,.5); letter-spacing: .04em; text-transform: uppercase; }

/* Book shelf decoration */
.fhb-tile__shelf {
  position: absolute; bottom: 0; right: 0;
  display: flex; align-items: flex-end; gap: 3px;
  padding: 0 16px 0 0;
  z-index: 0;
}
.fhb-shelf-book {
  width: 28px;
  border-radius: 4px 4px 0 0;
  background: rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; padding: 4px 0;
  transition: transform .2s;
}
.fhb-shelf-book:nth-child(odd)  { height: 70px; }
.fhb-shelf-book:nth-child(even) { height: 55px; }
.fhb-tile--library:hover .fhb-shelf-book { transform: translateY(-4px); }
.fhb-shelf-book:nth-child(2) { transition-delay: .04s; }
.fhb-shelf-book:nth-child(3) { transition-delay: .08s; }
.fhb-shelf-book:nth-child(4) { transition-delay: .12s; }
.fhb-shelf-book:nth-child(5) { transition-delay: .16s; }
.fhb-shelf-book:nth-child(6) { transition-delay: .20s; }
.fhb-shelf-book:nth-child(7) { transition-delay: .24s; }
.fhb-shelf-book:nth-child(8) { transition-delay: .28s; }

/* Common tile typography */
.fhb-tile__icon-wrap {
  width: 50px; height: 50px; border-radius: 14px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 1.55rem;
}
.fhb-tile__h3 { font-family: var(--font-heading); font-size: 1.05rem; font-weight: 700; color: var(--color-text); }
.fhb-tile__p  { font-size: .875rem; color: var(--color-muted); line-height: 1.7; }

/* ② Offline tile */
.fhb-offline-visual {
  display: flex; gap: 10px; margin-top: auto; flex-wrap: wrap;
}
.fhb-signal {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .75rem; font-weight: 600;
  padding: 6px 12px; border-radius: 50px;
}
.fhb-signal--off { background: var(--color-coral-soft); color: var(--color-coral); }
.fhb-signal--on  { background: var(--color-green-soft); color: var(--color-green); }

/* ③ Safe tile */
.fhb-checks { display: flex; flex-direction: column; gap: 7px; margin-top: auto; }
.fhb-check {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: .82rem; font-weight: 600;
}
.fhb-check--green { color: var(--color-green); }

/* ④ Audio tile */
.fhb-tile--audio .fhb-tile__h3 { color: #fff; }
.fhb-tile--audio .fhb-tile__p  { color: rgba(255,255,255,.6); }
.fhb-audio-waves {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 60px; display: flex; align-items: flex-end;
  gap: 4px; padding: 0 20px 12px; pointer-events: none;
}
.fhb-audio-waves span {
  flex: 1; border-radius: 3px 3px 0 0;
  background: rgba(81,187,121,.35);
  animation: fhbWave 1.4s ease-in-out infinite;
}
.fhb-audio-waves span:nth-child(1) { height: 28px; animation-delay: 0s; }
.fhb-audio-waves span:nth-child(2) { height: 44px; animation-delay: .1s; }
.fhb-audio-waves span:nth-child(3) { height: 36px; animation-delay: .2s; }
.fhb-audio-waves span:nth-child(4) { height: 52px; animation-delay: .3s; }
.fhb-audio-waves span:nth-child(5) { height: 40px; animation-delay: .4s; }
.fhb-audio-waves span:nth-child(6) { height: 48px; animation-delay: .5s; }
.fhb-audio-waves span:nth-child(7) { height: 30px; animation-delay: .6s; }
.fhb-audio-waves span:nth-child(8) { height: 44px; animation-delay: .7s; }
.fhb-audio-waves span:nth-child(9) { height: 24px; animation-delay: .8s; }
@keyframes fhbWave {
  0%, 100% { transform: scaleY(1); }
  50%       { transform: scaleY(.45); }
}

/* ⑤ Progress / Streak tile */
.fhb-streak {
  display: flex; align-items: center; gap: 6px;
  margin-top: auto; flex-wrap: wrap;
}
.fhb-streak__day {
  width: 22px; height: 22px; border-radius: 6px;
  background: var(--color-border);
  transition: background .2s;
}
.fhb-streak__day--on { background: #FFC93B; box-shadow: 0 2px 8px rgba(255,201,59,.45); }
.fhb-streak span { font-size: .75rem; font-weight: 600; color: var(--color-muted); margin-left: 4px; }

/* ⑥ Recommendations tile */
.fhb-reco-pills {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto;
}
.fhb-reco-pills span {
  display: inline-flex; padding: 5px 13px; border-radius: 50px;
  background: var(--color-purple-soft); color: var(--color-purple);
  font-size: .76rem; font-weight: 700; letter-spacing: .03em;
  transition: background .2s, transform .2s;
}
.fhb-tile--reco:hover .fhb-reco-pills span { background: var(--color-purple-tint); }
.fhb-reco-pills span:nth-child(2) { background: var(--color-green-soft);  color: var(--color-green); }
.fhb-reco-pills span:nth-child(3) { background: var(--color-blue-soft);   color: var(--color-blue); }
.fhb-reco-pills span:nth-child(4) { background: var(--color-gold-soft, #FFF3C4); color: #9a6e00; }

/* ── BENTO RESPONSIVE ────────────────────────────────────── */
@media (max-width: 1024px) {
  .fhb-tile--library  { grid-column: span 12; }
  .fhb-tile--offline  { grid-column: span 6; }
  .fhb-tile--safe     { grid-column: span 6; }
  .fhb-tile--audio    { grid-column: span 6; }
  .fhb-tile--progress { grid-column: span 6; }
  .fhb-tile--reco     { grid-column: span 12; }
}
@media (max-width: 640px) {
  .fhb-grid { gap: 14px; }
  .fhb-tile--library,
  .fhb-tile--offline,
  .fhb-tile--safe,
  .fhb-tile--audio,
  .fhb-tile--progress,
  .fhb-tile--reco     { grid-column: span 12; }
  .fhb-tile__shelf    { display: none; }
}

/* ── SPLIT SECTIONS ──────────────────────────────────────── */
.fh-split {
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center; gap: 72px;
}
.fh-split--img-left .fh-split__visual { order: -1; }
.fh-split__content { display: flex; flex-direction: column; gap: 20px; }
.fh-split__visual  { position: relative; display: flex; justify-content: center; }
.fh-split__glow {
  position: absolute; inset: -30px;
  background: radial-gradient(ellipse, rgba(99,93,169,.1) 0%, transparent 70%);
  pointer-events: none;
}
.fh-split__phone { position: relative; z-index: 2; animation: fhFloat 5s ease-in-out infinite; }
.fh-split__badge {
  position: absolute; background: #fff;
  border-radius: 13px; box-shadow: 0 8px 32px rgba(45,42,74,.14);
  padding: 10px 13px; display: flex; align-items: center; gap: 9px;
  z-index: 10; font-size: 1.2rem;
}
.fh-split__badge div { display: flex; flex-direction: column; }
.fh-split__badge strong { font-size: .7rem; font-weight: 700; color: var(--color-text); font-family: var(--font-heading); }
.fh-split__badge em    { font-style: normal; font-size: .6rem; color: var(--color-light); }
.fh-split__badge--tl { top: 10px;    left: 0;    animation: fhFloat 4s ease-in-out .4s infinite; }
.fh-split__badge--br { bottom: 10px; right: 0;   animation: fhFloat 5s ease-in-out .8s infinite; }

/* Feature list inside split */
.fh-feats { display: flex; flex-direction: column; gap: 12px; }
.fh-feat {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 16px;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.fh-feat:hover { border-color: var(--color-purple-tint); box-shadow: 0 4px 20px rgba(99,93,169,.1); transform: translateX(4px); }
.fh-feat__icon {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 1.15rem;
}
.fh-feat h4 { font-size: .9rem; font-weight: 700; color: var(--color-text); margin-bottom: 3px; }
.fh-feat p  { font-size: .83rem; color: var(--color-muted); line-height: 1.6; }

/* ── PARENTS GRID ────────────────────────────────────────── */
.fh-parent-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.fh-parent-card {
  background: #fff; border: 1.5px solid var(--color-border);
  border-radius: 20px; padding: 24px 20px;
  display: flex; flex-direction: column; gap: 10px;
  transition: border-color .22s, box-shadow .22s, transform .22s;
}
.fh-parent-card:hover {
  border-color: var(--color-purple-tint);
  box-shadow: 0 6px 24px rgba(99,93,169,.11);
  transform: translateY(-4px);
}
.fh-parent-card--gold {
  background: linear-gradient(140deg, #FFC93B 0%, #f0a500 100%);
  border: none;
}
.fh-parent-card--gold h3 { color: var(--color-text); }
.fh-parent-card--gold p  { color: rgba(45,42,74,.72); }
.fh-parent-card__icon { font-size: 1.8rem; }
.fh-parent-card h3 { font-size: .97rem; font-weight: 700; color: var(--color-text); }
.fh-parent-card p  { font-size: .875rem; color: var(--color-muted); line-height: 1.68; flex: 1; }

/* ── SCHOOLS CARD ────────────────────────────────────────── */
.fh-school-card {
  position: relative; max-width: 380px; width: 100%;
}
.fh-school-card__blob {
  position: absolute; inset: 24px;
  background: var(--color-purple-soft);
  border-radius: 45% 55% 55% 45% / 45% 45% 55% 55%;
  z-index: 0;
}
.fh-school-card__inner {
  position: relative; z-index: 1;
  background: linear-gradient(135deg, #65A1D7, #4a88be);
  border-radius: 22px; padding: 36px 28px;
  display: flex; flex-direction: column; align-items: center;
  gap: 8px; text-align: center;
  box-shadow: 0 32px 80px rgba(45,42,74,.22);
  overflow: hidden;
}
.fh-school-card__inner::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 80% 10%, rgba(255,255,255,.13), transparent 55%);
}
.fh-school-card__emoji { font-size: 3rem; animation: fhFloat 4s ease-in-out infinite; }
.fh-school-card__title { font-family: var(--font-heading); font-weight: 700; font-size: 1.05rem; color: #fff; }
.fh-school-card__sub   { font-size: .8rem; color: rgba(255,255,255,.65); }
.fh-school-card__pills { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 10px; }
.fh-school-card__pill  { background: rgba(255,255,255,.15); border-radius: 10px; padding: 7px 12px; font-size: .75rem; color: #fff; }
.fh-school-badge {
  position: absolute; background: #fff; border-radius: 13px;
  box-shadow: 0 8px 32px rgba(45,42,74,.14);
  padding: 10px 13px; display: flex; align-items: center; gap: 8px;
  z-index: 5; font-size: 1.15rem;
}
.fh-school-badge div { display: flex; flex-direction: column; }
.fh-school-badge strong { font-size: .68rem; font-weight: 700; color: var(--color-text); font-family: var(--font-heading); }
.fh-school-badge em    { font-style: normal; font-size: .6rem; color: var(--color-light); }
.fh-school-badge--1 { bottom: -12px; right: -12px; animation: fhFloat 3.5s ease-in-out .5s infinite; }
.fh-school-badge--2 { top: -12px;    left: -12px;  animation: fhFloat 4.5s ease-in-out 1s  infinite; }

/* ── GALLERY ─────────────────────────────────────────────── */
.fh-gallery {
  position: relative; overflow: hidden;
  background: linear-gradient(140deg, #3d3880 0%, #635DA9 55%, #7b75c2 100%);
  padding: 80px 0 60px;
}
.fh-gallery__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.fh-gallery__orb { position: absolute; border-radius: 50%; filter: blur(90px); }
.fh-gallery__orb--1 { width: 500px; height: 500px; top: -150px; right: -100px; background: rgba(101,161,215,.2); }
.fh-gallery__orb--2 { width: 400px; height: 400px; bottom: -100px; left: -80px;  background: rgba(255,201,59,.12); }
.fh-gallery__phones {
  display: flex; align-items: flex-end; justify-content: center;
  gap: 16px; flex-wrap: wrap; padding-bottom: 10px;
  position: relative; z-index: 2;
}
.fh-gallery__phone { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.fh-gallery__phone .phone { animation: fhFloat 5s ease-in-out infinite; }
.fh-gallery__phone:nth-child(2) .phone { animation-duration: 4s; }
.fh-gallery__phone:nth-child(3) .phone { animation-delay: .4s; }
.fh-gallery__phone:nth-child(4) .phone { animation-delay: .9s; }
.fh-gallery__phone:nth-child(5) .phone { animation-delay: 1.3s; }
.fh-gallery__label {
  font-size: .68rem; font-weight: 600;
  color: rgba(255,255,255,.55);
  letter-spacing: .08em; text-transform: uppercase;
}

/* ── FAQ ─────────────────────────────────────────────────── */
.fh-faq-wrap {
  display: grid; grid-template-columns: 1fr 1.7fr;
  gap: 72px; align-items: flex-start;
}
.fh-faq-header {
  display: flex; flex-direction: column; gap: 16px;
  position: sticky; top: 96px;
}
.fh-faq-list { display: flex; flex-direction: column; }
.fh-faq-item { border-bottom: 1px solid var(--color-border); }
.fh-faq-item:first-child { border-top: 1px solid var(--color-border); }
.fh-faq-btn {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  padding: 20px 4px; background: none; border: none; cursor: pointer;
  text-align: left; font-family: var(--font-heading);
  font-size: 1rem; font-weight: 600; color: var(--color-text);
  transition: color .2s; gap: 16px;
}
.fh-faq-btn:hover { color: var(--color-purple); }
.fh-faq-item--open .fh-faq-btn { color: var(--color-purple); }
.fh-faq-icon {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--color-purple-tint); color: var(--color-purple);
  transition: background .2s, color .2s;
}
.fh-faq-icon__plus  { display: block; }
.fh-faq-icon__minus { display: none; }
.fh-faq-item--open .fh-faq-icon {
  background: var(--color-purple); color: #fff;
}
.fh-faq-item--open .fh-faq-icon__plus  { display: none; }
.fh-faq-item--open .fh-faq-icon__minus { display: block; }
.fh-faq-body { padding: 0 4px 20px; }
.fh-faq-body p { font-size: .95rem; color: var(--color-muted); line-height: 1.8; }

/* ── DOWNLOAD CTA ────────────────────────────────────────── */
.fh-cta {
  position: relative; overflow: hidden;
  background: linear-gradient(140deg, #3d3880 0%, #635DA9 55%, #7b75c2 100%);
  padding: 96px 0;
}
.fh-cta__bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.fh-cta__orb { position: absolute; border-radius: 50%; filter: blur(90px); }
.fh-cta__orb--1 { width: 520px; height: 520px; top: -120px; right: -100px; background: rgba(101,161,215,.22); }
.fh-cta__orb--2 { width: 360px; height: 360px; bottom: -80px; left: -80px;  background: rgba(255,201,59,.15); }
.fh-cta__inner {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1fr auto;
  align-items: center; gap: 64px;
}
.fh-cta__text { display: flex; flex-direction: column; gap: 22px; }
.fh-cta__h2 {
  font-family: var(--font-heading); font-size: clamp(1.75rem, 3.5vw, 2.6rem);
  font-weight: 800; color: #fff; letter-spacing: -.03em; line-height: 1.18;
}
.fh-cta__sub { font-size: .95rem; color: rgba(255,255,255,.72); line-height: 1.75; max-width: 480px; }
.fh-cta__qr  { display: flex; gap: 20px; flex-wrap: wrap; }
.fh-cta__qr-item { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.fh-cta__qr-item img { width: 88px; height: 88px; border-radius: 10px; background: #fff; object-fit: contain; padding: 4px; }
.fh-cta__qr-item span { font-size: .7rem; color: rgba(255,255,255,.55); font-weight: 600; }
.fh-cta__visual {
  position: relative; display: flex; align-items: center; justify-content: center;
  animation: fhFloat 5s ease-in-out infinite;
}
.fh-cta__float {
  position: absolute; font-size: 1.6rem;
  animation: fhFloat 4s ease-in-out infinite;
}
.fh-cta__float--1 { top: -24px;    right: -24px; animation-delay: .2s; }
.fh-cta__float--2 { bottom: 40px;  right: -32px; animation-delay: .8s; }
.fh-cta__float--3 { bottom: -20px; left:  -20px; animation-delay: 1.2s; }

/* ── KEYFRAMES ───────────────────────────────────────────── */
@keyframes fhFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1024px) {
  .fh-hero__inner  { grid-template-columns: 1fr; text-align: center; padding-bottom: 72px; }
  .fh-hero__text   { align-items: center; }
  .fh-hero__lead, .fh-pills { align-self: center; }
  .fh-hero__visual { display: none; }
  .fh-split { grid-template-columns: 1fr; gap: 40px; }
  .fh-split--img-left .fh-split__visual { order: 0; }
  .fh-parent-grid { grid-template-columns: repeat(2, 1fr); }
  .fh-faq-wrap { grid-template-columns: 1fr; gap: 40px; }
  .fh-faq-header { position: static; }
  .fh-cta__inner { grid-template-columns: 1fr; }
  .fh-cta__visual { display: none; }
}
@media (max-width: 768px) {
  .fh-section { padding: 64px 0; }
  .fh-parent-grid { grid-template-columns: 1fr; }
  .fh-stats__div { display: none; }
  .fh-stats__inner { gap: 16px; }
  .fh-stat { padding: 10px 20px; }
  .fh-gallery__phones { gap: 10px; }
}
@media (max-width: 480px) {
  .fh-hero__h1 { font-size: 2rem; }
  .fh-pill { font-size: .72rem; padding: 5px 10px; }
  .fh-stat strong { font-size: 1.3rem; }
}
