/*
Theme Name: Dynamics Plus
Theme URI: https://dynamicsplusinc.com
Author: Dynamics Plus Inc
Author URI: https://dynamicsplusinc.com
Description: A modern, single-page retail technology landing theme for Dynamics Plus Inc. Features light/dark mode, an animated hero, tabbed solutions, pricing tiers and a contact form.
Version: 1.0.0
Requires at least: 5.8
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: dynamics-plus
*/

/* ══ THEME TOKENS ══ */
[data-theme="dark"] {
  --bg:          #0a1628;
  --bg-mid:      #0f2040;
  --bg-soft:     #162d55;
  --surface:     rgba(255,255,255,0.03);
  --surface-2:   rgba(255,255,255,0.06);
  --border:      rgba(255,255,255,0.08);
  --border-2:    rgba(255,255,255,0.14);
  --text:        #f1f5f9;
  --text-muted:  #94a3b8;
  --text-faint:  #475569;
  --electric:    #0ea5e9;
  --electric-dk: #0284c7;
  --teal:        #06b6d4;
  --green:       #10b981;
  --purple:      #8b5cf6;
  --amber:       #f59e0b;
  --electric-gl: rgba(14,165,233,0.14);
  --teal-gl:     rgba(6,182,212,0.13);
  --green-gl:    rgba(16,185,129,0.13);
  --purple-gl:   rgba(139,92,246,0.14);
  --nav-bg:      rgba(10,22,40,0.92);
  --hero-overlay:linear-gradient(90deg, rgba(10,22,40,0.88) 40%, rgba(10,22,40,0.55) 70%, rgba(10,22,40,0.2) 100%);
  --card-hover:  #162d55;
  --toggle-bg:   rgba(255,255,255,0.08);
}
[data-theme="light"] {
  --bg:          #f0f6ff;
  --bg-mid:      #ffffff;
  --bg-soft:     #e2f0fc;
  --surface:     rgba(255,255,255,0.75);
  --surface-2:   rgba(255,255,255,0.95);
  --border:      rgba(10,154,232,0.16);
  --border-2:    rgba(10,154,232,0.32);
  --text:        #0a1e36;
  --text-muted:  #2d5478;
  --text-faint:  #6a9bbd;
  --electric:    #0a9ae8;
  --electric-dk: #0277bd;
  --teal:        #06bcd4;
  --green:       #06b67a;
  --purple:      #7c4dff;
  --amber:       #ef8c00;
  --electric-gl: rgba(10,154,232,0.14);
  --teal-gl:     rgba(6,188,212,0.14);
  --green-gl:    rgba(6,182,122,0.14);
  --purple-gl:   rgba(124,77,255,0.13);
  --nav-bg:      rgba(240,246,255,0.95);
  --hero-overlay:linear-gradient(90deg, rgba(240,246,255,0.92) 40%, rgba(240,246,255,0.7) 70%, rgba(240,246,255,0.2) 100%);
  --card-hover:  #d4eaf8;
  --toggle-bg:   rgba(10,154,232,0.14);
}

/* ══ RESET ══ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  overflow-x: hidden;
  transition: background 0.35s ease, color 0.35s ease;
}

/* ══ BG (non-hero) ══ */
.bg-layer {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 80% 50% at 10% 0%, var(--electric-gl) 0%, transparent 60%),
    var(--bg);
  transition: background 0.35s;
}
[data-theme="light"] .bg-layer { opacity: 0.5; }
.bg-grid {
  position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0.3;
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size:80px 80px;
}

