/* ============================================================================
   FocusFlow BRAND HOMEPAGE — V5 "dark-premium hybrid" (front-page.php).

   Source of truth translated faithfully:
   /home/lb/skills/summary-site/pages/focusflow/homepage-concepts/v5.html
   (operator-locked 2026-07-25).

   SCOPING (hard constraint — PDP at /focusflow/ must stay byte-identical):
     - Every content selector is namespaced under `.ff-v5-home`, the wrapper
       class on the <main> this template prints. Nothing here is a bare
       global selector.
     - The two exceptions that must reach OUTSIDE <main> (page background +
       the shared site-header/site-footer chrome) are scoped under
       `body.ff-v5-dark`, a body class added ONLY when is_front_page() is
       true (see front-page.php). header.php/footer.php markup is never
       touched — only restyled via these selectors.
     - `.ffv5-announce` (the announcement bar, injected via wp_body_open
       so it sits above the real nav) is its own unique, unambiguous class
       name and is never printed outside this template.
   This file loads ONLY on the front page (enqueued from front-page.php).

   Fonts: reuses the theme's existing self-hosted files
   (assets/fonts_opt/Poppins-{SemiBold,Bold}.woff2, Inter-var.woff2) — same
   files focusflow-lp.css already declares, no new font weights fetched.
   V5's Poppins-500 usages are folded into 600 (closest available weight);
   purely typographic, not a content change.
   ========================================================================== */

