FINANCIAL
SERVICES
TRENDS 2026
The Patterns Shaped by What Worked - and What Didn't
Executive Summary
2025 was the year artificial intelligence scaled across banking and financial services, but meaningful growth did not.
AI pilots, personalization tools, and digital channels multiplied, yet fragmented execution, static journeys, and eroding trust diluted real impact.
As we enter 2026, the industry stands at an inflection point.
The advantage will go to organizations ready to operationalize Agentic AI into real-time customer engagement.
What 2025 Taught BFSI Leaders
The assumptions that quietly broke - and forced a reset.
2025 was not a failure year for financial services, but it was a revealing one.
Across banks, fintechs, and insurers, leaders learned that doing more did not guarantee better outcomes.
What broke were not strategies or ambitions, but assumptions about how engagement, growth, and trust actually scale.
Five Hard Lessons from 2025
AI pilots expanded rapidly, but most remained advisory. Insights improved but decisions stayed manual. Only 1/5th of pilots moved beyond advisory into production.
→ Lesson: AI creates value only when it is allowed to act.
New tools, features, and channels multiplied. Customer effort and frustration often did too. 64% of customers reported that digital self-service tools failed to solve their problems, leading to higher friction than the manual processes they replaced.
→ Lesson: Experience quality depends on coherence, not capability.
Targeting became more sophisticated, but engagement plateaued. Customers responded to timing + context, not message volume. A mere 5% of banks scaled AI for true hyper-personalization, leaving the rest to flood customers with irrelevant, segment-based "offers."
→ Lesson: Relevance is driven by intent, not segmentation.
Customers moved seamlessly across touchpoints. Their context didn't. 56% of customers still have to repeat their context when switching touchpoints.
→ Lesson: Channels don't create experiences - journeys do.
Acquisition costs rose while onboarding drop-offs persisted. Value was lost before relationships truly began. With 20% abandonment during onboarding, firms lost their $128+ acquisition spend before day one.
→ Lesson: Activation, not acquisition, determines growth.
How Financial Services Leaders Are Responding
The patterns below reflect how financial services engagement, trust, and growth are being redesigned for 2026. These shifts are already visible across banks, fintechs, and insurers.
Together, these patterns redefine how financial institutions will:
Engage customers more intelligently
Scale relevance without adding noise
Build trust through experience
Unlock growth beyond acquisition
Trend 01
Marketing Gets Its First Autonomous Brain
Why AI finally moves from pilots to execution
In 2026, marketing shifts from AI-assisted execution to AI-led decisioning. After years of pilots, dashboards, and copilots, BFSI organizations recognize that insight alone does not create impact. Growth comes when AI systems are trusted to decide and act in real time.
AI agents move beyond recommendations to owning execution within defined trust, risk, and compliance guardrails.
The Shift
Agentic systems decide and execute next-best actions in real time, matching the pace of customer intent.
Autonomous decisioning removes manual execution as the bottleneck, enabling relevance at scale without increasing teams or complexity.
AI agents operate within predefined guardrails for risk, compliance, and trust - escalating only when thresholds are breached.
The Impact
30–50% faster response to customer actions, lifting engagement and conversion at critical moments.
Organizations embedding AI into decision workflows are up to 2x more likely to see revenue impact from personalization.
Built-in governance allows organizations to scale AI faster without increasing operational or regulatory risk.
Trend 02
Intent-Led Experiences Replace Digital Noise
Why relevance in 2026 is defined by timing, not targeting
In 2026, BFSI customer experiences move beyond personalization toward intent-led engagement. After years of adding more features, messages, and targeting logic, leaders recognize that customer experience improves when interactions align with what customers are trying to do in that moment.
Intent-led experiences reduce friction by engaging customers only when there is a clear signal, need, or opportunity and staying silent when there isn't.
The Shift
Engagement is triggered by live behavioral signals, not schedules or static segments.
Intent-led systems prioritize relevance over volume, reducing customer fatigue.
Resisting irrelevant engagement preserves attention and trust.
The Impact
Aligning engagement to real-time intent yields 2X higher engagement.
86% of financial services customers value a better experience over more messaging.
Experience quality improves when brands respect attention, not compete for it.
Trend 03
Journey Orchestration Becomes the New Battleground
Why continuity, not channels, defines experience leadership
Financial services leaders move beyond omnichannel presence toward journey orchestration. Customers already move fluidly across apps, messaging platforms, and service touchpoints. What differentiates experiences now is whether context moves with them.
Orchestration ensures journeys continue seamlessly - regardless of where the interaction resumes.
The Shift
Engagement is designed end-to-end, not as isolated channel interactions.
History, intent, and preferences persist across channels.
Escalations feel like continuations, not restarts.
The Impact
Customers experience fewer resets and less repetition across touchpoints, driving 25-30% higher conversions.
Reduced customer effort directly correlates with 20-30% higher satisfaction and loyalty.
Blending service and engagement journeys improves resolution speed and experience consistency.
Trend 04
Trust Becomes a Designed Experience
Why confidence must be engineered, not assumed
Trust in financial services is shaped less by policies and more by how decisions are experienced. As AI-driven actions increase, customers expect transparency, explanation, and reassurance, especially during high-stakes moments.
Trust is no longer a passive outcome; it is intentionally designed into interactions.
The Shift
Customers understand why actions were taken and what happens next.
Critical moments trigger clarity, not confusion.
Preferences, consent, and choices are clearly communicated.
The Impact
78% of consumers say trust influences provider choice in financial services.
Clear communication during disruptions reduces anxiety and churn.
Perceived control is a key driver of trust and long-term loyalty.
Trend 05
Activation Becomes the New Growth Engine
Why the first 90 days matter more than acquisition
Growth in financial services shifts downstream. With acquisition costs rising and regulations tightening, leaders recognize that value is won or lost after signup. Onboarding evolves from a compliance process into a guided activation journey.
Growth is determined by how quickly customers reach their first moment of value.
The Shift
Activation is designed as a sequence of guided steps, not a one-time form fill.
Customers are nudged based on where they stall, not where they start.
Engagement continues until customers reach their first moment of value.
The Impact
Reducing onboarding friction accelerates time-to-value and improves retention.
Guided activation journeys can improve completion and early engagement by 20–30%.
Activation-focused engagement delivers stronger lifetime value than acquisition alone.
Early Adopters in Action
This hands-on workshop is designed for BFSI leadership teams looking to move from insight to execution. We'll help you identify where these trends intersect with your current stack, journeys, and growth priorities - and what to do next.
Apply the 2026 trends to your specific business context
Identify high-impact use cases across journeys and channels
Understand where Agentic Marketing can drive immediate value
Define next steps across technology, data, and execution
Book a Workshop
Share your business email and we'll reach out to schedule a tailored session.
<script>
var nt_g_var = {
mobilePill: "",
headerId: "#Mobile_Home_DD_Header.mnm-child-logo",
headerType: "main"
}
</script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Google Tag Manager -->
<script>
(function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-KL7QS9B');
</script>
<!-- End Google Tag Manager -->
<!-- Google tag (gtag.js) -->
<script defer src="https://www.googletagmanager.com/gtag/js?id=AW-781898969"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'AW-781898969');
</script>
<!-- Google tag (gtag.js) -->
<script defer src="https://www.googleoptimize.com/optimize.js?id=OPT-NJKZKF4"></script>
<script>
(function(c, p, d, u, id, i) {
id = ''; // Optional Custom ID for user in your system
u = 'https://tracking.g2crowd.com/attribution_tracking/conversions/' + c + '.js?p=' + encodeURI(p) + '&e=' + id;
i = document.createElement('script');
i.type = 'application/javascript';
i.async = true;
i.src = u;
d.getElementsByTagName('head')[0].appendChild(i);
}("1007564", document.location.href, document));
</script>
<script>
(function(c, p, d, u, id, i) {
id = ''; // Optional Custom ID for user in your system
u = 'https://tracking.g2crowd.com/attribution_tracking/conversions/' + c + '.js?p=' + encodeURI(p) + '&e=' + id;
i = document.createElement('script');
i.type = 'application/javascript';
i.async = true;
i.src = u;
d.getElementsByTagName('head')[0].appendChild(i);
}("3237", document.location.href, document));
</script>
<!-- Hotjar Tracking Code for https://netcorecloud.com/ -->
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:6383222,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<style id="" media="all">@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat-JDG3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat8JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat_XDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat-JDW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat-7DW3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat9XCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat9uCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat8JCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ivy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Jvy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Ovy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Cvy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86CPy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Dvy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Avy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Gvy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Evy4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: italic;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Lvx4qCRAL19DksVat8gCm3z.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 100;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwAop1hTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwAIpxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwA_JxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwAIpthTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CncqZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnMqZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cm8qZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl8qZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Cl0qZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClsqZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8ClcqZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8Ck8qZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CkcqZG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 900;
font-display: swap;
src: url(/fonts.gstatic.com/s/dmsans/v17/rP2tp2ywxg089UriI5-g4vlH9VoD8CnsqpG40F9JadbnoEwAC5thTg.ttf) format('truetype');
}
</style>
<style id="" media="all">@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuOKfMZg.ttf) format('truetype');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZg.ttf) format('truetype');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZg.ttf) format('truetype');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuGKYMZg.ttf) format('truetype');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lCR_Q.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ17CR_Q.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ0lCR_Q.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ0XCR_Q.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ37Dh_Q.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_Q.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: italic;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lDh_Q.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KU7NSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_907NSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_m07NSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_d0nNSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KUnNSg.ttf) format('truetype');
}
</style>
<style>
*, *::before, *::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: hsl(265 30% 20%); }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'DM Sans', 'Inter', sans-serif; background: hsl(265 60% 6%); color: white; line-height: 1.6; -webkit-font-smoothing: antialiased; }
/* CSS Variables */
:root {
--background: 265 60% 6%;
--foreground: 0 0% 100%;
--card: 265 50% 10%;
--primary: 22 100% 50%;
--primary-foreground: 0 0% 100%;
--muted: 265 30% 18%;
--muted-foreground: 217 19% 65%;
--accent: 186 100% 50%;
--border: 265 30% 20%;
--glass-bg: 265 50% 12%;
--glass-border: 265 30% 25%;
--netcore-orange: 22 100% 50%;
--cyber-cyan: 186 100% 50%;
}
/* Utility Classes */
.container { max-width: 1400px; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 640px) { .container { padding: 0 1.5rem; } }
/* Typography */
h1, h2, h3, h4, h5, h6 { font-family: 'Plus Jakarta Sans', 'DM Sans', sans-serif; }
/* Noise Overlay */
.noise-overlay {
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
pointer-events: none;
z-index: 9999;
opacity: 0.03;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}
/* Glass Card */
.glass-card {
position: relative;
overflow: hidden;
border-radius: 1rem;
background: linear-gradient(135deg, hsl(265 50% 12% / 0.6) 0%, hsl(265 50% 12% / 0.3) 100%);
backdrop-filter: blur(20px);
border: 1px solid hsl(265 30% 25% / 0.2);
transition: all 0.3s ease;
}
.glass-card:hover { border-color: hsl(265 30% 25% / 0.5); }
/* Gradient Text */
.gradient-text-orange {
background: linear-gradient(135deg, hsl(22 100% 50%) 0%, hsl(22 100% 50% / 0.8) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.gradient-text-cyan {
background: linear-gradient(135deg, hsl(186 100% 50%) 0%, hsl(186 100% 50% / 0.7) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Glow Effects */
.glow-orange { box-shadow: 0 0 80px -20px hsl(22 100% 50% / 0.5), 0 0 40px -10px hsl(22 100% 50% / 0.3); }
/* Buttons */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 600;
border-radius: 0.5rem;
border: none;
cursor: pointer;
transition: all 0.2s ease;
}
.btn-primary {
background: hsl(22 100% 50%);
color: white;
}
.btn-primary:hover { background: hsl(22 100% 45%); }
/* Header */
.header {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 50;
background: hsl(265 60% 6% / 0.8);
backdrop-filter: blur(20px);
border-bottom: 1px solid hsl(265 30% 20% / 0.5);
transform: translateY(-100%);
opacity: 0;
transition: all 0.3s ease;
}
.header.visible { transform: translateY(0); opacity: 1; }
.header-inner {
display: flex;
align-items: center;
justify-content: space-between;
height: 56px;
}
@media (min-width: 1024px) { .header-inner { height: 64px; } }
.header-logo { height: 20px; width: auto; }
@media (min-width: 640px) { .header-logo { height: 24px; } }
.header-nav { display: none; gap: 0.25rem; }
@media (min-width: 1024px) { .header-nav { display: flex; } }
.header-nav a {
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 500;
color: hsl(217 19% 65%);
text-decoration: none;
border-radius: 0.5rem;
transition: all 0.2s ease;
}
.header-nav a:hover, .header-nav a.active { color: white; background: hsl(0 0% 100% / 0.05); }
/* Hero Section */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}
.hero-bg {
position: absolute;
inset: 0;
}
.hero-glow-1 {
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 800px; height: 800px;
border-radius: 50%;
opacity: 0.3;
filter: blur(60px);
background: radial-gradient(circle, hsl(22 100% 50% / 0.15) 0%, transparent 70%);
}
.hero-glow-2 {
position: absolute;
top: 25%; right: 25%;
width: 400px; height: 400px;
border-radius: 50%;
opacity: 0.2;
filter: blur(60px);
background: hsl(186 100% 50% / 0.1);
}
.hero-header {
position: absolute;
top: 0; left: 0; right: 0;
z-index: 20;
}
.hero-header-inner {
display: flex;
align-items: center;
justify-content: space-between;
height: 64px;
}
@media (min-width: 640px) { .hero-header-inner { height: 80px; } }
.hero-header-logo { height: 24px; width: auto; }
@media (min-width: 640px) { .hero-header-logo { height: 32px; } }
@media (min-width: 768px) { .hero-header-logo { height: 40px; } }
.hero-header-nav { display: none; gap: 0.25rem; }
@media (min-width: 768px) { .hero-header-nav { display: flex; } }
.hero-header-nav a {
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 500;
color: hsl(217 19% 65%);
text-decoration: none;
border-radius: 0.5rem;
transition: all 0.2s ease;
}
.hero-header-nav a:hover { color: white; background: hsl(0 0% 100% / 0.05); }
.hero-content {
position: relative;
z-index: 10;
width: 100%;
text-align: center;
padding: 4rem 1rem 0;
}
@media (min-width: 640px) { .hero-content { padding-top: 5rem; } }
@media (min-width: 768px) { .hero-content { padding-top: 6rem; } }
.hero-title {
font-weight: 900;
font-size: 3rem;
line-height: 0.95;
letter-spacing: -0.02em;
margin: 0;
}
@media (min-width: 640px) { .hero-title { font-size: 3.75rem; } }
@media (min-width: 768px) { .hero-title { font-size: 4.5rem; } }
@media (min-width: 1024px) { .hero-title { font-size: 6rem; } }
@media (min-width: 1280px) { .hero-title { font-size: 8rem; } }
.hero-title span { display: block; }
.hero-subtitle {
color: hsl(217 19% 65%);
font-size: 1rem;
margin-top: 1.5rem;
max-width: 42rem;
margin-left: auto;
margin-right: auto;
}
@media (min-width: 640px) { .hero-subtitle { font-size: 1.125rem; } }
@media (min-width: 768px) { .hero-subtitle { font-size: 1.25rem; margin-top: 2rem; } }
@media (min-width: 1024px) { .hero-subtitle { font-size: 1.5rem; } }
.hero-scroll {
margin-top: 2rem;
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
}
@media (min-width: 768px) { .hero-scroll { margin-top: 3rem; } }
.hero-scroll-text {
color: hsl(217 19% 65%);
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.1em;
}
@media (min-width: 640px) { .hero-scroll-text { font-size: 0.875rem; } }
.hero-scroll-indicator {
width: 24px;
height: 40px;
border-radius: 9999px;
border: 2px solid hsl(217 19% 65% / 0.3);
display: flex;
align-items: flex-start;
justify-content: center;
padding: 0.5rem;
}
.hero-scroll-dot {
width: 6px;
height: 8px;
background: hsl(22 100% 50%);
border-radius: 9999px;
animation: scrollBounce 1.5s ease-in-out infinite;
}
@keyframes scrollBounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(10px); }
}
.hero-fade {
position: absolute;
bottom: 0; left: 0; right: 0;
height: 128px;
background: linear-gradient(to top, hsl(265 60% 6%), transparent);
}
/* Hero Floating Icons - Proximity Reveal */
.hero-icon-cloud {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 1;
transition: transform 0.3s ease-out;
}
.floating-icon {
position: absolute;
opacity: 0;
transform: scale(0.8);
transition: opacity 0.15s ease-out, transform 0.2s ease-out;
}
.floating-icon.visible {
opacity: 0.25;
transform: scale(1);
}
/* Sections */
section {
padding: 4rem 0;
position: relative;
overflow: hidden;
}
@media (min-width: 768px) { section { padding: 6rem 0; } }
@media (min-width: 1024px) { section { padding: 8rem 0; } }
/* Executive Summary */
.exec-summary { max-width: 56rem; margin: 0 auto; }
.exec-summary h2 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 2rem;
line-height: 1.2;
}
@media (min-width: 640px) { .exec-summary h2 { font-size: 1.875rem; } }
@media (min-width: 768px) { .exec-summary h2 { font-size: 2.25rem; margin-bottom: 2.5rem; } }
@media (min-width: 1024px) { .exec-summary h2 { font-size: 3rem; } }
.exec-summary-text {
color: hsl(217 19% 65%);
font-size: 1rem;
line-height: 1.75;
}
@media (min-width: 768px) { .exec-summary-text { font-size: 1.25rem; } }
.exec-summary-text p { margin-bottom: 1rem; }
@media (min-width: 768px) { .exec-summary-text p { margin-bottom: 1.5rem; } }
.exec-summary-highlight {
color: white;
font-weight: 500;
font-size: 1.125rem;
margin-top: 1.5rem;
padding: 1rem;
border-left: 4px solid hsl(22 100% 50%);
}
@media (min-width: 768px) {
.exec-summary-highlight {
font-size: 1.5rem;
margin-top: 2rem;
padding: 1.5rem;
}
}
/* Lessons Section */
.lessons { max-width: 56rem; margin: 0 auto; }
.lessons h2 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 1rem;
line-height: 1.2;
}
@media (min-width: 640px) { .lessons h2 { font-size: 1.875rem; } }
@media (min-width: 768px) { .lessons h2 { font-size: 2.25rem; } }
@media (min-width: 1024px) { .lessons h2 { font-size: 3rem; } }
.lessons-intro {
color: hsl(217 19% 65%);
font-size: 1rem;
margin-bottom: 1.5rem;
}
@media (min-width: 768px) { .lessons-intro { font-size: 1.125rem; margin-bottom: 2rem; } }
.lessons-text {
color: hsl(217 19% 65%);
font-size: 0.875rem;
line-height: 1.75;
margin-bottom: 2.5rem;
}
@media (min-width: 768px) { .lessons-text { font-size: 1rem; margin-bottom: 4rem; } }
.lessons-text p { margin-bottom: 1rem; }
.lessons h3 {
font-size: 1.25rem;
font-weight: 700;
margin-bottom: 1.5rem;
}
@media (min-width: 640px) { .lessons h3 { font-size: 1.5rem; } }
@media (min-width: 768px) { .lessons h3 { font-size: 1.875rem; margin-bottom: 2rem; } }
/* Accordion */
.accordion { display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 768px) { .accordion { gap: 1rem; } }
.accordion-item { overflow: hidden; }
.accordion-trigger {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem;
text-align: left;
background: transparent;
border: none;
cursor: pointer;
transition: background 0.3s ease;
}
@media (min-width: 768px) { .accordion-trigger { padding: 1.5rem; } }
.accordion-trigger:hover { background: hsl(22 100% 50% / 0.05); }
.accordion-trigger.active { background: hsl(22 100% 50% / 0.1); }
.accordion-trigger-left {
display: flex;
align-items: center;
gap: 0.75rem;
}
@media (min-width: 768px) { .accordion-trigger-left { gap: 1rem; } }
.accordion-icon {
width: 40px; height: 40px;
border-radius: 0.75rem;
background: hsl(22 100% 50%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
@media (min-width: 768px) { .accordion-icon { width: 48px; height: 48px; } }
.accordion-icon svg {
width: 20px; height: 20px;
stroke: white;
stroke-width: 2;
fill: none;
}
@media (min-width: 768px) { .accordion-icon svg { width: 24px; height: 24px; } }
.accordion-number {
font-size: 0.875rem;
font-weight: 500;
color: hsl(217 19% 65%);
transition: color 0.3s ease;
}
@media (min-width: 768px) { .accordion-number { font-size: 1rem; } }
.accordion-trigger.active .accordion-number { color: hsl(22 100% 50%); }
.accordion-title {
font-size: 1rem;
font-weight: 600;
color: white;
transition: color 0.3s ease;
}
@media (min-width: 768px) { .accordion-title { font-size: 1.25rem; } }
.accordion-trigger:hover .accordion-title,
.accordion-trigger.active .accordion-title { color: hsl(22 100% 50%); }
.accordion-chevron {
width: 20px; height: 20px;
stroke: hsl(217 19% 65%);
stroke-width: 2;
fill: none;
flex-shrink: 0;
transition: transform 0.3s ease, stroke 0.3s ease;
}
.accordion-trigger.active .accordion-chevron {
transform: rotate(180deg);
stroke: hsl(22 100% 50%);
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.accordion-content.open { max-height: 100%; }
.accordion-content-inner {
padding: 0.5rem 1rem 1rem;
}
@media (min-width: 768px) { .accordion-content-inner { padding: 0.5rem 1.5rem 1.5rem; } }
.accordion-body {
color: hsl(217 19% 65%);
font-size: 0.875rem;
line-height: 1.75;
padding-left: 3.5rem;
margin-bottom: 0.75rem;
}
@media (min-width: 768px) {
.accordion-body {
font-size: 1rem;
padding-left: 5rem;
margin-bottom: 1rem;
}
}
.accordion-lesson {
color: white;
font-weight: 500;
font-size: 0.875rem;
padding-left: 3.5rem;
display: flex;
align-items: flex-start;
gap: 0.5rem;
}
@media (min-width: 768px) {
.accordion-lesson {
font-size: 1rem;
padding-left: 5rem;
}
}
.accordion-lesson-arrow {
color: hsl(22 100% 50%);
font-weight: 700;
}
.lessons-footer {
margin-top: 2rem;
color: hsl(217 19% 65%);
text-align: center;
font-style: italic;
font-size: 0.875rem;
max-width: 42rem;
margin-left: auto;
margin-right: auto;
}
@media (min-width: 768px) {
.lessons-footer {
margin-top: 3rem;
font-size: 1rem;
}
}
/* Explores Section */
.explores { max-width: 56rem; margin: 0 auto; text-align: center; }
.explores h2 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 1rem;
line-height: 1.2;
}
@media (min-width: 640px) { .explores h2 { font-size: 1.875rem; } }
@media (min-width: 768px) { .explores h2 { font-size: 2.25rem; margin-bottom: 1.5rem; } }
@media (min-width: 1024px) { .explores h2 { font-size: 3rem; } }
.explores-intro {
color: hsl(217 19% 65%);
font-size: 1rem;
margin-bottom: 1.5rem;
}
@media (min-width: 768px) { .explores-intro { font-size: 1.25rem; margin-bottom: 2rem; } }
.explores-subtitle {
color: white;
font-weight: 500;
font-size: 1rem;
}
@media (min-width: 768px) { .explores-subtitle { font-size: 1.25rem; } }
.explores-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0.75rem;
margin: 2.5rem 0;
}
@media (min-width: 1024px) { .explores-grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; } }
@media (min-width: 768px) { .explores-grid { margin: 3rem 0; } }
.explores-card {
padding: 1.25rem;
transition: border-color 0.3s ease;
}
@media (min-width: 768px) { .explores-card { padding: 1.5rem; } }
.explores-card:hover { border-color: hsl(22 100% 50% / 0.5); }
.explores-card-icon {
width: 40px; height: 40px;
border-radius: 0.75rem;
background: hsl(22 100% 50% / 0.1);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 0.75rem;
transition: background 0.3s ease;
}
@media (min-width: 768px) {
.explores-card-icon {
width: 48px; height: 48px;
margin-bottom: 1rem;
}
}
.explores-card:hover .explores-card-icon { background: hsl(22 100% 50% / 0.2); }
.explores-card-icon svg {
width: 20px; height: 20px;
stroke: hsl(22 100% 50%);
stroke-width: 2;
fill: none;
}
@media (min-width: 768px) { .explores-card-icon svg { width: 24px; height: 24px; } }
.explores-card h3 {
font-size: 0.875rem;
font-weight: 600;
text-align: left;
}
@media (min-width: 768px) { .explores-card h3 { font-size: 1.125rem; } }
.explores-footer {
color: hsl(217 19% 65%);
font-size: 0.875rem;
}
@media (min-width: 768px) { .explores-footer { font-size: 1.125rem; } }
/* Trend Sections */
.trend { padding: 4rem 0; }
@media (min-width: 768px) { .trend { padding: 6rem 0; } }
@media (min-width: 1024px) { .trend { padding: 8rem 0; } }
.trend-head {
display: grid;
gap: 2rem;
align-items: center;
margin-bottom: 3rem;
}
@media (min-width: 768px) { .trend-head { gap: 3rem; margin-bottom: 4rem; } }
@media (min-width: 1024px) {
.trend-head {
grid-template-columns: 1fr 0.8fr;
gap: 4rem;
}
}
.trend-head.reversed { }
@media (min-width: 1024px) {
.trend-head.reversed {
grid-template-columns: 0.8fr 1fr;
}
}
.trend-text { order: 2; }
@media (min-width: 1024px) { .trend-text { order: 1; } }
.trend-head.reversed .trend-text { order: 2; }
.trend-number {
display: inline-block;
color: hsl(22 100% 50%);
font-size: 0.875rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.2em;
margin-bottom: 1rem;
}
.trend h2 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 1rem;
line-height: 1.2;
}
@media (min-width: 640px) { .trend h2 { font-size: 1.875rem; } }
@media (min-width: 768px) { .trend h2 { font-size: 2.25rem; } }
@media (min-width: 1024px) { .trend h2 { font-size: 3rem; } }
.trend-subhead {
color: hsl(217 19% 65%);
font-size: 1rem;
font-weight: 500;
margin-bottom: 1rem;
}
@media (min-width: 768px) { .trend-subhead { font-size: 1.125rem; margin-bottom: 1.5rem; } }
.trend-body {
color: hsl(217 19% 65%);
font-size: 0.875rem;
line-height: 1.75;
}
@media (min-width: 768px) { .trend-body { font-size: 1rem; } }
.trend-body p { margin-bottom: 0.75rem; }
.trend-body-extra {
color: white;
font-weight: 500;
}
.trend-image { order: 1; max-width: 400px; margin: 0 auto; }
@media (min-width: 1024px) {
.trend-image {
order: 2;
max-width: 360px;
}
}
@media (min-width: 1280px) { .trend-image { max-width: 400px; } }
.trend-head.reversed .trend-image { order: 1; }
.trend-image-wrapper {
position: relative;
border-radius: 1.5rem;
overflow: hidden;
border: 1px solid hsl(186 100% 50% / 0.1);
box-shadow: 0 4px 20px -5px hsl(186 100% 50% / 0.2);
}
.trend-image-wrapper img {
width: 100%;
height: auto;
display: block;
border-radius: 1.5rem;
}
.trend-image-glow {
position: absolute;
inset: -1rem;
background: hsl(186 100% 50% / 0.05);
border-radius: 1.5rem;
filter: blur(60px);
z-index: -1;
}
/* Trend Details Matrix */
.trend-details { margin-top: 2rem; }
.trend-details-header {
color: hsl(22 100% 50%);
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.2em;
margin-bottom: 1rem;
}
.trend-row {
display: grid;
grid-template-columns: auto 1fr;
gap: 1rem;
margin-bottom: 1.5rem;
}
@media (min-width: 768px) { .trend-row { gap: 1.5rem; } }
.trend-row-label {
display: flex;
align-items: center;
justify-content: center;
}
.trend-row-label span {
font-size: 10px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.15em;
color: hsl(217 19% 65% / 0.6);
writing-mode: vertical-lr;
transform: rotate(180deg);
white-space: nowrap;
}
@media (min-width: 768px) { .trend-row-label span { font-size: 12px; } }
.trend-row-label.impact span { color: hsl(22 100% 50% / 0.7); }
.trend-cards {
display: grid;
gap: 1rem;
}
@media (min-width: 640px) { .trend-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .trend-cards { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
.trend-card {
backdrop-filter: blur(10px);
background: hsl(0 0% 100% / 0.03);
border: 1px solid hsl(0 0% 100% / 0.1);
border-radius: 0.75rem;
padding: 1rem;
}
@media (min-width: 768px) { .trend-card { padding: 1.25rem; } }
.trend-card-header {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 0.75rem;
}
.trend-card-icon {
width: 36px; height: 36px;
border-radius: 0.5rem;
background: hsl(22 100% 50% / 0.1);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.trend-card-icon svg {
width: 16px; height: 16px;
stroke: hsl(22 100% 50%);
stroke-width: 2;
fill: none;
}
.trend-card h4 {
font-size: 0.875rem;
font-weight: 600;
line-height: 1.3;
margin: 0;
}
@media (min-width: 768px) { .trend-card h4 { font-size: 1rem; } }
.trend-card p {
color: hsl(217 19% 65%);
font-size: 0.875rem;
line-height: 1.6;
margin: 0;
}
.trend-impact-card {
background: hsl(0 0% 100% / 0.05);
border-left: 4px solid hsl(22 100% 50%);
border-radius: 0 0.5rem 0.5rem 0;
padding: 1rem;
}
@media (min-width: 768px) { .trend-impact-card { padding: 1.25rem; } }
.trend-impact-card p {
color: white;
font-size: 0.875rem;
line-height: 1.6;
margin: 0;
}
.trend-impact-card strong {
font-weight: 700;
color: white;
}
/* Workshop Section */
.workshop { padding: 4rem 0; }
@media (min-width: 768px) { .workshop { padding: 6rem 0; } }
@media (min-width: 1024px) { .workshop { padding: 8rem 0; } }
.workshop-card {
max-width: 80rem;
margin: 0 auto;
padding: 1.5rem;
position: relative;
overflow: hidden;
}
@media (min-width: 640px) { .workshop-card { padding: 2rem; } }
@media (min-width: 768px) { .workshop-card { padding: 3rem; } }
@media (min-width: 1024px) { .workshop-card { padding: 4rem; } }
.workshop-pattern {
position: absolute;
inset: 0;
opacity: 0.05;
background-image: radial-gradient(circle at 2px 2px, currentColor 1px, transparent 0);
background-size: 30px 30px;
}
.workshop-content { position: relative; z-index: 10; }
.workshop-header { text-align: center; margin-bottom: 2rem; }
@media (min-width: 768px) { .workshop-header { margin-bottom: 2.5rem; } }
.workshop-header h2 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 0.75rem;
}
@media (min-width: 640px) { .workshop-header h2 { font-size: 1.875rem; } }
@media (min-width: 768px) { .workshop-header h2 { font-size: 2.25rem; margin-bottom: 1rem; } }
@media (min-width: 1024px) { .workshop-header h2 { font-size: 3rem; } }
.workshop-header p {
color: hsl(0 0% 100% / 0.9);
font-size: 0.875rem;
max-width: 42rem;
margin: 0 auto;
}
@media (min-width: 768px) { .workshop-header p { font-size: 1.125rem; } }
.workshop-grid {
display: grid;
gap: 2rem;
align-items: flex-start;
}
@media (min-width: 1024px) { .workshop-grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.workshop-left {}
.workshop-description {
color: hsl(217 19% 65%);
font-size: 0.875rem;
line-height: 1.75;
margin-bottom: 1.5rem;
}
@media (min-width: 768px) { .workshop-description { font-size: 1rem; } }
.workshop-checklist {
display: grid;
gap: 0.75rem;
}
@media (min-width: 640px) { .workshop-checklist { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .workshop-checklist { gap: 1rem; } }
.workshop-check-item {
display: flex;
align-items: flex-start;
gap: 0.5rem;
padding: 0.75rem;
border-radius: 0.75rem;
background: hsl(265 60% 6% / 0.3);
border: 1px solid hsl(265 30% 20% / 0.3);
}
@media (min-width: 768px) {
.workshop-check-item {
gap: 0.75rem;
padding: 1rem;
}
}
.workshop-check-item svg {
width: 16px; height: 16px;
stroke: hsl(22 100% 50%);
stroke-width: 2;
fill: none;
flex-shrink: 0;
margin-top: 2px;
}
@media (min-width: 768px) { .workshop-check-item svg { width: 20px; height: 20px; } }
.workshop-check-item span {
color: hsl(217 19% 65%);
font-size: 0.75rem;
}
@media (min-width: 768px) { .workshop-check-item span { font-size: 0.875rem; } }
.workshop-form-card {
padding: 1.25rem;
}
@media (min-width: 768px) { .workshop-form-card { padding: 2rem; } }
.workshop-form-card h3 {
font-size: 1.125rem;
font-weight: 600;
margin-bottom: 0.5rem;
}
@media (min-width: 768px) { .workshop-form-card h3 { font-size: 1.5rem; } }
.workshop-form-card > p {
color: hsl(217 19% 65%);
font-size: 0.75rem;
margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
.workshop-form-card > p {
font-size: 0.875rem;
margin-bottom: 2rem;
}
}
.workshop-form { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 768px) { .workshop-form { gap: 1.5rem; } }
.workshop-form label {
display: block;
font-size: 0.75rem;
font-weight: 500;
margin-bottom: 0.5rem;
}
@media (min-width: 768px) { .workshop-form label { font-size: 0.875rem; } }
.workshop-input-wrapper {
position: relative;
}
.workshop-input-wrapper svg {
position: absolute;
left: 0.75rem;
top: 50%;
transform: translateY(-50%);
width: 16px; height: 16px;
stroke: hsl(217 19% 65%);
stroke-width: 2;
fill: none;
}
@media (min-width: 768px) {
.workshop-input-wrapper svg {
left: 1rem;
width: 20px; height: 20px;
}
}
.workshop-form input[type="email"] {
width: 100%;
padding: 0.75rem 1rem 0.75rem 2.5rem;
background: hsl(265 60% 6% / 0.5);
border: 1px solid hsl(0 0% 100% / 0.1);
border-radius: 0.75rem;
color: white;
font-size: 0.875rem;
outline: none;
transition: all 0.2s ease;
}
@media (min-width: 768px) {
.workshop-form input[type="email"] {
padding: 1rem 1rem 1rem 3rem;
font-size: 1rem;
}
}
.workshop-form input[type="email"]::placeholder { color: hsl(217 19% 65%); }
.workshop-form input[type="email"]:focus {
border-color: hsl(22 100% 50%);
box-shadow: 0 0 0 2px hsl(22 100% 50% / 0.2);
}
.workshop-form button {
width: 100%;
padding: 1.25rem;
font-size: 0.875rem;
}
@media (min-width: 768px) {
.workshop-form button {
padding: 1.5rem;
font-size: 1rem;
}
}
.workshop-form-footer {
color: hsl(217 19% 65%);
font-size: 10px;
text-align: center;
}
@media (min-width: 768px) { .workshop-form-footer { font-size: 12px; } }
/* Success Stories */
.success-stories {
padding: 5rem 0;
position: relative;
overflow: hidden;
}
@media (min-width: 768px) { .success-stories { padding: 8rem 0; } }
.success-stories-glow {
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 600px; height: 400px;
background: hsl(22 100% 50% / 0.05);
border-radius: 50%;
filter: blur(120px);
pointer-events: none;
}
.success-stories-inner {
position: relative;
z-index: 10;
max-width: 80rem;
margin: 0 auto;
padding: 0 1.5rem;
}
@media (min-width: 768px) { .success-stories-inner { padding: 0 3rem; } }
.success-stories-grid {
display: grid;
grid-template-columns: 1fr;
gap: 3rem;
align-items: center;
}
@media (min-width: 1024px) { .success-stories-grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.success-stories h2 {
font-size: 1.875rem;
font-weight: 700;
line-height: 1.2;
margin-bottom: 2rem;
}
@media (min-width: 768px) { .success-stories h2 { font-size: 2.25rem; } }
@media (min-width: 1024px) { .success-stories h2 { font-size: 3rem; } }
.ss-verticals { display: flex; flex-direction: column; gap: 0.25rem; }
.ss-verticals button {
display: block;
width: 100%;
text-align: left;
font-size: 1.125rem;
font-weight: 500;
padding: 0.75rem 1.5rem;
border: none;
border-left: 2px solid hsl(265 30% 20%);
background: transparent;
color: hsl(217 19% 65%);
cursor: pointer;
transition: all 0.3s ease;
}
.ss-verticals button:hover { color: hsl(0 0% 100% / 0.7); border-left-color: hsl(217 19% 65%); }
.ss-verticals button.active {
color: white;
border-left-color: hsl(22 100% 50%);
background: hsl(0 0% 100% / 0.05);
}
.ss-pills { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.ss-pills button {
padding: 0.5rem 1rem;
border-radius: 9999px;
font-size: 0.875rem;
font-weight: 500;
border: none;
cursor: pointer;
transition: all 0.3s ease;
background: hsl(0 0% 100% / 0.1);
color: hsl(217 19% 65%);
}
.ss-pills button:hover { background: hsl(0 0% 100% / 0.2); color: white; }
.ss-pills button.active { background: hsl(22 100% 50%); color: white; }
.ss-card-container { position: relative; aspect-ratio: 3/2; }
.ss-card {
border-radius: 1rem;
overflow: hidden;
aspect-ratio: 3/2;
opacity: 0;
transform: translateY(20px);
transition: opacity 0.4s ease, transform 0.4s ease;
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
pointer-events: none;
}
.ss-card.active {
opacity: 1;
transform: translateY(0);
position: relative;
pointer-events: auto;
}
.ss-card img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.ss-card:hover img { transform: scale(1.05); }
@media (max-width: 767px) {
.ss-verticals { display: none; }
.ss-pills-mobile { display: flex; }
}
@media (min-width: 768px) {
.ss-pills-mobile { display: none; }
}
/* Footer */
footer {
padding: 1.5rem 0;
border-top: 1px solid hsl(0 0% 100% / 0.1);
}
@media (min-width: 768px) { footer { padding: 2rem 0; } }
.footer-inner {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
}
@media (min-width: 768px) {
.footer-inner {
flex-direction: row;
justify-content: space-between;
gap: 1.5rem;
}
}
.footer-logo {
height: 24px;
width: auto;
opacity: 0.8;
transition: opacity 0.2s ease;
}
@media (min-width: 768px) { .footer-logo { height: 28px; } }
.footer-logo:hover { opacity: 1; }
.footer-nav {
display: flex;
align-items: center;
gap: 1rem;
}
@media (min-width: 768px) { .footer-nav { gap: 2rem; } }
.footer-nav a {
color: hsl(217 19% 65%);
font-size: 0.75rem;
text-decoration: none;
transition: color 0.2s ease;
}
@media (min-width: 768px) { .footer-nav a { font-size: 0.875rem; } }
.footer-nav a:hover { color: white; }
.footer-copy {
color: hsl(217 19% 65%);
font-size: 0.75rem;
text-align: center;
}
@media (min-width: 768px) { .footer-copy { font-size: 0.875rem; } }
/* Trend Nav */
.trend-nav {
position: fixed;
bottom: 1rem;
left: 0; right: 0;
z-index: 50;
display: flex;
justify-content: center;
pointer-events: none;
padding: 0 1rem;
opacity: 0;
transform: translateY(100px);
transition: all 0.3s ease;
}
@media (min-width: 768px) { .trend-nav { bottom: 2rem; } }
.trend-nav.visible {
opacity: 1;
transform: translateY(0);
}
.trend-nav-inner {
display: flex;
align-items: center;
gap: 0.25rem;
padding: 0.5rem;
border-radius: 9999px;
backdrop-filter: blur(20px);
background: hsl(265 60% 6% / 0.8);
border: 1px solid hsl(265 30% 20% / 0.5);
box-shadow: 0 10px 40px -10px rgba(0,0,0,0.5);
pointer-events: auto;
}
@media (min-width: 640px) { .trend-nav-inner { gap: 0.5rem; padding: 0.75rem 1rem; } }
.trend-nav button {
padding: 0.375rem 0.5rem;
font-size: 10px;
font-weight: 600;
border: none;
border-radius: 9999px;
background: hsl(265 30% 18% / 0.5);
color: hsl(217 19% 65%);
cursor: pointer;
transition: all 0.3s ease;
white-space: nowrap;
}
@media (min-width: 640px) {
.trend-nav button {
padding: 0.5rem 1rem;
font-size: 12px;
}
}
.trend-nav button:hover {
background: hsl(265 30% 18%);
color: white;
}
.trend-nav button.active {
background: hsl(22 100% 50%);
color: white;
box-shadow: 0 0 15px hsl(22 100% 50% / 0.4);
}
/* Animation Fade In */
.fade-in {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
.fade-in-d1 { transition-delay: 0.1s; }
.fade-in-d2 { transition-delay: 0.2s; }
.fade-in-d3 { transition-delay: 0.3s; }
.fade-in-d4 { transition-delay: 0.4s; }
.fade-in-d5 { transition-delay: 0.5s; }
/* Hero Masked Text Reveal */
.hero-title span { display: block; overflow: hidden; }
.hero-title .reveal-text {
display: block;
animation: maskReveal 1.2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.hero-title .reveal-text.d1 { animation-delay: 0.2s; }
.hero-title .reveal-text.d2 { animation-delay: 0.3s; }
.hero-title .reveal-text.d3 { animation-delay: 0.4s; }
@keyframes maskReveal {
from { transform: translateY(100%); }
to { transform: translateY(0); }
}
.hero-subtitle, .hero-scroll { opacity: 0; animation: fadeUp 0.8s ease forwards; }
.hero-subtitle { animation-delay: 0.8s; }
.hero-scroll { animation-delay: 1.2s; }
@keyframes fadeUp {
from { opacity: 0; transform: translateY(30px); }
to { opacity: 1; transform: translateY(0); }
}
.hero-header { opacity: 0; animation: fadeDown 0.8s ease 0.2s forwards; }
@keyframes fadeDown {
from { opacity: 0; transform: translateY(-20px); }
to { opacity: 1; transform: translateY(0); }
}
/* Hero scroll scale effect */
.hero.scroll-active .hero-content {
transform: scale(var(--hero-scale, 1));
opacity: var(--hero-opacity, 1);
}
/* SVG Icons inline */
.icon { display: inline-block; vertical-align: middle; }
</style>
<body>
<!-- Noise Overlay -->
<div class="noise-overlay" aria-hidden="true"></div>
<!-- Sticky Header (appears on scroll) -->
<header class="header" id="stickyHeader">
<div class="container">
<div class="header-inner">
<a href="https://netcorecloud.com/" target="_blank">
<img src="/wp-content/uploads/2026/02/netcore-logo-dark.webp" alt="Netcore" class="header-logo">
</a>
<nav class="header-nav">
<a href="#executive-summary">Executive Summary</a>
<a href="#lessons-2025">Lessons from 2025</a>
<a href="#trend-1">Trends 2026</a>
</nav>
<button class="btn btn-primary" onclick="document.getElementById('workshop').scrollIntoView({behavior:'smooth'})">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
<span>Book a Workshop</span>
</button>
</div>
</div>
</header>
<!-- Hero Section -->
<section class="hero" id="heroSection">
<div class="hero-bg">
<div class="hero-glow-1"></div>
<div class="hero-glow-2"></div>
</div>
<!-- Floating Icon Cloud - Revealed on hover -->
<div class="hero-icon-cloud" id="heroIconCloud">
<!-- Top row icons -->
<div class="floating-icon" style="left: calc(50% - 280px); top: calc(50% - 160px);">
<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.5"><circle cx="12" cy="12" r="10"></circle><path d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"></path><line x1="12" y1="18" x2="12" y2="6"></line></svg>
</div>
<div class="floating-icon" style="left: calc(50% - 100px); top: calc(50% - 170px);">
<svg width="52" height="52" viewBox="0 0 24 24" fill="none" stroke="hsl(22 100% 50%)" stroke-width="1.5"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
</div>
<div class="floating-icon" style="left: calc(50% + 90px); top: calc(50% - 165px);">
<svg width="44" height="44" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.5"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg>
</div>
<div class="floating-icon" style="left: calc(50% + 250px); top: calc(50% - 155px);">
<svg width="50" height="50" viewBox="0 0 24 24" fill="none" stroke="hsl(22 100% 50%)" stroke-width="1.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><polyline points="9 12 11 14 15 10"></polyline></svg>
</div>
<!-- Left side icons -->
<div class="floating-icon" style="left: calc(50% - 330px); top: calc(50% - 50px);">
<svg width="46" height="46" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.5"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
</div>
<div class="floating-icon" style="left: calc(50% - 310px); top: calc(50% + 70px);">
<svg width="50" height="50" viewBox="0 0 24 24" fill="none" stroke="hsl(22 100% 50%)" stroke-width="1.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
</div>
<!-- Right side icons -->
<div class="floating-icon" style="left: calc(50% + 300px); top: calc(50% - 35px);">
<svg width="52" height="52" viewBox="0 0 24 24" fill="none" stroke="hsl(22 100% 50%)" stroke-width="1.5"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
</div>
<div class="floating-icon" style="left: calc(50% + 320px); top: calc(50% + 85px);">
<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.5"><path d="M21.21 15.89A10 10 0 1 1 8 2.83"></path><path d="M22 12A10 10 0 0 0 12 2v10z"></path></svg>
</div>
<!-- Bottom row icons -->
<div class="floating-icon" style="left: calc(50% - 250px); top: calc(50% + 155px);">
<svg width="46" height="46" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.5"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"></rect><line x1="1" y1="10" x2="23" y2="10"></line></svg>
</div>
<div class="floating-icon" style="left: calc(50% - 70px); top: calc(50% + 170px);">
<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="hsl(22 100% 50%)" stroke-width="1.5"><line x1="19" y1="5" x2="5" y2="19"></line><circle cx="6.5" cy="6.5" r="2.5"></circle><circle cx="17.5" cy="17.5" r="2.5"></circle></svg>
</div>
<div class="floating-icon" style="left: calc(50% + 120px); top: calc(50% + 165px);">
<svg width="44" height="44" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="1.5"><circle cx="12" cy="12" r="10"></circle><path d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8"></path><line x1="12" y1="18" x2="12" y2="6"></line></svg>
</div>
<div class="floating-icon" style="left: calc(50% + 270px); top: calc(50% + 150px);">
<svg width="50" height="50" viewBox="0 0 24 24" fill="none" stroke="hsl(22 100% 50%)" stroke-width="1.5"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
</div>
</div>
<div class="hero-header">
<div class="container">
<div class="hero-header-inner">
<img src="/wp-content/uploads/2026/02/netcore-logo-dark.webp" alt="Netcore" class="hero-header-logo">
<nav class="hero-header-nav">
<a href="#executive-summary">Executive Summary</a>
<a href="#lessons-2025">Lessons from 2025</a>
<a href="#trend-1">Trends 2026</a>
</nav>
<button class="btn btn-primary" onclick="document.getElementById('workshop').scrollIntoView({behavior:'smooth'})">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
<span class="hidden-mobile">Book a Workshop</span>
</button>
</div>
</div>
</div>
<div class="hero-content" id="heroContent">
<h1 class="hero-title">
<span><span class="reveal-text d1">FINANCIAL</span></span>
<span><span class="reveal-text d2">SERVICES</span></span>
<span><span class="reveal-text d3 gradient-text-orange">TRENDS 2026</span></span>
</h1>
<p class="hero-subtitle">The Patterns Shaped by What Worked - and What Didn't</p>
<div class="hero-scroll">
<span class="hero-scroll-text">Scroll to Explore</span>
<div class="hero-scroll-indicator">
<div class="hero-scroll-dot"></div>
</div>
</div>
</div>
<div class="hero-fade"></div>
</section>
<!-- Executive Summary Section -->
<section id="executive-summary">
<div class="container">
<div class="exec-summary fade-in">
<h2>Executive Summary</h2>
<div class="exec-summary-text">
<p>2025 was the year artificial intelligence scaled across banking and financial services, but meaningful growth did not.</p>
<p>AI pilots, personalization tools, and digital channels multiplied, yet fragmented execution, static journeys, and eroding trust diluted real impact.</p>
<p>As we enter 2026, the industry stands at an inflection point.</p>
</div>
<div class="exec-summary-highlight glass-card">
The advantage will go to organizations ready to operationalize Agentic AI into real-time customer engagement.
</div>
</div>
</div>
</section>
<!-- Lessons 2025 Section -->
<section id="lessons-2025">
<div class="container">
<div class="lessons fade-in">
<h2>What 2025 Taught BFSI Leaders</h2>
<p class="lessons-intro">The assumptions that quietly broke - and forced a reset.</p>
<div class="lessons-text">
<p>2025 was not a failure year for financial services, but it was a revealing one.</p>
<p>Across banks, fintechs, and insurers, leaders learned that doing more did not guarantee better outcomes.</p>
<p>What broke were not strategies or ambitions, but assumptions about how engagement, growth, and trust actually scale.</p>
</div>
<h3>Five Hard Lessons from 2025</h3>
<div class="accordion">
<div class="accordion-item glass-card">
<button class="accordion-trigger" data-index="0">
<span class="accordion-trigger-left">
<span class="accordion-icon">
<!-- Brain icon -->
<svg viewBox="0 0 24 24"><path d="M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2Z"></path><path d="M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2Z"></path></svg>
</span>
<span class="accordion-number">01</span>
<span class="accordion-title">AI Adoption ≠ Execution</span>
</span>
<svg class="accordion-chevron" viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>
</button>
<div class="accordion-content">
<div class="accordion-content-inner">
<p class="accordion-body">AI pilots expanded rapidly, but most remained advisory. Insights improved but decisions stayed manual. Only 1/5th of pilots moved beyond advisory into production.</p>
<p class="accordion-lesson"><span class="accordion-lesson-arrow">→</span> Lesson: AI creates value only when it is allowed to act.</p>
</div>
</div>
</div>
<div class="accordion-item glass-card">
<button class="accordion-trigger" data-index="1">
<span class="accordion-trigger-left">
<span class="accordion-icon">
<!-- Layers icon -->
<svg viewBox="0 0 24 24"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
</span>
<span class="accordion-number">02</span>
<span class="accordion-title">Digital Innovation ≠ Better CX</span>
</span>
<svg class="accordion-chevron" viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>
</button>
<div class="accordion-content">
<div class="accordion-content-inner">
<p class="accordion-body">New tools, features, and channels multiplied. Customer effort and frustration often did too. 64% of customers reported that digital self-service tools failed to solve their problems, leading to higher friction than the manual processes they replaced.</p>
<p class="accordion-lesson"><span class="accordion-lesson-arrow">→</span> Lesson: Experience quality depends on coherence, not capability.</p>
</div>
</div>
</div>
<div class="accordion-item glass-card">
<button class="accordion-trigger" data-index="2">
<span class="accordion-trigger-left">
<span class="accordion-icon">
<!-- Target icon -->
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>
</span>
<span class="accordion-number">03</span>
<span class="accordion-title">Personalization ≠ Relevance</span>
</span>
<svg class="accordion-chevron" viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>
</button>
<div class="accordion-content">
<div class="accordion-content-inner">
<p class="accordion-body">Targeting became more sophisticated, but engagement plateaued. Customers responded to timing + context, not message volume. A mere 5% of banks scaled AI for true hyper-personalization, leaving the rest to flood customers with irrelevant, segment-based "offers."</p>
<p class="accordion-lesson"><span class="accordion-lesson-arrow">→</span> Lesson: Relevance is driven by intent, not segmentation.</p>
</div>
</div>
</div>
<div class="accordion-item glass-card">
<button class="accordion-trigger" data-index="3">
<span class="accordion-trigger-left">
<span class="accordion-icon">
<!-- Route icon -->
<svg viewBox="0 0 24 24"><circle cx="6" cy="19" r="3"></circle><path d="M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"></path><circle cx="18" cy="5" r="3"></circle></svg>
</span>
<span class="accordion-number">04</span>
<span class="accordion-title">Omnichannel ≠ Continuity</span>
</span>
<svg class="accordion-chevron" viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>
</button>
<div class="accordion-content">
<div class="accordion-content-inner">
<p class="accordion-body">Customers moved seamlessly across touchpoints. Their context didn't. 56% of customers still have to repeat their context when switching touchpoints.</p>
<p class="accordion-lesson"><span class="accordion-lesson-arrow">→</span> Lesson: Channels don't create experiences - journeys do.</p>
</div>
</div>
</div>
<div class="accordion-item glass-card">
<button class="accordion-trigger" data-index="4">
<span class="accordion-trigger-left">
<span class="accordion-icon">
<!-- TrendingUp icon -->
<svg viewBox="0 0 24 24"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg>
</span>
<span class="accordion-number">05</span>
<span class="accordion-title">Growth ≠ Acquisition</span>
</span>
<svg class="accordion-chevron" viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>
</button>
<div class="accordion-content">
<div class="accordion-content-inner">
<p class="accordion-body">Acquisition costs rose while onboarding drop-offs persisted. Value was lost before relationships truly began. With 20% abandonment during onboarding, firms lost their $128+ acquisition spend before day one.</p>
<p class="accordion-lesson"><span class="accordion-lesson-arrow">→</span> Lesson: Activation, not acquisition, determines growth.</p>
</div>
</div>
</div>
</div>
<p class="lessons-footer">Together, these lessons revealed a deeper truth: financial services engagement models were built for a slower, simpler world.</p>
</div>
</div>
</section>
<!-- Explores Section -->
<section>
<div class="container">
<div class="explores fade-in">
<h2>How Financial Services Leaders Are Responding</h2>
<p class="explores-intro">The patterns below reflect how financial services engagement, trust, and growth are being redesigned for 2026. These shifts are already visible across banks, fintechs, and insurers.</p>
<p class="explores-subtitle">Together, these patterns redefine how financial institutions will:</p>
</div>
<div class="explores-grid">
<div class="explores-card glass-card fade-in fade-in-d1">
<div class="explores-card-icon">
<!-- Brain icon -->
<svg viewBox="0 0 24 24"><path d="M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2Z"></path><path d="M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2Z"></path></svg>
</div>
<h3>Engage customers more intelligently</h3>
</div>
<div class="explores-card glass-card fade-in fade-in-d2">
<div class="explores-card-icon">
<!-- Target icon -->
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>
</div>
<h3>Scale relevance without adding noise</h3>
</div>
<div class="explores-card glass-card fade-in fade-in-d3">
<div class="explores-card-icon">
<!-- Shield icon -->
<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
</div>
<h3>Build trust through experience</h3>
</div>
<div class="explores-card glass-card fade-in fade-in-d4">
<div class="explores-card-icon">
<!-- Rocket icon -->
<svg viewBox="0 0 24 24"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg>
</div>
<h3>Unlock growth beyond acquisition</h3>
</div>
</div>
<p class="explores-footer" style="text-align: center;">The sections that follow explore each pattern - and why they now matter more than ever.</p>
</div>
</section>
<!-- Trend 1 -->
<section id="trend-1" class="trend">
<div class="container">
<div class="trend-head fade-in">
<div class="trend-text">
<span class="trend-number">Trend 01</span>
<h2>Marketing Gets Its First <span class="gradient-text-cyan">Autonomous Brain</span></h2>
<p class="trend-subhead">Why AI finally moves from pilots to execution</p>
<div class="trend-body">
<p>In 2026, marketing shifts from AI-assisted execution to AI-led decisioning. After years of pilots, dashboards, and copilots, BFSI organizations recognize that insight alone does not create impact. Growth comes when AI systems are trusted to decide and act in real time.</p>
<p class="trend-body-extra">AI agents move beyond recommendations to owning execution within defined trust, risk, and compliance guardrails.</p>
</div>
</div>
<div class="trend-image">
<div class="trend-image-wrapper">
<img src="/wp-content/uploads/2026/02/trend-1-brain-new.webp" alt="AI Brain visualization">
<div class="trend-image-glow"></div>
</div>
</div>
</div>
<div class="trend-details fade-in">
<h4 class="trend-details-header">What Changes in 2026</h4>
<div class="trend-row">
<div class="trend-row-label"><span>The Shift</span></div>
<div class="trend-cards">
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
</div>
<h4>Decisions Move at Machine Speed</h4>
</div>
<p>Agentic systems decide and execute next-best actions in real time, matching the pace of customer intent.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg>
</div>
<h4>Personalization Finally Scales</h4>
</div>
<p>Autonomous decisioning removes manual execution as the bottleneck, enabling relevance at scale without increasing teams or complexity.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><polyline points="9 12 11 14 15 10"></polyline></svg>
</div>
<h4>Control Is Built In, Not Bolted On</h4>
</div>
<p>AI agents operate within predefined guardrails for risk, compliance, and trust - escalating only when thresholds are breached.</p>
</div>
</div>
</div>
<div class="trend-row">
<div class="trend-row-label impact"><span>The Impact</span></div>
<div class="trend-cards">
<div class="trend-impact-card">
<p>30–50% faster response to customer actions<strong>, lifting engagement and conversion at critical moments.</strong></p>
</div>
<div class="trend-impact-card">
<p>Organizations embedding AI into decision workflows are up to 2x more likely to see revenue impact from personalization<strong>.</strong></p>
</div>
<div class="trend-impact-card">
<p>Built-in governance allows organizations to scale AI faster without increasing operational or regulatory risk<strong>.</strong></p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Trend 2 -->
<section id="trend-2" class="trend">
<div class="container">
<div class="trend-head reversed fade-in">
<div class="trend-text">
<span class="trend-number">Trend 02</span>
<h2>Intent-Led Experiences Replace <span class="gradient-text-cyan">Digital Noise</span></h2>
<p class="trend-subhead">Why relevance in 2026 is defined by timing, not targeting</p>
<div class="trend-body">
<p>In 2026, BFSI customer experiences move beyond personalization toward intent-led engagement. After years of adding more features, messages, and targeting logic, leaders recognize that customer experience improves when interactions align with what customers are trying to do in that moment.</p>
<p class="trend-body-extra">Intent-led experiences reduce friction by engaging customers only when there is a clear signal, need, or opportunity and staying silent when there isn't.</p>
</div>
</div>
<div class="trend-image">
<div class="trend-image-wrapper">
<img src="/wp-content/uploads/2026/02/trend-2-intent-new.webp" alt="Intent-led experience">
<div class="trend-image-glow"></div>
</div>
</div>
</div>
<div class="trend-details fade-in">
<h4 class="trend-details-header">What Changes in 2026</h4>
<div class="trend-row">
<div class="trend-row-label"><span>The Shift</span></div>
<div class="trend-cards">
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
</div>
<h4>Timing Becomes the New Differentiator</h4>
</div>
<p>Engagement is triggered by live behavioral signals, not schedules or static segments.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg>
</div>
<h4>Less Messaging, More Meaning</h4>
</div>
<p>Intent-led systems prioritize relevance over volume, reducing customer fatigue.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path><line x1="1" y1="1" x2="23" y2="23"></line></svg>
</div>
<h4>Silence Becomes Strategic</h4>
</div>
<p>Resisting irrelevant engagement preserves attention and trust.</p>
</div>
</div>
</div>
<div class="trend-row">
<div class="trend-row-label impact"><span>The Impact</span></div>
<div class="trend-cards">
<div class="trend-impact-card">
<p>Aligning engagement to real-time intent yields <strong>2X higher engagement.</strong></p>
</div>
<div class="trend-impact-card">
<p><strong>86% of financial services customers</strong> value a better experience over more messaging.</p>
</div>
<div class="trend-impact-card">
<p>Experience quality improves when brands <strong>respect attention, not compete for it.</strong></p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Trend 3 -->
<section id="trend-3" class="trend">
<div class="container">
<div class="trend-head fade-in">
<div class="trend-text">
<span class="trend-number">Trend 03</span>
<h2>Journey Orchestration Becomes the <span class="gradient-text-cyan">New Battleground</span></h2>
<p class="trend-subhead">Why continuity, not channels, defines experience leadership</p>
<div class="trend-body">
<p>Financial services leaders move beyond omnichannel presence toward journey orchestration. Customers already move fluidly across apps, messaging platforms, and service touchpoints. What differentiates experiences now is whether context moves with them.</p>
<p class="trend-body-extra">Orchestration ensures journeys continue seamlessly - regardless of where the interaction resumes.</p>
</div>
</div>
<div class="trend-image">
<div class="trend-image-wrapper">
<img src="/wp-content/uploads/2026/02/trend-3-journey-new.webp" alt="Journey orchestration">
<div class="trend-image-glow"></div>
</div>
</div>
</div>
<div class="trend-details fade-in">
<h4 class="trend-details-header">What Changes in 2026</h4>
<div class="trend-row">
<div class="trend-row-label"><span>The Shift</span></div>
<div class="trend-cards">
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><polygon points="3 6 9 3 15 6 21 3 21 18 15 21 9 18 3 21"></polygon><line x1="9" y1="3" x2="9" y2="18"></line><line x1="15" y1="6" x2="15" y2="21"></line></svg>
</div>
<h4>Journeys Replace Campaigns</h4>
</div>
<p>Engagement is designed end-to-end, not as isolated channel interactions.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
</div>
<h4>Context Travels with the Customer</h4>
</div>
<p>History, intent, and preferences persist across channels.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg>
</div>
<h4>Service and Marketing Finally Connect</h4>
</div>
<p>Escalations feel like continuations, not restarts.</p>
</div>
</div>
</div>
<div class="trend-row">
<div class="trend-row-label impact"><span>The Impact</span></div>
<div class="trend-cards">
<div class="trend-impact-card">
<p>Customers experience fewer resets and less repetition across touchpoints, driving <strong>25-30% higher conversions.</strong></p>
</div>
<div class="trend-impact-card">
<p>Reduced customer effort directly correlates with <strong>20-30% higher satisfaction and loyalty.</strong></p>
</div>
<div class="trend-impact-card">
<p>Blending service and engagement journeys <strong>improves resolution speed and experience consistency.</strong></p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Trend 4 -->
<section id="trend-4" class="trend">
<div class="container">
<div class="trend-head reversed fade-in">
<div class="trend-text">
<span class="trend-number">Trend 04</span>
<h2>Trust Becomes a <span class="gradient-text-cyan">Designed Experience</span></h2>
<p class="trend-subhead">Why confidence must be engineered, not assumed</p>
<div class="trend-body">
<p>Trust in financial services is shaped less by policies and more by how decisions are experienced. As AI-driven actions increase, customers expect transparency, explanation, and reassurance, especially during high-stakes moments.</p>
<p class="trend-body-extra">Trust is no longer a passive outcome; it is intentionally designed into interactions.</p>
</div>
</div>
<div class="trend-image">
<div class="trend-image-wrapper">
<img src="/wp-content/uploads/2026/02/trend-4-trust-new.webp" alt="Trust experience">
<div class="trend-image-glow"></div>
</div>
</div>
</div>
<div class="trend-details fade-in">
<h4 class="trend-details-header">What Changes in 2026</h4>
<div class="trend-row">
<div class="trend-row-label"><span>The Shift</span></div>
<div class="trend-cards">
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
</div>
<h4>Decisions Come with Explanations</h4>
</div>
<p>Customers understand why actions were taken and what happens next.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
</div>
<h4>Reassurance Replaces Reactive Alerts</h4>
</div>
<p>Critical moments trigger clarity, not confusion.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></svg>
</div>
<h4>Control Is Visible to Customers</h4>
</div>
<p>Preferences, consent, and choices are clearly communicated.</p>
</div>
</div>
</div>
<div class="trend-row">
<div class="trend-row-label impact"><span>The Impact</span></div>
<div class="trend-cards">
<div class="trend-impact-card">
<p><strong>78% of consumers</strong> say trust influences provider choice in financial services.</p>
</div>
<div class="trend-impact-card">
<p>Clear communication during disruptions <strong>reduces anxiety and churn.</strong></p>
</div>
<div class="trend-impact-card">
<p><strong>Perceived control</strong> is a key driver of trust and long-term loyalty.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Trend 5 -->
<section id="trend-5" class="trend">
<div class="container">
<div class="trend-head fade-in">
<div class="trend-text">
<span class="trend-number">Trend 05</span>
<h2>Activation Becomes the <span class="gradient-text-cyan">New Growth Engine</span></h2>
<p class="trend-subhead">Why the first 90 days matter more than acquisition</p>
<div class="trend-body">
<p>Growth in financial services shifts downstream. With acquisition costs rising and regulations tightening, leaders recognize that value is won or lost after signup. Onboarding evolves from a compliance process into a guided activation journey.</p>
<p class="trend-body-extra">Growth is determined by how quickly customers reach their first moment of value.</p>
</div>
</div>
<div class="trend-image">
<div class="trend-image-wrapper">
<img src="/wp-content/uploads/2026/02/trend-5-activation-new.webp" alt="Activation growth">
<div class="trend-image-glow"></div>
</div>
</div>
</div>
<div class="trend-details fade-in">
<h4 class="trend-details-header">What Changes in 2026</h4>
<div class="trend-row">
<div class="trend-row-label"><span>The Shift</span></div>
<div class="trend-cards">
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polygon points="10 8 16 12 10 16 10 8"></polygon></svg>
</div>
<h4>Onboarding Becomes a Journey</h4>
</div>
<p>Activation is designed as a sequence of guided steps, not a one-time form fill.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line></svg>
</div>
<h4>Progress Drives Engagement</h4>
</div>
<p>Customers are nudged based on where they stall, not where they start.</p>
</div>
<div class="trend-card">
<div class="trend-card-header">
<div class="trend-card-icon">
<svg viewBox="0 0 24 24"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>
</div>
<h4>Marketing Extends Beyond Signup</h4>
</div>
<p>Engagement continues until customers reach their first moment of value.</p>
</div>
</div>
</div>
<div class="trend-row">
<div class="trend-row-label impact"><span>The Impact</span></div>
<div class="trend-cards">
<div class="trend-impact-card">
<p>Reducing onboarding friction <strong>accelerates time-to-value and improves retention.</strong></p>
</div>
<div class="trend-impact-card">
<p>Guided activation journeys can improve completion and early engagement by <strong>20–30%.</strong></p>
</div>
<div class="trend-impact-card">
<p>Activation-focused engagement delivers <strong>stronger lifetime value</strong> than acquisition alone.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Success Stories Section -->
<section class="success-stories" id="success-stories">
<div class="success-stories-glow"></div>
<div class="success-stories-inner">
<div class="success-stories-grid">
<div>
<h2 class="fade-in">Early Adopters in Action</h2>
<!-- Desktop verticals -->
<div class="ss-verticals fade-in">
<button class="active" onclick="setActiveStory('bajaj')">Bajaj Markets</button>
<button onclick="setActiveStory('axis-max')">Axis Max Life Insurance</button>
<button onclick="setActiveStory('shriram')">Shriram Finance</button>
<button onclick="setActiveStory('navia')">Navia</button>
<!-- <button onclick="setActiveStory('unocoin')">Unocoin</button> -->
</div>
<!-- Mobile pills -->
<div class="ss-pills-mobile ss-pills fade-in">
<button class="active" onclick="setActiveStory('bajaj')">Bajaj Markets</button>
<button onclick="setActiveStory('axis-max')">Axis Max Life Insurance</button>
<button onclick="setActiveStory('shriram')">Shriram Finance</button>
<button onclick="setActiveStory('navia')">Navia</button>
<!-- <button onclick="setActiveStory('unocoin')">Unocoin</button> -->
</div>
</div>
<div class="ss-card-container">
<div class="ss-card active" data-story="bajaj">
<img src="/wp-content/uploads/2026/02/Bajaj.jpg" alt="Bajaj Markets success story">
</div>
<div class="ss-card" data-story="axis-max">
<img src="/wp-content/uploads/2026/02/Axis_Max.jpg" alt="Axis Max Life Insurance success story">
</div>
<div class="ss-card" data-story="shriram">
<img src="/wp-content/uploads/2026/02/Shriram.jpg" alt="Shriram Finance success story">
</div>
<div class="ss-card" data-story="navia">
<img src="/wp-content/uploads/2026/02/navia.jpg" alt="Navia success story">
</div>
<!-- <div class="ss-card" data-story="unocoin">
<img src="/wp-content/uploads/2026/02/Unocoin.jpg" alt="Unocoin success story">
</div> -->
</div>
</div>
</div>
</section>
<!-- Workshop Section -->
<section id="workshop" class="workshop">
<div class="container">
<div class="workshop-card glass-card glow-orange fade-in">
<div class="workshop-pattern"></div>
<div class="workshop-content">
<div class="workshop-header">
<h2>Book a Workshop</h2>
<p>Work with our experts to translate the 2026 financial services trends into actionable strategies for your organization.</p>
</div>
<div class="workshop-grid">
<div class="workshop-left">
<p class="workshop-description">This hands-on workshop is designed for BFSI leadership teams looking to move from insight to execution. We'll help you identify where these trends intersect with your current stack, journeys, and growth priorities - and what to do next.</p>
<div class="workshop-checklist">
<div class="workshop-check-item">
<svg viewBox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
<span>Apply the 2026 trends to your specific business context</span>
</div>
<div class="workshop-check-item">
<svg viewBox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
<span>Identify high-impact use cases across journeys and channels</span>
</div>
<div class="workshop-check-item">
<svg viewBox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
<span>Understand where Agentic Marketing can drive immediate value</span>
</div>
<div class="workshop-check-item">
<svg viewBox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
<span>Define next steps across technology, data, and execution</span>
</div>
</div>
</div>
<div class="workshop-form-card glass-card glow-orange">
<h3>Book a Workshop</h3>
<p>Share your business email and we'll reach out to schedule a tailored session.</p>
<form class="workshop-form" id="workshop-form" action="https://go.netcorecloud.com/l/864782/2026-02-10/cbcknx" method="post">
<div>
<label for="business-email">Business email</label>
<div class="workshop-input-wrapper">
<svg viewBox="0 0 24 24"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>
<input type="email" id="business-email" placeholder="you@company.com" required name="864782_293307pi_864782_293307">
</div>
</div>
<input type="hidden" id="Recent_Asset_Page_URL" name="864782_293310pi_864782_293310" value="" >
<input type="hidden" id="utm_campaign" name="864782_293313pi_864782_293313" value="" >
<input type="hidden" id="utm_content" name="864782_293316pi_864782_293316" value="" >
<input type="hidden" id="utm_medium" name="864782_293319pi_864782_293319" value="" >
<input type="hidden" id="utm_source" name="864782_293322pi_864782_293322" value="" >
<input type="hidden" id="utm_term" name="864782_293325pi_864782_293325" value="" >
<input type="hidden" id="GCLID" name="864782_293328pi_864782_293328" value="" >
<button type="submit" class="btn btn-primary">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
Book a Workshop
</button>
<p class="workshop-form-footer">No sales pitch. Just a focused working session on how to capitalize on these trends.</p>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<div class="container">
<div class="footer-inner">
<img src="/wp-content/uploads/2026/02/netcore-logo-dark.webp" alt="Netcore" class="footer-logo">
<nav class="footer-nav">
<a href="#">Privacy Policy</a>
<a href="#">Terms of Use</a>
<a href="#">Contact</a>
</nav>
<p class="footer-copy">© 2026 Netcore. All rights reserved.</p>
</div>
</div>
</footer>
<!-- Trend Navigation -->
<nav class="trend-nav" id="trendNav">
<div class="trend-nav-inner">
<button onclick="scrollToTrend(1)">Trend 01</button>
<button onclick="scrollToTrend(2)">Trend 02</button>
<button onclick="scrollToTrend(3)">Trend 03</button>
<button onclick="scrollToTrend(4)">Trend 04</button>
<button onclick="scrollToTrend(5)">Trend 05</button>
</div>
</nav>
<script>
// Accordion functionality
document.querySelectorAll('.accordion-trigger').forEach(trigger => {
trigger.addEventListener('click', function() {
const isActive = this.classList.contains('active');
// Close all
document.querySelectorAll('.accordion-trigger').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.accordion-content').forEach(c => c.classList.remove('open'));
// Open clicked if wasn't active
if (!isActive) {
this.classList.add('active');
this.nextElementSibling.classList.add('open');
}
});
});
// Sticky header on scroll
window.addEventListener('scroll', function() {
const header = document.getElementById('stickyHeader');
if (window.scrollY > 100) {
header.classList.add('visible');
} else {
header.classList.remove('visible');
}
});
// Trend nav visibility
window.addEventListener('scroll', function() {
const trendNav = document.getElementById('trendNav');
const trend1 = document.getElementById('trend-1');
const workshop = document.getElementById('workshop');
if (!trend1 || !workshop) return;
const trend1Top = trend1.getBoundingClientRect().top;
const workshopTop = workshop.getBoundingClientRect().top;
const windowHeight = window.innerHeight;
if (trend1Top < windowHeight * 0.8 && workshopTop > windowHeight * 0.5) {
trendNav.classList.add('visible');
// Update active trend button
const buttons = trendNav.querySelectorAll('button');
buttons.forEach(btn => btn.classList.remove('active'));
for (let i = 5; i >= 1; i--) {
const trendEl = document.getElementById(`trend-${i}`);
if (trendEl) {
const rect = trendEl.getBoundingClientRect();
if (rect.top < windowHeight * 0.5) {
buttons[i - 1].classList.add('active');
break;
}
}
}
} else {
trendNav.classList.remove('visible');
}
});
function scrollToTrend(num) {
const el = document.getElementById(`trend-${num}`);
if (el) el.scrollIntoView({ behavior: 'smooth' });
}
// Fade-in on scroll (with staggered children)
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
}, { threshold: 0.05, rootMargin: '0px 0px -50px 0px' });
document.querySelectorAll('.fade-in').forEach(el => {
observer.observe(el);
// Handle elements already in viewport on page load
const rect = el.getBoundingClientRect();
if (rect.top < window.innerHeight && rect.bottom > 0) {
el.classList.add('visible');
}
});
// Hero scroll scale/fade effect
const heroEl = document.getElementById('heroSection');
const heroContentEl = document.getElementById('heroContent');
if (heroEl && heroContentEl) {
window.addEventListener('scroll', () => {
const rect = heroEl.getBoundingClientRect();
const progress = Math.max(0, Math.min(1, -rect.top / rect.height));
const scale = 1 + progress * 0.1;
const opacity = 1 - progress * 1.25;
const translateY = progress * -100;
heroContentEl.style.transform = `scale(${scale}) translateY(${translateY}px)`;
heroContentEl.style.opacity = Math.max(0, opacity);
}, { passive: true });
}
// Form submission
function handleFormSubmit(e) {
e.preventDefault();
const email = document.getElementById('business-email').value;
if (email) {
alert('Workshop request received! We\'ll reach out shortly to schedule your session.');
document.getElementById('business-email').value = '';
}
}
// Success Stories auto-rotation
const storyIds = ['bajaj', 'axis-max', 'shriram', 'navia'];
let activeStoryIndex = 0;
let storyInterval;
function setActiveStory(id) {
activeStoryIndex = storyIds.indexOf(id);
// Update cards
document.querySelectorAll('.ss-card').forEach(card => {
card.classList.toggle('active', card.dataset.story === id);
});
// Update desktop buttons
document.querySelectorAll('.ss-verticals button').forEach((btn, i) => {
btn.classList.toggle('active', storyIds[i] === id);
});
// Update mobile pills
document.querySelectorAll('.ss-pills-mobile button').forEach((btn, i) => {
btn.classList.toggle('active', storyIds[i] === id);
});
// Reset interval
clearInterval(storyInterval);
startStoryRotation();
}
function startStoryRotation() {
storyInterval = setInterval(() => {
activeStoryIndex = (activeStoryIndex + 1) % storyIds.length;
setActiveStory(storyIds[activeStoryIndex]);
}, 5000);
}
startStoryRotation();
const heroSection = document.getElementById('heroSection');
const heroContent = document.getElementById('heroContent');
const heroIconCloud = document.getElementById('heroIconCloud');
const floatingIcons = document.querySelectorAll('.floating-icon');
const REVEAL_RADIUS_INNER = 150;
const REVEAL_RADIUS_OUTER = 300;
const MAX_OPACITY = 0.25;
let isHoveringHero = false;
let mouseX = 0, mouseY = 0;
if (heroContent && heroIconCloud) {
heroContent.addEventListener('mouseenter', () => {
isHoveringHero = true;
});
heroContent.addEventListener('mouseleave', () => {
isHoveringHero = false;
floatingIcons.forEach(icon => icon.classList.remove('visible'));
heroIconCloud.style.transform = 'translate(0, 0)';
});
heroContent.addEventListener('mousemove', (e) => {
mouseX = e.clientX;
mouseY = e.clientY;
// Reverse parallax for icon cloud
const rect = heroContent.getBoundingClientRect();
const centerX = rect.left + rect.width / 2;
const centerY = rect.top + rect.height / 2;
const normalizedX = (e.clientX - centerX) / (rect.width / 2);
const normalizedY = (e.clientY - centerY) / (rect.height / 2);
heroIconCloud.style.transform = `translate(${-normalizedX * 40}px, ${-normalizedY * 30}px)`;
// Update icon visibility based on proximity
floatingIcons.forEach(icon => {
const iconRect = icon.getBoundingClientRect();
const iconCenterX = iconRect.left + iconRect.width / 2;
const iconCenterY = iconRect.top + iconRect.height / 2;
const distance = Math.sqrt(
Math.pow(mouseX - iconCenterX, 2) + Math.pow(mouseY - iconCenterY, 2)
);
if (distance <= REVEAL_RADIUS_OUTER) {
icon.classList.add('visible');
// Calculate opacity based on distance
let opacity;
if (distance <= REVEAL_RADIUS_INNER) {
opacity = MAX_OPACITY;
} else {
const normalizedDistance = (distance - REVEAL_RADIUS_INNER) / (REVEAL_RADIUS_OUTER - REVEAL_RADIUS_INNER);
opacity = MAX_OPACITY * (1 - Math.pow(normalizedDistance, 2));
}
icon.style.opacity = opacity;
} else {
icon.classList.remove('visible');
icon.style.opacity = 0;
}
});
});
}
</script>
<script>
// Accordion functionality
document.querySelectorAll('.accordion-trigger').forEach(trigger => {
trigger.addEventListener('click', function() {
const isActive = this.classList.contains('active');
// Close all
document.querySelectorAll('.accordion-trigger').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.accordion-content').forEach(c => c.classList.remove('open'));
// Open clicked if wasn't active
if (!isActive) {
this.classList.add('active');
this.nextElementSibling.classList.add('open');
}
});
});
// Sticky header on scroll
window.addEventListener('scroll', function() {
const header = document.getElementById('stickyHeader');
if (window.scrollY > 100) {
header.classList.add('visible');
} else {
header.classList.remove('visible');
}
});
// Trend nav visibility
window.addEventListener('scroll', function() {
const trendNav = document.getElementById('trendNav');
const trend1 = document.getElementById('trend-1');
const workshop = document.getElementById('workshop');
if (!trend1 || !workshop) return;
const trend1Top = trend1.getBoundingClientRect().top;
const workshopTop = workshop.getBoundingClientRect().top;
const windowHeight = window.innerHeight;
if (trend1Top < windowHeight * 0.8 && workshopTop > windowHeight * 0.5) {
trendNav.classList.add('visible');
// Update active trend button
const buttons = trendNav.querySelectorAll('button');
buttons.forEach(btn => btn.classList.remove('active'));
for (let i = 5; i >= 1; i--) {
const trendEl = document.getElementById(`trend-${i}`);
if (trendEl) {
const rect = trendEl.getBoundingClientRect();
if (rect.top < windowHeight * 0.5) {
buttons[i - 1].classList.add('active');
break;
}
}
}
} else {
trendNav.classList.remove('visible');
}
});
function scrollToTrend(num) {
const el = document.getElementById(`trend-${num}`);
if (el) el.scrollIntoView({ behavior: 'smooth' });
}
// Fade-in on scroll
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.fade-in').forEach(el => observer.observe(el));
// Form submission
function handleFormSubmit(e) {
e.preventDefault();
const email = document.getElementById('business-email').value;
if (email) {
alert('Workshop request received! We\'ll reach out shortly to schedule your session.');
document.getElementById('business-email').value = '';
}
}
// Hero Proximity Icon Reveal (Spotlight Effect)
const heroSection = document.getElementById('heroSection');
const heroContent = document.getElementById('heroContent');
const heroIconCloud = document.getElementById('heroIconCloud');
const floatingIcons = document.querySelectorAll('.floating-icon');
const REVEAL_RADIUS_INNER = 150;
const REVEAL_RADIUS_OUTER = 300;
const MAX_OPACITY = 0.25;
let isHoveringHero = false;
let mouseX = 0, mouseY = 0;
if (heroContent && heroIconCloud) {
heroContent.addEventListener('mouseenter', () => {
isHoveringHero = true;
});
heroContent.addEventListener('mouseleave', () => {
isHoveringHero = false;
floatingIcons.forEach(icon => icon.classList.remove('visible'));
heroIconCloud.style.transform = 'translate(0, 0)';
});
heroContent.addEventListener('mousemove', (e) => {
mouseX = e.clientX;
mouseY = e.clientY;
// Reverse parallax for icon cloud
const rect = heroContent.getBoundingClientRect();
const centerX = rect.left + rect.width / 2;
const centerY = rect.top + rect.height / 2;
const normalizedX = (e.clientX - centerX) / (rect.width / 2);
const normalizedY = (e.clientY - centerY) / (rect.height / 2);
heroIconCloud.style.transform = `translate(${-normalizedX * 40}px, ${-normalizedY * 30}px)`;
// Update icon visibility based on proximity
floatingIcons.forEach(icon => {
const iconRect = icon.getBoundingClientRect();
const iconCenterX = iconRect.left + iconRect.width / 2;
const iconCenterY = iconRect.top + iconRect.height / 2;
const distance = Math.sqrt(
Math.pow(mouseX - iconCenterX, 2) + Math.pow(mouseY - iconCenterY, 2)
);
if (distance <= REVEAL_RADIUS_OUTER) {
icon.classList.add('visible');
// Calculate opacity based on distance
let opacity;
if (distance <= REVEAL_RADIUS_INNER) {
opacity = MAX_OPACITY;
} else {
const normalizedDistance = (distance - REVEAL_RADIUS_INNER) / (REVEAL_RADIUS_OUTER - REVEAL_RADIUS_INNER);
opacity = MAX_OPACITY * (1 - Math.pow(normalizedDistance, 2));
}
icon.style.opacity = opacity;
} else {
icon.classList.remove('visible');
icon.style.opacity = 0;
}
});
});
}
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
// Select ALL nav links (desktop + mobile)
const navLinks = document.querySelectorAll(
".header-nav a, .mobile-menu a"
);
// Map sections from hrefs
const sections = Array.from(navLinks)
.map(link => document.querySelector(link.getAttribute("href")))
.filter(Boolean);
const observer = new IntersectionObserver(
(entries) => {
entries.forEach(entry => {
if (!entry.isIntersecting) return;
const id = entry.target.id;
navLinks.forEach(link => {
const isActive = link.getAttribute("href") === `#${id}`;
link.classList.toggle("active", isActive);
});
});
},
{
root: null,
rootMargin: "-40% 0px -40% 0px", // center trigger
threshold: 0
}
);
// Observe each section only once
[...new Set(sections)].forEach(section => observer.observe(section));
});
document.addEventListener("DOMContentLoaded", () => {
const header = document.querySelector(".header");
const toggle = document.querySelector(".menu-toggle");
const mobileLinks = document.querySelectorAll(".mobile-menu a");
if (!header || !toggle) return;
const closeMenu = () => {
header.classList.remove("menu-open");
};
toggle.addEventListener("click", (e) => {
e.stopPropagation();
header.classList.toggle("menu-open");
});
mobileLinks.forEach(link => {
link.addEventListener("click", closeMenu);
});
document.addEventListener("click", (e) => {
if (!header.contains(e.target)) {
closeMenu();
}
});
// Close on ESC key
document.addEventListener("keydown", (e) => {
if (e.key === "Escape") {
closeMenu();
}
});
});
</script>
<script>
function populateTrackingFields() {
const params = new URLSearchParams(window.location.search);
const gclid = params.get("gclid") || "";
const gclidField = document.getElementById("GCLID");
if (gclidField) gclidField.value = gclid;
const utmFields = {
utm_source: params.get("utm_source") || "",
utm_medium: params.get("utm_medium") || "",
utm_campaign: params.get("utm_campaign") || "",
utm_term: params.get("utm_term") || "",
utm_content: params.get("utm_content") || ""
};
for (const [key, value] of Object.entries(utmFields)) {
const field = document.getElementById(key);
if (field) field.value = value;
}
const pageUrlField = document.getElementById("Recent_Asset_Page_URL");
if (pageUrlField) pageUrlField.value = window.location.href;
}
window.onload = populateTrackingFields;
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
const form = document.getElementById("workshop-form");
const emailInput = document.getElementById("business-email");
let isSubmitting = false;
const businessEmailPattern = /^(?!.+@(gmail|yahoo|outlook|hotmail|msn)\..+)(.+@.+\..+)$/i;
async function validateWithZeroBounce(email) {
try {
const response = await fetch(
`https://api.zerobounce.net/v2/validate?api_key=b14fe9c19325425289073fa446ce05ba&email=${encodeURIComponent(email)}`
);
const data = await response.json();
return (data.status === "valid" || data.status === "catch-all");
} catch {
return null;
}
}
const feedback = document.createElement("small");
feedback.style.display = "none";
feedback.style.fontSize = "12px";
feedback.style.marginTop = "4px";
feedback.style.color = "red";
emailInput.insertAdjacentElement("afterend", feedback);
function showFeedback(msg) {
feedback.textContent = msg;
feedback.style.display = "block";
}
function clearFeedback() {
feedback.textContent = "";
feedback.style.display = "none";
}
emailInput.addEventListener("blur", async function() {
const email = emailInput.value.trim();
if (!email) {
clearFeedback();
return;
}
if (!businessEmailPattern.test(email)) {
showFeedback("Please provide a business email address");
return;
}
const valid = await validateWithZeroBounce(email);
if (valid === true) {
clearFeedback();
emailInput.setCustomValidity("");
} else if (valid === false) {
showFeedback("Please provide a business email address");
emailInput.setCustomValidity("");
} else {
showFeedback("Could not validate email right now.");
emailInput.setCustomValidity("");
}
});
form.addEventListener("submit", async function(e) {
e.preventDefault();
if (isSubmitting) return;
isSubmitting = true;
const email = emailInput.value.trim();
if (!email) {
emailInput.setCustomValidity("Please provide a business email address");
emailInput.reportValidity();
isSubmitting = false;
return;
}
if (!businessEmailPattern.test(email)) {
emailInput.setCustomValidity("Please provide a business email address");
emailInput.reportValidity();
isSubmitting = false;
return;
}
const valid = await validateWithZeroBounce(email);
if (valid === true) {
emailInput.setCustomValidity("");
clearFeedback();
form.submit();
} else if (valid === false) {
emailInput.setCustomValidity("Please provide a business email address");
emailInput.reportValidity();
} else {
emailInput.setCustomValidity("Unable to validate email. Please try again later.");
emailInput.reportValidity();
}
isSubmitting = false;
});
});
</script>
</body>
<script src="https://cdn.jsdelivr.net/jquery.slick/1.5.9/slick.min.js"></script>