/*
Theme Name:  Soulzi Marketing
Theme URI:   https://soulzimarketing.com
Author:      Muhammed Razi C K
Author URI:  https://soulzimarketing.com
Description: Premium Soulzi Marketing theme — fully Elementor compatible, dark/light mode, Manrope headings, cultural marketing agency design. Install, activate, set as homepage, edit freely in Elementor.
Version:     5.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: soulzi
Tags: elementor, one-page, marketing, agency, dark, teal, professional, manrope
*/

/* ═══════════════════════════════════════════
   DARK MODE TOKENS (default)
═══════════════════════════════════════════ */
:root,
[data-theme="dark"] {
  --teal:        #0A7A6B;
  --teal-dark:   #065C50;
  --mint:        #2ECFB3;
  --mint-light:  #6FE4D0;
  --gold:        #D4A847;

  --bg-page:     #0C1613;
  --bg-nav:      rgba(12,22,19,0.95);
  --bg-hero:     #0C1613;
  --bg-ticker:   #0A7A6B;
  --bg-way:      #101E1B;
  --bg-services: #101E1B;
  --bg-svc-card: #162420;
  --bg-svc-hover:#1a2e28;
  --bg-stats:    #0A7A6B;
  --bg-why:      #0C1613;
  --bg-process:  #F3FAF8;
  --bg-audience: #101E1B;
  --bg-platforms:#0C1613;
  --bg-testi:    #FFFFFF;
  --bg-contact:  #F3FAF8;
  --bg-footer:   #0C1613;
  --bg-form:     #FFFFFF;
  --bg-input:    #F3FAF8;
  --bg-val:      rgba(255,255,255,0.04);
  --bg-chip:     rgba(255,255,255,0.05);
  --bg-proc:     #FFFFFF;
  --bg2:         #E6F5F1;

  --text-h:      #FFFFFF;
  --text-nav:    rgba(255,255,255,0.75);
  --text-nav-h:  #FFFFFF;
  --text-logo:   #FFFFFF;
  --text-sub:    rgba(255,255,255,0.68);
  --text-way:    #FFFFFF;
  --text-svc-h3: #FFFFFF;
  --text-svc-p:  rgba(255,255,255,0.50);
  --text-stat-n: #FFFFFF;
  --text-stat-l: rgba(255,255,255,0.65);
  --text-why-p:  rgba(255,255,255,0.50);
  --text-why-h4: #FFFFFF;
  --text-quote:  #FFFFFF;
  --text-found-h:#FFFFFF;
  --text-found-p:rgba(255,255,255,0.50);
  --text-aud-h4: #FFFFFF;
  --text-aud-p:  rgba(255,255,255,0.45);
  --text-pname:  #FFFFFF;
  --text-pcat:   rgba(255,255,255,0.40);
  --text-prom-h: #FFFFFF;
  --text-prom-p: rgba(255,255,255,0.65);
  --text-prom-li:rgba(255,255,255,0.75);
  --text-sw:     rgba(255,255,255,0.45);
  --text-body:   #2A3A36;
  --text-muted:  #647A74;
  --text-dark:   #0C1613;
  --text-ticker: rgba(255,255,255,0.90);
  --text-pill-d: rgba(255,255,255,0.40);
  --text-ssub:   rgba(255,255,255,0.55);
  --text-fdesc:  rgba(255,255,255,0.45);
  --text-flink:  rgba(255,255,255,0.45);
  --text-fcopy:  rgba(255,255,255,0.30);
  --text-flogo:  #FFFFFF;

  --border:      #C8E6DF;
  --bdr-nav:     rgba(255,255,255,0.07);
  --bdr-card:    rgba(255,255,255,0.06);
  --bdr-val:     rgba(255,255,255,0.07);
  --bdr-chip:    rgba(255,255,255,0.09);
  --bdr-way:     rgba(255,255,255,0.06);
  --bdr-wayp:    rgba(255,255,255,0.08);
  --bdr-found:   rgba(255,255,255,0.08);
  --bdr-foundbg: rgba(255,255,255,0.05);
  --bdr-prom:    rgba(255,255,255,0.12);
  --bdr-fbottom: rgba(255,255,255,0.06);

  --hero-m1:     rgba(10,122,107,0.22);
  --hero-m2:     rgba(46,207,179,0.10);
  --hero-grid:   rgba(46,207,179,0.04);
  --hero-bdr:    rgba(255,255,255,0.08);

  --toggle-bg:   rgba(255,255,255,0.10);
  --toggle-bdr:  rgba(255,255,255,0.20);
  --toggle-txt:  rgba(255,255,255,0.70);

  --sl-bg:       #E6F5F1;
  --sl-bg-l:     rgba(46,207,179,0.12);
  --sl-txt:      #0A7A6B;
  --sl-txt-l:    #6FE4D0;
  --sl-bdr:      #C8E6DF;
  --sl-bdr-l:    rgba(46,207,179,0.25);

  --cicon-bg:    #E6F5F1;
  --cval:        #0C1613;
  --clbl:        #647A74;
  --stat-bdr:    rgba(255,255,255,0.18);
  --prom-mesh:   rgba(10,122,107,0.25);
  --bg-prom:     linear-gradient(135deg,#0C1613 0%,#162420 60%,#063328 100%);
  --proc-num-c:  #E6F5F1;
  --proc-badge-bg:#E6F5F1;

  --sh:          0 4px 32px rgba(10,122,107,0.10);
  --sh-lg:       0 16px 64px rgba(10,122,107,0.18);
  --tr:          all 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ═══════════════════════════════════════════
   LIGHT MODE TOKENS
═══════════════════════════════════════════ */
[data-theme="light"] {
  --bg-page:     #F8FFFE;
  --bg-nav:      rgba(255,255,255,0.97);
  --bg-hero:     #FFFFFF;
  --bg-way:      #F0FAF8;
  --bg-services: #F8FFFE;
  --bg-svc-card: #FFFFFF;
  --bg-svc-hover:#F0FAF8;
  --bg-why:      #F0FAF8;
  --bg-process:  #FFFFFF;
  --bg-audience: #F0FAF8;
  --bg-platforms:#F8FFFE;
  --bg-testi:    #FFFFFF;
  --bg-contact:  #F8FFFE;
  --bg-val:      rgba(10,122,107,0.04);
  --bg-chip:     rgba(10,122,107,0.05);
  --bg-proc:     #FFFFFF;

  --text-h:      #0C1613;
  --text-nav:    #2A3A36;
  --text-nav-h:  #0C1613;
  --text-logo:   #0C1613;
  --text-sub:    #647A74;
  --text-way:    #0C1613;
  --text-svc-h3: #0C1613;
  --text-svc-p:  #647A74;
  --text-why-p:  #647A74;
  --text-why-h4: #0C1613;
  --text-quote:  #0C1613;
  --text-found-h:#0C1613;
  --text-found-p:#647A74;
  --text-aud-h4: #0C1613;
  --text-aud-p:  #647A74;
  --text-pname:  #0C1613;
  --text-pcat:   #647A74;
  --text-prom-h: #0C1613;
  --text-prom-p: #2A3A36;
  --text-prom-li:#2A3A36;
  --text-sw:     #647A74;
  --text-ticker: rgba(255,255,255,0.90);
  --text-pill-d: #647A74;
  --text-ssub:   #647A74;

  --bdr-nav:     rgba(10,122,107,0.12);
  --bdr-card:    rgba(10,122,107,0.10);
  --bdr-val:     rgba(10,122,107,0.10);
  --bdr-chip:    rgba(10,122,107,0.12);
  --bdr-way:     rgba(10,122,107,0.10);
  --bdr-wayp:    rgba(10,122,107,0.12);
  --bdr-found:   rgba(10,122,107,0.12);
  --bdr-foundbg: rgba(10,122,107,0.05);
  --bdr-prom:    rgba(10,122,107,0.20);

  --hero-m1:     rgba(10,122,107,0.08);
  --hero-m2:     rgba(46,207,179,0.05);
  --hero-grid:   rgba(10,122,107,0.04);
  --hero-bdr:    rgba(10,122,107,0.10);

  --toggle-bg:   rgba(10,122,107,0.10);
  --toggle-bdr:  rgba(10,122,107,0.20);
  --toggle-txt:  #2A3A36;

  --sl-bg:       #E6F5F1;
  --sl-bg-l:     rgba(10,122,107,0.08);
  --sl-txt:      #0A7A6B;
  --sl-txt-l:    #0A7A6B;
  --sl-bdr:      #C8E6DF;
  --sl-bdr-l:    rgba(10,122,107,0.20);

  --prom-mesh:   rgba(10,122,107,0.10);
  --bg-prom:     linear-gradient(135deg,#E6F5F1 0%,#D0EEE8 60%,#C0E8DF 100%);
  --sh-lg:       0 16px 64px rgba(10,122,107,0.14);
}

/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Manrope', sans-serif !important;
  background-color: var(--bg-page) !important;
  color: var(--text-body);
  line-height: 1.7;
  overflow-x: hidden;
  transition: background-color 0.4s ease;
}
h1,h2,h3,h4,h5,h6 {
  font-family: 'Manrope', sans-serif !important;
  font-weight: 800 !important;
  line-height: 1.15;
  letter-spacing: -0.025em;
}
h1 { font-size: clamp(2.4rem,5.5vw,4rem); letter-spacing: -0.03em; }
h2 { font-size: clamp(1.9rem,3.8vw,2.8rem); }
h3 { font-size: clamp(1.2rem,2.2vw,1.6rem); }
a  { text-decoration: none; transition: var(--tr); }
img { max-width: 100%; height: auto; }
p  { line-height: 1.8; margin-bottom: 1rem; }

/* ── LAYOUT ── */
.sz-wrap { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.sz-tc   { text-align: center; }

/* Elementor container fix */
.elementor-section-boxed > .elementor-container { max-width: 1180px; }
.e-con, .e-con-inner { --padding-block-start: 0; --padding-block-end: 0; }

/* ── SECTION LABELS ── */
.sz-label {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--sl-bg); color: var(--sl-txt);
  font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; padding: 6px 14px; border-radius: 50px;
  border: 1px solid var(--sl-bdr); margin-bottom: 16px;
  transition: all 0.4s;
}
.sz-label.light {
  background: var(--sl-bg-l); color: var(--sl-txt-l); border-color: var(--sl-bdr-l);
}

/* ── BUTTONS ── */
.sz-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 30px; border-radius: 50px;
  font-family: 'Manrope', sans-serif !important; font-size: 0.92rem; font-weight: 700;
  cursor: pointer; transition: var(--tr);
  border: 2px solid transparent; white-space: nowrap;
  letter-spacing: 0.01em; text-decoration: none !important;
}
.sz-btn-primary { background: var(--teal); color: #fff !important; }
.sz-btn-primary:hover { background: var(--teal-dark); transform: translateY(-2px); box-shadow: 0 8px 32px rgba(10,122,107,0.25); }
.sz-btn-ghost { background: rgba(255,255,255,0.10); color: rgba(255,255,255,0.9) !important; border-color: rgba(255,255,255,0.25); }
.sz-btn-ghost:hover { background: rgba(255,255,255,0.18); }
.sz-btn-outline { background: transparent; color: var(--teal) !important; border-color: var(--teal); }
.sz-btn-outline:hover { background: var(--teal); color: #fff !important; transform: translateY(-2px); }
.sz-btn-lg { padding: 18px 40px; font-size: 1rem; }
.sz-btn-sm { padding: 10px 22px; font-size: 0.84rem; }
[data-theme="light"] .sz-btn-ghost { background: rgba(10,122,107,0.08); color: var(--teal) !important; border-color: var(--teal); }
[data-theme="light"] .sz-btn-ghost:hover { background: var(--teal); color: #fff !important; }

/* ═══════════════════════════════════════════
   THEME TOGGLE BUTTON
═══════════════════════════════════════════ */
.sz-theme-toggle {
  display: flex; align-items: center; gap: 8px;
  background: var(--toggle-bg); border: 1.5px solid var(--toggle-bdr);
  border-radius: 50px; padding: 7px 16px; cursor: pointer;
  font-family: 'Manrope', sans-serif; font-size: 0.78rem; font-weight: 700;
  color: var(--toggle-txt); transition: var(--tr); white-space: nowrap;
}
.sz-theme-toggle:hover { transform: scale(1.04); }
[data-theme="dark"]  .t-sun  { display: inline; }
[data-theme="dark"]  .t-moon { display: none;   }
[data-theme="light"] .t-sun  { display: none;   }
[data-theme="light"] .t-moon { display: inline; }

/* ═══════════════════════════════════════════
   MOBILE NAV
═══════════════════════════════════════════ */
.sz-mob-nav {
  position: fixed; inset: 0; z-index: 9998;
  background: #0C1613; padding: 100px 28px 40px;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
  display: flex; flex-direction: column; gap: 4px;
}
.sz-mob-nav.open { transform: translateX(0); }
.sz-mob-nav a { display: block; padding: 14px 0; font-size: 1.1rem; font-weight: 700; color: rgba(255,255,255,0.8) !important; border-bottom: 1px solid rgba(255,255,255,0.06); }
.sz-mob-nav a:hover { color: var(--mint) !important; }
.sz-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.sz-hamburger span { display: block; width: 22px; height: 2px; border-radius: 2px; background: var(--text-logo); transition: var(--tr); }
@media(max-width:900px) {
  .sz-nav-links, .sz-nav-tel, .sz-nav-right .sz-btn { display: none !important; }
  .sz-hamburger { display: flex; }
}

/* ═══════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════ */
.sz-navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
  background: var(--bg-nav);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--bdr-nav);
  padding: 15px 28px;
  display: flex; align-items: center; justify-content: space-between;
  transition: all 0.3s;
}
.sz-navbar.scrolled { padding: 11px 28px; }
.sz-nav-logo { font-size: 1.45rem; font-weight: 900 !important; color: var(--text-logo) !important; letter-spacing: -0.04em; }
.sz-nav-logo span { color: var(--mint); }
.sz-nav-links { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.sz-nav-links a { padding: 8px 16px; border-radius: 8px; font-size: 0.875rem; font-weight: 600; color: var(--text-nav) !important; }
.sz-nav-links a:hover { color: var(--text-nav-h) !important; background: var(--bg-chip); }
.sz-nav-right { display: flex; align-items: center; gap: 10px; }
.sz-nav-tel { font-size: 0.82rem; font-weight: 600; color: var(--mint) !important; }

/* ═══════════════════════════════════════════
   HERO
═══════════════════════════════════════════ */
.sz-hero {
  background: var(--bg-hero);
  position: relative; overflow: hidden;
  padding: 160px 28px 100px; min-height: 100vh;
  display: flex; align-items: center;
  transition: background 0.4s;
}
.sz-hero-mesh {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 80% 60% at 70% 40%, var(--hero-m1) 0%, transparent 65%),
              radial-gradient(ellipse 50% 50% at 10% 80%, var(--hero-m2) 0%, transparent 60%);
  transition: all 0.4s;
}
.sz-hero-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(var(--hero-grid) 1px, transparent 1px),
                    linear-gradient(90deg, var(--hero-grid) 1px, transparent 1px);
  background-size: 60px 60px;
}
.sz-hero-inner { position: relative; z-index: 2; max-width: 820px; }
.sz-hero-badge {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--sl-bg-l); border: 1px solid var(--sl-bdr-l);
  color: var(--sl-txt-l); padding: 8px 18px; border-radius: 50px;
  font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; margin-bottom: 28px;
  animation: szFadeUp 0.6s ease both;
}
.sz-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); animation: szPulse 2s infinite; }
@keyframes szPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }
@keyframes szFadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.sz-hero h1 { color: var(--text-h) !important; margin-bottom: 24px; transition: color 0.4s; animation: szFadeUp 0.7s 0.1s ease both; }
.sz-hero h1 .sz-accent { color: var(--mint); }
.sz-hero h1 .sz-serif { font-family: 'DM Serif Display', serif !important; font-style: italic; font-weight: 400 !important; color: var(--mint-light); }
.sz-hero-sub { color: var(--text-sub) !important; font-size: 1.12rem; max-width: 620px; margin-bottom: 40px; transition: color 0.4s; animation: szFadeUp 0.7s 0.2s ease both; }
.sz-hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 64px; animation: szFadeUp 0.7s 0.3s ease both; }
.sz-hero-stats { display: flex; gap: 48px; flex-wrap: wrap; padding-top: 40px; border-top: 1px solid var(--hero-bdr); animation: szFadeUp 0.7s 0.4s ease both; transition: border-color 0.4s; }
.sz-stat-num { font-size: 2.4rem; font-weight: 900; color: var(--mint); line-height: 1; letter-spacing: -0.04em; }
.sz-stat-lbl { font-size: 0.78rem; color: var(--text-sub); margin-top: 4px; font-weight: 500; transition: color 0.4s; }

