/*
Theme Name: Techtantra Consulting
Theme URI: https://example.com/
Author: Techtantra Consulting
Description: Lightweight custom WordPress theme for Techtantra Consulting — Zoho, WordPress, Shopify and AI automation consulting.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: techtantra
*/

:root{
  --bg:#070b14;
  --bg2:#0c1220;
  --card:rgba(255,255,255,.055);
  --card2:rgba(255,255,255,.085);
  --text:#f6f8ff;
  --muted:#aab3c7;
  --line:rgba(255,255,255,.11);
  --blue:#4f8cff;
  --cyan:#43d9ff;
  --purple:#9b6cff;
  --green:#45d39c;
  --shadow:0 25px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 10% 5%,rgba(79,140,255,.16),transparent 28%),
    radial-gradient(circle at 90% 15%,rgba(155,108,255,.13),transparent 25%),
    var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,92%);margin:auto}
header{
  position:fixed;top:0;left:0;width:100%;z-index:50;
  backdrop-filter:blur(18px);
  background:#ffffff;
  border-bottom:1px solid transparent;
  transition:.3s;
}
header.scrolled{border-color:var(--line);background:#ffffff;}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:20px;letter-spacing:-.5px}
.logo span{color:var(--cyan)}
.nav-links{display:flex;gap:28px;color:#c8d0df;font-size:14px}
.nav-links a{transition:.25s}
.nav-links a:hover{color:white}
.nav-btn,.hero-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(135deg,var(--blue),var(--purple));
  padding:11px 18px;border-radius:12px;font-weight:700;font-size:14px;
  box-shadow:0 10px 35px rgba(79,140,255,.2);
  transition:.25s;
}
.nav-btn:hover,.hero-btn:hover{transform:translateY(-2px);box-shadow:0 15px 40px rgba(79,140,255,.3)}
.menu{display:none;background:none;border:0;color:white;font-size:25px}

.hero{min-height:100vh;display:flex;align-items:center;padding:130px 0 80px;position:relative}
.grid-bg{
  position:absolute;inset:0;pointer-events:none;opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:55px 55px;
  mask-image:linear-gradient(to bottom,black,transparent 90%);
}
.orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.orb.one{width:420px;height:420px;background:rgba(67,217,255,.08);top:12%;left:-220px;animation:float 8s ease-in-out infinite}
.orb.two{width:360px;height:360px;background:rgba(155,108,255,.09);right:-180px;bottom:5%;animation:float 10s ease-in-out infinite reverse}
@keyframes float{50%{transform:translateY(-28px) translateX(15px)}}

.hero-content{max-width:850px;position:relative;z-index:2}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;
  border:1px solid var(--line);background:rgba(255,255,255,.04);
  border-radius:999px;color:#cbd5e8;font-size:13px;margin-bottom:24px;
}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 15px var(--green)}
h1{font-size:clamp(48px,7vw,82px);line-height:.98;letter-spacing:-4px;max-width:900px}
.gradient{
  background:linear-gradient(100deg,#fff 5%,#78a7ff 42%,#8be8ff 75%,#c4a6ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{max-width:700px;margin:26px 0;color:var(--muted);font-size:18px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.secondary{
  padding:11px 18px;border-radius:12px;border:1px solid var(--line);
  color:#d9e0ed;background:rgba(255,255,255,.035);font-weight:700;font-size:14px;
}
.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:50px;color:#8290a8;font-size:13px}
.trust b{color:#d8dfeb}

section{padding:100px 0}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}
.kicker{color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
h2{font-size:clamp(32px,4vw,50px);letter-spacing:-2px;line-height:1.05;margin-top:9px}
.section-head p{max-width:480px;color:var(--muted)}

.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  border:1px solid var(--line);border-radius:22px;padding:30px;
  box-shadow:var(--shadow);position:relative;overflow:hidden;
  transition:transform .35s,border-color .35s;
}
.card:before{
  content:"";position:absolute;width:160px;height:160px;border-radius:50%;
  right:-80px;top:-80px;background:rgba(67,217,255,.08);filter:blur(10px);
}
.card:hover{transform:translateY(-8px);border-color:rgba(120,167,255,.35)}
.icon{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:rgba(255,255,255,.08);font-weight:900;font-size:18px;margin-bottom:23px;
}
.card h3{font-size:23px;margin-bottom:10px}
.card p{color:var(--muted);font-size:14px;margin-bottom:20px}
.tags{display:flex;gap:7px;flex-wrap:wrap}
.tag{font-size:11px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:#c4cede}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.035)}
.stat{padding:28px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{font-size:34px;display:block}
.stat span{font-size:13px;color:var(--muted)}

.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.project{
  min-height:280px;border-radius:22px;border:1px solid var(--line);padding:30px;
  position:relative;overflow:hidden;background:var(--bg2);
}
.project:after{content:"";position:absolute;inset:auto -20% -65% 25%;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(79,140,255,.28),transparent 65%)}
.project .number{color:#748199;font-size:12px;font-weight:800;letter-spacing:1px}
.project h3{font-size:28px;margin:14px 0 8px}
.project p{color:var(--muted);max-width:480px;font-size:14px}
.project .stack{position:absolute;bottom:25px;display:flex;gap:8px;z-index:2}
.stack span{padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.07);font-size:11px}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{padding:25px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035)}
.step-num{font-size:12px;color:var(--cyan);font-weight:800}
.step h3{margin:12px 0 7px}
.step p{color:var(--muted);font-size:13px}

.cta{
  border:1px solid rgba(120,167,255,.25);border-radius:28px;padding:65px 55px;
  text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(circle at 50% 0%,rgba(79,140,255,.2),transparent 55%),rgba(255,255,255,.035);
}
.cta h2{max-width:700px;margin:10px auto 14px}
.cta p{color:var(--muted);max-width:620px;margin:0 auto 25px}

footer{padding:35px 0;border-top:1px solid var(--line);color:#7f8ba0;font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:20px}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){.services{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){
  .nav-links,.nav-btn{display:none}.menu{display:block}
  .nav-links.open{display:flex;position:absolute;top:76px;left:4%;right:4%;padding:20px;flex-direction:column;background:#0c1220;border:1px solid var(--line);border-radius:15px}
  .services,.projects{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .process{grid-template-columns:1fr 1fr}
  .section-head{display:block}.section-head p{margin-top:15px}
}
@media(max-width:520px){
  h1{letter-spacing:-2.5px}.hero p{font-size:16px}
  .stats,.process{grid-template-columns:1fr}
  .stat{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .stat:last-child{border-bottom:0!important}
  .cta{padding:45px 22px}
  .footer-inner{display:block}.footer-inner div+div{margin-top:8px}
}

/* ===== Enhanced motion & platform branding ===== */
:root{
  --zoho:#e4252c;
  --wp:#21759b;
  --shopify:#95bf47;
  --ai:#b56cff;
}
body::before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(79,140,255,.08),transparent 25%);
}
.hero-content{animation:heroEnter 1.05s cubic-bezier(.16,1,.3,1) both}
@keyframes heroEnter{
  from{opacity:0;transform:translateY(45px) scale(.97);filter:blur(8px)}
  to{opacity:1;transform:none;filter:none}
}
.eyebrow{animation:badgePulse 3s ease-in-out infinite}
@keyframes badgePulse{
  0%,100%{box-shadow:0 0 0 rgba(67,217,255,0)}
  50%{box-shadow:0 0 28px rgba(67,217,255,.12)}
}
.hero h1 .gradient{background-size:250% 100%;animation:gradientMove 5s ease infinite}
@keyframes gradientMove{0%,100%{background-position:0%}50%{background-position:100%}}

.card{transform-style:preserve-3d}
.card:hover .icon{transform:translateZ(18px) rotate(-5deg) scale(1.08)}
.icon{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.card:hover h3{transform:translateX(3px)}
.card h3{transition:transform .35s ease}

.services .card:nth-child(1){animation-delay:.08s}
.services .card:nth-child(2){animation-delay:.18s}
.services .card:nth-child(3){animation-delay:.28s}

.platforms{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:35px
}
.platform{
  min-height:155px;padding:25px;border:1px solid var(--line);border-radius:20px;
  background:rgba(255,255,255,.035);position:relative;overflow:hidden;
  display:flex;align-items:center;gap:20px;transition:.4s cubic-bezier(.16,1,.3,1)
}
.platform:before{
  content:"";position:absolute;inset:-100% -30%;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.08),transparent 65%);
  transform:translateX(-60%) rotate(8deg);transition:transform .7s
}
.platform:hover:before{transform:translateX(60%) rotate(8deg)}
.platform:hover{transform:translateY(-7px) scale(1.01);border-color:rgba(255,255,255,.22)}
.platform-logo{
  width:66px;height:66px;flex:0 0 66px;border-radius:18px;
  display:grid;place-items:center;font-weight:900;font-size:25px;
  background:white;box-shadow:0 12px 35px rgba(0,0,0,.25);position:relative;z-index:1
}
.platform-logo.zoho{color:var(--zoho)}
.platform-logo.wordpress{color:var(--wp);font-family:Georgia,serif;font-size:34px}
.platform-logo.shopify{color:#5d7d26}
.platform h3{font-size:20px;position:relative;z-index:1}
.platform p{font-size:12px;color:var(--muted);margin-top:3px;position:relative;z-index:1}

.floating-icons{
  position:absolute;right:4%;top:17%;display:flex;gap:12px;z-index:2;
  animation:floatIcons 7s ease-in-out infinite
}
.float-logo{
  width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.92);
  display:grid;place-items:center;font-weight:900;box-shadow:0 15px 45px rgba(0,0,0,.25);
  animation:iconFloat 4s ease-in-out infinite
}
.float-logo:nth-child(2){animation-delay:-1.2s;transform:translateY(18px)}
.float-logo:nth-child(3){animation-delay:-2.3s;transform:translateY(-8px)}
@keyframes floatIcons{50%{transform:translateY(18px)}}
@keyframes iconFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(3deg)}}

