/* Funnelwise lead-generation demo: styles for Divi 5 sections built by build-pages.php.
   Brand: --brand-primary (slate #1E293B) / --brand-secondary (emerald #10B981).
   Visual language: a "conversion lab". Dark slate heroes on graph paper with an emerald glow, browser-window
   mockups, highlighter-marker emphasis, mono numerals for every metric, and live, testable components
   (leak finder, ROI calculator, A/B test simulator, annotated page anatomy). */

:root {
	--fnw-ink: var(--brand-primary);
	--fnw-green: var(--brand-secondary);
	--fnw-green-d: #047857;
	--fnw-deep: #0f172a;
	--fnw-muted: #475569;
	--fnw-bg: #f8fafc;
	--fnw-mint: #ecfdf5;
	--fnw-line: #e2e8f0;
	--fnw-display: "Bricolage Grotesque", "Onest", Arial, sans-serif;
	--fnw-sans: "Onest", "Open Sans", Arial, sans-serif;
	--fnw-mono: "Geist Mono", ui-monospace, Menlo, monospace;
	--fnw-shadow: 0 24px 50px -28px rgba(15, 23, 42, .4);
	--fnw-graph: linear-gradient(rgba(148,163,184,.09) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, rgba(148,163,184,.09) 1px, transparent 1px) 0 0 / 28px 28px;
	--fnw-graph-l: linear-gradient(rgba(16,185,129,.09) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, rgba(16,185,129,.09) 1px, transparent 1px) 0 0 / 28px 28px;
}

.logo_container a::before, .logo_container a::after { font-family: var(--fnw-display); }
.logo_container a::before { color: var(--fnw-ink) !important; background: var(--fnw-green) !important; }
.logo_container a::after { font-size: 21px; font-weight: 800; letter-spacing: -.03em; }
#top-menu li.csb-nav-cta > a { border-radius: 10px; }

