/*
Theme Name: TechNexus Pro
Theme URI: https://apni-chhat.com
Author: TechNexus
Author URI: https://apni-chhat.com
Description: Full-service IT & Digital Agency theme for USA, Jamaica, and Pakistan. Elementor compatible.
Version: 3.1
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: technexus
Tags: technology, business, elementor, one-page, custom-colors, custom-logo, full-width-template
*/

/* ═══════════════════════════════════════════════════════════
   CSS VARIABLES
═══════════════════════════════════════════════════════════ */
:root {
  --bg:       #070810;
  --bg2:      #0b0d18;
  --surface:  #111422;
  --surface2: #161926;
  --card:     #16161f;
  --border:   rgba(255,255,255,.07);
  --white:    #ffffff;
  --muted:    rgba(255,255,255,.48);
  --text:     rgba(255,255,255,.88);
  /* Primary accent = orange/gold (matching HTML design) */
  --accent:   #f5a623;
  --accent2:  #00c2ff;
  --accent3:  #8b5cf6;
  /* Keep --blue alias pointing to accent2 for backwards compat */
  --blue:     #00c2ff;
  --blue2:    #66e0ff;
  --orange:   #f5a623;
  --green:    #00d4aa;
  --grad:     linear-gradient(135deg,#f5a623,#ffcc66);
  --grad-btn: linear-gradient(135deg,#f5a623,#ff8c00);
  --shadow:   0 4px 24px rgba(0,0,0,.5);
  --radius:   14px;
  --radius-sm:8px;
  --nav-h:    72px;
  --font-head:'Syne',sans-serif;
  --font-body:'DM Sans',sans-serif;
  --transition:0.3s ease;
  --ease:     cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ═══════════════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--white);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { cursor:pointer; font-family:inherit; }

/* ═══════════════════════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════════════════════ */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-head);
  line-height: 1.15;
  font-weight: 700;
  color: var(--white);
}
h1 { font-size:clamp(2.4rem,6vw,4.2rem); font-weight:800; }
h2 { font-size:clamp(1.8rem,4vw,2.8rem); }
h3 { font-size:clamp(1.1rem,2.5vw,1.4rem); }
p  { color: var(--muted); line-height:1.75; }
em { font-style:normal; color:var(--muted); }

/* ═══════════════════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════════════════ */
#tn-page { min-height:100vh; display:flex; flex-direction:column; }
.site-main { flex:1; padding-top:var(--nav-h); }
.tn-container { max-width:1200px; margin:0 auto; padding:0 2rem; }

/* Full width for Elementor */
body.tn-elementor-page .site-main { padding:0 !important; }
body.tn-elementor-page #tn-page  { padding-top:var(--nav-h); }

/* ═══════════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════════ */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.85rem 1.8rem;
  border-radius:50px;
  font-weight:600; font-size:.92rem;
  transition:var(--transition);
  border:2px solid transparent;
  white-space:nowrap;
}
.btn-primary {
  background: var(--grad);
  color:#000;
  box-shadow:0 4px 20px rgba(245,166,35,.35);
}
.btn-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(245,166,35,.5);
  color:#000;
}
.btn-outline {
  border-color: var(--border);
  color:var(--white);
  background:rgba(255,255,255,.04);
}
.btn-outline:hover {
  border-color:var(--accent);
  color:var(--accent);
  background:rgba(245,166,35,.08);
}
.btn-sm { padding:.55rem 1.2rem; font-size:.82rem; }

