*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#3d3654;font-family:ui-rounded,'SF Pro Rounded','Segoe UI',system-ui,-apple-system,Arial,sans-serif;line-height:1.7;font-size:17px;background:linear-gradient(180deg,#ede9fe 0%,#f7f4ff 340px,#fff9f3 900px,#f2fbf6 100%)}
h1,h2,h3{color:#2c2545;line-height:1.25;font-weight:800}
a{color:#6d28d9;text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.site-header{background:rgba(255,255,255,.85);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;border-bottom:3px solid #ede9fe}
.site-header .wrap{display:flex;align-items:center;gap:20px;padding:12px 24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#2c2545;font-weight:800;font-size:22px}
.brand:hover{text-decoration:none}
.brand svg{width:38px;height:38px}
.nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;align-items:center}
.nav a{text-decoration:none;color:#3d3654;font-weight:700;font-size:14.5px;padding:9px 14px;border-radius:999px}
.nav a:hover{background:#ede9fe;text-decoration:none;color:#6d28d9}
.nav a.cta{background:#6d28d9;color:#fff;box-shadow:0 6px 18px rgba(109,40,217,.28)}
.nav a.cta:hover{background:#5b21b6;color:#fff}
.dots{position:absolute;inset:0;background-image:radial-gradient(#c4b5fd 2.2px,transparent 2.3px);background-size:22px 22px;opacity:.35;pointer-events:none}
.hero{padding:58px 0 12px;position:relative;overflow:hidden}
.hero-inner{position:relative}
.eyebrow{display:inline-block;background:#ffedd5;color:#9a3412;font-weight:800;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 18px;border-radius:999px;margin-bottom:16px;box-shadow:0 6px 16px rgba(251,146,60,.25)}
.hero h1{font-size:clamp(36px,5.6vw,60px);margin:0 0 16px;letter-spacing:-.5px}
.hero h1 .hl{color:#6d28d9}
.lede{max-width:66ch;color:#5b5478;font-size:18px}
.tool-card{background:#fff;border-radius:24px;margin:30px 0 12px;box-shadow:0 18px 48px rgba(139,92,246,.16);border:1px solid #ede9fe;overflow:hidden}
.tool-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px 26px;background:linear-gradient(135deg,#ede9fe,#ffedd5);border-bottom:1px solid #f1eafd}
.tool-head h2{margin:0;font-size:24px}
.privacy-chip{margin-left:auto;display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid #6d28d9;color:#6d28d9;font-weight:800;font-size:13px;padding:8px 16px;border-radius:999px}
.privacy-chip svg{width:16px;height:16px}
.tool-body{padding:28px 26px}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-bottom:24px}
.opt{background:#faf9ff;border:2px solid #ede9fe;padding:18px;border-radius:18px}
.opt.mint{background:#f2fbf6;border-color:#d1fae5}
.opt.peach{background:#fffaf3;border-color:#ffedd5}
.opt-label{display:block;font-weight:800;font-size:14px;letter-spacing:.6px;text-transform:uppercase;color:#6d28d9;margin-bottom:12px}
.opt.mint .opt-label{color:#047857}
.opt.peach .opt-label{color:#c2410c}
.opt-hint{font-size:13.5px;color:#8a84a3;margin:10px 0 0}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{border:2px solid #ddd6fe;background:#fff;color:#3d3654;padding:8px 15px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit;border-radius:999px;transition:all .15s}
.seg button:hover{border-color:#a78bfa}
.seg button[aria-pressed="true"]{background:#6d28d9;color:#fff;border-color:#6d28d9;box-shadow:0 4px 12px rgba(109,40,217,.3)}
.opt.mint .seg button[aria-pressed="true"]{background:#059669;border-color:#059669;box-shadow:0 4px 12px rgba(5,150,105,.3)}
.opt.peach .seg button[aria-pressed="true"]{background:#ea580c;border-color:#ea580c;box-shadow:0 4px 12px rgba(234,88,12,.3)}
.num-row{display:flex;align-items:center;gap:12px}
.num-row input[type=range]{flex:1;accent-color:#6d28d9}
.num-row input[type=number]{width:70px;border:2px solid #ddd6fe;border-radius:12px;padding:8px 10px;font-size:15px;font-family:inherit;background:#fff;color:#3d3654}
.count-val{font-weight:800;color:#6d28d9;font-size:20px;min-width:40px;text-align:center}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.btn{border:2px solid #6d28d9;background:transparent;color:#6d28d9;padding:12px 26px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;border-radius:999px;display:inline-flex;align-items:center;gap:9px;text-decoration:none;transition:all .15s}
.btn:hover{background:#ede9fe;text-decoration:none}
.btn.primary{background:#6d28d9;color:#fff;box-shadow:0 8px 22px rgba(109,40,217,.32)}
.btn.primary:hover{background:#5b21b6}
.btn svg{width:17px;height:17px}
.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
.copy-note{font-size:14px;font-weight:700;color:#059669}
.output{margin-top:20px;background:#faf9ff;border:2px solid #ede9fe;min-height:130px;padding:20px;border-radius:18px}
.output ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.output li{background:#fff;border:1px solid #ede9fe;border-radius:16px;padding:14px 18px;cursor:pointer;box-shadow:0 6px 18px rgba(139,92,246,.08);display:flex;gap:14px;align-items:flex-start}
.output li:hover{box-shadow:0 10px 24px rgba(139,92,246,.16)}
.output li .idx{flex:none;width:38px;height:38px;border-radius:50%;background:#ede9fe;color:#6d28d9;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}
.output li .txt{min-width:0}
.output li .nm{display:block;font-weight:800;font-size:16.5px;color:#2c2545}
.output li .ds{display:block;font-size:14px;color:#5b5478}
.output li .rl{display:block;font-size:13px;color:#047857;margin-top:3px}
.output li .mini-copy{margin-left:auto;flex:none;font-size:12px;font-weight:800;color:#6d28d9;border:2px dashed #c4b5fd;padding:5px 12px;border-radius:999px;align-self:center}
.output .placeholder{color:#a5a0bd;text-align:center;margin:32px 0;font-size:15px}
.output-meta{margin-top:12px;font-size:13.5px;color:#8a84a3}
.limits{margin-top:22px;background:#fffaf3;border:2px dashed #fb923c;padding:20px 22px;border-radius:18px}
.limits h3{margin:0 0 10px;font-size:19px;color:#9a3412;display:flex;align-items:center;gap:10px}
.limits h3 svg{width:22px;height:22px;flex:none}
.limits ul{margin:0;padding-left:20px;font-size:15px;color:#5b5478}
.limits li{margin-bottom:7px}
.section{padding:52px 0 8px}
.section h2{font-size:clamp(28px,3.6vw,40px);margin:0 0 14px}
.section h2 .hl{color:#6d28d9}
.sub{color:#5b5478;max-width:68ch;margin:0 0 24px}
.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.card{background:#fff;border:1px solid #ede9fe;border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(139,92,246,.10);display:flex;flex-direction:column}
.card.peach{border-color:#ffedd5;box-shadow:0 12px 30px rgba(251,146,60,.10)}
.card.mint{border-color:#d1fae5;box-shadow:0 12px 30px rgba(16,185,129,.10)}
.card h3{margin:0 0 10px;font-size:19px}
.card p{margin:0 0 14px;color:#5b5478;font-size:15px;flex:1}
.card .icon{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.card .icon svg{width:24px;height:24px}
.card a.more{font-weight:800;font-size:14.5px}
.prose{max-width:74ch}
.prose p{margin:0 0 16px}
.prose h2{margin:36px 0 12px;font-size:27px}
.prose h3{margin:28px 0 10px;font-size:20px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px}
.prose li{margin-bottom:8px}
.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15.5px}
.prose th{background:#ede9fe;color:#2c2545;text-align:left;padding:10px 14px}
.prose td{padding:10px 14px;border-bottom:1px solid #ede9fe}
.callout{background:#ede9fe;border-radius:18px;padding:18px 22px;margin:20px 0}
.callout.peach{background:#ffedd5}
.callout.mint{background:#d1fae5}
.faq-item{background:#fff;border:1px solid #ede9fe;border-radius:18px;padding:18px 22px;margin-bottom:14px;box-shadow:0 8px 22px rgba(139,92,246,.08)}
.faq-item h3{margin:0 0 8px;font-size:18px}
.faq-item p{margin:0;color:#5b5478;font-size:15.5px}
.site-footer{background:#2c2545;color:#cfc9e8;margin-top:70px;padding:44px 0 30px}
.site-footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px}
.site-footer h4{color:#fff;margin:0 0 12px;font-size:16px}
.site-footer a{color:#cfc9e8;font-size:14.5px;display:block;margin-bottom:8px}
.site-footer a:hover{color:#fff}
.site-footer .fine{grid-column:1/-1;font-size:13px;color:#9d95c4;border-top:1px solid #453d68;padding-top:18px;margin-top:6px}
.breadcrumb{font-size:13.5px;color:#8a84a3;margin:22px 0 0}
.breadcrumb a{color:#6d28d9}
.page-hero{padding:44px 0 6px}
.page-hero h1{font-size:clamp(32px,4.6vw,48px);margin:0 0 14px}
@media(max-width:700px){.tool-body{padding:20px 16px}.output li{flex-wrap:wrap}.nav{margin-left:0}}
Home / About
About OfferOrb
OfferOrb is a free, no-signup brainstorming tool for marketers, founders, and small-store owners who need promotional offer ideas fast.
The idea is simple: staring at a blank page is the hardest part of planning a promotion. OfferOrb combines proven offer mechanics, headline templates, and illustrative example values into fresh ideas at the click of a button, each paired with a short explanation and a profitability rule so the brainstorm stays grounded in real promotional practice.
Everything runs in your browser. There is no account to create, no email to hand over, and nothing you generate is transmitted anywhere. The numbers in generated ideas are illustrative placeholders; always set real figures from your own margins before publishing an offer.
OfferOrb is a brainstorming aid, not a marketing agency: it suggests starting points, and you bring the judgment about your customers, costs, and brand.