:root{
  --bg:#0a0c12;
  --bg2:#0f1420;
  --panel:#161b27;
  --panel2:#1c2434;
  --text:#eef2ff;
  --muted:#a9b3cb;
  --line:#2a3144;
  --accent:#8b5cf6;
  --accent2:#ec4899;
  --accent3:#22c55e;
  --warn:#f59e0b;
  --shadow:0 16px 48px rgba(0,0,0,.32);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(139,92,246,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(236,72,153,.12), transparent 28%),
    linear-gradient(180deg,var(--bg),var(--bg2) 40%,#0c1018 100%);
}
.shell{max-width:1320px;margin:0 auto;padding:28px}
.hero{
  display:grid;
  grid-template-columns:1.6fr .8fr;
  gap:20px;
  margin-bottom:22px;
  padding:28px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(22,27,39,.95),rgba(18,22,32,.94));
  border-radius:28px;
  box-shadow:var(--shadow);
}
.hero-copy h1{margin:8px 0 12px;font-size:38px;line-height:1.1;max-width:840px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent3)}
.sub{margin:0;color:var(--muted);font-size:16px;line-height:1.55;max-width:760px}
.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.hero-btn{border:none;cursor:pointer;border-radius:16px;padding:13px 18px;font-weight:700}
.hero-btn.primary{background:linear-gradient(135deg,var(--accent),#6d28d9);color:#fff}
.hero-btn.secondary{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.1)}
.hero-status{display:grid;grid-template-columns:1fr;gap:14px}
.status-card{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  border-radius:22px;
  padding:18px;
}
.status-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px}
.status-value{font-size:16px;font-weight:700}
.lane-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.lane-card{
  padding:18px;border-radius:22px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)
}
.lane-title{font-weight:700;margin-bottom:8px}
.lane-text{color:var(--muted);line-height:1.5;font-size:14px}
.tabbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.tab{
  border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);
  padding:12px 18px;border-radius:14px;cursor:pointer
}
.tab.utility{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.2)}
.tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent}
.panel{display:none}
.panel.active{display:block}
.grid{display:grid;gap:18px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
  border-radius:24px;padding:22px;
  background:linear-gradient(180deg,rgba(23,28,40,.96),rgba(18,22,32,.94));
  border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)
}
.card.spotlight{background:linear-gradient(180deg,rgba(29,36,52,.98),rgba(19,24,35,.95))}
.card.cta-card{
  background:
    radial-gradient(circle at top right, rgba(236,72,153,.14), transparent 35%),
    linear-gradient(180deg,rgba(24,28,42,.98),rgba(18,22,35,.96));
}
.card-kicker{color:var(--accent3);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
h2{margin:0 0 14px 0;font-size:22px}
.stack{display:flex;flex-direction:column;gap:12px}
.metric-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.metric-card{
  padding:14px;
  border-radius:16px;
  background:#0d1320;
  border:1px solid var(--line);
}
.metric-label{
  font-size:12px;
  color:var(--muted);
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.metric-value{
  font-size:18px;
  font-weight:700;
  color:#fff;
}
.data-block,.replybox,.cta-copy{
  background:#0d1320;border:1px solid var(--line);border-radius:16px;padding:14px;
  color:var(--muted);line-height:1.5;white-space:pre-wrap;word-break:break-word
}
.data-block.is-error,.replybox.is-error,.cta-copy.is-error{border-color:rgba(245,158,11,.35);color:#ffd699}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.badge{
  display:inline-flex;align-items:center;padding:10px 12px;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;
  font-size:13px;font-weight:700
}
textarea{
  width:100%;min-height:132px;background:#0d1320;color:var(--text);
  border:1px solid var(--line);border-radius:16px;padding:14px;resize:vertical
}
.row{display:flex;justify-content:flex-end;margin-top:12px}
.row.left{justify-content:flex-start}
.row.split{justify-content:space-between;align-items:center}
.inline-status{font-size:13px;color:var(--muted)}
.primary-action{
  background:linear-gradient(135deg,var(--accent),#6d28d9);
  color:#fff;border:none;border-radius:14px;padding:12px 18px;cursor:pointer;font-weight:700
}
.primary-action[disabled]{opacity:.6;cursor:not-allowed}
.mt{margin-top:14px}
.mt-lg{margin-top:18px}
@media (max-width: 980px){
  .hero{grid-template-columns:1fr}
  .lane-strip{grid-template-columns:1fr}
  .grid.two,.grid.three,.metric-grid{grid-template-columns:1fr}
}


/* MOBILE_POLISH_V1 */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }

.hero-points{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0 0;
}
.hero-point{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin:0 0 18px 0;
}
.section-kicker{
  color:var(--accent3);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.section-title{
  margin:0;
  font-size:28px;
  line-height:1.1;
}
.section-note{
  max-width:420px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
  text-align:right;
}

.footer{
  margin-top:28px;
  padding:22px 24px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(18,22,32,.94),rgba(14,18,28,.95));
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.footer-title{
  font-size:18px;
  font-weight:700;
  margin-top:6px;
}
.footer-copy{
  max-width:520px;
  color:var(--muted);
  line-height:1.5;
}

@media (max-width: 980px){
  .shell{padding:18px}
  .hero{
    grid-template-columns:1fr;
    padding:20px;
    border-radius:24px;
  }
  .hero-copy h1{
    font-size:30px;
    max-width:none;
  }
  .hero-status{
    grid-template-columns:1fr;
  }
  .hero-cta-row{
    gap:10px;
  }
  .hero-btn{
    flex:1 1 220px;
    text-align:center;
  }
  .lane-strip{
    grid-template-columns:1fr;
  }
  .tabbar{
    position:sticky;
    top:0;
    z-index:20;
    padding:10px 0 12px;
    margin:0 0 18px;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
    background:linear-gradient(180deg,rgba(10,12,18,.98),rgba(10,12,18,.82) 70%,rgba(10,12,18,0));
  }
  .tabbar::-webkit-scrollbar{display:none}
  .tab{
    white-space:nowrap;
    flex:0 0 auto;
  }
  .grid.two,.grid.three,.metric-grid{
    grid-template-columns:1fr;
  }
  .section-head{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .section-title{
    font-size:24px;
  }
  .section-note{
    max-width:none;
    text-align:left;
  }
  .card{
    padding:18px;
    border-radius:20px;
  }
  .data-block,.replybox,.cta-copy{
    font-size:13px;
    line-height:1.45;
  }
  textarea{
    min-height:120px;
    font-size:16px;
  }
  .row.split{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .inline-status{
    order:2;
  }
  .primary-action{
    width:100%;
    justify-content:center;
  }
  .footer{
    flex-direction:column;
    padding:18px;
  }
}

@media (max-width: 640px){
  .shell{padding:14px}
  .hero{
    padding:16px;
    border-radius:20px;
  }
  .hero-copy h1{
    font-size:26px;
  }
  .sub{
    font-size:14px;
  }
  .hero-point{
    font-size:12px;
    padding:7px 10px;
  }
  .lane-card{
    padding:15px;
    border-radius:18px;
  }
  .tab{
    padding:11px 14px;
    border-radius:12px;
    font-size:14px;
  }
  .card{
    padding:16px;
    border-radius:18px;
  }
  h3{
    font-size:20px;
  }
  .metric-card{
    padding:12px;
  }
  .metric-value{
    font-size:16px;
  }
  .status-card{
    padding:14px;
    border-radius:18px;
  }
  .status-value{
    font-size:15px;
  }
}


/* PREMIUM_PASS_V1 */
:root{
  --glass:rgba(255,255,255,.055);
  --glass-strong:rgba(255,255,255,.09);
  --shine:rgba(255,255,255,.08);
}

.hero,
.card,
.lane-card,
.status-card,
.footer{
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.hero{
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(139,92,246,.16), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(236,72,153,.14), transparent 25%),
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 36%);
  pointer-events:none;
}

.lane-card.premium,
.card.spotlight,
.card.cta-card{
  position:relative;
  overflow:hidden;
}
.lane-card.premium::before,
.card.spotlight::before,
.card.cta-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.05), transparent 32%);
  pointer-events:none;
}

.card,
.status-card,
.lane-card,
.footer{
  box-shadow:
    0 18px 50px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.card:hover,
.lane-card:hover,
.status-card:hover{
  border-color:rgba(255,255,255,.14);
  transform:translateY(-1px);
  transition:all .18s ease;
}

.hero-btn,
.tab,
.primary-action,
.badge{
  transition:all .18s ease;
}
.hero-btn:hover,
.primary-action:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
}
.tab:hover{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
}
.badge{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
}

.data-block,
.replybox,
.cta-copy,
.metric-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    #0d1320;
}

.metric-card{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.hero-copy h1,
.section-title,
h3{
  letter-spacing:-0.02em;
}

.section-title{
  background:linear-gradient(135deg,#ffffff,#d8dfff 60%,#b8c6ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.footer{
  position:relative;
  overflow:hidden;
}
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(139,92,246,.08), transparent 38%, rgba(236,72,153,.06));
  pointer-events:none;
}

@media (prefers-reduced-motion: reduce){
  .card:hover,
  .lane-card:hover,
  .status-card:hover,
  .hero-btn:hover,
  .primary-action:hover{
    transform:none;
    transition:none;
  }
}


.hero-btn.active{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  border-color:transparent;
  color:white;
  box-shadow:0 10px 30px rgba(124,58,237,.28);
}


.video-detail-stack{
  display:grid;
  gap:16px;
}

.video-summary-list{
  display:grid;
  gap:10px;
}

.video-kv{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:16px;
  background:rgba(15,23,42,.28);
}

.video-kv span{
  color:rgba(191,219,254,.82);
  font-size:13px;
}

.video-kv strong{
  color:#fff;
  font-size:13px;
  text-align:right;
  max-width:58%;
  overflow-wrap:anywhere;
}

.detail-label{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(94,234,212,.9);
  margin-bottom:8px;
}

.timeline-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.timeline-pill{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.28);
  min-width:150px;
}

.timeline-pill strong{
  color:#fff;
  font-size:13px;
}

.timeline-pill span,
.timeline-pill em{
  color:rgba(191,219,254,.78);
  font-size:12px;
  font-style:normal;
}

.empty-note{
  padding:14px;
  border:1px dashed rgba(148,163,184,.22);
  border-radius:16px;
  color:rgba(191,219,254,.82);
  background:rgba(15,23,42,.2);
}


.video-ops-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.mini-action{
  appearance:none;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.32);
  color:#fff;
  border-radius:14px;
  padding:10px 14px;
  font-weight:600;
  cursor:pointer;
}

.mini-action:hover{
  border-color:rgba(94,234,212,.35);
}

.mini-action:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.video-action-note{
  margin-top:10px;
  color:rgba(191,219,254,.82);
  font-size:12px;
}

.video-action-note.is-error{
  color:#ffd699;
}


.scene-form-card{
  margin-top:14px;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(15,23,42,.22);
  border-radius:18px;
  padding:14px;
}

.scene-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.scene-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.scene-field-full{
  grid-column:1 / -1;
}

.scene-field span{
  font-size:12px;
  color:rgba(191,219,254,.82);
  letter-spacing:.04em;
  text-transform:uppercase;
}

.scene-field textarea,
.scene-field select{
  width:100%;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(15,23,42,.45);
  color:#fff;
  border-radius:14px;
  padding:12px;
  font:inherit;
  outline:none;
}

.scene-field textarea:focus,
.scene-field select:focus{
  border-color:rgba(94,234,212,.35);
}

.scene-form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:14px;
}

@media (max-width: 900px){
  .scene-form-grid{
    grid-template-columns:1fr;
  }
}

/* FFV5 live polish layer v1 */
:root{
  --ff-panel-bg: rgba(255,255,255,0.04);
  --ff-panel-border: rgba(255,255,255,0.08);
  --ff-panel-border-strong: rgba(255,255,255,0.14);
  --ff-soft-shadow: 0 18px 48px rgba(0,0,0,0.24);
  --ff-error-bg: rgba(255,90,90,0.08);
  --ff-error-border: rgba(255,90,90,0.28);
}

.shell{
  max-width: 1440px;
}

.hero{
  box-shadow: var(--ff-soft-shadow);
}

.hero-copy .sub{
  max-width: 64ch;
}

.hero-point{
  border: 1px solid var(--ff-panel-border);
  background: rgba(255,255,255,0.03);
}

.status-card{
  border: 1px solid var(--ff-panel-border);
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
  backdrop-filter: blur(6px);
}

.status-label{
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.78;
}

.status-value,
.metric-value{
  font-weight: 700;
}

.hero-btn,
.navbtn{
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.hero-btn:hover,
.navbtn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}

.panel{
  border: 1px solid var(--ff-panel-border);
  box-shadow: var(--ff-soft-shadow);
}

.section-note,
.cta-copy,
.video-action-note{
  line-height: 1.45;
}

.data-block,
.video-summary-list,
.timeline-row{
  border: 1px solid var(--ff-panel-border);
  background: var(--ff-panel-bg);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.14);
  white-space: pre-wrap;
  word-break: break-word;
}

.data-block{
  line-height: 1.5;
}

.data-block.is-error,
.video-action-note.is-error{
  background: var(--ff-error-bg);
  border-color: var(--ff-error-border);
}

.video-summary-list,
.timeline-row,
#notifications-box,
#ops-box,
#audit-box,
#media-box,
#affiliate-box,
#video-job-summary,
#video-result-summary,
#video-job-timeline,
#video-result-timeline{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 0.92rem;
}

#notifications-box,
#ops-box,
#audit-box,
#media-box,
#affiliate-box{
  min-height: 84px;
}

#video-operator-note{
  border-left: 3px solid rgba(255,255,255,0.14);
  padding-left: 12px;
}

#video-job-summary,
#video-result-summary{
  min-height: 120px;
}

#video-job-timeline,
#video-result-timeline{
  min-height: 92px;
}

@media (max-width: 900px){
  .hero{
    box-shadow: none;
  }

  .panel{
    box-shadow: 0 10px 28px rgba(0,0,0,0.18);
  }
}

/* FFV5 video panel polish v2 */
.ff-mini-card{
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 10px;
}

.ff-mini-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.ff-mini-title{
  font-weight:700;
  font-size:0.95rem;
  line-height:1.2;
}

.ff-mini-copy{
  font-size:0.92rem;
  line-height:1.45;
  margin-bottom:8px;
  opacity:0.95;
}

.ff-meta{
  font-size:0.82rem;
  line-height:1.45;
  opacity:0.78;
}

.ff-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:0.75rem;
  font-weight:700;
  border:1px solid rgba(255,255,255,0.12);
  white-space:nowrap;
}

.ff-pill-soft{
  background: rgba(255,255,255,0.06);
}

.ff-pill-live{
  background: rgba(59,130,246,0.14);
  border-color: rgba(59,130,246,0.28);
}

.ff-pill-ok{
  background: rgba(34,197,94,0.14);
  border-color: rgba(34,197,94,0.28);
}