/* ═══════════════════════════════════════════
   TICKER
═══════════════════════════════════════════ */
.sz-ticker-wrap { background: var(--bg-ticker); overflow: hidden; padding: 14px 0; }
.sz-ticker { display: flex; animation: szTicker 30s linear infinite; width: max-content; }
.sz-ticker-item { display: flex; align-items: center; gap: 14px; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-ticker); padding: 0 28px; white-space: nowrap; }
.sz-ticker-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--mint-light); }
@keyframes szTicker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ═══════════════════════════════════════════
   WAY STRIP
═══════════════════════════════════════════ */
.sz-way { background: var(--bg-way); padding: 72px 28px; border-bottom: 1px solid var(--bdr-way); transition: all 0.4s; }
.sz-way-headline { font-family: 'DM Serif Display', serif !important; font-weight: 400 !important; font-style: italic; color: var(--text-way) !important; font-size: clamp(1.4rem,3vw,2.1rem); line-height: 1.5; text-align: center; margin-bottom: 48px; transition: color 0.4s; }
.sz-way-headline em { color: var(--mint); }
.sz-pillars { display: flex; justify-content: center; flex-wrap: wrap; }
.sz-pillar { text-align: center; padding: 0 32px; border-right: 1px solid var(--bdr-wayp); }
.sz-pillar:last-child { border-right: none; }
.sz-pillar-word { font-size: 1.1rem; font-weight: 900; color: var(--mint); letter-spacing: 0.05em; margin-bottom: 4px; }
.sz-pillar-desc { font-size: 0.78rem; color: var(--text-pill-d); font-weight: 500; transition: color 0.4s; }
@media(max-width:600px){ .sz-pillar{padding:12px 20px;border-right:none;border-bottom:1px solid var(--bdr-wayp);} }

