/* ============================================================
   VC Smart Solutions — theme refresh (layered on top of master.css)
   Palette: deep navy + trust blue + cyan accent
   Nothing here removes or replaces original selectors/behavior.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --navy:#0B1B3D;
  --navy-deep:#050C1F;
  --blue:#0066FF;
  --blue-bright:#3385FF;
  --blue-deep:#0050CC;
  --cyan:#00D2FF;
  --coral:#FF6B4A;
  --coral-deep:#E8502F;
  --whatsapp:#25D366;
  --whatsapp-deep:#128C7E;
  --border:#DDE4F0;
}

body, input, button, select, textarea, p, ul, li, a{
  font-family:'Inter','Roboto',sans-serif;
}
.TitleStyle1, .TitleStyle2, .TitleStyle3, .TitleStyle4, .TitleStyle5{
  font-family:'Outfit','Roboto',sans-serif;
}

/* ---- Top bar: socials only (phone moved into header nav) ---- */
.top-bar{background:var(--navy-deep);}
.top_info_line{width:100%;justify-content:flex-end;}
.top-social{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:14px;}
.top-social li{float:none;}
.top-social a{color:#DCE6FA;opacity:.85;display:flex;align-items:center;text-decoration:none;font-size:14px;}
.top-social a:hover{opacity:1;color:var(--cyan);}
.top-social svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;margin-right:6px;}

/* ---- Header: compact single-row modern navbar (replaces the
   stacked "logo on top, nav below" template layout) ---- */
.vc-header-row{display:flex !important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;padding:14px 0;}
.vc-header-row .center-logo{margin:0 !important;flex:0 1 auto !important;max-width:none !important;width:auto !important;display:flex;justify-content:flex-start;}
.vc-header-row .custom-nav{flex:1 1 auto !important;max-width:none !important;width:auto !important;display:flex;justify-content:flex-end;}
.vc-header-row .navbar{padding:0;width:auto;}
.vc-header-row .navbar-collapse{flex-grow:0;}
.vc-header-row .navbar-nav{padding-bottom:0 !important;gap:2px;}
.vc-header-row .navbar-nav .nav-link{padding:9px 15px !important;}

.logo-agency{display:flex;align-items:center;gap:16px;text-decoration:none;position:relative;z-index:5;}
.vc-logo-mark{position:relative;width:100px;height:120px;margin:-22px 0;display:flex !important;align-items:center;justify-content:center;flex:0 0 auto;}
.vc-logo-mark::before{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle, rgba(0,210,255,.4), transparent 70%);animation:vc-glow-pulse 3.2s ease-in-out infinite;z-index:0;filter:blur(2px);}
.vc-logo-mark img{width:100%;height:100%;object-fit:contain;object-position:center;position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(10,27,61,.35));}
@keyframes vc-glow-pulse{0%,100%{opacity:.35;transform:scale(.92);}50%{opacity:.75;transform:scale(1.05);}}
.logo-agency .vc-logo-word{display:block !important;font-family:'Outfit',sans-serif !important;font-weight:800 !important;font-size:30px !important;line-height:1.1 !important;color:var(--navy) !important;text-transform:none !important;white-space:nowrap;letter-spacing:-.01em;}
.logo-agency .vc-logo-word small{display:block !important;font-family:'Inter',sans-serif !important;font-weight:700 !important;font-size:12.5px !important;line-height:1.4 !important;letter-spacing:.12em;text-transform:uppercase !important;color:var(--blue) !important;margin-top:4px;}
@media (prefers-reduced-motion: reduce){.vc-logo-mark::before{animation:none;}}

/* ---- Nav links: refresh accent colors ---- */
.navbar-nav .nav-link{background-image:linear-gradient(90deg, var(--blue), var(--cyan));color:var(--navy) !important;}
.footer-nav li a{background-image:linear-gradient(90deg, var(--blue), var(--cyan));}