@font-face{
  font-family:"FFV5Poppins";
  src:url("../fonts_opt/Poppins-SemiBold.woff2") format("woff2");
  font-weight:500 600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"FFV5Poppins";
  src:url("../fonts_opt/Poppins-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"FFV5Inter";
  src:url("../fonts_opt/Inter-var.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap;
}

/* smooth in-page anchor scrolling, scoped to documents that contain the dark
   homepage body only (modern :has(), safe in 2026 evergreen browsers) */
html:has(body.ff-v5-dark){ scroll-behavior:smooth; }

/* ============================================================================
   BODY-LEVEL: page background + brand tokens (must reach outside <main> so
   the real header/footer sit on the same dark ground, not a white gutter).
   ========================================================================== */
body.ff-v5-dark{
  --navy-0:#0b161d; --navy-1:#0e1b24; --navy-2:#12232f; --navy-3:#16303f; --navy-brand:#1a3a52;
  --sand:#d4a574; --sand-bright:#e6bd8f; --sand-deep:#b98a5b;
  --cream:#fdfaf5; --cream-70:rgba(253,250,245,.72); --cream-50:rgba(253,250,245,.5); --cream-35:rgba(253,250,245,.35);
  --line:rgba(212,165,116,.22); --line-soft:rgba(253,250,245,.08); --glow:rgba(212,165,116,.35);
  --maxw:1200px; --ease:cubic-bezier(.22,.61,.36,1);

  margin:0;
  background:var(--navy-1);
  color:var(--cream);
  font-family:"FFV5Inter",system-ui,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.ff-v5-dark::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1100px 700px at 78% -8%, rgba(212,165,116,.14), transparent 60%),
    radial-gradient(900px 800px at -10% 30%, rgba(26,58,82,.55), transparent 55%),
    radial-gradient(1200px 900px at 60% 115%, rgba(26,58,82,.35), transparent 60%),
    linear-gradient(180deg,#0b161d 0%, #0e1b24 45%, #0b141b 100%);
}
body.ff-v5-dark::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- announcement bar (own hook, prints above the real nav) ---- */
.ffv5-announce{
  background:linear-gradient(90deg,#0a1319,#122735,#0a1319);
  border-bottom:1px solid rgba(253,250,245,.08);
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(253,250,245,.72);
  font-family:"FFV5Poppins",sans-serif;font-weight:500;
  position:relative;z-index:61;
}
.ffv5-announce-inner{
  max-width:1200px;margin:0 auto;padding:11px 28px;
  display:flex;justify-content:center;gap:26px;align-items:center;flex-wrap:wrap;
}
.ffv5-announce b{color:#d4a574;font-weight:600;}
.ffv5-announce .dot{width:4px;height:4px;border-radius:50%;background:#d4a574;opacity:.7;display:inline-block;}

/* ============================================================================
   SHARED CHROME RESKIN (site-header / site-footer from header.php / footer.php
   — markup untouched, colors/backgrounds overridden here only).
   ========================================================================== */
body.ff-v5-dark .site-header{
  background:rgba(11,20,27,.82);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border-bottom-color:var(--line-soft);
}
body.ff-v5-dark .site-header__brand,
body.ff-v5-dark .site-header__name{ color:var(--cream); }
body.ff-v5-dark .site-header__brand:hover{ opacity:.8; }
/* Logo sizing (fix 2026-07-25): belt-and-suspenders on top of the DOM-nesting
   fix in front-page.php's get_custom_logo filter — pins the rendered wordmark
   to a sensible header height regardless of what the parent theme's own
   `.site-header__brand .custom-logo{height:2rem}` rule does or doesn't match,
   vertically centered, never overflowing, crisp on retina (source PNG is
   366x96, far above the rendered box, so no upscaling blur at any width). */
body.ff-v5-dark .site-header__brand{ display:flex; align-items:center; }
body.ff-v5-dark .site-header__brand .custom-logo{
  height:32px; max-height:32px; width:auto; display:block; object-fit:contain;
}
@media (max-width:640px){
  body.ff-v5-dark .site-header__brand .custom-logo{ height:26px; max-height:26px; }
}
body.ff-v5-dark .site-nav__list a{ color:var(--cream-70); }
body.ff-v5-dark .site-nav__list a:hover,
body.ff-v5-dark .site-nav__list .current-menu-item > a,
body.ff-v5-dark .site-nav__list .current_page_item > a{ color:var(--sand); background:transparent; }
/* Dead-control fix (2026-07-25): V5 is a deliberate, operator-locked
   single-theme dark world — no light variant exists or is planned. The
   parent instawhew chrome's light/dark toggle (#theme-toggle) only flips the
   [data-theme] attribute that the PARENT theme's own tokens.css reacts to;
   nothing in this file is scoped to [data-theme], so every rule above is
   unconditionally dark regardless of the toggle state — clicking it has zero
   visible effect on this page. A dead control is worse than no control, so
   it is hidden (not just restyled) on the front page only via this
   body.ff-v5-dark scope, which never touches the toggle's real, working
   implementation on any other template.  */
body.ff-v5-dark .theme-toggle{ display:none; }
body.ff-v5-dark .nav-toggle__bar{ background:var(--cream); }

body.ff-v5-dark .site-footer{
  background:linear-gradient(180deg,var(--navy-1),var(--navy-0));
  border-top-color:var(--line-soft);
}
body.ff-v5-dark .site-footer__brand,
body.ff-v5-dark .site-footer__copy{ color:var(--cream-50); }
body.ff-v5-dark .site-footer__brand:hover{ opacity:.75; }
body.ff-v5-dark .site-footer__links a{ color:var(--cream-70); }
body.ff-v5-dark .site-footer__links a:hover{ color:var(--sand); }
body.ff-v5-dark .site-footer__brand svg rect{ fill:var(--sand); }

/* ============================================================================
   CONTENT — everything below lives inside <main class="ff-v5-home">.
   ========================================================================== */
.ff-v5-home{ display:block; }
.ff-v5-home *{ box-sizing:border-box; }
.ff-v5-home img{ max-width:100%; display:block; }
.ff-v5-home a{ color:inherit; text-decoration:none; }
.ff-v5-home h1,.ff-v5-home h2,.ff-v5-home h3,.ff-v5-home h4{
  font-family:"FFV5Poppins",sans-serif;font-weight:600;line-height:1.08;margin:0;letter-spacing:-.01em;
}
.ff-v5-home .wrap{ max-width:var(--maxw,1200px); margin:0 auto; padding:0 28px; }
.ff-v5-home .eyebrow{
  font-family:"FFV5Poppins",sans-serif;font-weight:600;font-size:12px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--sand);margin:0 0 18px;display:inline-flex;align-items:center;gap:12px;
}
.ff-v5-home .eyebrow::before{ content:""; width:26px; height:1px; background:var(--sand); opacity:.6; }
.ff-v5-home .section{ padding:118px 0; position:relative; }
.ff-v5-home .section-tight{ padding:84px 0; }
.ff-v5-home .lede{ color:var(--cream-70); font-size:19px; max-width:60ch; }
.ff-v5-home .center{ text-align:center; }
.ff-v5-home .center .eyebrow::before{ display:none; }
.ff-v5-home .center .eyebrow{ gap:0; }

/* ---- tag / chip / pill system ---- */
.ff-v5-home .tag{
  display:inline-flex;align-items:center;gap:.45em;font-family:"FFV5Poppins",sans-serif;font-weight:600;
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:.5em .95em;border-radius:999px;
  background:rgba(253,250,245,.05);border:1px solid var(--line);color:var(--cream-70);line-height:1;
}
.ff-v5-home .tag svg{ width:14px; height:14px; color:var(--sand); flex:none; }
.ff-v5-home .tag.glow{ background:rgba(212,165,116,.12); border-color:var(--line); color:var(--sand-bright); }
.ff-v5-home .tag.sand{
  background:linear-gradient(135deg,var(--sand-bright),var(--sand-deep));border-color:transparent;
  color:#231708;box-shadow:0 8px 20px -8px var(--glow);
}
.ff-v5-home .tag.sand svg{ color:#231708; }

/* ---- buttons ---- */
.ff-v5-home .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:"FFV5Poppins",sans-serif;font-weight:600;font-size:15px;letter-spacing:.02em;
  padding:16px 30px;border-radius:999px;cursor:pointer;border:1px solid transparent;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
  position:relative;white-space:nowrap;
}
.ff-v5-home .btn-primary{
  background:linear-gradient(135deg,var(--sand-bright),var(--sand-deep));
  color:#231708;box-shadow:0 0 0 rgba(212,165,116,0), 0 14px 34px rgba(212,165,116,.16);
}
.ff-v5-home .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 0 34px var(--glow), 0 18px 40px rgba(212,165,116,.28); }
.ff-v5-home .btn-ghost{ background:transparent; color:var(--cream); border:1px solid var(--line); }
.ff-v5-home .btn-ghost:hover{ border-color:var(--sand); color:var(--sand-bright); transform:translateY(-2px); }
.ff-v5-home .btn .arw{ transition:transform .3s var(--ease); }
.ff-v5-home .btn:hover .arw{ transform:translateX(4px); }
.ff-v5-home .btn svg{ width:1.05em; height:1.05em; }

/* ---- HERO ---- */
.ff-v5-home .hero{ position:relative; min-height:calc(100vh - 60px); display:flex; align-items:center; overflow:hidden; padding:56px 0 70px; }
.ff-v5-home .hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; width:100%; }
.ff-v5-home .hero h1{ font-size:clamp(42px,6.4vw,80px); font-weight:700; letter-spacing:-.02em; }
.ff-v5-home .hero h1 .accent{ color:var(--sand); display:block; font-style:italic; font-weight:600; }
.ff-v5-home .hero .sub{ margin:24px 0 0; max-width:46ch; font-size:19px; color:var(--cream-70); }
.ff-v5-home .hero .sub b{ color:var(--cream); font-weight:600; }
.ff-v5-home .kicker{
  display:inline-flex;align-items:center;gap:.55em;margin-bottom:20px;
  background:rgba(11,20,27,.5);border:1px solid var(--line);border-radius:999px;padding:.48rem .95rem;
  font-family:"FFV5Poppins",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.05em;color:var(--sand-bright);
}
.ff-v5-home .kicker .pulse{ width:8px; height:8px; border-radius:50%; background:var(--sand); box-shadow:0 0 0 0 var(--glow); animation:ffv5Pulse 2.2s infinite; }
@keyframes ffv5Pulse{ 0%{box-shadow:0 0 0 0 rgba(212,165,116,.5)} 70%{box-shadow:0 0 0 12px rgba(212,165,116,0)} 100%{box-shadow:0 0 0 0 rgba(212,165,116,0)} }
.ff-v5-home .hero-cta{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-top:32px; }
.ff-v5-home .hero-price{ font-family:"FFV5Poppins",sans-serif; font-weight:600; color:var(--cream); font-size:14.5px; margin-top:18px; }
.ff-v5-home .hero-price b{ color:var(--sand); }
.ff-v5-home .hero-trust{ display:flex; gap:24px; margin-top:24px; flex-wrap:wrap; }
.ff-v5-home .hero-trust .t{ display:inline-flex; align-items:center; gap:.55em; font-size:13.5px; font-weight:500; color:var(--cream-70); }
.ff-v5-home .hero-trust .t svg{ width:18px; height:18px; color:var(--sand); flex:none; }
.ff-v5-home .hero-media{ position:relative; aspect-ratio:4/5; border-radius:20px; overflow:hidden; box-shadow:0 40px 90px -30px rgba(0,0,0,.8), inset 0 0 0 1px var(--line-soft); }
.ff-v5-home .hero-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 100% at 50% 0%, transparent 55%, rgba(11,20,27,.55) 100%),
  linear-gradient(180deg,transparent 60%, rgba(11,20,27,.4));
}
.ff-v5-home .hero-media img{ width:100%; height:100%; object-fit:cover; transform-origin:60% 55%; }
.ff-v5-home .hero-glow{
  position:absolute;width:60%;height:60%;border-radius:50%;
  background:radial-gradient(circle, var(--glow), transparent 70%);
  filter:blur(30px);top:8%;right:-6%;z-index:-1;
}
.ff-v5-home .zoom-slow{ animation:ffv5HeroZoom 22s ease-in-out infinite alternate; }
@keyframes ffv5HeroZoom{ from{transform:scale(1.02)} to{transform:scale(1.12)} }
.ff-v5-home .hero-badge{
  position:absolute;z-index:3;display:flex;align-items:center;gap:.75rem;
  background:rgba(11,20,27,.72);backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:16px;padding:.8rem .95rem;
  box-shadow:0 16px 40px -18px rgba(0,0,0,.85), 0 0 26px -14px var(--glow);
}
.ff-v5-home .hero-badge .ring{ width:38px; height:38px; border-radius:50%; background:rgba(212,165,116,.14); border:1px solid var(--line); display:grid; place-items:center; color:var(--sand); flex:none; }
.ff-v5-home .hero-badge .ring svg{ width:20px; height:20px; }
.ff-v5-home .hero-badge .num{ font-family:"FFV5Poppins",sans-serif; font-weight:700; font-size:1.4rem; color:var(--sand); line-height:1; }
.ff-v5-home .hero-badge .lab{ font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--cream-70); margin-top:3px; line-height:1.25; }
.ff-v5-home .hero-badge.b1{ left:-16px; top:20px; }
.ff-v5-home .hero-badge.b2{ right:-14px; bottom:22px; }