.marquee{
  margin-top:30px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:14px 0;white-space:nowrap;background:rgba(255,255,255,.018)
}
.marquee-track{display:inline-flex;gap:45px;animation:marquee 25s linear infinite}
.marquee span{font-size:12px;letter-spacing:1.5px;color:#8490a5;text-transform:uppercase}
@keyframes marquee{to{transform:translateX(-50%)}}

.stat strong{animation:statGlow 3s ease-in-out infinite}
.stat:nth-child(2) strong{animation-delay:.5s}.stat:nth-child(3) strong{animation-delay:1s}.stat:nth-child(4) strong{animation-delay:1.5s}
@keyframes statGlow{50%{text-shadow:0 0 22px rgba(120,167,255,.3)}}

.project:hover{transform:translateY(-7px);transition:.4s}
.project{transition:transform .4s,border-color .4s}

.step{transition:.35s transform,.35s background}
.step:hover{transform:translateY(-6px);background:rgba(255,255,255,.06)}
.step-num{position:relative}
.step-num:after{
  content:"";display:block;width:0;height:1px;background:var(--cyan);margin-top:7px;transition:.4s
}
.step:hover .step-num:after{width:42px}

.cta{animation:ctaBreath 5s ease-in-out infinite}
@keyframes ctaBreath{50%{box-shadow:0 0 70px rgba(79,140,255,.10)}}

@media(max-width:1050px){
  .platforms{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .floating-icons{display:none}
  .platforms{grid-template-columns:1fr}
}


.platform-logo.ai{
  color:#8a4cff;
  background:linear-gradient(135deg,#fff,#f0e6ff);
  font-size:22px;
}
.platform.ai-platform:hover{border-color:rgba(181,108,255,.42)}
.ai-glow{
  position:absolute;width:120px;height:120px;border-radius:50%;
  right:-55px;bottom:-55px;
  background:rgba(181,108,255,.18);filter:blur(10px);
  animation:aiPulse 3.5s ease-in-out infinite;
}
@keyframes aiPulse{
  0%,100%{transform:scale(.8);opacity:.45}
  50%{transform:scale(1.25);opacity:.9}
}


/* Uploaded platform logos */
.real-platform-logo{
  width:72px;height:72px;flex:0 0 72px;
  object-fit:contain;display:block;position:relative;z-index:2;
  border-radius:14px;
}
.real-platform-logo.shopify-logo{
  mix-blend-mode:screen;
  filter:drop-shadow(0 8px 18px rgba(149,191,71,.18));
}
.real-platform-logo.wordpress-logo{
  filter:drop-shadow(0 8px 18px rgba(33,117,155,.18));
}
.real-platform-logo.zoho-logo{
  filter:drop-shadow(0 8px 18px rgba(228,37,44,.18));
}
.platform:hover .real-platform-logo{
  transform:translateY(-3px) scale(1.06) rotate(-2deg);
}


.float-logo img{
  width:34px;height:34px;object-fit:contain;display:block;
  border-radius:7px;
}
.float-logo:nth-child(1) img,
.float-logo:nth-child(3) img{mix-blend-mode:screen}
.float-logo.ai-float{
  color:#8a4cff;font-size:13px;font-weight:900;
  background:linear-gradient(135deg,#fff,#f0e6ff);
}


/* ===== Techtantra brand palette ===== */
:root{
  --bg:#020b22;
  --bg2:#061333;
  --bg3:#081a40;
  --card:rgba(4,22,58,.72);
  --card2:rgba(8,31,76,.88);
  --text:#f7fbff;
  --muted:#a8b8d4;
  --line:rgba(92,153,255,.20);
  --navy:#001441;
  --blue:#075cff;
  --cyan:#00d9ff;
  --violet:#7b4dff;
  --magenta:#ed1cff;
  --orange:#ff7a00;
  --yellow:#ffd400;
  --green:#42e6a4;
  --shadow:0 28px 90px rgba(0,10,35,.55);
}
body{
  background:
    radial-gradient(circle at 8% 5%,rgba(0,217,255,.13),transparent 25%),
    radial-gradient(circle at 92% 10%,rgba(237,28,255,.11),transparent 24%),
    radial-gradient(circle at 50% 85%,rgba(255,122,0,.07),transparent 30%),
    var(--bg);
}
header{
  background:rgba(2,11,34,.72);
  border-bottom-color:transparent;
}
header.scrolled{
  background:rgba(0,20,65,.94);
  border-bottom-color:rgba(0,217,255,.16);
}
.nav-logo-img{
  width:165px;height:auto;display:block;
  filter:drop-shadow(0 8px 24px rgba(0,217,255,.10));
}
.nav-links{color:#b9c8e2}
.nav-links a:hover{color:#fff;text-shadow:0 0 18px rgba(0,217,255,.25)}
.nav-btn,.hero-btn{
  background:linear-gradient(100deg,var(--blue),var(--violet) 52%,var(--magenta));
  box-shadow:0 12px 38px rgba(75,75,255,.28);
}
.nav-btn:hover,.hero-btn:hover{box-shadow:0 16px 45px rgba(0,217,255,.25)}
.hero .grid-bg{
  background-image:
    linear-gradient(rgba(0,217,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,217,255,.055) 1px,transparent 1px);
}
.orb.one{background:rgba(0,217,255,.10)}
.orb.two{background:rgba(237,28,255,.10)}
.dot{background:var(--green);box-shadow:0 0 16px var(--green)}
.gradient{
  background:linear-gradient(100deg,var(--cyan) 0%,#2c82ff 28%,var(--violet) 55%,var(--magenta) 74%,var(--orange) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.kicker,.step-num{color:var(--cyan)}
.card{
  background:linear-gradient(145deg,rgba(7,35,83,.82),rgba(3,17,46,.72));
  border-color:rgba(72,150,255,.18);
}
.card:before{
  background:linear-gradient(135deg,rgba(0,217,255,.13),rgba(237,28,255,.08),rgba(255,122,0,.07));
}
.card:hover{border-color:rgba(0,217,255,.42);box-shadow:0 25px 75px rgba(0,18,65,.58),0 0 35px rgba(0,217,255,.06)}
.icon{background:linear-gradient(135deg,rgba(0,217,255,.13),rgba(123,77,255,.16));color:#fff}
.tag,.stack span{
  background:rgba(0,20,65,.55);
  border-color:rgba(78,153,255,.18);
}
.project{
  background:
    radial-gradient(circle at 85% 10%,rgba(123,77,255,.10),transparent 28%),
    var(--bg2);
  border-color:rgba(72,150,255,.18);
}
.project:after{background:radial-gradient(circle,rgba(0,217,255,.18),rgba(123,77,255,.08),transparent 68%)}
.step{background:rgba(4,22,58,.60);border-color:rgba(72,150,255,.18)}
.step:hover{background:rgba(7,31,76,.82)}
.cta{
  border-color:rgba(0,217,255,.28);
  background:
    radial-gradient(circle at 20% 0%,rgba(0,217,255,.14),transparent 35%),
    radial-gradient(circle at 80% 100%,rgba(237,28,255,.12),transparent 40%),
    rgba(4,22,58,.68);
}
.platform{
  background:linear-gradient(145deg,rgba(6,31,75,.72),rgba(3,16,44,.70));
  border-color:rgba(72,150,255,.18);
}
.platform:hover{border-color:rgba(0,217,255,.35);box-shadow:0 22px 65px rgba(0,20,65,.48)}
.marquee{background:rgba(0,20,65,.30);border-color:rgba(0,217,255,.12)}
.marquee span:nth-child(4n+1){color:#00d9ff}
.marquee span:nth-child(4n+2){color:#8ea9ff}
.marquee span:nth-child(4n+3){color:#c78cff}
.marquee span:nth-child(4n){color:#ff9b55}
.floating-icons .float-logo{
  box-shadow:0 15px 45px rgba(0,0,0,.35),0 0 24px rgba(0,217,255,.08);
}
.ai-glow{background:rgba(237,28,255,.18)}
footer{background:rgba(0,10,30,.35);border-top-color:rgba(0,217,255,.13)}

/* =========================================================
   TECHTANTRA CONTACT POPUP
   FINAL CLEAN VERSION
   ========================================================= */

/* Overlay */
#contactPopup {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 20px !important;
    box-sizing: border-box !important;

    align-items: center !important;
    justify-content: center !important;

    z-index: 999999 !important;
    overflow: hidden !important;

    background:
        radial-gradient(
            circle at 15% 15%,
            rgba(0, 217, 255, 0.14),
            transparent 30%
        ),
        radial-gradient(
            circle at 85% 85%,
            rgba(237, 28, 255, 0.14),
            transparent 32%
        ),
        rgba(1, 6, 22, 0.86) !important;

    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;

    opacity: 0;
}

#contactPopup.active {
    display: flex !important;
    animation: ttPopupOverlayIn .45s ease forwards !important;
}

/* Popup panel */
#contactPopup .contact-popup {
    position: relative !important;
    width: 100% !important;
    max-width: 620px !important;
    max-height: 90vh !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    padding: 42px !important;
    box-sizing: border-box !important;

    border-radius: 24px !important;

    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(0, 217, 255, 0.12),
            transparent 34%
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(237, 28, 255, 0.12),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #061333 0%,
            #020b22 58%,
            #081a40 100%
        ) !important;

    border: 1px solid rgba(0, 217, 255, 0.32) !important;

    box-shadow:
        0 35px 110px rgba(0, 0, 0, 0.70),
        0 0 80px rgba(0, 217, 255, 0.10),
        0 0 100px rgba(123, 77, 255, 0.10) !important;

    color: #f7fbff !important;

    opacity: 0;
    transform: translateY(40px) scale(.94);

    animation:
        ttPopupPanelIn .6s cubic-bezier(.16, 1, .3, 1) .04s forwards !important;
}

/* Animated gradient edge */
#contactPopup .contact-popup::before {
    content: "" !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: 25px !important;
    padding: 1px !important;

    background:
        linear-gradient(
            120deg,
            #00d9ff,
            #075cff 28%,
            #7b4dff 52%,
            #ed1cff 78%,
            #ff7a00
        ) !important;

    background-size: 250% 250% !important;
    animation: ttPopupBorderMove 6s ease infinite !important;

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask-composite: exclude !important;

    pointer-events: none !important;
    opacity: .75 !important;
}

/* Ambient glow inside popup */
#contactPopup .contact-popup::after {
    content: "" !important;
    position: absolute !important;
    width: 180px !important;
    height: 180px !important;
    right: -90px !important;
    bottom: -90px !important;
    border-radius: 50% !important;

    background: rgba(123, 77, 255, .16) !important;
    filter: blur(25px) !important;

    pointer-events: none !important;
    animation: ttPopupGlow 4s ease-in-out infinite !important;
}

/* Header */
#contactPopup .contact-popup-header {
    position: relative !important;
    z-index: 2 !important;
    margin: 0 0 30px !important;
    padding-right: 45px !important;
}

#contactPopup .contact-popup-header h2 {
    margin: 0 0 10px !important;

    font-size: clamp(34px, 5vw, 48px) !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: -2.5px !important;

    background:
        linear-gradient(
            100deg,
            #00d9ff 0%,
            #2c82ff 28%,
            #7b4dff 55%,
            #ed1cff 78%,
            #ff7a00 100%
        ) !important;

    background-size: 220% 100% !important;
    animation: ttPopupTitleMove 5s ease infinite !important;

    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

#contactPopup .contact-popup-header p {
    margin: 0 !important;
    color: #a8b8d4 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
}

/* Close button */
#contactPopup .contact-popup-close {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;

    width: 42px !important;
    height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;

    border: 1px solid rgba(0, 217, 255, .24) !important;
    border-radius: 50% !important;

    background: rgba(0, 217, 255, .07) !important;
    color: #f7fbff !important;

    font-size: 24px !important;
    line-height: 1 !important;

    cursor: pointer !important;
    z-index: 5 !important;

    transition:
        transform .35s cubic-bezier(.16,1,.3,1),
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease !important;
}

#contactPopup .contact-popup-close:hover {
    transform: rotate(90deg) scale(1.08) !important;

    background:
        linear-gradient(
            135deg,
            #075cff,
            #7b4dff,
            #ed1cff
        ) !important;

    border-color: transparent !important;

    box-shadow:
        0 0 25px rgba(0, 217, 255, .28),
        0 0 45px rgba(123, 77, 255, .18) !important;
}

/* Form */
#contactPopup .contact-popup-form {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
}

#contactPopup .contact-popup-form p {
    margin: 0 0 20px !important;
}

#contactPopup .contact-popup-form label {
    display: block !important;
    margin: 0 0 8px !important;

    color: #f7fbff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .15px !important;
}