/* ---- Header actions: call button + language toggle ---- */
.vc-head-actions{display:flex;align-items:center;gap:10px;margin-left:8px;}
.vc-call-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;flex:0 0 auto;box-shadow:0 8px 18px -8px rgba(0,102,255,.6);transition:transform .15s ease, background .15s ease;}
.vc-call-btn svg{width:17px;height:17px;}
.vc-call-btn:hover{background:var(--blue-deep);transform:translateY(-2px);}
.vc-lang-toggle{display:flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--border);background:#fff;color:var(--navy);font-weight:700;font-size:13px;font-family:'Inter',sans-serif;cursor:pointer;transition:border-color .15s ease, color .15s ease;}
.vc-lang-toggle svg{width:16px;height:16px;flex:0 0 auto;}
.vc-lang-toggle:hover{border-color:var(--blue);color:var(--blue);}

@media (max-width:900px){
  .vc-header-row .custom-nav{flex:0 0 auto !important;}
}

/* ---- Hero banners ---- */
.main-banner-section-cc{background:var(--navy);background:linear-gradient(-90deg, var(--navy-deep), var(--navy));}
.bottom-right{background:var(--navy);background:linear-gradient(-90deg, var(--navy-deep), var(--navy));}
.s1, .s4{color:var(--cyan);}
.s2, .s5{color:var(--navy-deep);}
.s3, .s6{color:var(--blue);}

/* ---- Quote box ---- */
.btn.btn-quote-it{background:var(--blue);background:linear-gradient(180deg, var(--blue-bright) 0%, var(--blue) 100%);}
.btn.btn-quote-it:hover, .btn.btn-quote-it:focus{background:var(--blue);background:linear-gradient(0deg, var(--blue-bright) 0%, var(--blue) 100%);}
#Type:focus, #ZipCode:focus{border-color:var(--cyan);outline:none;}

/* ---- Section cards: gentle lift ---- */
.c-section{transition:box-shadow .25s ease;}

/* ---- Footer brand: logo + name ---- */
.footer-nav p.vc-footer-brand{display:flex !important;align-items:center;justify-content:center;gap:16px;}
.vc-footer-logo{width:48px;height:48px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4));}

/* ---- Footer socials row ---- */
footer{background:var(--navy-deep);}
.footer-social{display:flex;justify-content:center;gap:14px;margin:18px 0 0;list-style:none;padding:0;}
.footer-social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .2s, border-color .2s;}
.footer-social a:hover{transform:translateY(-3px);border-color:var(--cyan);color:var(--cyan);}
.footer-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;}

/* ---- Scroll reveal (applies to any element tagged .vc-reveal by the widget script or manually) ---- */
.vc-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.vc-reveal.vc-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .vc-reveal{opacity:1;transform:none;transition:none;}
}

/* ============================================================
   NEW: modern hero — bold gradient + framed photo + stat row
   ============================================================ */
