/**
 * Outcome refit — GRAPHIC-CARD CSS.
 *
 * Styles ONLY the hand-built graphic shortcodes on outcome taxonomy pages. All
 * section chrome — headings, stat grids, feature rows, backdrop bands, case
 * spotlights, cross-link tiles, CTA bands — is rendered by editable ACF layouts
 * and styled by main.css + feature-refit.css.
 *
 * Every rule is scoped under its outcome namespace (`.flv-ran` = Reduce
 * Abandonment & No-Shows, `.flv-ccs` = Increase Conversion & Cross-Sell,
 * `.flv-cwt` = Convert Wait Time, `.flv-sdc` = Smooth Demand & Reduce
 * Congestion, `.flv-iop` = Improve Operational Performance, `.flv-eee` = Improve
 * Employee Experience & Efficiency, `.flv-bcf` = Reduce Booking & Check-In
 * Friction, `.flv-rwt` = Reduce Wait Time & Improve Visitor Flow, `.flv-ice` =
 * Increase Customer Engagement) so the
 * generic card class names cannot collide with the industry pages or the feature
 * pages. `--fl-*` tokens resolve via the aliases on `.flv` in feature-visuals.css.
 * Enqueued after feature-visuals.css, on is_tax('outcome') only.
 *
 * Values are lifted from the matching WebRefit Handoff mockup, not eyeballed.
 */

/* =============================================================================
   REDUCE ABANDONMENT & NO-SHOWS (.flv-ran)
   ========================================================================== */

/* ---------- the recovery window: walkout → text → return ---------- */
.flv-ran .flv-ran-flow { max-width:920px;margin:0 auto; }
.flv-ran .flv-ran-flow-steps {
	display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
	list-style:none;margin:0;padding:0;
}
.flv-ran .flv-ran-flow-step {
	position:relative;background:#fff;
	border:1px solid var(--fl-line);border-radius:12px;
	padding:26px 24px 20px;
	box-shadow:0 1px 2px rgba(74,67,64,.05);
}
/* Chevron between steps; the mockup drops it on the last card. */
.flv-ran .flv-ran-flow-step:not(:last-child)::after {
	content:"\203A";
	position:absolute;right:-17px;top:50%;transform:translateY(-50%);
	font-size:1.5rem;font-weight:600;color:var(--fl-sand);line-height:1;
}
.flv-ran .flv-ran-flow-badge {
	display:inline-flex;align-items:center;justify-content:center;
	width:32px;height:32px;border-radius:999px;
	background:var(--fl-teal);color:#fff;
	font-size:.9rem;font-weight:700;margin-bottom:14px;
}
.flv-ran .flv-ran-flow-step h3 { font-size:1.1rem;font-weight:500;margin-bottom:6px;color:var(--fl-ink); }
.flv-ran .flv-ran-flow-step p { margin:0;font-size:.95rem;color:var(--fl-gray); }

/* ---------- K5(a) customer stage + K2 card switcher ----------
 * Pill strip is a control for the stage, so it sits above the photo (the
 * mockup centres both).
 */
.flv-ran .flv-ran-stage { display:flex;flex-direction:column;align-items:center; }
.flv-ran .flv-ran-stage .flv-k2-pills { order:1;margin:0 0 32px; }
.flv-ran .flv-ran-stage .flv-k5a { order:2;align-self:stretch;width:100%; }