/* ═══════════════════════════════════════════
   SERVICES
═══════════════════════════════════════════ */
.sz-services { background: var(--bg-services); padding: 96px 28px; transition: background 0.4s; }
.sz-svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--bdr-card); border: 1px solid var(--bdr-card); border-radius: 14px; overflow: hidden; margin-top: 56px; }
.sz-svc-card { background: var(--bg-svc-card); padding: 36px 32px; transition: var(--tr); position: relative; overflow: hidden; }
.sz-svc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--teal); transform:scaleX(0); transition:var(--tr); transform-origin:left; }
.sz-svc-card:hover { background: var(--bg-svc-hover); }
.sz-svc-card:hover::before { transform: scaleX(1); }
.sz-svc-num { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; color: var(--text-muted); text-transform: uppercase; margin-bottom: 16px; }
.sz-svc-icon { font-size: 2rem; margin-bottom: 14px; display: block; }
.sz-svc-card h3 { color: var(--text-svc-h3) !important; font-size: 1.15rem; margin-bottom: 10px; transition: color 0.4s; }
.sz-svc-card p { color: var(--text-svc-p) !important; font-size: 0.88rem; line-height: 1.75; margin: 0 0 18px; transition: color 0.4s; }
.sz-svc-link { font-size: 0.82rem; font-weight: 700; color: var(--mint) !important; letter-spacing: 0.04em; display: inline-flex; align-items: center; gap: 6px; transition: var(--tr); }
.sz-svc-link:hover { gap: 10px; color: var(--mint-light) !important; }
@media(max-width:900px){.sz-svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.sz-svc-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════
   STATS BAND
═══════════════════════════════════════════ */
.sz-stats { background: var(--bg-stats); padding: 60px 28px; }
.sz-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); text-align: center; }
.sz-stat-item { padding: 0 24px; border-right: 1px solid var(--stat-bdr); }
.sz-stat-item:last-child { border-right: none; }
.sz-stat-big { font-size: clamp(2.2rem,4vw,3rem); font-weight: 900; color: var(--text-stat-n); letter-spacing: -0.04em; line-height: 1; margin-bottom: 6px; }
.sz-stat-label { font-size: 0.82rem; color: var(--text-stat-l); font-weight: 600; }
@media(max-width:768px){ .sz-stats-grid{grid-template-columns:repeat(2,1fr);gap:24px;} .sz-stat-item{border-right:none;border-bottom:1px solid var(--stat-bdr);padding-bottom:24px;} }