/* ---- trust marquee ---- */
.ff-v5-home .trustbar{
  position:relative;overflow:hidden;
  background:linear-gradient(90deg,#0a1319,#122735,#0a1319);
  border-top:2px solid var(--sand);border-bottom:1px solid var(--line-soft);
}
.ff-v5-home .trustbar::before,.ff-v5-home .trustbar::after{ content:""; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.ff-v5-home .trustbar::before{ left:0; background:linear-gradient(90deg,#0a1319,transparent); }
.ff-v5-home .trustbar::after{ right:0; background:linear-gradient(270deg,#0a1319,transparent); }
.ff-v5-home .trustbar .track{ display:inline-flex; gap:2.6rem; padding:.95rem 0; white-space:nowrap; animation:ffv5Marq 34s linear infinite; will-change:transform; }
.ff-v5-home .trustbar .track span{ display:inline-flex; align-items:center; gap:.55em; font-family:"FFV5Poppins",sans-serif; font-weight:500; font-size:.88rem; letter-spacing:.03em; color:var(--cream-70); }
.ff-v5-home .trustbar .track svg{ width:16px; height:16px; color:var(--sand); flex:none; }
@keyframes ffv5Marq{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ---- wedge / cinematic band ---- */
.ff-v5-home .band{ position:relative; overflow:hidden; isolation:isolate; }
.ff-v5-home .band-bg{ position:absolute; inset:0; z-index:-2; }
.ff-v5-home .band-bg img{ width:100%; height:100%; object-fit:cover; }
.ff-v5-home .band-scrim{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg, rgba(11,20,27,.94) 0%, rgba(11,20,27,.8) 42%, rgba(11,20,27,.35) 100%),
  linear-gradient(180deg, rgba(11,20,27,.6), rgba(11,20,27,.55));
}
.ff-v5-home .wedge{ padding:130px 0; }
.ff-v5-home .wedge .inner{ max-width:640px; }
.ff-v5-home .wedge h2{ font-size:clamp(30px,4.4vw,50px); font-weight:700; }
.ff-v5-home .wedge h2 em{ color:var(--sand); font-style:italic; }
.ff-v5-home .wedge p{ color:var(--cream-70); font-size:19px; margin-top:22px; }
.ff-v5-home .wedge .pills{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:28px; }

/* ---- why / mechanism ---- */
.ff-v5-home .mech-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.ff-v5-home .chart-card{
  background:linear-gradient(160deg,var(--navy-2),var(--navy-1));
  border:1px solid var(--line-soft);border-radius:20px;padding:30px 28px 22px;
  box-shadow:0 30px 70px -40px rgba(0,0,0,.9);
}
.ff-v5-home .chart-legend{ display:flex; flex-direction:column; gap:12px; margin-top:20px; }
.ff-v5-home .leg{ display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--cream-70); }
.ff-v5-home .leg .sw{ width:22px; height:3px; border-radius:2px; margin-top:9px; flex:none; }
.ff-v5-home .leg b{ color:var(--cream); font-weight:600; }
.ff-v5-home .mech-copy h2{ font-size:clamp(28px,4vw,46px); font-weight:700; }
.ff-v5-home .mech-copy h2 em{ font-style:italic; color:var(--sand); }
.ff-v5-home .mech-copy p{ color:var(--cream-70); margin-top:22px; font-size:18px; }
.ff-v5-home .mech-stats{ display:flex; gap:34px; margin-top:32px; flex-wrap:wrap; }
.ff-v5-home .mstat .n{ font-family:"FFV5Poppins",sans-serif; font-weight:700; font-size:34px; color:var(--sand); line-height:1; }
.ff-v5-home .mstat .l{ font-size:13px; color:var(--cream-50); text-transform:uppercase; letter-spacing:.1em; margin-top:6px; }

/* ---- what's inside: doses grid ---- */
.ff-v5-home .inside-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:14px; }
.ff-v5-home .icard{
  position:relative;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;
  border:1px solid var(--line-soft);
  background:linear-gradient(165deg, rgba(22,48,63,.85), rgba(18,35,47,.92));
  box-shadow:0 20px 50px -34px rgba(0,0,0,.85);
  transition:transform .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);
}
.ff-v5-home .icard:hover{ transform:translateY(-6px); border-color:var(--line); box-shadow:0 30px 60px -30px rgba(0,0,0,.8), 0 0 40px -20px var(--glow); }
.ff-v5-home .icard .media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--navy-3); }
.ff-v5-home .icard .media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.ff-v5-home .icard:hover .media img{ transform:scale(1.06); }
.ff-v5-home .icard .media::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(11,20,27,.04) 0%, rgba(11,20,27,.34) 100%); }
.ff-v5-home .icard .media.iconly{ display:grid; place-items:center; background:linear-gradient(135deg,var(--navy-brand),var(--navy-2)); }
.ff-v5-home .icard .media.iconly::after{ background:radial-gradient(120% 120% at 50% 18%, rgba(212,165,116,.12), transparent 70%); }
.ff-v5-home .icard .media.iconly svg{ position:relative; z-index:1; width:60px; height:60px; color:var(--sand); opacity:.92; }
.ff-v5-home .icard .dose{
  position:absolute;top:12px;right:12px;z-index:2;font-family:"FFV5Poppins",sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.02em;color:var(--sand);padding:5px 12px;border-radius:999px;
  border:1px solid var(--line);background:rgba(11,20,27,.62);backdrop-filter:blur(6px);
}
.ff-v5-home .icard .body{ position:relative; z-index:1; padding:22px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.ff-v5-home .icard h3{ font-size:21px; font-weight:600; color:var(--cream); }
.ff-v5-home .icard p{ font-size:14.5px; color:var(--cream-70); line-height:1.55; }
.ff-v5-home .icard.noblend{
  justify-content:center;
  background:linear-gradient(160deg, rgba(26,58,82,.30), rgba(18,35,47,.6));
  border:1px dashed var(--line);
}
.ff-v5-home .icard.noblend .body{ align-items:center; justify-content:center; text-align:center; padding:34px 26px; gap:6px; }
.ff-v5-home .icard.noblend .shield{ width:46px; height:46px; color:var(--sand); margin-bottom:6px; }
.ff-v5-home .icard.noblend h3{ font-size:22px; }

/* ---- ritual ---- */
.ff-v5-home .ritual-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:16px; }
.ff-v5-home .step{ position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--line-soft); background:var(--navy-2); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.ff-v5-home .step:hover{ transform:translateY(-5px); box-shadow:0 24px 50px -28px rgba(0,0,0,.8); }
.ff-v5-home .step .pic{ aspect-ratio:1/1; overflow:hidden; position:relative; }
.ff-v5-home .step .pic img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.ff-v5-home .step:hover .pic img{ transform:scale(1.07); }
.ff-v5-home .step .pic::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%, rgba(11,20,27,.85)); }
.ff-v5-home .step .num{
  position:absolute;top:14px;left:14px;z-index:2;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--sand);color:var(--sand);display:grid;place-items:center;
  font-family:"FFV5Poppins",sans-serif;font-weight:600;font-size:15px;background:rgba(11,20,27,.6);backdrop-filter:blur(4px);
}
.ff-v5-home .step .cap{ padding:18px 18px 20px; }
.ff-v5-home .step .cap h3{ font-size:18px; color:var(--cream); }
.ff-v5-home .step .cap p{ font-size:13.5px; color:var(--cream-70); margin-top:6px; }