/* ═══════════════════════════════════════════════════════════
   NAVIGATION
═══════════════════════════════════════════════════════════ */
#tn-header {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  background: rgba(10,10,15,.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  height: var(--nav-h);
}
.tn-nav {
  display:flex; align-items:center; gap:1.5rem;
  max-width:1280px; margin:0 auto; padding:0 2rem;
  height:100%;
}
.tn-logo {
  display:flex; align-items:center; gap:.65rem;
  font-family:var(--font-head); font-weight:800; font-size:1.1rem;
  color:var(--white);
  flex-shrink:0;
}
.tn-logo-icon {
  width:36px; height:36px;
  border-radius:10px;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:.95rem; color:#000;
  flex-shrink:0;
}
.tn-logo span { color:var(--accent); }
.tn-menu { display:flex; align-items:center; gap:.25rem; margin-left:auto; }
.tn-menu a {
  padding:.5rem .85rem; border-radius:8px;
  font-size:.88rem; font-weight:500; color:var(--muted);
  transition:var(--transition);
}
.tn-menu a:hover, .tn-menu a.active {
  color:var(--white); background:rgba(255,255,255,.06);
}
.tn-nav-cta {
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.55rem 1.2rem;
  background:var(--accent); color:#000;
  border-radius:50px; font-size:.84rem; font-weight:700;
  transition:var(--transition);
  flex-shrink:0;
}
.tn-nav-cta:hover { transform:translateY(-1px); box-shadow:0 4px 18px rgba(245,166,35,.4); color:#000; }

/* Hamburger */
.tn-hamburger {
  display:none; flex-direction:column; gap:5px;
  background:transparent; border:none; padding:.5rem; margin-left:auto;
}
.tn-hamburger span {
  display:block; width:24px; height:2px;
  background:var(--white); border-radius:2px;
  transition:var(--transition);
}
.tn-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.tn-hamburger.open span:nth-child(2) { opacity:0; }
.tn-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.tn-mobile-menu {
  display:none; flex-direction:column; gap:.25rem;
  padding:1rem 1.5rem 1.5rem;
  background:rgba(10,10,15,.98);
  border-top:1px solid var(--border);
  position:fixed; top:var(--nav-h); left:0; right:0;
  z-index:999;
  transform:translateY(-110%);
  transition:transform .35s ease;
}
.tn-mobile-menu.open { display:flex; transform:translateY(0); }
.tn-mobile-menu a {
  padding:.75rem 1rem; border-radius:10px;
  font-size:.95rem; font-weight:500; color:var(--muted);
  transition:var(--transition);
}
.tn-mobile-menu a:hover { color:var(--white); background:rgba(255,255,255,.06); }
.tn-mobile-menu .btn { margin-top:.5rem; justify-content:center; }

/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
.tn-hero {
  min-height: calc(100vh - var(--nav-h));
  display:grid; grid-template-columns:1fr 1fr; align-items:center;
  gap:4rem; max-width:1280px; margin:0 auto; padding:5rem 2rem 3rem;
  position:relative;
}
.hero-bg {
  position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 80% at 20% 50%,rgba(245,166,35,.12) 0%,transparent 60%),
             radial-gradient(ellipse 60% 60% at 80% 20%,rgba(139,92,246,.08) 0%,transparent 50%);
  pointer-events:none; z-index:-1;
}
.hero-grid-lines {
  position:absolute; inset:0; opacity:.04;
  background-image:
    linear-gradient(var(--white) 1px,transparent 1px),
    linear-gradient(90deg,var(--white) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none; z-index:-1;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.45rem 1rem; border-radius:50px;
  border:1px solid rgba(245,166,35,.3);
  background:rgba(245,166,35,.08);
  font-size:.82rem; font-weight:600; color:var(--accent);
  margin-bottom:1.5rem;
}
.hero-badge .dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--green);
  animation:pulse 2s infinite;
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:.5; transform:scale(.85); }
}
.hero-content h1 { margin-bottom:1.25rem; color:var(--white); }
/* Orange/gold gradient for <em> — "Smart IT" */
.hero-content h1 em {
  font-style:normal; display:inline;
  background:linear-gradient(135deg,var(--accent),#ffcc66);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
/* Cyan for .blue span — "Web Solutions" */
.hero-content h1 .blue {
  background:linear-gradient(135deg,var(--accent2),#66e0ff);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  display:block;
}
.hero-desc { font-size:1.08rem; max-width:480px; margin-bottom:2rem; }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.hero-stats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem;
  padding-top:2rem; border-top:1px solid var(--border);
}
.stat-num { font-family:var(--font-head); font-size:1.6rem; font-weight:800; color:var(--white); }
.stat-num b { color:var(--accent); }
.stat-lbl { font-size:.78rem; color:var(--muted); margin-top:.15rem; }

/* Hero image */
.hero-img-wrap { position:relative; }
.hero-img-inner { border-radius:20px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.hero-img-inner img { width:100%; height:480px; object-fit:cover; }
.hero-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(245,166,35,.15),transparent);
  border-radius:20px;
}

/* Floating cards */
.fc {
  position:absolute; display:flex; align-items:center; gap:.65rem;
  background:rgba(22,22,31,.95); border:1px solid var(--border);
  border-radius:12px; padding:.65rem 1rem;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  font-size:.82rem; animation:float 6s ease-in-out infinite;
}
.fc-a { bottom:20%; left:-14%; animation-delay:0s; }
.fc-b { top:15%; right:-10%; animation-delay:2s; }
.fc-c { bottom:8%; right:-5%; animation-delay:4s; }
.fc-icon { font-size:1.2rem; }
.fc-text { display:flex; flex-direction:column; }
.fc-text strong { color:var(--white); font-weight:600; font-size:.82rem; line-height:1.2; }
.fc-text span { color:var(--muted); font-size:.72rem; }
.fc-dot { width:8px; height:8px; border-radius:50%; background:var(--green); margin-left:.5rem; }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }

/* ═══════════════════════════════════════════════════════════
   TICKER
═══════════════════════════════════════════════════════════ */
.tn-ticker {
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:.85rem 0; overflow:hidden; background:var(--surface);
}
.tn-ticker-inner { display:flex; gap:0; animation:ticker 30s linear infinite; width:max-content; }
.tn-ticker-item {
  padding:0 2rem; color:var(--muted); font-size:.85rem; font-weight:500;
  white-space:nowrap;
}
.tn-ticker-item i { color:var(--accent); font-style:normal; margin-right:.5rem; }
@keyframes ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ═══════════════════════════════════════════════════════════
   SECTIONS
═══════════════════════════════════════════════════════════ */
.tn-section { padding:6rem 2rem; max-width:1200px; margin:0 auto; }
.tn-section.dark {
  max-width:100%; padding:6rem 2rem;
  background:var(--surface);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.tn-section.dark > * { max-width:1200px; margin-left:auto; margin-right:auto; }
.sec-head { margin-bottom:3.5rem; }
.sec-label {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent); margin-bottom:.75rem;
}
.sec-label::before { content:''; width:20px; height:2px; background:var(--accent); }
.sec-title { margin-bottom:1rem; }
.sec-sub { max-width:560px; font-size:1.05rem; }

/* ═══════════════════════════════════════════════════════════
   CARDS GRID
═══════════════════════════════════════════════════════════ */
.cards-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:1.5rem;
}
.card {
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.8rem;
  transition:var(--transition);
}
.card:hover { border-color:rgba(245,166,35,.4); transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.4); }
.card-icon { font-size:2rem; margin-bottom:1rem; }
.card h3 { margin-bottom:.5rem; font-size:1.05rem; }
.card p { font-size:.9rem; }

/* ═══════════════════════════════════════════════════════════
   SERVICES LIST
═══════════════════════════════════════════════════════════ */
.service-list { display:flex; flex-direction:column; gap:1rem; }
.service-row {
  display:flex; align-items:center; gap:2rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.8rem 2rem;
  transition:var(--transition);
}
.service-row:hover { border-color:rgba(245,166,35,.4); transform:translateX(6px); background:rgba(245,166,35,.04); }
.srv-n { font-family:var(--font-head); font-size:2.5rem; font-weight:800; color:rgba(245,166,35,.2); flex-shrink:0; width:60px; }
.srv-info { flex:1; }
.srv-info h3 { font-size:1.15rem; margin-bottom:.4rem; }
.srv-info p { font-size:.9rem; margin-bottom:.75rem; }
.srv-tags { display:flex; flex-wrap:wrap; gap:.5rem; }
.tag { padding:.3rem .8rem; border-radius:6px; font-size:.76rem; font-weight:600; background:rgba(245,166,35,.12); color:var(--accent); }
.tag.o { background:rgba(255,107,53,.12); color:var(--orange); }
.srv-arr { font-size:1.4rem; color:var(--muted); flex-shrink:0; transition:var(--transition); }
.service-row:hover .srv-arr { color:var(--accent); transform:translateX(4px); }