.ff-pill-error{
  background: rgba(239,68,68,0.14);
  border-color: rgba(239,68,68,0.28);
}

.ff-empty{
  font-size:0.92rem;
  line-height:1.5;
  opacity:0.78;
}

.ff-timeline-step{
  border-left:2px solid rgba(255,255,255,0.10);
  padding-left:12px;
  margin-bottom:12px;
}

.ff-timeline-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}

/* FFV5 chat/live/performer polish v1 */
.ff-grid-2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}

.ff-stat-card{
  border:1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  border-radius:14px;
  padding:12px 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.ff-stat-label{
  font-size:0.78rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  opacity:0.72;
  margin-bottom:6px;
}

.ff-stat-value{
  font-size:1rem;
  font-weight:700;
  line-height:1.35;
}

.ff-stat-ok{
  border-color: rgba(34,197,94,0.24);
}

.ff-stat-live{
  border-color: rgba(59,130,246,0.24);
}

@media (max-width: 700px){
  .ff-grid-2{
    grid-template-columns: 1fr;
  }
}

/* FFV5 hero/status polish v1 */
.hero-copy .eyebrow{
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
}

.hero-copy h1{
  max-width: 14ch;
}

.hero-support-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 16px 0 20px;
}

.hero-support-pill{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.04);
  font-size:0.84rem;
  line-height:1.2;
  opacity:0.92;
}

.hero-status{
  gap:14px;
}

.status-card{
  min-height: 92px;
}

.status-value{
  line-height:1.3;
}

@media (max-width: 900px){
  .hero-support-row{
    gap:8px;
  }

  .hero-support-pill{
    font-size:0.8rem;
  }
}

/* FFV5 nav/panel polish v1 */
.hero-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.navbtn,
.hero-btn{
  border-radius: 14px;
  padding: 12px 18px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.navbtn.active,
.hero-btn.active{
  border-color: rgba(255,255,255,0.24);
  background: rgba(255,255,255,0.12);
  box-shadow: 0 12px 30px rgba(0,0,0,0.16);
}

.ff-panel-shell{
  scroll-margin-top: 24px;
}

.panel{
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, opacity 180ms ease;
}

.panel.panel-active{
  border-color: rgba(255,255,255,0.16);
  box-shadow: 0 18px 42px rgba(0,0,0,0.20);
}

.panel h2,
.panel h3{
  letter-spacing: -0.01em;
}

.panel .section-note{
  margin-bottom: 14px;
  opacity: 0.82;
}

.mt{
  margin-top: 12px;
}

.mt-lg{
  margin-top: 20px;
}

@media (max-width: 900px){
  .hero-cta-row{
    gap:10px;
  }

  .navbtn,
  .hero-btn{
    width: 100%;
    justify-content: center;
  }
}

/* FFV5 CTA / section polish v1 */
.ff-section-kicker{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  font-size:0.78rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  opacity:0.78;
}

.ff-cta-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}

.ff-cta-card{
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  border-radius:12px;
  padding:10px 12px;
}

.ff-cta-label{
  font-size:0.74rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  opacity:0.72;
  margin-bottom:4px;
}

.ff-cta-value{
  font-size:0.92rem;
  font-weight:700;
  line-height:1.35;
}

@media (max-width: 900px){
  .ff-cta-grid{
    grid-template-columns: 1fr;
  }
}

/* FFV5 control row polish v1 */
.ff-control-note{
  margin-top: 10px;
  font-size: 0.88rem;
  line-height: 1.5;
  opacity: 0.76;
}

.ff-inline-control-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
}

.ff-control-state{
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.03);
  border-radius:12px;
  padding:10px 12px;
}

.ff-control-state-label{
  font-size:0.74rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  opacity:0.70;
  margin-bottom:4px;
}

.ff-control-state-value{
  font-size:0.92rem;
  font-weight:700;
  line-height:1.35;
}

textarea,
input,
select{
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

textarea:focus,
input:focus,
select:focus{
  outline: none;
  border-color: rgba(255,255,255,0.24);
  box-shadow: 0 0 0 3px rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.05);
}

button{
  transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease, opacity 150ms ease;
}

button:hover{
  transform: translateY(-1px);
}

.replybox,
.video-action-note{
  min-height: 48px;
  display:flex;
  align-items:center;
}

@media (max-width: 900px){
  .ff-inline-control-grid{
    grid-template-columns: 1fr;
  }
}

/* FFV5 quickstart layer v1 */
.ff-quickstart-shell{
  margin: 18px 0 26px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-quickstart-head{
  margin-bottom: 14px;
}

.ff-quickstart-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ff-quickstart-card{
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  border-radius: 16px;
  padding: 14px 14px 16px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.12);
}

.ff-quickstart-card h3{
  margin: 4px 0 8px;
  font-size: 1rem;
  line-height: 1.3;
}

.ff-quickstart-card p{
  margin: 0 0 10px;
  font-size: 0.92rem;
  line-height: 1.5;
  opacity: 0.9;
}

.ff-quickstart-label{
  font-size: 0.74rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  opacity: 0.72;
}

.ff-quickstart-meta{
  font-size: 0.82rem;
  line-height: 1.45;
  opacity: 0.72;
  margin-bottom: 12px;
}

.ff-quickstart-btn{
  width: 100%;
  justify-content: center;
}

@media (max-width: 980px){
  .ff-quickstart-grid{
    grid-template-columns: 1fr;
  }
}

/* FFV5 creator onboarding layer v1 */
.ff-creator-setup-shell{
  margin-top: 18px;
  padding-top: 8px;
}

.ff-creator-setup-card h3{
  margin-bottom: 8px;
}

.ff-creator-setup-card p{
  min-height: 54px;
}

/* FFV5 billing onboarding layer v1 */
.ff-billing-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-billing-onboarding-card h3{
  margin-bottom: 8px;
}

.ff-billing-onboarding-card p{
  min-height: 54px;
}

/* FFV5 trust safety layer v1 */
.ff-trust-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-trust-card h3{
  margin-bottom: 8px;
}

.ff-trust-card p{
  min-height: 54px;
}

/* FFV5 account support layer v1 */
.ff-support-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-support-card h3{
  margin-bottom: 8px;
}

.ff-support-card p{
  min-height: 54px;
}

/* FFV5 settings privacy layer v1 */
.ff-settings-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-settings-card h3{
  margin-bottom: 8px;
}

.ff-settings-card p{
  min-height: 54px;
}

/* FFV5 membership guidance layer v1 */
.ff-membership-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-membership-card h3{
  margin-bottom: 8px;
}

.ff-membership-card p{
  min-height: 54px;
}

/* FFV5 fallback polish layer v1 */
.ff-quickstart-meta{
  min-height: 22px;
}

.ff-quickstart-card{
  transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
}

.ff-quickstart-card:hover{
  transform: translateY(-1px);
}

.ff-quickstart-card p{
  opacity: 0.92;
}

/* FFV5 conversion guidance layer v1 */
.ff-conversion-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-conversion-card h3{
  margin-bottom: 8px;
}

.ff-conversion-card p{
  min-height: 54px;
}


/* FFV5 frontend truth bridge layer v1 */
.ff-runtime-truth-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-runtime-truth-card h3{
  margin-bottom: 8px;
}

.ff-runtime-truth-card p{
  min-height: 54px;
}


/* FFV5 frontend truth bridge layer v2 */
.ff-truth-stack{
  display:grid;
  gap:12px;
}

.ff-lifecycle-card h3{
  margin-bottom:8px;
}

.ff-lifecycle-card p{
  min-height:54px;
}


/* FFV5 wave A frontend truth bridge v1 */
.ff-truth-stack{
  display:grid;
  gap:12px;
}

.ff-wave-card h3{
  margin-bottom:8px;
}

.ff-wave-card p{
  min-height:54px;
}

.ff-wave-mini h3{
  margin-bottom:0;
}


/* FFV5 wave B account billing token truth v1 */
.ff-wave-card h3{
  margin-bottom:8px;
}

.ff-wave-card p{
  min-height:54px;
}


/* FFV5 wave C system normalization v1 */
.ff-system-strip-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-system-strip-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap:12px;
}

.ff-system-pill{
  border-radius: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.02);
}

.ff-system-pill-label{
  font-size: 12px;
  opacity: 0.72;
  margin-bottom: 4px;
}

.ff-system-pill-value{
  font-size: 14px;
  font-weight: 600;
}


/* FFV5 wave D orchestration refresh v1 */
.ff-truth-refresh-shell{
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-truth-refresh-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
}

.ff-truth-refresh-meta{
  min-width: 140px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.02);
}

.ff-truth-refresh-label{
  font-size:12px;
  opacity:0.72;
  margin-bottom:4px;
}

.ff-truth-refresh-value{
  font-size:14px;
  font-weight:600;
}


/* FFV5 wave E cleanup pass v1 */
.ff-truth-refresh-shell .hero-btn[disabled]{
  opacity: 0.7;
  cursor: wait;
}


/* FFV5 wave K public ui polish v1 */
.ff-view-mode-note{
  margin-top: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  color: rgba(255,255,255,0.78);
  font-size: 14px;
}

.ff-public-copy{
  color: rgba(255,255,255,0.76);
  line-height: 1.55;
}

.ff-public-section-title{
  font-size: 28px;
  line-height: 1.1;
  margin-bottom: 10px;
}

.ff-public-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.ff-public-card{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  padding: 16px;
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-public-card h3{
  margin-bottom: 8px;
}

.ff-public-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  font-size: 13px;
  font-weight: 600;
}

[data-view-mode="public"] .ff-operator-only{
  display: none !important;
}

[data-view-mode="operator"] .ff-public-only{
  display: none !important;
}


/* FFV5 wave K fix public ui polish v1 */
.ff-view-mode-bar{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;
  background:rgba(255,255,255,0.03);
}

.ff-view-mode-note{
  flex:1 1 280px;
  color:rgba(255,255,255,0.76);
  font-size:14px;
  line-height:1.45;
}

[data-view-mode="public"] .ff-operator-only{
  display:none !important;
}

[data-view-mode="operator"] .ff-public-only{
  display:none !important;
}


/* FFV5 wave K fix2 public ui polish v1 */
.ff-view-mode-bar{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,0.10);
  border-radius:16px;
  background:rgba(255,255,255,0.03);
}

.ff-view-mode-note{
  flex:1 1 280px;
  color:rgba(255,255,255,0.76);
  font-size:14px;
  line-height:1.45;
}

[data-view-mode="public"] #ops-panel,
[data-view-mode="public"] .video-ops-row,
[data-view-mode="public"] #video-operator-note,
[data-view-mode="public"] #admin-box,
[data-view-mode="public"] #ops-box,
[data-view-mode="public"] #audit-box{
  display:none !important;
}


/* FFV5 wave K cleanup v1 */
#ff-view-mode-bar .hero-btn{
  min-width: 130px;
}


/* FFV5 wave L performer twin intake shell v1 */
.ff-intake-stat{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  padding: 14px;
}

.ff-intake-stat h4{
  margin-bottom: 6px;
}

.ff-intake-status{
  font-size: 13px;
  opacity: 0.76;
}


/* FFV5 wave M affiliate polish v1 */
.ff-affiliate-panel{
  margin-top: 18px;
}

.ff-affiliate-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
}

.ff-affiliate-stat{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  padding: 16px;
  box-shadow: 0 12px 34px rgba(0,0,0,0.16);
}

.ff-affiliate-stat h4{
  margin-bottom: 8px;
}

.ff-affiliate-value{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 6px;
}

.ff-affiliate-note{
  font-size: 13px;
  opacity: 0.76;
}


/* FFV5 wave M fix affiliate hydration v1 */
#affiliate-polish-panel .ff-affiliate-value{
  word-break: break-word;
}


/* FFV5 wave N brand layout foundation v1 */
:root{
  --ff-bg-0:#080811;
  --ff-bg-1:#101225;
  --ff-bg-2:#171a33;
  --ff-panel:rgba(255,255,255,0.06);
  --ff-panel-strong:rgba(255,255,255,0.09);
  --ff-border:rgba(255,255,255,0.12);
  --ff-text:#f6f7fb;
  --ff-text-soft:rgba(246,247,251,0.76);
  --ff-violet:#8b5cf6;
  --ff-fuchsia:#d946ef;
  --ff-cyan:#22d3ee;
  --ff-shadow:0 18px 50px rgba(0,0,0,0.34);
}

body{
  background:
    radial-gradient(circle at top left, rgba(139,92,246,0.22), transparent 28%),
    radial-gradient(circle at top right, rgba(217,70,239,0.18), transparent 24%),
    radial-gradient(circle at bottom center, rgba(34,211,238,0.12), transparent 22%),
    linear-gradient(180deg, var(--ff-bg-0) 0%, var(--ff-bg-1) 40%, #090a12 100%);
  color:var(--ff-text);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.03) 0%, transparent 40%, rgba(255,255,255,0.02) 100%);
  mix-blend-mode:screen;
  opacity:.55;
}

.shell{
  max-width: 1360px;
  margin: 0 auto;
  padding: 26px 22px 48px;
}

.ff-brand-rail{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:18px;
  padding:14px 18px;
  border:1px solid var(--ff-border);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow:var(--ff-shadow);
  backdrop-filter: blur(18px);
}

.ff-brand-lockup{
  display:flex;
  align-items:center;
  gap:14px;
}

.ff-brand-mark{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(135deg, var(--ff-violet), var(--ff-fuchsia));
  color:white;
  font-size:20px;
  font-weight:800;
  letter-spacing:.04em;
  box-shadow:0 12px 28px rgba(139,92,246,0.35);
}

.ff-brand-name{
  font-size:24px;
  font-weight:800;
  letter-spacing:.02em;
}

.ff-brand-tag{
  color:var(--ff-text-soft);
  font-size:13px;
  line-height:1.4;
}

.ff-brand-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.ff-brand-link{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--ff-border);
  background:rgba(255,255,255,0.03);
  color:var(--ff-text-soft);
  font-size:13px;
  font-weight:600;
}

.hero{
  position:relative;
  overflow:hidden;
  border:1px solid var(--ff-border);
  border-radius:28px;
  background:
    radial-gradient(circle at top left, rgba(139,92,246,0.24), transparent 30%),
    radial-gradient(circle at top right, rgba(217,70,239,0.18), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow:var(--ff-shadow);
  backdrop-filter: blur(18px);
}

.hero::after{
  content:"";
  position:absolute;
  inset:auto -10% -35% auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(34,211,238,0.14), transparent 65%);
  pointer-events:none;
}

.ff-hero-brand-panel{
  max-width:760px;
  margin-bottom:18px;
}

.ff-hero-brand-kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.04);
  color:var(--ff-text-soft);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ff-hero-brand-title{
  margin:16px 0 10px;
  font-size:60px;
  line-height:0.96;
  letter-spacing:-0.04em;
}

.ff-hero-brand-body{
  max-width:680px;
  font-size:17px;
  line-height:1.65;
  color:var(--ff-text-soft);
}