/* ---- comparison table ---- */
.ff-v5-home .cmp-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:18px; border-radius:18px; }
.ff-v5-home .cmp{
  width:100%;border-collapse:separate;border-spacing:0;min-width:680px;
  background:linear-gradient(180deg,var(--navy-2),var(--navy-1));border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;
}
.ff-v5-home .cmp th,.ff-v5-home .cmp td{ padding:17px 20px; text-align:left; font-size:15px; border-bottom:1px solid var(--line-soft); }
.ff-v5-home .cmp thead th{ font-family:"FFV5Poppins",sans-serif; font-weight:600; font-size:14px; letter-spacing:.02em; color:var(--cream); background:rgba(11,20,27,.4); vertical-align:bottom; }
.ff-v5-home .cmp tbody th{ font-weight:500; color:var(--cream-50); font-family:"FFV5Inter",sans-serif; font-size:13.5px; text-transform:uppercase; letter-spacing:.06em; width:22%; }
.ff-v5-home .cmp td{ color:var(--cream-70); transition:background .2s; }
.ff-v5-home .cmp .col-us{
  background:linear-gradient(180deg, rgba(212,165,116,.13), rgba(212,165,116,.06));color:var(--cream);font-weight:500;position:relative;
  border-left:1px solid var(--line);border-right:1px solid var(--line);
}
.ff-v5-home .cmp thead th.us{
  color:var(--sand);background:linear-gradient(180deg, rgba(212,165,116,.2), rgba(212,165,116,.07));
  border-top:2px solid var(--sand);border-left:1px solid var(--line);border-right:1px solid var(--line);
  box-shadow:0 -6px 26px -8px var(--glow);
}
.ff-v5-home .cmp tbody tr:hover td{ background:rgba(253,250,245,.03); }
.ff-v5-home .cmp tbody tr:hover td.col-us{ background:linear-gradient(180deg, rgba(212,165,116,.2), rgba(212,165,116,.1)); }
.ff-v5-home .cmp .head-brand{ display:inline-flex; align-items:center; gap:.5em; font-size:16px; font-weight:700; }
.ff-v5-home .cmp .head-brand .star{ color:var(--sand); font-size:15px; }
.ff-v5-home .cmp .us-tag{
  display:inline-flex;margin-bottom:8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#231708;font-weight:700;
  background:linear-gradient(135deg,var(--sand-bright),var(--sand-deep));padding:.35em .7em;border-radius:999px;
}
.ff-v5-home .cmp .col-us .ck{ display:inline-flex; align-items:baseline; gap:.5em; font-weight:600; color:var(--cream); }
.ff-v5-home .cmp .col-us .ck svg{ width:15px; height:15px; color:var(--sand); flex:none; align-self:center; }
.ff-v5-home .cmp td.cross{ color:var(--cream-35); }
/* Row-height/oversized-X fix (2026-07-25): the source design (v5.html) never
   renders an X glyph in comparison cells at all — it only dims the cell text
   color (`.cmp td.cross{color:var(--cream-35)}` above, verbatim from source).
   This WP port additionally marks up a literal X icon ($svg_cross in
   front-page.php) that the source doesn't have, and it shipped with no size
   rule anywhere — an inline <svg> with no width/height/CSS sizing renders at
   the browser's default replaced-element box (300x150 in Chromium), which
   blew up every flagged row to that height and made the mark itself look
   like a giant, mostly-empty glyph. Sized here to match the check icon's
   treatment (15px, inline-flex with the text) so rows return to the
   source's compact ~17px-padding row height. */
