/* ============================================================================
   CONNECTIVERSE — Modern design layer (2026)
   Loaded LAST so it refines the Canvas theme. Pure CSS, no extra requests.
   Brand gradient: #051937 → #004d7a → #008793 → #00bf72 → #a8eb12
   ========================================================================== */

:root{
	--cv-navy:#051937;
	--cv-blue:#004d7a;
	--cv-teal:#008793;
	--cv-green:#00bf72;
	--cv-lime:#a8eb12;
	--cv-ink:#0c1b2a;
	--cv-body:#475569;
	--cv-muted:#8a99a8;
	--cv-line:#e7edf3;
	--cv-bg-soft:#f5f8fb;
	--cv-white:#ffffff;
	--cv-grad:linear-gradient(135deg,#051937 0%,#004d7a 38%,#008793 70%,#00bf72 100%);
	--cv-grad-bright:linear-gradient(135deg,#008793 0%,#00bf72 60%,#a8eb12 100%);
	--cv-grad-text:linear-gradient(120deg,#008793,#00bf72 55%,#a8eb12);
	--cv-shadow:0 18px 50px -22px rgba(5,25,55,.45);
	--cv-shadow-sm:0 8px 24px -12px rgba(5,25,55,.30);
	--cv-radius:18px;
	--cv-font:"Inter","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* ---- Base polish --------------------------------------------------------- */
body.stretched{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.cv-scope, .cv-section{ font-family:var(--cv-font); }
/* Apply the brand font to text inside sections, but NEVER to icon elements
   (icon-*, icon-line-*, icon-line2-*) or they lose their glyph font and show tofu. */
.cv-section *:not([class^="icon-"]):not([class*=" icon-"]){ font-family:var(--cv-font); }
.cv-section [class^="icon-"], .cv-section [class*=" icon-"]{ font-family:font-icons; }
.cv-section [class^="icon-line-"], .cv-section [class*=" icon-line-"]{ font-family:lined-icons; }
.cv-section [class^="icon-line2-"], .cv-section [class*=" icon-line2-"]{ font-family:simple-line-icons; }
img{ max-width:100%; }

/* Splash loader: cleaner brand wordmark */
#light_weight_loader{
	font-family:var(--cv-font)!important;
	letter-spacing:.18em; font-size:200%!important; font-weight:800!important;
	display:flex; align-items:center; justify-content:center;
}
#light_weight_loader[style*="display: none"], #light_weight_loader[style*="display:none"]{ display:none!important; }

/* ---- Reusable layout primitives ----------------------------------------- */
.cv-section{ position:relative; padding:88px 0; background:var(--cv-white); z-index:2; }
.cv-section.cv-tight{ padding:60px 0; }
.cv-container{ max-width:1180px; margin:0 auto; padding:0 20px; }
.cv-center{ text-align:center; }
.cv-eyebrow{
	display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.22em;
	text-transform:uppercase; margin-bottom:14px;
	background:var(--cv-grad-text); -webkit-background-clip:text; background-clip:text;
	-webkit-text-fill-color:transparent; color:var(--cv-teal);
}
.cv-title{ font-size:clamp(26px,3.4vw,42px); line-height:1.12; font-weight:800; color:var(--cv-ink); margin:0 0 16px; letter-spacing:-.02em; }
.cv-lead{ font-size:clamp(15px,1.4vw,18px); line-height:1.75; color:var(--cv-body); max-width:760px; }
.cv-center .cv-lead{ margin-left:auto; margin-right:auto; }
.cv-gradient-text{ background:var(--cv-grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cv-grid{ display:grid; gap:22px; }
.cv-grid-2{ grid-template-columns:repeat(2,1fr); }
.cv-grid-3{ grid-template-columns:repeat(3,1fr); }
.cv-grid-4{ grid-template-columns:repeat(4,1fr); }
.cv-grid-6{ grid-template-columns:repeat(6,1fr); }
@media(max-width:991px){ .cv-grid-3,.cv-grid-4,.cv-grid-6{ grid-template-columns:repeat(2,1fr);} }
@media(max-width:575px){ .cv-grid-2,.cv-grid-3,.cv-grid-4,.cv-grid-6{ grid-template-columns:1fr;} }

/* ---- Dark, futuristic section ------------------------------------------- */
.cv-section.cv-dark{ background:var(--cv-navy); color:#cfe0ee; overflow:hidden; }
.cv-section.cv-dark .cv-title{ color:#fff; }
.cv-section.cv-dark .cv-lead{ color:#9fb6cb; }
.cv-section.cv-dark:before, .cv-section.cv-dark:after{
	content:""; position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; z-index:0; pointer-events:none;
}
.cv-section.cv-dark:before{ width:420px; height:420px; background:radial-gradient(circle,rgba(0,191,114,.55),transparent 65%); top:-120px; right:-80px; }
.cv-section.cv-dark:after{ width:380px; height:380px; background:radial-gradient(circle,rgba(0,77,122,.6),transparent 65%); bottom:-140px; left:-90px; }
.cv-section.cv-dark .cv-container{ position:relative; z-index:1; }
.cv-section.cv-soft{ background:var(--cv-bg-soft); }
.cv-hr-grad{ height:4px; width:64px; border:0; border-radius:99px; background:var(--cv-grad-bright); margin:0 0 22px; }
.cv-center .cv-hr-grad{ margin-left:auto; margin-right:auto; }

/* ---- Glass / elevated cards --------------------------------------------- */
.cv-card{
	position:relative; background:var(--cv-white); border:1px solid var(--cv-line);
	border-radius:var(--cv-radius); padding:30px 26px; box-shadow:var(--cv-shadow-sm);
	transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s;
	overflow:hidden; height:100%;
}
.cv-card:before{ content:""; position:absolute; left:0; top:0; height:4px; width:100%; background:var(--cv-grad-bright); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.cv-card:hover{ transform:translateY(-8px); box-shadow:var(--cv-shadow); border-color:transparent; }
.cv-card:hover:before{ transform:scaleX(1); }
.cv-card h3{ font-size:19px; font-weight:700; color:var(--cv-ink); margin:6px 0 10px; }
.cv-card p{ font-size:14.5px; line-height:1.7; color:var(--cv-body); margin:0; }
.cv-card .cv-more{ display:inline-block; margin-top:14px; font-weight:600; font-size:13.5px; color:var(--cv-green); }
.cv-card.cv-glass{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(8px); color:#dcebf8; }
.cv-section.cv-dark .cv-card{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.10); box-shadow:none; }
.cv-section.cv-dark .cv-card h3{ color:#fff; }
.cv-section.cv-dark .cv-card p{ color:#9fb6cb; }

/* ---- Gradient icon badge ------------------------------------------------ */
.cv-icon{
	width:58px; height:58px; border-radius:15px; display:inline-flex; align-items:center; justify-content:center;
	font-size:25px; color:#fff; background:var(--cv-grad); box-shadow:0 10px 24px -10px rgba(0,135,147,.7);
	transition:transform .35s ease;
}
.cv-card:hover .cv-icon{ transform:translateY(-3px) rotate(-4deg) scale(1.05); }
.cv-icon.cv-icon-ghost{ background:rgba(0,191,114,.12); color:var(--cv-green); box-shadow:none; }

/* ---- KPI / stats -------------------------------------------------------- */
.cv-stat{ text-align:center; padding:14px 8px; }
.cv-stat .cv-num{ font-size:clamp(34px,4.4vw,52px); font-weight:800; line-height:1; letter-spacing:-.02em;
	background:var(--cv-grad-bright); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cv-stat .cv-num .counter{ display:inline; font-family:inherit; }
.cv-stat .cv-num small{ -webkit-text-fill-color:initial; color:var(--cv-lime); font-size:.6em; font-weight:800; }
.cv-stat .cv-label{ display:block; margin-top:10px; font-size:13.5px; font-weight:600; letter-spacing:.04em; color:#9fb6cb; text-transform:uppercase; }
.cv-section:not(.cv-dark) .cv-stat .cv-label{ color:var(--cv-muted); }

/* ---- Process / timeline ------------------------------------------------- */
.cv-process{ counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); gap:22px; position:relative; }
@media(max-width:991px){ .cv-process{ grid-template-columns:repeat(2,1fr);} }
@media(max-width:575px){ .cv-process{ grid-template-columns:1fr;} }
.cv-step{ position:relative; padding:30px 22px; background:var(--cv-white); border:1px solid var(--cv-line); border-radius:var(--cv-radius); box-shadow:var(--cv-shadow-sm); }
.cv-step .cv-step-no{ counter-increment:step; }
.cv-step .cv-step-no:before{ content:"0" counter(step); display:inline-flex; align-items:center; justify-content:center;
	font-size:15px; font-weight:800; color:#fff; width:42px; height:42px; border-radius:12px; background:var(--cv-grad); margin-bottom:16px; }
.cv-step h4{ font-size:17px; font-weight:700; color:var(--cv-ink); margin:0 0 8px; }
.cv-step p{ font-size:14px; line-height:1.65; color:var(--cv-body); margin:0; }

/* ---- Pills / badges ----------------------------------------------------- */
.cv-pills{ display:flex; flex-wrap:wrap; gap:10px; }
.cv-pill{ display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:99px;
	font-size:13.5px; font-weight:600; color:var(--cv-ink); background:var(--cv-white); border:1px solid var(--cv-line); box-shadow:var(--cv-shadow-sm); }
.cv-pill i{ color:var(--cv-green); }
.cv-section.cv-dark .cv-pill{ color:#dcebf8; background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); }

/* ---- Buttons ------------------------------------------------------------ */
.cv-btn{ display:inline-flex; align-items:center; gap:9px; padding:14px 28px; border-radius:99px; font-weight:700; font-size:15px;
	color:#04231a!important; background:var(--cv-grad-bright); border:0; box-shadow:0 14px 30px -12px rgba(0,191,114,.75);
	transition:transform .25s ease, box-shadow .25s ease; cursor:pointer; }
.cv-btn:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -12px rgba(0,191,114,.85); color:#04231a!important; }
.cv-btn-ghost{ background:transparent; color:#fff!important; border:1.5px solid rgba(255,255,255,.45); box-shadow:none; }
.cv-btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); color:#fff!important; }

/* ---- CTA band ----------------------------------------------------------- */
.cv-cta{ position:relative; border-radius:26px; padding:54px 44px; overflow:hidden; background:var(--cv-grad); box-shadow:var(--cv-shadow); }
.cv-cta:after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 20%,rgba(168,235,18,.35),transparent 45%); pointer-events:none; }
.cv-cta .cv-cta-in{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap; }
.cv-cta h3{ color:#fff; font-size:clamp(22px,2.6vw,30px); font-weight:800; margin:0 0 6px; }
.cv-cta p{ color:#d8f3e6; margin:0; font-size:15px; }

/* ---- Logos / marquee ---------------------------------------------------- */
.cv-marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.cv-marquee-track{ display:flex; gap:60px; align-items:center; width:max-content; animation:cv-scroll 28s linear infinite; }
.cv-marquee:hover .cv-marquee-track{ animation-play-state:paused; }
.cv-marquee img{ height:42px; width:auto; opacity:.55; filter:grayscale(1); transition:.3s; }
.cv-marquee img:hover{ opacity:1; filter:none; }
@keyframes cv-scroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* ---- Split feature row -------------------------------------------------- */
.cv-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
@media(max-width:991px){ .cv-split{ grid-template-columns:1fr; gap:30px; } }
.cv-check{ list-style:none; margin:18px 0 0; padding:0; }
.cv-check li{ position:relative; padding:9px 0 9px 34px; font-size:15px; color:var(--cv-ink); border-bottom:1px dashed var(--cv-line); }
.cv-check li:last-child{ border-bottom:0; }
.cv-check li:before{ content:"\2713"; position:absolute; left:0; top:8px; width:22px; height:22px;
	display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#fff; border-radius:50%; background:var(--cv-grad); }
.cv-section.cv-dark .cv-check li{ color:#dcebf8; border-color:rgba(255,255,255,.10); }
.cv-visual{ border-radius:24px; overflow:hidden; box-shadow:var(--cv-shadow); position:relative; min-height:280px;
	background:var(--cv-grad); display:flex; align-items:center; justify-content:center; }
.cv-visual i{ font-size:120px; color:rgba(255,255,255,.9); }
.cv-visual:after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 20%,rgba(168,235,18,.35),transparent 55%); }

/* ---- Scroll reveal ------------------------------------------------------ */
[data-cv-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); will-change:opacity,transform; }
[data-cv-reveal].cv-in{ opacity:1; transform:none; }
[data-cv-reveal][data-cv-delay="1"]{ transition-delay:.08s; }
[data-cv-reveal][data-cv-delay="2"]{ transition-delay:.16s; }
[data-cv-reveal][data-cv-delay="3"]{ transition-delay:.24s; }
[data-cv-reveal][data-cv-delay="4"]{ transition-delay:.32s; }
[data-cv-reveal][data-cv-delay="5"]{ transition-delay:.40s; }

/* ============================================================================
   Refinements to the existing Canvas theme (subtle, non-breaking)
   ========================================================================== */
/* Page title banner → premium gradient */
#page-title{ background:var(--cv-navy)!important; position:relative; overflow:hidden; border-bottom:0!important; padding:64px 0; }
#page-title:before{ content:""; position:absolute; width:480px; height:480px; right:-120px; top:-200px; border-radius:50%;
	background:radial-gradient(circle,rgba(0,191,114,.45),transparent 65%); filter:blur(60px); }
#page-title:after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,25,55,.0),rgba(0,135,147,.18)); }
#page-title .container{ position:relative; z-index:2; }
#page-title h1{ color:#fff!important; font-family:var(--cv-font); font-weight:800; letter-spacing:-.02em; }
#page-title span{ color:#9fb6cb!important; }
#page-title .breadcrumb{ background:transparent!important; }
#page-title .breadcrumb a{ color:#a8eb12!important; }
#page-title .breadcrumb-item.active{ color:#cfe0ee!important; }
#page-title .breadcrumb-item+.breadcrumb-item:before{ color:#5b7286!important; }

/* Headings */
.heading-block h2, .heading-block h3, .fancy-title h3{ font-family:var(--cv-font); font-weight:800; color:var(--cv-ink); letter-spacing:-.01em; }
.heading-block > span{ color:var(--cv-muted); }

/* Feature boxes → modern hover */
.feature-box{ transition:transform .35s ease; }
.feature-box:hover{ transform:translateY(-4px); }
.feature-box .fbox-icon{ transition:transform .35s ease; }
.feature-box:hover .fbox-icon{ transform:scale(1.06); }
.feature-box h3, .feature-box h4{ font-family:var(--cv-font); font-weight:700; }

/* Canvas buttons → softer, modern */
.button.button-rounded{ border-radius:99px; }
.button-dark{ background:var(--cv-navy); }

/* Footer accent */
#footer.dark{ background:var(--cv-navy); }
.footer-stick{ background:var(--cv-grad)!important; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
	[data-cv-reveal]{ opacity:1!important; transform:none!important; }
	.cv-marquee-track{ animation:none; }
	.cv-card,.feature-box,.cv-icon{ transition:none; }
}