.ff-hero-brand-pills{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.ff-brand-pill{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.10);
  color:var(--ff-text);
  font-size:13px;
  font-weight:700;
}

.hero-btn{
  border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,0.22);
}

.panel,
.ff-public-card,
.status-card,
.metric,
.data-block,
.ff-affiliate-stat,
.ff-intake-stat{
  border:1px solid var(--ff-border);
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  box-shadow:var(--ff-shadow);
  backdrop-filter: blur(16px);
}

.ff-section-kicker{
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:11px;
  color:rgba(246,247,251,0.62);
}

.badge,
.ff-public-pill{
  border-color:rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.05);
}

.section-note,
.ff-control-note,
.ff-affiliate-note,
.ff-intake-status{
  color:var(--ff-text-soft);
}

.footer-title{
  font-size:20px;
  font-weight:800;
  letter-spacing:.02em;
}

@media (max-width: 900px){
  .ff-hero-brand-title{
    font-size:42px;
  }

  .ff-brand-rail{
    padding:14px;
  }

  .shell{
    padding:18px 14px 36px;
  }
}


/* FFV5 wave O hero cleanup v1 */
.hero{
  padding-top: 30px;
}

.ff-hero-brand-panel{
  margin-bottom: 26px;
}

.ff-brand-rail{
  margin-bottom: 22px;
}

#ff-view-mode-bar{
  margin-top: 18px;
}


/* FFV5 wave P affiliate surface signup v1 */
.ff-surface-tab{
  cursor:pointer;
}

.ff-affiliate-surface-panel{
  margin: 22px 0 18px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow: 0 18px 50px rgba(0,0,0,0.28);
  padding: 22px;
}

.ff-affiliate-surface-top{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  margin-bottom: 18px;
}

.ff-affiliate-surface-copy h2{
  margin: 8px 0 10px;
}

.ff-affiliate-surface-copy p{
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

.ff-affiliate-surface-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
}

.ff-affiliate-mini{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  padding: 16px;
}

.ff-affiliate-mini h4{
  margin-bottom: 8px;
}

.ff-affiliate-mini .value{
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 6px;
}

.ff-affiliate-form{
  display:grid;
  gap: 12px;
}

.ff-affiliate-form input,
.ff-affiliate-form textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: white;
  padding: 12px 14px;
  font: inherit;
}

.ff-affiliate-form textarea{
  min-height: 90px;
  resize: vertical;
}

.ff-affiliate-form button{
  min-height: 46px;
  border-radius: 14px;
  border: 0;
  background: linear-gradient(135deg, #8b5cf6, #d946ef);
  color: white;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(139,92,246,0.28);
}

.ff-affiliate-form-status{
  font-size: 14px;
  color: rgba(255,255,255,0.78);
  min-height: 20px;
}

@media (max-width: 900px){
  .ff-affiliate-surface-top{
    grid-template-columns: 1fr;
  }
}


/* FFV5 wave P hard surface v1 */
#ff-affiliate-surface-tab{
  appearance:none;
  -webkit-appearance:none;
  color:rgba(246,247,251,0.82);
}

#ff-affiliate-surface-tab:hover{
  transform:translateY(-1px);
}

#affiliate-surface-panel{
  scroll-margin-top: 24px;
}


/* FFV5 wave Q performer gallery v1 */
.ff-gallery-page{
  margin: 24px 0 22px;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow: 0 18px 50px rgba(0,0,0,0.28);
}

.ff-gallery-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:end;
  margin-bottom: 18px;
}

.ff-gallery-copy{
  max-width: 760px;
  color: rgba(255,255,255,0.78);
  line-height: 1.6;
}

.ff-gallery-lane-wrap{
  display:grid;
  gap:18px;
}

.ff-gallery-lane{
  display:grid;
  gap:12px;
}

.ff-gallery-lane-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
}

.ff-gallery-note{
  color: rgba(255,255,255,0.62);
  font-size: 13px;
}

.ff-gallery-row{
  display:grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 280px);
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
}

.ff-gallery-card{
  min-height: 230px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    radial-gradient(circle at top right, rgba(139,92,246,0.24), transparent 32%),
    radial-gradient(circle at bottom left, rgba(217,70,239,0.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  box-shadow: 0 16px 36px rgba(0,0,0,0.24);
  padding: 18px;
  display:grid;
  align-content:space-between;
  gap:14px;
}

.ff-gallery-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.ff-gallery-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);
  color:rgba(255,255,255,0.84);
  font-size:12px;
  font-weight:700;
}

.ff-gallery-name{
  font-size: 24px;
  font-weight: 800;
  line-height: 1.05;
}

.ff-gallery-tagline{
  color: rgba(255,255,255,0.78);
  line-height: 1.55;
}

.ff-gallery-status{
  color: rgba(255,255,255,0.62);
  font-size: 13px;
}

#performer-gallery-page{
  scroll-margin-top: 24px;
}


/* FFV5 wave Q AI lane fix v1 */
#performer-gallery-page.ff-ai-gallery-split {
  display: grid;
  gap: 18px;
}

.ff-gallery-headline {
  display: grid;
  gap: 8px;
  padding: 18px 20px 0 20px;
}

.ff-gallery-kicker {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}

.ff-gallery-copy {
  color: rgba(255,255,255,0.78);
  max-width: 820px;
}

.ff-gallery-lanes {
  display: grid;
  gap: 18px;
  padding: 0 20px 20px 20px;
}

.ff-gallery-lane {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
}

.ff-gallery-lane-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ff-gallery-lane-title h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.2;
}

.ff-gallery-lane-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.88);
  font-size: 12px;
}

.ff-gallery-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.ff-gallery-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}

.ff-gallery-card-name {
  font-size: 17px;
  font-weight: 700;
  color: white;
}

.ff-gallery-card-meta {
  font-size: 12px;
  color: rgba(255,255,255,0.62);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ff-gallery-card-tagline {
  color: rgba(255,255,255,0.86);
  line-height: 1.4;
}

.ff-gallery-card-status {
  color: rgba(255,255,255,0.72);
  font-size: 13px;
}

.ff-gallery-empty {
  color: rgba(255,255,255,0.55);
  font-style: italic;
}


/* FFV5 wave R page routing v1 */
#ff-route-strip {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(10,10,18,0.92);
  backdrop-filter: blur(12px);
}

.ff-route-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: rgba(255,255,255,0.82);
  font-size: 14px;
  cursor: pointer;
}

.ff-route-link.is-active {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.18);
  color: white;
}

#ff-route-page-host[hidden] {
  display: none !important;
}

#ff-route-page-host {
  padding: 24px 18px 40px 18px;
}

.ff-route-page-shell {
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  gap: 18px;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}

.ff-route-eyebrow {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}

.ff-route-page-shell h1 {
  margin: 0;
  font-size: 34px;
  line-height: 1.1;
  color: white;
}

.ff-route-page-shell p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,0.82);
  line-height: 1.55;
}

.ff-route-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.ff-route-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}

.ff-route-card-title {
  color: white;
  font-weight: 700;
  font-size: 16px;
}

.ff-route-card-copy {
  color: rgba(255,255,255,0.74);
  line-height: 1.45;
}

.ff-route-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ff-route-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}

body[data-ff-page="gallery"] #performer-gallery-page,
body[data-ff-page="affiliate"] #affiliate-surface-panel {
  display: block;
}


/* FFV5 wave S conversion page logic v1 */
.ff-conversion-shell {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  gap: 20px;
  padding: 24px 18px 42px 18px;
}
.ff-conversion-hero {
  display: grid;
  gap: 10px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-conversion-eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.56);
}
.ff-conversion-title {
  margin: 0;
  color: white;
  font-size: 36px;
  line-height: 1.08;
}
.ff-conversion-copy {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,0.78);
  line-height: 1.55;
}
.ff-conversion-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.ff-conversion-card,
.ff-auth-card,
.ff-checkout-card,
.ff-legal-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-conversion-card h3,
.ff-auth-card h3,
.ff-checkout-card h3,
.ff-legal-card h3 {
  margin: 0;
  color: white;
  font-size: 18px;
}
.ff-card-copy {
  color: rgba(255,255,255,0.74);
  line-height: 1.48;
}
.ff-pill-row,
.ff-action-row,
.ff-provider-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}
.ff-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-action-btn.primary {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.18);
}
.ff-action-btn.is-selected {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.24);
}
.ff-plan-price {
  color: white;
  font-size: 28px;
  font-weight: 700;
}
.ff-provider-status,
.ff-checkout-status {
  color: rgba(255,255,255,0.82);
  font-size: 14px;
}
.ff-legal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}


/* FFV5 wave T app shell logic v1 */
.ff-app-shell {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 20px;
  padding: 24px 18px 42px 18px;
}
.ff-app-sidebar {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-app-sidebar h2 {
  margin: 0;
  color: white;
  font-size: 20px;
}
.ff-app-sidebar-copy {
  color: rgba(255,255,255,0.70);
  line-height: 1.45;
  font-size: 14px;
}
.ff-app-nav {
  display: grid;
  gap: 10px;
}
.ff-app-nav-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: rgba(255,255,255,0.84);
  cursor: pointer;
}
.ff-app-nav-btn.is-active {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.20);
  color: white;
}
.ff-app-main {
  display: grid;
  gap: 18px;
}
.ff-app-panel {
  display: grid;
  gap: 14px;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-app-kicker {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.56);
}
.ff-app-title {
  margin: 0;
  color: white;
  font-size: 34px;
  line-height: 1.08;
}
.ff-app-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.52;
}
.ff-app-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.ff-app-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-app-card h3 {
  margin: 0;
  color: white;
  font-size: 18px;
}
.ff-app-card-copy {
  color: rgba(255,255,255,0.74);
  line-height: 1.45;
}
.ff-app-chat-box {
  display: grid;
  gap: 10px;
}
.ff-app-chat-box textarea {
  min-height: 120px;
  resize: vertical;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  color: white;
}
.ff-app-status {
  color: rgba(255,255,255,0.78);
  font-size: 14px;
}
.ff-app-pretty {
  white-space: pre-wrap;
  word-break: break-word;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.45;
}
.ff-app-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-app-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-app-action.primary {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.18);
}
.ff-app-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-app-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}


/* FFV5 wave U routed explore and companions logic v1 */
.ff-u-shell {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  gap: 20px;
  padding: 24px 18px 42px 18px;
}
.ff-u-hero {
  display: grid;
  gap: 10px;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-u-eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.56);
}
.ff-u-title {
  margin: 0;
  color: white;
  font-size: 36px;
  line-height: 1.08;
}
.ff-u-copy {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,0.78);
  line-height: 1.55;
}
.ff-u-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.ff-u-card,
.ff-u-lane,
.ff-u-companion-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-u-card h3,
.ff-u-lane h3,
.ff-u-companion-card h3 {
  margin: 0;
  color: white;
  font-size: 18px;
}
.ff-u-meta,
.ff-u-card-copy {
  color: rgba(255,255,255,0.74);
  line-height: 1.48;
}
.ff-u-pill-row,
.ff-u-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-u-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}
.ff-u-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-u-btn.primary {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.18);
}
.ff-u-btn.is-selected {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.24);
}
.ff-u-lane-grid {
  display: grid;
  gap: 12px;
}
.ff-u-item {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-u-item-name {
  color: white;
  font-weight: 700;
}
.ff-u-item-copy {
  color: rgba(255,255,255,0.74);
}
.ff-u-companion-shell {
  display: grid;
  gap: 18px;
}
.ff-u-slot-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


/* FFV5 wave V homepage landing logic v1 */
.ff-v-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 22px;
  padding: 24px 18px 42px 18px;
}
.ff-v-hero {
  display: grid;
  gap: 14px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.10), transparent 40%),
    rgba(255,255,255,0.03);
}
.ff-v-eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.56);
}
.ff-v-title {
  margin: 0;
  color: white;
  font-size: 42px;
  line-height: 1.02;
}
.ff-v-copy {
  margin: 0;
  max-width: 780px;
  color: rgba(255,255,255,0.80);
  line-height: 1.58;
}
.ff-v-actions,
.ff-v-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-v-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-v-btn.primary {
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.20);
}
.ff-v-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}
.ff-v-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.ff-v-card,
.ff-v-lane,
.ff-v-cta-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-v-card h3,
.ff-v-lane h3,
.ff-v-cta-card h3 {
  margin: 0;
  color: white;
  font-size: 18px;
}
.ff-v-card-copy,
.ff-v-meta {
  color: rgba(255,255,255,0.74);
  line-height: 1.48;
}
.ff-v-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}


/* FFV5 wave W backend state logic v1 */
.ff-w-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-w-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.ff-w-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-w-card-title {
  color: white;
  font-weight: 700;
}
.ff-w-card-copy,
.ff-w-status {
  color: rgba(255,255,255,0.76);
  line-height: 1.46;
}
.ff-w-pretty {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.80);
  font-size: 13px;
}


/* FFV5 wave X action flow logic v1 */
.ff-x-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-x-pretty {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.45;
}
.ff-x-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


/* FFV5 wave Y hydration flow logic v1 */
.ff-y-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-y-pretty {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.45;
}


/* FFV5 wave Z commit flow logic v1 */
.ff-z-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-z-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-z-pretty {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.45;
}


/* FFV5 wave AA shell continuity logic v1 */
.ff-aa-banner {
  max-width: 1160px;
  margin: 12px auto 0 auto;
  display: grid;
  gap: 8px;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-aa-title {
  color: white;
  font-weight: 700;
}
.ff-aa-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.45;
}
.ff-aa-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-aa-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}


/* FFV5 wave AB polish logic v1 */
.ff-ab-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
  padding: 0 18px 36px 18px;
}
.ff-ab-panel,
.ff-ab-footer {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-ab-title {
  color: white;
  font-weight: 700;
}
.ff-ab-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.45;
}
.ff-ab-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-ab-btn.primary {
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.20);
}
.ff-ab-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.ff-ab-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ab-card-title {
  color: white;
  font-weight: 700;
}
.ff-ab-pretty {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.80);
  font-size: 13px;
  line-height: 1.45;
}


/* FFV5 wave AC mobile polish logic v1 */
.ff-ac-sticky-actions {
  position: sticky;
  bottom: 10px;
  z-index: 35;
  max-width: 1160px;
  margin: 0 auto;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding: 0 18px 14px 18px;
}
.ff-ac-chip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(10,10,18,0.82);
  color: white;
  backdrop-filter: blur(10px);
  cursor: pointer;
}
.ff-ac-chip-btn.primary {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.22);
}