/* Inputs */
#contactPopup .contact-popup-form input[type="text"],
#contactPopup .contact-popup-form input[type="email"],
#contactPopup .contact-popup-form input[type="tel"],
#contactPopup .contact-popup-form textarea {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;

    padding: 15px 17px !important;

    border: 1px solid rgba(92, 153, 255, .25) !important;
    border-radius: 12px !important;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.065),
            rgba(255,255,255,.025)
        ) !important;

    color: #f7fbff !important;

    font-family: inherit !important;
    font-size: 15px !important;
    line-height: 1.5 !important;

    outline: none !important;

    box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;

    transition:
        border-color .3s ease,
        background .3s ease,
        box-shadow .3s ease,
        transform .3s ease !important;
}

#contactPopup .contact-popup-form input[type="text"]:hover,
#contactPopup .contact-popup-form input[type="email"]:hover,
#contactPopup .contact-popup-form input[type="tel"]:hover,
#contactPopup .contact-popup-form textarea:hover {
    border-color: rgba(0, 217, 255, .36) !important;
}

#contactPopup .contact-popup-form input::placeholder,
#contactPopup .contact-popup-form textarea::placeholder {
    color: #7f91b0 !important;
    opacity: 1 !important;
}

#contactPopup .contact-popup-form input:focus,
#contactPopup .contact-popup-form textarea:focus {
    border-color: #00d9ff !important;

    background:
        linear-gradient(
            145deg,
            rgba(0,217,255,.08),
            rgba(123,77,255,.05)
        ) !important;

    box-shadow:
        0 0 0 3px rgba(0,217,255,.08),
        0 0 30px rgba(0,217,255,.10) !important;

    transform: translateY(-1px) !important;
}