.flv-ran .flv-k2-pills {
	display:inline-flex;flex-wrap:wrap;gap:4px;
	background:#fff;border:1px solid var(--fl-line);border-radius:999px;padding:5px;
}
.flv-ran .flv-k2-pill {
	border:0;background:transparent;color:var(--fl-ink);
	font-family:"Inter",sans-serif;font-weight:600;font-size:.95rem;
	padding:9px 18px;border-radius:999px;cursor:pointer;
	transition:background .15s ease,color .15s ease;
}
.flv-ran .flv-k2-pill:hover { color:var(--fl-coral-hover); }
.flv-ran .flv-k2-pill[aria-selected="true"] { background:var(--fl-coral);color:#fff; }

.flv-ran .flv-k5a { position:relative; }
.flv-ran .flv-k5a .flv-k5a-photo {
	width:100%;height:600px;
	object-fit:cover;object-position:50% 42%;
	display:block;border-radius:12px;
}
.flv-ran .flv-k5a .flv-xp-panel { position:absolute;top:50%;right:48px;transform:translateY(-50%); }
.flv-ran .flv-xp-panel { display:none; }
.flv-ran .flv-xp-panel.is-active { display:block; }
.flv-ran .flv-xp-panel[hidden] { display:none; }

/* ---------- floating library cards ----------
 * Literal hex is intentional here: these simulate a customer's phone UI and
 * must not drift with the page's section scheme.
 */
.flv-ran .flv-sms { width:320px;max-width:100%;box-sizing:border-box;background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;overflow:hidden;font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;color:#4A4340; }
.flv-ran .flv-sms * { box-sizing:border-box;margin:0; }
.flv-ran .flv-sms .flv-sms-head { display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #EAE4DD; }
.flv-ran .flv-sms .flv-sms-avatar { display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;font-size:13px;font-weight:600;flex:0 0 auto; }
.flv-ran .flv-sms .flv-sms-name { display:block;font-size:14px;font-weight:600;color:#4A4340;line-height:1.2; }
.flv-ran .flv-sms .flv-sms-sub { display:block;font-size:11px;color:#8A817C;margin-top:2px; }
.flv-ran .flv-sms .flv-sms-thread { display:flex;flex-direction:column;gap:8px;padding:14px 14px 10px; }
.flv-ran .flv-sms .flv-sms-time { align-self:center;font-size:11px;color:#8A817C; }
.flv-ran .flv-sms .flv-sms-in { max-width:86%;align-self:flex-start;background:#F7F3EE;border:1px solid #EAE4DD;border-radius:14px 14px 14px 4px;padding:9px 12px;font-size:13.5px;line-height:1.45;color:#4A4340; }
.flv-ran .flv-sms .flv-sms-in b { font-weight:600; }
.flv-ran .flv-sms .flv-sms-out { max-width:86%;align-self:flex-end;background:rgba(46,125,123,.12);border:1px solid #B8DADA;border-radius:14px 14px 4px 14px;padding:9px 12px;font-size:13.5px;line-height:1.45;font-weight:500;color:#235F5D; }
.flv-ran .flv-sms .flv-sms-status { align-self:flex-end;font-size:10.5px;font-weight:500;color:#8A817C;margin-top:-3px; }
.flv-ran .flv-sms .flv-sms-compose { display:flex;align-items:center;gap:8px;padding:10px 14px 14px; }
.flv-ran .flv-sms .flv-sms-input { flex:1;display:flex;align-items:center;height:36px;border:1px solid #EAE4DD;border-radius:18px;padding:0 12px;font-size:12.5px;color:#8A817C; }
.flv-ran .flv-sms .flv-sms-send { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;border:0;cursor:pointer;flex:0 0 auto; }
.flv-ran .flv-sms .flv-sms-send svg { width:16px;height:16px; }
.flv-ran .flv-sms .flv-sms-send:focus-visible { outline:2px solid #235F5D;outline-offset:2px; }

.flv-ran .flv-line { width:320px;max-width:100%;box-sizing:border-box;background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;padding:22px 20px;font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;color:#4A4340; }
.flv-ran .flv-line * { box-sizing:border-box;margin:0; }
.flv-ran .flv-line .flv-line-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:8px; }
.flv-ran .flv-line .flv-line-big { font-size:24px;font-weight:600;color:#4A4340;line-height:1.25; }
.flv-ran .flv-line .flv-line-sub { font-size:18px;font-weight:500;color:#8A817C;margin:2px 0 14px; }
.flv-ran .flv-line .flv-line-chip { display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:rgba(46,125,123,.12);color:#235F5D;font-size:11px;font-weight:600;margin-bottom:12px; }
.flv-ran .flv-line .flv-line-chip svg { width:12px;height:12px; }
.flv-ran .flv-line .flv-line-note { font-size:13px;line-height:1.5;color:#4A4340; }

.flv-ran .flv-remind { width:320px;max-width:100%;box-sizing:border-box;background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;padding:22px 20px;font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;color:#4A4340; }
.flv-ran .flv-remind * { box-sizing:border-box;margin:0; }
.flv-ran .flv-remind .flv-remind-top { display:flex;align-items:center;gap:12px;margin-bottom:12px; }
.flv-ran .flv-remind .flv-remind-check { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(46,125,123,.12);color:#2E7D7B;flex:0 0 auto; }
.flv-ran .flv-remind .flv-remind-check svg { width:18px;height:18px; }
.flv-ran .flv-remind .flv-remind-title { font-size:16px;font-weight:600;color:#4A4340;line-height:1.3; }
.flv-ran .flv-remind .flv-remind-when { font-size:15px;font-weight:600;color:#4A4340;margin-bottom:3px; }
.flv-ran .flv-remind .flv-remind-where { font-size:12.5px;color:#8A817C;margin-bottom:14px; }
.flv-ran .flv-remind .flv-remind-strip { background:rgba(46,125,123,.08);border:1px solid #B8DADA;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5;color:#235F5D; }
.flv-ran .flv-remind .flv-remind-strip b { font-weight:600; }

.flv-ran .flv-k5a .flv-sms,
.flv-ran .flv-k5a .flv-line,
.flv-ran .flv-k5a .flv-remind { box-shadow:0 24px 64px rgba(0,0,0,.22); }

/* The rebook row's K4 proof tile now renders inside that row's copy column via
 * content_media's own stat_* fields (styled in feature-refit.css), so it needs
 * no alignment overrides here. */

/* ---------- responsive (mockup breakpoints: 980 / 620) ---------- */
@media (max-width:980px) {
	.flv-ran .flv-ran-flow-steps { grid-template-columns:1fr; }
	.flv-ran .flv-ran-flow-step:not(:last-child)::after { content:none; }
	.flv-ran .flv-k5a .flv-k5a-photo { height:440px; }
	.flv-ran .flv-k5a .flv-xp-panel {
		position:static;transform:none;
		margin:-72px auto 0;width:320px;max-width:100%;
	}
	.flv-ran .flv-xp-panel.is-active { display:block; }
	.flv-ran .flv-k5a .flv-sms,
	.flv-ran .flv-k5a .flv-line,
	.flv-ran .flv-k5a .flv-remind { box-shadow:0 16px 44px rgba(0,0,0,.16); }
}
@media (max-width:620px) {
	.flv-ran .flv-k5a .flv-k5a-photo { height:320px; }
	.flv-ran .flv-k5a .flv-xp-panel { margin-top:-48px; }
}

/* =============================================================================
   INCREASE CONVERSION & CROSS-SELL (.flv-ccs)
   ========================================================================== */

/* ---------- hero phone in its coral panel ----------
 * Sized by HEIGHT so the 1:2 phone stays in the same band as the hero copy
 * rather than overhanging it (see the retail hero-band fix).
 */
.flv-ccs .flv-ccs-hero-panel {
	position:relative;
	display:flex;justify-content:center;align-items:center;
	background:var(--fl-secondary);
	border-radius:12px;
	padding:36px 24px;
	overflow:hidden;
}
.flv-ccs .flv-ccs-hero-panel::before {
	content:"";position:absolute;inset:auto -120px -160px auto;
	width:420px;height:420px;border-radius:50%;
	background:var(--fl-coral-light);opacity:.28;
}
/* v2 screens draw their own bezel: no card, no shadow behind the frame. */
.flv-ccs .flv-ccs-hero-phone {
	position:relative;z-index:1;
	height:460px;width:auto;aspect-ratio:1/2;
	max-width:100%;
	border:0;border-radius:12px;overflow:hidden;
	background:transparent;box-shadow:none;display:block;
}
/* Caption rides inside the panel, bottom-left, as in the mockup. */
.flv-ccs .flv-ccs-hero-caption {
	position:absolute;z-index:1;left:24px;bottom:18px;
	font-size:.75rem;font-weight:600;color:var(--fl-ink);
	letter-spacing:.05em;text-transform:uppercase;
}

/* ---------- "waiting becomes revenue" step strip ---------- */
.flv-ccs .flv-ccs-steps {
	display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
	max-width:1000px;margin:0 auto;
}
.flv-ccs .flv-ccs-step {
	background:var(--fl-secondary);border:1px solid var(--fl-line);
	border-radius:12px;padding:24px 22px;text-align:left;
}
.flv-ccs .flv-ccs-step-num {
	display:inline-flex;align-items:center;justify-content:center;
	width:30px;height:30px;border-radius:999px;
	background:var(--fl-coral);color:#fff;
	font-size:.85rem;font-weight:700;margin-bottom:12px;
}
.flv-ccs .flv-ccs-step h3 { font-size:1.05rem;font-weight:600;margin:0 0 4px;color:var(--fl-ink); }
.flv-ccs .flv-ccs-step p { margin:0;font-size:.92rem;color:var(--fl-gray); }

/* ---------- K5(a) store stage: photo + two floating UI cards ---------- */
.flv-ccs .flv-ccs-stage {
	position:relative;
	border-radius:12px;overflow:hidden;
	border:1px solid var(--fl-line);
}
.flv-ccs .flv-ccs-stage-photo {
	display:block;width:100%;
	aspect-ratio:16/9;object-fit:cover;object-position:center 42%;
	border-radius:0;
}
.flv-ccs .flv-ccs-card {
	position:absolute;
	max-width:320px;
	filter:drop-shadow(0 18px 40px rgba(58,38,26,.28));
}
.flv-ccs .flv-ccs-card--a { left:5%;top:7%; }
.flv-ccs .flv-ccs-card--b { left:17%;bottom:6%; }

/* ---------- floating library cards ----------
 * Literal hex: these simulate a customer's phone UI and must not drift with the
 * page's section scheme.
 */
.flv-ccs .flv-sms { width:320px;max-width:100%;box-sizing:border-box;background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;box-shadow:0 1px 2px rgba(74,67,64,.05);overflow:hidden;font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;color:#4A4340; }
.flv-ccs .flv-sms * { box-sizing:border-box;margin:0; }
.flv-ccs .flv-sms .flv-sms-head { display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #EAE4DD; }
.flv-ccs .flv-sms .flv-sms-avatar { display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;font-size:13px;font-weight:600;flex:0 0 auto; }
.flv-ccs .flv-sms .flv-sms-name { display:block;font-size:14px;font-weight:600;color:#4A4340;line-height:1.2; }
.flv-ccs .flv-sms .flv-sms-sub { display:block;font-size:11px;color:#8A817C;margin-top:2px; }
.flv-ccs .flv-sms .flv-sms-thread { display:flex;flex-direction:column;gap:8px;padding:14px 14px 10px; }
.flv-ccs .flv-sms .flv-sms-time { align-self:center;font-size:11px;color:#8A817C; }
.flv-ccs .flv-sms .flv-sms-in { max-width:86%;align-self:flex-start;background:#F7F3EE;border:1px solid #EAE4DD;border-radius:14px 14px 14px 4px;padding:9px 12px;font-size:13.5px;line-height:1.45;color:#4A4340; }
.flv-ccs .flv-sms .flv-sms-in b { font-weight:600; }
.flv-ccs .flv-sms .flv-sms-out { max-width:86%;align-self:flex-end;background:rgba(46,125,123,.12);border:1px solid #B8DADA;border-radius:14px 14px 4px 14px;padding:9px 12px;font-size:13.5px;line-height:1.45;font-weight:500;color:#235F5D; }
.flv-ccs .flv-sms .flv-sms-status { align-self:flex-end;font-size:10.5px;font-weight:500;color:#8A817C;margin-top:-3px; }
.flv-ccs .flv-sms .flv-sms-compose { display:flex;align-items:center;gap:8px;padding:10px 14px 14px; }
.flv-ccs .flv-sms .flv-sms-input { flex:1;display:flex;align-items:center;height:36px;border:1px solid #EAE4DD;border-radius:18px;padding:0 12px;font-size:12.5px;color:#8A817C; }
.flv-ccs .flv-sms .flv-sms-send { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;border:0;cursor:pointer;flex:0 0 auto; }
.flv-ccs .flv-sms .flv-sms-send svg { width:16px;height:16px; }
.flv-ccs .flv-sms .flv-sms-send:focus-visible { outline:2px solid #235F5D;outline-offset:2px; }

.flv-ccs .flv-line { width:320px;max-width:100%;box-sizing:border-box;background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;box-shadow:0 1px 2px rgba(74,67,64,.05);padding:22px 20px;font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;color:#4A4340; }
.flv-ccs .flv-line * { box-sizing:border-box;margin:0; }
.flv-ccs .flv-line .flv-line-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:8px; }
.flv-ccs .flv-line .flv-line-big { font-size:24px;font-weight:600;color:#4A4340;line-height:1.25; }
.flv-ccs .flv-line .flv-line-sub { font-size:18px;font-weight:500;color:#8A817C;margin:2px 0 14px; }
.flv-ccs .flv-line .flv-line-chip { display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:rgba(46,125,123,.12);color:#235F5D;font-size:11px;font-weight:600;margin-bottom:12px; }
.flv-ccs .flv-line .flv-line-chip svg { width:12px;height:12px; }
.flv-ccs .flv-line .flv-line-note { font-size:13px;line-height:1.5;color:#4A4340; }

@media (max-width:980px) {
	.flv-ccs .flv-ccs-steps { grid-template-columns:1fr; }
	.flv-ccs .flv-ccs-hero-panel { padding:28px 16px; }
	.flv-ccs .flv-ccs-hero-phone { height:440px; }
	/* Cards stop floating over the photo and stack beneath it. */
	.flv-ccs .flv-ccs-stage { border:0; }
	.flv-ccs .flv-ccs-card { position:static;max-width:none;margin:16px auto 0;width:320px; }
	.flv-ccs .flv-ccs-stage-photo { border-radius:12px; }
}
@media (max-width:620px) {
	.flv-ccs .flv-ccs-hero-phone { height:380px; }
}

/* =============================================================================
   CONVERT WAIT TIME INTO PRODUCTIVE TIME (.flv-cwt)
   ========================================================================== */

/* ---------- hero phone ----------
 * Sized by HEIGHT so the 1:2 phone stays in the same band as the hero copy.
 */
/* Phone sits to the RIGHT so the floating stat card has room bottom-left. */
.flv-cwt .flv-cwt-hero-panel {
	position:relative;
	display:flex;justify-content:flex-end;align-items:center;
	background:var(--fl-secondary);
	border-radius:12px;
	padding:40px 28px 48px;
	overflow:hidden;
}
.flv-cwt .flv-cwt-hero-panel::before {
	content:"";position:absolute;inset:auto -120px -160px auto;
	width:420px;height:420px;border-radius:50%;
	background:var(--fl-coral-light);opacity:.26;
}
/* v2 screens draw their own bezel: no card, no shadow behind the frame. */
.flv-cwt .flv-cwt-hero-phone {
	position:relative;z-index:1;
	height:460px;width:auto;aspect-ratio:1/2;
	max-width:100%;
	border:0;border-radius:12px;overflow:hidden;
	background:transparent;box-shadow:none;display:block;
}
/* Floating proof card, over the panel at bottom-left (mockup .fl-hero-stat). */
.flv-cwt .flv-cwt-hero-stat {
	position:absolute;z-index:2;
	left:26px;bottom:30px;
	background:#fff;
	border-radius:12px;
	padding:26px 26px 20px;
	max-width:230px;
	box-shadow:0 18px 48px rgba(74,67,64,.22);
}
.flv-cwt .flv-cwt-stat-num {
	font-family:"Fraunces",Georgia,serif;font-weight:600;
	font-size:clamp(2.2rem,3.6vw,3rem);
	color:var(--fl-coral);line-height:1;
}
.flv-cwt .flv-cwt-stat-label { margin-top:10px;font-size:.92rem;font-weight:500;color:var(--fl-ink); }
.flv-cwt .flv-cwt-stat-src { margin:12px 0 0;font-size:.75rem;color:var(--fl-ink); }
/* Caption sits bottom-RIGHT: the stat card owns the bottom-left corner. */
.flv-cwt .flv-cwt-hero-caption {
	position:absolute;z-index:1;right:24px;bottom:16px;
	font-size:.75rem;font-weight:600;color:var(--fl-ink);
	letter-spacing:.05em;text-transform:uppercase;
}

/* ---------- how it works: three step cards ---------- */
.flv-cwt .flv-cwt-steps { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.flv-cwt .flv-cwt-step {
	background:var(--fl-paper);
	border:1px solid var(--fl-line);
	border-radius:12px;
	padding:30px 26px 26px;
}
.flv-cwt .flv-cwt-step-icon {
	width:44px;height:44px;border-radius:50%;
	background:var(--fl-teal-light);
	display:flex;align-items:center;justify-content:center;
	color:var(--fl-teal);
	margin-bottom:18px;
}
.flv-cwt .flv-cwt-step-kicker {
	display:block;
	font-size:.78rem;font-weight:700;letter-spacing:.14em;
	text-transform:uppercase;color:var(--fl-teal);
	margin-bottom:8px;
}
.flv-cwt .flv-cwt-step h3 { font-size:1.1rem;font-weight:600;margin:0 0 6px;color:var(--fl-ink); }
.flv-cwt .flv-cwt-step p { margin:0;font-size:.95rem;color:var(--fl-gray); }

/* ---------- floating UI cards on the backdrop ----------
 * These sit on a scrimmed photo, so they keep their own light card treatment
 * regardless of the section scheme.
 */
.flv-cwt .flv-cwt-cards { display:grid;gap:16px;justify-items:end; }
.flv-cwt .flv-cwt-wait,
.flv-cwt .flv-cwt-line {
	width:320px;max-width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 18px 48px rgba(46,38,32,.28);
	padding:22px 20px;color:var(--fl-ink);
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-cwt .flv-cwt-wait *,
.flv-cwt .flv-cwt-line * { box-sizing:border-box;margin:0; }
.flv-cwt .flv-cwt-ui-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-gray);margin-bottom:8px; }
.flv-cwt .flv-cwt-wait-label { font-size:12px;font-weight:500;color:var(--fl-gray); }
.flv-cwt .flv-cwt-wait-value { font-size:24px;font-weight:600;color:var(--fl-coral);line-height:1.2;margin:2px 0 16px; }
.flv-cwt .flv-cwt-wait-field { margin-bottom:12px; }
.flv-cwt .flv-cwt-wait-field label { display:block;font-size:12px;font-weight:500;color:var(--fl-ink);margin-bottom:5px; }
.flv-cwt .flv-cwt-wait-input { width:100%;height:42px;border:1px solid var(--fl-line);border-radius:8px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:500;color:var(--fl-ink);background:#FFFFFF; }
.flv-cwt .flv-cwt-wait-input:focus-visible { outline:2px solid var(--fl-coral-hover);outline-offset:1px; }
.flv-cwt .flv-cwt-wait-btn { display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 14px;background:var(--fl-coral);color:#FFFFFF;border:0;border-radius:12px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px;transition:background-color .15s ease; }
.flv-cwt .flv-cwt-wait-btn:hover { background:var(--fl-coral-hover); }
.flv-cwt .flv-cwt-wait-btn:focus-visible { outline:2px solid var(--fl-coral-hover);outline-offset:2px; }
.flv-cwt .flv-cwt-line-big { font-size:24px;font-weight:600;color:var(--fl-ink);line-height:1.25; }
.flv-cwt .flv-cwt-line-sub { font-size:18px;font-weight:500;color:var(--fl-gray);margin:2px 0 14px; }
.flv-cwt .flv-cwt-line-chip { display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:rgba(46,125,123,.12);color:#235F5D;font-size:11px;font-weight:600;margin-bottom:12px; }
.flv-cwt .flv-cwt-line-chip svg { width:12px;height:12px; }
.flv-cwt .flv-cwt-line-note { font-size:13px;line-height:1.5;color:var(--fl-ink); }

@media (max-width:980px) {
	.flv-cwt .flv-cwt-steps { grid-template-columns:1fr; }
	.flv-cwt .flv-cwt-hero-panel { justify-content:center;padding:28px 16px; }
	.flv-cwt .flv-cwt-hero-phone { height:420px; }
	.flv-cwt .flv-cwt-cards { justify-items:start; }
}
/* Too narrow to float the card beside the phone: stack it under, in flow. */
@media (max-width:820px) {
	.flv-cwt .flv-cwt-hero-panel { flex-wrap:wrap;justify-content:center;gap:24px;padding-bottom:28px; }
	.flv-cwt .flv-cwt-hero-stat { position:static;max-width:none;width:100%;box-shadow:0 1px 2px rgba(74,67,64,.05); }
	.flv-cwt .flv-cwt-hero-caption { position:static;order:3;width:100%;text-align:center; }
}
@media (max-width:620px) {
	.flv-cwt .flv-cwt-hero-phone { height:380px; }
}

/* =============================================================================
   SMOOTH DEMAND & REDUCE CONGESTION (.flv-sdc)
   ========================================================================== */

/* ---------- K5(a) hero stage: branch photo + appointment card ---------- */
.flv-sdc .flv-sdc-stage {
	position:relative;
	border-radius:12px;overflow:hidden;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
}
.flv-sdc .flv-sdc-stage-photo {
	display:block;width:100%;
	aspect-ratio:4/3;object-fit:cover;
	border-radius:0;
}
.flv-sdc .flv-sdc-stage-card {
	position:absolute;top:22px;right:22px;
	width:min(288px,76%);
	filter:drop-shadow(0 18px 40px rgba(58,32,18,.28));
}
.flv-sdc .flv-sdc-stage-caption {
	display:block;margin-top:12px;
	font-size:.75rem;font-weight:600;color:var(--fl-gray);
	letter-spacing:.05em;text-transform:uppercase;
}

/* ---------- appointment picker card ----------
 * Literal hex: this simulates the product UI and must not drift with the
 * page's section scheme.
 */
.flv-sdc .flv-sdc-appt { width:100%;max-width:320px;box-sizing:border-box;background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;box-shadow:0 1px 2px rgba(74,67,64,.05);padding:22px 20px;font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;color:#4A4340; }
.flv-sdc .flv-sdc-appt * { box-sizing:border-box;margin:0; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:8px; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-title { font-size:18px;font-weight:600;color:#4A4340;margin-bottom:14px; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-date { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-day { font-size:14px;font-weight:600;color:#4A4340; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-nav { display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #EAE4DD;border-radius:8px;background:#FFFFFF;color:#4A4340;font-size:16px;line-height:1;cursor:pointer;font-family:inherit; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-nav:hover { border-color:#C4622D;color:#A8511F; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-nav:focus-visible { outline:2px solid #A8511F;outline-offset:2px; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-slots { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-slot { display:flex;align-items:center;justify-content:center;height:38px;border:1px solid #EAE4DD;border-radius:8px;background:#FFFFFF;color:#4A4340;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-slot:hover { border-color:#C4622D; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-slot:focus-visible { outline:2px solid #A8511F;outline-offset:2px; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-slot.is-selected { background:#C4622D;border-color:#C4622D;color:#FFFFFF; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-btn { display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 14px;background:#C4622D;color:#FFFFFF;border:0;border-radius:12px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-btn:hover { background:#A8511F; }
.flv-sdc .flv-sdc-appt .flv-sdc-appt-btn:focus-visible { outline:2px solid #A8511F;outline-offset:2px; }

/* ---------- with / without smoothing curves ---------- */
.flv-sdc .flv-sdc-ba-toggle {
	display:inline-flex;gap:6px;
	background:#fff;border:1px solid var(--fl-line);border-radius:999px;
	padding:6px;margin-bottom:18px;
}
.flv-sdc .flv-sdc-ba-pill {
	border:0;background:transparent;color:var(--fl-ink);
	font-family:"Inter",sans-serif;font-weight:600;font-size:.88rem;
	padding:8px 16px;border-radius:999px;cursor:pointer;
	transition:background .15s ease,color .15s ease;
}
.flv-sdc .flv-sdc-ba-pill:hover { color:var(--fl-teal); }
.flv-sdc .flv-sdc-ba-pill[aria-pressed="true"] { background:var(--fl-teal);color:#fff; }
.flv-sdc .flv-sdc-ba-panel[hidden] { display:none; }
.flv-sdc .flv-sdc-ba-curve { display:block;width:100%;height:auto; }
.flv-sdc .flv-sdc-ba-line { margin:12px 0 0;font-size:.95rem;color:var(--fl-gray); }
.flv-sdc .flv-sdc-ba-src { margin:14px 0 0;font-size:.75rem;color:var(--fl-gray); }

/* ---------- place-in-line card on the calm-lobby backdrop ---------- */
.flv-sdc .flv-sdc-line { width:320px;max-width:100%;box-sizing:border-box;background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;box-shadow:0 18px 48px rgba(46,38,32,.28);padding:22px 20px;font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;color:#4A4340; }
.flv-sdc .flv-sdc-line * { box-sizing:border-box;margin:0; }
.flv-sdc .flv-sdc-line .flv-sdc-line-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:8px; }
.flv-sdc .flv-sdc-line .flv-sdc-line-big { font-size:24px;font-weight:600;color:#4A4340;line-height:1.25; }
.flv-sdc .flv-sdc-line .flv-sdc-line-sub { font-size:18px;font-weight:500;color:#8A817C;margin:2px 0 14px; }
.flv-sdc .flv-sdc-line .flv-sdc-line-chip { display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:rgba(46,125,123,.12);color:#235F5D;font-size:11px;font-weight:600;margin-bottom:12px; }
.flv-sdc .flv-sdc-line .flv-sdc-line-chip svg { width:12px;height:12px; }
.flv-sdc .flv-sdc-line .flv-sdc-line-note { font-size:13px;line-height:1.5;color:#4A4340; }
/* Source line sits on the scrim, so it reads light. */
.flv-sdc .flv-sdc-line-src { margin:12px 0 0;font-size:.8rem;font-weight:500;color:rgba(255,255,255,.92); }

@media (max-width:980px) {
	.flv-sdc .flv-sdc-stage-card { position:static;width:auto;margin:16px auto 0;max-width:320px; }
	.flv-sdc .flv-sdc-stage { overflow:visible;box-shadow:none; }
	.flv-sdc .flv-sdc-stage-photo { border-radius:12px; }
}

/* =============================================================================
   IMPROVE OPERATIONAL PERFORMANCE (.flv-iop)
   ========================================================================== */

/* ---------- K5(a) hero stage: lobby photo + network-insight card ---------- */
.flv-iop .flv-iop-stage { position:relative; }
.flv-iop .flv-iop-stage-photo {
	display:block;width:100%;
	aspect-ratio:4/3;object-fit:cover;object-position:center;
	border:1px solid var(--fl-line);border-radius:12px;
}
.flv-iop .flv-iop-stage-note { margin:12px 0 0;font-size:.78rem;color:var(--fl-gray); }
.flv-iop .flv-iop-hcard {
	position:absolute;right:24px;bottom:24px;
	width:min(320px,calc(100% - 48px));
	background:#fff;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 24px 56px rgba(74,67,64,.28);
	padding:20px 22px 8px;
}
.flv-iop .flv-iop-hcard-head {
	display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;
	gap:8px;margin-bottom:10px;
}
.flv-iop .flv-iop-hcard-chip {
	display:inline-block;
	background:var(--fl-teal-light);color:var(--fl-ink);
	font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
	border-radius:999px;padding:3px 10px;
}
.flv-iop .flv-iop-hcard-scope { font-size:.72rem;font-weight:500;color:var(--fl-gray); }
.flv-iop .flv-iop-hcard-num {
	font-family:"Fraunces",Georgia,serif;font-weight:600;
	font-size:2.4rem;color:var(--fl-teal);line-height:1;
}
.flv-iop .flv-iop-hcard-label { margin:6px 0 0;font-size:.9rem;font-weight:500;color:var(--fl-ink); }
.flv-iop .flv-iop-hcard-row {
	display:flex;align-items:baseline;justify-content:space-between;gap:8px;
	margin-top:14px;padding:11px 0 10px;border-top:1px solid var(--fl-line);
	font-size:.78rem;color:var(--fl-ink);
}

/* ---------- four-lever tab strip ---------- */
.flv-iop .flv-iop-tabs {
	display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
	background:#fff;border:1px solid var(--fl-line);border-radius:999px;
	padding:6px;width:max-content;max-width:100%;margin:0 auto 40px;
}
.flv-iop .flv-iop-tab {
	font-family:inherit;font-size:.95rem;font-weight:600;color:var(--fl-ink);
	background:transparent;border:0;border-radius:999px;
	padding:10px 20px;cursor:pointer;
	transition:background .15s ease,color .15s ease;
}
.flv-iop .flv-iop-tab:hover { color:var(--fl-teal); }
.flv-iop .flv-iop-tab.is-active { background:var(--fl-teal);color:#fff; }
.flv-iop .flv-iop-panel { display:none;grid-template-columns:40fr 60fr;gap:48px;align-items:center; }
.flv-iop .flv-iop-panel.is-active { display:grid; }
.flv-iop .flv-iop-panel[hidden] { display:none; }
.flv-iop .flv-iop-panel-text h3 { font-size:1.45rem;font-weight:600;margin:0 0 10px;color:var(--fl-ink); }
.flv-iop .flv-iop-panel-text p { margin:0;font-size:1.05rem;color:var(--fl-gray); }
.flv-iop .flv-iop-lever-stage {
	display:flex;justify-content:center;
	background:var(--fl-teal-light);border-radius:12px;
	padding:44px 24px;
}

/* Lever card: literal hex on the chip/end tones so the simulated product UI
   does not drift with the section scheme. */
.flv-iop .flv-iop-lever-card {
	width:min(360px,100%);
	background:#fff;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 16px 44px rgba(74,67,64,.16);
	padding:18px 20px 8px;
	color:var(--fl-ink);
}
.flv-iop .flv-iop-lever-card * { box-sizing:border-box; }
.flv-iop .flv-iop-lever-head { display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px; }
.flv-iop .flv-iop-lever-title { font-size:15px;font-weight:600;color:var(--fl-ink); }
.flv-iop .flv-iop-lever-sub { font-size:11px;color:var(--fl-gray); }
.flv-iop .flv-iop-lever-row {
	display:flex;align-items:center;gap:8px;
	padding:11px 0;border-top:1px solid var(--fl-line);
	font-size:13px;color:var(--fl-ink);
}
.flv-iop .flv-iop-lever-row strong { font-weight:600; }
.flv-iop .flv-iop-lever-bar { flex:1;height:8px;border-radius:999px;background:var(--fl-secondary);overflow:hidden; }
.flv-iop .flv-iop-lever-bar span { display:block;height:100%;border-radius:999px;background:var(--fl-teal); }
.flv-iop .flv-iop-lever-chip {
	display:inline-flex;align-items:center;height:20px;padding:0 8px;
	border-radius:10px;background:rgba(46,125,123,.12);color:#235F5D;
	font-size:10.5px;font-weight:600;white-space:nowrap;
}
.flv-iop .flv-iop-lever-end { margin-left:auto;font-size:12px;font-weight:600;color:#235F5D;white-space:nowrap; }
.flv-iop .flv-iop-lever-foot {
	border-top:1px solid var(--fl-line);
	padding:11px 0 10px;margin-top:0;
	font-size:12px;color:var(--fl-gray);
}

@media (max-width:980px) {
	.flv-iop .flv-iop-panel { grid-template-columns:1fr;gap:28px; }
	.flv-iop .flv-iop-hcard {
		right:12px;bottom:12px;
		width:min(300px,calc(100% - 24px));
		padding:16px 16px 6px;
	}
}

/* =============================================================================
   IMPROVE EMPLOYEE EXPERIENCE & EFFICIENCY (.flv-eee)
   ========================================================================== */

/* ---------- K5(a) hero stage: associate photo + service-guide card ---------- */
.flv-eee .flv-eee-stage { position:relative; }
.flv-eee .flv-eee-stage-photo {
	width:100%;aspect-ratio:1024/747;object-fit:cover;
	border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
	display:block;
}
.flv-eee .flv-eee-guidecard {
	position:absolute;top:26px;right:26px;
	width:280px;max-width:calc(60% - 40px);
	background:#FFFFFF;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 16px 44px rgba(0,0,0,.22);
	padding:18px 20px;color:var(--fl-ink);
}
.flv-eee .flv-eee-guidecard p { margin:0; }
.flv-eee .flv-eee-guidecard-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-gray);margin-bottom:8px !important; }
.flv-eee .flv-eee-guidecard-title { font-size:17px;font-weight:600;color:var(--fl-ink);line-height:1.25; }
.flv-eee .flv-eee-guidecard-meta { font-size:12px;color:var(--fl-gray);margin:4px 0 12px !important; }
.flv-eee .flv-eee-guidecard-chk { display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--fl-ink);padding:5px 0; }
.flv-eee .flv-eee-guidecard-box {
	width:16px;height:16px;border-radius:5px;
	background:var(--fl-teal);color:#FFFFFF;
	display:flex;align-items:center;justify-content:center;
	font-size:10px;font-weight:700;flex:0 0 auto;
}
.flv-eee .flv-eee-guidecard-chk.is-next { color:var(--fl-gray);font-weight:600; }
.flv-eee .flv-eee-guidecard-chk.is-next .flv-eee-guidecard-box { background:#FFFFFF;border:1.5px solid var(--fl-line); }

/* ---------- four-moment tab strip ----------
 * The strip is a control for the panels below, so it centres over them. It is
 * inline-flex (hugs its tabs), which in a left-aligned column would sit hard
 * left — the flex wrapper is what actually centres it.
 */
.flv-eee .flv-eee-moments { display:flex;flex-direction:column;align-items:center; }
.flv-eee .flv-eee-moments > .flv-eee-panel { align-self:stretch;width:100%; }
.flv-eee .flv-eee-tabs {
	display:inline-flex;flex-wrap:wrap;gap:6px;
	background:#fff;border:1px solid var(--fl-line);border-radius:999px;
	padding:6px;margin:0 0 40px;
}
.flv-eee .flv-eee-tab {
	appearance:none;border:0;background:transparent;
	color:var(--fl-ink);font-family:inherit;
	font-size:.95rem;font-weight:600;
	padding:10px 20px;border-radius:999px;cursor:pointer;
	transition:background .15s ease,color .15s ease;
}
.flv-eee .flv-eee-tab:hover { color:var(--fl-teal); }
.flv-eee .flv-eee-tab[aria-selected="true"] { background:var(--fl-teal);color:#fff; }
.flv-eee .flv-eee-panel { display:grid;grid-template-columns:42fr 58fr;gap:48px;align-items:center; }
.flv-eee .flv-eee-panel[hidden] { display:none; }
.flv-eee .flv-eee-panel-text h3 { font-size:1.45rem;font-weight:600;margin:0 0 10px;color:var(--fl-ink); }
.flv-eee .flv-eee-panel-text p { margin:0;font-size:1.05rem;color:var(--fl-gray); }
/* Screen embeds carry the .fl-screen card treatment. */
.flv-eee .flv-eee-frame {
	width:100%;aspect-ratio:16/9;
	border:0;border-radius:12px;overflow:hidden;
	background:#fff;display:block;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
}
.flv-eee .flv-eee-caption {
	display:block;margin-top:12px;
	font-size:.75rem;font-weight:600;color:var(--fl-gray);
	letter-spacing:.05em;text-transform:uppercase;
}

/* ---------- K5(a) team moment: photo + next-up card + check-in phone ---------- */
.flv-eee .flv-eee-team { position:relative; }
.flv-eee .flv-eee-team-photo {
	width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 40%;
	border:1px solid var(--fl-line);border-radius:12px;
	display:block;
}
.flv-eee .flv-eee-nextup {
	position:absolute;top:28px;left:28px;
	width:280px;max-width:calc(50% - 42px);
	background:#FFFFFF;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 16px 44px rgba(0,0,0,.22);
	padding:20px;color:var(--fl-ink);
}
.flv-eee .flv-eee-nextup p { margin:0; }
.flv-eee .flv-eee-nextup-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-gray);margin-bottom:8px !important; }
.flv-eee .flv-eee-nextup-row { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px; }
.flv-eee .flv-eee-nextup-name { font-size:16px;font-weight:600;color:var(--fl-ink); }
.flv-eee .flv-eee-nextup-chip { display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;background:rgba(46,125,123,.12);color:#235F5D;font-size:10.5px;font-weight:600; }
.flv-eee .flv-eee-nextup-reason { font-size:14px;font-weight:500;color:var(--fl-ink);margin-bottom:4px !important; }
.flv-eee .flv-eee-nextup-meta { font-size:12px;color:var(--fl-gray);margin-bottom:14px !important; }
.flv-eee .flv-eee-nextup-btn {
	display:flex;align-items:center;justify-content:center;
	width:100%;min-height:44px;padding:10px 14px;
	background:var(--fl-teal);color:#FFFFFF;border:0;border-radius:12px;
	font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;
	transition:background-color .15s ease;
}
.flv-eee .flv-eee-nextup-btn:hover { background:#256B69; }
.flv-eee .flv-eee-nextup-btn:focus-visible { outline:2px solid #235F5D;outline-offset:2px; }
/* The customer's own phone, floating over the photo's negative space. */
.flv-eee .flv-eee-phonefloat {
	position:absolute;top:24px;right:36px;
	width:25%;max-width:300px;aspect-ratio:1/2;
	border-radius:24px;overflow:hidden;
	box-shadow:0 24px 56px rgba(0,0,0,.30);
	background:#fff;
}
.flv-eee .flv-eee-phonefloat iframe { width:100%;height:100%;border:0;display:block;background:#fff; }

@media (max-width:980px) {
	.flv-eee .flv-eee-panel { grid-template-columns:1fr;gap:28px; }
	.flv-eee .flv-eee-tabs { border-radius:24px;width:100%; }
	.flv-eee .flv-eee-tab { flex:1 1 auto;text-align:center;padding:10px 14px; }
	/* Cards stop floating and stack beneath the photo. */
	.flv-eee .flv-eee-guidecard,
	.flv-eee .flv-eee-nextup { position:static;width:100%;max-width:320px;margin:14px auto 0;box-shadow:0 8px 24px rgba(0,0,0,.16); }
	.flv-eee .flv-eee-phonefloat { position:static;width:100%;max-width:260px;margin:14px auto 0; }
}

/* Customer-voice photo, in the proof-quote band's media slot. */
.flv-eee .flv-eee-quote-photo {
	width:100%;display:block;
	aspect-ratio:1/1;object-fit:cover;
	border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 16px 44px rgba(74,67,64,.12);
}

/* =============================================================================
   REDUCE BOOKING & CHECK-IN FRICTION (.flv-bcf)
   ========================================================================== */

/* ---------- hero stage: clinic photo + checked-in card ---------- */
.flv-bcf .flv-bcf-hero { position:relative; }
.flv-bcf .flv-bcf-hero-photo {
	width:100%;height:480px;object-fit:cover;
	border:1px solid var(--fl-line);border-radius:12px;
	display:block;
}
.flv-bcf .flv-bcf-checkin {
	position:absolute;top:36px;right:28px;
	width:210px;max-width:100%;
	background:#fff;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 24px 64px rgba(0,0,0,.28);
	padding:18px 16px;text-align:center;
}
.flv-bcf .flv-bcf-checkin p { margin:0; }
.flv-bcf .flv-bcf-checkin-circle {
	display:flex;align-items:center;justify-content:center;
	width:40px;height:40px;margin:0 auto 10px;border-radius:50%;
	background:rgba(46,125,123,.12);color:var(--fl-teal);
}
.flv-bcf .flv-bcf-checkin-circle svg { width:20px;height:20px; }
.flv-bcf .flv-bcf-checkin-title { font-size:15px;font-weight:600;color:var(--fl-ink);margin-bottom:8px !important; }
.flv-bcf .flv-bcf-checkin-chip {
	display:inline-flex;align-items:center;height:22px;padding:0 10px;
	border-radius:11px;background:rgba(46,125,123,.12);color:#235F5D;
	font-size:11px;font-weight:600;margin-bottom:8px;
}
.flv-bcf .flv-bcf-checkin-note { font-size:12px;line-height:1.45;color:var(--fl-gray); }
.flv-bcf .flv-bcf-caption {
	display:block;margin-top:12px;
	font-size:.75rem;font-weight:600;color:var(--fl-gray);
	letter-spacing:.05em;text-transform:uppercase;
}

/* ---------- four-channel tab strip ----------
 * The strip is a control for the panels, so it centres over them.
 */
.flv-bcf .flv-bcf-channels { display:flex;flex-direction:column;align-items:center; }
.flv-bcf .flv-bcf-channels > .flv-bcf-panel { align-self:stretch;width:100%; }
.flv-bcf .flv-bcf-tabs {
	display:flex;justify-content:center;flex-wrap:wrap;gap:6px;
	background:#fff;border:1px solid var(--fl-line);border-radius:999px;
	padding:6px;width:max-content;max-width:100%;margin:0 auto 40px;
}
.flv-bcf .flv-bcf-tab {
	appearance:none;border:0;background:transparent;cursor:pointer;
	color:var(--fl-ink);padding:10px 22px;border-radius:999px;
	font-family:"Inter",system-ui,sans-serif;font-size:.95rem;font-weight:600;
	transition:background .15s ease,color .15s ease;
}
.flv-bcf .flv-bcf-tab:hover { color:var(--fl-coral-hover); }
.flv-bcf .flv-bcf-tab[aria-selected="true"] { background:var(--fl-coral);color:#fff; }
.flv-bcf .flv-bcf-panel { display:grid;grid-template-columns:42fr 58fr;gap:48px;align-items:center; }
.flv-bcf .flv-bcf-panel[hidden] { display:none; }
.flv-bcf .flv-bcf-panel-text h3 { font-size:1.45rem;font-weight:600;margin:0 0 10px;color:var(--fl-ink); }
.flv-bcf .flv-bcf-panel-text p { margin:0;font-size:1.05rem;color:var(--fl-gray); }
.flv-bcf .flv-bcf-frame {
	width:100%;aspect-ratio:16/9;
	border:0;border-radius:12px;overflow:hidden;
	background:#fff;display:block;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
}
/* Static UI cards sit on a tinted field, matching the live screens' footprint. */
.flv-bcf .flv-bcf-field {
	display:flex;align-items:center;justify-content:center;
	background:var(--fl-secondary);border-radius:12px;
	min-height:360px;padding:32px 24px;
}

/* ---------- QR poster + place-in-line cards ---------- */
.flv-bcf .flv-bcf-qr {
	width:260px;max-width:100%;
	background:#fff;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
	padding:24px;text-align:center;color:var(--fl-ink);
}
.flv-bcf .flv-bcf-qr p { margin:0; }
.flv-bcf .flv-bcf-qr-title { font-size:16px;font-weight:600;margin-bottom:4px !important; }
.flv-bcf .flv-bcf-qr-org { font-size:11.5px;color:var(--fl-gray);margin-bottom:14px !important; }
.flv-bcf .flv-bcf-qr svg { width:140px;height:140px;display:block;margin:0 auto 12px; }
.flv-bcf .flv-bcf-qr-note { font-size:11.5px;color:var(--fl-gray); }

.flv-bcf .flv-bcf-lineup {
	width:280px;max-width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
	padding:22px 20px;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-bcf .flv-bcf-lineup * { box-sizing:border-box;margin:0; }
.flv-bcf .flv-bcf-lineup-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:8px; }
.flv-bcf .flv-bcf-lineup-big { font-size:24px;font-weight:600;color:#4A4340;line-height:1.25; }
.flv-bcf .flv-bcf-lineup-sub { font-size:18px;font-weight:500;color:#8A817C;margin:2px 0 14px; }
.flv-bcf .flv-bcf-lineup-chip { display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:rgba(46,125,123,.12);color:#235F5D;font-size:11px;font-weight:600;margin-bottom:12px; }
.flv-bcf .flv-bcf-lineup-chip svg { width:12px;height:12px; }
.flv-bcf .flv-bcf-lineup-note { font-size:13px;line-height:1.5;color:#4A4340; }

/* ---------- visit-prep photo + SMS card ---------- */
.flv-bcf .flv-bcf-prep { position:relative; }
.flv-bcf .flv-bcf-prep-photo {
	width:100%;aspect-ratio:4/3;object-fit:cover;
	border:1px solid var(--fl-line);border-radius:12px;
	display:block;
}
.flv-bcf .flv-bcf-sms {
	position:absolute;top:24px;right:24px;
	width:290px;max-width:calc(100% - 48px);box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	box-shadow:0 24px 64px rgba(0,0,0,.28);
	overflow:hidden;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-bcf .flv-bcf-sms * { box-sizing:border-box;margin:0; }
.flv-bcf .flv-bcf-sms-head { display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #EAE4DD; }
.flv-bcf .flv-bcf-sms-avatar { display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;font-size:13px;font-weight:600;flex:0 0 auto; }
.flv-bcf .flv-bcf-sms-name { display:block;font-size:13px;font-weight:600;color:#4A4340;line-height:1.2; }
.flv-bcf .flv-bcf-sms-sub { display:block;font-size:11px;color:#8A817C;margin-top:2px; }
.flv-bcf .flv-bcf-sms-thread { display:flex;flex-direction:column;gap:8px;padding:14px 14px 10px; }
.flv-bcf .flv-bcf-sms-time { align-self:center;font-size:11px;color:#8A817C; }
.flv-bcf .flv-bcf-sms-in { max-width:90%;align-self:flex-start;background:#F7F3EE;border:1px solid #EAE4DD;border-radius:14px 14px 14px 4px;padding:9px 12px;font-size:12.5px;line-height:1.45;color:#4A4340; }
.flv-bcf .flv-bcf-sms-in b { font-weight:600; }
.flv-bcf .flv-bcf-sms-out { max-width:90%;align-self:flex-end;background:rgba(46,125,123,.12);border:1px solid #B8DADA;border-radius:14px 14px 4px 14px;padding:9px 12px;font-size:12.5px;line-height:1.45;font-weight:500;color:#235F5D; }
.flv-bcf .flv-bcf-sms-status { align-self:flex-end;font-size:10.5px;font-weight:500;color:#8A817C;margin-top:-3px; }
.flv-bcf .flv-bcf-sms-compose { display:flex;align-items:center;gap:8px;padding:10px 14px 14px; }
.flv-bcf .flv-bcf-sms-input { flex:1;display:flex;align-items:center;height:34px;border:1px solid #EAE4DD;border-radius:17px;padding:0 12px;font-size:12px;color:#8A817C; }
.flv-bcf .flv-bcf-sms-send { display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;flex:0 0 auto; }
.flv-bcf .flv-bcf-sms-send svg { width:16px;height:16px; }

/* ---------- reminder card, on the backdrop's inset slot ---------- */
.flv-bcf .flv-bcf-remind {
	width:320px;max-width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	box-shadow:0 24px 64px rgba(0,0,0,.28);
	padding:22px 20px;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-bcf .flv-bcf-remind * { box-sizing:border-box;margin:0; }
.flv-bcf .flv-bcf-remind-top { display:flex;align-items:center;gap:12px;margin-bottom:12px; }
.flv-bcf .flv-bcf-remind-check { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(46,125,123,.12);color:#2E7D7B;flex:0 0 auto; }
.flv-bcf .flv-bcf-remind-check svg { width:18px;height:18px; }
.flv-bcf .flv-bcf-remind-title { font-size:16px;font-weight:600;color:#4A4340;line-height:1.3; }
.flv-bcf .flv-bcf-remind-when { font-size:15px;font-weight:600;color:#4A4340;margin-bottom:3px !important; }
.flv-bcf .flv-bcf-remind-where { font-size:12.5px;color:#8A817C;margin-bottom:14px !important; }
.flv-bcf .flv-bcf-remind-strip { background:rgba(46,125,123,.08);border:1px solid #B8DADA;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5;color:#235F5D; }
.flv-bcf .flv-bcf-remind-strip b { font-weight:600; }

@media (max-width:980px) {
	.flv-bcf .flv-bcf-panel { grid-template-columns:1fr;gap:28px; }
	.flv-bcf .flv-bcf-tab { padding:9px 16px;font-size:.9rem; }
	.flv-bcf .flv-bcf-field { min-height:300px; }
	.flv-bcf .flv-bcf-hero-photo { height:400px; }
	.flv-bcf .flv-bcf-checkin { top:16px;right:16px;width:200px;padding:16px 14px; }
	.flv-bcf .flv-bcf-sms { position:static;width:100%;max-width:320px;margin:14px auto 0;box-shadow:0 8px 24px rgba(0,0,0,.16); }
}

/* =============================================================================
   REDUCE WAIT TIME & IMPROVE VISITOR FLOW (.flv-rwt)
   ========================================================================== */

/* ---------- K5(a) hero stage: photo + join-the-line card ---------- */
.flv-rwt .flv-rwt-stage { position:relative;max-width:560px;margin:0 auto; }
.flv-rwt .flv-rwt-stage-photo {
	display:block;width:100%;aspect-ratio:1/1;object-fit:cover;
	border-radius:12px;
}
.flv-rwt .flv-rwt-stage-card {
	position:absolute;top:28px;right:-18px;
	width:320px;max-width:88%;
}

/* Join-the-line card. Literal hex: simulated product UI, must not drift. */
.flv-rwt .flv-rwt-join {
	width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	box-shadow:0 24px 64px rgba(0,0,0,.28);
	padding:22px 20px;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-rwt .flv-rwt-join * { box-sizing:border-box;margin:0; }
.flv-rwt .flv-rwt-join-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:10px; }
.flv-rwt .flv-rwt-join-label { font-size:12px;font-weight:500;color:#8A817C; }
.flv-rwt .flv-rwt-join-value { font-size:24px;font-weight:600;color:var(--fl-coral);line-height:1.2;margin:2px 0 16px; }
.flv-rwt .flv-rwt-join-field { margin-bottom:12px; }
.flv-rwt .flv-rwt-join-field label { display:block;font-size:12px;font-weight:500;color:#4A4340;margin-bottom:5px; }
.flv-rwt .flv-rwt-join-input { width:100%;height:42px;border:1px solid #EAE4DD;border-radius:8px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:500;color:#4A4340;background:#FFFFFF; }
.flv-rwt .flv-rwt-join-input:focus-visible { outline:2px solid var(--fl-coral-hover);outline-offset:1px; }
.flv-rwt .flv-rwt-join-btn {
	display:flex;align-items:center;justify-content:center;
	width:100%;min-height:44px;padding:10px 14px;
	background:var(--fl-coral);color:#FFFFFF;border:0;border-radius:12px;
	font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px;
	transition:background-color .15s ease;
}
.flv-rwt .flv-rwt-join-btn:hover { background:var(--fl-coral-hover); }
.flv-rwt .flv-rwt-join-btn:focus-visible { outline:2px solid var(--fl-coral-hover);outline-offset:2px; }

/* ---------- the five moves ---------- */
.flv-rwt .flv-rwt-moves { display:grid;grid-template-columns:repeat(5,1fr);gap:18px; }
.flv-rwt .flv-rwt-move {
	background:#fff;border:1px solid var(--fl-line);border-radius:12px;
	padding:26px 22px 22px;
	box-shadow:0 1px 2px rgba(74,67,64,.05);
}
.flv-rwt .flv-rwt-move-icon {
	width:44px;height:44px;border-radius:10px;
	background:rgba(184,218,218,.45);color:var(--fl-teal);
	display:flex;align-items:center;justify-content:center;
	margin-bottom:16px;
}
.flv-rwt .flv-rwt-move h3 { font-size:1.02rem;font-weight:600;margin:0 0 6px;color:var(--fl-ink); }
.flv-rwt .flv-rwt-move p { margin:0;font-size:.9rem;color:var(--fl-gray); }

/* ---------- industry selector over one live frame ---------- */
.flv-rwt .flv-rwt-live { display:flex;flex-direction:column;align-items:center; }
.flv-rwt .flv-rwt-ind-tabs {
	display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
	margin:0 0 24px;
}
.flv-rwt .flv-rwt-ind-tab {
	appearance:none;cursor:pointer;
	background:#fff;border:1px solid var(--fl-line);border-radius:999px;
	color:var(--fl-ink);font-family:inherit;font-size:.92rem;font-weight:600;
	padding:9px 20px;
	transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.flv-rwt .flv-rwt-ind-tab:hover { border-color:var(--fl-coral); }
.flv-rwt .flv-rwt-ind-tab.is-active { background:var(--fl-coral);border-color:var(--fl-coral);color:#fff; }
.flv-rwt .flv-rwt-frame {
	width:100%;aspect-ratio:16/9;
	border:0;border-radius:12px;overflow:hidden;
	background:#fff;display:block;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
}

/* ---------- Monitor Designer admin card ---------- */
.flv-rwt .flv-rwt-config {
	display:flex;justify-content:center;align-items:center;
	background:var(--fl-secondary);border-radius:12px;
	padding:clamp(24px,4vw,44px) clamp(14px,3vw,28px);
}
.flv-rwt .flv-rwt-mon {
	width:100%;max-width:420px;box-sizing:border-box;
	background:#fff;border:1px solid var(--fl-line);border-radius:12px;
	box-shadow:0 16px 44px rgba(74,67,64,.14);
	padding:18px 20px 16px;color:var(--fl-ink);
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-rwt .flv-rwt-mon * { box-sizing:border-box; }
.flv-rwt .flv-rwt-mon p { margin:0; }
.flv-rwt .flv-rwt-mon-head { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px; }
.flv-rwt .flv-rwt-mon-eyebrow { font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fl-gray);margin-bottom:2px !important; }
.flv-rwt .flv-rwt-mon-title { font-size:16px;font-weight:600;color:var(--fl-ink); }
.flv-rwt .flv-rwt-mon-pub {
	appearance:none;cursor:pointer;flex:0 0 auto;
	background:var(--fl-teal);color:#fff;border:0;border-radius:8px;
	font-family:inherit;font-size:12px;font-weight:600;padding:7px 14px;
}
.flv-rwt .flv-rwt-mon-pub:hover { background:#256B69; }
.flv-rwt .flv-rwt-mon-canvas {
	display:grid;grid-template-columns:1fr 1fr;gap:10px;
	background:var(--fl-secondary);border-radius:10px;padding:10px;
}
.flv-rwt .flv-rwt-mon-zone {
	position:relative;background:#fff;border:1px solid var(--fl-line);
	border-radius:8px;padding:20px 12px 12px;cursor:grab;
}
.flv-rwt .flv-rwt-mon-zone:focus-visible { outline:2px solid var(--fl-teal);outline-offset:2px; }
.flv-rwt .flv-rwt-mon-zone-serving { grid-row:span 2; }
.flv-rwt .flv-rwt-mon-zone-promo { border-color:var(--fl-teal); }
.flv-rwt .flv-rwt-mon-grip { position:absolute;top:7px;left:50%;transform:translateX(-50%); }
.flv-rwt .flv-rwt-mon-ztitle { font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--fl-gray);margin-bottom:8px !important; }
.flv-rwt .flv-rwt-mon-row { display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 0;font-size:12px; }
.flv-rwt .flv-rwt-mon-name { font-weight:600;color:var(--fl-ink); }
.flv-rwt .flv-rwt-mon-win { font-size:11px;color:var(--fl-gray); }
.flv-rwt .flv-rwt-mon-wait-num { font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.5rem;color:var(--fl-teal);line-height:1; }
.flv-rwt .flv-rwt-mon-wait-sub { font-size:11px;color:var(--fl-gray);margin-top:2px !important; }
/* Selection handles on the promo zone. */
.flv-rwt .flv-rwt-mon-corner { position:absolute;width:7px;height:7px;border-radius:2px;background:#fff;border:1.5px solid var(--fl-teal); }
.flv-rwt .flv-rwt-mon-corner-tl { top:-4px;left:-4px; }
.flv-rwt .flv-rwt-mon-corner-tr { top:-4px;right:-4px; }
.flv-rwt .flv-rwt-mon-corner-bl { bottom:-4px;left:-4px; }
.flv-rwt .flv-rwt-mon-corner-br { bottom:-4px;right:-4px; }
.flv-rwt .flv-rwt-mon-promo-art { display:flex;align-items:center;gap:8px;padding:6px 0 2px; }
.flv-rwt .flv-rwt-mon-promo-circle { width:22px;height:22px;border-radius:50%;background:rgba(232,146,106,.45);flex:0 0 auto; }
.flv-rwt .flv-rwt-mon-promo-bars { display:flex;flex-direction:column;gap:4px;flex:1; }
.flv-rwt .flv-rwt-mon-promo-bar { height:5px;border-radius:3px;background:var(--fl-line); }
.flv-rwt .flv-rwt-mon-promo-bar:last-child { width:62%; }
.flv-rwt .flv-rwt-mon-note { margin-top:12px !important;font-size:11px;color:var(--fl-gray); }

/* ---------- K5(a) real-person stage ----------
 * The mockup's 560px square stage is shorter than its two floating cards stacked
 * (204 + 366 = 570), so at that size they necessarily overlap and bury the photo.
 * A 3:4 portrait stage gives the pair room to sit at opposite corners with the
 * photo readable between them.
 */
.flv-rwt .flv-rwt-real { position:relative;max-width:620px;margin:0 auto; }
.flv-rwt .flv-rwt-real-photo {
	display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 35%;
	border-radius:12px;
}
.flv-rwt .flv-rwt-real-card { position:absolute;width:300px;max-width:82%; }
.flv-rwt .flv-rwt-real-card.is-top-right { top:24px;right:-24px; }
.flv-rwt .flv-rwt-real-card.is-bottom-left { bottom:24px;left:-32px; }

.flv-rwt .flv-rwt-line {
	width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	box-shadow:0 24px 64px rgba(0,0,0,.28);
	padding:22px 20px;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-rwt .flv-rwt-line * { box-sizing:border-box;margin:0; }
.flv-rwt .flv-rwt-line-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:8px; }
.flv-rwt .flv-rwt-line-big { font-size:24px;font-weight:600;color:#4A4340;line-height:1.25; }
.flv-rwt .flv-rwt-line-sub { font-size:18px;font-weight:500;color:#8A817C;margin:2px 0 14px; }
.flv-rwt .flv-rwt-line-chip { display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:rgba(46,125,123,.12);color:#235F5D;font-size:11px;font-weight:600;margin-bottom:12px; }
.flv-rwt .flv-rwt-line-chip svg { width:12px;height:12px; }
.flv-rwt .flv-rwt-line-note { font-size:13px;line-height:1.5;color:#4A4340; }

.flv-rwt .flv-rwt-sms {
	width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	box-shadow:0 24px 64px rgba(0,0,0,.28);
	overflow:hidden;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-rwt .flv-rwt-sms * { box-sizing:border-box;margin:0; }
.flv-rwt .flv-rwt-sms-head { display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #EAE4DD; }
.flv-rwt .flv-rwt-sms-avatar { display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;font-size:13px;font-weight:600;flex:0 0 auto; }
.flv-rwt .flv-rwt-sms-name { display:block;font-size:14px;font-weight:600;color:#4A4340;line-height:1.2; }
.flv-rwt .flv-rwt-sms-sub { display:block;font-size:11px;color:#8A817C;margin-top:2px; }
.flv-rwt .flv-rwt-sms-thread { display:flex;flex-direction:column;gap:8px;padding:14px 14px 10px; }
.flv-rwt .flv-rwt-sms-time { align-self:center;font-size:11px;color:#8A817C; }
.flv-rwt .flv-rwt-sms-in { max-width:86%;align-self:flex-start;background:#F7F3EE;border:1px solid #EAE4DD;border-radius:14px 14px 14px 4px;padding:9px 12px;font-size:13px;line-height:1.45;color:#4A4340; }
.flv-rwt .flv-rwt-sms-in b { font-weight:600; }
.flv-rwt .flv-rwt-sms-out { max-width:86%;align-self:flex-end;background:rgba(46,125,123,.12);border:1px solid #B8DADA;border-radius:14px 14px 4px 14px;padding:9px 12px;font-size:13px;line-height:1.45;font-weight:500;color:#235F5D; }
.flv-rwt .flv-rwt-sms-status { align-self:flex-end;font-size:10.5px;font-weight:500;color:#8A817C;margin-top:-3px; }
.flv-rwt .flv-rwt-sms-compose { display:flex;align-items:center;gap:8px;padding:10px 14px 14px; }
.flv-rwt .flv-rwt-sms-input { flex:1;display:flex;align-items:center;height:36px;border:1px solid #EAE4DD;border-radius:18px;padding:0 12px;font-size:12.5px;color:#8A817C; }
.flv-rwt .flv-rwt-sms-send { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;border:0;cursor:pointer;flex:0 0 auto; }
.flv-rwt .flv-rwt-sms-send svg { width:16px;height:16px; }

@media (max-width:980px) {
	.flv-rwt .flv-rwt-moves { grid-template-columns:repeat(2,1fr); }
	.flv-rwt .flv-rwt-stage,
	.flv-rwt .flv-rwt-real { max-width:520px; }
	/* Cards stop floating and stack beneath the photo. */
	.flv-rwt .flv-rwt-stage-card,
	.flv-rwt .flv-rwt-real-card,
	.flv-rwt .flv-rwt-real-card.is-top-right,
	.flv-rwt .flv-rwt-real-card.is-bottom-left {
		position:static;top:auto;right:auto;bottom:auto;left:auto;
		width:100%;max-width:320px;margin:16px auto 0;
	}
	.flv-rwt .flv-rwt-join,
	.flv-rwt .flv-rwt-line,
	.flv-rwt .flv-rwt-sms { box-shadow:0 8px 24px rgba(0,0,0,.16); }
}
@media (max-width:620px) {
	.flv-rwt .flv-rwt-moves { grid-template-columns:1fr; }
	.flv-rwt .flv-rwt-mon-canvas { grid-template-columns:1fr; }
	.flv-rwt .flv-rwt-mon-zone-serving { grid-row:auto; }
}

/* =============================================================================
   INCREASE CUSTOMER ENGAGEMENT (.flv-ice)
   ========================================================================== */

/* ---------- hero: industry selector over one phone frame ----------
 * Sized by HEIGHT so the 1:2 phone stays in the same band as the hero copy.
 */
.flv-ice .flv-ice-hero { display:flex;flex-direction:column;align-items:center; }
.flv-ice .flv-ice-ind-tabs { display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 0 24px; }
.flv-ice .flv-ice-ind-tab {
	appearance:none;cursor:pointer;
	background:#fff;border:1px solid var(--fl-line);border-radius:999px;
	color:var(--fl-ink);font-family:inherit;font-size:.9rem;font-weight:600;
	padding:8px 18px;
	transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.flv-ice .flv-ice-ind-tab:hover { border-color:var(--fl-coral); }
.flv-ice .flv-ice-ind-tab.is-active { background:var(--fl-coral);border-color:var(--fl-coral);color:#fff; }
/* v2 screens draw their own bezel: no card, no shadow behind the frame. */
.flv-ice .flv-ice-hero-phone {
	height:460px;width:auto;aspect-ratio:1/2;max-width:100%;
	border:0;border-radius:12px;overflow:hidden;
	background:transparent;box-shadow:none;display:block;
}

/* ---------- the five-moment message timeline ---------- */
.flv-ice .flv-ice-timeline {
	display:grid;grid-template-columns:repeat(5,1fr);gap:18px;
	position:relative;
}
.flv-ice .flv-ice-timeline::before {
	content:"";position:absolute;top:7px;left:8%;right:8%;
	height:2px;background:var(--fl-sand);
}
.flv-ice .flv-ice-step { position:relative;padding-top:28px; }
.flv-ice .flv-ice-step::before {
	content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
	width:16px;height:16px;border-radius:50%;
	background:var(--fl-coral);border:3px solid var(--fl-paper);
	box-shadow:0 0 0 1px var(--fl-sand);
}
.flv-ice .flv-ice-step-label {
	text-align:center;
	font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
	color:var(--fl-coral);
	margin-bottom:10px;
}
.flv-ice .flv-ice-bubble {
	background:#fff;
	border:1px solid var(--fl-line);
	border-radius:12px;border-bottom-left-radius:4px;
	padding:14px 16px;
	font-size:.92rem;line-height:1.45;color:var(--fl-ink);
	box-shadow:0 1px 2px rgba(74,67,64,.05);
}

/* ---------- the four channels ----------
 * Centred white cards, per the mockup's .fl-channel. The heading is forced to
 * Inter: main.css sets h3 in the display serif, but the mockup specifies the
 * sans here so the four tiles read as UI labels, not article headings.
 */
.flv-ice .flv-ice-channels { display:grid;grid-template-columns:repeat(4,1fr);gap:18px; }
.flv-ice .flv-ice-channel {
	background:#fff;
	border:1px solid var(--fl-line);
	border-radius:12px;
	padding:26px 22px;
	text-align:center;
	box-shadow:0 1px 2px rgba(74,67,64,.05);
}
.flv-ice .flv-ice-channel-icon {
	width:44px;height:44px;margin:0 auto 14px;
	display:flex;align-items:center;justify-content:center;
	background:rgba(232,146,106,.18);
	border-radius:12px;
}
.flv-ice .flv-ice-channel-icon svg { width:22px;height:22px;stroke:var(--fl-coral);fill:none;stroke-width:1.8; }
.flv-ice .flv-ice-channel h3 {
	font-family:"Inter",system-ui,sans-serif;
	font-size:1rem;font-weight:600;
	margin:0 0 6px;color:var(--fl-ink);
}
.flv-ice .flv-ice-channel p { margin:0;font-size:.9rem;color:var(--fl-gray); }

/* ---------- K5(a) two-way stage ---------- */
.flv-ice .flv-ice-stage { position:relative; }
.flv-ice .flv-ice-stage-photo {
	display:block;width:100%;aspect-ratio:3/2;
	object-fit:cover;object-position:center 32%;
	border-radius:12px;
}
.flv-ice .flv-ice-stage .flv-ice-sms {
	position:absolute;left:40%;top:50%;transform:translateY(-50%);
	box-shadow:0 24px 64px rgba(0,0,0,.25);
}

/* ---------- shared UI cards ----------
 * Literal hex: simulated phone UI, must not drift with the section scheme.
 */
.flv-ice .flv-ice-sms {
	width:320px;max-width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	overflow:hidden;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-ice .flv-ice-sms * { box-sizing:border-box;margin:0; }
.flv-ice .flv-ice-sms-head { display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #EAE4DD; }
.flv-ice .flv-ice-sms-avatar { display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;font-size:13px;font-weight:600;flex:0 0 auto; }
.flv-ice .flv-ice-sms-name { display:block;font-size:14px;font-weight:600;color:#4A4340;line-height:1.2; }
.flv-ice .flv-ice-sms-sub { display:block;font-size:11px;color:#8A817C;margin-top:2px; }
.flv-ice .flv-ice-sms-thread { display:flex;flex-direction:column;gap:8px;padding:14px 14px 10px; }
.flv-ice .flv-ice-sms-time { align-self:center;font-size:11px;color:#8A817C; }
.flv-ice .flv-ice-sms-in { max-width:86%;align-self:flex-start;background:#F7F3EE;border:1px solid #EAE4DD;border-radius:14px 14px 14px 4px;padding:9px 12px;font-size:13px;line-height:1.45;color:#4A4340; }
.flv-ice .flv-ice-sms-in b { font-weight:600; }
.flv-ice .flv-ice-sms-out { max-width:86%;align-self:flex-end;background:rgba(46,125,123,.12);border:1px solid #B8DADA;border-radius:14px 14px 4px 14px;padding:9px 12px;font-size:13px;line-height:1.45;font-weight:500;color:#235F5D; }
.flv-ice .flv-ice-sms-status { align-self:flex-end;font-size:10.5px;font-weight:500;color:#8A817C;margin-top:-3px; }
.flv-ice .flv-ice-sms-compose { display:flex;align-items:center;gap:8px;padding:10px 14px 14px; }
.flv-ice .flv-ice-sms-input { flex:1;display:flex;align-items:center;height:36px;border:1px solid #EAE4DD;border-radius:18px;padding:0 12px;font-size:12.5px;color:#8A817C; }
.flv-ice .flv-ice-sms-send { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#2E7D7B;color:#FFFFFF;border:0;cursor:pointer;flex:0 0 auto; }
.flv-ice .flv-ice-sms-send svg { width:16px;height:16px; }

.flv-ice .flv-ice-line {
	width:320px;max-width:100%;box-sizing:border-box;
	background:#FFFFFF;border:1px solid #EAE4DD;border-radius:12px;
	box-shadow:0 24px 64px rgba(0,0,0,.30);
	padding:22px 20px;color:#4A4340;
	font-family:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
}
.flv-ice .flv-ice-line * { box-sizing:border-box;margin:0; }
.flv-ice .flv-ice-line-eyebrow { font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8A817C;margin-bottom:8px; }
.flv-ice .flv-ice-line-big { font-size:24px;font-weight:600;color:#4A4340;line-height:1.25; }
.flv-ice .flv-ice-line-sub { font-size:18px;font-weight:500;color:#8A817C;margin:2px 0 14px; }
.flv-ice .flv-ice-line-chip { display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:12px;background:rgba(46,125,123,.12);color:#235F5D;font-size:11px;font-weight:600;margin-bottom:12px; }
.flv-ice .flv-ice-line-chip svg { width:12px;height:12px; }
.flv-ice .flv-ice-line-note { font-size:13px;line-height:1.5;color:#4A4340; }

@media (max-width:980px) {
	.flv-ice .flv-ice-channels { grid-template-columns:repeat(2,1fr); }
	.flv-ice .flv-ice-hero-phone { height:420px; }
	/* Timeline turns vertical: the rail runs down the left. */
	.flv-ice .flv-ice-timeline { grid-template-columns:1fr;gap:14px; }
	.flv-ice .flv-ice-timeline::before { top:16px;bottom:16px;left:7px;right:auto;width:2px;height:auto; }
	.flv-ice .flv-ice-step { padding-top:0;padding-left:32px; }
	.flv-ice .flv-ice-step::before { top:6px;left:0;transform:none; }
	.flv-ice .flv-ice-step-label { text-align:left; }
	/* The SMS card stops floating and stacks under the photo. */
	.flv-ice .flv-ice-stage .flv-ice-sms { position:static;transform:none;margin:-72px auto 0; }
}
@media (max-width:620px) {
	.flv-ice .flv-ice-channels { grid-template-columns:1fr; }
	.flv-ice .flv-ice-hero-phone { height:380px; }
}
