/* VELOXITY — style.css */
:root{--navy:#1F3341;--teal:#2EBCB0;--mustard:#ECC043;--bg:#FBF9F4;--bg2:#FFFFFF;--surface:#FFFFFF;--surfaceDark:#2A4152;--ink:#1F3341;--inkmuted:rgba(31,51,65,.6);--cream:#F7F3EA;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none}
img{max-width:100%}
button{font-family:inherit}

.vx-navlink:hover{color:var(--teal) !important}
.vx-btn-solid{transition:filter .2s ease, transform .2s ease}
.vx-btn-solid:hover{filter:brightness(1.06);transform:translateY(-1px)}
.vx-ph-light::placeholder{color:rgba(247,243,234,.85)}
.lang-switch a{transition:color .2s ease}
.lang-switch a:hover{color:var(--teal) !important}

/* honeypot field - hidden from humans, visible to bots */
.vx-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;pointer-events:none}

/* header scrolled state */
.site-header{transition:box-shadow .25s ease, padding .25s ease}
.site-header.is-scrolled{box-shadow:0 8px 24px -16px rgba(31,51,65,.35)}

/* mobile nav toggle button (hidden on desktop) */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:0}
.nav-toggle span{display:block;width:100%;height:2px;background:var(--navy);border-radius:2px;transition:transform .25s ease, opacity .25s ease}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* form status */
.form-status.is-ok{color:var(--teal) !important;display:block !important}
.form-status.is-err{color:#e08585 !important;display:block !important}
.form-status.is-sending{color:var(--cream) !important;opacity:.7;display:block !important}

/* =========================================================
   RESPONSIVE OVERRIDES
   The exported design uses inline styles (desktop canvas),
   so breakpoints below intentionally use !important to win
   over inline style="" attributes on the same elements.
   ========================================================= */

@media (max-width: 980px){
  .site-header{padding:14px 24px !important}
  .hero{padding:100px 24px 70px !important}
  .hero-title{font-size:42px !important}
  section[id]{padding:64px 24px !important}
  .services-grid{grid-template-columns:1fr !important}
  .about-grid{grid-template-columns:1fr !important;gap:32px !important}
  .contact-grid{grid-template-columns:1fr !important;gap:32px !important}
  .process-grid{grid-template-columns:repeat(3,1fr) !important;gap:24px !important}
  .site-footer{padding:28px 24px !important}
}

@media (max-width: 640px){
  .nav-toggle{display:flex !important}
  .nav-links{
    display:none !important;
  }
  .nav-links.is-open{
    display:flex !important;
    position:fixed !important;
    inset:64px 0 0 0 !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0 !important;
    background:var(--bg2) !important;
    padding:8px 24px 24px !important;
    z-index:20;
    overflow-y:auto;
  }
  .nav-links.is-open a{padding:14px 0 !important;width:100%;border-bottom:1px solid rgba(31,51,65,.08)}
  .nav-links.is-open .lang-switch{border-left:none !important;padding-left:0 !important;margin-left:0 !important;padding-top:14px !important}

  .hero-title{font-size:32px !important}
  .hero p{font-size:16.5px !important}
  .process-grid{grid-template-columns:repeat(2,1fr) !important;gap:20px !important}
  .service-card{padding:26px !important}
  .service-card h3{font-size:24px !important}
  section h2{font-size:28px !important}
  .site-footer{flex-direction:column !important;gap:14px !important;text-align:center}
}