#contactPopup .contact-popup-form textarea {
    min-height: 130px !important;
    resize: vertical !important;
}

/* Submit button */
#contactPopup .contact-popup-form input[type="submit"] {
    display: block !important;
    width: 100% !important;

    margin-top: 6px !important;
    padding: 15px 22px !important;

    border: 0 !important;
    border-radius: 12px !important;

    background:
        linear-gradient(
            100deg,
            #075cff 0%,
            #7b4dff 50%,
            #ed1cff 100%
        ) !important;

    color: #ffffff !important;

    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 800 !important;

    cursor: pointer !important;

    box-shadow:
        0 12px 35px rgba(75,75,255,.28) !important;

    transition:
        transform .3s cubic-bezier(.16,1,.3,1),
        box-shadow .3s ease,
        filter .3s ease !important;
}

#contactPopup .contact-popup-form input[type="submit"]:hover {
    transform: translateY(-3px) !important;
    filter: brightness(1.08) !important;

    box-shadow:
        0 18px 45px rgba(0,217,255,.20),
        0 8px 25px rgba(237,28,255,.16) !important;
}

#contactPopup .contact-popup-form input[type="submit"]:active {
    transform: translateY(0) scale(.99) !important;
}

/* CF7 validation */
#contactPopup .wpcf7-not-valid {
    border-color: #ff4b5c !important;
    box-shadow:
        0 0 0 3px rgba(255,60,80,.08) !important;
}