.vc-hero{position:relative;background:radial-gradient(120% 100% at 15% 0%, #123a7a 0%, var(--navy) 45%, var(--navy-deep) 100%) !important;overflow:hidden;padding:0 !important;height:auto !important;}
.vc-hero::before{content:"";position:absolute;top:-10%;right:-10%;width:640px;height:640px;background:radial-gradient(circle, rgba(0,210,255,.28), transparent 70%);pointer-events:none;}
.vc-hero-grid{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:72px 28px 168px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;}
.vc-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--cyan);background:rgba(0,210,255,.12);border:1px solid rgba(0,210,255,.35);padding:8px 15px;border-radius:999px;margin-bottom:22px;}
.vc-eyebrow .vc-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:vc-blink 1.8s ease-in-out infinite;}
@keyframes vc-blink{0%,100%{opacity:1;}50%{opacity:.25;}}
.vc-hero-heading{position:static !important;background:none !important;box-shadow:none !important;padding:0 !important;max-width:none;width:100%;display:block !important;}
.vc-hero-heading p{margin:0 !important;padding:0 !important;background:none !important;}
.vc-hero-heading .editable{font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(34px,4.6vw,54px);line-height:1.1;color:#fff;text-shadow:none;letter-spacing:-.01em;}
.vc-hero-sub{color:#C4D2EA;font-size:17.5px;max-width:44ch;margin:20px 0 0;font-family:'Inter',sans-serif;}
.vc-stat-row{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px;}
.vc-stat{display:flex;flex-direction:column;}
.vc-stat b{font-size:26px;font-weight:800;color:var(--cyan);font-family:'Outfit',sans-serif;}
.vc-stat span{font-size:12.5px;color:#9FB0CC;font-weight:600;}

.vc-hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:320px;}
.vc-blob-glow{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle, rgba(0,210,255,.35), transparent 68%);filter:blur(10px);animation:vc-glow-pulse2 4s ease-in-out infinite;}
@keyframes vc-glow-pulse2{0%,100%{opacity:.4;transform:scale(.94);}50%{opacity:.85;transform:scale(1.05);}}
.vc-blob-frame{position:relative;width:320px;height:380px;border-radius:46% 54% 61% 39% / 48% 42% 58% 52%;overflow:hidden;border:2px solid rgba(255,255,255,.25);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);animation:vc-blob-morph 10s ease-in-out infinite;}
.vc-blob-frame img{width:100%;height:100%;object-fit:cover;max-width:none;max-height:none;}
@keyframes vc-blob-morph{0%,100%{border-radius:46% 54% 61% 39% / 48% 42% 58% 52%;}50%{border-radius:58% 42% 45% 55% / 40% 55% 45% 60%;}}
.vc-hero-visual .blink_icons iconify-icon{position:absolute;pointer-events:none;}
.vc-hero-visual .s1{top:2%;left:0%;font-size:46px;color:var(--cyan);}
.vc-hero-visual .s2{top:70%;left:-6%;font-size:30px;color:var(--navy-deep);}
.vc-hero-visual .s3{top:85%;left:30%;font-size:38px;color:var(--blue);}
.vc-hero-visual .s4{top:-4%;left:62%;font-size:42px;color:var(--blue);}
.vc-hero-visual .s5{top:12%;left:92%;font-size:34px;color:var(--navy-deep);}
.vc-hero-visual .s6{top:78%;left:88%;font-size:38px;color:var(--cyan);}

/* ---- Floating quote card ---- */
.vc-quote-float{position:relative;z-index:3;max-width:1200px;margin:-108px auto 0;padding:0 28px;}
.vc-quote-card{background:var(--surface,#fff);border-radius:24px;box-shadow:0 20px 50px -22px rgba(10,27,61,.35);padding:36px 40px;border:1px solid var(--border);color:var(--navy) !important;}
.vc-quote-card .TitleStyle2{color:var(--navy) !important;font-weight:800;justify-content:flex-start;}
.vc-quote-card p{color:#4E5A70 !important;}
.vc-quote-card .quote-box-cen{justify-content:flex-start;}

/* ---- Services grid (new, additive) ---- */
.vc-services-section{padding-top:150px !important;}
.vc-section-head{max-width:640px;margin:0 auto 46px;text-align:center;}
.vc-kicker{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:12px;}
.vc-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:10px;}
.vc-service-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px 24px;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.vc-service-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -22px rgba(10,27,61,.25);border-color:var(--cyan);}
.vc-service-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg, rgba(0,102,255,.14), rgba(0,210,255,.14));color:var(--blue);margin-bottom:16px;}
.vc-service-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;}
.vc-service-card h3{font-size:18px;margin:0 0 6px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif;}
.vc-service-card p{color:#4E5A70;font-size:14.5px;margin:0;}

/* ---- About card / pull quote ---- */
.vc-about-card{margin-top:60px !important;}
.vc-pull{font-weight:700 !important;font-size:20px !important;line-height:1.6 !important;color:var(--navy) !important;border-left:3px solid var(--cyan);padding-left:22px;}

@media (max-width:900px){
  .vc-hero-grid{grid-template-columns:1fr;padding:56px 20px 130px;text-align:center;}
  .vc-hero-heading{max-width:100%;margin:0 auto;}
  .vc-stat-row{justify-content:center;}
  .vc-hero-visual{order:-1;margin-bottom:20px;}
  .vc-blob-frame{width:240px;height:280px;}
  .vc-quote-card{padding:26px 22px;}
  .vc-quote-float{margin-top:-80px;}
  .vc-services-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .vc-services-grid{grid-template-columns:1fr;}
}

/* ============================================================
   NEW: brand shield hero visual (no stock photo — code-drawn,
   matches the real VC Smart Solutions shield mark)
   ============================================================ */
.vc-shield-hero{min-height:380px;}
.vc-shield-rings{position:absolute;width:340px;height:340px;pointer-events:none;}
.vc-shield-rings span{position:absolute;inset:0;border:1px solid rgba(255,107,74,.35);border-radius:50%;animation:vc-ring-pulse 4.2s ease-out infinite;}
.vc-shield-rings span:nth-child(2){animation-delay:1.3s;border-color:rgba(0,210,255,.35);}
.vc-shield-rings span:nth-child(3){animation-delay:2.6s;}
@keyframes vc-ring-pulse{0%{transform:scale(.4);opacity:0;}15%{opacity:.9;}100%{transform:scale(1);opacity:0;}}
.vc-shield-svg{position:relative;width:220px;height:auto;animation:vc-shield-float 5s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));}
@keyframes vc-shield-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.vc-shield-check{stroke-dasharray:120;stroke-dashoffset:120;animation:vc-check-draw 1.4s .6s ease forwards;}
@keyframes vc-check-draw{to{stroke-dashoffset:0;}}
.vc-float-dot{position:absolute;border-radius:50%;pointer-events:none;animation:vc-dot-float 6s ease-in-out infinite;}
.vc-float-dot.d1{width:16px;height:16px;background:var(--coral);top:14%;left:12%;animation-delay:.2s;}
.vc-float-dot.d2{width:10px;height:10px;background:var(--cyan);top:70%;left:78%;animation-delay:1.4s;}
.vc-float-dot.d3{width:13px;height:13px;background:rgba(255,255,255,.5);top:78%;left:18%;animation-delay:2.6s;}
@keyframes vc-dot-float{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-18px) scale(1.15);}}
@media (prefers-reduced-motion: reduce){
  .vc-shield-rings span, .vc-shield-svg, .vc-float-dot{animation:none;}
  .vc-shield-check{stroke-dashoffset:0;}
}