/* ═══════════════════════════════════════════
   WHY SOULZI
═══════════════════════════════════════════ */
.sz-why { background: var(--bg-why); padding: 96px 28px; transition: background 0.4s; }
.sz-why-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.sz-big-quote { font-family: 'DM Serif Display', serif !important; font-style: italic; font-size: clamp(1.4rem,2.5vw,2rem); color: var(--text-quote) !important; line-height: 1.5; margin-bottom: 24px; transition: color 0.4s; }
.sz-big-quote em { color: var(--mint); font-style: normal; }
.sz-founder { display: flex; align-items: center; gap: 16px; background: var(--bdr-foundbg); border: 1px solid var(--bdr-found); border-radius: 14px; padding: 18px 22px; margin-top: 28px; transition: all 0.4s; }
.sz-founder-avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--teal); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 900; flex-shrink: 0; }
.sz-founder h4 { color: var(--text-found-h) !important; font-size: 1rem; margin-bottom: 2px; transition: color 0.4s; }
.sz-founder p { color: var(--text-found-p) !important; font-size: 0.82rem; margin: 0; transition: color 0.4s; }
.sz-value { display: flex; gap: 18px; align-items: flex-start; padding: 24px; background: var(--bg-val); border: 1px solid var(--bdr-val); border-radius: 14px; margin-bottom: 12px; transition: var(--tr); }
.sz-value:hover { background: var(--bg-chip); }
.sz-val-icon { font-size: 1.6rem; flex-shrink: 0; margin-top: 2px; }
.sz-value h4 { color: var(--text-why-h4) !important; font-size: 0.95rem; margin-bottom: 4px; transition: color 0.4s; }
.sz-value p { color: var(--text-why-p) !important; font-size: 0.85rem; margin: 0; line-height: 1.65; transition: color 0.4s; }
@media(max-width:768px){ .sz-why-wrap{grid-template-columns:1fr;gap:48px;} }