.ff-v5-home .cmp .xmark{ display:inline-flex; align-items:baseline; gap:.5em; }
.ff-v5-home .cmp .xmark svg{ width:13px; height:13px; color:var(--cream-35); flex:none; align-self:center; }
.ff-v5-home .cmp tr:last-child td,.ff-v5-home .cmp tr:last-child th{ border-bottom:none; }

/* ---- quick offer strip ---- */
.ff-v5-home .offerstrip{
  position:relative;overflow:hidden;
  background:linear-gradient(120deg, rgba(26,58,82,.55), rgba(18,35,47,.92));
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.ff-v5-home .offerstrip::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(700px 240px at 12% 50%, rgba(212,165,116,.16), transparent 70%); }
.ff-v5-home .offerstrip .inner{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:34px 0; flex-wrap:wrap; }
.ff-v5-home .offerstrip h3{ font-size:clamp(1.35rem,2.6vw,1.7rem); font-weight:700; color:var(--cream); }
.ff-v5-home .offerstrip .os-sub{ font-weight:500; color:var(--cream-70); margin-top:6px; font-size:15px; }
.ff-v5-home .offerstrip .right{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.ff-v5-home .offerstrip .savepill{
  font-family:"FFV5Poppins",sans-serif;font-weight:700;font-size:.9rem;padding:.55em 1.05em;border-radius:999px;
  background:linear-gradient(135deg,var(--sand-bright),var(--sand-deep));color:#231708;box-shadow:0 10px 26px -10px var(--glow);
}

/* ---- proof ---- */
.ff-v5-home .proof-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.ff-v5-home .proof-disclaim{ font-size:13px; color:var(--cream-50); max-width:52ch; border-left:2px solid var(--line); padding-left:16px; }
.ff-v5-home .proof-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:34px; }
.ff-v5-home .study{
  background:linear-gradient(165deg,var(--navy-2),var(--navy-1));border:1px solid var(--line-soft);border-radius:16px;
  padding:26px 26px 22px;transition:transform .35s var(--ease), border-color .35s;position:relative;overflow:hidden;
}
.ff-v5-home .study::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(var(--sand),transparent); opacity:.5; }
.ff-v5-home .study:hover{ transform:translateY(-4px); border-color:var(--line); }
.ff-v5-home .study .stopic{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--sand); font-weight:600; }
.ff-v5-home .study h3{ font-size:19px; margin-top:10px; color:var(--cream); font-weight:600; }
.ff-v5-home .study p{ font-size:14.5px; color:var(--cream-70); margin-top:10px; line-height:1.6; }
.ff-v5-home .study .cite{ font-size:12.5px; color:var(--cream-50); margin-top:14px; padding-top:12px; border-top:1px solid var(--line-soft); }
.ff-v5-home .study .cite a{ color:inherit; }
.ff-v5-home .study .cite b{ color:var(--cream-70); font-weight:600; }

