/* ===== Revo IT Solutions — global styles (ported from the DC prototype) ===== */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Manrope',sans-serif;color:#243049;background:#ffffff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#f47a21;text-decoration:none}
a:hover{color:#d9660f}
::selection{background:#f47a21;color:#fff}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes modalIn{0%{opacity:0}100%{opacity:1}}
[data-asteroid]:active{transform:scale(.94)}
[data-asteroid]:hover>div:first-child{transform:scale(1.22);box-shadow:0 22px 44px -12px rgba(244,122,33,.75) !important}
[data-asteroid]{z-index:1}
[data-asteroid]:hover{z-index:4}
@keyframes waPop{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-12deg) scale(1.18)}55%{transform:rotate(10deg) scale(1.18)}80%{transform:rotate(-4deg) scale(1.1)}}
@keyframes callRing{0%,100%{transform:rotate(0)}20%{transform:rotate(-16deg)}40%{transform:rotate(14deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(6deg)}}
[data-wa-btn] svg,[data-call-btn] svg,[data-call-btn] i{transition:transform .25s}
[data-wa-btn]:hover{background:#1ebe5b !important}
[data-wa-btn]:hover svg{animation:waPop .6s ease-in-out}
[data-call-btn]:hover{background:#1c3a63 !important}
[data-call-btn]:hover svg,[data-call-btn]:hover i{animation:callRing .6s ease-in-out;transform-origin:center}
[data-hover-card]:hover [data-svc-icon]{transform:scale(1.06);border-radius:50%}
[data-svc-icon] svg *{stroke-linecap:round;stroke-linejoin:round}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes pulseDot{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
svg.lucide{stroke-width:1.6}
input:focus,textarea:focus,select:focus{border-color:#f47a21 !important;box-shadow:0 0 0 3px rgba(244,122,33,.12)}

/* skip link (a11y) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:#14233f;color:#fff;padding:10px 16px;border-radius:0 0 10px 0;font-family:'Sora';font-weight:600;font-size:14px}
.skip-link:focus{left:0}

/* header — state driven by .transparent / .solid / .menu-open classes */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s ease,border-color .35s ease;backdrop-filter:blur(14px)}
.site-header.transparent{background:rgba(13,28,51,0);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header.solid{background:rgba(255,255,255,.92);border-bottom:1px solid #eceef2}
.nav-link{font-family:'Sora';font-weight:600;font-size:14.5px;padding:9px 15px;border-radius:100px;transition:all .25s}
.site-header.transparent .nav-link{color:#e3e8f1}
.site-header.transparent .nav-link.active{color:#fff;background:rgba(255,255,255,.14)}
.site-header.solid .nav-link{color:#3d475f}
.site-header.solid .nav-link.active{color:#14233f;background:#fbe9da}
.nav-link:hover{color:#f47a21}
.burger{background:none;border:none;cursor:pointer;padding:0;line-height:0}
.site-header.transparent .burger{color:#fff}
.site-header.solid .burger{color:#14233f}
.mobile-menu{display:flex !important;max-height:0;opacity:0;overflow:hidden;padding-top:0 !important;padding-bottom:0 !important;transform:translateY(-8px);transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .28s ease,transform .4s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1);will-change:max-height,opacity,transform}
.site-header.menu-open .mobile-menu{max-height:520px;opacity:1;transform:translateY(0);padding-top:14px !important;padding-bottom:22px !important}
.mobile-menu a{opacity:0;transform:translateX(-10px);transition:opacity .32s ease,transform .32s ease,background .2s ease}
.site-header.menu-open .mobile-menu a{opacity:1;transform:translateX(0)}
.site-header.menu-open .mobile-menu a:nth-child(1){transition-delay:.08s}
.site-header.menu-open .mobile-menu a:nth-child(2){transition-delay:.14s}
.site-header.menu-open .mobile-menu a:nth-child(3){transition-delay:.20s}
.site-header.menu-open .mobile-menu a:nth-child(4){transition-delay:.26s}
.site-header.menu-open .mobile-menu a:nth-child(5){transition-delay:.32s}
.mobile-menu a:hover{background:rgba(255,255,255,.05);color:#f47a21 !important}

/* image-slot placeholders (branded fallbacks for the team / office photo drop-zones) */
.image-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(135deg,#14233f 0%,#1c3a63 55%,#0d1c33 100%);color:#8ea1c0;position:relative;overflow:hidden}
.image-slot::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:34px 34px;mask-image:radial-gradient(70% 70% at 50% 40%,#000 30%,transparent 100%)}
.image-slot__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px}
.image-slot__inner i{width:38px;height:38px;color:#f9a866}
.image-slot__inner span{font-family:'Sora';font-weight:600;font-size:14px;letter-spacing:.3px;color:#aebbd1;max-width:220px;line-height:1.4}

@media(max-width:960px){
  [data-hero-grid],[data-split]{grid-template-columns:1fr !important;gap:44px !important}
  [data-cards-3]{grid-template-columns:1fr 1fr !important}
  [data-process]{grid-template-columns:1fr 1fr 1fr !important}
  [data-foot-grid]{grid-template-columns:1fr 1fr !important;gap:32px !important}
}
@media(max-width:720px){
  [data-desktop-nav]{display:none !important}
  [data-menu-toggle]{display:inline-flex !important}
  [data-cards-3],[data-cards-2],[data-process]{grid-template-columns:1fr !important}
  [data-form-row]{grid-template-columns:1fr !important}
  [data-foot-grid]{grid-template-columns:1fr !important}
  [data-cta] span{display:none}
  .site-header > div:first-child{height:58px !important;padding:0 18px !important;gap:14px !important}
  .site-header img{height:34px !important;width:auto !important;border-radius:8px !important}
  [data-cta]{padding:8px 14px !important;font-size:13px !important;box-shadow:none !important}
  [data-cta] i,[data-cta] svg{width:15px !important;height:15px !important}
  .burger i{width:22px !important;height:22px !important}
  main > section:first-of-type{padding-top:84px !important}
}