/* ═══════════════════════════════════════════
   PROCESS
═══════════════════════════════════════════ */
.sz-process { background: var(--bg-process); padding: 96px 28px; transition: background 0.4s; }
.sz-proc-wrap { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; margin-top: 56px; }
.sz-proc-card { background: var(--bg-proc); border: 1px solid var(--border); border-radius: 14px; padding: 40px 32px; transition: var(--tr); }
.sz-proc-card:hover { transform: translateY(-6px); box-shadow: var(--sh-lg); border-color: var(--mint); }
.sz-proc-num { font-size: 4rem; font-weight: 900; color: var(--proc-num-c); line-height: 1; margin-bottom: 16px; letter-spacing: -0.04em; }
.sz-proc-badge { display: inline-block; background: var(--proc-badge-bg); color: var(--teal); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; border-radius: 50px; margin-bottom: 12px; }
.sz-proc-card h3 { color: var(--text-dark) !important; font-size: 1.15rem; margin-bottom: 10px; }
.sz-proc-card p  { color: var(--text-muted) !important; font-size: 0.9rem; margin: 0; }
@media(max-width:768px){ .sz-proc-wrap{grid-template-columns:1fr;} }

/* ═══════════════════════════════════════════
   AUDIENCE / PLATFORMS
═══════════════════════════════════════════ */
.sz-audience { background: var(--bg-audience); padding: 80px 28px; transition: background 0.4s; }
.sz-aud-grid { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 40px; }
.sz-aud-chip { display: flex; align-items: center; gap: 10px; background: var(--bg-chip); border: 1px solid var(--bdr-chip); border-radius: 50px; padding: 12px 22px; transition: var(--tr); }
.sz-aud-chip:hover { background: var(--sl-bg-l); border-color: var(--sl-bdr-l); }
.sz-aud-icon { font-size: 1.1rem; }
.sz-aud-chip h4 { color: var(--text-aud-h4) !important; font-size: 0.9rem; margin: 0; transition: color 0.4s; }
.sz-aud-chip p  { color: var(--text-aud-p) !important; font-size: 0.75rem; margin: 0; transition: color 0.4s; }