/* ---- Coral takes over primary CTA emphasis ---- */
.btn.btn-quote-it{background:var(--coral) !important;background-image:linear-gradient(180deg, #FF8367 0%, var(--coral) 100%) !important;}
.btn.btn-quote-it:hover, .btn.btn-quote-it:focus{background:var(--coral-deep) !important;background-image:linear-gradient(0deg, #FF8367 0%, var(--coral-deep) 100%) !important;}
.vc-eyebrow{color:var(--coral) !important;background:rgba(255,107,74,.12) !important;border-color:rgba(255,107,74,.35) !important;}
.vc-eyebrow .vc-dot{background:var(--coral) !important;}
.vc-kicker{color:var(--blue);}
.vc-service-card:hover{border-color:var(--cyan) !important;}
.vc-service-icon{background:linear-gradient(160deg, rgba(0,102,255,.14), rgba(0,210,255,.16)) !important;color:var(--blue) !important;}

/* ---- How it works ---- */
.vc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:vc-step;margin-top:10px;}
.vc-step{position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px 24px 24px;}
.vc-step::before{counter-increment:vc-step;content:counter(vc-step);position:absolute;top:-16px;left:24px;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;box-shadow:0 8px 16px -6px rgba(10,27,61,.5);}
.vc-step h3{margin:10px 0 8px;font-size:18px;font-weight:800;color:var(--navy);font-family:'Outfit',sans-serif;}
.vc-step p{margin:0;color:#4E5A70;font-size:14.5px;}

/* ---- Agent intro card ---- */
.vc-agent-section{background:var(--navy-deep);padding:80px 0;}
.vc-agent-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:44px;align-items:center;max-width:1000px;margin:0 auto;padding:0 28px;}
.vc-agent-photo-wrap{position:relative;display:flex;justify-content:center;}
.vc-agent-photo-wrap img{width:220px;height:220px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.15);box-shadow:0 24px 50px -18px rgba(0,0,0,.6);}
.vc-agent-ring{position:absolute;width:250px;height:250px;border-radius:50%;border:1px dashed rgba(0,210,255,.4);animation:vc-shield-float 6s ease-in-out infinite;}
.vc-agent-copy .vc-kicker{color:var(--cyan);}
.vc-agent-copy h2{color:#fff;font-size:clamp(22px,2.6vw,30px);font-weight:800;margin:0 0 12px;font-family:'Outfit',sans-serif;}
.vc-agent-copy p{color:#C4D2EA;font-size:16px;margin:0 0 22px;}
.vc-agent-copy .vc-agent-name{color:#fff;font-weight:800;font-size:15px;display:block;}
.vc-agent-copy .vc-agent-title{display:block;color:#7488A8;font-size:13px;font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.vc-agent-cta{display:inline-flex;align-items:center;gap:9px;background:var(--whatsapp);color:#04361E;font-weight:800;font-size:14.5px;padding:12px 22px;border-radius:999px;text-decoration:none;box-shadow:0 12px 24px -10px rgba(37,211,102,.5);}
.vc-agent-cta:hover{background:#33e076;}
.vc-agent-cta svg{width:18px;height:18px;fill:currentColor;}

@media (max-width:800px){
  .vc-agent-grid{grid-template-columns:1fr;text-align:center;}
  .vc-agent-copy p{max-width:48ch;margin-left:auto;margin-right:auto;}
  .vc-steps{grid-template-columns:1fr;}
}

/* ---- Overlapping "explainer" card stack (replaces plain paragraphs) ---- */
.vc-stack{position:relative;display:flex;gap:26px;margin:34px 0 8px;flex-wrap:wrap;padding:14px 6px 26px;}
.vc-stack-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px 22px;box-shadow:0 20px 40px -22px rgba(10,27,61,.22);flex:1 1 230px;transition:transform .3s cubic-bezier(.2,.8,.3,1.2), box-shadow .3s ease;}
.vc-stack-card p{margin:14px 0 0;font-size:14.5px;color:#333;line-height:1.55;}
.vc-stack-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.vc-stack-icon svg{width:19px;height:19px;stroke-width:2.4;}
.vc-stack-a{transform:rotate(-4deg) translateY(10px);}
.vc-stack-a .vc-stack-icon{background:#E8F0FE;color:var(--blue-deep);}
.vc-stack-b{transform:rotate(0deg) translateY(-10px);z-index:2;border-color:var(--blue);box-shadow:0 30px 55px -20px rgba(10,27,61,.32);}
.vc-stack-b .vc-stack-icon{background:#E7EFFC;color:var(--blue);}
.vc-stack-c{transform:rotate(4deg) translateY(10px);}
.vc-stack-c .vc-stack-icon{background:#E6FBFD;color:#0E90A8;}
.vc-stack-card:hover{transform:translateY(-12px) rotate(0deg) !important;z-index:3;box-shadow:0 34px 60px -18px rgba(10,27,61,.38);border-color:var(--cyan);}
@media (max-width:800px){
  .vc-stack{flex-direction:column;gap:16px;}
  .vc-stack-a, .vc-stack-b, .vc-stack-c{transform:none;}
}

/* ---- Animated map card ---- */
.vc-map-card{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 24px 50px -22px rgba(10,27,61,.35);border:1px solid var(--border);}
.vc-map-card iframe{display:block;filter:saturate(.9);}
.vc-map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);pointer-events:none;z-index:2;}
.vc-map-pin svg{width:40px;height:40px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.35));animation:vc-pin-bounce 2.2s ease-in-out infinite;}
.vc-map-pin .vc-pin-ring{position:absolute;bottom:-4px;left:50%;width:20px;height:8px;border-radius:50%;background:rgba(10,27,61,.25);transform:translateX(-50%);animation:vc-pin-shadow 2.2s ease-in-out infinite;}
@keyframes vc-pin-bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes vc-pin-shadow{0%,100%{transform:translateX(-50%) scale(1);opacity:.35;}50%{transform:translateX(-50%) scale(.6);opacity:.15;}}
.vc-map-badge{position:absolute;top:16px;left:16px;background:#fff;border-radius:12px;padding:9px 14px;box-shadow:0 10px 24px -10px rgba(10,27,61,.4);font-size:13px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px;z-index:2;font-family:'Inter',sans-serif;}
.vc-map-badge span.vc-live-dot{width:7px;height:7px;border-radius:50%;background:#25D366;animation:vc-blink 1.6s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){
  .vc-map-pin svg, .vc-map-pin .vc-pin-ring, .vc-map-badge span.vc-live-dot{animation:none;}
}