body.ff-mobile #ff-route-strip {
  overflow-x: auto;
  flex-wrap: nowrap;
  padding: 10px 14px;
  gap: 8px;
  scrollbar-width: none;
}
body.ff-mobile #ff-route-strip::-webkit-scrollbar {
  display: none;
}
body.ff-mobile .ff-route-link {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 12px;
  font-size: 13px;
}
body.ff-mobile .ff-v-title,
body.ff-mobile .ff-u-title,
body.ff-mobile .ff-conversion-title,
body.ff-mobile .ff-app-title {
  font-size: 28px;
}
body.ff-mobile .ff-v-hero,
body.ff-mobile .ff-u-hero,
body.ff-mobile .ff-conversion-hero,
body.ff-mobile .ff-app-panel,
body.ff-mobile .ff-ab-panel,
body.ff-mobile .ff-aa-banner {
  padding: 18px;
  border-radius: 18px;
}
body.ff-mobile .ff-v-grid,
body.ff-mobile .ff-v-feature-grid,
body.ff-mobile .ff-u-grid,
body.ff-mobile .ff-conversion-grid,
body.ff-mobile .ff-app-grid,
body.ff-mobile .ff-ab-grid {
  grid-template-columns: 1fr;
}
body.ff-mobile .ff-app-shell {
  grid-template-columns: 1fr;
}
body.ff-mobile .ff-app-sidebar {
  position: relative;
  top: auto;
}
body.ff-mobile .ff-app-nav {
  grid-template-columns: 1fr 1fr;
}
body.ff-mobile .ff-app-nav-btn {
  min-height: 38px;
  padding: 0 12px;
}
body.ff-mobile .ff-ab-row,
body.ff-mobile .ff-v-actions,
body.ff-mobile .ff-route-actions,
body.ff-mobile .ff-action-row,
body.ff-mobile .ff-app-actions {
  gap: 8px;
}
body.ff-mobile .ff-action-btn,
body.ff-mobile .ff-v-btn,
body.ff-mobile .ff-app-action,
body.ff-mobile .ff-ab-btn {
  width: 100%;
  min-height: 42px;
}
@media (max-width: 860px) {
  .ff-app-shell {
    grid-template-columns: 1fr;
  }
  .ff-app-sidebar {
    position: relative;
    top: auto;
  }
}


/* FFV5 wave AD layout cleanup logic v1 */
.ff-ad-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
  padding: 0 18px 30px 18px;
}
.ff-ad-panel {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-ad-title {
  color: white;
  font-weight: 700;
}
.ff-ad-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.45;
}
.ff-ad-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.ff-ad-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ad-card-title {
  color: white;
  font-weight: 700;
}
.ff-ad-pretty {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.80);
  font-size: 13px;
  line-height: 1.45;
}
.ff-ad-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}


/* FFV5 wave AE surface rationalization logic v1 */
.ff-ae-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
  padding: 0 18px 28px 18px;
}
.ff-ae-panel {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-ae-title {
  color: white;
  font-weight: 700;
}
.ff-ae-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.45;
}
.ff-ae-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ae-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-ae-btn.primary {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.22);
}
.ff-ae-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.ff-ae-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ae-card-title {
  color: white;
  font-weight: 700;
}
.ff-ae-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}


/* FFV5 wave AF staging polish logic v1 */
.ff-af-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 0 18px 24px 18px;
}
.ff-af-strip {
  display: grid;
  gap: 8px;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-af-title {
  color: white;
  font-weight: 700;
}
.ff-af-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.42;
}
.ff-af-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-af-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-af-btn.primary {
  background: rgba(255,255,255,0.17);
  border-color: rgba(255,255,255,0.24);
}
.ff-af-hero-tight .ff-v-title,
.ff-af-hero-tight .ff-u-title,
.ff-af-hero-tight .ff-conversion-title,
.ff-af-hero-tight .ff-app-title {
  max-width: 760px;
}
.ff-af-hero-tight .ff-v-copy,
.ff-af-hero-tight .ff-u-copy,
.ff-af-hero-tight .ff-conversion-copy,
.ff-af-hero-tight .ff-app-copy {
  max-width: 680px;
}


/* FFV5 wave AG launch cleanup logic v1 */
.ff-ag-strip {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 8px;
  padding: 0 18px 20px 18px;
}
.ff-ag-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-ag-title {
  color: white;
  font-weight: 700;
}
.ff-ag-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.4;
}
.ff-ag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ag-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-ag-btn.primary {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.24);
}


/* FFV5 wave AH walkthrough audit logic v1 */
.ff-ah-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 0 18px 22px 18px;
}
.ff-ah-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-ah-title {
  color: white;
  font-weight: 700;
}
.ff-ah-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.4;
}
.ff-ah-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ah-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-ah-btn.primary {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.24);
}
.ff-ah-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.ff-ah-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ah-card-title {
  color: white;
  font-weight: 700;
}
.ff-ah-meta {
  color: rgba(255,255,255,0.80);
  font-size: 13px;
  line-height: 1.45;
}


/* FFV5 wave AI launch gate logic v1 */
.ff-ai-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 0 18px 24px 18px;
}
.ff-ai-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-ai-title {
  color: white;
  font-weight: 700;
}
.ff-ai-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.4;
}
.ff-ai-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.ff-ai-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ai-card-title {
  color: white;
  font-weight: 700;
}
.ff-ai-meta {
  color: rgba(255,255,255,0.80);
  font-size: 13px;
  line-height: 1.45;
}
.ff-ai-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ai-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-ai-btn.primary {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.24);
}
.ff-ai-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}


/* FFV5 wave AJ signoff logic v1 */
.ff-aj-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 0 18px 24px 18px;
}
.ff-aj-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-aj-title {
  color: white;
  font-weight: 700;
}
.ff-aj-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.4;
}
.ff-aj-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.ff-aj-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-aj-card-title {
  color: white;
  font-weight: 700;
}
.ff-aj-meta {
  color: rgba(255,255,255,0.80);
  font-size: 13px;
  line-height: 1.45;
}
.ff-aj-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-aj-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-aj-btn.primary {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.24);
}
.ff-aj-textarea {
  width: 100%;
  min-height: 84px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.18);
  color: white;
  padding: 10px 12px;
  resize: vertical;
}
.ff-aj-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}


/* FFV5 wave AK release panel logic v1 */
.ff-ak-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 0 18px 24px 18px;
}
.ff-ak-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-ak-title {
  color: white;
  font-weight: 700;
}
.ff-ak-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.4;
}
.ff-ak-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.ff-ak-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ak-card-title {
  color: white;
  font-weight: 700;
}
.ff-ak-meta {
  color: rgba(255,255,255,0.80);
  font-size: 13px;
  line-height: 1.45;
}
.ff-ak-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ak-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-ak-btn.primary {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.24);
}
.ff-ak-pre {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.45;
}
.ff-ak-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}


/* FFV5 wave AL final review cleanup logic v1 */
.ff-al-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 0 18px 24px 18px;
}
.ff-al-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-al-title {
  color: white;
  font-weight: 700;
}
.ff-al-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.4;
}
.ff-al-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-al-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}
.ff-al-list {
  display: grid;
  gap: 8px;
}
.ff-al-item {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.4;
}


/* FFV5 wave AM handoff surface logic v1 */
.ff-am-shell {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 0 18px 24px 18px;
}
.ff-am-panel {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-am-title {
  color: white;
  font-weight: 700;
}
.ff-am-copy {
  color: rgba(255,255,255,0.78);
  line-height: 1.4;
}
.ff-am-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-am-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-am-btn.primary {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.24);
}
.ff-am-pre {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.45;
}
.ff-am-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.84);
  font-size: 12px;
}


/* FFV5 wave AN route enforcement logic v1 */
body.ff-an-page-mode .ff-an-home-only,
body.ff-an-app-mode .ff-an-home-only {
  display: none !important;
}

body.ff-an-page-mode .ff-an-app-only {
  display: none !important;
}

body.ff-an-app-mode .ff-an-page-only {
  display: none !important;
}

body.ff-an-page-mode .ff-an-route-host,
body.ff-an-app-mode .ff-an-route-host {
  display: block !important;
}

body.ff-an-home-mode .ff-an-route-host {
  display: none !important;
}


/* FFV5 wave AO initial route render logic v1 */
body.ff-ao-routed .ff-ao-home-only {
  display: none !important;
}
body.ff-ao-home .ff-ao-route-host {
  display: none !important;
}
body.ff-ao-routed .ff-ao-route-host {
  display: block !important;
}


/* FFV5 wave AP forced isolated route logic v1 */
body.ff-ap-routed .ff-ap-home-hidden {
  display: none !important;
}
body.ff-ap-home #ff-route-page-host {
  display: none !important;
}
body.ff-ap-routed #ff-route-page-host {
  display: block !important;
}

#ff-ap-debug {
  position: sticky;
  top: 8px;
  z-index: 9999;
  max-width: 1160px;
  margin: 8px auto;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(10,10,18,0.88);
  color: white;
  font-size: 13px;
  line-height: 1.4;
}


/* FFV5 wave AQ routed content shells v1 */
.ff-aq-shell {
  display: grid;
  gap: 18px;
}
.ff-aq-hero,
.ff-aq-panel {
  display: grid;
  gap: 10px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-aq-title {
  color: white;
  font-size: 32px;
  font-weight: 700;
}
.ff-aq-copy {
  color: rgba(255,255,255,0.80);
  line-height: 1.5;
}
.ff-aq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.ff-aq-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-aq-card-title {
  color: white;
  font-weight: 700;
}
.ff-aq-meta {
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  line-height: 1.45;
}
.ff-aq-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-aq-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-aq-btn.primary {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.22);
}


/* FFV5 wave AR routed hydration logic v1 */
.ff-ar-shell {
  display: grid;
  gap: 18px;
}
.ff-ar-hero,
.ff-ar-panel {
  display: grid;
  gap: 10px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-ar-title {
  color: white;
  font-size: 32px;
  font-weight: 700;
}
.ff-ar-copy {
  color: rgba(255,255,255,0.80);
  line-height: 1.5;
}
.ff-ar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.ff-ar-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ar-card-title {
  color: white;
  font-weight: 700;
}
.ff-ar-meta {
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  line-height: 1.45;
}
.ff-ar-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-ar-btn.primary {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.22);
}


/* FFV5 wave AS routed action logic v1 */
.ff-as-shell {
  display: grid;
  gap: 18px;
}
.ff-as-hero,
.ff-as-panel {
  display: grid;
  gap: 10px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-as-title {
  color: white;
  font-size: 32px;
  font-weight: 700;
}
.ff-as-copy {
  color: rgba(255,255,255,0.80);
  line-height: 1.5;
}
.ff-as-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.ff-as-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-as-card-title {
  color: white;
  font-weight: 700;
}
.ff-as-meta {
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  line-height: 1.45;
}
.ff-as-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-as-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-as-btn.primary {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.22);
}
.ff-as-status {
  min-height: 24px;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
}
.ff-as-pre {
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(255,255,255,0.82);
  font-size: 13px;
  line-height: 1.45;
}


