/* ===== base.css ===== */
/*
 * Base styles.
 *
 * Replaces the parts of OceanWP's stylesheet the content actually depends on.
 * Everything here earns its place - this is not a general-purpose reset.
 *
 * The one line that must not be touched is html{font-size:62.5%}. OceanWP set
 * it, and 79 rem values across the site's CSS were authored against the 10px
 * root it produces. Remove it and every rem-sized element grows by 60%.
 */

html {
  font-size: 62.5%;             /* 1rem = 10px - see note above */
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  color-scheme: light only;
  forced-color-adjust: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* The theme's reset zeroed these and made them inherit typography, which the
   section CSS then sets explicitly.
   html is deliberately NOT in this list: it carries font-size:62.5% above, and
   including it here would reset that to 100% and undo the 10px root. */
body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr,
address, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strong,
sub, sup, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas,
details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main,
menu, nav, section {
  display: block;
}

/* global.css sets the real body typography (16px/1.7). This is the fallback
   that applies before it, so a missing global.css degrades rather than breaks. */
body {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: #0b1929;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* The hidden attribute is only display:none at the browser-default level, so
   any rule that sets display explicitly silently beats it. Several components
   here set display:grid on the same elements they hide, so make it stick. */
[hidden] {
  display: none !important;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
}

svg {
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

a {
  color: #1a7de8;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
  background: none;
  border: 0;
  cursor: pointer;
}

/* The domain search button is a bare <button> that inherited its lettering from
   OceanWP's generic button rule. That rule is gone, so the two properties it
   actually contributed are restored here rather than reintroducing the whole
   theme baseline. */
.vt-hero-dom-row button {
  text-transform: uppercase;
  letter-spacing: 1.3px;
}

/* Visible focus for keyboard users, suppressed for pointer input. */
:focus-visible {
  outline: 2px solid #1a7de8;
  outline-offset: 2px;
}

.vt-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  background: #0b1929;
  color: #fff;
  padding: 12px 20px;
  border-radius: 0 0 8px 0;
  font-size: 14px;
  font-weight: 600;
}

.vt-skip-link:focus {
  left: 0;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ===== global.css ===== */
:root{
  --blue:#1a7de8;
  --blue-d:#0f5ec0;
  --blue-l:#e8f3ff;
  --teal:#36C1E0;
  --teal-d:#1fa8c7;
  --green:#4DB8A4;
  --ink:#0b1929;
  --ink2:#3a4e65;
  --ink3:#7a93a8;
  --bg:#fff;
  --bg2:#f4f9ff;
  --r:14px;
  --rlg:22px;
  --rxl:28px;
}

/* ── Base reset ── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body, body * {
  font-family: 'Poppins', sans-serif !important;
}

body {
  font-size: 16px;
  line-height: 1.7;
  color: #0b1929;
  -webkit-font-smoothing: antialiased;
}

/* ── Typography scale ── */
p {
  font-size: 16px;
  line-height: 1.75;
  color: #3a4e65;
}

h1, h2, h3, h4, h5 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #0b1929;
}

/* ── Override snippet section padding globally ── */
/* Pulls all sections in so nothing feels zoomed out */
.vt-pricing,
.vt-why,
.vt-wd,
.vt-hiw,
.vt-testi,
.vt-fcta {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

/* ── Override heading sizes globally ── */
.vt-sh {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(28px, 3.5vw, 44px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
  overflow: visible !important;
}

/* Gradient italic text must never clip */
.vt-sh em {
  font-style: italic !important;
  font-weight: 800 !important;
  display: inline-block !important;
  padding-bottom: 6px !important;
  line-height: 1.2 !important;
  background: linear-gradient(135deg, #1a7de8, #36C1E0);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Section labels */
.vt-tag {
  font-size: 11px !important;
  letter-spacing: .1em !important;
}

/* Section body copy */
.vt-sp {
  font-size: 16px !important;
  line-height: 1.75 !important;
  margin-bottom: 40px !important;
}

/* ── Hero heading ── */
.vt-h1 {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(36px, 5.5vw, 64px) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
}

/* ── Hero subheading ── */
.vt-hero-sub {
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

/* ── Hero description ── */
.vt-hero-desc {
  font-size: 16px !important;
  line-height: 1.78 !important;
}

/* ── Stat numbers ── */
.vt-snum {
  font-family: 'Poppins', sans-serif !important;
  font-size: 48px !important;
  font-weight: 800 !important;
}

/* ── Pricing ── */
.vt-pamt {
  font-family: 'Poppins', sans-serif !important;
  font-size: 56px !important;
  font-weight: 800 !important;
}
.vt-pname {
  font-size: 20px !important;
  font-weight: 700 !important;
}
.vt-pfeats li {
  font-size: 15px !important;
}
.vt-pbtn {
  font-size: 15px !important;
  padding: 14px !important;
}

/* ── Feature cards ── */
.vt-wcard h3,
.vt-sc-body h3,
.vt-hcard h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.vt-wcard p,
.vt-sc-body p,
.vt-hcard p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* ── Testimonials ── */
.vt-ttext {
  font-size: 16px !important;
  line-height: 1.78 !important;
}
.vt-tname {
  font-size: 16px !important;
}
.vt-trole {
  font-size: 13px !important;
}
.vt-qmark {
  font-family: 'Poppins', sans-serif !important;
  font-size: 56px !important;
}

/* ── CTA ── */
.vt-fbox h2 {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(30px, 4vw, 52px) !important;
  font-weight: 800 !important;
}
.vt-fbox p {
  font-size: 17px !important;
}
.vt-fbw,
.vt-fbt {
  font-size: 16px !important;
  padding: 16px 32px !important;
}

/* ── Buttons ── */
.vt-btn-p,
.vt-btn-s,
.vt-btn-nav {
  font-size: 15px !important;
}

/* ── Step cards in web design section ── */
.vt-wstep h4 {
  font-size: 17px !important;
  font-weight: 700 !important;
}
.vt-wstep p {
  font-size: 15px !important;
}

/* ── Feature strip ── */
.vt-feat-strip-head h3 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}
.vt-feat-strip-head p {
  font-size: 15px !important;
}
.vt-fpill {
  font-size: 14px !important;
  padding: 10px 18px !important;
}

/* ── How it works ── */
.vt-hiw {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

/* ── Nav ── */
.vt-logo-name {
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  letter-spacing: .03em !important;
}

/* ── Showcase grid tighter ── */
.vt-showcase-grid {
  margin-bottom: 32px !important;
}

/* ── Dashboard metric values ── */
.vt-mbox-v {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 800 !important;
}
.vt-fval {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 800 !important;
}
/* ── Domain Search Shortcode ── */

.dsfwhmcs-wrapper {
  width: 100%;
  padding: 0;
  background: transparent;
}

.dsfwhmcs-form {
  width: 100%;
  margin: 0 auto;
}

.dsfwhmcs-search-input-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dsfwhmcs-input-with-button {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1.5px solid rgba(11,25,41,.1);
  border-radius: var(--r);
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(11,25,41,.06);
  transition: border-color .25s, box-shadow .25s;
}

.dsfwhmcs-input-with-button:focus-within {
  border-color: rgba(26,125,232,.4);
  box-shadow: 0 0 0 3px rgba(26,125,232,.1), 0 2px 14px rgba(11,25,41,.06);
}

.dsfwhmcs-domain-search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 15px 20px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #0b1929;
}

.dsfwhmcs-domain-search-input::placeholder {
  color: #7a93a8;
  font-weight: 400;
}

.dsfwhmcs-domain-search-button {
  flex-shrink: 0;
  background: linear-gradient(135deg, #1a7de8, #36C1E0);
  border: none;
  color: #ffffff;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 15px 28px;
  margin: 6px;
  border-radius: calc(var(--r) - 4px);
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
  letter-spacing: 0.01em;
}

.dsfwhmcs-domain-search-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(26,125,232,.35);
}

/* Mobile */
@media (max-width: 560px) {
  .dsfwhmcs-input-with-button {
    flex-direction: column;
    align-items: stretch;
  }
  .dsfwhmcs-domain-search-button {
    margin: 0 6px 6px;
    padding: 14px;
  }
}
/* Mobile */
@media (max-width: 560px) {
  .dsfwhmcs-input-with-button {
    flex-direction: column;
    align-items: stretch;
  }
  .dsfwhmcs-domain-search-button {
    margin: 0 6px 6px;
    padding: 14px;
  }
}

/* ── Unified background — flat sections only ── */
.vt-why,
.vt-hiw{background:#f4f9ff !important}

.vt-pricing,
.vt-wd,
.vt-testi{background:linear-gradient(180deg,#f4f9ff,#f0f7ff) !important}

/* ── Mobile padding fixes ── */
@media(max-width:768px){
  .vt-hiw{padding:48px 5% !important}
  .vt-wd,.vt-testi,.vt-finder,.vt-why,.vt-pricing{padding:48px 5% !important}
  .vt-pgrid{grid-template-columns:1fr !important}
  .vt-showcase-grid{grid-template-columns:1fr !important}
  .vt-why-grid{grid-template-columns:1fr !important}
  .vt-hiw-grid{grid-template-columns:1fr !important}
  .vt-hiw-grid::after{display:none !important}
}
@media(max-width:480px){
  .vt-hero{padding:70px 5% 50px !important}
  .vt-fbox h2{font-size:28px !important}
  .vt-fbw,.vt-fbt{padding:14px 20px !important;font-size:14px !important}
}

/* ── Force light mode — prevents dark mode text issues ── */
:root{color-scheme:light only}
html{color-scheme:light only;forced-color-adjust:none}
body{color:#0b1929}
p,li{forced-color-adjust:none;color:inherit}

/* VT-SHARED-COMPONENTS start */
.vt-grad-blue{background:linear-gradient(135deg,#1a7de8,#4a9ef8); -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.vt-grad-teal{background:linear-gradient(135deg,#36C1E0,#4DB8A4); -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.vt-btn-p{background:linear-gradient(135deg,#1a7de8,#1fa8c7);color:white; padding:1rem 2.2rem;border-radius:50px; font-size:1.05rem;font-weight:700; text-decoration:none;display:inline-flex;align-items:center;gap:9px; box-shadow:0 6px 28px rgba(26,125,232,.38); transition:all .25s; animation:vt-glow 3s ease-in-out 2s infinite;}
.vt-btn-p:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 42px rgba(26,125,232,.5)}
.vt-btn-p svg,.vt-btn-s svg{width:16px;height:16px;fill:none;stroke-width:2.5;stroke-linecap:round;transition:transform .25s}
.vt-btn-p svg{stroke:white}
.vt-btn-p:hover svg,.vt-btn-s:hover svg{transform:translateX(4px)}
.vt-btn-s{background:white;color:#3a4e65; padding:1rem 2.2rem;border-radius:50px; font-size:1.05rem;font-weight:600;text-decoration:none; display:inline-flex;align-items:center;gap:9px; border:1.5px solid rgba(11,25,41,.1); box-shadow:0 2px 14px rgba(11,25,41,.06); transition:all .25s;}
.vt-btn-s svg{stroke:#3a4e65}
.vt-btn-s:hover{border-color:rgba(26,125,232,.3);color:#1a7de8;transform:translateY(-2px)}
.vt-btn-s:hover svg{stroke:#1a7de8}
.vt-sec-center{text-align:center; display:flex; flex-direction:column; align-items:center;}
.vt-tag{display:inline-flex;align-items:center;gap:8px; background:linear-gradient(135deg,rgba(26,125,232,.07),rgba(54,193,224,.06)); border:1px solid rgba(26,125,232,.14);border-radius:50px; padding:6px 18px;font-size:11px;font-weight:700; letter-spacing:.1em;text-transform:uppercase;color:#1a7de8;margin-bottom:18px;}
.vt-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#1a7de8,#36C1E0);flex-shrink:0}
.vt-sh{font-family:'Poppins',sans-serif !important; font-size:clamp(28px,3.5vw,44px) !important; font-weight:800;line-height:1.18; letter-spacing:-0.01em;color:#0b1929; margin-bottom:16px;max-width:700px;overflow:visible;}
.vt-sh em{font-style:italic;font-weight:800;display:inline-block; padding-bottom:6px;line-height:1.2; background:linear-gradient(135deg,#1a7de8,#36C1E0); -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.vt-sp{font-size:16px !important;color:#3a4e65;line-height:1.75;max-width:560px;margin-bottom:32px}
.vt-showcase-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; width:100%;}
.vt-sc-card{background:#fff; border-radius:24px; border:2px solid rgba(11,25,41,.07); overflow:hidden; transition:all .35s cubic-bezier(.25,.8,.25,1); cursor:default;}
.vt-sc-card:hover{transform:translateY(-8px); box-shadow:0 24px 60px rgba(11,25,41,.12); border-color:rgba(26,125,232,.2);}
.vt-sc-visual{height:200px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
.vt-sc-body{padding:28px 28px 32px}
.vt-sc-body h3{font-size:22px;font-weight:800;color:#0b1929;margin-bottom:10px}
.vt-sc-body p{font-size:17px;color:#3a4e65;line-height:1.72}
/* VT-SHARED-COMPONENTS end */


/* ===== header.css ===== */
.vt-topbar{
  background:#0b1929;height:42px;padding:0 6%;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;overflow:hidden;
}
.vt-topbar::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(54,193,224,.09),transparent);
  animation:vt-shimmer 5s linear infinite;
  pointer-events:none;
}
@keyframes vt-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.vtb-left{display:flex;align-items:center;gap:28px}
.vtb-item{
  display:flex;align-items:center;gap:7px;
  font-family:'Poppins',sans-serif;
  font-size:12.5px;color:rgba(255,255,255,.6);font-weight:500;
}
.vtb-dot{
  width:6px;height:6px;border-radius:50%;flex-shrink:0;
  animation:vtb-pulse 2.2s ease-in-out infinite;
}
@keyframes vtb-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.vtb-right{display:flex;align-items:center;gap:20px}
.vtb-link{
  font-family:'Poppins',sans-serif;
  font-size:12.5px;color:rgba(255,255,255,.55);font-weight:600;
  text-decoration:none;display:flex;align-items:center;gap:5px;transition:color .2s;
}
.vtb-link:hover{color:white}
.vtb-link.hi{color:#36C1E0}
.vtb-link svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}

.vt-header{
  background:linear-gradient(160deg,#f0f7ff 0%,#eafaff 100%);
  padding:0 6%;
  position:relative;
  z-index:9999;
}
.vt-header.scrolled{box-shadow:0 4px 32px rgba(11,25,41,.08)}
.vt-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:auto;
  padding:16px 0;
}

.vt-logo{
  display:flex;align-items:center;text-decoration:none;flex-shrink:0;line-height:0;
}
.vt-logo img{
  height:120px;width:120px;object-fit:contain;display:block;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .2s;
}
.vt-logo:hover img{transform:scale(1.05);opacity:.85}

.vt-nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.vt-nav-links a{
  font-family:'Poppins',sans-serif;
  padding:8px 14px;color:#3a4e65;text-decoration:none;
  font-size:14px;font-weight:500;border-radius:10px;
  transition:all .2s;position:relative;display:block;
}
.vt-nav-links a::after{
  content:'';position:absolute;bottom:5px;left:50%;
  transform:translateX(-50%) scaleX(0);
  width:16px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#1a7de8,#36C1E0);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.vt-nav-links a:hover{color:#0b1929;background:rgba(26,125,232,.05)}
.vt-nav-links a:hover::after{transform:translateX(-50%) scaleX(1)}

.vt-has-drop{position:relative}
.vt-has-drop > a{display:flex;align-items:center;gap:5px}
.vt-has-drop > a > svg{
  width:13px;height:13px;stroke:#7a93a8;fill:none;
  stroke-width:2.5;stroke-linecap:round;
  transition:transform .25s,stroke .2s;
}
.vt-has-drop:hover > a > svg{transform:rotate(180deg);stroke:#1a7de8}

.vt-dropdown{
  position:absolute;top:calc(100% + 10px);left:0;
  background:white;border-radius:18px;
  border:1.5px solid rgba(26,125,232,.1);
  box-shadow:0 16px 50px rgba(11,25,41,.13);
  padding:10px;min-width:200px;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .25s cubic-bezier(.25,.8,.25,1);z-index:100;
}
.vt-has-drop:hover .vt-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.vt-dd-item{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:12px;
  padding:10px 12px;border-radius:12px;
  text-decoration:none;transition:background .2s;
}
.vt-dd-item:hover{background:#f4f9ff}
.vt-dd-icon{
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.vt-dd-icon svg{width:17px;height:17px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
.vt-dd-name{font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;color:#0b1929;line-height:1.2;display:inline}

.vt-nav-cta{
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#1a7de8,#1fa8c7);
  color:white;padding:10px 22px;border-radius:50px;
  font-family:'Poppins',sans-serif;
  font-size:14px;font-weight:700;text-decoration:none;
  box-shadow:0 4px 18px rgba(26,125,232,.32);transition:all .25s;white-space:nowrap;
}
.vt-nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(26,125,232,.44)}
.vt-nav-cta svg{
  width:14px;height:14px;stroke:white;fill:none;
  stroke-width:2.5;stroke-linecap:round;transition:transform .25s;
}
.vt-nav-cta:hover svg{transform:translateX(3px)}

.vt-hamburger{
  display:none;flex-direction:column;gap:5px;
  cursor:pointer;padding:6px;border:none;background:none;
}
.vt-hamburger span{
  width:24px;height:2.5px;border-radius:2px;
  background:#0b1929;transition:all .3s;display:block;
}
.vt-hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.vt-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.vt-hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

.vt-mobile-menu{
  display:none;background:white;
  border-top:1px solid rgba(26,125,232,.08);
  padding:16px 6% 24px;
}
.vt-mobile-menu.open{display:block}
.vt-mobile-menu a{
  display:block;font-family:'Poppins',sans-serif;
  font-size:16px;font-weight:600;color:#0b1929;
  text-decoration:none;padding:14px 0;
  border-bottom:1px solid rgba(11,25,41,.06);transition:color .2s;
}
.vt-mobile-menu a:hover{color:#1a7de8}
.vt-mobile-cta{
  display:block;
  background:linear-gradient(135deg,#1a7de8,#1fa8c7) !important;
  color:white !important;text-align:center;
  padding:14px !important;border-radius:50px;
  margin-top:16px;border-bottom:none !important;
  box-shadow:0 4px 18px rgba(26,125,232,.3);
}

@media(max-width:480px){
  .vt-topbar{height:auto;padding:8px 5%}
  .vtb-left{flex-wrap:wrap;gap:8px}
  .vtb-right{display:none}
}
@media(max-width:960px){
  .vt-nav-links,.vt-nav-cta{display:none}
  .vt-hamburger{display:flex}
  .vtb-left .vtb-item:nth-child(2),
  .vtb-left .vtb-item:nth-child(3){display:none}
}


/* ===== footer.css ===== */
.vt-footer{
  background:#0b1929;color:white;
  padding:64px 6% 0;position:relative;overflow:hidden;
}
.vt-footer::before{
  content:'';position:absolute;top:-120px;left:-80px;
  width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,125,232,.1),transparent 65%);
  pointer-events:none;
}
.vt-footer::after{
  content:'';position:absolute;bottom:-100px;right:-60px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(77,184,164,.08),transparent 65%);
  pointer-events:none;
}
.vt-footer-inner{position:relative;z-index:1}

.vt-nl-strip{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;padding:28px 32px;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;margin-bottom:48px;flex-wrap:wrap;
}
.vt-nl-text h4,
.vt-nl-text .vt-nl-title{
  font-family:'Poppins',sans-serif;
  font-size:17px;font-weight:700;color:white;margin-bottom:4px;
}
.vt-nl-text p{
  font-family:'Poppins',sans-serif;
  font-size:13px;color:rgba(255,255,255,.4);margin:0;
}
.vt-nl-form{display:flex;gap:10px;flex-shrink:0}
.vt-nl-input{
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.12);
  border-radius:50px;padding:10px 20px;
  font-family:'Poppins',sans-serif;font-size:14px;color:white;
  outline:none;width:240px;transition:border-color .2s,background .2s;
}
.vt-nl-input::placeholder{color:rgba(255,255,255,.3)}
.vt-nl-input:focus{border-color:rgba(54,193,224,.4);background:rgba(255,255,255,.11)}
.vt-nl-btn{
  background:linear-gradient(135deg,#1a7de8,#36C1E0);color:white;border:none;cursor:pointer;
  padding:10px 22px;border-radius:50px;
  font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;white-space:nowrap;
  box-shadow:0 4px 16px rgba(26,125,232,.3);transition:all .25s;
}
.vt-nl-btn:hover{transform:translateY(-2px);box-shadow:0 7px 24px rgba(26,125,232,.44)}

.vt-footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:36px;
  padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.07);
}

.vt-footer-logo{
  display:flex;align-items:center;
  text-decoration:none;margin-bottom:18px;
  line-height:0;
}
.vt-footer-logo img{
  height:100px;
  width:100px;
  object-fit:contain;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.9;
  transition:opacity .2s;
}
.vt-footer-logo:hover img{opacity:1}

.vt-footer-desc{
  font-family:'Poppins',sans-serif;
  font-size:14px;color:rgba(255,255,255,.42);
  line-height:1.75;max-width:280px;margin-bottom:24px;
}
.vt-socials{display:flex;gap:10px}
.vt-social{
  width:38px;height:38px;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:all .25s;
}
.vt-social:hover{
  background:rgba(26,125,232,.25);
  border-color:rgba(54,193,224,.4);transform:translateY(-2px);
}
.vt-social svg{width:16px;height:16px;fill:rgba(255,255,255,.55);transition:fill .25s}
.vt-social:hover svg{fill:white}

.vt-col-title{
  font-family:'Poppins',sans-serif;
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:#36C1E0;margin-bottom:18px;
}
.vt-col-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.vt-col-links a{
  font-family:'Poppins',sans-serif;
  font-size:14px;color:rgba(255,255,255,.48);
  text-decoration:none;font-weight:500;
  transition:color .2s;display:flex;align-items:center;gap:6px;
}
.vt-col-links a::before{
  content:'';width:0;height:1.5px;flex-shrink:0;
  background:linear-gradient(90deg,#1a7de8,#36C1E0);transition:width .25s;
}
.vt-col-links a:hover{color:rgba(255,255,255,.9)}
.vt-col-links a:hover::before{width:10px}

.vt-footer-badges{
  display:flex;gap:10px;flex-wrap:wrap;
  padding:24px 0;border-bottom:1px solid rgba(255,255,255,.07);
}
.vt-badge{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  border-radius:50px;padding:8px 16px;
  font-family:'Poppins',sans-serif;
  font-size:13px;font-weight:600;color:rgba(255,255,255,.48);
  transition:all .2s;cursor:default;
}
.vt-badge:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(54,193,224,.25);color:rgba(255,255,255,.75);
}
.vt-badge svg{
  width:14px;height:14px;flex-shrink:0;
  stroke-width:1.8;stroke-linecap:round;fill:none;
}

.vt-footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 0;flex-wrap:wrap;gap:12px;
}
.vt-footer-copy{
  font-family:'Poppins',sans-serif;
  font-size:13px;color:rgba(255,255,255,.55);
}
.vt-footer-legal{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.vt-footer-legal a{
  font-family:'Poppins',sans-serif;
  font-size:13px;color:rgba(255,255,255,.55);
  text-decoration:none;transition:color .2s;
}
.vt-footer-legal a:hover{color:rgba(255,255,255,.7)}

@media(max-width:960px){
  .vt-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .vt-footer-brand-col{grid-column:1/-1}
}
@media(max-width:600px){
  .vt-footer-grid{grid-template-columns:1fr}
  .vt-footer-brand-col{grid-column:auto}
  .vt-nl-form{flex-direction:column;width:100%}
  .vt-nl-input{width:100%}
  .vt-nl-strip{flex-direction:column;align-items:flex-start}
  .vt-footer-bottom{flex-direction:column;align-items:flex-start}
}


/* ===== contact-form.css ===== */
/*
 * Contact form.
 *
 * Carries over the look the WPForms overrides produced, without needing the
 * !important on every line - nothing is fighting a plugin's stylesheet now.
 */

.vt-form {
  margin: 0;
  padding: 0;
}

.vt-field {
  margin-bottom: 14px;
}

.vt-field label {
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #0b1929;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 6px;
}

.vt-field label span {
  color: #e24b4a;
}

.vt-field input,
.vt-field textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: #0b1929;
  background: #f8fbff;
  border: 1.5px solid rgba(26, 125, 232, .18);
  border-radius: 12px;
  padding: 12px 14px;
  transition: border-color .2s, background .2s, box-shadow .2s;
}

.vt-field input:focus,
.vt-field textarea:focus {
  border-color: #1a7de8;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(26, 125, 232, .1);
  outline: none;
}

/* :user-invalid only matches after the visitor has interacted, so an untouched
   required field is never shown as an error on load. */
.vt-field input:user-invalid,
.vt-field textarea:user-invalid {
  border-color: rgba(226, 75, 74, .55);
}

.vt-field textarea {
  min-height: 100px;
  resize: vertical;
}

.vt-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Sizing matches what the WPForms submit rendered at: 15px/700, uppercase with
   1.5px tracking, fully rounded. */
.vt-form-submit {
  width: 100%;
  padding: 14px;
  background: linear-gradient(135deg, #1a7de8, #1fa8c7);
  color: #fff;
  border: none;
  border-radius: 50px;
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  line-height: 1;            /* the theme's button rule set this; without it the
                                button stands 13px taller than it used to */
  cursor: pointer;
  margin-top: 6px;
  transition: transform .2s, box-shadow .2s, opacity .2s;
}

.vt-form-submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(26, 125, 232, .44);
}

.vt-form-submit:disabled {
  opacity: .65;
  cursor: default;
}

.vt-form-status {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  margin: 12px 0 0;
}

.vt-form-status:empty {
  display: none;
}

.vt-form-status.is-ok {
  background: #f0fbf8;
  border: 1.5px solid rgba(77, 184, 164, .25);
  border-radius: 14px;
  padding: 16px 18px;
  color: #2a9a7f;
}

.vt-form-status.is-error {
  color: #e24b4a;
}

.vt-form-note {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  color: #5a7186;
  line-height: 1.6;
  margin: 12px 0 0;
}

@media (prefers-reduced-motion: reduce) {
  .vt-form-submit:hover:not(:disabled) {
    transform: none;
  }
}