.sz-platforms { background: var(--bg-platforms); padding: 72px 28px; transition: background 0.4s; }
.sz-plat-grid { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 40px; }
.sz-plat-chip { display: flex; align-items: center; gap: 10px; background: var(--bg-chip); border: 1px solid var(--bdr-chip); border-radius: 12px; padding: 14px 20px; min-width: 130px; transition: var(--tr); }
.sz-plat-chip:hover { background: var(--bg-val); transform: translateY(-2px); }
.sz-p-icon { font-size: 1.4rem; }
.sz-p-name { font-size: 0.88rem; font-weight: 700; color: var(--text-pname); transition: color 0.4s; }
.sz-p-cat  { font-size: 0.72rem; color: var(--text-pcat); transition: color 0.4s; }

/* ═══════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════ */
.sz-testi { background: var(--bg-testi); padding: 96px 28px; transition: background 0.4s; }
.sz-test-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 52px; }
.sz-test-card { background: var(--bg-page); border: 1px solid var(--border); border-radius: 14px; padding: 32px; border-top: 3px solid var(--mint); transition: var(--tr); }
.sz-test-card:hover { transform: translateY(-4px); box-shadow: var(--sh); }
.sz-test-stars { color: var(--gold); font-size: 0.9rem; margin-bottom: 14px; letter-spacing: 2px; }
.sz-test-text { font-style: italic; color: var(--text-body) !important; font-size: 0.95rem; line-height: 1.75; margin-bottom: 20px; }
.sz-test-author { font-weight: 800; color: var(--text-dark) !important; font-size: 0.9rem; }
.sz-test-role   { font-size: 0.78rem; color: var(--text-muted); }
@media(max-width:900px){ .sz-test-grid{grid-template-columns:1fr;} }
.sz-local-bar { background: var(--bg2); border: 1px solid var(--border); border-radius: 10px; padding: 14px 22px; display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 0.84rem; color: var(--text-body); }
.sz-local-bar strong { color: var(--teal); }