#contactPopup .wpcf7-not-valid-tip {
    color: #ff7180 !important;
    font-size: 13px !important;
    margin-top: 5px !important;
}

#contactPopup .wpcf7-response-output {
    margin: 15px 0 0 !important;
    padding: 12px !important;
    border-radius: 8px !important;

    color: rgba(255,255,255,.82) !important;
    font-size: 13px !important;

    border-color: rgba(0,217,255,.25) !important;
}

/* Popup scrollbar */
#contactPopup .contact-popup::-webkit-scrollbar {
    width: 7px !important;
}

#contactPopup .contact-popup::-webkit-scrollbar-track {
    background: rgba(255,255,255,.025) !important;
    border-radius: 10px !important;
}

#contactPopup .contact-popup::-webkit-scrollbar-thumb {
    background:
        linear-gradient(
            180deg,
            rgba(0,217,255,.65),
            rgba(123,77,255,.65),
            rgba(237,28,255,.65)
        ) !important;
    border-radius: 10px !important;
}

/* Animations */
@keyframes ttPopupOverlayIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes ttPopupPanelIn {
    0% {
        opacity: 0;
        transform: translateY(40px) scale(.94);
    }
    60% {
        opacity: 1;
        transform: translateY(-5px) scale(1.01);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes ttPopupBorderMove {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}

@keyframes ttPopupTitleMove {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}

@keyframes ttPopupGlow {
    0%, 100% {
        transform: scale(.85);
        opacity: .45;
    }
    50% {
        transform: scale(1.2);
        opacity: .9;
    }
}

/* Mobile */
@media (max-width: 600px) {
    #contactPopup {
        padding: 12px !important;
    }

    #contactPopup .contact-popup {
        max-width: 100% !important;
        max-height: 94vh !important;
        padding: 32px 22px !important;
        border-radius: 20px !important;
    }

    #contactPopup .contact-popup::before {
        border-radius: 21px !important;
    }

    #contactPopup .contact-popup-header {
        margin-bottom: 25px !important;
        padding-right: 38px !important;
    }

    #contactPopup .contact-popup-header h2 {
        font-size: 32px !important;
        letter-spacing: -1.8px !important;
    }

    #contactPopup .contact-popup-header p {
        font-size: 14px !important;
    }

    #contactPopup .contact-popup-close {
        top: 12px !important;
        right: 12px !important;
        width: 36px !important;
        height: 36px !important;
        font-size: 21px !important;
    }
}

a.nav-btn.contact-popup-trigger.href\= {
    width: 25%;
    margin: 40px;
}
/* Respect reduced-motion accessibility preference */
@media (prefers-reduced-motion: reduce) {
    #contactPopup,
    #contactPopup .contact-popup,
    #contactPopup .contact-popup::before,
    #contactPopup .contact-popup::after,
    #contactPopup .contact-popup-header h2 {
        animation: none !important;
        transition: none !important;
    }

    #contactPopup .contact-popup {
        opacity: 1 !important;
        transform: none !important;
    }
}