/* FFV5 wave AT continuity spine logic v1 */
.ff-at-summary {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-at-title {
  color: white;
  font-weight: 700;
}
.ff-at-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.ff-at-card {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-at-card-title {
  color: white;
  font-weight: 700;
}
.ff-at-meta {
  color: rgba(255,255,255,0.78);
  font-size: 12px;
  line-height: 1.45;
}


/* FFV5 wave AU continuity ribbon logic v1 */
.ff-au-ribbon {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-au-ribbon-title {
  color: white;
  font-weight: 700;
}
.ff-au-ribbon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.ff-au-pill {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-au-pill-label {
  color: rgba(255,255,255,0.64);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ff-au-pill-value {
  color: white;
  font-size: 13px;
  line-height: 1.35;
}


/* FFV5 wave AV resume rail logic v1 */
.ff-av-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-av-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.06);
  color: white;
  cursor: pointer;
}
.ff-av-btn.primary {
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.22);
}


/* FFV5 wave AW receipt panel logic v1 */
.ff-aw-panel {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-aw-title {
  color: white;
  font-weight: 700;
}
.ff-aw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}
.ff-aw-card {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-aw-label {
  color: rgba(255,255,255,0.64);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ff-aw-value {
  color: white;
  font-size: 13px;
  line-height: 1.4;
}


/* FFV5 wave AX CTA hierarchy logic v1 */
.ff-ax-primary {
  box-shadow: 0 0 0 1px rgba(255,255,255,0.22) inset, 0 10px 24px rgba(0,0,0,0.18);
}
.ff-ax-secondary {
  opacity: 0.86;
}


/* FFV5 wave AY state summary logic v1 */
.ff-ay-summary {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}
.ff-ay-title {
  color: white;
  font-weight: 700;
}
.ff-ay-copy {
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  line-height: 1.45;
}
.ff-ay-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}
.ff-ay-card {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ay-label {
  color: rgba(255,255,255,0.64);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ff-ay-value {
  color: white;
  font-size: 13px;
  line-height: 1.4;
}


/* FFV5 wave AZ richer content hierarchy logic v1 */
.ff-az-section {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.ff-az-section-title {
  color: white;
  font-size: 15px;
  font-weight: 700;
}
.ff-az-list {
  display: grid;
  gap: 10px;
}
.ff-az-item {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.025);
}
.ff-az-item-title {
  color: white;
  font-weight: 600;
}
.ff-az-item-copy {
  color: rgba(255,255,255,0.76);
  font-size: 13px;
  line-height: 1.45;
}


/* FFV5 wave BA result panel logic v1 */
.ff-ba-panel {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.ff-ba-title {
  color: white;
  font-weight: 700;
}
.ff-ba-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}
.ff-ba-card {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}
.ff-ba-label {
  color: rgba(255,255,255,0.64);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ff-ba-value {
  color: white;
  font-size: 13px;
  line-height: 1.4;
}


/* FFV5 wave BB action density logic v1 */
.ff-bb-dense .ff-as-row,
.ff-bb-dense .ff-ar-row,
.ff-bb-dense .ff-aq-row {
  gap: 8px;
}
.ff-bb-dense .ff-as-btn,
.ff-bb-dense .ff-ar-btn,
.ff-bb-dense .ff-aq-btn,
.ff-bb-dense .ff-av-btn {
  min-height: 36px;
  padding: 0 12px;
}


/* FFV5 wave CA route conversion clarity v1 */
.ff-conversion-copy,
.ff-card-copy,
.ff-app-copy {
  max-width: 72ch;
  line-height: 1.55;
}

.ff-checkout-card {
  border-color: rgba(255, 255, 255, 0.14);
}

.ff-checkout-status,
.ff-app-status {
  font-weight: 600;
}


/* FFV5 wave CB app surface result clarity v1 */
.ff-action-btn,
.ff-app-action {
  min-height: 42px;
}

.ff-pill {
  letter-spacing: 0.02em;
}

.ff-app-pretty,
.ff-pretty,
.ff-error {
  margin-top: 12px;
}


/* FFV5 wave CC conversion guidance polish v1 */
.ff-conversion-copy,
.ff-card-copy,
.ff-app-copy {
  max-width: 74ch;
  line-height: 1.6;
}

.ff-checkout-status,
.ff-app-status {
  font-weight: 600;
  letter-spacing: 0.01em;
}


/* FFV5 wave CD support and status clarity polish v1 */
.ff-action-btn,
.ff-app-action {
  min-height: 44px;
}

.ff-app-pretty,
.ff-pretty,
.ff-error {
  margin-top: 12px;
}

.ff-pill {
  letter-spacing: 0.02em;
}


/* FFV5 wave CQ auth support decision polish v1 */
.ff-app-status,
.ff-checkout-status {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  font-weight: 600;
}

.ff-app-chat-box textarea {
  min-height: 120px;
}


/* FFV5 wave CR chat subscription status polish v1 */
.ff-app-pretty,
.ff-pretty,
.ff-error {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
  font-weight: 700;
}


/* FFV5 wave CS checkout trust clarity polish v1 */
.ff-checkout-card,
.ff-receipt-card {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.ff-checkout-status {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.05);
}


/* FFV5 wave CT subscription receipt clarity polish v1 */
.ff-app-status,
.ff-pretty,
.ff-error {
  border-radius: 12px;
}

.ff-pill,
.ff-checkout-status,
.ff-app-status {
  letter-spacing: 0.02em;
}


/* FFV5 wave CU plan onboarding compression polish v1 */
.ff-conversion-copy,
.ff-card-copy {
  max-width: 72ch;
}

.ff-action-btn,
.ff-app-action {
  transition: transform 120ms ease, opacity 120ms ease;
}


/* FFV5 wave CV support receipt reassurance polish v1 */
.ff-app-status,
.ff-checkout-status,
.ff-pretty,
.ff-error {
  box-shadow: 0 8px 22px rgba(0,0,0,0.14);
}

.ff-pill {
  font-weight: 600;
}


/* FFV5 wave CW signup confidence polish v1 */
.ff-conversion-eyebrow,
.ff-checkout-status,
.ff-app-status {
  font-weight: 700;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 74ch;
}


/* FFV5 wave CX checkout aftermath polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 24px rgba(0,0,0,0.14);
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave CY subscription recovery polish v1 */
.ff-app-status,
.ff-checkout-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-card-copy,
.ff-conversion-copy {
  max-width: 75ch;
}


/* FFV5 wave CZ support escalation polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 26px rgba(0,0,0,0.14);
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DA checkout reassurance polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DB support path clarity polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 24px rgba(0,0,0,0.15);
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DC signup reassurance polish v1 */
.ff-conversion-copy,
.ff-card-copy {
  max-width: 75ch;
}

.ff-conversion-eyebrow,
.ff-checkout-status,
.ff-app-status {
  font-weight: 700;
}


/* FFV5 wave DD recovery guidance polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 24px rgba(0,0,0,0.15);
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DE checkout commitment polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DF support recovery calmness polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 24px rgba(0,0,0,0.15);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DG onboarding confidence polish v1 */
.ff-conversion-copy,
.ff-card-copy {
  max-width: 75ch;
}

.ff-conversion-eyebrow,
.ff-checkout-status,
.ff-app-status {
  font-weight: 700;
}


/* FFV5 wave DH next step reassurance polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DI signup clarity polish v1 */
.ff-conversion-copy,
.ff-card-copy {
  max-width: 75ch;
}

.ff-conversion-eyebrow,
.ff-checkout-status,
.ff-app-status {
  font-weight: 700;
}


/* FFV5 wave DJ recovery wording polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DK subscription actionability polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DL calmer post action polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DM decision clarity polish v1 */
.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}

.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}


/* FFV5 wave DN support transition polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DO subscription manage state polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DP support handoff polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DQ subscription next step polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DR recovery handoff polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DS subscription action wording polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DT support recovery transition polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DU subscription step action polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DV support escalation wording polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DW checkout continuation polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DX escalation recovery polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave DY subscription continuity polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave DZ support continuity polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave EA manage state continuity polish v1 */
.ff-checkout-status,
.ff-app-status,
.ff-pill {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ff-conversion-copy,
.ff-card-copy {
  max-width: 76ch;
}


/* FFV5 wave EB support return path polish v1 */
.ff-pretty,
.ff-error,
.ff-app-pretty {
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  border-radius: 12px;
}

.ff-action-btn.primary,
.ff-app-action.primary {
  min-height: 46px;
}


/* FFV5 wave EC state spine resume rail v1 */
/* FFV5 wave ED recovery context carryover v1 */
.ff-resume-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-resume-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-resume-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
}
.ff-resume-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-resume-link,
.ff-resume-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
  font: inherit;
  cursor: pointer;
}
.ff-resume-link:hover,
.ff-resume-clear:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave EE plans checkout trust layer v1 */
/* FFV5 wave EF signup trust layer v1 */
.ff-trust-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-trust-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-trust-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-trust-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-trust-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-trust-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-trust-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave EG support recovery layer v1 */
/* FFV5 wave EH post action recovery bridge v1 */
.ff-recovery-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-recovery-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-recovery-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-recovery-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-recovery-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave EI subscription action rail v1 */
/* FFV5 wave EJ subscription action continuity v1 */
.ff-layer-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-layer-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-layer-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-layer-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-layer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-layer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-layer-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave EI account checkout progression rail v1 */
/* FFV5 wave EJ progression continuity cues v1 */
.ff-progression-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-progression-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-progression-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
}
.ff-progression-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.ff-progression-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  font-size: 13px;
}
.ff-progression-pill.is-active {
  background: rgba(255,255,255,0.12);
  font-weight: 700;
}
.ff-progression-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave EK account checkout progression rail v1 */
/* FFV5 wave EL progression continuity cues v1 */
.ff-progression-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-progression-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-progression-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
}
.ff-progression-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.ff-progression-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  font-size: 13px;
}
.ff-progression-pill.is-active {
  background: rgba(255,255,255,0.12);
  font-weight: 700;
}
.ff-progression-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave EM chat support bridge rail v1 */
/* FFV5 wave EN blocked failed recovery bridge v1 */
.ff-bridge-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-bridge-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-bridge-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-bridge-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-bridge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave EO subscription state behavior v1 */
/* FFV5 wave EP subscription state actions v1 */
.ff-layer-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-layer-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-layer-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-layer-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-layer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-layer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-layer-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave EQ checkout account resume v1 */
/* FFV5 wave ER account progression resume v1 */
.ff-progression-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-progression-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-progression-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
}
.ff-progression-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave ES chat support recovery behavior v1 */
/* FFV5 wave ET blocked failed recovery behavior v1 */
.ff-bridge-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-bridge-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-bridge-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-bridge-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-bridge-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave EU subscription account handoff v1 */
/* FFV5 wave EV account handoff actions v1 */
.ff-layer-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-layer-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-layer-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-layer-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-layer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-layer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-layer-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave EW checkout resume hardening v1 */
/* FFV5 wave EX plan continuity hardening v1 */
.ff-progression-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-progression-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-progression-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
}
.ff-progression-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave EY recovery draft autofill v1 */
/* FFV5 wave EZ support draft recovery context v1 */
.ff-recovery-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-recovery-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-recovery-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-recovery-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-recovery-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave FA live truth surfaces v1 */
/* FFV5 wave FB route truth summary v1 */
.ff-layer-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-layer-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-layer-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-layer-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-layer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-layer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-layer-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave FC auth checkout persistence v1 */
/* FFV5 wave FD auth intent persistence v1 */
.ff-auth-persistence-marker {
  display: none;
}



/* FFV5 wave FE chat failure capture v1 */
/* FFV5 wave FF support draft capture v1 */
.ff-chat-failure-capture-marker {
  display: none;
}



/* FFV5 wave FG live truth surfaces v1 */
/* FFV5 wave FH route truth summary v1 */
.ff-layer-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-layer-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-layer-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-layer-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-layer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-layer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-layer-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave FI auth checkout persistence v1 */
/* FFV5 wave FJ auth intent persistence v1 */
.ff-auth-persistence-marker {
  display: none;
}



/* FFV5 wave FK chat failure capture v1 */
/* FFV5 wave FL support draft capture v1 */
.ff-chat-failure-capture-marker {
  display: none;
}



/* FFV5 wave FM live state action matrix v1 */
/* FFV5 wave FN recommended next action matrix v1 */
.ff-layer-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-layer-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-layer-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-layer-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-layer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-layer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-layer-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave FO checkout blocker guard v1 */
/* FFV5 wave FP plan blocker continuity v1 */
.ff-progression-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-progression-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-progression-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
}
.ff-progression-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave FQ support return shortcuts v1 */
/* FFV5 wave FR support return continuity v1 */
.ff-recovery-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-recovery-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-recovery-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-recovery-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-recovery-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-recovery-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave FS account reentry router v1 */
/* FFV5 wave FT post auth target router v1 */
.ff-progression-rail .ff-progression-actions { display: flex; flex-wrap: wrap; gap: 10px; }



/* FFV5 wave FU subscription issue triage v1 */
/* FFV5 wave FV billing support triage v1 */
.ff-layer-rail .ff-layer-actions { display: flex; flex-wrap: wrap; gap: 10px; }



/* FFV5 wave FW chat resume bridge v1 */
/* FFV5 wave FX support to chat carryover v1 */
.ff-bridge-rail .ff-bridge-actions { display: flex; flex-wrap: wrap; gap: 10px; }



/* FFV5 wave FY billing account guidance v1 */
/* FFV5 wave FZ billing account actions v1 */
.ff-deeper-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-deeper-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-deeper-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-deeper-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-deeper-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-deeper-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-deeper-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave GA support escalation targeting v1 */
/* FFV5 wave GB support route targeting v1 */
.ff-deeper-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-deeper-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-deeper-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-deeper-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-deeper-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-deeper-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-deeper-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave GC chat account continuity v1 */
/* FFV5 wave GD auth return to chat continuity v1 */
.ff-deeper-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-deeper-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-deeper-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-deeper-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-deeper-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-deeper-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-deeper-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave GE checkout readiness guard v1 */
/* FFV5 wave GF checkout blocker messaging v1 */
.ff-deeper-rail .ff-deeper-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave GG support case builder v1 */
/* FFV5 wave GH support issue framing v1 */
.ff-deeper-rail .ff-deeper-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave GI auth return launcher v1 */
/* FFV5 wave GJ post auth launcher v1 */
.ff-deeper-rail .ff-deeper-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave GK route health fallback v1 */
/* FFV5 wave GL route fallback actions v1 */
.ff-final-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-final-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-final-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-final-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-final-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-final-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave GM account support summary persistence v1 */
/* FFV5 wave GN persisted support summary rail v1 */
.ff-final-rail .ff-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave GO entitlement handoff bridge v1 */
/* FFV5 wave GP subscription chat support handoff v1 */
.ff-final-rail .ff-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave GQ release summary surface v1 */
/* FFV5 wave GR live readiness summary v1 */
.ff-release-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-release-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-release-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-release-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-release-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-release-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-release-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave GS route decision panel v1 */
/* FFV5 wave GT recommended destination panel v1 */
.ff-release-rail .ff-release-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave GU support resolution shortcuts v1 */
/* FFV5 wave GV support exit shortcuts v1 */
.ff-release-rail .ff-release-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave GW ship readiness panel v1 */
/* FFV5 wave GX readiness verdict panel v1 */
.ff-ship-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-ship-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-ship-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-ship-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-ship-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-ship-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-ship-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave GY unresolved notes surface v1 */
/* FFV5 wave GZ unresolved actions surface v1 */
.ff-ship-rail .ff-ship-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave HA final review shortcuts v1 */
/* FFV5 wave HB review launch shortcuts v1 */
.ff-ship-rail .ff-ship-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave HC runtime summary consumer v1 */
/* FFV5 wave HD runtime truth surface consumer v1 */
.ff-runtime-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-runtime-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-runtime-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-runtime-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-runtime-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-runtime-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-runtime-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave HE runtime recommended action consumer v1 */
/* FFV5 wave HF runtime decision CTA v1 */
.ff-runtime-rail .ff-runtime-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave HG runtime support context consumer v1 */
/* FFV5 wave HH runtime support chat status consumer v1 */
.ff-runtime-rail .ff-runtime-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave HI runtime hygiene consumer v1 */
/* FFV5 wave HJ hygiene score consumer v1 */
.ff-hygiene-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-hygiene-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-hygiene-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-hygiene-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 10px;
  max-width: 76ch;
}
.ff-hygiene-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-hygiene-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-hygiene-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave HK stale context guard v1 */
/* FFV5 wave HL clear context recommendation surface v1 */
.ff-hygiene-rail .ff-hygiene-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave HM reset path shortcuts v1 */
/* FFV5 wave HN hygiene reset shortcuts v1 */
.ff-hygiene-rail .ff-hygiene-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}



/* FFV5 wave HO runtime state sync v1 */
/* FFV5 wave HP backend state sync surface v1 */
.ff-persist-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-persist-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-persist-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave HQ support case persistor v1 */
/* FFV5 wave HR support case backend save v1 */
.ff-support-case-persistor-marker {
  display: none;
}



/* FFV5 wave HS persisted state consumer v1 */
/* FFV5 wave HT latest support case consumer v1 */
.ff-persist-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-persist-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-persist-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave HU session bootstrap consumer v1 */
/* FFV5 wave HV session id propagation v1 */
.ff-session-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-session-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-session-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave HW persisted state hydrator v1 */
/* FFV5 wave HX backend restore hydrator v1 */
.ff-session-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-session-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-session-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave HY support case resolution controls v1 */
/* FFV5 wave HZ support case latest controls v1 */
.ff-session-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-session-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-session-copy {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
}
.ff-session-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-session-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
  font: inherit;
}



/* FFV5 wave IA entitlement state consumer v1 */
/* FFV5 wave IB entitlement surface v1 */
.ff-record-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-record-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-record-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave IC support case timeline controls v1 */
/* FFV5 wave ID support case reopen controls v1 */
.ff-record-item {
  margin: 0 0 6px 0;
}
.ff-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.ff-record-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
  font: inherit;
}



/* FFV5 wave IE chat history surface v1 */
/* FFV5 wave IF chat history persistor v1 */
.ff-record-item {
  margin: 0 0 6px 0;
}



/* FFV5 wave IG runtime reset controls v1 */
/* FFV5 wave IH backend reset surface v1 */
.ff-lifecycle-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-lifecycle-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-lifecycle-copy {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
}
.ff-lifecycle-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-lifecycle-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
  font: inherit;
}



/* FFV5 wave II support case summary surface v1 */
/* FFV5 wave IJ support summary consumer v1 */
.ff-lifecycle-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-lifecycle-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-lifecycle-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave IK chat transcript summary surface v1 */
/* FFV5 wave IL chat transcript summary consumer v1 */
.ff-lifecycle-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-lifecycle-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-lifecycle-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave IM account identity surface v1 */
/* FFV5 wave IN account me consumer v1 */
.ff-account-rail {
  margin: 0 0 18px 0;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
}
.ff-account-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 4px;
}
.ff-account-copy {
  font-size: 14px;
  line-height: 1.5;
}



/* FFV5 wave IO auth quick actions v1 */
/* FFV5 wave IP auth signup signin controls v1 */
.ff-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.ff-account-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
  font: inherit;
}