/* ══ NAV ══ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1.4rem 5%;
  display:flex; align-items:center; justify-content:space-between;
  transition: all 0.4s;
}
nav.scrolled {
  background: var(--nav-bg);
  backdrop-filter: blur(20px);
  padding:0.9rem 5%;
  border-bottom:1px solid var(--border);
}
.logo {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size:1.2rem; font-weight:700;
  color:var(--text); text-decoration:none;
  display:flex; align-items:center; gap:0.6rem; letter-spacing:-0.01em;
}
/* logo-mark replaced by img (transparent SVG) */
.logo-img { transition: opacity 0.35s; }
.nav-links { display:flex; gap:2.5rem; list-style:none; }
.nav-links a {
  font-size:0.88rem; font-weight:500; color:var(--text-muted);
  text-decoration:none; transition:color 0.3s;
}
.nav-links a:hover { color:var(--text); }
.nav-right { display:flex; align-items:center; gap:1rem; }
.nav-cta {
  background:var(--electric); color:#fff;
  padding:0.6rem 1.4rem; border-radius:6px;
  font-weight:600; font-size:0.85rem; text-decoration:none;
  transition:all 0.3s;
}
[data-theme="light"] .nav-cta { color:#fff; }
.nav-cta:hover { background:var(--teal); transform:translateY(-1px); }

/* ── THEME TOGGLE ── */
.theme-toggle {
  width:44px; height:26px;
  background:var(--toggle-bg); border:1px solid var(--border-2);
  border-radius:13px; cursor:pointer;
  position:relative; flex-shrink:0; transition:background 0.3s;
  padding:0;
}
.theme-toggle::after {
  content:'';
  position:absolute; top:3px; left:3px;
  width:18px; height:18px; border-radius:50%;
  background:var(--electric);
  transition:transform 0.3s, background 0.3s;
}
[data-theme="light"] .theme-toggle::after { transform:translateX(18px); background:var(--amber); }
.toggle-icon {
  position:absolute; top:50%; font-size:10px; pointer-events:none;
  transform:translateY(-50%);
}
.toggle-moon { left:5px; }
.toggle-sun  { right:4px; }

.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; }
.hamburger span { width:22px; height:2px; background:var(--text); border-radius:2px; }

/* ══ HERO ══ */
.hero {
  min-height:100vh;
  display:flex; align-items:center;
  padding:9rem 5% 5rem;
  position:relative; z-index:1;
  background-image: url('assets/img/hero-bg.png');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}
.hero::before {
  content:''; position:absolute; inset:0; z-index:0;
  background: var(--hero-overlay);
  transition: background 0.35s;
}
.hero-inner {
  max-width:1300px; margin:0 auto; width:100%;
  display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
  position:relative; z-index:1;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:0.5rem;
  border:1px solid rgba(14,165,233,0.35);
  background:rgba(14,165,233,0.08);
  padding:0.35rem 0.9rem; border-radius:50px;
  font-size:0.72rem; font-weight:600;
  color:var(--electric); letter-spacing:0.1em; text-transform:uppercase;
  margin-bottom:1.5rem;
}
[data-theme="light"] .hero-eyebrow {
  border-color:rgba(3,105,161,0.3); background:rgba(3,105,161,0.07);
}
.hero-eyebrow::before {
  content:''; width:6px; height:6px;
  background:var(--electric); border-radius:50%;
  animation:blink 2s ease infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0.3} }