/* ═══════════════════════════════════════════════════════════
   NUMBERS BAR
═══════════════════════════════════════════════════════════ */
.numbers-bar {
  background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:4rem 2rem;
}
.numbers-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:2rem; max-width:1000px; margin:0 auto; text-align:center;
}
.num-val { font-family:var(--font-head); font-size:2.4rem; font-weight:800; color:var(--white); }
.num-val b { color:var(--accent); }
.num-lbl { font-size:.85rem; color:var(--muted); margin-top:.25rem; }

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════════ */
.testi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.testi-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:2rem;
  transition:var(--transition);
}
.testi-card:hover { border-color:rgba(245,166,35,.3); }
.stars { color:#f59e0b; font-size:1rem; margin-bottom:1rem; letter-spacing:2px; }
.testi-text { font-size:.95rem; color:var(--white); line-height:1.7; margin-bottom:1.25rem; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:.85rem; }
.avatar {
  width:44px; height:44px; border-radius:50%;
  background:var(--grad); display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:1rem; color:#fff; flex-shrink:0;
}
.author-name { font-weight:600; font-size:.9rem; color:var(--white); }
.author-role { font-size:.78rem; color:var(--muted); }

/* ═══════════════════════════════════════════════════════════
   TECH GRID
═══════════════════════════════════════════════════════════ */
.tech-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(100px,1fr));
  gap:1rem; max-width:900px; margin:0 auto;
}
.tech-item {
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.25rem .75rem;
  transition:var(--transition); text-align:center;
}
.tech-item:hover { border-color:rgba(245,166,35,.4); transform:translateY(-3px); }
.tech-icon { font-size:1.8rem; }
.tech-item span { font-size:.78rem; font-weight:600; color:var(--muted); }

/* ═══════════════════════════════════════════════════════════
   IMAGE SPLIT
═══════════════════════════════════════════════════════════ */
.img-split {
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
}
.img-split.rev { direction:rtl; }
.img-split.rev > * { direction:ltr; }
.img-block { position:relative; border-radius:var(--radius); overflow:visible; }
.img-block img { border-radius:var(--radius); width:100%; height:400px; object-fit:cover; }
.img-badge {
  position:absolute; bottom:-1rem; right:-1rem;
  display:flex; align-items:center; gap:.75rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:12px; padding:.75rem 1.1rem;
  box-shadow:var(--shadow);
}
.bi { font-size:1.4rem; }
.img-badge strong { display:block; font-size:.85rem; font-weight:700; color:var(--white); }
.img-badge span { font-size:.75rem; color:var(--muted); }
.img-exp {
  position:absolute; top:-1rem; left:-1rem;
  background:var(--grad); border-radius:12px; padding:.75rem 1rem;
  text-align:center; box-shadow:0 8px 24px rgba(245,166,35,.4);
}
.en { font-family:var(--font-head); font-size:1.5rem; font-weight:800; color:#fff; line-height:1; }
.et { font-size:.72rem; color:rgba(255,255,255,.8); }

/* ═══════════════════════════════════════════════════════════
   PROCESS STEPS
═══════════════════════════════════════════════════════════ */
.process-steps { display:flex; flex-direction:column; gap:1.5rem; }
.process-step {
  display:flex; align-items:flex-start; gap:1.5rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.75rem;
}
.step-circle {
  width:52px; height:52px; border-radius:50%;
  background:var(--grad); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-head); font-weight:800; font-size:.9rem; color:#fff;
  flex-shrink:0;
}
.process-step h3 { margin-bottom:.35rem; }
.process-step p { font-size:.9rem; }

/* ═══════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
═══════════════════════════════════════════════════════════ */
.page-hero {
  padding:5rem 2rem 4rem;
  background:linear-gradient(135deg,rgba(245,166,35,.1),rgba(139,92,246,.08));
  border-bottom:1px solid var(--border);
  text-align:center;
  position:relative;
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:50px 50px;
}
.page-hero > * { position:relative; z-index:1; }
.page-hero h1 { margin-bottom:1rem; }
.page-hero p { max-width:600px; margin:0 auto; font-size:1.05rem; }
.breadcrumb { font-size:.82rem; color:var(--muted); margin-bottom:1rem; }
.breadcrumb a { color:var(--accent); }
.breadcrumb a:hover { text-decoration:underline; }