/* ---------- Divi flex layout fixes (gap via --horizontal-gap-parent, wrap on small screens) ---------- */
.et_pb_section[class*="fnw-"] { padding: clamp(64px, 7vw, 108px) 0; background: #fff; gap: 44px; overflow: hidden; }
.et_pb_section[class*="fnw-"] .et_pb_row { width: min(1200px, calc(100% - 40px)); max-width: none; padding: 0; }
.fnw-row { --fnw-gap: 24px; column-gap: var(--fnw-gap) !important; row-gap: 24px !important; flex-wrap: wrap !important; }
.fnw-row > .et_pb_column { --horizontal-gap-parent: var(--fnw-gap); }
.fnw-split, .fnw-heading-row, .fnw-cta-row { --fnw-gap: clamp(28px, 5vw, 64px); }
.fnw-grid-2, .fnw-grid-3, .fnw-grid-4 { align-items: stretch !important; }
.fnw-checks, .fnw-hero-proof, .fnw-toasts, .fnw-leak-list, .fnw-phases, .fnw-anat-notes, .fnw-stack-grid, .fnw-sms, .fnw-next, .fnw-qual ul, .fnw-lp ul { list-style: none !important; padding: 0 !important; }
[class*="fnw-"] { font-variant-numeric: tabular-nums; }

/* ---------- Section backgrounds ---------- */
.et_pb_section:is(.fnw-hero, .fnw-page-hero, .fnw-cta, .fnw-numbers) { background: radial-gradient(circle at 85% 15%, rgba(16,185,129,.22), transparent 42%), var(--fnw-graph), var(--fnw-deep) !important; }
.et_pb_section.fnw-strip { background: var(--fnw-ink) !important; padding: 20px 0 !important; }
.et_pb_section:is(.fnw-channels, .fnw-audit, .fnw-rules, .fnw-services, .fnw-contact) { background: var(--fnw-mint) !important; }
.et_pb_section:is(.fnw-calc-sec, .fnw-anat-sec) { background: var(--fnw-graph-l), #fff !important; }
.et_pb_section:is(.fnw-cases-sec, .fnw-stack, .fnw-qual-sec, .fnw-faq) { background: var(--fnw-bg) !important; }
.et_pb_section.fnw-numbers { padding: 60px 0; }

/* ---------- Base ---------- */
[class*="fnw-"] .et_pb_text_inner, [class*="fnw-"] .et_pb_code_inner { font-family: var(--fnw-sans); color: var(--fnw-muted); font-size: 16.5px; line-height: 1.7; }
[class*="fnw-"] h1, [class*="fnw-"] h2, [class*="fnw-"] h3 { font-family: var(--fnw-display); color: var(--fnw-deep); font-weight: 800; line-height: 1.02; padding-bottom: 0; letter-spacing: -.035em; }
[class*="fnw-"] h1 { font-size: clamp(46px, 5.6vw, 82px); margin-bottom: 20px; }
[class*="fnw-"] h2 { font-size: clamp(36px, 4vw, 58px); margin-bottom: 14px; }
[class*="fnw-"] h3 { font-size: 23px; line-height: 1.15; letter-spacing: -.02em; margin-bottom: 8px; }
[class*="fnw-"] mark { color: inherit; background: linear-gradient(transparent 58%, rgba(16,185,129,.42) 58%, rgba(16,185,129,.42) 92%, transparent 92%); padding: 0 .06em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
[class*="fnw-"] p { padding-bottom: 0; margin-bottom: 14px; }
[class*="fnw-"] a { color: var(--fnw-green-d); }
.fnw-eyebrow { display: inline-flex !important; align-items: center; gap: 10px; font-family: var(--fnw-mono); color: var(--fnw-green-d) !important; font-size: 13px !important; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 16px !important; }
.fnw-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--fnw-green); box-shadow: 0 0 0 4px rgba(16,185,129,.2); }
.fnw-lead { font-size: 19px !important; max-width: 640px; color: var(--fnw-ink) !important; }
.fnw-heading-row { align-items: flex-end; }
.fnw-heading h2 { margin-bottom: 0 !important; }
.fnw-heading-lead .fnw-lead { margin-bottom: 6px !important; color: var(--fnw-muted) !important; }
.fnw-ico { width: 22px; height: 22px; flex: none; vertical-align: middle; }
.fnw-opt { font-weight: 400; color: #64748b; text-transform: none; letter-spacing: 0; }
.fnw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Dark sections */
:is(.fnw-hero, .fnw-page-hero, .fnw-cta, .fnw-numbers) :is(h1, h2, h3) { color: #fff !important; }
:is(.fnw-hero, .fnw-page-hero, .fnw-cta) .et_pb_text_inner { color: #cbd5e1 !important; }
:is(.fnw-hero, .fnw-page-hero, .fnw-cta) .fnw-lead { color: #cbd5e1 !important; }
:is(.fnw-hero, .fnw-page-hero, .fnw-cta) .fnw-eyebrow { color: #6ee7b7 !important; }
:is(.fnw-hero, .fnw-page-hero, .fnw-cta) mark { color: var(--fnw-green); background: none; padding: 0; }
.fnw-page-hero a { color: #6ee7b7; }

/* Buttons */
.fnw-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.fnw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 15px 24px; border-radius: 10px; border: 0; background: var(--fnw-green); color: var(--fnw-deep) !important; font-family: var(--fnw-sans); font-size: 16px; font-weight: 700; text-decoration: none; line-height: 1.2; cursor: pointer; box-shadow: 0 0 0 1px rgba(4,120,87,.25), 0 12px 26px -12px rgba(16,185,129,.9); transition: transform .2s, background .2s, box-shadow .2s; }
.fnw-btn:hover { background: #34d399; transform: translateY(-2px); }
.fnw-btn .fnw-ico { width: 18px; height: 18px; stroke-width: 2.2; }
.fnw-btn--ghost { background: rgba(255,255,255,.06); color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.3); }
.fnw-btn--ghost:hover { background: rgba(255,255,255,.14); }
.fnw-btn--line { background: #fff; color: var(--fnw-deep) !important; box-shadow: inset 0 0 0 1.5px var(--fnw-ink); }
.fnw-btn--line:hover { background: var(--fnw-mint); }
.fnw-btn--block { width: 100%; }

/* ---------- Hero ---------- */
.fnw-hero { padding-block: clamp(64px, 7vw, 110px) !important; }
.fnw-hero-row { align-items: center; }
.fnw-hero h1 { font-size: clamp(46px, 5.2vw, 76px); }
.fnw-hero-proof { display: flex; flex-wrap: wrap; gap: 0; margin: 38px 0 0 !important; border-top: 1px solid rgba(255,255,255,.12); }
.fnw-hero-proof li { flex: 1 1 0; display: grid; gap: 2px; padding: 18px 16px 0 0; font-size: 13.5px; line-height: 1.35; color: #94a3b8; }
.fnw-hero-proof li + li { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.12); }
.fnw-hero-proof b { font-family: var(--fnw-mono); font-size: 26px; font-weight: 500; color: #fff; letter-spacing: -.02em; }

/* Browser mockup */
.fnw-mock { position: relative; padding: 30px 0 46px 26px; }
.fnw-browser { border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 40px 80px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.08); transform: perspective(1400px) rotateY(-5deg); }
.fnw-browser-bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #e2e8f0; }
.fnw-browser-bar i { width: 10px; height: 10px; border-radius: 50%; background: #f87171; }
.fnw-browser-bar i:nth-child(2) { background: #fbbf24; } .fnw-browser-bar i:nth-child(3) { background: #34d399; }
.fnw-browser-bar span { flex: 1; display: flex; align-items: center; gap: 6px; margin-left: 10px; padding: 4px 12px; border-radius: 6px; background: #fff; font-family: var(--fnw-mono); font-size: 11.5px; color: #64748b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fnw-browser-bar .fnw-ico { width: 12px; height: 12px; color: var(--fnw-green-d); }
.fnw-lp { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; padding: 24px 22px; background: linear-gradient(160deg, #fff7ed, #fff 60%); }
.fnw-lp-tag { font-size: 10.5px !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #c2410c !important; margin-bottom: 8px !important; }
.fnw-lp-h { font-family: var(--fnw-display); font-size: 22px !important; font-weight: 800; line-height: 1.08 !important; letter-spacing: -.03em; color: var(--fnw-deep) !important; margin-bottom: 10px !important; }
.fnw-lp-stars { display: flex; align-items: center; gap: 1px; font-size: 11px !important; color: #64748b !important; margin-bottom: 10px !important; }
.fnw-lp-stars .fnw-ico, .fnw-az-proof .fnw-ico { width: 13px; height: 13px; color: #f59e0b; }
.fnw-lp-stars span { margin-left: 6px; }
.fnw-lp ul { margin: 0 !important; }
.fnw-lp li { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--fnw-ink); line-height: 1.7; }
.fnw-lp li .fnw-ico { width: 14px; height: 14px; color: var(--fnw-green-d); stroke-width: 3; }
.fnw-lp-form { display: grid; gap: 7px; align-content: start; padding: 14px; border-radius: 12px; background: #fff; box-shadow: 0 12px 30px -16px rgba(15,23,42,.4); }
.fnw-lp-form p { font-size: 13px !important; font-weight: 700; color: var(--fnw-deep) !important; margin: 0 0 2px !important; line-height: 1.3 !important; }
.fnw-lp-in { display: block; padding: 7px 10px; border: 1px solid var(--fnw-line); border-radius: 7px; font-size: 11.5px; color: #94a3b8; line-height: 1.3; }
.fnw-lp-btn { display: block; padding: 9px 10px; border-radius: 7px; background: #ea580c; color: #fff; font-size: 12px; font-weight: 700; text-align: center; line-height: 1.3; }
.fnw-toasts { position: absolute; left: 0; bottom: 0; width: min(330px, 86%); margin: 0 !important; }
.fnw-toasts li { display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 14px; background: #fff; box-shadow: 0 24px 40px -18px rgba(0,0,0,.6); animation: fnw-toast .45s cubic-bezier(.2,.9,.3,1.2) both; }
.fnw-toasts li[hidden] { display: none; }
@keyframes fnw-toast { from { opacity: 0; transform: translateY(14px) scale(.96); } }
.fnw-toast-ico { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 10px; background: var(--fnw-green); color: var(--fnw-deep); }
.fnw-toast-ico .fnw-ico { width: 18px; height: 18px; stroke-width: 2.2; }
.fnw-toasts li > span:last-child { display: grid; line-height: 1.3; }
.fnw-toasts b { font-size: 14px; color: var(--fnw-deep); }
.fnw-toasts small { font-size: 12px; color: #64748b; }
.fnw-mock-chip { position: absolute; right: -6px; top: 0; display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 10px 14px !important; border-radius: 12px; background: var(--fnw-ink); box-shadow: 0 0 0 1px rgba(255,255,255,.12), 0 20px 40px -16px rgba(0,0,0,.7); color: #cbd5e1 !important; font-size: 12px !important; line-height: 1.25 !important; }
.fnw-mock-chip .fnw-ico { color: var(--fnw-green); }
.fnw-mock-chip span { display: grid; }
.fnw-mock-chip b { font-family: var(--fnw-mono); font-size: 20px; font-weight: 500; color: #fff; }
.fnw-mock-chip em { font-family: var(--fnw-mono); font-style: normal; font-weight: 500; padding: 3px 7px; border-radius: 6px; background: rgba(16,185,129,.18); color: #6ee7b7; }

/* Industry marquee */
.fnw-marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.fnw-marquee > div { display: flex; width: max-content; animation: fnw-marq 38s linear infinite; }
.fnw-marquee span { display: inline-flex; align-items: center; gap: 28px; padding-right: 28px; font-family: var(--fnw-display); font-size: 20px; font-weight: 700; letter-spacing: -.02em; color: #e2e8f0; white-space: nowrap; }
.fnw-marquee span::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--fnw-green); }
@keyframes fnw-marq { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .fnw-marquee > div { animation: none; } }

/* ---------- Switch (shared by leak finder and pricing) ---------- */
.fnw-switch { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; margin-bottom: 26px; border-radius: 12px; background: var(--fnw-deep); }
.fnw-switch label { position: relative; cursor: pointer; }
.fnw-switch input, .fnw-pin input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fnw-switch span { display: inline-flex; align-items: center; gap: 7px; padding: 10px 18px; border-radius: 8px; font-size: 14.5px; font-weight: 700; color: #94a3b8; transition: all .2s; }
.fnw-switch .fnw-ico { width: 17px; height: 17px; }
.fnw-switch input:checked + span { background: var(--fnw-green); color: var(--fnw-deep); }
.fnw-switch input:focus-visible + span { outline: 2px solid var(--fnw-green); outline-offset: 2px; }

/* ---------- Leak finder ---------- */
.fnw-leaks { padding: 28px; border-radius: 22px; background: #fff; border: 1px solid var(--fnw-line); box-shadow: var(--fnw-shadow); }
.fnw-v-b, .fnw-leaks:has(input[value="b"]:checked) .fnw-v-a { display: none !important; }
.fnw-leaks:has(input[value="b"]:checked) .fnw-v-b { display: inline !important; }
.fnw-leak-list { display: grid; gap: 14px; margin: 0 !important; }
.fnw-leak-list li { display: grid; grid-template-columns: 190px 1fr 92px; align-items: center; gap: 16px; }
.fnw-leak-label { display: grid; line-height: 1.3; }
.fnw-leak-label b { font-size: 15px; color: var(--fnw-deep); }
.fnw-leak-label small { font-size: 12.5px; color: #64748b; }
.fnw-leak-bar { height: 34px; border-radius: 8px; background: repeating-linear-gradient(135deg, #f1f5f9 0 6px, #e2e8f0 6px 7px); overflow: hidden; }
.fnw-leak-bar span { display: block; height: 100%; width: var(--a); border-radius: 8px; background: linear-gradient(90deg, #64748b, #94a3b8); transition: width .6s cubic-bezier(.3,.8,.3,1), background .4s; }
.fnw-leaks:has(input[value="b"]:checked) .fnw-leak-bar span { width: var(--b); background: linear-gradient(90deg, var(--fnw-green-d), var(--fnw-green)); }
.fnw-leak-num { display: grid; justify-items: end; line-height: 1.2; font-family: var(--fnw-mono); }
.fnw-leak-num > b { font-size: 20px; font-weight: 500; color: var(--fnw-deep); }
.fnw-leak-drop { font-size: 12px; color: #dc2626; }
.fnw-leak-drop b { font-weight: 500; }
.fnw-leaks:has(input[value="b"]:checked) .fnw-leak-drop { color: #94a3b8; }
.fnw-leak-sum { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; padding-top: 20px; border-top: 1px dashed var(--fnw-line); }
.fnw-leak-sum > p:not(.fnw-leak-note) { display: grid; margin: 0 !important; padding: 14px 16px !important; border-radius: 12px; background: var(--fnw-bg); line-height: 1.3; font-size: 13px; }
.fnw-leak-sum b { font-family: var(--fnw-mono); font-size: 30px; font-weight: 500; color: var(--fnw-deep); }
.fnw-leaks:has(input[value="b"]:checked) .fnw-leak-sum > p:not(.fnw-leak-note) { background: var(--fnw-mint); }
.fnw-leaks:has(input[value="b"]:checked) .fnw-leak-sum b { color: var(--fnw-green-d); }
.fnw-leak-note { grid-column: 1 / -1; margin: 0 !important; font-size: 12.5px; color: #64748b !important; }

/* ---------- Channels / services cards ---------- */
.fnw-channel, .fnw-service { height: 100%; padding: 30px 28px; background: #fff; border-radius: 20px; border: 1px solid #d1fae5; transition: transform .25s, box-shadow .25s; }
.fnw-channel:hover, .fnw-service:hover { transform: translateY(-4px); box-shadow: var(--fnw-shadow); }
.fnw-channel { position: relative; }
.fnw-ch-ico { margin-bottom: 18px !important; }
.fnw-ch-ico .fnw-ico { width: 52px; height: 52px; padding: 13px; border-radius: 14px; background: var(--fnw-deep); color: var(--fnw-green); }
.fnw-ch-num { position: absolute; top: 28px; right: 28px; font-family: var(--fnw-mono); font-size: 13px !important; color: #94a3b8 !important; }
.fnw-channel > .et_pb_text_inner > p:not([class]), .fnw-service > .et_pb_text_inner > p:not([class]) { font-size: 15.5px; }
.fnw-ch-stat { display: flex; align-items: baseline; gap: 10px; margin: 18px 0 0 !important; padding-top: 16px; border-top: 1px dashed var(--fnw-line); font-size: 13.5px; }
.fnw-ch-stat b { font-family: var(--fnw-mono); font-size: 26px; font-weight: 500; color: var(--fnw-green-d); }
.fnw-service .fnw-checks { margin: 14px 0 0 !important; }
.fnw-service .fnw-checks li { font-size: 14.5px; }
.fnw-service p:last-child { margin-bottom: 0 !important; }

/* ---------- Calculator ---------- */
.fnw-calc { display: grid; grid-template-columns: 1fr 1fr; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--fnw-line); box-shadow: var(--fnw-shadow); }
.fnw-calc-in { display: grid; gap: 20px; align-content: start; padding: 28px; }
.fnw-range { display: grid; gap: 10px; margin: 0; }
.fnw-range > span { display: flex; justify-content: space-between; gap: 10px; font-size: 14.5px; font-weight: 600; color: var(--fnw-deep); }
.fnw-range output { font-family: var(--fnw-mono); font-weight: 500; color: var(--fnw-green-d); }
.fnw-range input { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--fnw-green) var(--v, 50%), #e2e8f0 var(--v, 50%)); cursor: pointer; }
.fnw-range input::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 3px solid var(--fnw-deep); box-shadow: 0 4px 10px -4px rgba(15,23,42,.5); }
.fnw-range input::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid var(--fnw-deep); }
.fnw-range input:focus-visible { outline: 2px solid var(--fnw-green); outline-offset: 4px; }
.fnw-calc-out { padding: 28px; background: var(--fnw-deep); color: #94a3b8; }
.fnw-calc-tag { font-family: var(--fnw-mono); font-size: 12.5px !important; text-transform: uppercase; letter-spacing: .06em; color: #6ee7b7 !important; margin-bottom: 14px !important; }
.fnw-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 20px; }
.fnw-calc-grid div { padding: 14px; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.fnw-calc-grid dt { font-size: 12.5px; color: #94a3b8; }
.fnw-calc-grid dd { margin: 2px 0 0; font-family: var(--fnw-mono); font-size: 28px; font-weight: 500; line-height: 1.15; color: #fff; letter-spacing: -.03em; }
.fnw-calc-grid div:last-child { background: rgba(16,185,129,.14); border-color: rgba(16,185,129,.35); }
.fnw-calc-grid div:last-child dd { color: var(--fnw-green); }
.fnw-calc-bar { display: grid; gap: 6px; }
.fnw-calc-bar span { display: block; height: 12px; border-radius: 99px; min-width: 4px; transition: width .35s; }
.fnw-calc-bar [data-bar-spend] { background: #64748b; }
.fnw-calc-bar [data-bar-rev] { background: var(--fnw-green); }
.fnw-calc-legend { display: flex; gap: 16px; margin: 10px 0 14px !important; font-size: 12.5px; }
.fnw-calc-legend span { display: inline-flex; align-items: center; gap: 6px; }
.fnw-dot { width: 10px; height: 10px; border-radius: 3px; }
.fnw-dot--spend { background: #64748b; } .fnw-dot--rev { background: var(--fnw-green); }
.fnw-calc-note { font-size: 12.5px !important; line-height: 1.5 !important; color: #64748b !important; margin: 0 !important; }

/* ---------- A/B test ---------- */
.fnw-ab { padding: 24px; border-radius: 22px; background: var(--fnw-bg); border: 1px solid var(--fnw-line); }
.fnw-ab-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fnw-var { position: relative; padding: 20px; border-radius: 16px; background: #fff; border: 2px solid var(--fnw-line); transition: border-color .3s, box-shadow .3s; }
.fnw-var-tag { display: flex; align-items: center; gap: 10px; font-size: 14px !important; font-weight: 600; color: var(--fnw-muted) !important; }
.fnw-var-tag > b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--fnw-deep); color: #fff; font-family: var(--fnw-mono); font-weight: 500; }
.fnw-win { display: none !important; align-items: center; gap: 5px; margin-left: auto; padding: 4px 10px; border-radius: 99px; background: var(--fnw-green); color: var(--fnw-deep); font-size: 12.5px; font-weight: 700; }
.fnw-win .fnw-ico { width: 14px; height: 14px; stroke-width: 3; }
.fnw-var.is-winner { border-color: var(--fnw-green); box-shadow: 0 18px 40px -22px rgba(16,185,129,.9); }
.fnw-var.is-winner .fnw-win { display: inline-flex !important; }
.fnw-var.is-loser { opacity: .72; }
.fnw-var-page { display: grid; gap: 8px; justify-items: start; margin-bottom: 16px; padding: 18px; border-radius: 12px; background: linear-gradient(160deg, #fff7ed, #fff); border: 1px solid #fde7d4; }
.fnw-var-h { font-family: var(--fnw-display); font-size: 21px !important; font-weight: 800; letter-spacing: -.03em; line-height: 1.1 !important; color: var(--fnw-deep) !important; margin: 0 0 4px !important; }
.fnw-var-line { display: block; width: 92%; height: 8px; border-radius: 4px; background: #e2e8f0; }
.fnw-var-line--s { width: 64%; }
.fnw-var-btn { margin-top: 6px; padding: 8px 14px; border-radius: 8px; background: #94a3b8; color: #fff; font-size: 13px; font-weight: 700; }
.fnw-var--b .fnw-var-btn { background: #ea580c; }
.fnw-var dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 12px; }
.fnw-var dt { font-size: 12px; color: #64748b; }
.fnw-var dd { margin: 0; font-family: var(--fnw-mono); font-size: 22px; font-weight: 500; color: var(--fnw-deep); }
.fnw-var-meter { height: 8px; border-radius: 99px; background: #f1f5f9; overflow: hidden; }
.fnw-var-meter span { display: block; height: 100%; width: 0; border-radius: 99px; background: #94a3b8; }
.fnw-var.is-winner .fnw-var-meter span { background: var(--fnw-green); }
.fnw-ab-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 20px; margin-top: 20px; }
.fnw-ab-bar .fnw-btn { background: var(--fnw-deep); color: #fff !important; box-shadow: none; }
.fnw-ab-bar .fnw-btn:hover { background: var(--fnw-ink); }
.fnw-ab-bar .fnw-btn[disabled] { opacity: .6; cursor: progress; transform: none; }
.fnw-ab-status { margin: 0 !important; font-family: var(--fnw-mono); font-size: 14px; color: var(--fnw-muted) !important; }
.fnw-ab-status b { color: var(--fnw-green-d); font-weight: 500; }

/* ---------- Case studies ---------- */
.fnw-case { height: 100%; padding: 28px; background: #fff; border-radius: 20px; border: 1px solid var(--fnw-line); }
.fnw-case-tag { font-family: var(--fnw-mono); font-size: 12.5px !important; text-transform: uppercase; letter-spacing: .04em; color: var(--fnw-green-d) !important; margin-bottom: 6px !important; }
.fnw-case h3 { font-size: 28px !important; margin-bottom: 18px !important; }
.fnw-case-metric { padding: 16px; border-radius: 14px; background: var(--fnw-bg); margin-bottom: 14px; }
.fnw-case-label { font-size: 13px !important; font-weight: 600; color: var(--fnw-deep) !important; margin-bottom: 10px !important; }
.fnw-case-bars p { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 10px; margin: 0 0 6px !important; font-size: 12.5px; }
.fnw-case-bars i { display: block; height: 14px; border-radius: 4px; background: #cbd5e1; }
.fnw-case-bars p:last-child i { width: var(--after); background: var(--fnw-green); }
.fnw-case-bars b { font-family: var(--fnw-mono); font-weight: 500; font-size: 15px; color: var(--fnw-deep); min-width: 52px; text-align: right; }
.fnw-case-up { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding-bottom: 14px !important; border-bottom: 1px dashed var(--fnw-line); font-size: 13.5px; }
.fnw-case-up b { font-family: var(--fnw-mono); font-weight: 500; font-size: 18px; color: var(--fnw-deep); white-space: nowrap; }
.fnw-case-up em { font-style: normal; color: var(--fnw-green-d); }
.fnw-case > .et_pb_text_inner > p:last-child { margin-bottom: 0 !important; font-size: 15px; }

/* ---------- Sprint ---------- */
.fnw-sprint { display: grid; gap: 28px; }
.fnw-cal { display: grid; grid-template-columns: repeat(14, 1fr); gap: 6px; }
.fnw-day-cell { position: relative; display: grid; place-items: end start; aspect-ratio: 1; padding: 8px; border-radius: 10px; font-family: var(--fnw-mono); font-size: 13px; color: var(--fnw-deep); }
.fnw-day-cell b { font-weight: 500; }
.fnw-ph--audit .fnw-sw, .fnw-day-cell.fnw-ph--audit { background: #e2e8f0; }
.fnw-ph--build .fnw-sw, .fnw-day-cell.fnw-ph--build { background: #a7f3d0; }
.fnw-ph--ads .fnw-sw, .fnw-day-cell.fnw-ph--ads { background: #6ee7b7; }
.fnw-ph--qa .fnw-sw, .fnw-day-cell.fnw-ph--qa { background: #34d399; }
.fnw-ph--report .fnw-sw, .fnw-day-cell.fnw-ph--report { background: var(--fnw-deep); color: var(--fnw-green); }
.fnw-day-cell.fnw-ph--live { background: var(--fnw-green); }
.fnw-day-cell.fnw-ph--live::after { content: "Live"; position: absolute; top: 7px; right: 7px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.fnw-phases { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin: 0 !important; }
.fnw-phases li { display: grid; grid-template-columns: 14px 1fr; gap: 12px; }
.fnw-sw { width: 14px; height: 14px; margin-top: 4px; border-radius: 4px; }
.fnw-phases small { font-family: var(--fnw-mono); font-size: 12.5px; color: var(--fnw-green-d); }
.fnw-phases h3 { font-size: 20px !important; margin: 2px 0 6px !important; }
.fnw-phases p { font-size: 14.5px; line-height: 1.55; margin: 0 !important; }

/* ---------- Forms ---------- */
.fnw-form-col .et_pb_code_inner { height: 100%; }
.fnw-form { position: relative; display: grid; gap: 16px; padding: 30px; border-radius: 22px; background: #fff; box-shadow: var(--fnw-shadow); border: 1px solid #d1fae5; }
.fnw-form-head { display: flex; gap: 14px; align-items: center; padding-bottom: 16px; border-bottom: 1px dashed var(--fnw-line); }
.fnw-form-ico { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border-radius: 12px; background: var(--fnw-deep); color: var(--fnw-green); }
.fnw-form-title { font-size: 26px !important; margin: 0 0 2px !important; }
.fnw-form-sub { font-size: 15px; margin: 0 !important; }
.fnw-step { display: flex; align-items: center; gap: 10px; margin: 4px 0 -4px !important; font-family: var(--fnw-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--fnw-deep) !important; }
.fnw-step > span:first-child { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: var(--fnw-green); color: var(--fnw-deep); font-size: 12.5px; }
.fnw-step .fnw-opt { font-family: var(--fnw-sans); font-size: 13px; }
.fnw-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fnw-field { display: grid; gap: 6px; margin: 0; font-size: 14px; font-weight: 600; color: var(--fnw-deep); }
.fnw-field :is(input, select, textarea), .fnw-calc .fnw-field select { width: 100%; padding: 12px 14px; border: 1.5px solid var(--fnw-line); border-radius: 10px; background: #fff; font: 400 16px/1.4 var(--fnw-sans); color: var(--fnw-deep); transition: border-color .15s, box-shadow .15s; }
.fnw-field :is(input, select, textarea):focus { outline: 0; border-color: var(--fnw-green); box-shadow: 0 0 0 4px rgba(16,185,129,.18); }
.fnw-choices { border: 0; margin: 0; padding: 0; min-width: 0; }
.fnw-choices legend { margin-bottom: 8px; padding: 0; font-size: 14px; font-weight: 600; color: var(--fnw-deep); }
.fnw-choices > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.fnw-days > div { grid-template-columns: repeat(5, 1fr); }
.fnw-choice { position: relative; cursor: pointer; margin: 0; }
.fnw-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fnw-choice span { display: block; height: 100%; padding: 10px 6px; text-align: center; border: 1.5px solid var(--fnw-line); border-radius: 10px; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--fnw-muted); background: #fff; transition: all .15s; }
.fnw-day span { display: grid; gap: 1px; }
.fnw-day small { font-family: var(--fnw-mono); font-size: 12px; font-weight: 500; color: #94a3b8; }
.fnw-choice:hover span { border-color: #6ee7b7; }
.fnw-choice input:checked + span { border-color: var(--fnw-green); background: var(--fnw-mint); color: var(--fnw-green-d); }
.fnw-choice input:checked + span small { color: var(--fnw-green-d); }
.fnw-choice input:focus-visible + span { outline: 2px solid var(--fnw-green); outline-offset: 2px; }
.fnw-form-note { display: block; font-size: 13.5px; text-align: center; margin: -4px 0 0 !important; }
.fnw-form-note .fnw-ico { width: 16px; height: 16px; margin: -2px 6px 0 0; color: var(--fnw-green-d); }
.fnw-form-ok { display: flex; align-items: flex-start; gap: 10px; background: #d1fae5; color: #065f46 !important; border-radius: 12px; padding: 12px 14px !important; margin: 0 !important; font-size: 15px; }
.fnw-form-ok[hidden] { display: none; }
.fnw-form-ok .fnw-ico { margin-top: 2px; stroke-width: 2.6; }
.fnw-hp { position: absolute; left: -9999px; }
.fnw-checks { margin: 0 0 16px !important; }
.fnw-checks li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 9px; color: var(--fnw-deep); font-size: 15.5px; line-height: 1.5; }
.fnw-checks .fnw-ico { width: 20px; height: 20px; margin-top: 1px; padding: 3px; border-radius: 6px; background: var(--fnw-green); color: var(--fnw-deep); stroke-width: 3; }
.fnw-checks--lg li { font-size: 17px; margin-bottom: 14px; }

/* ---------- CTA ---------- */
.fnw-cta-row { align-items: center; }
.fnw-cta-sub { color: #cbd5e1 !important; font-size: 18px; margin: 0 !important; }
.fnw-cta-box { display: grid; gap: 12px; padding: 22px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); }
.fnw-cta-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 2px 0 0 !important; font-family: var(--fnw-mono); font-size: 12.5px; color: #94a3b8 !important; }
.fnw-cta-note .fnw-ico { width: 15px; height: 15px; color: var(--fnw-green); }

/* ---------- About ---------- */
.fnw-report { padding: 26px; border-radius: 22px; background: #fff; border: 1px solid var(--fnw-line); box-shadow: var(--fnw-shadow); }
.fnw-report-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding-bottom: 14px !important; border-bottom: 1px dashed var(--fnw-line); }
.fnw-report-head span { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--fnw-deep); }
.fnw-report-head .fnw-ico { color: var(--fnw-green-d); }
.fnw-report-head small { font-family: var(--fnw-mono); font-size: 12.5px; color: #64748b; }
.fnw-report-chart { display: flex; align-items: flex-end; gap: 6px; height: 180px; padding: 10px 0 0; margin-bottom: 18px; background: linear-gradient(#f1f5f9 1px, transparent 1px) 0 0 / 100% 45px; }
.fnw-report-chart i { flex: 1; height: var(--h); border-radius: 5px 5px 0 0; background: linear-gradient(180deg, var(--fnw-green), #a7f3d0); }
.fnw-report dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 14px; }
.fnw-report dl div { padding: 12px 14px; border-radius: 12px; background: var(--fnw-bg); }
.fnw-report dt { font-size: 12.5px; color: #64748b; }
.fnw-report dd { margin: 0; font-family: var(--fnw-mono); font-size: 20px; font-weight: 500; color: var(--fnw-deep); }
.fnw-report-cap { margin: 0 !important; font-size: 13.5px; font-style: italic; }
.fnw-number { display: grid; gap: 6px; text-align: center; }
.fnw-number .et_pb_text_inner { text-align: center !important; }
.fnw-number strong { display: block; font-family: var(--fnw-mono); font-size: clamp(40px, 4.4vw, 60px); font-weight: 500; line-height: 1; letter-spacing: -.04em; color: #fff; }
.fnw-number span { display: block; margin-top: 8px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #6ee7b7; }
.fnw-rule { height: 100%; padding: 28px 26px; background: #fff; border-radius: 20px; border: 1px solid #d1fae5; border-top: 4px solid var(--fnw-green); }
.fnw-rule-num { font-family: var(--fnw-mono); font-size: 13px !important; color: var(--fnw-green-d) !important; margin-bottom: 12px !important; }
.fnw-rule > .et_pb_text_inner > p:last-child { margin-bottom: 0 !important; font-size: 15.5px; }
.fnw-person { height: 100%; padding: 26px; background: #fff; border-radius: 20px; border: 1px solid var(--fnw-line); transition: box-shadow .25s; }
.fnw-person:hover { box-shadow: var(--fnw-shadow); }
.fnw-avatar { display: grid !important; place-items: center; width: 72px; height: 72px; margin-bottom: 16px !important; border-radius: 18px; font-family: var(--fnw-display); font-size: 26px; font-weight: 800; color: #fff !important; }
.fnw-avatar--1 { background: linear-gradient(135deg, #0f172a, #334155); color: var(--fnw-green) !important; }
.fnw-avatar--2 { background: linear-gradient(135deg, #047857, #34d399); }
.fnw-avatar--3 { background: linear-gradient(135deg, #c2410c, #fb923c); }
.fnw-avatar--4 { background: linear-gradient(135deg, #1e40af, #60a5fa); }
.fnw-avatar--5 { background: linear-gradient(135deg, #7c3aed, #c4b5fd); }
.fnw-avatar--6 { background: linear-gradient(135deg, #0e7490, #67e8f9); }
.fnw-role { font-family: var(--fnw-mono); font-size: 12.5px !important; color: var(--fnw-green-d) !important; margin-bottom: 8px !important; }
.fnw-person > .et_pb_text_inner > p:not([class]) { font-size: 15px; }
.fnw-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
.fnw-chips span { padding: 4px 10px; border-radius: 6px; background: var(--fnw-bg); border: 1px solid var(--fnw-line); font-family: var(--fnw-mono); font-size: 12px; color: var(--fnw-ink); }
.fnw-stack-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 !important; }
.fnw-stack-grid li { display: flex; gap: 12px; align-items: center; padding: 16px; border-radius: 14px; background: #fff; border: 1px solid var(--fnw-line); }
.fnw-stack-grid .fnw-ico { width: 40px; height: 40px; padding: 9px; border-radius: 10px; background: var(--fnw-mint); color: var(--fnw-green-d); }
.fnw-stack-grid span { display: grid; font-size: 13px; line-height: 1.4; }
.fnw-stack-grid b { font-size: 15px; color: var(--fnw-deep); }

/* ---------- Services: anatomy ---------- */
.fnw-anat { display: grid; grid-template-columns: 1.05fr 1fr; gap: 36px; align-items: start; }
.fnw-anat-page { position: relative; border-radius: 16px; overflow: hidden; background: #fff; border: 1px solid var(--fnw-line); box-shadow: var(--fnw-shadow); }
.fnw-anat-body { display: grid; grid-template-columns: 1.2fr 1fr; grid-template-areas: "h form" "o form" "p call"; gap: 12px; padding: 26px; background: linear-gradient(160deg, #eff6ff, #fff 60%); }
.fnw-zone { position: relative; padding: 12px; border-radius: 10px; outline: 2px dashed transparent; outline-offset: 2px; transition: outline-color .2s, background .2s; }
.fnw-zone--1 { grid-area: h; } .fnw-zone--2 { grid-area: o; } .fnw-zone--3 { grid-area: p; } .fnw-zone--4 { grid-area: form; display: grid; gap: 8px; align-content: start; background: #fff; box-shadow: 0 12px 30px -16px rgba(15,23,42,.4); } .fnw-zone--5 { grid-area: call; }
.fnw-az-h { font-family: var(--fnw-display); font-size: 30px !important; font-weight: 800; line-height: 1.02 !important; letter-spacing: -.03em; color: var(--fnw-deep) !important; margin: 0 !important; }
.fnw-az-offer { display: inline-block; margin: 0 !important; padding: 6px 12px !important; border-radius: 8px; background: #dbeafe; font-weight: 700; color: #1e40af !important; font-size: 15px; line-height: 1.4 !important; }
.fnw-az-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin: 0 !important; font-size: 12.5px !important; color: #64748b !important; }
.fnw-zone--4 .fnw-lp-btn { background: #2563eb; }
.fnw-az-call { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px; border-radius: 10px; background: var(--fnw-deep); color: #fff; font-weight: 700; font-size: 14px; }
.fnw-az-call .fnw-ico { width: 16px; height: 16px; }
.fnw-pin { position: absolute; z-index: 2; cursor: pointer; margin: 0; }
.fnw-pin span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--fnw-deep); color: #fff; font-family: var(--fnw-mono); font-size: 14px; font-weight: 500; box-shadow: 0 0 0 4px rgba(255,255,255,.9), 0 6px 14px -4px rgba(15,23,42,.6); transition: transform .2s, background .2s; }
.fnw-pin:hover span { transform: scale(1.1); }
.fnw-pin input:checked + span { background: var(--fnw-green); color: var(--fnw-deep); animation: fnw-ping 1.6s ease-out infinite; }
.fnw-pin input:focus-visible + span { outline: 2px solid var(--fnw-green); outline-offset: 4px; }
@keyframes fnw-ping { 0% { box-shadow: 0 0 0 4px rgba(255,255,255,.9), 0 0 0 4px rgba(16,185,129,.5); } 100% { box-shadow: 0 0 0 4px rgba(255,255,255,.9), 0 0 0 16px rgba(16,185,129,0); } }
.fnw-pin { top: -14px; left: -14px; }
.fnw-zone--4 > .fnw-pin, .fnw-zone--5 > .fnw-pin { left: auto; right: -14px; }
.fnw-anat-notes { display: grid; gap: 10px; margin: 0 !important; }
.fnw-anat-notes li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 16px 18px; border-radius: 14px; background: #fff; border: 1.5px solid var(--fnw-line); opacity: .55; transition: all .25s; }
.fnw-anat-notes li > b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--fnw-bg); font-family: var(--fnw-mono); font-weight: 500; color: var(--fnw-deep); }
.fnw-anat-notes h3 { font-size: 19px !important; margin: 0 0 4px !important; }
.fnw-anat-notes p { font-size: 14.5px; line-height: 1.55; margin: 0 !important; }
.fnw-anat-notes p { display: none; }
.fnw-anat:has(input[value="1"]:checked) :is(.fnw-zone--1), .fnw-anat:has(input[value="2"]:checked) .fnw-zone--2, .fnw-anat:has(input[value="3"]:checked) .fnw-zone--3, .fnw-anat:has(input[value="4"]:checked) .fnw-zone--4, .fnw-anat:has(input[value="5"]:checked) .fnw-zone--5 { outline-color: var(--fnw-green); background-color: rgba(16,185,129,.1); }
.fnw-anat:has(input[value="1"]:checked) .fnw-note--1, .fnw-anat:has(input[value="2"]:checked) .fnw-note--2, .fnw-anat:has(input[value="3"]:checked) .fnw-note--3, .fnw-anat:has(input[value="4"]:checked) .fnw-note--4, .fnw-anat:has(input[value="5"]:checked) .fnw-note--5 { opacity: 1; border-color: var(--fnw-green); box-shadow: 0 14px 30px -20px rgba(16,185,129,.9); }
.fnw-anat:has(input[value="1"]:checked) .fnw-note--1 p, .fnw-anat:has(input[value="2"]:checked) .fnw-note--2 p, .fnw-anat:has(input[value="3"]:checked) .fnw-note--3 p, .fnw-anat:has(input[value="4"]:checked) .fnw-note--4 p, .fnw-anat:has(input[value="5"]:checked) .fnw-note--5 p { display: block; }
.fnw-anat:has(input[value="1"]:checked) .fnw-note--1 > b, .fnw-anat:has(input[value="2"]:checked) .fnw-note--2 > b, .fnw-anat:has(input[value="3"]:checked) .fnw-note--3 > b, .fnw-anat:has(input[value="4"]:checked) .fnw-note--4 > b, .fnw-anat:has(input[value="5"]:checked) .fnw-note--5 > b { background: var(--fnw-green); }

/* ---------- Services: SMS phone ---------- */
.fnw-sms-sec .fnw-split { align-items: center; }
.fnw-phone { width: min(340px, 100%); margin: 0 auto; padding: 14px 14px 22px; border-radius: 38px; background: var(--fnw-deep); box-shadow: 0 0 0 2px #334155, var(--fnw-shadow); }
.fnw-phone-top { display: flex; justify-content: space-between; align-items: center; margin: 0 !important; padding: 8px 14px 12px !important; font-family: var(--fnw-mono); font-size: 12.5px; color: #94a3b8 !important; }
.fnw-phone-top b { font-family: var(--fnw-sans); color: #fff; font-size: 14.5px; }
.fnw-phone-top .fnw-ico { width: 16px; height: 16px; color: var(--fnw-green); }
.fnw-sms { display: grid; gap: 10px; margin: 0 !important; padding: 18px 12px !important; border-radius: 26px; background: #fff; min-height: 360px; align-content: start; }
.fnw-sms li { max-width: 84%; padding: 10px 14px; border-radius: 18px; font-size: 14px; line-height: 1.45; animation: fnw-in .4s ease both; }
.fnw-sms li:nth-child(2) { animation-delay: .3s; } .fnw-sms li:nth-child(3) { animation-delay: .9s; } .fnw-sms li:nth-child(4) { animation-delay: 1.4s; } .fnw-sms li:nth-child(5) { animation-delay: 1.9s; }
@keyframes fnw-in { from { opacity: 0; transform: translateY(8px); } }
.fnw-sms small { display: block; margin-top: 3px; font-family: var(--fnw-mono); font-size: 11px; opacity: .65; }
.fnw-sms-in { justify-self: start; background: #f1f5f9; color: var(--fnw-deep); border-bottom-left-radius: 6px; }
.fnw-sms-out { justify-self: end; background: var(--fnw-green); color: var(--fnw-deep); border-bottom-right-radius: 6px; }
.fnw-sms-sys { justify-self: center; max-width: none !important; padding: 3px 10px !important; font-family: var(--fnw-mono); font-size: 11.5px !important; color: #64748b; }
.fnw-sms-ok { display: inline-flex; align-items: center; gap: 6px; background: var(--fnw-mint); color: var(--fnw-green-d); font-weight: 500; }
.fnw-sms-ok .fnw-ico { width: 14px; height: 14px; stroke-width: 3; }

/* ---------- Services: pricing ---------- */
.fnw-pricing { text-align: center; }
.fnw-switch--light { background: #fff; border: 1px solid var(--fnw-line); margin-bottom: 14px; }
.fnw-switch--light span { color: var(--fnw-muted); }
.fnw-switch--light input:checked + span { background: var(--fnw-deep); color: #fff; }
.fnw-model-note { max-width: 600px; margin: 0 auto 32px !important; font-size: 15.5px; }
.fnw-p-ppl, .fnw-pricing:has(input[value="ppl"]:checked) .fnw-p-ret { display: none !important; }
.fnw-pricing:has(input[value="ppl"]:checked) .fnw-p-ppl { display: inline !important; }
.fnw-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: left; align-items: stretch; }
.fnw-tier { display: flex; flex-direction: column; padding: 30px 28px; border-radius: 22px; background: #fff; border: 1px solid var(--fnw-line); }
.fnw-tier--pop { background: var(--fnw-deep); border-color: var(--fnw-deep); box-shadow: 0 30px 60px -30px rgba(15,23,42,.8); }
.fnw-tier-tag { align-self: flex-start; font-family: var(--fnw-mono); font-size: 12.5px !important; text-transform: uppercase; letter-spacing: .04em; color: #64748b !important; margin-bottom: 8px !important; }
.fnw-tier--pop .fnw-tier-tag { padding: 3px 10px !important; border-radius: 6px; background: var(--fnw-green); color: var(--fnw-deep) !important; }
.fnw-tier h3 { font-size: 30px !important; }
.fnw-tier--pop h3 { color: #fff !important; }
.fnw-price { margin: 4px 0 20px !important; padding-bottom: 20px; border-bottom: 1px dashed var(--fnw-line); font-size: 14px; }
.fnw-tier--pop .fnw-price { border-color: rgba(255,255,255,.15); color: #94a3b8; }
.fnw-price b { display: block; font-family: var(--fnw-mono); font-size: 46px; font-weight: 500; line-height: 1.05; letter-spacing: -.05em; color: var(--fnw-deep); }
.fnw-tier--pop .fnw-price b { color: var(--fnw-green); }
.fnw-tier .fnw-checks { flex: 1; margin-bottom: 22px !important; }
.fnw-tier .fnw-checks li { font-size: 15px; }
.fnw-tier--pop .fnw-checks li { color: #e2e8f0; }

/* ---------- Services: qualified leads ---------- */
.fnw-qual { height: 100%; padding: 28px; border-radius: 20px; background: #fff; border: 1px solid var(--fnw-line); }
.fnw-qual-tag { display: inline-flex !important; align-items: center; gap: 10px; font-family: var(--fnw-display); font-size: 24px !important; font-weight: 800; letter-spacing: -.02em; color: var(--fnw-deep) !important; margin-bottom: 16px !important; }
.fnw-qual-tag .fnw-ico { width: 34px; height: 34px; padding: 7px; border-radius: 10px; stroke-width: 2.6; }
.fnw-qual--yes .fnw-qual-tag .fnw-ico { background: var(--fnw-green); color: var(--fnw-deep); }
.fnw-qual--no .fnw-qual-tag .fnw-ico { background: #fee2e2; color: #b91c1c; }
.fnw-qual ul { margin: 0 !important; }
.fnw-qual li { padding: 12px 0; border-top: 1px dashed var(--fnw-line); color: var(--fnw-deep); font-size: 15.5px; }
.fnw-qual--no li { color: var(--fnw-muted); text-decoration: line-through; text-decoration-color: rgba(185,28,28,.45); }

/* ---------- FAQ ---------- */
.fnw-sticky-row { align-items: stretch !important; }
.fnw-faq-side .et_pb_code { position: sticky; top: 110px; }
.fnw-faq-title { font-size: 34px !important; margin: 44px 0 16px !important; }
.fnw-faq-main > .et_pb_text:first-child .fnw-faq-title { margin-top: 0 !important; }
.fnw-accordion .et_pb_toggle { border: 1px solid var(--fnw-line); border-radius: 14px; padding: 18px 22px; margin-bottom: 10px !important; background: #fff !important; transition: border-color .2s, box-shadow .2s; }
.fnw-accordion .et_pb_toggle_open { border-color: var(--fnw-green); box-shadow: 0 10px 24px -16px rgba(16,185,129,.7); }
.fnw-accordion .et_pb_toggle .et_pb_toggle_title { font-family: var(--fnw-sans); font-size: 17px; font-weight: 700; color: var(--fnw-deep) !important; padding-right: 36px; line-height: 1.4; }
.fnw-accordion .et_pb_toggle_title:before { color: var(--fnw-green-d) !important; }
.fnw-accordion .et_pb_toggle_content, .fnw-accordion .et_pb_toggle_content p { font-family: var(--fnw-sans); color: var(--fnw-muted); font-weight: 400 !important; padding-top: 8px; font-size: 16px; line-height: 1.7; }
.fnw-gloss { padding: 30px 28px; background: radial-gradient(circle at 100% 0, rgba(16,185,129,.2), transparent 45%), var(--fnw-deep); border-radius: 22px; color: #cbd5e1; }
.fnw-gloss-tag { display: inline-flex !important; align-items: center; gap: 8px; font-family: var(--fnw-mono); font-size: 12.5px !important; text-transform: uppercase; letter-spacing: .04em; color: #6ee7b7 !important; margin-bottom: 10px !important; }
.fnw-gloss-tag .fnw-ico { width: 18px; height: 18px; }
.fnw-gloss h3 { color: #fff !important; font-size: 28px !important; }
.fnw-gloss dl { margin: 14px 0 22px; }
.fnw-gloss dt { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); font-family: var(--fnw-mono); font-size: 18px; font-weight: 500; color: var(--fnw-green); }
.fnw-gloss dt span { font-family: var(--fnw-sans); font-size: 13px; font-weight: 400; color: #94a3b8; }
.fnw-gloss dt:first-child { margin-top: 0; }
.fnw-gloss dd { margin: 4px 0 0; font-size: 14.5px; line-height: 1.55; }

/* ---------- Contact ---------- */
.fnw-card { padding: 26px; background: #fff; border-radius: 20px; border: 1px solid #d1fae5; margin-bottom: 20px; }
.fnw-card-tag { display: inline-flex !important; align-items: center; gap: 8px; font-family: var(--fnw-mono); font-size: 12.5px !important; text-transform: uppercase; letter-spacing: .04em; color: var(--fnw-green-d) !important; margin-bottom: 16px !important; }
.fnw-card-tag .fnw-ico { width: 18px; height: 18px; }
.fnw-status { display: inline-flex !important; align-items: center; gap: 8px; margin-bottom: 18px !important; padding: 5px 12px 5px 10px !important; border-radius: 99px; background: var(--fnw-bg); font-family: var(--fnw-mono); font-size: 12.5px !important; color: var(--fnw-muted) !important; }
.fnw-status i { width: 9px; height: 9px; border-radius: 50%; background: #94a3b8; }
.fnw-status.is-open { background: var(--fnw-mint); color: var(--fnw-green-d) !important; }
.fnw-status.is-open i { background: var(--fnw-green); box-shadow: 0 0 0 4px rgba(16,185,129,.25); animation: fnw-blink 2s ease-in-out infinite; }
@keyframes fnw-blink { 50% { box-shadow: 0 0 0 7px rgba(16,185,129,.05); } }
.fnw-contact-line { display: flex; gap: 14px; align-items: flex-start; color: var(--fnw-deep) !important; line-height: 1.5; }
.fnw-contact-line:last-child { margin-bottom: 0 !important; }
.fnw-contact-line > .fnw-ico { width: 42px; height: 42px; padding: 10px; border-radius: 12px; background: var(--fnw-deep); color: var(--fnw-green); }
.fnw-contact-line a { font-family: var(--fnw-display); font-size: 22px; font-weight: 700; letter-spacing: -.02em; color: var(--fnw-deep) !important; text-decoration: none; word-break: break-word; }
.fnw-contact-line a:hover { color: var(--fnw-green-d) !important; }
.fnw-contact-line small { display: block; font-size: 13.5px; color: #64748b; }
.fnw-next { display: grid; gap: 0; margin: 0 !important; }
.fnw-next li { display: grid; grid-template-columns: 76px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px dashed var(--fnw-line); }
.fnw-next li:last-child { border-bottom: 0; padding-bottom: 0; }
.fnw-next b { align-self: start; padding: 4px 0; border-radius: 6px; background: var(--fnw-deep); color: var(--fnw-green); font-family: var(--fnw-mono); font-size: 12px; font-weight: 500; text-align: center; }
.fnw-next span { display: grid; font-weight: 700; color: var(--fnw-deep); font-size: 15.5px; line-height: 1.4; }
.fnw-next small { font-weight: 400; font-size: 13.5px; color: #64748b; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
	.fnw-hero-row > .et_pb_column:last-child { max-width: 640px; }
	.fnw-browser { transform: none; }
	.fnw-calc, .fnw-anat { grid-template-columns: 1fr; }
	.fnw-phases { grid-template-columns: 1fr 1fr; }
	.fnw-tiers { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
	.fnw-faq-side .et_pb_code { position: static; }
	.fnw-stack-grid { grid-template-columns: 1fr 1fr; }
	.fnw-channel, .fnw-service, .fnw-case, .fnw-rule, .fnw-person { height: auto; }
}
@media (max-width: 640px) {
	[class*="fnw-"] h1, .fnw-hero h1 { font-size: clamp(40px, 11.5vw, 52px); }
	[class*="fnw-"] h2 { font-size: clamp(32px, 9vw, 42px); }
	.fnw-hero-proof li { padding-right: 10px; }
	.fnw-hero-proof li + li { padding-left: 10px; }
	.fnw-hero-proof b { font-size: 21px; }
	.fnw-mock { padding: 30px 0 70px; }
	.fnw-lp { grid-template-columns: 1fr; padding: 18px; }
	.fnw-lp-form { display: none; }
	.fnw-mock-chip { right: 4px; }
	.fnw-day-cell.fnw-ph--live::after { display: none; }
	.fnw-toasts { width: 100%; }
	.fnw-marquee span { font-size: 17px; }
	.fnw-switch { display: flex; }
	.fnw-switch label { flex: 1; }
	.fnw-switch .fnw-ico { display: none; }
	.fnw-switch span { justify-content: center; width: 100%; padding: 10px 10px; font-size: 13.5px; text-align: center; }
	.fnw-leaks { padding: 18px 16px; }
	.fnw-leak-list li { grid-template-columns: 1fr auto; gap: 6px 12px; }
	.fnw-leak-bar { grid-column: 1 / -1; grid-row: 2; height: 24px; }
	.fnw-leak-num { grid-row: 1; grid-column: 2; }
	.fnw-leak-sum { grid-template-columns: 1fr; }
	.fnw-calc-in, .fnw-calc-out { padding: 20px; }
	.fnw-calc-grid dd { font-size: 22px; }
	.fnw-ab { padding: 14px; }
	.fnw-ab-grid { grid-template-columns: 1fr; }
	.fnw-cal { grid-template-columns: repeat(7, 1fr); }
	.fnw-phases { grid-template-columns: 1fr; }
	.fnw-form { padding: 22px 18px; }
	.fnw-form-grid { grid-template-columns: 1fr; }
	.fnw-choices > div { grid-template-columns: 1fr 1fr; }
	.fnw-days > div { grid-template-columns: repeat(3, 1fr); }
	.fnw-grid-4 { --fnw-gap: 12px; }
	.fnw-numbers .fnw-grid-4 > .et_pb_column { width: calc(50% - 6px) !important; flex: 0 0 calc(50% - 6px) !important; }
	.fnw-number strong { font-size: 34px; }
	.fnw-number span { font-size: 11px; letter-spacing: .04em; }
	.fnw-stack-grid { grid-template-columns: 1fr; }
	.fnw-anat-body { grid-template-columns: 1fr; grid-template-areas: "h" "o" "p" "form" "call"; padding: 24px 22px; gap: 16px; }
	.fnw-az-h { font-size: 26px !important; }
	.fnw-gloss { padding: 24px 20px; }
	.fnw-cta-box { padding: 16px; }
}