/* ---- founder ---- */
.ff-v5-home .founder-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:center; }
.ff-v5-home .founder-photo{ position:relative; border-radius:20px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 40px 90px -40px rgba(0,0,0,.85), inset 0 0 0 1px var(--line-soft); }
.ff-v5-home .founder-photo img{ width:100%; height:100%; object-fit:cover; }
.ff-v5-home .founder-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%, rgba(11,20,27,.45)); }
.ff-v5-home .founder-quote{ font-family:"FFV5Poppins",sans-serif; font-weight:600; font-size:clamp(24px,3vw,34px); line-height:1.25; letter-spacing:-.01em; }
.ff-v5-home .founder-quote .q{ color:var(--sand); }
.ff-v5-home .founder-copy .eyebrow{ margin-bottom:22px; }
.ff-v5-home .founder-copy p{ color:var(--cream-70); margin-top:22px; font-size:17px; }
.ff-v5-home .founder-sign{ margin-top:26px; display:flex; align-items:center; gap:14px; }
.ff-v5-home .founder-sign .line{ width:34px; height:1px; background:var(--sand); }
.ff-v5-home .founder-sign b{ font-family:"FFV5Poppins",sans-serif; color:var(--cream); font-weight:600; }
.ff-v5-home .founder-sign span{ color:var(--cream-50); font-size:14px; }
.ff-v5-home .founder-chips{ display:flex; gap:.55rem; flex-wrap:wrap; margin-top:26px; }

/* ---- buy ---- */
.ff-v5-home .buy{ position:relative; overflow:hidden; }
.ff-v5-home .buy .buy-grid{
  display:grid;grid-template-columns:1.02fr .98fr;gap:0;align-items:stretch;
  border:1px solid var(--line-soft);border-radius:24px;overflow:hidden;background:var(--navy-2);
}
.ff-v5-home .buy-media{ position:relative; min-height:520px; }
.ff-v5-home .buy-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ff-v5-home .buy-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 40%, rgba(18,35,47,.9) 100%),linear-gradient(180deg,transparent, rgba(11,20,27,.3)); }
.ff-v5-home .buy-media .ribbon{
  position:absolute;top:18px;left:18px;z-index:2;font-family:"FFV5Poppins",sans-serif;font-weight:600;
  font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.5em .95em;border-radius:999px;
  background:linear-gradient(135deg,var(--sand-bright),var(--sand-deep));color:#231708;box-shadow:0 8px 22px -8px var(--glow);
}
.ff-v5-home .buy-panel{ padding:48px 44px; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:1; }
.ff-v5-home .buy-panel h2{ font-size:clamp(28px,3.6vw,42px); font-weight:700; }
.ff-v5-home .buy-panel h2 em{ font-style:italic; color:var(--sand); }
.ff-v5-home .buy-panel .sub{ color:var(--cream-70); margin-top:14px; }
.ff-v5-home .price{ display:flex; align-items:baseline; gap:14px; margin:24px 0 4px; }
.ff-v5-home .price .now{ font-family:"FFV5Poppins",sans-serif; font-weight:700; font-size:44px; color:var(--cream); line-height:1; }
.ff-v5-home .price .was{ color:var(--cream-50); text-decoration:line-through; font-size:22px; }
.ff-v5-home .price .per{ color:var(--sand); font-size:14px; font-family:"FFV5Poppins",sans-serif; font-weight:600; }
.ff-v5-home .buy-panel .save{ font-size:13px; color:var(--cream-50); letter-spacing:.04em; }
.ff-v5-home .tiers{ display:flex; flex-direction:column; gap:12px; margin-top:26px; }
.ff-v5-home .tier{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:rgba(11,20,27,.5);border:1.5px solid var(--line-soft);border-radius:16px;padding:15px 18px;
  cursor:pointer;transition:.25s var(--ease);position:relative;
}
.ff-v5-home .tier:hover{ border-color:var(--line); transform:translateY(-2px); }
.ff-v5-home .tier.active{ border-color:var(--sand); background:linear-gradient(160deg, rgba(212,165,116,.15), rgba(212,165,116,.05)); box-shadow:0 0 30px -12px var(--glow); }
.ff-v5-home .tier .l{ display:flex; align-items:center; gap:14px; }
.ff-v5-home .tier .radio{ width:20px; height:20px; border-radius:50%; border:2px solid var(--line); flex:none; position:relative; transition:.2s; }
.ff-v5-home .tier.active .radio{ border-color:var(--sand); }
.ff-v5-home .tier.active .radio::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--sand); }
.ff-v5-home .tier .name{ font-family:"FFV5Poppins",sans-serif; font-weight:600; color:var(--cream); }
.ff-v5-home .tier .desc{ font-size:.8rem; color:var(--cream-50); margin-top:2px; }
.ff-v5-home .tier .r{ text-align:right; }
.ff-v5-home .tier .per-n{ font-family:"FFV5Poppins",sans-serif; font-weight:700; color:var(--sand); font-size:1.15rem; line-height:1; }
.ff-v5-home .tier .perlab{ font-size:.7rem; color:var(--cream-50); margin-top:3px; }
.ff-v5-home .tier .flag{
  position:absolute;top:-11px;right:16px;font-family:"FFV5Poppins",sans-serif;font-weight:700;font-size:.64rem;
  letter-spacing:.06em;text-transform:uppercase;padding:.32em .8em;border-radius:999px;
  background:linear-gradient(135deg,var(--sand-bright),var(--sand-deep));color:#231708;box-shadow:0 6px 16px -6px var(--glow);
}
.ff-v5-home .tier.best .flag{ background:var(--cream); color:var(--navy-brand); }
.ff-v5-home .buy-cta{ display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; }
.ff-v5-home .buy-cta .btn{ flex:1; min-width:220px; }
.ff-v5-home .buy-trust{ display:flex; gap:20px; margin-top:20px; flex-wrap:wrap; font-size:13px; color:var(--cream-50); }
.ff-v5-home .buy-trust span{ display:inline-flex; gap:7px; align-items:center; }
.ff-v5-home .buy-trust .tick{ color:var(--sand); }