/* ═══════════════════════════════════════════════════════════
   JOBS LIST
═══════════════════════════════════════════════════════════ */
.jobs-list { display:flex; flex-direction:column; gap:1rem; }
.job-card {
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.5rem 1.75rem;
  transition:var(--transition);
}
.job-card:hover { border-color:rgba(245,166,35,.4); }
.job-title { font-weight:700; font-size:1.05rem; color:var(--white); margin-bottom:.5rem; }
.job-meta { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.job-tag { padding:.3rem .8rem; border-radius:6px; font-size:.76rem; font-weight:700; }
.job-tag.orange { background:rgba(255,107,53,.15); color:var(--orange); }
.job-tag.blue   { background:rgba(245,166,35,.15);  color:var(--accent); }

/* ═══════════════════════════════════════════════════════════
   CTA BAND
═══════════════════════════════════════════════════════════ */
.cta-band {
  padding:5rem 2rem; text-align:center;
  background:linear-gradient(135deg,rgba(245,166,35,.1),rgba(139,92,246,.08));
  border-top:1px solid var(--border);
}
.cta-band h2 { margin-bottom:1rem; }
.cta-band p  { max-width:520px; margin:0 auto 2rem; font-size:1.05rem; }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* ═══════════════════════════════════════════════════════════
   CONTACT PAGE
═══════════════════════════════════════════════════════════ */
.contact-wrap {
  display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start;
  max-width:1100px; margin:0 auto;
}
.contact-info h3 { margin-bottom:1rem; }
.contact-info p  { margin-bottom:2rem; }
.ci-item {
  display:flex; align-items:center; gap:1rem;
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:1rem 1.25rem;
  margin-bottom:.75rem;
}
.ci-icon { font-size:1.4rem; }
.ci-label { font-size:.78rem; color:var(--muted); }
.ci-val   { font-weight:600; font-size:.9rem; color:var(--white); }

/* Contact form */
.contact-form-box {
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:2.5rem;
}
.contact-form-box h3 { margin-bottom:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.form-g { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.form-g label { font-size:.82rem; font-weight:600; color:var(--muted); }
.form-g input,
.form-g select,
.form-g textarea {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:.75rem 1rem;
  color:var(--white); font-family:var(--font-body); font-size:.92rem;
  transition:var(--transition); width:100%;
}
.form-g input:focus,
.form-g select:focus,
.form-g textarea:focus {
  outline:none; border-color:rgba(245,166,35,.5);
  box-shadow:0 0 0 3px rgba(245,166,35,.1);
}
.form-g select option { background:var(--card); }
.form-btn {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--grad); color:#fff;
  padding:.9rem 2rem; border-radius:50px;
  border:none; font-size:.95rem; font-weight:700;
  transition:var(--transition); width:100%; justify-content:center;
}
.form-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(245,166,35,.4); }
.form-success {
  display:none; padding:1rem 1.25rem;
  border-radius:var(--radius-sm);
  background:rgba(0,212,170,.1); border:1px solid rgba(0,212,170,.3);
  color:var(--green); font-size:.9rem; margin-bottom:1.25rem;
}
.form-success.show { display:block; }

/* ═══════════════════════════════════════════════════════════
   FULLWIDTH PAGE
═══════════════════════════════════════════════════════════ */
.fullwidth-content {
  max-width:800px; margin:4rem auto; padding:0 2rem;
}
.fullwidth-content h2 { margin-bottom:1rem; }
.fullwidth-content p  { margin-bottom:1rem; }

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
#tn-footer {
  background:var(--surface);
  border-top:1px solid var(--border);
  padding:4rem 2rem 0;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr;
  gap:3rem; max-width:1200px; margin:0 auto;
  padding-bottom:3rem;
  border-bottom:1px solid var(--border);
}
.footer-logo-wrap {
  display:flex; align-items:center; gap:.65rem;
  font-family:var(--font-head); font-weight:800; font-size:1.05rem;
  color:var(--white); margin-bottom:1rem;
}
.footer-desc { font-size:.88rem; max-width:280px; margin-bottom:1.25rem; }
.footer-socials { display:flex; gap:.6rem; }
.social-btn {
  width:36px; height:36px; border-radius:8px;
  background:rgba(255,255,255,.06); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:.95rem; transition:var(--transition);
}
.social-btn:hover { background:rgba(245,166,35,.15); border-color:rgba(245,166,35,.4); }
.footer-col h4 { font-size:.9rem; font-weight:700; margin-bottom:1rem; color:var(--white); }
.footer-links { display:flex; flex-direction:column; gap:.6rem; }
.footer-links a { font-size:.87rem; color:var(--muted); transition:var(--transition); }
.footer-links a:hover { color:var(--accent); padding-left:4px; }
.footer-ci { font-size:.86rem; color:var(--muted); margin-bottom:.6rem; }
.footer-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 0; max-width:1200px; margin:0 auto;
}
.footer-copy { font-size:.84rem; color:var(--muted); }
.footer-copy a { color:var(--accent); }
.footer-bot-links { display:flex; gap:1.5rem; }
.footer-bot-links a { font-size:.84rem; color:var(--muted); transition:var(--transition); }
.footer-bot-links a:hover { color:var(--accent); }