h1 {
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight:700; line-height:1.1; letter-spacing:-0.025em;
  margin-bottom:1.25rem;
}
h1 .accent {
  background:linear-gradient(90deg, var(--electric), var(--teal));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub {
  font-size:1rem; color:var(--text-muted); max-width:460px;
  line-height:1.75; margin-bottom:2.25rem; font-weight:300;
}
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.btn-primary {
  background:var(--electric); color:#fff;
  padding:0.8rem 1.75rem; border-radius:6px;
  font-weight:600; font-size:0.88rem; text-decoration:none;
  display:inline-flex; align-items:center; gap:0.5rem; transition:all 0.3s;
}
[data-theme="light"] .btn-primary { color:#fff; }
.btn-primary:hover { background:var(--teal); transform:translateY(-2px); box-shadow:0 8px 24px rgba(14,165,233,0.3); }
.btn-outline {
  border:1px solid var(--border-2); color:var(--text);
  padding:0.8rem 1.75rem; border-radius:6px;
  font-weight:500; font-size:0.88rem; text-decoration:none;
  background:var(--surface); transition:all 0.3s;
  display:inline-flex; align-items:center; gap:0.5rem;
}
.btn-outline:hover { border-color:var(--electric); color:var(--electric); }

.hero-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.stat-box {
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px; padding:1.4rem;
  position:relative; overflow:hidden; transition:border-color 0.3s;
  backdrop-filter:blur(12px);
}
.stat-box:hover { border-color:var(--border-2); }
.stat-box::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--electric), var(--teal));
  opacity:0; transition:opacity 0.3s;
}
.stat-box:nth-child(2)::before { background:linear-gradient(90deg, var(--teal), var(--green)); }
.stat-box:nth-child(3)::before { background:linear-gradient(90deg, var(--green), var(--purple)); }
.stat-box:nth-child(4)::before { background:linear-gradient(90deg, var(--purple), var(--electric)); }
.stat-box:nth-child(2) .stat-num { background:linear-gradient(135deg, var(--teal), var(--green)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stat-box:nth-child(3) .stat-num { background:linear-gradient(135deg, var(--green), var(--teal)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stat-box:nth-child(4) .stat-num { background:linear-gradient(135deg, var(--purple), var(--electric)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.stat-box:hover::before { opacity:1; }
.stat-num {
  font-size:2.1rem; font-weight:700; letter-spacing:-0.04em;
  background:linear-gradient(135deg, var(--electric), var(--teal));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; line-height:1;
}
.stat-label { font-size:0.78rem; color:var(--text-muted); margin-top:0.3rem; }

/* ══ SECTION COMMONS ══ */
section { position:relative; z-index:1; }
.section-inner { max-width:1300px; margin:0 auto; padding:0 5%; }
.section-pad { padding:6rem 0; }
.eyebrow {
  font-size:0.7rem; font-weight:700;
  color:var(--electric); letter-spacing:0.14em; text-transform:uppercase;
  margin-bottom:0.85rem; display:block;
}
h2 {
  font-size:clamp(1.6rem, 2.8vw, 2.4rem);
  font-weight:700; line-height:1.15; letter-spacing:-0.025em;
}
.section-lead { font-size:0.97rem; color:var(--text-muted); max-width:520px; margin-top:0.85rem; font-weight:300; line-height:1.75; }
.section-header-block { margin-bottom:3.5rem; }
.center { text-align:center; }
.center .section-lead { margin:0.85rem auto 0; }

/* ══ ABOUT ══ */
.about-bg {
  background:var(--surface);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  transition:background 0.35s;
}
.about-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px;
  background:var(--border); border-radius:14px; overflow:hidden; margin-bottom:2.5rem;
}
.about-cell {
  background:var(--bg-mid); padding:2.25rem; transition:background 0.3s;
}
.about-cell:hover { background:var(--card-hover); }
.cell-icon {
  width:44px; height:44px; border-radius:9px;
  background:var(--electric-gl); border:1px solid var(--border-2);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem;
}
.cell-icon svg { width:20px; height:20px; stroke:var(--electric); fill:none; stroke-width:1.5; }
.about-cell:nth-child(1) .cell-icon { background:var(--electric-gl); border-color:var(--border-2); }
.about-cell:nth-child(1) .cell-icon svg { stroke:var(--electric); }
.about-cell:nth-child(2) .cell-icon { background:var(--teal-gl); border-color:rgba(6,182,212,0.3); }
.about-cell:nth-child(2) .cell-icon svg { stroke:var(--teal); }
.about-cell:nth-child(3) .cell-icon { background:var(--purple-gl); border-color:rgba(139,92,246,0.3); }
.about-cell:nth-child(3) .cell-icon svg { stroke:var(--purple); }
.about-cell h3 { font-size:1.05rem; font-weight:600; margin-bottom:0.65rem; letter-spacing:-0.015em; }
.about-cell p { font-size:0.88rem; color:var(--text-muted); line-height:1.7; font-weight:300; }
.values-strip { display:flex; gap:0.75rem; flex-wrap:wrap; }
.value-pill {
  display:flex; align-items:center; gap:0.55rem;
  padding:0.5rem 1rem; border-radius:50px;
  border:1px solid var(--border); background:var(--surface);
  font-size:0.82rem; font-weight:500; color:var(--text-muted); transition:all 0.3s;
}
.value-pill:hover { border-color:var(--border-2); color:var(--text); }
.value-dot { width:7px; height:7px; border-radius:50%; background:var(--electric); flex-shrink:0; }
.value-pill:nth-child(2) .value-dot { background:var(--teal); }
.value-pill:nth-child(3) .value-dot { background:var(--green); }
.value-pill:nth-child(4) .value-dot { background:var(--purple); }
.value-pill:nth-child(5) .value-dot { background:var(--amber); }
.value-pill:nth-child(6) .value-dot { background:var(--electric); }

/* ══ SOLUTIONS ══ */
.solutions-tabs { display:flex; gap:0.5rem; margin-bottom:2.75rem; flex-wrap:wrap; }
.tab-btn {
  padding:0.55rem 1.1rem; border-radius:6px; font-size:0.83rem; font-weight:600;
  background:transparent; border:1px solid var(--border); color:var(--text-muted);
  cursor:pointer; transition:all 0.3s; font-family:'Plus Jakarta Sans', sans-serif;
}
.tab-btn.active, .tab-btn:hover { background:var(--electric); color:#fff; border-color:var(--electric); }
.solution-panel { display:none; }
.solution-panel.active { display:grid; grid-template-columns:1fr 1.6fr; gap:3rem; align-items:start; }
.solution-info { position:sticky; top:7rem; }
.solution-num {
  font-size:3.5rem; font-weight:700;
  line-height:1; margin-bottom:0.85rem;
  background:linear-gradient(135deg, var(--electric), var(--teal));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
#tab-pricechecker .solution-num { background:linear-gradient(135deg, var(--teal), var(--green)); -webkit-background-clip:text; background-clip:text; }
#tab-inventory .solution-num { background:linear-gradient(135deg, var(--purple), var(--electric)); -webkit-background-clip:text; background-clip:text; }
.solution-info h3 { font-size:1.45rem; font-weight:600; margin-bottom:0.85rem; letter-spacing:-0.02em; }
.solution-info p { font-size:0.9rem; color:var(--text-muted); line-height:1.75; font-weight:300; margin-bottom:1.25rem; }
.solution-badge {
  background:var(--electric-gl); border:1px solid var(--border-2);
  padding:0.3rem 0.75rem; border-radius:4px; font-size:0.72rem;
  font-weight:600; color:var(--electric); letter-spacing:0.04em;
  margin-bottom:0.4rem; display:block; width:fit-content;
}
.service-rows { display:flex; flex-direction:column; gap:1px; background:var(--border); border-radius:12px; overflow:hidden; }
.service-row { background:var(--bg-mid); padding:1.4rem 1.75rem; }
.service-row-head {
  display:flex; align-items:center; gap:0.65rem; margin-bottom:0.85rem;
  font-size:0.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:0.12em; color:var(--electric);
}
.service-row-head svg { width:14px; height:14px; stroke:var(--electric); fill:none; stroke-width:2; }
.service-items { display:flex; flex-direction:column; gap:0.45rem; }
.service-item {
  display:flex; align-items:flex-start; gap:0.7rem;
  font-size:0.87rem; color:var(--text-muted); line-height:1.5;
}
.service-item::before {
  content:''; width:4px; height:4px; border-radius:50%;
  background:var(--teal); margin-top:0.55rem; flex-shrink:0;
}
.subscription-note {
  margin-top:0.65rem; padding:0.45rem 0.75rem;
  background:rgba(245,158,11,0.07); border:1px solid rgba(245,158,11,0.2);
  border-radius:4px; font-size:0.75rem; color:#fbbf24; font-style:italic;
}
[data-theme="light"] .subscription-note { color:#b45309; background:rgba(217,119,6,0.07); border-color:rgba(217,119,6,0.2); }

/* ══ SPECIALISED ══ */
.spec-bg { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.spec-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border-radius:14px; overflow:hidden; }
.spec-card { background:var(--bg-mid); padding:1.85rem; transition:background 0.3s; position:relative; }
.spec-card:hover { background:var(--card-hover); }
.spec-card.featured-spec { background:var(--purple-gl); }
.spec-card .new-tag {
  position:absolute; top:1.1rem; right:1.1rem;
  background:var(--amber); color:#0f2040;
  font-size:0.62rem; font-weight:800; padding:0.18rem 0.45rem;
  border-radius:3px; letter-spacing:0.06em;
}
.spec-icon { width:42px; height:42px; border-radius:9px; margin-bottom:1.1rem; display:flex; align-items:center; justify-content:center; }
.spec-icon svg { width:20px; height:20px; stroke-width:1.5; fill:none; }
.spec-card h3 { font-size:0.95rem; font-weight:600; margin-bottom:0.5rem; letter-spacing:-0.015em; }
.spec-card p { font-size:0.82rem; color:var(--text-muted); line-height:1.65; font-weight:300; }

/* ══ PRICING ══ */
.pricing-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.plan-card {
  border:1px solid var(--border); border-radius:13px;
  padding:1.85rem 1.6rem; background:var(--surface);
  display:flex; flex-direction:column;
  transition:all 0.4s; position:relative; overflow:hidden;
}
.plan-card:hover { border-color:var(--border-2); transform:translateY(-3px); }
.plan-card.featured-plan {
  background:linear-gradient(160deg, var(--electric-dk), #075985);
  border-color:transparent;
  box-shadow:0 0 50px rgba(14,165,233,0.2);
}
[data-theme="light"] .plan-card.featured-plan {
  background:linear-gradient(160deg, #0369a1, #075985);
}
.plan-badge {
  position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  background:var(--amber); color:#0f2040;
  font-size:0.62rem; font-weight:800; padding:0.25rem 0.9rem;
  border-radius:0 0 5px 5px; letter-spacing:0.07em; white-space:nowrap;
}
.plan-tier { font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--text-muted); margin-bottom:0.3rem; }
.featured-plan .plan-tier { color:rgba(255,255,255,0.65); }
.plan-name { font-size:1.3rem; font-weight:700; margin-bottom:0.9rem; letter-spacing:-0.025em; }
.plan-price-row { display:flex; align-items:baseline; gap:0.3rem; margin-bottom:0.2rem; }
.plan-price { font-size:1.85rem; font-weight:700; letter-spacing:-0.04em; }
.plan-currency { font-size:0.95rem; font-weight:600; color:var(--text-muted); }
.featured-plan .plan-currency { color:rgba(255,255,255,0.6); }
.plan-period { font-size:0.75rem; color:var(--text-muted); margin-bottom:1.25rem; }
.featured-plan .plan-period { color:rgba(255,255,255,0.55); }
.plan-divider { border:none; border-top:1px solid var(--border); margin:0 0 1.25rem; }
.featured-plan .plan-divider { border-top-color:rgba(255,255,255,0.15); }
.plan-features { list-style:none; display:flex; flex-direction:column; gap:0.55rem; margin-bottom:1.75rem; flex:1; }
.plan-features li { font-size:0.82rem; color:var(--text-muted); display:flex; gap:0.55rem; align-items:flex-start; line-height:1.45; }
.featured-plan .plan-features li { color:rgba(255,255,255,0.82); }
.plan-features li::before { content:'✓'; color:var(--electric); font-weight:700; font-size:0.78rem; flex-shrink:0; margin-top:0.05rem; }
.featured-plan .plan-features li::before { color:var(--amber); }
.plan-cta {
  display:block; text-align:center; padding:0.75rem;
  border-radius:6px; font-weight:600; font-size:0.83rem; text-decoration:none;
  border:1px solid var(--border-2); color:var(--electric);
  background:transparent; transition:all 0.3s;
}
.plan-cta:hover { background:var(--electric); color:#fff; border-color:var(--electric); }
.featured-plan .plan-cta { background:#fff; color:var(--electric-dk); border-color:transparent; }
[data-theme="light"] .featured-plan .plan-cta { color:#075985; }
.featured-plan .plan-cta:hover { background:var(--amber); color:#0f2040; }
.pricing-footnote { text-align:center; margin-top:1.75rem; font-size:0.8rem; color:var(--text-muted); }
.pricing-footnote a { color:var(--electric); text-decoration:none; }

/* ══ WHY US ══ */
.why-bg { background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.why-layout { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.why-list { display:flex; flex-direction:column; gap:0; }
.why-item {
  padding:1.35rem 0; border-bottom:1px solid var(--border);
  display:flex; gap:1.1rem; align-items:flex-start; cursor:default;
}
.why-item:last-child { border-bottom:none; }
.why-item:hover .why-num { color:var(--electric); }
.why-num { font-size:0.7rem; font-weight:700; letter-spacing:0.05em; flex-shrink:0; margin-top:0.25rem; }
.why-item:nth-child(1) .why-num { color:var(--electric); }
.why-item:nth-child(2) .why-num { color:var(--teal); }
.why-item:nth-child(3) .why-num { color:var(--green); }
.why-item:nth-child(4) .why-num { color:var(--purple); }
.why-item:nth-child(5) .why-num { color:var(--amber); }
.why-item h4 { font-size:0.95rem; font-weight:600; margin-bottom:0.3rem; letter-spacing:-0.01em; }
.why-item p { font-size:0.84rem; color:var(--text-muted); line-height:1.65; font-weight:300; }
.why-visual {
  background:var(--bg-mid); border:1px solid var(--border); border-radius:14px; padding:2.25rem;
  transition:background 0.35s;
}
.why-visual h3 { font-size:1.05rem; font-weight:600; margin-bottom:1.35rem; letter-spacing:-0.015em; }
.process-steps { display:flex; flex-direction:column; gap:0; }
.p-step { display:flex; gap:1rem; align-items:flex-start; padding:0.9rem 0; border-bottom:1px solid var(--border); }
.p-step:last-child { border-bottom:none; }
.p-step-num {
  width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-size:0.72rem; font-weight:700;
}
.p-step:nth-child(1) .p-step-num { background:var(--electric-gl); border:1px solid rgba(10,154,232,0.3); color:var(--electric); }
.p-step:nth-child(2) .p-step-num { background:var(--teal-gl); border:1px solid rgba(6,182,212,0.3); color:var(--teal); }
.p-step:nth-child(3) .p-step-num { background:var(--green-gl); border:1px solid rgba(16,185,129,0.3); color:var(--green); }
.p-step:nth-child(4) .p-step-num { background:var(--purple-gl); border:1px solid rgba(139,92,246,0.3); color:var(--purple); }
.p-step-title { font-size:0.87rem; font-weight:600; margin-bottom:0.15rem; }
.p-step-desc { font-size:0.78rem; color:var(--text-muted); font-weight:300; line-height:1.5; }

/* ══ TESTIMONIALS ══ */
.testi-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.testi-card {
  background:var(--bg-mid); border:1px solid var(--border); border-radius:14px;
  padding:2.25rem; position:relative; transition:border-color 0.3s, background 0.35s;
}
.testi-card:hover { border-color:var(--border-2); }
.quote-mark {
  font-family:Georgia,serif; font-size:4.5rem; line-height:1;
  color:var(--electric-gl); position:absolute; top:1.25rem; right:1.75rem;
  -webkit-text-stroke:1px var(--border-2);
}
.testi-text { font-size:0.93rem; color:var(--text-muted); line-height:1.8; margin-bottom:1.4rem; font-weight:300; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:0.85rem; }
.testi-avatar {
  width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg, var(--electric), var(--teal));
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:0.75rem; color:#fff; flex-shrink:0;
}
.testi-name { font-size:0.88rem; font-weight:600; }
.testi-role { font-size:0.75rem; color:var(--text-muted); }

/* ══ CONTACT ══ */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.contact-left p { font-size:0.92rem; color:var(--text-muted); line-height:1.75; margin:1rem 0 1.75rem; font-weight:300; }
.contact-methods { display:flex; flex-direction:column; gap:0.85rem; margin-bottom:2rem; }
.contact-method {
  display:flex; align-items:center; gap:0.8rem;
  font-size:0.87rem; color:var(--text-muted);
}
.contact-method svg { width:16px; height:16px; stroke:var(--electric); fill:none; stroke-width:1.5; flex-shrink:0; }
.free-consult {
  background:var(--bg-mid); border:1px solid var(--border); border-radius:11px; padding:1.35rem;
  transition:background 0.35s;
}
.free-consult h4 {
  font-size:0.9rem; font-weight:600;
  margin-bottom:0.9rem; display:flex; align-items:center; gap:0.45rem;
}
.free-consult h4 svg { width:16px; height:16px; stroke:var(--amber); fill:none; stroke-width:1.5; }
.consult-items { display:flex; flex-direction:column; gap:0.4rem; }
.consult-item { font-size:0.8rem; color:var(--text-muted); display:flex; align-items:center; gap:0.45rem; }
.consult-item::before { content:'—'; color:var(--electric); font-weight:700; }
.contact-form { background:var(--bg-mid); border:1px solid var(--border); border-radius:14px; padding:2.25rem; transition:background 0.35s; }
.contact-form h3 { font-size:1.1rem; font-weight:600; margin-bottom:1.5rem; letter-spacing:-0.015em; }
.form-group { display:flex; flex-direction:column; gap:0.35rem; margin-bottom:1.1rem; }
.form-group label { font-size:0.72rem; font-weight:600; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.07em; }
.form-group input, .form-group select, .form-group textarea {
  background:var(--surface); border:1px solid var(--border);
  border-radius:6px; padding:0.7rem 0.9rem; color:var(--text);
  font-family:'Plus Jakarta Sans',sans-serif; font-size:0.87rem; outline:none;
  transition:border-color 0.3s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--border-2); }
.form-group select option { background:var(--bg-mid); color:var(--text); }
.form-group textarea { resize:vertical; min-height:85px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-submit {
  width:100%; padding:0.9rem; background:var(--electric); color:#fff;
  border:none; border-radius:6px; font-weight:600; font-size:0.88rem;
  cursor:pointer; font-family:'Plus Jakarta Sans',sans-serif;
  transition:all 0.3s; display:flex; align-items:center; justify-content:center; gap:0.45rem;
}
.form-submit:hover { background:var(--teal); transform:translateY(-1px); }

/* ══ FOOTER ══ */
footer {
  border-top:1px solid var(--border);
  padding:2.5rem 5%; position:relative; z-index:1;
  background:var(--bg-mid); transition:background 0.35s;
}
.footer-inner {
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem;
}
.footer-brand p { font-size:0.78rem; color:var(--text-muted); margin-top:0.3rem; font-style:italic; }
.footer-links { display:flex; gap:2rem; }
.footer-links a { font-size:0.82rem; color:var(--text-muted); text-decoration:none; transition:color 0.3s; }
.footer-links a:hover { color:var(--text); }
.footer-copy { font-size:0.75rem; color:var(--text-muted); text-align:right; }

/* ══ SCROLL ANIMATION ══ */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease, transform 0.6s ease; }
.reveal.in { opacity:1; transform:translateY(0); }

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){
  .hero-inner,.contact-layout,.why-layout { grid-template-columns:1fr; }
  .hero-stats { grid-template-columns:repeat(4,1fr); }
  .about-grid { grid-template-columns:1fr; }
  .solution-panel.active { grid-template-columns:1fr; }
  .solution-info { position:static; }
  .spec-grid { grid-template-columns:repeat(2,1fr); }
  .pricing-grid { grid-template-columns:repeat(2,1fr); }
  .testi-grid { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; text-align:center; }
  .footer-links { justify-content:center; }
  .footer-copy { text-align:center; }
  nav { padding:1rem 5%; }
  .nav-links,.nav-cta { display:none; }
  .hamburger { display:flex; }
  .nav-right { gap:0.75rem; }
}
@media(max-width:640px){
  .hero-stats { grid-template-columns:repeat(2,1fr); }
  .spec-grid { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .plan-card.featured-plan { order:-1; }
}