/* ---- guarantee ---- */
.ff-v5-home .guar-card{
  display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  background:linear-gradient(150deg, rgba(26,58,82,.35), var(--navy-2));
  border:1px solid var(--line);border-radius:22px;padding:44px 46px;box-shadow:0 0 60px -30px var(--glow);
}
.ff-v5-home .seal{
  width:120px;height:120px;border-radius:50%;display:grid;place-items:center;flex:none;
  border:2px solid var(--sand);color:var(--sand);text-align:center;font-family:"FFV5Poppins",sans-serif;
  background:radial-gradient(circle at 50% 30%, rgba(212,165,116,.18), transparent 70%);box-shadow:0 0 40px -12px var(--glow);
}
.ff-v5-home .seal .n{ font-size:38px; font-weight:700; line-height:.9; }
.ff-v5-home .seal .u{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; margin-top:4px; }
.ff-v5-home .guar-card h2{ font-size:clamp(24px,3vw,34px); font-weight:700; }
.ff-v5-home .guar-card p{ color:var(--cream-70); margin-top:12px; }
.ff-v5-home .guar-card a.mail{ color:var(--sand); border-bottom:1px solid var(--line); }

/* ---- honest social proof ---- */
.ff-v5-home .honest-card{
  max-width:820px;margin:0 auto;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(165deg,var(--navy-2),var(--navy-1));border:1px solid var(--line-soft);border-radius:22px;
  padding:46px 42px;box-shadow:0 30px 70px -40px rgba(0,0,0,.9);
}
.ff-v5-home .honest-card::before{ content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--sand),rgba(212,165,116,0)); }
.ff-v5-home .honest-card .stars{ display:flex; gap:6px; justify-content:center; margin-bottom:14px; color:var(--sand); }
.ff-v5-home .honest-card .stars svg{ width:22px; height:22px; opacity:.35; }
.ff-v5-home .honest-card h3{ font-size:clamp(1.5rem,3vw,2rem); color:var(--cream); font-weight:700; margin-top:12px; }
.ff-v5-home .honest-card p{ color:var(--cream-70); margin-top:14px; font-size:16px; max-width:60ch; margin-left:auto; margin-right:auto; }
.ff-v5-home .honest-card .foot{ margin-top:18px; font-weight:600; color:var(--sand); font-size:14px; }

/* ---- faq ---- */
.ff-v5-home .faq-list{ max-width:820px; margin:24px auto 0; }
.ff-v5-home details{ border-bottom:1px solid var(--line-soft); padding:6px 0; }
.ff-v5-home summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 4px;font-family:"FFV5Poppins",sans-serif;font-weight:600;font-size:19px;color:var(--cream);transition:color .25s;
}
.ff-v5-home summary::-webkit-details-marker{ display:none; }
.ff-v5-home summary:hover{ color:var(--sand-bright); }
.ff-v5-home summary .ic{ flex:none; width:28px; height:28px; border:1px solid var(--line); border-radius:50%; position:relative; transition:.3s var(--ease); }
.ff-v5-home summary .ic::before,.ff-v5-home summary .ic::after{ content:""; position:absolute; background:var(--sand); transition:.3s var(--ease); }
.ff-v5-home summary .ic::before{ top:50%; left:7px; right:7px; height:1.5px; transform:translateY(-50%); }
.ff-v5-home summary .ic::after{ left:50%; top:7px; bottom:7px; width:1.5px; transform:translateX(-50%); }
.ff-v5-home details[open] summary .ic{ background:var(--sand); transform:rotate(180deg); }
.ff-v5-home details[open] summary .ic::before,.ff-v5-home details[open] summary .ic::after{ background:#231708; }
.ff-v5-home details[open] summary .ic::after{ transform:translateX(-50%) scaleY(0); }
.ff-v5-home .faq-a{ color:var(--cream-70); font-size:16px; padding:0 4px 24px; max-width:70ch; line-height:1.7; }

/* ---- footer (rich in-content footer, sits above the real slim site-footer) ---- */
.ff-v5-home .ffv5-footer-extra{ border-top:1px solid var(--line-soft); padding:70px 0 60px; background:linear-gradient(180deg,transparent,rgba(8,15,20,.6)); }
.ff-v5-home .foot-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid var(--line-soft); }
.ff-v5-home .foot-brand img{ height:26px; margin-bottom:18px; }
.ff-v5-home .foot-brand p{ color:var(--cream-50); font-size:14px; max-width:38ch; }
.ff-v5-home .foot-col h4{ font-family:"FFV5Poppins",sans-serif; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--sand); margin-bottom:16px; }
.ff-v5-home .foot-col a{ display:block; color:var(--cream-70); font-size:14.5px; margin-bottom:11px; transition:color .2s,padding .2s; }
.ff-v5-home .foot-col a:hover{ color:var(--sand); padding-left:4px; }
.ff-v5-home .foot-bottom{ padding-top:26px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12.5px; color:var(--cream-35); }
.ff-v5-home .ffv5-disclaimer{ max-width:100%; color:var(--cream-35); font-size:12px; line-height:1.6; margin-top:20px; }

