shortcode lives in. Page-scoped
because this whole stylesheet only loads on pages that carry this widget. */
.fluentform{max-width:620px;margin:0 auto;background:linear-gradient(160deg,var(--glass),var(--glass-2));
border:1px solid var(--glass-brd);border-radius:22px;padding:34px 30px;backdrop-filter:blur(6px)}
.fluentform label{color:var(--ink);font-weight:500;font-size:14px}
.fluentform input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.fluentform select,.fluentform textarea{width:100%;background:rgba(4,6,26,.5)!important;border:1px solid var(--glass-brd)!important;
border-radius:12px!important;color:var(--ink)!important;padding:13px 16px!important;font-family:inherit!important;
font-size:15px!important;transition:border-color .2s,box-shadow .2s;box-shadow:none!important}
.fluentform input:focus,.fluentform select:focus,.fluentform textarea:focus{border-color:var(--cyan)!important;
box-shadow:0 0 0 3px rgba(34,233,255,.15)!important;outline:none!important}
.fluentform input::placeholder,.fluentform textarea::placeholder{color:var(--ink-dim)}
.fluentform .ff-btn-submit{background:var(--neon-grad)!important;color:var(--bg-0)!important;border:0!important;
border-radius:999px!important;padding:14px 34px!important;font-weight:600!important;font-size:15px!important;cursor:pointer;
box-shadow:var(--shadow-neon);transition:transform .2s,box-shadow .2s}
.fluentform .ff-btn-submit:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(34,233,255,.45)!important}
.fluentform .ff-message-success,.fluentform .ff_submit_success{color:var(--cyan)}
/* placeholder shown until the Shortcode widget is added */
.kv-form-slot{max-width:620px;margin:0 auto;border:1.5px dashed var(--glass-brd);border-radius:22px;padding:34px;text-align:center}
.kv-form-slot p{color:var(--ink-soft);font-size:14.5px;line-height:1.7;margin:0}
.kv-form-slot code{color:var(--cyan);background:rgba(34,233,255,.1);padding:2px 8px;border-radius:6px;font-size:13px}
/* ============================ CONTACT INFO CARDS ============================ */
.info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto 56px}
.info-card{text-align:center;padding:30px 22px;border-radius:18px;background:linear-gradient(160deg,var(--glass),var(--glass-2));
border:1px solid var(--glass-brd);transition:transform .3s,border-color .3s,box-shadow .3s}
.info-card:hover{transform:translateY(-6px);border-color:rgba(34,233,255,.4);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.info-card .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin:0 auto 16px;font-size:20px;
background:var(--neon-grad);color:var(--bg-0);box-shadow:var(--shadow-neon)}
.info-card .lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px;font-family:'Space Grotesk',monospace}
.info-card a,.info-card span{color:var(--ink);font-size:15.5px;font-weight:600}
/* ============================ CLIENT LOGO WALL (About page) ============================ */
.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.logo-tile{height:96px;display:grid;place-items:center;padding:18px 22px;border-radius:16px;
background:rgba(255,255,255,.94);border:1px solid var(--glass-brd);transition:transform .3s,box-shadow .3s}
.logo-tile:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(0,0,0,.45),0 0 26px rgba(34,233,255,.14)}
.logo-tile img{max-width:100%;max-height:54px;object-fit:contain;display:block}
/* ============================ RESPONSIVE ============================ */
@media (max-width:960px){
.split{grid-template-columns:1fr;gap:44px}
.grid-2{grid-template-columns:1fr;gap:44px}
.grid-3{grid-template-columns:repeat(2,1fr)}
.grid-4{grid-template-columns:repeat(2,1fr)}
.ft-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
.nf-links,.nf-nav .nf-cta{display:none}
.nf-burger{display:flex}
.hero-stats{grid-template-columns:repeat(2,1fr)}
.hero-stats .cell:nth-child(3){border-left:0}
.hero-stats .cell:nth-child(n+3){border-top:1px solid var(--line)}
.grid-3,.grid-4{grid-template-columns:1fr}
.ft-grid{grid-template-columns:1fr 1fr}
.info-row{grid-template-columns:1fr}
.sec{padding:84px 0}
}
@media (prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}
}
/* ===== WORDPRESS INTEGRATION (page-scoped: this CSS only loads on the page
that contains this widget, so these site-wide selectors are safe) ===== */
html,body{background:#04061A !important;}
.site-content,.ast-container,#content,#primary,#main,.entry-content,
.elementor,.elementor-section,.elementor-container,.elementor-widget-wrap,
.e-con,.e-con-inner,.elementor-widget-html{background:transparent !important;}
.entry-content,.ast-container{max-width:none !important;padding-left:0 !important;padding-right:0 !important;}
.elementor-widget-html .elementor-widget-container{margin:0 !important;}
Why Kvell
Global Reach. Local Expertise.
With over 20 years of experience in affiliate and performance marketing, we know how to connect consumers with brands and products in ways no one else can. We continue to innovate with our award-winning solution that connects advertisers with valuable audiences and helps publishers monetize their content.
Become a Publisher →
The Kvell Difference
Personalization for Improved Performance
88%
Affiliate vs Other Channels
17%
See Long-term Success
Scale With Us
Guaranteed Global Growth
With over 20 years of experience in affiliate and performance marketing, we know how to connect consumers with brands and products in ways no one else can. We continue to innovate with our award-winning solution that connects advertisers with valuable audiences and helps publishers monetize their content.
Affiliate Sign Up
By The Numbers
Results by Numbers