PageSourceSearch

https://www.prompt-genie.com/assets/js/Concierge-C6lAFgQ0.js

js prompt-genie.com collected 2026-10-01 12:29:46 UTC 20,149 bytes, 179 lines download raw bytes

1import{r as o,ah as c,j as e,Y as m,J as n,a8 as g}from"./vendor-RrrBg8En.js";import{P as d}from"./index-BApPt7ad.js";import{C as p}from"./ConsultingLeadForm-BKtjL0Ys.js";import"./dialog-CWck91zx.js";import"./input-Byy410tY.js";import"./label-Bx4_DvDY.js";import"./textarea-vvpR13Yq.js";import"./select-DDXg4fPF.js";const i="concierge-public",a=[{src:"/logos/salesforce.svg",alt:"Salesforce"},{src:"/logos/visa.svg",alt:"Visa"},{src:"/logos/ebay.svg",alt:"eBay"},{src:"/logos/unity.svg",alt:"Unity"},{src:"/logos/gmu.svg",alt:"George Mason University"}],h=[{idx:"01",kind:"Entry",name:"AI Workflow Teardown",price:"$500 – $1,500",unit:"fixed",scope:"One working session plus a written deliverable. We audit how you use AI today, map your highest-value workflows, and hand over ready-to-run prompt systems.",featured:!1},{idx:"02",kind:"Core",name:"Done-For-You Setup",price:"$2,500 – $7,500",unit:"project",scope:"Two to four weeks. We build your actual AI workflows and automations for your real use case, marketing, support, or ops. You get a working system, not advice.",featured:!0},{idx:"03",kind:"Ongoing",name:"Your AI Team",price:"$1,500 – $4,000",unit:"monthly",scope:"Monthly optimization and new workflows as you grow. We become the AI function you never staffed, on call and compounding month over month.",featured:!1}],u=[{n:"1",title:"Tell us what you need",body:"A few quick questions about your goals. Two minutes, then you pick a time."},{n:"2",title:"Book your call",body:"Grab a slot that works. A small refundable deposit holds it, back after the call."},{n:"3",title:"We build it",body:"We set up your AI workflows and automations, done for you, for your stack."},{n:"4",title:"You ship",body:"You walk away with a working system your team can actually use."}];function z(){const t=o.useRef(null);o.useEffect(()=>{c.capture("consulting_page_viewed",{surface:i})},[]);const l=()=>{var r;c.capture("consulting_page_cta_clicked",{surface:i}),(r=t.current)==null||r.scrollIntoView({behavior:"smooth",block:"start"})};return e.jsxs(e.Fragment,{children:[e.jsxs(m,{children:[e.jsx("title",{children:"Genie Concierge | Prompt Genie"}),e.jsx("meta",{name:"description",content:"Done-for-you AI. Our team builds your marketing and ops AI workflows for your business, so you get a working system instead of one more tool to learn."}),e.jsx("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),e.jsx("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),e.jsx("link",{href:"https://fonts.googleapis.com/css2?family=Fraunces:opsz,[email protected],400;9..144,500;9..144,600&display=swap",rel:"stylesheet"})]}),e.jsx("style",{children:f}),e.jsxs("div",{className:"cg",children:[e.jsx("header",{className:"cg-topbar",children:e.jsxs("div",{className:"cg-topbar-inner",children:[e.jsxs(n,{to:"/",className:"cg-brand",children:[e.jsx(d,{size:30,className:"cg-brand-mark","aria-hidden":"true"}),"Prompt Genie"]}),e.jsxs("nav",{className:"cg-nav",children:[e.jsx(n,{to:"/pricing",className:"cg-nav-link",children:"Pricing"}),e.jsx(n,{to:"/login",className:"cg-signin",children:"Sign in"})]})]})}),e.jsxs("section",{className:"cg-hero",children:[e.jsx("span",{className:"cg-rail","aria-hidden":"true",children:"Genie Concierge · Done for you"}),e.jsxs("div",{className:"cg-hero-inner",children:[e.jsxs("p",{className:"cg-eyebrow",children:[e.jsx("span",{className:"cg-eyebrow-tick","aria-hidden":"true"}),"A done-for-you service from Prompt Genie"]}),e.jsxs("h1",{className:"cg-h1",children:["Let our team build",e.jsx("br",{}),"your AI, ",e.jsx("em",{children:"done for you."})]}),e.jsx("p",{className:"cg-lede",children:"Prompt Genie helps you write better prompts. Genie Concierge is our team setting up your marketing and ops AI for your business, so you get a working system instead of one more tool to learn."}),e.jsx("hr",{className:"cg-hairline"}),e.jsxs("div",{className:"cg-cta-row",children:[e.jsxs("button",{type:"button",onClick:l,className:"cg-btn",children:["Book your scoping call",e.jsx(g,{className:"cg-btn-arrow","aria-hidden":"true"})]}),e.jsx("span",{className:"cg-cta-note",children:"Refundable deposit holds your spot."})]})]})]}),e.jsxs("section",{className:"cg-marquee","aria-label":"Trusted by teams around the world",children:[e.jsx("p",{className:"cg-marquee-label",children:"Trusted by teams around the world"}),e.jsxs("div",{className:"cg-marquee-track",children:[e.jsx("div",{className:"cg-marquee-row",children:[...a,...a,...a].map((r,s)=>e.jsx("span",{className:"cg-marquee-item",children:e.jsx("img",{src:r.src,alt:r.alt,loading:"lazy"})},`a-${s}`))}),e.jsx("div",{className:"cg-marquee-row","aria-hidden":"true",children:[...a,...a,...a].map((r,s)=>e.jsx("span",{className:"cg-marquee-item",children:e.jsx("img",{src:r.src,alt:"",loading:"lazy"})},`b-${s}`))})]})]}),e.jsxs("section",{className:"cg-section",children:[e.jsxs("div",{className:"cg-sec-head",children:[e.jsx("span",{className:"cg-kicker",children:"The engagements"}),e.jsx("h2",{className:"cg-h2",children:"Three ways to work together"}),e.jsx("p",{className:"cg-sub",children:"Fixed scope, not open-ended hours. Start small or go straight to a full build."})]}),e.jsx("div",{className:"cg-ladder",children:h.map(r=>e.jsxs("article",{className:r.featured?"cg-rung cg-rung--core":"cg-rung",children:[e.jsxs("div",{className:"cg-rung-top",children:[e.jsx("span",{className:"cg-rung-idx",children:r.idx}),e.jsx("span",{className:"cg-rung-kind",children:r.kind})]}),e.jsx("h3",{className:"cg-rung-name",children:r.name}),e.jsxs("div",{className:"cg-price",children:[e.jsx("span",{className:"cg-price-num",children:r.price}),e.jsxs("span",{className:"cg-price-unit",children:["/ ",r.unit]})]}),e.jsx("p",{className:"cg-scope",children:r.scope}),r.featured&&e.jsx("span",{className:"cg-rung-flag",children:"Most chosen"})]},r.name))})]}),e.jsxs("section",{className:"cg-section cg-section--sunken",children:[e.jsxs("div",{className:"cg-sec-head",children:[e.jsx("span",{className:"cg-kicker",children:"The path"}),e.jsx("h2",{className:"cg-h2",children:"How it works"}),e.jsx("p",{className:"cg-sub",children:"From your first message to a system your team can use."})]}),e.jsx("ol",{className:"cg-steps",children:u.map(r=>e.jsxs("li",{className:"cg-step",children:[e.jsx("span",{className:"cg-step-num",children:r.n}),e.jsx("h3",{className:"cg-step-title",children:r.title}),e.jsx("p",{className:"cg-step-body",children:r.body})]},r.n))})]}),e.jsx("section",{className:"cg-section",ref:t,children:e.jsxs("div",{className:"cg-formwrap",children:[e.jsxs("div",{className:"cg-form-head",children:[e.jsx("span",{className:"cg-kicker",children:"Start here"}),e.jsx("h2",{className:"cg-h2 cg-h2--tight",children:"Tell us what you'd want built"}),e.jsx("p",{className:"cg-sub",children:"A few quick questions, then pick a time. A refundable deposit holds your spot, returned right after the call."})]}),e.jsx(p,{email:null,plan:null,source:i,authMode:"apiKey"}),e.jsxs("div",{className:"cg-trust",children:[e.jsx("span",{children:"Refundable deposit"}),e.jsx("span",{className:"cg-trust-dot","aria-hidden":"true"}),e.jsx("span",{children:"Back after the call"}),e.jsx("span",{className:"cg-trust-dot","aria-hidden":"true"}),e.jsx("span",{children:"Built for your stack"})]})]})}),e.jsxs("footer",{className:"cg-footer",children:[e.jsxs("span",{children:["© ",new Date().getFullYear()," Prompt Genie"]}),e.jsxs("div",{className:"cg-footer-links",children:[e.jsx(n,{to:"/pricing",className:"cg-nav-link",children:"Pricing"}),e.jsx(n,{to:"/login",className:"cg-nav-link",children:"Sign in"})]})]}),!1]})]})}const f=`
2.cg {
3  /* warm neutrals (light) */
4  --bg: oklch(0.981 0.010 85);
5  --surface: oklch(0.997 0.005 85);
6  --sunken: oklch(0.958 0.014 82);
7  --ink: oklch(0.255 0.020 62);
8  --ink-soft: oklch(0.438 0.020 62);
9  --ink-faint: oklch(0.548 0.016 66);
10  --line: oklch(0.902 0.016 78);
11  --line-strong: oklch(0.845 0.020 74);
12  /* brand orange (#FD7A1E) */
13  --accent: oklch(0.720 0.180 47);
14  --accent-ink: oklch(0.548 0.150 44);   /* deeper orange, meets AA on light */
15  --accent-on: oklch(0.235 0.050 47);    /* dark warm text on orange fills */
16  /* warm charcoal hero (deliberately dark in both themes) */
17  --hero-bg: oklch(0.262 0.021 58);
18  --hero-ink: oklch(0.962 0.010 85);
19  --hero-soft: oklch(0.796 0.016 80);
20  --hero-line: oklch(0.380 0.022 60);
21
22  /* spacing scale */
23  --s-1: 0.5rem;
24  --s-2: 0.875rem;
25  --s-3: 1.25rem;
26  --s-4: 2rem;
27  --s-5: 3rem;
28  --s-section: clamp(3.5rem, 8vw, 6.5rem);
29  --maxw: 74rem;
30
31  --serif: 'Fraunces', Georgia, 'Times New Roman', serif;
32
33  background: var(--bg);
34  color: var(--ink);
35  min-height: 100vh;
36  display: flex;
37  flex-direction: column;
38  overflow-x: hidden;
39}
40.dark .cg {
41  --bg: oklch(0.201 0.013 64);
42  --surface: oklch(0.244 0.015 64);
43  --sunken: oklch(0.178 0.012 64);
44  --ink: oklch(0.945 0.010 85);
45  --ink-soft: oklch(0.772 0.014 80);
46  --ink-faint: oklch(0.628 0.014 74);
47  --line: oklch(0.318 0.015 64);
48  --line-strong: oklch(0.372 0.017 64);
49  --accent: oklch(0.762 0.165 50);
50  --accent-ink: oklch(0.800 0.150 52);
51  --accent-on: oklch(0.205 0.045 47);
52  --hero-bg: oklch(0.168 0.012 60);
53  --hero-ink: oklch(0.958 0.010 85);
54  --hero-soft: oklch(0.780 0.015 80);
55  --hero-line: oklch(0.300 0.016 62);
56}
57
58.cg a { color: inherit; text-decoration: none; }
59.cg h1, .cg h2, .cg h3 { margin: 0; }
60
61/* top bar */
62.cg-topbar { position: sticky; top: 0; z-index: 20; background: color-mix(in oklab, var(--bg) 86%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
63.cg-topbar-inner { max-width: var(--maxw); margin: 0 auto; padding: var(--s-2) var(--s-4); display: flex; align-items: center; justify-content: space-between; }
64.cg-brand { display: inline-flex; align-items: center; gap: 0.6rem; font-weight: 700; font-size: 1.05rem; letter-spacing: -0.01em; }
65.cg-brand-mark { width: 1.85rem; height: 1.85rem; border-radius: 999px; flex: none; }
66.cg-nav { display: flex; align-items: center; gap: var(--s-4); }
67.cg-nav-link { font-size: 0.9rem; color: var(--ink-soft); transition: color .15s; }
68.cg-nav-link:hover { color: var(--ink); }
69.cg-signin { font-size: 0.9rem; font-weight: 600; padding: 0.45rem 1rem; border: 1px solid var(--line-strong); border-radius: 999px; transition: background .15s, border-color .15s; }
70.cg-signin:hover { border-color: var(--accent); }
71
72/* hero */
73.cg-hero { position: relative; background: var(--hero-bg); color: var(--hero-ink); border-bottom: 1px solid var(--hero-line); }
74.cg-hero-inner { max-width: var(--maxw); margin: 0 auto; padding: clamp(3.5rem, 9vw, 7rem) var(--s-4) clamp(3rem, 7vw, 5.5rem) clamp(var(--s-4), 8vw, 6rem); }
75.cg-rail { position: absolute; left: 1.6rem; top: 0; bottom: 0; display: flex; align-items: center; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 0.68rem; letter-spacing: 0.32em; text-transform: uppercase; color: var(--hero-soft); opacity: 0.62; }
76.cg-rail::after { content: ""; position: absolute; left: -0.9rem; top: 12%; bottom: 12%; width: 2px; background: linear-gradient(to bottom, transparent, var(--accent) 30%, var(--accent) 70%, transparent); }
77.cg-eyebrow { display: inline-flex; align-items: center; gap: 0.6rem; margin: 0 0 var(--s-3); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--hero-soft); }
78.cg-eyebrow-tick { width: 1.4rem; height: 2px; background: var(--accent); display: inline-block; }
79.cg-h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(2.6rem, 5.6vw, 5.6rem); line-height: 1.02; letter-spacing: -0.015em; text-wrap: balance; }
80.cg-h1 em { font-style: italic; font-weight: 500; color: var(--accent); }
81.cg-lede { margin: var(--s-4) 0 0; max-width: 44rem; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.6; color: var(--hero-soft); }
82.cg-hairline { border: 0; height: 1px; background: var(--hero-line); margin: clamp(2rem, 4vw, 2.75rem) 0 var(--s-4); max-width: 40rem; }
83.cg-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4); }
84.cg-btn { display: inline-flex; align-items: center; gap: 0.55rem; font-family: inherit; font-size: 0.98rem; font-weight: 650; padding: 0.85rem 1.5rem; border: 0; border-radius: 0.7rem; background: var(--accent); color: var(--accent-on); cursor: pointer; transition: transform .15s, filter .2s; }
85.cg-btn:hover { transform: translateY(-1px); filter: brightness(1.05); }
86.cg-btn-arrow { width: 1.05rem; height: 1.05rem; }
87.cg-cta-note { font-size: 0.88rem; color: var(--hero-soft); }
88
89/* trusted-by marquee (real /logos assets) */
90.cg-marquee { position: relative; background: var(--sunken); border-bottom: 1px solid var(--line); padding: var(--s-5) 0; overflow: hidden; }
91.cg-marquee-label { text-align: center; margin: 0 0 var(--s-4); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ink-faint); }
92.cg-marquee::before, .cg-marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: clamp(2.5rem, 12vw, 9rem); z-index: 2; pointer-events: none; }
93.cg-marquee::before { left: 0; background: linear-gradient(to right, var(--sunken), color-mix(in oklab, var(--sunken) 0%, transparent)); }
94.cg-marquee::after { right: 0; background: linear-gradient(to left, var(--sunken), color-mix(in oklab, var(--sunken) 0%, transparent)); }
95.cg-marquee-track { display: flex; width: max-content; animation: cg-slide 38s linear infinite; }
96.cg-marquee:hover .cg-marquee-track { animation-play-state: paused; }
97.cg-marquee-row { display: flex; flex: 0 0 auto; }
98.cg-marquee-item { display: inline-flex; align-items: center; justify-content: center; width: 150px; height: 56px; margin: 0 clamp(1rem, 3vw, 2.75rem); }
99.cg-marquee-item img { max-width: 128px; max-height: 38px; width: auto; height: auto; object-fit: contain; filter: grayscale(100%); opacity: 0.5; transition: opacity .3s, filter .3s; }
100.cg-marquee-item img:hover { opacity: 0.85; filter: grayscale(0%); }
101.dark .cg-marquee-item img { filter: grayscale(100%) invert(1) brightness(1.15); opacity: 0.55; }
102.dark .cg-marquee-item img:hover { opacity: 0.8; }
103@keyframes cg-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
104@media (prefers-reduced-motion: reduce) { .cg-marquee-track { animation: none; } }
105
106/* sections */
107.cg-section { max-width: var(--maxw); margin: 0 auto; padding: var(--s-section) var(--s-4); width: 100%; box-sizing: border-box; }
108.cg-section--sunken { max-width: none; background: var(--sunken); border-block: 1px solid var(--line); }
109.cg-section--sunken > * { max-width: var(--maxw); margin-inline: auto; }
110.cg-sec-head { margin-bottom: var(--s-5); }
111.cg-kicker { display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent-ink); margin-bottom: var(--s-2); }
112.cg-h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.08; letter-spacing: -0.012em; text-wrap: balance; }
113.cg-h2--tight { font-size: clamp(1.6rem, 3vw, 2.1rem); }
114.cg-sub { margin: var(--s-2) 0 0; max-width: 46ch; color: var(--ink-soft); font-size: 1.02rem; line-height: 1.55; }
115
116/* ladder: asymmetric, core elevated with non-uniform padding */
117.cg-ladder { display: grid; grid-template-columns: 1fr; gap: var(--s-3); align-items: start; }
118@media (min-width: 900px) { .cg-ladder { grid-template-columns: 1fr 1.18fr 1fr; gap: var(--s-4); } }
119.cg-rung { position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; padding: var(--s-4); display: flex; flex-direction: column; }
120.cg-rung--core { border-color: color-mix(in oklab, var(--accent) 55%, var(--line)); padding: calc(var(--s-4) + var(--s-3)) var(--s-4) var(--s-5); box-shadow: 0 24px 60px -34px color-mix(in oklab, var(--accent) 55%, transparent); }
121@media (min-width: 900px) { .cg-rung--core { transform: translateY(-1.25rem); } }
122.cg-rung--core::before { content: ""; position: absolute; left: 0; top: 1.25rem; bottom: 1.25rem; width: 3px; border-radius: 3px; background: var(--accent); }
123.cg-rung-top { display: flex; align-items: baseline; gap: 0.7rem; }
124.cg-rung-idx { font-family: var(--serif); font-size: 1.05rem; color: var(--accent-ink); font-weight: 600; }
125.cg-rung-kind { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-faint); }
126.cg-rung-name { font-family: var(--serif); font-weight: 500; font-size: 1.45rem; line-height: 1.1; margin-top: var(--s-2); }
127.cg-price { display: flex; align-items: baseline; gap: 0.45rem; margin-top: var(--s-3); }
128.cg-price-num { font-size: 1.16rem; font-weight: 700; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
129.cg-price-unit { font-size: 0.82rem; color: var(--ink-faint); }
130.cg-scope { margin: var(--s-3) 0 0; color: var(--ink-soft); font-size: 0.92rem; line-height: 1.58; }
131.cg-rung-flag { align-self: flex-start; margin-top: var(--s-3); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-on); background: var(--accent); padding: 0.28rem 0.65rem; border-radius: 999px; }
132
133/* steps: connected sequence */
134.cg-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: var(--s-4); counter-reset: none; }
135@media (min-width: 760px) { .cg-steps { grid-template-columns: repeat(4, 1fr); gap: var(--s-3); } }
136.cg-step { position: relative; padding-top: var(--s-4); }
137.cg-step::before { content: ""; position: absolute; top: calc(1.1rem); left: 0; right: 0; height: 1px; background: var(--line-strong); }
138@media (max-width: 759px) { .cg-step::before { display: none; } }
139.cg-step-num { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 999px; background: var(--bg); border: 1.5px solid var(--accent); color: var(--accent-ink); font-family: var(--serif); font-weight: 600; font-size: 1.05rem; }
140.cg-step-title { margin-top: var(--s-3); font-size: 1.02rem; font-weight: 650; letter-spacing: -0.01em; }
141.cg-step-body { margin: 0.4rem 0 0; color: var(--ink-soft); font-size: 0.9rem; line-height: 1.55; }
142
143/* form */
144.cg-formwrap { max-width: 40rem; margin: 0 auto; background: var(--surface); border: 1px solid var(--line); border-radius: 1.15rem; padding: clamp(1.6rem, 3vw, 2.6rem); box-shadow: 0 30px 70px -50px color-mix(in oklab, var(--ink) 60%, transparent); }
145.cg-form-head { margin-bottom: var(--s-4); }
146.cg-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem; margin-top: var(--s-4); padding-top: var(--s-3); border-top: 1px solid var(--line); font-size: 0.8rem; color: var(--ink-faint); }
147.cg-trust-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--line-strong); }
148
149/* footer */
150.cg-footer { margin-top: auto; border-top: 1px solid var(--line); max-width: var(--maxw); width: 100%; margin-inline: auto; box-sizing: border-box; padding: var(--s-4); display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; justify-content: space-between; color: var(--ink-faint); font-size: 0.88rem; }
151.cg-footer-links { display: flex; gap: var(--s-4); }
152
153/* large screens: widen the measure and let the layout breathe */
154@media (min-width: 1440px) {
155  .cg { --maxw: 80rem; --s-section: clamp(5rem, 6.5vw, 8rem); }
156  .cg-ladder { gap: var(--s-5); }
157  .cg-rung { padding: var(--s-5); }
158  .cg-rung--core { padding: calc(var(--s-5) + var(--s-3)) var(--s-5) calc(var(--s-5) + var(--s-2)); }
159  .cg-rung-name { font-size: 1.65rem; }
160  .cg-scope { font-size: 0.98rem; }
161  .cg-steps { gap: var(--s-4); }
162  .cg-step-title { font-size: 1.12rem; }
163  .cg-step-body { font-size: 0.96rem; }
164  .cg-sub { font-size: 1.12rem; max-width: 54ch; }
165  .cg-formwrap { max-width: 44rem; }
166}
167@media (min-width: 1800px) {
168  .cg { --maxw: 88rem; }
169  .cg-marquee-item { width: 190px; }
170}
171
172@media (max-width: 640px) {
173  .cg-rail { display: none; }
174  .cg-hero-inner { padding-left: var(--s-4); }
175}
176@media (prefers-reduced-motion: reduce) {
177  .cg-btn:hover { transform: none; }
178}
179`;export{z as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.