/* NovaBytes lightweight shell for the booking page. */
.nova-chat{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1500;
  display:block!important;
  visibility:visible!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.nova-chat *{box-sizing:border-box}
.nova-chat-toggle{
  min-width:108px;
  height:54px;
  padding:0 17px 0 13px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  background:linear-gradient(135deg,#0891b2 0%,#2563eb 52%,#7c3aed 100%);
  color:#fff;
  box-shadow:0 16px 36px rgba(37,99,235,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  cursor:pointer;
  position:relative;
  font-weight:950;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.nova-chat-toggle:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(37,99,235,.36);
  filter:saturate(1.08);
}
.nova-chat-toggle:active{transform:translateY(0)}
.nova-chat-icon{
  font-size:1.18rem;
  line-height:1;
  filter:drop-shadow(0 2px 3px rgba(15,23,42,.18));
}
.nova-chat-label{
  font-size:.84rem;
  letter-spacing:.01em;
}
.nova-chat-badge{
  position:absolute;
  top:-7px;
  right:-5px;
  min-width:24px;
  height:24px;
  padding:0 5px;
  border-radius:999px;
  background:#10b981;
  color:#fff;
  border:2px solid #fff;
  font-size:.58rem;
  font-weight:950;
  display:flex;
  align-items:center;
  justify-content:center;
}
.nova-chat-panel{
  position:absolute;
  right:0;
  bottom:66px;
  width:min(360px,calc(100vw - 32px));
  height:min(520px,calc(100vh - 112px));
  height:min(520px,calc(100dvh - 112px));
  min-height:390px;
  background:#fff;
  border:1px solid rgba(15,23,42,.1);
  border-radius:20px;
  box-shadow:0 26px 72px rgba(15,23,42,.24);
  overflow:hidden;
  display:none;
  flex-direction:column;
}
.nova-chat.open .nova-chat-panel{
  display:flex;
  animation:novaChatIn .2s ease-out;
}
@keyframes novaChatIn{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.nova-chat-head{
  padding:.78rem .82rem;
  background:linear-gradient(135deg,#0f172a,#164e63);
  color:#fff;
  display:flex;
  align-items:center;
  gap:.68rem;
  flex:0 0 auto;
}
.nova-chat-logo{
  width:39px;
  height:39px;
  border-radius:13px;
  background:linear-gradient(135deg,#ecfeff,#e0e7ff);
  border:1px solid rgba(255,255,255,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
  box-shadow:0 6px 16px rgba(15,23,42,.2);
}
.nova-chat-title{flex:1;min-width:0}
.nova-chat-title strong{display:block;font-size:.94rem}
.nova-chat-title span{
  display:block;
  margin-top:.08rem;
  font-size:.7rem;
  color:rgba(255,255,255,.76);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nova-chat-close{
  width:36px;
  height:36px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.09);
  color:#fff;
  border-radius:11px;
  cursor:pointer;
  font-size:1.18rem;
  line-height:1;
}
.nova-chat-close:hover{background:rgba(255,255,255,.16)}
.nova-chat-body{
  flex:1 1 auto;
  min-height:150px;
  overflow:auto;
  overscroll-behavior:contain;
  padding:.76rem;
  background:linear-gradient(180deg,#f8fafc,#fff);
  scrollbar-width:thin;
  scrollbar-color:#cbd5e1 transparent;
}
.nova-chat-msg{
  display:flex;
  margin:.5rem 0;
  gap:.45rem;
}
.nova-chat-msg.user{justify-content:flex-end}
.nova-chat-avatar{
  width:26px;
  height:26px;
  border-radius:9px;
  background:linear-gradient(135deg,#ecfeff,#e0e7ff);
  border:1px solid rgba(37,99,235,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.82rem;
  flex:0 0 auto;
}
.nova-chat-bubble{
  max-width:88%;
  padding:.66rem .76rem;
  border-radius:14px;
  font-size:.81rem;
  line-height:1.46;
  box-shadow:0 7px 18px rgba(15,23,42,.055);
  overflow-wrap:anywhere;
}
.nova-chat-msg.bot .nova-chat-bubble{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  color:#334155;
  border-top-left-radius:5px;
}
.nova-chat-msg.user .nova-chat-bubble{
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  border-top-right-radius:5px;
}
.nova-chat-small{
  display:block;
  color:#64748b;
  font-size:.75rem;
  line-height:1.38;
  margin-top:.3rem;
}
.nova-chat-quick{
  padding:.54rem .68rem;
  border-top:1px solid rgba(15,23,42,.08);
  background:#fff;
  flex:0 0 auto;
}
.nova-chat-chip-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.4rem;
  margin-top:.44rem;
  max-height:140px;
  overflow:auto;
  overscroll-behavior:contain;
  transition:max-height .2s ease,opacity .16s ease,margin .16s ease;
  scrollbar-width:thin;
}
.nova-chat-quick.is-collapsed{
  padding-bottom:.45rem;
}
.nova-chat-quick.is-collapsed .nova-chat-chip-grid{
  max-height:0;
  opacity:0;
  margin-top:0;
  overflow:hidden;
}
.nova-chat-options-toggle{
  width:100%;
  min-height:38px;
  border:1px solid rgba(37,99,235,.18);
  background:linear-gradient(180deg,#fff,#f8fafc);
  color:#1d4ed8;
  border-radius:10px;
  padding:.48rem .64rem;
  font-size:.73rem;
  font-weight:900;
  cursor:pointer;
}
.nova-chat-chip{
  min-height:38px;
  border:1px solid rgba(6,182,212,.22);
  background:rgba(6,182,212,.055);
  color:#0f766e;
  border-radius:11px;
  padding:.5rem .46rem;
  font-size:.71rem;
  font-weight:850;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
  text-align:center;
}
.nova-chat-chip:hover{
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  border-color:transparent;
  color:#fff;
  transform:translateY(-1px);
}
.nova-chat-form{
  display:flex;
  gap:.46rem;
  padding:.66rem;
  border-top:1px solid rgba(15,23,42,.08);
  background:#fff;
  flex:0 0 auto;
}
.nova-chat-input{
  flex:1;
  min-width:0;
  min-height:42px;
  border:1px solid rgba(15,23,42,.14);
  border-radius:12px;
  padding:.66rem .75rem;
  font-size:.81rem;
  outline:none;
  color:#0f172a;
  background:#fff;
}
.nova-chat-input:focus{
  border-color:rgba(6,182,212,.62);
  box-shadow:0 0 0 4px rgba(6,182,212,.1);
}
.nova-chat-send{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 9px 20px rgba(6,182,212,.2);
}
.nova-chat-actions{
  display:flex;
  gap:.42rem;
  flex-wrap:wrap;
  margin-top:.58rem;
}
.nova-chat-action{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  text-decoration:none;
  border-radius:9px;
  padding:.48rem .6rem;
  font-size:.71rem;
  font-weight:900;
  background:#f1f5f9;
  color:#0f172a;
  border:1px solid rgba(15,23,42,.08);
  cursor:pointer;
}
.nova-chat-action.primary{
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  border-color:transparent;
}
.nova-chat-note{
  font-size:.67rem;
  line-height:1.3;
  color:#64748b;
  padding:.3rem .75rem .05rem;
  background:#fff;
  text-align:center;
  flex:0 0 auto;
}
.nova-chat-typing{
  display:inline-flex;
  gap:4px;
  align-items:center;
}
.nova-chat-typing span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#94a3b8;
  animation:novaTyping 1s infinite ease-in-out;
}
.nova-chat-typing span:nth-child(2){animation-delay:.12s}
.nova-chat-typing span:nth-child(3){animation-delay:.24s}
@keyframes novaTyping{
  0%,80%,100%{opacity:.35;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-3px)}
}
.nova-chat-fallback{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:1500;
  padding:.82rem 1rem;
  border-radius:999px;
  background:linear-gradient(135deg,#0891b2,#4f46e5);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 18px 42px rgba(37,99,235,.28);
}
.nova-chat-toggle:focus-visible,
.nova-chat-close:focus-visible,
.nova-chat-options-toggle:focus-visible,
.nova-chat-chip:focus-visible,
.nova-chat-send:focus-visible,
.nova-chat-action:focus-visible{
  outline:3px solid #f59e0b;
  outline-offset:3px;
}
.sticky-quick-contact{
  left:50%!important;
  right:auto!important;
  bottom:18px!important;
  z-index:1100!important;
  display:flex!important;
  gap:.55rem!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  max-width:calc(100vw - 32px)!important;
  transform:translateX(-50%)!important;
  transition:opacity .24s ease,transform .24s ease,visibility .24s ease!important;
  padding:.42rem!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(226,232,240,.9)!important;
  box-shadow:0 20px 55px rgba(15,23,42,.20)!important;
  backdrop-filter:blur(18px) saturate(1.25)!important;
}
.sticky-quick-contact .btn{
  padding:.72rem 1.05rem!important;
  border-radius:14px!important;
  font-size:.8rem!important;
  font-weight:900!important;
  min-height:42px!important;
  min-width:136px!important;
  white-space:nowrap!important;
  justify-content:center!important;
}
.sticky-quick-contact .btn-outline{
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
}
.sticky-quick-contact.is-hidden,
body.nova-byte-chat-open .sticky-quick-contact{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate(-50%,120%)!important;
}
@media(max-width:640px){
  .nova-chat{right:12px;bottom:84px}
  .nova-chat-toggle{
    min-width:84px;
    height:50px;
    padding:0 13px 0 10px;
    gap:.35rem;
  }
  .nova-chat-icon{font-size:1.05rem}
  .nova-chat-label{font-size:.77rem}
  .nova-chat-panel{
    right:-2px;
    bottom:60px;
    width:calc(100vw - 20px);
    height:min(560px,calc(100vh - 118px));
    height:min(560px,calc(100dvh - 118px));
    min-height:360px;
    border-radius:18px;
  }
  .nova-chat-bubble{max-width:90%}
  .nova-chat-chip-grid{grid-template-columns:1fr 1fr;max-height:150px}
  .sticky-quick-contact{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    transform:none!important;
    max-width:none!important;
  }
  .sticky-quick-contact .btn{
    flex:1!important;
    min-width:0!important;
    padding:.68rem .5rem!important;
    font-size:.75rem!important;
  }
  .sticky-quick-contact.is-hidden,
  body.nova-byte-chat-open .sticky-quick-contact{
    transform:translateY(120%)!important;
  }
}
@media(min-width:641px) and (max-height:650px){
  .nova-chat-panel{
    height:calc(100vh - 96px);
    height:calc(100dvh - 96px);
    min-height:340px;
    bottom:62px;
  }
  .nova-chat-body{min-height:120px}
}
@media(prefers-reduced-motion:reduce){
  .nova-chat *,
  .nova-chat *::before,
  .nova-chat *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
/* NovaBytes: feedback de interacción, sin librerías ni efectos continuos. */
:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card){transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
@media(hover:hover) and (pointer:fine){:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card):hover{transform:translateY(-4px);border-color:#38bdf8;box-shadow:0 12px 28px #0284c71c;background-color:#f0f9ff}}
:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card):is(:focus-within,:active,.nb-touch-feedback){border-color:#38bdf8;box-shadow:0 6px 20px #0284c725;background-color:#f0f9ff}
:is(.btn,.nb-footer-request):active{transform:scale(.98)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #38bdf8;outline-offset:4px}
.nb-platforms-compact .nb-platforms-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.nb-platforms-compact .nb-platforms-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.nb-platforms-compact .nb-platforms-compact-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card,.btn,.nb-footer-request){transition:none!important;transform:none!important}}
/* NovaBytes: a bounded layout, original robot and accessible motion. */
.nb-repaired-page {overflow-wrap:break-word}
.nb-repaired-page main {min-width:0}
.nb-repaired-page section[id] {scroll-margin-top:100px}
.nb-repaired-page .nb-nav-inner {width:100%;max-width:1240px;margin-inline:auto;min-height:76px;padding:12px 24px;gap:20px;box-sizing:border-box}
.nb-repaired-page .nb-nav .nb-logo {flex:0 0 auto}
.nb-repaired-page .nb-nav .nb-links {gap:16px;min-width:0}
.nb-repaired-page .nb-nav .nb-links>a {font-size:.78rem;white-space:nowrap;line-height:1.4}
.nb-repaired-page .nb-nav .nb-links>.nb-hours-nav {color:#075985;font-weight:800}
.nb-repaired-page .nb-nav .nb-cta {padding:12px 15px}
.nb-repaired-page .nb-toggle {width:44px;height:44px;align-items:center;justify-content:center;flex-shrink:0}
.nb-repaired-page .nb-nav a:focus-visible,.nb-repaired-page main a:focus-visible,.nb-repaired-page main button:focus-visible {outline:3px solid #0284c7;outline-offset:4px}
.nb-landing-hero {padding:124px 0 60px;background:radial-gradient(ellipse at 10% 20%,#e0f7fc,transparent 45%),radial-gradient(ellipse at 100% 30%,#eeebff,transparent 48%),#f8fcff}
.nb-landing-hero .nb-landing-grid {width:100%;max-width:1200px;margin:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:center}
.nb-landing-copy,.nb-goals-panel {min-width:0}
.nb-landing-badge {display:inline-flex;align-items:center;gap:10px;padding:8px 12px;margin:0 0 22px;border:1px solid #b8e4f0;border-radius:999px;background:#f1fcff;color:#086884;font-size:.74rem;font-weight:800;line-height:1.5}
.nb-landing-copy h1 {margin:0 0 22px;max-width:18ch;color:#10233d;font-size:clamp(2.1rem,3.7vw,3.4rem);line-height:1.12;letter-spacing:-.04em}
.nb-landing-copy h1 span {color:#1264c6;background:linear-gradient(120deg,#0891b2,#2563eb,#7c3aed);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nb-landing-copy>p:not(.nb-landing-badge) {max-width:61ch;font-size:1rem;line-height:1.8;color:#475569;margin:0}
.nb-landing-actions {display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}
.nb-landing-actions .btn {white-space:normal;min-height:48px;justify-content:center;line-height:1.5}
.nb-landing-support {display:inline-flex;align-items:flex-start;gap:8px;max-width:100%;color:#075985;font-size:.87rem;font-weight:800;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.nb-landing-support i {margin-top:4px}
.nb-landing-trust {display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.nb-landing-trust span {display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d9e8f3;border-radius:999px;background:#ffffffc9;color:#475569;font-size:.73rem;font-weight:700}
.nb-goals-panel {display:block;padding:28px;border:1px solid #d8e5f1;border-top:3px solid #38bdf8;border-radius:24px;background:#fff;box-shadow:0 18px 40px #193f6b0d}
.nb-goals-panel .nb-goals-eyebrow {display:block;color:#087391;font-size:.7rem;font-weight:800;letter-spacing:.1em;line-height:1.6}
.nb-goals-panel h2 {color:#10233d;font-size:1.65rem;line-height:1.2;margin:10px 0 12px;letter-spacing:-.03em}
.nb-goals-panel>p {font-size:.9rem;line-height:1.7;color:#64748b;margin:0 0 20px}
.nb-goals-list {display:grid;gap:12px}
.nb-goals-list>a {display:block;min-width:0;padding:15px;border:1px solid #dfe8f1;border-radius:14px;background:#f8fbff;transition:transform .2s,border-color .2s,background-color .2s}
.nb-goals-list strong {display:block;color:#10233d;font-size:.91rem;line-height:1.4}
.nb-goals-list strong i {color:#1873cb;margin-right:7px}
.nb-goals-list small {display:block;color:#64748b;font-size:.78rem;line-height:1.6;margin-top:4px}
.nb-goals-footer {display:inline-block;color:#075985;font-weight:800;font-size:.86rem;line-height:1.5;margin-top:20px;text-decoration:underline;text-underline-offset:4px}
.nb-repaired-page .nb-home-service-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nb-repaired-page .nb-home-service {min-width:0;display:flex;flex-direction:column;height:100%;gap:12px;border:1px solid #dce6f0;border-radius:18px;background:#fff;padding:24px;box-sizing:border-box}
.nb-repaired-page .nb-home-service p {flex:1;margin:0}
.nb-repaired-page .nb-home-service strong {margin-top:auto}
.nb-repaired-page .nb-home-service-highlight {border-color:#81cce8;background:#f0fbff}
.nb-hours-entry {padding:64px 0;background:linear-gradient(130deg,#effbff,#f4f5ff);border-block:1px solid #deedf5;color:#10233d}
.nb-hours-entry .nb-hours-entry-layout {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.nb-hours-entry .tag {color:#087391}
.nb-hours-entry h2 {max-width:22ch;font-size:clamp(1.8rem,3vw,2.5rem);color:#10233d;margin:12px 0 18px;line-height:1.2}
.nb-hours-entry p {color:#475569;font-size:.97rem;line-height:1.8;margin:0}
.nb-hours-entry-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.nb-hours-entry-actions .btn {white-space:normal;line-height:1.5;min-height:48px;justify-content:center}
.nb-hours-entry-actions .btn-outline {color:#075985;border-color:#87c5df;background:#fff}
.nb-hours-entry-cards {display:grid;gap:12px}
.nb-hours-entry-card {background:#fff;border:1px solid #d9e9f2;border-radius:16px;padding:20px;min-width:0}
.nb-hours-entry-card h3 {color:#10233d;font-size:1rem;margin:0 0 7px}
.nb-hours-entry-card p {font-size:.9rem;line-height:1.7}
.nb-repaired-page .nb-hours-page-hero {background:radial-gradient(ellipse at 8% 10%,#e1f8ff,transparent 40%),linear-gradient(130deg,#f8fcff,#f1f3ff);color:#10233d;padding-top:124px}
.nb-repaired-page .nb-hours-page-hero h1 {color:#10233d}
.nb-repaired-page .nb-hours-page-hero .section-desc {color:#475569}
.nb-repaired-page .nb-hours-page-hero .tag {color:#087391}
.nb-repaired-page .nb-hours-page-hero .btn-outline {background:#fff;color:#075985;border-color:#87c5df}
.nb-hours-availability {max-width:650px;margin:20px auto 0;color:#536680;font-size:.86rem;line-height:1.7}
.nb-restored-tech {padding-block:72px}
.nb-restored-tech .nb-tech-network {grid-template-columns:minmax(0,1fr) 260px minmax(0,1fr);gap:28px;min-height:420px}
.nb-restored-tech .nb-tech-hub {width:224px;height:224px}
.nb-restored-tech .nb-tech-hub .nb-robot {scale:1;margin:0 0 10px;animation:nbRobotFloat 4.8s ease-in-out infinite;animation-play-state:paused}
.nb-restored-tech .nb-tech-hub .nb-robot span {margin:0}
.nb-restored-tech .nb-tech-hub>span:last-child {font-size:.72rem}
.nb-restored-tech .nb-tech-detail {min-height:126px;margin-top:28px}
.nb-restored-tech .nb-tech-node {min-width:0}
.nb-stack-restored {padding-block:64px}
.nb-stack-restored .nb-stack-network {margin-top:30px}
.nb-stack-restored .nb-stack-card {position:relative;padding-right:30px;text-decoration:none;min-width:0}
.nb-stack-restored .nb-stack-action {position:absolute;right:12px;top:12px;color:#1873cb;font-size:.85rem}
.nb-repaired-page .nb-software-tabs {display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.nb-repaired-page .nb-software-tabs>a {display:inline-flex;padding:10px 15px;border:1px solid #cbdfea;border-radius:999px;background:#fff;color:#075985;font-size:.84rem;line-height:1.5;font-weight:700;text-decoration:none}
.nb-repaired-page .nb-software-module-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nb-repaired-page .nb-software-module {display:flex;flex-direction:column;min-width:0;padding:26px}
.nb-repaired-page .nb-software-module p {flex:1}
.nb-module-link {display:inline-block;align-self:flex-start;color:#075985;font-size:.86rem;font-weight:800;margin-top:20px;text-decoration:underline;text-underline-offset:4px}
.nb-restored-tech .nb-robot-antenna:before,.nb-restored-tech .nb-robot-eyes i,.nb-restored-tech .nb-tech-lines path,.nb-restored-tech .nb-tech-hub:before,.nb-restored-tech .nb-tech-node .nb-tech-icon,.nb-stack-restored .nb-robot,.nb-stack-restored .nb-robot-antenna:before,.nb-stack-restored .nb-robot-eyes i,.nb-stack-restored .nb-stack-lines path,.nb-stack-restored .nb-stack-core:before {animation-play-state:paused}
.nb-motion-visible .nb-robot,.nb-motion-visible .nb-robot-antenna:before,.nb-motion-visible .nb-robot-eyes i,.nb-motion-visible .nb-tech-lines path,.nb-motion-visible .nb-tech-hub:before,.nb-motion-visible .nb-tech-node .nb-tech-icon,.nb-motion-visible .nb-stack-lines path,.nb-motion-visible .nb-stack-core:before {animation-play-state:running!important}
:is(.nb-goals-list>a,.nb-home-service,.nb-hours-entry-card,.nb-software-module,.nb-hours-detail-card,.nb-stack-card) {transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
@media(hover:hover) and (pointer:fine) {
  :is(.nb-goals-list>a,.nb-home-service,.nb-hours-entry-card,.nb-software-module,.nb-hours-detail-card,.nb-stack-card):hover {transform:translateY(-4px);border-color:#38bdf8;box-shadow:0 12px 26px #0284c718}
}
:is(.nb-goals-list>a,.nb-home-service,.nb-hours-entry-card,.nb-software-module,.nb-hours-detail-card,.nb-stack-card):is(:active,:focus-within,.nb-tap-feedback) {border-color:#38bdf8;background-color:#effaff;box-shadow:0 6px 18px #0284c71c}
@media(min-width:1200px) {
  .nb-repaired-page .nb-nav .nb-links {display:flex;position:static;flex-direction:row;width:auto;max-height:none;overflow:visible;transform:none;padding:0;background:transparent;border:0;box-shadow:none}
  .nb-repaired-page .nb-nav .nb-toggle {display:none}
}
@media(max-width:1199px) {
  .nb-repaired-page .nb-nav .nb-toggle {display:flex}
  .nb-repaired-page .nb-nav .nb-links {display:none;position:absolute;top:calc(100% + 8px);right:16px;left:auto;bottom:auto;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 116px);overflow:auto;flex-direction:column;align-items:stretch;gap:4px;margin:0;padding:12px;border:1px solid #d9e5ef;border-radius:18px;background:#fff;box-shadow:0 18px 40px #10233d20;transform:none}
  .nb-repaired-page .nb-nav .nb-links.open {display:flex}
  .nb-repaired-page .nb-nav .nb-links>a {display:block;font-size:.94rem;padding:12px 14px;white-space:normal}
  .nb-repaired-page .nb-nav .nb-links .nb-cta {text-align:center;margin-top:6px}
  .nb-repaired-page .nb-nav .nb-links>a:after {display:none}
}
@media(max-width:960px) {
  .nb-landing-hero .nb-landing-grid {grid-template-columns:1fr;gap:32px}
  .nb-landing-copy h1 {max-width:23ch}
  .nb-goals-panel {max-width:none}
  .nb-hours-entry .nb-hours-entry-layout {grid-template-columns:1fr;gap:28px}
  .nb-restored-tech .nb-tech-network {grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);gap:18px}
  .nb-restored-tech .nb-tech-hub {width:184px;height:184px}
  .nb-repaired-page .nb-home-service-grid,.nb-repaired-page .nb-software-module-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px) {
  .nb-repaired-page .nb-nav-inner {min-height:70px;padding:10px 18px}
  .nb-landing-hero {padding:102px 0 40px}
  .nb-landing-hero .nb-landing-grid {padding-inline:20px}
  .nb-landing-copy h1 {font-size:clamp(2rem,7.6vw,2.8rem);line-height:1.15;max-width:100%}
  .nb-landing-copy>p:not(.nb-landing-badge) {font-size:.98rem;line-height:1.75}
  .nb-landing-badge {font-size:.7rem;max-width:100%;border-radius:16px}
  .nb-goals-panel {padding:22px}
  .nb-goals-panel h2 {font-size:1.5rem}
  .nb-restored-tech .nb-tech-network {display:flex;flex-direction:column;gap:24px;min-height:0}
  .nb-restored-tech .nb-tech-center {order:0;padding:18px 0}
  .nb-restored-tech .nb-tech-hub {width:212px;height:212px}
  .nb-restored-tech .nb-tech-side {width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:12px;order:1}
  .nb-restored-tech .nb-tech-right {order:2}
  .nb-restored-tech .nb-tech-node {min-height:112px;flex-direction:column;align-items:flex-start;gap:9px;padding:15px}
  .nb-restored-tech .nb-tech-detail {grid-template-columns:36px minmax(0,1fr);padding:18px;gap:12px;min-height:160px}
  .nb-restored-tech .nb-tech-detail-mark {width:36px;height:36px}
  .nb-restored-tech .nb-tech-detail a {grid-column:2;white-space:normal}
  .nb-repaired-page .nb-hours-page-hero {padding-top:104px}
}
@media(max-width:540px) {
  .nb-landing-actions {display:grid;grid-template-columns:1fr;margin-top:24px}
  .nb-landing-actions .btn {width:100%}
  .nb-hours-entry {padding:44px 0}
  .nb-hours-entry .wrap {padding-inline:20px}
  .nb-hours-entry-actions {display:grid;grid-template-columns:1fr}
  .nb-repaired-page .nb-home-service-grid,.nb-repaired-page .nb-software-module-grid {grid-template-columns:1fr}
  .nb-repaired-page .nb-home-service {padding:22px}
  .nb-repaired-page .nb-stack-restored .nb-stack-column {grid-template-columns:1fr}
  .nb-restored-tech {padding-block:48px}
  .nb-stack-restored {padding-block:44px}
}
@media(max-width:359px) {
  .nb-restored-tech .nb-tech-side {grid-template-columns:1fr}
  .nb-restored-tech .nb-tech-node {min-height:0;flex-direction:row}
}
@media(prefers-reduced-motion:reduce) {
  .nb-restored-tech *,.nb-restored-tech *:before,.nb-restored-tech *:after,.nb-stack-restored *,.nb-stack-restored *:before,.nb-stack-restored *:after {animation:none!important}
  :is(.nb-goals-list>a,.nb-home-service,.nb-hours-entry-card,.nb-software-module,.nb-hours-detail-card,.nb-stack-card) {transition:none!important;transform:none!important}
}
/* NovaBytes performance and layout stability v2. */
html{overflow-x:hidden}
img,video{max-width:100%;height:auto}
.fas,.fab,.fa,.fa-solid,.fa-brands{display:inline-block;width:1.25em;min-width:1.25em;height:1em;line-height:1;text-align:center;vertical-align:-.08em}
.nb-logo-img{aspect-ratio:1/1;object-fit:contain}
.brand-avatar{width:48px!important;height:48px!important;aspect-ratio:1/1;object-fit:contain;display:block}
.nb-video-player{min-width:0;contain:layout paint}
.nb-video-player video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.nb-pf-preview{aspect-ratio:16/9;contain:layout paint}
.nb-pf-preview img{width:100%;height:calc(100% - 28px);aspect-ratio:16/9;object-fit:cover}
.nb-pf-mark{min-height:0}
.nb-tech-hub{contain:layout paint}
.nb-tech-hub img{width:76px;height:76px;aspect-ratio:1/1}
.nb-robot{contain:layout paint}
.cookie-banner,.sticky-quick-contact{contain:layout paint}
@media(max-width:720px){.nb-video-player video{border-radius:12px}.nb-pf-preview{min-height:180px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