/* ---- reveal-on-scroll (progressive enhancement; content visible without JS) ---- */
.ff-v5-home .reveal{ opacity:1; transform:none; }
.ff-v5-home.ffv5-js .reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.ff-v5-home.ffv5-js .reveal.ffv5-vis{ opacity:1; transform:none; }
.ff-v5-home .reveal.d1{ transition-delay:.08s; } .ff-v5-home .reveal.d2{ transition-delay:.16s; }
.ff-v5-home .reveal.d3{ transition-delay:.24s; } .ff-v5-home .reveal.d4{ transition-delay:.32s; }

/* ---- sticky mobile buy bar ---- */
.ff-v5-home .stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:rgba(11,20,27,.9);backdrop-filter:blur(12px) saturate(120%);color:var(--cream);
  box-shadow:0 -10px 40px -10px rgba(0,0,0,.7);border-top:1px solid var(--sand);
  transform:translateY(120%);transition:transform .4s var(--ease);
}
.ff-v5-home .stickybar.ffv5-show{ transform:translateY(0); }
.ff-v5-home .stickybar .sb-inner{ max-width:var(--maxw,1200px); margin:0 auto; padding:12px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ff-v5-home .sb-left{ display:flex; align-items:center; gap:14px; min-width:0; }
.ff-v5-home .sb-left img{ width:46px; height:46px; border-radius:10px; object-fit:cover; flex:none; border:1px solid var(--line-soft); }
.ff-v5-home .sb-name{ font-family:"FFV5Poppins",sans-serif; font-weight:600; font-size:1rem; color:var(--cream); line-height:1.15; }
.ff-v5-home .sb-meta{ font-size:.8rem; color:var(--cream-50); }
.ff-v5-home .sb-meta b{ color:var(--sand); }
.ff-v5-home .stickybar .btn{ padding:.85rem 1.6rem; font-size:1rem; }

/* ============================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1000px){
  .ff-v5-home .mech-grid,.ff-v5-home .founder-grid{ grid-template-columns:1fr; gap:38px; }
  .ff-v5-home .buy .buy-grid{ grid-template-columns:1fr; }
  .ff-v5-home .buy-media{ min-height:280px; }
  .ff-v5-home .inside-grid{ grid-template-columns:repeat(2,1fr); }
  .ff-v5-home .ritual-grid{ grid-template-columns:repeat(2,1fr); }
  .ff-v5-home .proof-grid{ grid-template-columns:1fr; }
}
@media(max-width:760px){
  body.ff-v5-dark{ font-size:16px; }
  .ff-v5-home .section{ padding:80px 0; }
  .ff-v5-home .wedge{ padding:96px 0; }
  .ff-v5-home .hero-grid{ grid-template-columns:1fr; gap:44px; }
  .ff-v5-home .hero-media{ aspect-ratio:4/5; max-width:440px; margin:0 auto; }
  .ff-v5-home .hero h1{ font-size:clamp(40px,11vw,58px); }
  .ff-v5-home .hero-badge.b1{ left:8px; top:14px; } .ff-v5-home .hero-badge.b2{ right:8px; bottom:16px; }
  .ff-v5-home .band-scrim{ background:linear-gradient(180deg, rgba(11,20,27,.9), rgba(11,20,27,.78)), linear-gradient(90deg, rgba(11,20,27,.7), rgba(11,20,27,.6)); }
  .ff-v5-home .guar-card{ grid-template-columns:1fr; text-align:center; justify-items:center; padding:36px 26px; }
  .ff-v5-home .foot-top{ grid-template-columns:1fr 1fr; }
  .ff-v5-home .foot-brand{ grid-column:1/-1; }
  .ff-v5-home .buy-panel{ padding:36px 26px; }
  .ff-v5-home .offerstrip .inner{ flex-direction:column; align-items:flex-start; gap:18px; }
}
@media(max-width:560px){
  .ff-v5-home .sb-meta{ display:none; }
  .ff-v5-home .stickybar .btn{ padding:.8rem 1.15rem; font-size:.92rem; }
  .ff-v5-home .sb-left img{ width:42px; height:42px; }
  .ff-v5-home .buy-cta .btn{ min-width:0; width:100%; }
}
@media(max-width:440px){
  .ff-v5-home .wrap{ padding:0 20px; }
  .ff-v5-home .inside-grid,.ff-v5-home .ritual-grid{ grid-template-columns:1fr; }
  .ff-v5-home .foot-top{ grid-template-columns:1fr; }
  .ffv5-announce-inner{ gap:14px; }
  .ff-v5-home .price .now{ font-size:38px; }
  .ff-v5-home .hero-trust{ gap:14px 18px; }
}
@media(prefers-reduced-motion:reduce){
  .ff-v5-home *{ animation:none!important; }
  html:has(body.ff-v5-dark){ scroll-behavior:auto; }
  .ff-v5-home.ffv5-js .reveal,.ff-v5-home .reveal{ opacity:1!important; transform:none!important; transition:none!important; }
  .ff-v5-home .zoom-slow{ animation:none!important; }
  .ff-v5-home .trustbar .track{ animation:none!important; padding-left:16px; }
  .ff-v5-home .kicker .pulse{ animation:none!important; }
}

/* ---- 100vh hero min-height fallback for older mobile Safari (dvh) ---- */
@supports (min-height: 100dvh){
  .ff-v5-home .hero{ min-height:calc(100dvh - 60px); }
}