/* FFV5 wave IQ checkout activation control v1 */
/* FFV5 wave IR subscription activation CTA v1 */
.ff-account-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.ff-account-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
  font: inherit;
}

\n\n/* FFV5 wave IS chat experience surface v1 */
/* FFV5 wave IT chat resume decision surface v1 */
.ff-product-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product-link:hover {
  background: rgba(255,255,255,0.08);
}
\n

/* FFV5 wave IS support guided recovery surface v1 */
/* FFV5 wave IT support recovery decision surface v1 */
.ff-product-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave IU support guided recovery surface v1 */
/* FFV5 wave IV support recovery decision surface v1 */
.ff-product-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave IW account progression surface v1 */
/* FFV5 wave IX auth checkout progression surface v1 */
.ff-product2-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product2-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product2-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product2-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product2-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product2-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product2-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave IY subscription decision surface v1 */
/* FFV5 wave IZ entitlement decision surface v1 */
.ff-product2-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product2-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product2-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product2-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product2-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product2-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product2-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JA chat recovery refinement surface v1 */
/* FFV5 wave JB chat recovery route surface v1 */
.ff-product3-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product3-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product3-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product3-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product3-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product3-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product3-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product3-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JC support route targeting surface v1 */
/* FFV5 wave JD support issue family surface v1 */
.ff-product3-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product3-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product3-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product3-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product3-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product3-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product3-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product3-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JE subscription edge state surface v1 */
/* FFV5 wave JF subscription edge decision surface v1 */
.ff-product3-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product3-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product3-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product3-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product3-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product3-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product3-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product3-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JG chat warm start surface v1 */
/* FFV5 wave JH chat warm resume surface v1 */
.ff-product4-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product4-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product4-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product4-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product4-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product4-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product4-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product4-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JI support resolution outcome surface v1 */
/* FFV5 wave JJ support outcome summary surface v1 */
.ff-product4-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product4-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product4-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product4-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product4-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product4-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product4-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product4-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JK return handoff surface v1 */
/* FFV5 wave JL return destination surface v1 */
.ff-product4-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product4-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product4-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product4-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product4-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product4-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product4-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product4-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JM subscription retention surface v1 */
/* FFV5 wave JN subscription retention decision surface v1 */
.ff-product5-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product5-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product5-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product5-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product5-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product5-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product5-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product5-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JO support escalation outcome surface v1 */
/* FFV5 wave JP support escalation summary surface v1 */
.ff-product5-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product5-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product5-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product5-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product5-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product5-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product5-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product5-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JQ chat reentry polish surface v1 */
/* FFV5 wave JR chat reentry summary surface v1 */
.ff-product5-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product5-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product5-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product5-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product5-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product5-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product5-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product5-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JS chat persona depth surface v1 */
/* FFV5 wave JT chat depth summary surface v1 */
.ff-product6-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product6-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product6-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product6-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product6-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product6-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product6-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product6-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JU support memory context surface v1 */
/* FFV5 wave JV support context summary surface v1 */
.ff-product6-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product6-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product6-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product6-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product6-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product6-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product6-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product6-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JW commercial state message surface v1 */
/* FFV5 wave JX commercial messaging surface v1 */
.ff-product6-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product6-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product6-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product6-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product6-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product6-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product6-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product6-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave JY gallery confidence surface v1 */
/* FFV5 wave JZ discovery confidence surface v1 */
.ff-product7-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product7-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product7-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product7-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product7-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product7-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product7-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product7-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KA selection handoff surface v1 */
/* FFV5 wave KB browse to chat handoff surface v1 */
.ff-product7-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product7-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product7-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product7-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product7-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product7-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product7-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product7-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KC home route confidence surface v1 */
/* FFV5 wave KD home next lane surface v1 */
.ff-product7-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product7-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product7-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product7-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product7-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product7-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product7-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product7-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KE companion lane confidence surface v1 */
/* FFV5 wave KF companion discovery surface v1 */
.ff-product8-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product8-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product8-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product8-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product8-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product8-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product8-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product8-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KG companion return bridge surface v1 */
/* FFV5 wave KH active experience bridge surface v1 */
.ff-product8-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product8-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product8-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product8-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product8-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product8-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product8-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product8-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KI ff entry identity surface v1 */
/* FFV5 wave KJ ff home identity surface v1 */
.ff-product8-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product8-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product8-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product8-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product8-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product8-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product8-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product8-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KK session momentum surface v1 */
/* FFV5 wave KL momentum summary surface v1 */
.ff-product9-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product9-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product9-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product9-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product9-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product9-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product9-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product9-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KM companion spotlight surface v1 */
/* FFV5 wave KN spotlight discovery surface v1 */
.ff-product9-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product9-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product9-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product9-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product9-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product9-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product9-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product9-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KO fantasy intent surface v1 */
/* FFV5 wave KP fantasy intent messaging surface v1 */
.ff-product9-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product9-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product9-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product9-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product9-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product9-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product9-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product9-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KQ active companion path surface v1 */
/* FFV5 wave KR companion path summary surface v1 */
.ff-product10-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product10-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product10-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product10-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product10-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product10-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product10-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product10-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KS fast entry route surface v1 */
/* FFV5 wave KT fast entry summary surface v1 */
.ff-product10-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product10-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product10-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product10-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product10-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product10-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product10-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product10-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KU experience readiness surface v1 */
/* FFV5 wave KV readiness summary surface v1 */
.ff-product10-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product10-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product10-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product10-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product10-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product10-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product10-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product10-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KW relationship continuity surface v1 */
/* FFV5 wave KX connection continuity surface v1 */
.ff-product11-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product11-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product11-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product11-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product11-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product11-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product11-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave KY companion chemistry surface v1 */
/* FFV5 wave KZ chemistry discovery surface v1 */
.ff-product11-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product11-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product11-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product11-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product11-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product11-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product11-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave LA immersive entry surface v1 */
/* FFV5 wave LB immersive home entry surface v1 */
.ff-product11-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product11-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product11-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product11-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product11-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product11-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product11-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave LE relationship continuity surface v1 */
/* FFV5 wave LF connection continuity surface v1 */
.ff-product11-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product11-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product11-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product11-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product11-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product11-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product11-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave LG companion chemistry surface v1 */
/* FFV5 wave LH chemistry discovery surface v1 */
.ff-product11-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product11-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product11-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product11-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product11-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product11-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product11-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave LI immersive entry surface v1 */
/* FFV5 wave LJ immersive home entry surface v1 */
.ff-product11-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product11-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product11-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product11-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product11-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product11-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product11-link:hover {
  background: rgba(255,255,255,0.08);
}



/* FFV5 wave LK relationship continuity surface v1 */
/* FFV5 wave LL connection continuity surface v1 */
.ff-product11-rail {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}
.ff-product11-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 6px;
}
.ff-product11-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}
.ff-product11-copy {
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 8px;
  max-width: 76ch;
}
.ff-product11-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product11-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product11-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.04);
  color: inherit;
  text-decoration: none;
}
.ff-product11-link:hover {
  background: rgba(255,255,255,0.08);
}