/* ═══════════════════════════════════════════
   PROMISE
═══════════════════════════════════════════ */
.sz-promise { background: var(--bg-prom); padding: 100px 28px; position: relative; overflow: hidden; }
.sz-promise::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse 70% 80% at 70% 50%, var(--prom-mesh) 0%, transparent 70%); pointer-events:none; }
.sz-promise-inner { position: relative; z-index: 2; max-width: 760px; }
.sz-promise h2 { color: var(--text-prom-h) !important; margin-bottom: 18px; transition: color 0.4s; }
.sz-promise h2 .hl { color: var(--mint); }
.sz-promise-p { color: var(--text-prom-p) !important; max-width: 580px; font-size: 1.05rem; transition: color 0.4s; }
.sz-soul-words { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0; }
.sz-soul-word { padding: 8px 18px; border-radius: 50px; border: 1px solid var(--bdr-prom); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.1em; color: var(--text-sw); transition: var(--tr); cursor: default; }
.sz-soul-word.active { background: var(--teal); color: #fff; border-color: var(--teal); }
.sz-promise-list { list-style: none; display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 28px 0 36px; }
.sz-promise-list li { font-size: 0.88rem; color: var(--text-prom-li); font-weight: 600; transition: color 0.4s; }

/* ═══════════════════════════════════════════
   CONTACT
═══════════════════════════════════════════ */
.sz-contact { background: var(--bg-contact); padding: 96px 28px; transition: background 0.4s; }
.sz-contact-wrap { display: grid; grid-template-columns: 1fr 1.2fr; gap: 72px; align-items: start; }
.sz-ci-item { display: flex; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--border); }
.sz-ci-item:last-of-type { border-bottom: none; }
.sz-ci-icon { width: 40px; height: 40px; border-radius: 10px; background: var(--cicon-bg); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.sz-ci-label { font-size: 0.72rem; font-weight: 800; color: var(--clbl); letter-spacing: 0.1em; text-transform: uppercase; }
.sz-ci-val { font-size: 0.93rem; font-weight: 600; color: var(--cval); }
.sz-form { background: var(--bg-form); border: 1px solid var(--border); border-radius: 14px; padding: 40px; transition: all 0.4s; }
.sz-form h3 { color: var(--text-dark); margin-bottom: 24px; font-size: 1.3rem; }
.sz-fg { margin-bottom: 18px; }
.sz-fg label { display: block; font-size: 0.8rem; font-weight: 700; color: var(--text-dark); margin-bottom: 6px; letter-spacing: 0.04em; }
.sz-fg input, .sz-fg select, .sz-fg textarea { width: 100%; padding: 13px 16px; border: 1.5px solid var(--border); border-radius: 10px; font-family: 'Manrope', sans-serif; font-size: 0.93rem; color: var(--text-body); background: var(--bg-input); transition: var(--tr); outline: none; }
.sz-fg input:focus, .sz-fg select:focus, .sz-fg textarea:focus { border-color: var(--teal); background: var(--bg-form); box-shadow: 0 0 0 3px rgba(10,122,107,0.08); }
.sz-fg textarea { min-height: 110px; resize: vertical; }
.sz-f-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media(max-width:600px){ .sz-f-row{grid-template-columns:1fr;} }
@media(max-width:900px){ .sz-contact-wrap{grid-template-columns:1fr;gap:48px;} }

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.sz-footer { background: #0C1613; padding: 72px 28px 32px; border-top: 1px solid rgba(255,255,255,0.06); }
.sz-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 56px; }
.sz-f-logo { font-size: 1.6rem; font-weight: 900 !important; color: #fff !important; letter-spacing: -0.04em; margin-bottom: 14px; display: block; }
.sz-f-logo span { color: var(--mint); }
.sz-f-desc { color: rgba(255,255,255,0.45); font-size: 0.88rem; line-height: 1.75; margin-bottom: 20px; }
.sz-f-socials { display: flex; gap: 10px; }
.sz-f-social { width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.09); display: flex; align-items: center; justify-content: center; font-size: 0.9rem; color: rgba(255,255,255,0.6) !important; transition: var(--tr); }
.sz-f-social:hover { background: var(--teal); color: #fff !important; }
.sz-f-col h5 { color: #fff; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 16px; }
.sz-f-col ul { list-style: none; padding: 0; margin: 0; }
.sz-f-col ul li { margin-bottom: 8px; }
.sz-f-col ul li a { font-size: 0.86rem; color: rgba(255,255,255,0.45) !important; font-weight: 500; }
.sz-f-col ul li a:hover { color: var(--mint) !important; }
.sz-f-bottom { padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.06); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.sz-f-bottom p { font-size: 0.8rem; color: rgba(255,255,255,0.30); margin: 0; }
@media(max-width:900px){ .sz-footer-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .sz-footer-grid{grid-template-columns:1fr;} }

/* ═══════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════ */
.sz-reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.sz-reveal.visible { opacity: 1; transform: translateY(0); }

/* ═══════════════════════════════════════════
   ELEMENTOR OVERRIDES
═══════════════════════════════════════════ */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Manrope', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
}
.elementor-widget-text-editor, .elementor-widget-text-editor p {
  font-family: 'Manrope', sans-serif !important;
}
.elementor-button {
  font-family: 'Manrope', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
}
/* Elementor section bg helpers */
.sz-dark   { background-color: #0C1613 !important; }
.sz-dark2  { background-color: #101E1B !important; }
.sz-dark3  { background-color: #162420 !important; }
.sz-bg-teal { background-color: var(--teal) !important; }
.sz-bg-light { background-color: var(--bg-process) !important; }