/* ═══════════════════════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════════════════════ */
.reveal,.reveal-l {
  opacity:0; transform:translateY(30px);
  transition:opacity .6s ease, transform .6s ease;
}
.reveal-l { transform:translateX(-30px); }
.reveal.visible,.reveal-l.visible { opacity:1; transform:none; }
.d1 { transition-delay:.1s !important; }
.d2 { transition-delay:.2s !important; }
.d3 { transition-delay:.3s !important; }

/* ═══════════════════════════════════════════════════════════
   ELEMENTOR OVERRIDES
═══════════════════════════════════════════════════════════ */
body.elementor-page .site-main { padding-top:0; }
.elementor-section-wrap > .elementor-section:first-child { margin-top:0; }

/* ═══════════════════════════════════════════════════════════
   WORDPRESS CORE CLASSES
═══════════════════════════════════════════════════════════ */
.alignleft  { float:left; margin:0 1.5rem 1rem 0; }
.alignright { float:right; margin:0 0 1rem 1.5rem; }
.aligncenter{ display:block; margin:0 auto 1rem; }
.wp-caption  { max-width:100%; }
.wp-caption-text { font-size:.82rem; color:var(--muted); text-align:center; padding-top:.4rem; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); height:1px; overflow:hidden; position:absolute; width:1px; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .tn-hero { grid-template-columns:1fr; gap:2.5rem; min-height:auto; padding:3rem 1.5rem 2rem; }
  .hero-img-wrap { display:none; }
  .hero-stats { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .img-split,.img-split.rev { grid-template-columns:1fr; direction:ltr; }
  .contact-wrap { grid-template-columns:1fr; }
}
@media(max-width:768px){
  .tn-menu { display:none; }
  .tn-nav-cta { display:none; }
  .tn-hamburger { display:flex; }
  .tn-section { padding:4rem 1.25rem; }
  .tn-section.dark { padding:4rem 1.25rem; }
  .cards-grid { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; }
  .footer-bottom { flex-direction:column; gap:1rem; text-align:center; }
  .form-row { grid-template-columns:1fr; }
  .numbers-grid { grid-template-columns:repeat(2,1fr); }
  .service-row { flex-direction:column; align-items:flex-start; }
  .job-card { flex-direction:column; align-items:flex-start; }
}
@media(max-width:480px){
  .hero-stats { grid-template-columns:repeat(2,1fr); gap:.75rem; }
  .hero-btns { flex-direction:column; }
  .cta-btns  { flex-direction:column; }
}

/* ═══════════════════════════════════════════════════════════
   CUSTOM CURSOR
═══════════════════════════════════════════════════════════ */
.tn-cursor {
  position:fixed; width:8px; height:8px; background:var(--accent);
  border-radius:50%; pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%); transition:transform 0.1s;
  mix-blend-mode:screen;
}
.tn-cursor-ring {
  position:fixed; width:36px; height:36px;
  border:1.5px solid rgba(245,166,35,0.4); border-radius:50%;
  pointer-events:none; z-index:9998;
  transform:translate(-50%,-50%); transition:all 0.15s var(--ease);
}

/* ═══════════════════════════════════════════════════════════
   PARTICLES CANVAS
═══════════════════════════════════════════════════════════ */
#tn-particles {
  position:fixed; top:0; left:0; width:100%; height:100%;
  pointer-events:none; z-index:0; opacity:0.35;
}

/* ═══════════════════════════════════════════════════════════
   ELEMENTOR COMPATIBILITY
═══════════════════════════════════════════════════════════ */
/* When Elementor edits a page, remove our custom padding */
body.elementor-editor-active .site-main,
body.elementor-editor-preview .site-main {
  padding-top: 0 !important;
}
/* Elementor canvas template — completely bare */
body.elementor-template-canvas #tn-header,
body.elementor-template-canvas #tn-footer {
  display: none !important;
}
body.elementor-template-canvas #tn-page {
  padding-top: 0 !important;
}
/* Make sure Elementor content area is visible */
.elementor-page-content,
.elementor-section-wrap {
  min-height: 1px;
}