/* FFV5 wave LM performer presence surface v1 */
/* FFV5 wave LN companion spotlight presence surface v1 */
.ff-product12-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product12-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product12-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product12-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product12-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product12-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product12-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product12-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product12-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product12-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave LO remembered return invitation surface v1 */
/* FFV5 wave LP remembered connection invitation surface v1 */
.ff-product12-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product12-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product12-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product12-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product12-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product12-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product12-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product12-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product12-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product12-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave LQ discovery to chat handoff surface v1 */
/* FFV5 wave LR fast chat handoff surface v1 */
.ff-product12-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product12-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product12-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product12-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product12-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product12-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product12-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product12-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product12-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product12-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave LS companion memory recap surface v1 */
/* FFV5 wave LT remembered thread recap surface v1 */
.ff-product13-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product13-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product13-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product13-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product13-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product13-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product13-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product13-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product13-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product13-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave LU performer pull surface v1 */
/* FFV5 wave LV companion magnetism surface v1 */
.ff-product13-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product13-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product13-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product13-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product13-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product13-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product13-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product13-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product13-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product13-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave LW return path priority surface v1 */
/* FFV5 wave LX fast return lane surface v1 */
.ff-product13-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product13-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product13-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product13-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product13-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product13-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product13-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product13-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product13-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product13-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave LY companion context banner surface v1 */
/* FFV5 wave LZ companion lane banner surface v1 */
.ff-product14-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product14-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product14-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product14-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product14-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product14-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product14-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product14-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product14-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product14-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MA priority companion reentry surface v1 */
/* FFV5 wave MB warm reentry lane surface v1 */
.ff-product14-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product14-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product14-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product14-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product14-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product14-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product14-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product14-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product14-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product14-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MA companion context banner surface v1 */
/* FFV5 wave MB companion lane banner surface v1 */
.ff-product14-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product14-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product14-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product14-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product14-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product14-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product14-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product14-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product14-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product14-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MC priority companion reentry surface v1 */
/* FFV5 wave MD warm reentry lane surface v1 */
.ff-product14-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product14-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product14-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product14-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product14-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product14-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product14-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product14-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product14-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product14-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ME chat warmth bridge surface v1 */
/* FFV5 wave MF conversation warmth bridge surface v1 */
.ff-product14-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product14-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product14-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product14-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product14-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product14-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product14-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product14-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product14-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product14-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MG companion thread hint surface v1 */
/* FFV5 wave MH remembered thread hint surface v1 */
.ff-product15-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product15-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product15-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product15-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product15-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product15-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product15-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product15-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product15-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product15-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MI magnetic open chat surface v1 */
/* FFV5 wave MJ fast magnetic chat entry surface v1 */
.ff-product15-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product15-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product15-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product15-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product15-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product15-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product15-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product15-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product15-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product15-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MK return affinity surface v1 */
/* FFV5 wave ML companion affinity return surface v1 */
.ff-product15-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product15-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product15-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product15-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product15-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product15-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product15-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product15-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product15-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product15-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MM companion presence reinforcement surface v1 */
/* FFV5 wave MN companion room reinforcement surface v1 */
.ff-product16-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product16-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product16-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product16-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product16-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product16-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product16-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product16-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product16-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product16-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MO frictionless resume surface v1 */
/* FFV5 wave MP warm resume lane surface v1 */
.ff-product16-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product16-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product16-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product16-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product16-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product16-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product16-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product16-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product16-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product16-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MQ performer identity pull surface v1 */
/* FFV5 wave MR identity magnetism surface v1 */
.ff-product16-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product16-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product16-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product16-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product16-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product16-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product16-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product16-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product16-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product16-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MS remembered companion signal surface v1 */
/* FFV5 wave MT remembered signal lane surface v1 */
.ff-product17-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product17-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product17-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product17-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product17-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product17-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product17-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product17-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product17-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product17-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MU instant connection lane surface v1 */
/* FFV5 wave MV fast connection path surface v1 */
.ff-product17-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product17-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product17-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product17-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product17-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product17-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product17-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product17-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product17-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product17-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MW performer world entry surface v1 */
/* FFV5 wave MX companion world entry surface v1 */
.ff-product17-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product17-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product17-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product17-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product17-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product17-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product17-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product17-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product17-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product17-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave MY instant connection lane surface v1 */
/* FFV5 wave MZ fast connection path surface v1 */
.ff-product17-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product17-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product17-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product17-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product17-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product17-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product17-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product17-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product17-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product17-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NA performer world entry surface v1 */
/* FFV5 wave NB companion world entry surface v1 */
.ff-product17-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product17-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product17-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product17-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product17-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product17-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product17-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product17-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product17-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product17-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NC companion return glow surface v1 */
/* FFV5 wave ND remembered return glow surface v1 */
.ff-product18-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product18-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product18-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product18-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product18-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product18-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product18-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product18-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product18-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product18-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NE chat entry momentum surface v1 */
/* FFV5 wave NF fast entry momentum surface v1 */
.ff-product18-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product18-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product18-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product18-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product18-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product18-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product18-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product18-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product18-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product18-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NG immersive lane identity surface v1 */
/* FFV5 wave NH companion lane identity surface v1 */
.ff-product18-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product18-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product18-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product18-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product18-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product18-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product18-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product18-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product18-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product18-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NI companion reentry heat surface v1 */
/* FFV5 wave NJ warm return heat surface v1 */
.ff-product19-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product19-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product19-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product19-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product19-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product19-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product19-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product19-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product19-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product19-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NK chat gravity surface v1 */
/* FFV5 wave NL conversation gravity surface v1 */
.ff-product19-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product19-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product19-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product19-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product19-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product19-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product19-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product19-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product19-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product19-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NM companion space identity surface v1 */
/* FFV5 wave NN performer lane identity surface v1 */
.ff-product19-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product19-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product19-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product19-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product19-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product19-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product19-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product19-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product19-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product19-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NO companion welcome back surface v1 */
/* FFV5 wave NP warm welcome back surface v1 */
.ff-product20-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product20-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product20-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product20-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product20-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product20-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product20-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product20-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product20-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product20-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NQ fastest emotional path surface v1 */
/* FFV5 wave NR warmest path surface v1 */
.ff-product20-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product20-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product20-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product20-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product20-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product20-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product20-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product20-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product20-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product20-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NS performer presence room surface v1 */
/* FFV5 wave NT companion presence room surface v1 */
.ff-product20-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product20-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product20-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product20-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product20-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product20-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product20-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product20-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product20-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product20-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NU companion resume desire surface v1 */
/* FFV5 wave NV warm continuation desire surface v1 */
.ff-product21-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product21-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product21-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product21-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product21-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product21-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product21-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product21-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product21-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product21-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NW chemistry first path surface v1 */
/* FFV5 wave NX strongest chemistry path surface v1 */
.ff-product21-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product21-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product21-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product21-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product21-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product21-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product21-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product21-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product21-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product21-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave NY lived in companion world surface v1 */
/* FFV5 wave NZ companion world texture surface v1 */
.ff-product21-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product21-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product21-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product21-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product21-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product21-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product21-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product21-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product21-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product21-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OA remembered connection surface v1 */
/* FFV5 wave OB remembered companion signal surface v1 */
.ff-product23-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product23-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product23-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product23-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product23-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product23-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product23-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product23-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product23-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product23-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OC chat pull surface v1 */
/* FFV5 wave OD conversation pull surface v1 */
.ff-product23-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product23-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product23-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product23-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product23-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product23-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product23-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product23-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product23-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product23-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OE performer world surface v1 */
/* FFV5 wave OF companion world surface v1 */
.ff-product23-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product23-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product23-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product23-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product23-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product23-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product23-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product23-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product23-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product23-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OG return warmth surface v1 */
/* FFV5 wave OH warm remembered return surface v1 */
.ff-product24-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product24-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product24-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product24-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product24-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product24-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product24-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product24-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product24-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product24-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OI chemistry path surface v1 */
/* FFV5 wave OJ strongest chemistry path surface v1 */
.ff-product24-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product24-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product24-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product24-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product24-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product24-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product24-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product24-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product24-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product24-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OK presence room surface v1 */
/* FFV5 wave OL companion presence room surface v1 */
.ff-product24-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product24-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product24-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product24-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product24-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product24-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product24-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product24-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product24-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product24-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OM remembered connection surface v1 */
/* FFV5 wave ON remembered companion signal surface v1 */
.ff-product25-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product25-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product25-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product25-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product25-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product25-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product25-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product25-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product25-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product25-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OO frictionless resume surface v1 */
/* FFV5 wave OP warm resume lane surface v1 */
.ff-product25-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product25-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product25-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product25-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product25-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product25-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product25-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product25-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product25-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product25-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OQ aura space surface v1 */
/* FFV5 wave OR companion aura space surface v1 */
.ff-product25-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product25-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product25-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product25-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product25-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product25-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product25-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product25-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product25-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product25-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OS return warmth surface v1 */
/* FFV5 wave OT warm remembered return surface v1 */
.ff-product26-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product26-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product26-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product26-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product26-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product26-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product26-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product26-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product26-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product26-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OU chat pull surface v1 */
/* FFV5 wave OV conversation pull surface v1 */
.ff-product26-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product26-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product26-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product26-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product26-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product26-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product26-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product26-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product26-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product26-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OW performer world surface v1 */
/* FFV5 wave OX companion world surface v1 */
.ff-product26-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product26-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product26-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product26-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product26-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product26-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product26-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product26-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product26-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product26-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave OY remembered connection surface v1 */
/* FFV5 wave OZ remembered companion signal surface v1 */
.ff-product27-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product27-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product27-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product27-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product27-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product27-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product27-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product27-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product27-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product27-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PA chemistry path surface v1 */
/* FFV5 wave PB strongest chemistry path surface v1 */
.ff-product27-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product27-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product27-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product27-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product27-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product27-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product27-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product27-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product27-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product27-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PC aura space surface v1 */
/* FFV5 wave PD companion aura space surface v1 */
.ff-product27-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product27-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product27-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product27-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product27-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product27-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product27-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product27-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product27-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product27-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PE return warmth surface v1 */
/* FFV5 wave PF warm remembered return surface v1 */
.ff-product28-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product28-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product28-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product28-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product28-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product28-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product28-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product28-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product28-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product28-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PG chat pull surface v1 */
/* FFV5 wave PH conversation pull surface v1 */
.ff-product28-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product28-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product28-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product28-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product28-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product28-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product28-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product28-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product28-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product28-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PI presence room surface v1 */
/* FFV5 wave PJ companion presence room surface v1 */
.ff-product28-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product28-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product28-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product28-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product28-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product28-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product28-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product28-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product28-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product28-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PK remembered connection surface v1 */
/* FFV5 wave PL remembered companion signal surface v1 */
.ff-product29-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product29-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product29-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product29-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product29-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product29-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product29-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product29-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product29-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product29-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PM chemistry path surface v1 */
/* FFV5 wave PN strongest chemistry path surface v1 */
.ff-product29-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product29-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product29-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product29-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product29-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product29-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product29-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product29-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product29-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product29-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PO performer world surface v1 */
/* FFV5 wave PP companion world surface v1 */
.ff-product29-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product29-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product29-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product29-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product29-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product29-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product29-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product29-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product29-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product29-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PQ remembered connection surface v1 */
/* FFV5 wave PR remembered companion signal surface v1 */
.ff-product30-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product30-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product30-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product30-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product30-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product30-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product30-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product30-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product30-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product30-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PS chat pull surface v1 */
/* FFV5 wave PT conversation pull surface v1 */
.ff-product30-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product30-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product30-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product30-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product30-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product30-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product30-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product30-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product30-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product30-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PU presence room surface v1 */
/* FFV5 wave PV companion presence room surface v1 */
.ff-product30-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product30-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product30-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product30-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product30-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product30-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product30-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product30-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product30-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product30-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PW return warmth surface v1 */
/* FFV5 wave PX warm remembered return surface v1 */
.ff-product31-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product31-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product31-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product31-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product31-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product31-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product31-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product31-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product31-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product31-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave PY chemistry path surface v1 */
/* FFV5 wave PZ strongest chemistry path surface v1 */
.ff-product31-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product31-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product31-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product31-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product31-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product31-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product31-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product31-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product31-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product31-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QA aura space surface v1 */
/* FFV5 wave QB companion aura space surface v1 */
.ff-product31-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product31-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product31-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product31-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product31-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product31-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product31-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product31-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product31-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product31-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QC remembered connection surface v1 */
/* FFV5 wave QD remembered companion signal surface v1 */
.ff-product32-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product32-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product32-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product32-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product32-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product32-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product32-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product32-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product32-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product32-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QE frictionless resume surface v1 */
/* FFV5 wave QF warm resume lane surface v1 */
.ff-product32-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product32-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product32-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product32-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product32-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product32-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product32-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product32-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product32-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product32-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QG performer world surface v1 */
/* FFV5 wave QH companion world surface v1 */
.ff-product32-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product32-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product32-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product32-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product32-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product32-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product32-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product32-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product32-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product32-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QI return warmth surface v1 */
/* FFV5 wave QJ warm remembered return surface v1 */
.ff-product33-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product33-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product33-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product33-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product33-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product33-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product33-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product33-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product33-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product33-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QK chemistry path surface v1 */
/* FFV5 wave QL strongest chemistry path surface v1 */
.ff-product33-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product33-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product33-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product33-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product33-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product33-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product33-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product33-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product33-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product33-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QM lane identity surface v1 */
/* FFV5 wave QN companion lane identity surface v1 */
.ff-product33-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product33-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product33-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product33-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product33-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product33-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product33-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product33-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product33-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product33-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QO remembered connection surface v1 */
/* FFV5 wave QP remembered companion signal surface v1 */
.ff-product34-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product34-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product34-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product34-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product34-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product34-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product34-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product34-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product34-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product34-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QQ chemistry path surface v1 */
/* FFV5 wave QR strongest chemistry path surface v1 */
.ff-product34-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product34-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product34-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product34-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product34-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product34-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product34-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product34-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product34-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product34-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QS presence room surface v1 */
/* FFV5 wave QT companion presence room surface v1 */
.ff-product34-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product34-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product34-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product34-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product34-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product34-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product34-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product34-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product34-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product34-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QU return warmth surface v1 */
/* FFV5 wave QV warm remembered return surface v1 */
.ff-product35-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product35-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product35-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product35-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product35-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product35-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product35-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product35-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product35-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product35-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QW chat pull surface v1 */
/* FFV5 wave QX conversation pull surface v1 */
.ff-product35-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product35-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product35-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product35-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product35-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product35-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product35-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product35-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product35-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product35-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave QY performer world surface v1 */
/* FFV5 wave QZ companion world surface v1 */
.ff-product35-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product35-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product35-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product35-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product35-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product35-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product35-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product35-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product35-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product35-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RA remembered connection surface v1 */
/* FFV5 wave RB remembered companion signal surface v1 */
.ff-product36-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product36-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product36-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product36-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product36-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product36-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product36-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product36-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product36-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product36-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RC chat pull surface v1 */
/* FFV5 wave RD conversation pull surface v1 */
.ff-product36-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product36-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product36-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product36-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product36-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product36-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product36-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product36-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product36-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product36-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RE performer world surface v1 */
/* FFV5 wave RF companion world surface v1 */
.ff-product36-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product36-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product36-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product36-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product36-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product36-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product36-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product36-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product36-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product36-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RG remembered connection surface v1 */
/* FFV5 wave RH remembered companion signal surface v1 */
.ff-product36-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product36-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product36-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product36-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product36-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product36-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product36-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product36-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product36-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product36-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RI frictionless resume surface v1 */
/* FFV5 wave RJ warm resume lane surface v1 */
.ff-product36-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product36-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product36-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product36-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product36-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product36-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product36-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product36-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product36-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product36-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RK performer world surface v1 */
/* FFV5 wave RL companion world surface v1 */
.ff-product36-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product36-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product36-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product36-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product36-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product36-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product36-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product36-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product36-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product36-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RM return warmth surface v1 */
/* FFV5 wave RN warm remembered return surface v1 */
.ff-product37-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product37-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product37-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product37-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product37-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product37-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product37-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product37-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product37-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product37-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RO chemistry path surface v1 */
/* FFV5 wave RP strongest chemistry path surface v1 */
.ff-product37-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product37-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product37-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product37-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product37-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product37-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product37-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product37-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product37-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product37-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RQ lane identity surface v1 */
/* FFV5 wave RR companion lane identity surface v1 */
.ff-product37-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product37-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product37-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product37-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product37-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product37-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product37-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product37-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product37-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product37-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RS remembered connection surface v1 */
/* FFV5 wave RT remembered companion signal surface v1 */
.ff-product38-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product38-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product38-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product38-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product38-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product38-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product38-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product38-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product38-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product38-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RU chemistry path surface v1 */
/* FFV5 wave RV strongest chemistry path surface v1 */
.ff-product38-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product38-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product38-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product38-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product38-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product38-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product38-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product38-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product38-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product38-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RW performer world surface v1 */
/* FFV5 wave RX companion world surface v1 */
.ff-product38-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product38-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product38-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product38-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product38-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product38-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product38-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product38-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product38-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product38-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave RY return warmth surface v1 */
/* FFV5 wave RZ warm remembered return surface v1 */
.ff-product39-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product39-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product39-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product39-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product39-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product39-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product39-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product39-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product39-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product39-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SA chat pull surface v1 */
/* FFV5 wave SB conversation pull surface v1 */
.ff-product39-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product39-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product39-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product39-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product39-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product39-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product39-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product39-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product39-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product39-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SC lane identity surface v1 */
/* FFV5 wave SD companion lane identity surface v1 */
.ff-product39-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product39-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product39-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product39-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product39-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product39-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product39-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product39-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product39-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product39-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SE remembered connection surface v1 */
/* FFV5 wave SF remembered companion signal surface v1 */
.ff-product40-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product40-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product40-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product40-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product40-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product40-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product40-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product40-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product40-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product40-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SG chat pull surface v1 */
/* FFV5 wave SH conversation pull surface v1 */
.ff-product40-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product40-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product40-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product40-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product40-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product40-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product40-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product40-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product40-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product40-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SI performer world surface v1 */
/* FFV5 wave SJ companion world surface v1 */
.ff-product40-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product40-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product40-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product40-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product40-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product40-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product40-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product40-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product40-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product40-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SK return warmth surface v1 */
/* FFV5 wave SL warm remembered return surface v1 */
.ff-product41-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product41-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product41-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product41-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product41-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product41-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product41-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product41-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product41-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product41-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SM frictionless resume surface v1 */
/* FFV5 wave SN warm resume lane surface v1 */
.ff-product41-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product41-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product41-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product41-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product41-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product41-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product41-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product41-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product41-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product41-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SO presence room surface v1 */
/* FFV5 wave SP companion presence room surface v1 */
.ff-product41-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product41-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product41-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product41-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product41-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product41-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product41-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product41-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product41-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product41-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SQ remembered connection surface v1 */
/* FFV5 wave SR remembered companion signal surface v1 */
.ff-product42-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product42-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product42-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product42-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product42-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product42-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product42-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product42-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product42-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product42-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SS chat pull surface v1 */
/* FFV5 wave ST conversation pull surface v1 */
.ff-product42-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product42-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product42-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product42-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product42-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product42-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product42-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product42-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product42-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product42-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SU performer world surface v1 */
/* FFV5 wave SV companion world surface v1 */
.ff-product42-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product42-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product42-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product42-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product42-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product42-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product42-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product42-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product42-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product42-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SW return warmth surface v1 */
/* FFV5 wave SX warm remembered return surface v1 */
.ff-product43-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product43-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product43-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product43-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product43-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product43-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product43-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product43-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product43-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product43-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave SY frictionless resume surface v1 */
/* FFV5 wave SZ warm resume lane surface v1 */
.ff-product43-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product43-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product43-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product43-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product43-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product43-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product43-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product43-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product43-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product43-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TA presence room surface v1 */
/* FFV5 wave TB companion presence room surface v1 */
.ff-product43-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product43-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product43-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product43-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product43-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product43-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product43-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product43-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product43-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product43-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TC remembered connection surface v1 */
/* FFV5 wave TD remembered companion signal surface v1 */
.ff-product44-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product44-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product44-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product44-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product44-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product44-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product44-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product44-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product44-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product44-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TE chat pull surface v1 */
/* FFV5 wave TF conversation pull surface v1 */
.ff-product44-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product44-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product44-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product44-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product44-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product44-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product44-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product44-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product44-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product44-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TG performer world surface v1 */
/* FFV5 wave TH companion world surface v1 */
.ff-product44-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product44-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product44-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product44-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product44-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product44-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product44-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product44-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product44-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product44-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TI return warmth surface v1 */
/* FFV5 wave TJ warm remembered return surface v1 */
.ff-product45-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product45-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product45-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product45-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product45-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product45-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product45-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product45-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product45-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product45-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TK frictionless resume surface v1 */
/* FFV5 wave TL warm resume lane surface v1 */
.ff-product45-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product45-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product45-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product45-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product45-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product45-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product45-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product45-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product45-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product45-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TM presence room surface v1 */
/* FFV5 wave TN companion presence room surface v1 */
.ff-product45-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product45-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product45-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product45-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product45-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product45-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product45-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product45-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product45-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product45-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TO remembered connection surface v1 */
/* FFV5 wave TP remembered companion signal surface v1 */
.ff-product46-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product46-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product46-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product46-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product46-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product46-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product46-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product46-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product46-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product46-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TQ frictionless resume surface v1 */
/* FFV5 wave TR warm resume lane surface v1 */
.ff-product46-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product46-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product46-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product46-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product46-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product46-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product46-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product46-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product46-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product46-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TS lane identity surface v1 */
/* FFV5 wave TT companion lane identity surface v1 */
.ff-product46-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product46-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product46-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product46-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product46-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product46-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product46-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product46-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product46-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product46-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TU return warmth surface v1 */
/* FFV5 wave TV warm remembered return surface v1 */
.ff-product47-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product47-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product47-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product47-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product47-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product47-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product47-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product47-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product47-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product47-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TW chemistry path surface v1 */
/* FFV5 wave TX strongest chemistry path surface v1 */
.ff-product47-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product47-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product47-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product47-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product47-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product47-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product47-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product47-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product47-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product47-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave TY performer world surface v1 */
/* FFV5 wave TZ companion world surface v1 */
.ff-product47-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product47-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product47-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product47-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product47-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product47-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product47-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product47-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product47-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product47-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UA active companion return surface v1 */
/* FFV5 wave UB companion return anchor surface v1 */
.ff-product48-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product48-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product48-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product48-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product48-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product48-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product48-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product48-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product48-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product48-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UC relationship reentry guidance surface v1 */
/* FFV5 wave UD relationship led reentry surface v1 */
.ff-product48-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product48-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product48-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product48-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product48-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product48-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product48-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product48-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product48-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product48-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UE performer world surface v1 */
/* FFV5 wave UF companion world surface v1 */
.ff-product48-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product48-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product48-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product48-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product48-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product48-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product48-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product48-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product48-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product48-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UG remembered return summary surface v1 */
/* FFV5 wave UH companion memory summary surface v1 */
.ff-product49-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product49-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product49-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product49-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product49-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product49-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product49-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product49-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product49-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product49-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UI companion chemistry badge surface v1 */
/* FFV5 wave UJ live chemistry signal surface v1 */
.ff-product49-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product49-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product49-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product49-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product49-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product49-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product49-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product49-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product49-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product49-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UK companion identity lane surface v1 */
/* FFV5 wave UL active companion lane surface v1 */
.ff-product49-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product49-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product49-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product49-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product49-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product49-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product49-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product49-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product49-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product49-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UM remembered return summary surface v1 */
/* FFV5 wave UN companion memory summary surface v1 */
.ff-product50-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product50-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product50-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product50-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product50-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product50-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product50-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product50-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product50-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product50-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UO companion chemistry badge surface v1 */
/* FFV5 wave UP live chemistry signal surface v1 */
.ff-product50-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product50-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product50-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product50-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product50-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product50-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product50-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product50-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product50-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product50-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UQ companion identity lane surface v1 */
/* FFV5 wave UR active companion lane surface v1 */
.ff-product50-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product50-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product50-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product50-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product50-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product50-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product50-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product50-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product50-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product50-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave US active companion return surface v1 */
/* FFV5 wave UT companion return anchor surface v1 */
.ff-product51-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product51-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product51-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product51-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product51-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product51-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product51-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product51-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product51-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product51-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UU chemistry path surface v1 */
/* FFV5 wave UV strongest chemistry path surface v1 */
.ff-product51-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product51-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product51-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product51-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product51-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product51-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product51-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product51-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product51-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product51-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UW lane identity surface v1 */
/* FFV5 wave UX companion lane identity surface v1 */
.ff-product51-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product51-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product51-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product51-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product51-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product51-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product51-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product51-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product51-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product51-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave UY active companion return surface v1 */
/* FFV5 wave UZ companion return anchor surface v1 */
.ff-product52-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product52-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product52-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product52-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product52-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product52-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product52-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product52-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product52-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product52-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VA companion chemistry badge surface v1 */
/* FFV5 wave VB live chemistry signal surface v1 */
.ff-product52-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product52-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product52-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product52-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product52-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product52-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product52-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product52-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product52-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product52-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VC companion identity lane surface v1 */
/* FFV5 wave VD active companion lane surface v1 */
.ff-product52-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product52-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product52-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product52-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product52-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product52-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product52-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product52-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product52-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product52-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VE remembered return summary surface v1 */
/* FFV5 wave VF companion memory summary surface v1 */
.ff-product53-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product53-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product53-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product53-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product53-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product53-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product53-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product53-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product53-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product53-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VG relationship reentry guidance surface v1 */
/* FFV5 wave VH relationship led reentry surface v1 */
.ff-product53-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product53-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product53-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product53-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product53-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product53-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product53-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product53-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product53-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product53-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VI lane identity surface v1 */
/* FFV5 wave VJ companion lane identity surface v1 */
.ff-product53-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product53-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product53-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product53-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product53-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product53-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product53-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product53-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product53-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product53-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VK remembered return summary surface v1 */
/* FFV5 wave VL companion memory summary surface v1 */
.ff-product54-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product54-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product54-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product54-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product54-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product54-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product54-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product54-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product54-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product54-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VM companion chemistry badge surface v1 */
/* FFV5 wave VN live chemistry signal surface v1 */
.ff-product54-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product54-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product54-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product54-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product54-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product54-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product54-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product54-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product54-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product54-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VO companion identity lane surface v1 */
/* FFV5 wave VP active companion lane surface v1 */
.ff-product54-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product54-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product54-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product54-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product54-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product54-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product54-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product54-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product54-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product54-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VQ active companion return surface v1 */
/* FFV5 wave VR companion return anchor surface v1 */
.ff-product55-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product55-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product55-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product55-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product55-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product55-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product55-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product55-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product55-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product55-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VS chemistry path surface v1 */
/* FFV5 wave VT strongest chemistry path surface v1 */
.ff-product55-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product55-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product55-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product55-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product55-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product55-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product55-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product55-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product55-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product55-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VU performer world surface v1 */
/* FFV5 wave VV companion world surface v1 */
.ff-product55-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product55-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product55-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product55-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product55-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product55-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product55-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product55-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product55-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product55-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VW active companion return surface v1 */
/* FFV5 wave VX companion return anchor surface v1 */
.ff-product56-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product56-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product56-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product56-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product56-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product56-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product56-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product56-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product56-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product56-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave VY relationship reentry guidance surface v1 */
/* FFV5 wave VZ relationship led reentry surface v1 */
.ff-product56-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product56-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product56-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product56-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product56-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product56-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product56-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product56-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product56-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product56-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WA companion identity lane surface v1 */
/* FFV5 wave WB active companion lane surface v1 */
.ff-product56-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product56-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product56-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product56-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product56-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product56-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product56-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product56-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product56-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product56-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WC remembered return summary surface v1 */
/* FFV5 wave WD companion memory summary surface v1 */
.ff-product57-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product57-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product57-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product57-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product57-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product57-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product57-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product57-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product57-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product57-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WE companion chemistry badge surface v1 */
/* FFV5 wave WF live chemistry signal surface v1 */
.ff-product57-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product57-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product57-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product57-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product57-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product57-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product57-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product57-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product57-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product57-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WG performer world surface v1 */
/* FFV5 wave WH companion world surface v1 */
.ff-product57-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product57-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product57-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product57-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product57-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product57-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product57-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product57-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product57-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product57-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WI active companion return surface v1 */
/* FFV5 wave WJ companion return anchor surface v1 */
.ff-product58-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product58-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product58-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product58-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product58-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product58-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product58-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product58-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product58-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product58-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WK companion chemistry badge surface v1 */
/* FFV5 wave WL live chemistry signal surface v1 */
.ff-product58-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product58-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product58-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product58-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product58-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product58-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product58-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product58-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product58-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product58-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WM performer world surface v1 */
/* FFV5 wave WN companion world surface v1 */
.ff-product58-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product58-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product58-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product58-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product58-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product58-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product58-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product58-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product58-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product58-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WO remembered return summary surface v1 */
/* FFV5 wave WP companion memory summary surface v1 */
.ff-product59-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product59-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product59-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product59-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product59-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product59-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product59-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product59-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product59-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product59-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WQ chemistry path surface v1 */
/* FFV5 wave WR strongest chemistry path surface v1 */
.ff-product59-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product59-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product59-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product59-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product59-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product59-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product59-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product59-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product59-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product59-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WS companion identity lane surface v1 */
/* FFV5 wave WT active companion lane surface v1 */
.ff-product59-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product59-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product59-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product59-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product59-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product59-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product59-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product59-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product59-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product59-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WU active companion return surface v1 */
/* FFV5 wave WV companion return anchor surface v1 */
.ff-product60-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product60-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product60-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product60-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product60-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product60-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product60-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product60-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product60-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product60-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WW relationship reentry guidance surface v1 */
/* FFV5 wave WX relationship led reentry surface v1 */
.ff-product60-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product60-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product60-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product60-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product60-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product60-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product60-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product60-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product60-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product60-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave WY companion identity lane surface v1 */
/* FFV5 wave WZ active companion lane surface v1 */
.ff-product60-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product60-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product60-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product60-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product60-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product60-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product60-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product60-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product60-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product60-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XA remembered return summary surface v1 */
/* FFV5 wave XB companion memory summary surface v1 */
.ff-product61-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product61-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product61-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product61-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product61-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product61-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product61-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product61-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product61-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product61-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XC companion chemistry badge surface v1 */
/* FFV5 wave XD live chemistry signal surface v1 */
.ff-product61-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product61-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product61-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product61-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product61-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product61-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product61-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product61-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product61-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product61-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XE performer world surface v1 */
/* FFV5 wave XF companion world surface v1 */
.ff-product61-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product61-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product61-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product61-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product61-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product61-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product61-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product61-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product61-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product61-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XG active companion return surface v1 */
/* FFV5 wave XH companion return anchor surface v1 */
.ff-product62-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product62-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product62-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product62-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product62-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product62-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product62-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product62-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product62-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product62-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XI companion chemistry badge surface v1 */
/* FFV5 wave XJ live chemistry signal surface v1 */
.ff-product62-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product62-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product62-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product62-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product62-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product62-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product62-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product62-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product62-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product62-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XK performer world surface v1 */
/* FFV5 wave XL companion world surface v1 */
.ff-product62-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product62-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product62-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product62-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product62-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product62-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product62-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product62-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product62-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product62-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XM remembered return summary surface v1 */
/* FFV5 wave XN companion memory summary surface v1 */
.ff-product63-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product63-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product63-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product63-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product63-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product63-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product63-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product63-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product63-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product63-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XO chemistry path surface v1 */
/* FFV5 wave XP strongest chemistry path surface v1 */
.ff-product63-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product63-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product63-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product63-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product63-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product63-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product63-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product63-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product63-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product63-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XQ companion identity lane surface v1 */
/* FFV5 wave XR active companion lane surface v1 */
.ff-product63-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product63-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product63-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product63-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product63-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product63-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product63-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product63-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product63-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product63-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XS active companion return surface v1 */
/* FFV5 wave XT companion return anchor surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XU relationship reentry guidance surface v1 */
/* FFV5 wave XV relationship led reentry surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XW companion identity lane surface v1 */
/* FFV5 wave XX active companion lane surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave XY remembered return summary surface v1 */
/* FFV5 wave XZ companion memory summary surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YA companion chemistry badge surface v1 */
/* FFV5 wave YB live chemistry signal surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YC performer world surface v1 */
/* FFV5 wave YD companion world surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YE active companion return surface v1 */
/* FFV5 wave YF companion return anchor surface v1 */
.ff-product66-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product66-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product66-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product66-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product66-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product66-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product66-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product66-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product66-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product66-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YG companion chemistry badge surface v1 */
/* FFV5 wave YH live chemistry signal surface v1 */
.ff-product66-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product66-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product66-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product66-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product66-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product66-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product66-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product66-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product66-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product66-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YI performer world surface v1 */
/* FFV5 wave YJ companion world surface v1 */
.ff-product66-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product66-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product66-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product66-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product66-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product66-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product66-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product66-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product66-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product66-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YK remembered return summary surface v1 */
/* FFV5 wave YL companion memory summary surface v1 */
.ff-product67-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product67-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product67-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product67-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product67-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product67-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product67-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product67-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product67-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product67-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YM chemistry path surface v1 */
/* FFV5 wave YN strongest chemistry path surface v1 */
.ff-product67-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product67-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product67-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product67-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product67-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product67-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product67-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product67-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product67-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product67-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YO companion identity lane surface v1 */
/* FFV5 wave YP active companion lane surface v1 */
.ff-product67-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product67-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product67-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product67-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product67-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product67-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product67-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product67-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product67-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product67-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YQ active companion return surface v1 */
/* FFV5 wave YR companion return anchor surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YS relationship reentry guidance surface v1 */
/* FFV5 wave YT relationship led reentry surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YU companion identity lane surface v1 */
/* FFV5 wave YV active companion lane surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YW remembered return summary surface v1 */
/* FFV5 wave YX companion memory summary surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave YY companion chemistry badge surface v1 */
/* FFV5 wave YZ live chemistry signal surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZA performer world surface v1 */
/* FFV5 wave ZB companion world surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZC active companion return surface v1 */
/* FFV5 wave ZD companion return anchor surface v1 */
.ff-product66-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product66-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product66-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product66-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product66-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product66-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product66-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product66-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product66-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product66-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZE companion chemistry badge surface v1 */
/* FFV5 wave ZF live chemistry signal surface v1 */
.ff-product66-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product66-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product66-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product66-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product66-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product66-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product66-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product66-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product66-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product66-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZG performer world surface v1 */
/* FFV5 wave ZH companion world surface v1 */
.ff-product66-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product66-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product66-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product66-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product66-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product66-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product66-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product66-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product66-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product66-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZI remembered return summary surface v1 */
/* FFV5 wave ZJ companion memory summary surface v1 */
.ff-product67-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product67-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product67-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product67-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product67-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product67-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product67-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product67-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product67-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product67-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZK chemistry path surface v1 */
/* FFV5 wave ZL strongest chemistry path surface v1 */
.ff-product67-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product67-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product67-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product67-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product67-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product67-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product67-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product67-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product67-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product67-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZM companion identity lane surface v1 */
/* FFV5 wave ZN active companion lane surface v1 */
.ff-product67-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product67-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product67-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product67-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product67-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product67-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product67-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product67-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product67-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product67-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZO active companion return surface v1 */
/* FFV5 wave ZP companion return anchor surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZQ relationship reentry guidance surface v1 */
/* FFV5 wave ZR relationship led reentry surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZS companion identity lane surface v1 */
/* FFV5 wave ZT active companion lane surface v1 */
.ff-product64-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product64-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product64-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product64-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product64-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product64-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product64-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product64-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product64-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product64-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZU remembered return summary surface v1 */
/* FFV5 wave ZV companion memory summary surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZW companion chemistry badge surface v1 */
/* FFV5 wave ZX live chemistry signal surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FFV5 wave ZY performer world surface v1 */
/* FFV5 wave ZZ companion world surface v1 */
.ff-product65-rail {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}
.ff-product65-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 6px;
}
.ff-product65-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 7px;
}
.ff-product65-copy {
  font-size: 14px;
  line-height: 1.58;
  margin-bottom: 10px;
  max-width: 78ch;
}
.ff-product65-meta {
  font-size: 13px;
  opacity: 0.85;
  margin-bottom: 10px;
}
.ff-product65-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-product65-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: inherit;
  text-decoration: none;
}
.ff-product65-link:hover {
  background: rgba(255,255,255,0.09);
}
.ff-product65-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 10px 0 12px 0;
}
.ff-product65-chip {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
}

/* FF_TRANCHE_CARD_STYLE_V3 */
.ff-tranche-card {
  margin: 0 0 18px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  background: rgba(255,255,255,0.04);
}
.ff-tranche-eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  opacity: 0.75;
  margin-bottom: 6px;
}
.ff-tranche-title {
  font-size: 20px;
  margin-bottom: 8px;
}
.ff-tranche-copy {
  opacity: 0.86;
  margin-bottom: 10px;
}
.ff-tranche-meta {
  opacity: 0.78;
  font-size: 13px;
  margin-bottom: 10px;
}
.ff-tranche-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.ff-tranche-chip {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  font-size: 12px;
}
.ff-tranche-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ff-tranche-link {
  display: inline-flex;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  color: #f5f7fb;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
}
