/* SeteVias v2.13.0 — MOBILE DEV / HOME. Desktop >=1024px intentionally untouched. */
.sv-mobile{display:none}
@media (max-width:1023.98px){
  html,body{height:auto;min-height:100%;background:#01070c} body{overflow:auto;color:#e9f4ec}
  .pex-app{display:none!important}.sv-mobile{display:block;min-height:100dvh;background:#01070c;font-family:var(--font-ui);overflow:hidden}
  .svm-header{position:fixed;z-index:50;top:0;left:0;right:0;height:66px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(1,7,12,.97),rgba(1,7,12,.74),transparent);backdrop-filter:blur(7px)}
  .svm-brand{display:flex;align-items:center;gap:9px;color:#fff}.svm-brand img{filter:drop-shadow(0 0 9px rgba(104,255,56,.28))}.svm-brand span{display:flex;flex-direction:column;line-height:1}.svm-brand strong{font-size:12px;letter-spacing:1.5px}.svm-brand small{font:7px/1.5 var(--font-mono);letter-spacing:2.8px;color:#93a69a}
  .svm-menu-button{border:1px solid rgba(104,255,56,.35);background:rgba(1,8,5,.7);width:57px;height:39px;display:grid;grid-template-columns:17px 1fr;grid-template-rows:repeat(3,4px);align-content:center;gap:2px 5px;padding:7px;color:#68ff38}.svm-menu-button span{display:block;width:17px;height:1px;background:#68ff38}.svm-menu-button b{grid-column:2;grid-row:1/4;align-self:center;font:7px var(--font-mono);letter-spacing:1px}
  .svm-scene{position:relative;height:100svh;min-height:600px;max-height:900px;background:#020a08;overflow:hidden}.svm-scene-image{position:absolute;inset:0;background-image:url('../assets/scenario/OFFICE-LIVE-CLEAN-HOME.webp?v=clean19');background-size:auto 100%;background-position:48% center;background-repeat:no-repeat;transform:scale(1.02)}
  .svm-scene::before{content:"";position:absolute;inset:-30px;background:url('../assets/scenario/SETEVIAS-AMBIENT-VERTICAL-v2.webp') center/cover no-repeat;filter:blur(20px) brightness(.34);z-index:0}.svm-scene-image{z-index:1}.svm-scene-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(1,7,12,.12) 35%,rgba(1,7,12,.68) 68%,#01070c 100%),linear-gradient(90deg,rgba(1,7,12,.42),transparent 55%)}
  .svm-hero{position:absolute;z-index:3;left:20px;right:20px;bottom:68px;max-width:560px}.svm-prompt{font:10px/1.5 var(--font-mono);color:#68ff38;letter-spacing:.4px;margin:0 0 10px}.svm-prompt span{color:#b9c9be}.svm-hero h1{font-size:clamp(29px,8.5vw,48px);line-height:1.02;letter-spacing:-1.2px;margin:0 0 13px;color:#f4faf6;text-shadow:0 2px 20px #000}.svm-hero h1 em{font-style:normal;color:#68ff38}.svm-hero>p:not(.svm-prompt){max-width:480px;margin:0 0 21px;color:#b9c7be;font:12px/1.55 var(--font-mono)}.svm-primary{display:inline-flex;border:1px solid #68ff38;color:#68ff38;background:rgba(1,10,6,.72);padding:13px 17px;font:700 11px var(--font-mono);letter-spacing:.6px;box-shadow:0 0 24px rgba(104,255,56,.08)}
  .svm-scroll-cue{position:absolute;z-index:3;right:17px;bottom:17px;color:#74837a;font:7px var(--font-mono);letter-spacing:1.6px;writing-mode:vertical-rl}.svm-scroll-cue span{color:#68ff38;font-size:13px;margin-top:6px}
  .svm-services{padding:56px 18px 62px;background:radial-gradient(circle at 90% 10%,rgba(104,255,56,.06),transparent 34%),#01070c}.svm-kicker{margin:0 0 8px;color:#68ff38;font:9px var(--font-mono);letter-spacing:1.5px}.svm-services h2,.svm-about h2{margin:0 0 26px;color:#f0f7f2;font-size:27px;line-height:1.1}.svm-grid{display:grid;gap:8px}.svm-grid a{min-height:70px;border:1px solid rgba(104,255,56,.16);background:linear-gradient(90deg,rgba(104,255,56,.055),rgba(0,0,0,.05));display:grid;grid-template-columns:34px 1fr 24px;align-items:center;padding:12px 13px;color:#e9f4ec}.svm-grid i{font:9px var(--font-mono);font-style:normal;color:#68ff38}.svm-grid span{display:flex;flex-direction:column;gap:4px}.svm-grid strong{font-size:13px}.svm-grid small{font:9px var(--font-mono);color:#7f9186}.svm-grid b{color:#68ff38;font-weight:400;text-align:right}.svm-grid a:active{background:rgba(104,255,56,.11)}
  .svm-about{padding:50px 18px 72px;border-top:1px solid rgba(104,255,56,.12);background:linear-gradient(180deg,#020c08,#01070c)}.svm-about h2{font-size:23px;max-width:600px}.svm-about-actions{display:flex;flex-wrap:wrap;gap:10px}.svm-about-actions a{border-bottom:1px solid rgba(104,255,56,.5);padding:9px 0;color:#68ff38;font:9px var(--font-mono);letter-spacing:.7px;margin-right:16px}
  .svm-drawer{position:fixed;z-index:100;inset:0;background:rgba(1,7,12,.985);padding:18px;overflow:auto}.svm-drawer-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(104,255,56,.2);padding-bottom:14px;margin-bottom:10px;color:#68ff38;font:9px var(--font-mono);letter-spacing:1.5px}.svm-drawer-head button{border:1px solid rgba(104,255,56,.3);background:none;color:#68ff38;width:38px;height:38px;font-size:25px}.svm-drawer>a{display:flex;align-items:center;justify-content:space-between;color:#e9f4ec;border-bottom:1px solid rgba(255,255,255,.055);padding:17px 4px;font-size:15px}.svm-drawer>a span{font:8px var(--font-mono);color:#5f7668}.svm-drawer>p{margin:28px 4px;color:#52655a;font:8px/1.6 var(--font-mono);letter-spacing:1px}
}
@media (max-width:380px){.svm-hero{left:16px;right:16px}.svm-services,.svm-about{padding-left:16px;padding-right:16px}.svm-hero h1{font-size:28px}}
@media (prefers-reduced-motion:reduce){.svm-scene-image{transform:none}}

/* v2.13.1 — páginas internas mobile / Presença Digital */
@media (max-width:1023.98px){
  .svmp-scene{position:relative;height:88svh;min-height:590px;max-height:820px;overflow:hidden;background:#020a08}
  .svmp-scene::before{content:"";position:absolute;inset:-35px;background:url('../assets/scenario/SETEVIAS-AMBIENT-VERTICAL-v2.webp') center/cover no-repeat;filter:blur(22px) brightness(.3);z-index:0}
  .svmp-scene-image{position:absolute;z-index:1;inset:0;background-repeat:no-repeat}
  .svmp-scene--pd .svmp-scene-image{background-image:url('../assets/scenario/PRESENCA-DIGITAL-CLEAN.webp?v=pd1');background-size:auto 100%;background-position:52% center;transform:scale(1.015)}
  .svmp-scene-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(1,7,12,.12) 24%,rgba(1,7,12,.42) 51%,rgba(1,7,12,.92) 82%,#01070c 100%),linear-gradient(90deg,rgba(1,7,12,.5),transparent 62%)}
  .svmp-hero{position:absolute;z-index:3;left:20px;right:20px;bottom:55px;max-width:570px}
  .svmp-back{display:inline-block;margin-bottom:18px;color:#93a69a;font:8px var(--font-mono);letter-spacing:1.2px;border-bottom:1px solid rgba(147,166,154,.25);padding-bottom:4px}
  .svmp-index{margin:0 0 8px;color:#7e9386;font:8px var(--font-mono);letter-spacing:1.4px}
  .svmp-hero h1{margin:0 0 13px;color:#f4faf6;font-size:clamp(32px,9.5vw,50px);line-height:1;letter-spacing:-1.2px;text-shadow:0 2px 22px #000}.svmp-hero h1 em{font-style:normal;color:#68ff38}
  .svmp-hero>p:last-of-type{max-width:510px;margin:0 0 20px;color:#c0cdc4;font:11px/1.6 var(--font-mono)}
  .svmp-content{padding:54px 18px 30px;background:radial-gradient(circle at 90% 5%,rgba(104,255,56,.055),transparent 31%),#01070c}.svmp-content h2{margin:0 0 15px;color:#f1f8f3;font-size:28px;line-height:1.08}.svmp-lead{margin:0 0 28px;max-width:620px;color:#8fa095;font:10px/1.75 var(--font-mono)}
  .svmp-stack{display:grid;gap:8px}.svmp-stack article{min-height:83px;display:grid;grid-template-columns:35px 1fr;align-items:start;gap:4px;border:1px solid rgba(104,255,56,.14);background:linear-gradient(100deg,rgba(104,255,56,.05),rgba(0,0,0,.05));padding:16px 13px}.svmp-stack i{font:9px var(--font-mono);font-style:normal;color:#68ff38;padding-top:2px}.svmp-stack span{display:flex;flex-direction:column;gap:6px}.svmp-stack strong{color:#eaf5ed;font-size:13px}.svmp-stack small{color:#7d9084;font:9px/1.55 var(--font-mono)}
  .svmp-offer{padding:42px 18px 55px;background:linear-gradient(180deg,#01070c,#031009);border-top:1px solid rgba(104,255,56,.09)}.svmp-price{position:relative;margin:0 0 18px;padding:21px 18px;border:1px solid rgba(104,255,56,.24);background:rgba(104,255,56,.035)}.svmp-price::before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;width:2px;background:#68ff38;box-shadow:0 0 10px rgba(104,255,56,.55)}.svmp-price span,.svmp-price small{display:block;color:#819287;font:9px/1.5 var(--font-mono);letter-spacing:.5px}.svmp-price strong{display:block;margin:5px 0 6px;color:#f5fff7;font-size:28px;letter-spacing:-.7px}.svmp-whatsapp{width:100%;justify-content:center;text-align:center}
  .svmp-next{padding-top:46px}.svm-drawer>a[aria-current="page"]{color:#68ff38;background:rgba(104,255,56,.045);padding-left:9px;border-left:2px solid #68ff38}
}


/* v2.13.2 — VIA 02 / Infraestrutura Linux */
@media (max-width:1023.98px){
  .svmp-scene--linux .svmp-scene-image{background-image:url('../assets/scenario/INFRAESTRUTURA-LINUX-CLEAN.webp?v=linux2132');background-size:auto 100%;background-position:50% center;transform:scale(1.015)}
  .sv-mobile-linux .svmp-analysis .svmp-price strong{font:700 17px/1.25 var(--font-mono);letter-spacing:.2px;color:#f5fff7;margin:8px 0}
}


/* v2.13.3 — VIA 03 / Monitoramento */
@media (max-width:1023.98px){
  .svmp-scene--monitor .svmp-scene-image{background-image:url('../assets/scenario/MONITORAMENTO-CLEAN.webp?v=monitor2133');background-size:auto 100%;background-position:50% center;transform:scale(1.015)}
  .sv-mobile-monitor .svmp-analysis .svmp-price strong{font:700 17px/1.25 var(--font-mono);letter-spacing:.2px;color:#f5fff7;margin:8px 0}
}


/* v2.13.4 — VIA 04 / Segurança Digital */
@media (max-width:1023.98px){
  .svmp-scene--security .svmp-scene-image{background-image:url('../assets/scenario/SEGURANCA-DIGITAL-CLEAN.webp?v=security2134');background-size:auto 100%;background-position:50% center;transform:scale(1.015)}
  .sv-mobile-security .svmp-analysis .svmp-price strong{font:700 17px/1.25 var(--font-mono);letter-spacing:.2px;color:#f5fff7;margin:8px 0}
}


/* v2.13.5 — VIA 05 / Ativos Digitais */
@media (max-width:1023.98px){
  .svmp-scene--assets .svmp-scene-image{background-image:url('../assets/scenario/ATIVOS-DIGITAIS-CLEAN.webp?v=assets2135');background-size:auto 100%;background-position:50% center;transform:scale(1.015)}
  .sv-mobile-assets .svmp-analysis .svmp-price strong{font:700 17px/1.25 var(--font-mono);letter-spacing:.2px;color:#f5fff7;margin:8px 0}
}


/* v2.13.6 — VIA 06 / Perícia Digital */
@media (max-width:1023.98px){
  .svmp-scene--forensics .svmp-scene-image{background-image:url('../assets/scenario/PERICIA-DIGITAL-CLEAN.webp?v=forensics2136');background-size:auto 100%;background-position:50% center;transform:scale(1.015)}
  .sv-mobile-forensics .svmp-analysis .svmp-price strong{font:700 17px/1.25 var(--font-mono);letter-spacing:.2px;color:#f5fff7;margin:8px 0}
}


/* v2.13.7 — SOBRE */
@media (max-width:1023.98px){
  .svmp-scene--about .svmp-scene-image{background-image:url('../assets/scenario/SOBRE-SETEVIAS-CLEAN-v2121.webp?v=about2137');background-size:auto 100%;background-position:50% center;transform:scale(1.015)}
  .sv-mobile-about .svmp-analysis .svmp-price strong{font:700 15px/1.45 var(--font-mono);letter-spacing:.15px;color:#f5fff7;margin:8px 0}
}


/* v2.13.8 — CONTATO */
@media (max-width:1023.98px){
  .svmp-scene--contact .svmp-scene-image{background-image:url('../assets/scenario/CONTATO-SETEVIAS-CLEAN.webp?v=contact2138');background-size:auto 100%;background-position:50% center;transform:scale(1.015)}
  .sv-mobile-contact .svmp-analysis .svmp-price strong{font:700 17px/1.3 var(--font-mono);letter-spacing:.15px;color:#f5fff7;margin:8px 0}
  .svm-contact-stack a{min-height:83px;display:grid;grid-template-columns:35px 1fr 22px;align-items:start;gap:4px;border:1px solid rgba(104,255,56,.14);background:linear-gradient(100deg,rgba(104,255,56,.05),rgba(0,0,0,.05));padding:16px 13px;color:#eaf5ed}
  .svm-contact-stack a i{font:9px var(--font-mono);font-style:normal;color:#68ff38;padding-top:2px}.svm-contact-stack a span{display:flex;flex-direction:column;gap:6px}.svm-contact-stack a strong{font-size:13px}.svm-contact-stack a small{color:#7d9084;font:9px/1.55 var(--font-mono)}.svm-contact-stack a b{color:#68ff38;font-weight:400;text-align:right;padding-top:1px}
}

/* ============================================================
   v2.15.0 DEV — MOBILE EXPERIENCE / UX MOTION PACK 01
   Mobile only: reveal, touch feedback, Via progress and smart dock.
   Desktop >=1024px remains untouched.
   ============================================================ */
@media (max-width:1023.98px){
  html{scroll-behavior:smooth}
  .sv-mobile{padding-bottom:68px}
  .svm-header{transition:transform .28s ease,background .28s ease,box-shadow .28s ease}
  .svm-header.svm-header--compact{background:rgba(1,7,12,.94);box-shadow:0 8px 30px rgba(0,0,0,.28)}

  /* Entrance */
  .svm-scene-image,.svmp-scene-image{animation:svmSceneBoot .72s cubic-bezier(.2,.75,.2,1) both}
  .svm-hero,.svmp-hero{animation:svmHeroBoot .58s .12s cubic-bezier(.2,.75,.2,1) both}
  @keyframes svmSceneBoot{from{opacity:.45;filter:brightness(.55) saturate(.72);transform:scale(1.055)}to{opacity:1;filter:none}}
  @keyframes svmHeroBoot{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

  /* Reveal on scroll */
  .svm-reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.75,.2,1)}
  .svm-reveal.svm-inview{opacity:1;transform:none}

  /* Touch feedback */
  .svm-primary,.svm-grid a,.svmp-stack article,.svm-contact-stack a,.svm-about-actions a,.svm-drawer>a,.svm-dock a,.svm-dock button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .svm-primary,.svm-grid a,.svmp-stack article,.svm-contact-stack a{transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
  .svm-primary:active,.svm-grid a:active,.svmp-stack article:active,.svm-contact-stack a:active{transform:scale(.975);border-color:rgba(104,255,56,.52);box-shadow:0 0 22px rgba(104,255,56,.1)}

  /* Via progress */
  .svm-via-progress{position:fixed;z-index:47;top:66px;left:0;right:0;height:3px;background:rgba(255,255,255,.035);pointer-events:none;transform-origin:left}
  .svm-via-progress span{display:block;height:100%;width:var(--svm-progress,0%);background:#68ff38;box-shadow:0 0 10px rgba(104,255,56,.7);transition:width .35s ease}
  .svm-via-label{position:fixed;z-index:48;top:74px;right:12px;padding:4px 7px;border:1px solid rgba(104,255,56,.18);background:rgba(1,7,12,.72);backdrop-filter:blur(6px);color:#8fa095;font:7px var(--font-mono);letter-spacing:1px;pointer-events:none}
  .svm-via-label b{color:#68ff38;font-weight:700}

  /* Smart bottom dock */
  .svm-dock{position:fixed;z-index:60;left:10px;right:10px;bottom:max(9px,env(safe-area-inset-bottom));height:54px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:stretch;border:1px solid rgba(104,255,56,.2);background:rgba(1,7,12,.9);backdrop-filter:blur(12px);box-shadow:0 10px 35px rgba(0,0,0,.4);transition:transform .28s ease,opacity .28s ease}
  .svm-dock.svm-dock--hidden{transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none}
  .svm-dock a,.svm-dock button{border:0;border-right:1px solid rgba(104,255,56,.1);background:transparent;color:#9bad9f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:7px var(--font-mono);letter-spacing:.7px;text-transform:uppercase}
  .svm-dock>*:last-child{border-right:0}.svm-dock b{color:#68ff38;font-size:15px;font-weight:400;line-height:1}.svm-dock button{width:100%}.svm-dock a:active,.svm-dock button:active{background:rgba(104,255,56,.08);color:#68ff38}

  /* Drawer feels like a layer, not a hard cut */
  .svm-drawer:not([hidden]){animation:svmDrawerIn .22s ease both}
  @keyframes svmDrawerIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
}
@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.svm-scene-image,.svmp-scene-image,.svm-hero,.svmp-hero,.svm-drawer:not([hidden]){animation:none!important}.svm-reveal{opacity:1;transform:none;transition:none}.svm-dock,.svm-header{transition:none}
}

/* ============================================================
   v2.15.1 DEV — MOBILE EXPERIENCE / PACK 02
   Interactive scene hotspots + optional swipe navigation.
   ============================================================ */
@media (max-width:1023.98px){
  .svm-hotspots{position:absolute;z-index:5;inset:66px 0 96px;pointer-events:none}
  .svm-hotspot{position:absolute;pointer-events:auto;width:36px;height:36px;margin:-18px 0 0 -18px;border:0;background:transparent;padding:0;color:#68ff38;-webkit-tap-highlight-color:transparent}
  .svm-hotspot>span{position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-5.5px;border:2px solid #68ff38;border-radius:50%;background:rgba(1,7,12,.86);box-shadow:0 0 12px rgba(104,255,56,.65)}
  .svm-hotspot>span::before,.svm-hotspot>span::after{content:"";position:absolute;inset:-8px;border:1px solid rgba(104,255,56,.38);border-radius:50%;animation:svmHotspotPulse 2s ease-out infinite}
  .svm-hotspot>span::after{animation-delay:1s}.svm-hotspot i{position:absolute;left:24px;top:9px;font:7px var(--font-mono);font-style:normal;letter-spacing:.5px;text-shadow:0 1px 5px #000}
  .svm-hotspot.is-active>span{background:#68ff38;box-shadow:0 0 18px rgba(104,255,56,.9)}
  @keyframes svmHotspotPulse{0%{transform:scale(.55);opacity:.85}75%,100%{transform:scale(1.7);opacity:0}}
  .svm-hotspot-panel{position:absolute;z-index:8;left:16px;right:16px;bottom:82px;padding:17px 46px 17px 17px;border:1px solid rgba(104,255,56,.34);background:rgba(1,7,12,.94);backdrop-filter:blur(12px);box-shadow:0 16px 40px rgba(0,0,0,.5),inset 2px 0 #68ff38;opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease}
  .svm-hotspot-panel.is-open{opacity:1;transform:none}.svm-hotspot-panel[hidden]{display:none}.svm-hotspot-kicker{margin:0 0 6px;color:#68ff38;font:7px var(--font-mono);letter-spacing:1.2px}.svm-hotspot-panel h3{margin:0 0 7px;color:#f2faf4;font-size:17px}.svm-hotspot-copy{margin:0 0 10px;color:#9bad9f;font:9px/1.55 var(--font-mono)}.svm-hotspot-action{color:#68ff38;font:8px var(--font-mono);letter-spacing:.6px;border-bottom:1px solid rgba(104,255,56,.35);padding-bottom:3px}.svm-hotspot-close{position:absolute;right:9px;top:9px;width:30px;height:30px;border:1px solid rgba(104,255,56,.24);background:transparent;color:#68ff38;font-size:20px}
  .svm-swipe-hint{position:absolute;z-index:6;left:12px;right:12px;bottom:15px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;color:#718379;font:6px var(--font-mono);letter-spacing:.45px;pointer-events:none}.svm-swipe-hint span:last-child{text-align:right}.svm-swipe-hint b{color:#68ff38;font-size:6px;font-weight:400;letter-spacing:1px;opacity:.75}
  .sv-mobile.svm-page-exit-left{animation:svmExitLeft .16s ease both}.sv-mobile.svm-page-exit-right{animation:svmExitRight .16s ease both}@keyframes svmExitLeft{to{opacity:.45;transform:translateX(-18px)}}@keyframes svmExitRight{to{opacity:.45;transform:translateX(18px)}}
}
@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){.svm-hotspot>span::before,.svm-hotspot>span::after{animation:none}.sv-mobile.svm-page-exit-left,.sv-mobile.svm-page-exit-right{animation:none}}

/* v2.15.1 FIX1 — CSP-safe motion + refined hotspots */
@media (max-width:1023.98px){
  .svm-delay-0{transition-delay:0ms}.svm-delay-1{transition-delay:45ms}.svm-delay-2{transition-delay:90ms}.svm-delay-3{transition-delay:135ms}.svm-delay-4{transition-delay:180ms}
  .svm-progress-0 span{width:0}.svm-progress-1 span{width:16.6667%}.svm-progress-2 span{width:33.3333%}.svm-progress-3 span{width:50%}.svm-progress-4 span{width:66.6667%}.svm-progress-5 span{width:83.3333%}.svm-progress-6 span{width:100%}
  .svm-hotspot-pos-1{left:63%;top:37%}.svm-hotspot-pos-2{left:36%;top:55%}
  .svm-hotspot{width:40px;height:40px;margin:-20px 0 0 -20px}
  .svm-hotspot>span{width:8px;height:8px;margin:-4px;border:1px solid rgba(104,255,56,.82);background:rgba(1,7,12,.72);box-shadow:0 0 7px rgba(104,255,56,.42)}
  .svm-hotspot>span::before,.svm-hotspot>span::after{inset:-6px;border-color:rgba(104,255,56,.22);animation-duration:2.6s}
  .svm-hotspot i{opacity:0;transform:translateX(-3px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}
  .svm-hotspot.is-active i{opacity:1;transform:none}
  .svm-hotspot.is-active>span{background:#68ff38;box-shadow:0 0 14px rgba(104,255,56,.72)}
}

@media (max-width:1023.98px){body.svm-menu-open{overflow:hidden}}

/* ============================================================
   v2.15.2 DEV — MOBILE EXPERIENCE / PACK 03
   Cinematic transitions + scene depth + live terminal.
   ============================================================ */
@media (max-width:1023.98px){
  /* Scene breath / depth */
  .svmp-scene,.svm-scene{isolation:isolate}
  .svmp-scene-image,.svm-scene-image{transition:transform .72s cubic-bezier(.2,.7,.2,1),filter .72s ease}
  .svmp-scene.svm-depth-left .svmp-scene-image,.svm-scene.svm-depth-left .svm-scene-image{transform:scale(1.035) translateX(5px)}
  .svmp-scene.svm-depth-center .svmp-scene-image,.svm-scene.svm-depth-center .svm-scene-image{transform:scale(1.025) translateX(0)}
  .svmp-scene.svm-depth-right .svmp-scene-image,.svm-scene.svm-depth-right .svm-scene-image{transform:scale(1.035) translateX(-5px)}
  .svmp-scene::after,.svm-scene::after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(104,255,56,.025) 49%,transparent 51%);background-size:100% 7px;mix-blend-mode:screen;opacity:.32;animation:svmScanDrift 8s linear infinite}
  @keyframes svmScanDrift{to{background-position:0 70px}}

  /* v2.15.2 FIX4 — LIVE SCREEN EFFECT
     Animates the monitor already painted into Presence Digital without
     replacing its original terminal text or adding document height. */
  .sv-mobile-presence .svm-live-screen{
    position:absolute;z-index:6;left:58.6%;top:35.2%;width:39.5%;height:21.8%;
    overflow:hidden;pointer-events:none;opacity:.88;
    clip-path:inset(0 0 0 0 round 1px);
    mix-blend-mode:screen;
  }
  .sv-mobile-presence .svm-live-screen::before{
    content:"";position:absolute;left:0;right:0;height:12%;top:-16%;
    background:linear-gradient(180deg,transparent,rgba(104,255,56,.18),rgba(104,255,56,.045),transparent);
    filter:blur(.2px);animation:svmMonitorSweep 4.8s cubic-bezier(.35,0,.65,1) infinite;
  }
  .sv-mobile-presence .svm-live-screen::after{
    content:"";position:absolute;inset:0;
    background:repeating-linear-gradient(180deg,transparent 0 4px,rgba(104,255,56,.035) 5px);
    opacity:.65;animation:svmMonitorFlicker 5.4s steps(1) infinite;
  }
  .svm-live-screen-status{position:absolute;right:5%;bottom:7%;display:flex;align-items:center;gap:3px;font:5px/1 var(--font-mono);letter-spacing:.45px;color:#7dff59;text-shadow:0 0 5px rgba(104,255,56,.7);opacity:.28;animation:svmStatusCycle 5.4s ease-in-out infinite}
  .svm-live-screen-status::before{content:"";width:3px;height:3px;border-radius:50%;background:#68ff38;box-shadow:0 0 5px rgba(104,255,56,.9);animation:svmStatusLed 1.1s steps(1) infinite}
  .svm-live-screen-cursor{position:absolute;left:47%;bottom:14%;width:8%;height:1px;background:#68ff38;box-shadow:0 0 5px rgba(104,255,56,.75);opacity:.18;animation:svmCursorBlink .9s steps(1) infinite}
  @keyframes svmMonitorSweep{0%,12%{transform:translateY(0);opacity:0}18%{opacity:.85}72%{opacity:.55}82%,100%{transform:translateY(900%);opacity:0}}
  @keyframes svmMonitorFlicker{0%,91%,94%,100%{opacity:.58}92%{opacity:.18}93%{opacity:.82}}
  @keyframes svmStatusCycle{0%,18%{opacity:.2}30%,72%{opacity:.8}86%,100%{opacity:.28}}
  @keyframes svmStatusLed{50%{opacity:.35}}
  @keyframes svmCursorBlink{50%{opacity:0}}
  .svm-hotspot-panel{z-index:10}.svm-hotspots{z-index:9}.svm-swipe-hint{z-index:8}

  /* Slower, softer navigation between internal pages */
  .sv-mobile::before{content:"";position:fixed;z-index:98;inset:0;background:radial-gradient(circle at center,rgba(7,24,18,.18),#01070c 72%);opacity:0;pointer-events:none;transition:opacity .7s ease}
  .sv-mobile.svm-transitioning{pointer-events:none}
  .sv-mobile.svm-transitioning::before{opacity:1}
  .sv-mobile.svm-transitioning .svmp-scene,.sv-mobile.svm-transitioning .svm-scene,.sv-mobile.svm-transitioning .svmp-content,.sv-mobile.svm-transitioning .svm-services,.sv-mobile.svm-transitioning .svm-about{transition:opacity .72s ease,transform .78s cubic-bezier(.2,.7,.2,1),filter .72s ease;opacity:.12;filter:brightness(.55) saturate(.65)}
  .sv-mobile.svm-cinema-forward .svmp-scene,.sv-mobile.svm-cinema-forward .svm-scene,.sv-mobile.svm-cinema-forward .svmp-content,.sv-mobile.svm-cinema-forward .svm-services{transform:translateX(-12px) scale(.992)}
  .sv-mobile.svm-cinema-back .svmp-scene,.sv-mobile.svm-cinema-back .svm-scene,.sv-mobile.svm-cinema-back .svmp-content,.sv-mobile.svm-cinema-back .svm-services{transform:translateX(12px) scale(.992)}

  /* Pack 02 swipe exit now matches Pack 03 pace. */
  .sv-mobile.svm-page-exit-left{animation:svmExitLeftSlow .78s cubic-bezier(.2,.7,.2,1) both}.sv-mobile.svm-page-exit-right{animation:svmExitRightSlow .78s cubic-bezier(.2,.7,.2,1) both}
  @keyframes svmExitLeftSlow{to{opacity:.08;filter:brightness(.55);transform:translateX(-14px) scale(.992)}}
  @keyframes svmExitRightSlow{to{opacity:.08;filter:brightness(.55);transform:translateX(14px) scale(.992)}}
}
@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){
  .svmp-scene-image,.svm-scene-image{transition:none!important}.svmp-scene::after,.svm-scene::after,.svm-live-screen::before,.svm-live-screen::after,.svm-live-screen-status,.svm-live-screen-status::before,.svm-live-screen-cursor{animation:none!important}.sv-mobile::before{display:none}
}


/* v2.15.3 — MOBILE EXPERIENCE / PACK 04 — LIVE SCENES */
@media (max-width:1023.98px){
  .svm-live-fx{position:absolute;z-index:5;inset:66px 0 96px;pointer-events:none;overflow:hidden;mix-blend-mode:screen}
  .svm-live-fx span{position:absolute;display:block}
  /* Infra: rack LEDs + soft activity pulse */
  .svm-live-fx--linux .svm-fx-led{width:4px;height:4px;border-radius:50%;background:#68ff38;box-shadow:0 0 7px rgba(104,255,56,.9);animation:svmRackLed 1.45s steps(1) infinite}
  .svm-live-fx--linux .svm-fx-led:nth-child(1){left:60%;top:35%}.svm-live-fx--linux .svm-fx-led:nth-child(2){left:62%;top:39%;animation-delay:.45s}.svm-live-fx--linux .svm-fx-led:nth-child(3){left:59%;top:43%;animation-delay:.9s}
  .svm-live-fx--linux .svm-fx-sweep{left:53%;top:30%;width:18%;height:20%;border:1px solid rgba(104,255,56,.08);box-shadow:inset 0 0 14px rgba(104,255,56,.04);animation:svmSoftPulse 4.8s ease-in-out infinite}
  /* Monitoramento: NOC sweep + status dots */
  .svm-live-fx--monitor .svm-fx-scan{left:49%;top:28%;width:25%;height:25%;background:linear-gradient(180deg,transparent,rgba(104,255,56,.14),transparent);transform:translateY(-100%);animation:svmNocScan 4.6s linear infinite}
  .svm-live-fx--monitor .svm-fx-led{width:3px;height:3px;border-radius:50%;background:#68ff38;box-shadow:0 0 6px rgba(104,255,56,.8)}
  .svm-live-fx--monitor .svm-fx-led:nth-child(2){left:56%;top:40%;animation:svmStatusLed 1.3s steps(1) infinite}.svm-live-fx--monitor .svm-fx-led:nth-child(3){left:64%;top:43%;animation:svmStatusLed 1.7s steps(1) infinite .5s}
  /* Segurança: scanning beam / shield-like pulse */
  .svm-live-fx--security .svm-fx-beam{left:18%;top:20%;width:64%;height:1px;background:linear-gradient(90deg,transparent,rgba(104,255,56,.55),transparent);box-shadow:0 0 8px rgba(104,255,56,.28);animation:svmSecurityScan 5.6s ease-in-out infinite}
  .svm-live-fx--security .svm-fx-ring{left:58%;top:35%;width:42px;height:42px;border:1px solid rgba(104,255,56,.12);border-radius:50%;animation:svmSecurityRing 3.8s ease-out infinite}
  /* Ativos: gentle focus glints, no added panel */
  .svm-live-fx--assets .svm-fx-glint{width:6px;height:6px;border-radius:50%;background:rgba(104,255,56,.7);box-shadow:0 0 12px rgba(104,255,56,.7);animation:svmAssetGlint 4.2s ease-in-out infinite}
  .svm-live-fx--assets .svm-fx-glint:nth-child(1){left:58%;top:35%}.svm-live-fx--assets .svm-fx-glint:nth-child(2){left:39%;top:50%;animation-delay:1.7s}
  /* Perícia: evidence scan + integrity ticks */
  .svm-live-fx--forensics .svm-fx-scan{left:27%;top:27%;width:48%;height:1px;background:linear-gradient(90deg,transparent,rgba(104,255,56,.55),transparent);box-shadow:0 0 7px rgba(104,255,56,.25);animation:svmEvidenceScan 5s ease-in-out infinite}
  .svm-live-fx--forensics .svm-fx-tick{width:3px;height:10px;background:rgba(104,255,56,.45);box-shadow:0 0 5px rgba(104,255,56,.35);animation:svmForensicTick 2.4s steps(1) infinite}
  .svm-live-fx--forensics .svm-fx-tick:nth-child(2){left:61%;top:39%}.svm-live-fx--forensics .svm-fx-tick:nth-child(3){left:64%;top:39%;animation-delay:.8s}.svm-live-fx--forensics .svm-fx-tick:nth-child(4){left:67%;top:39%;animation-delay:1.6s}
  @keyframes svmRackLed{0%,42%,100%{opacity:.18}45%,68%{opacity:.95}}
  @keyframes svmSoftPulse{0%,100%{opacity:.15}50%{opacity:.55}}
  @keyframes svmNocScan{0%{transform:translateY(-120%);opacity:0}15%{opacity:.45}75%{opacity:.2}100%{transform:translateY(160%);opacity:0}}
  @keyframes svmSecurityScan{0%,100%{transform:translateY(0);opacity:.08}50%{transform:translateY(220px);opacity:.48}}
  @keyframes svmSecurityRing{0%{transform:scale(.65);opacity:.45}75%,100%{transform:scale(1.45);opacity:0}}
  @keyframes svmAssetGlint{0%,78%,100%{transform:scale(.5);opacity:.05}84%{transform:scale(1.15);opacity:.7}90%{transform:scale(.7);opacity:.18}}
  @keyframes svmEvidenceScan{0%,100%{transform:translateY(0);opacity:.08}50%{transform:translateY(170px);opacity:.5}}
  @keyframes svmForensicTick{0%,65%,100%{opacity:.12}66%,82%{opacity:.75}}
}
@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){.svm-live-fx{display:none!important}}

/* v2.15.3-FIX1 — LIVE SCENES CALIBRATION
   Object-bound FX zones. Coordinates calibrated against the center crop used by
   svmp-scene-image (background-size:auto 100%; background-position:50% center).
   Effects are clipped to the physical object they belong to. */
@media (max-width:1023.98px){
  .svm-live-fx{inset:auto;mix-blend-mode:screen;overflow:hidden;pointer-events:none;z-index:5}

  /* Infra Linux — visible rack bank only (upper-right of the mobile crop). */
  .svm-live-fx--linux{left:42%;top:2%;width:40%;height:34%;border-radius:2px}
  .svm-live-fx--linux .svm-fx-led{width:3px;height:3px}
  .svm-live-fx--linux .svm-fx-led:nth-child(1){left:57%;top:20%}
  .svm-live-fx--linux .svm-fx-led:nth-child(2){left:61%;top:42%;animation-delay:.55s}
  .svm-live-fx--linux .svm-fx-led:nth-child(3){left:55%;top:68%;animation-delay:1.05s}
  .svm-live-fx--linux .svm-fx-sweep{left:32%;top:3%;width:58%;height:94%;border:0;background:linear-gradient(180deg,transparent 0%,rgba(104,255,56,.035) 46%,rgba(104,255,56,.09) 50%,rgba(104,255,56,.035) 54%,transparent 100%);box-shadow:none;animation:svmRackSweep 6.8s ease-in-out infinite}

  /* Monitoramento — clipped to the large dashboard monitor. */
  .svm-live-fx--monitor{left:0%;top:38%;width:82%;height:32%;border-radius:1px}
  .svm-live-fx--monitor .svm-fx-scan{left:0;top:-18%;width:100%;height:18%;background:linear-gradient(180deg,transparent,rgba(104,255,56,.13),transparent);transform:none;animation:svmObjectScan 6.2s linear infinite}
  .svm-live-fx--monitor .svm-fx-led:nth-child(2){left:91%;top:94%;animation:svmStatusLed 1.45s steps(1) infinite}
  .svm-live-fx--monitor .svm-fx-led:nth-child(3){left:95%;top:94%;animation:svmStatusLed 1.85s steps(1) infinite .55s}

  /* Segurança — scan and shield pulse remain inside the center security display. */
  .svm-live-fx--security{left:12%;top:34%;width:84%;height:31%;border-radius:2px}
  .svm-live-fx--security .svm-fx-beam{left:4%;top:4%;width:92%;height:1px;animation:svmBeamInside 6.4s ease-in-out infinite}
  .svm-live-fx--security .svm-fx-ring{left:41%;top:23%;width:54px;height:54px;animation:svmSecurityRingSoft 4.8s ease-out infinite}

  /* Ativos — glints belong to the trademark display, not the whole scene. */
  .svm-live-fx--assets{left:6%;top:36%;width:90%;height:35%;border-radius:2px}
  .svm-live-fx--assets .svm-fx-glint{width:5px;height:5px;animation-duration:5.6s}
  .svm-live-fx--assets .svm-fx-glint:nth-child(1){left:62%;top:47%}
  .svm-live-fx--assets .svm-fx-glint:nth-child(2){left:76%;top:22%;animation-delay:2.3s}

  /* Perícia — analysis sweep clipped to the chain-of-custody display. */
  .svm-live-fx--forensics{left:18%;top:34%;width:82%;height:31%;border-radius:2px}
  .svm-live-fx--forensics .svm-fx-scan{left:2%;top:3%;width:96%;height:1px;transform:none;animation:svmBeamInside 6.8s ease-in-out infinite}
  .svm-live-fx--forensics .svm-fx-tick{width:2px;height:8px;animation-duration:3.2s}
  .svm-live-fx--forensics .svm-fx-tick:nth-child(2){left:72%;top:45%}
  .svm-live-fx--forensics .svm-fx-tick:nth-child(3){left:77%;top:45%;animation-delay:1.05s}
  .svm-live-fx--forensics .svm-fx-tick:nth-child(4){left:82%;top:45%;animation-delay:2.1s}

  @keyframes svmRackSweep{0%,100%{transform:translateY(-70%);opacity:.08}48%,52%{opacity:.32}50%{transform:translateY(70%)}}
  @keyframes svmObjectScan{0%{top:-18%;opacity:0}12%{opacity:.28}82%{opacity:.16}100%{top:100%;opacity:0}}
  @keyframes svmBeamInside{0%,100%{top:5%;opacity:.07}48%,52%{opacity:.36}50%{top:94%}}
  @keyframes svmSecurityRingSoft{0%{transform:scale(.72);opacity:.24}72%,100%{transform:scale(1.2);opacity:0}}
}

/* v2.15.4 — PACK 05 / SCROLL & DISCOVERY — NÔMADE ZERO
   Mobile-only discovery layer. No desktop rules are changed. */
@media (max-width:1023.98px){
  /* Scroll storytelling: a very small progress spine on service pages. */
  .svm-scroll-story{position:fixed;z-index:44;right:7px;top:38%;width:2px;height:24%;background:rgba(104,255,56,.08);border-radius:2px;pointer-events:none;opacity:.7}
  .svm-scroll-story::after{content:"";position:absolute;left:0;top:0;width:100%;height:8%;border-radius:2px;background:#68ff38;box-shadow:0 0 6px rgba(104,255,56,.45);transition:height .35s ease}
  .sv-mobile.svm-scroll-p1 .svm-scroll-story::after{height:25%}.sv-mobile.svm-scroll-p2 .svm-scroll-story::after{height:50%}.sv-mobile.svm-scroll-p3 .svm-scroll-story::after{height:75%}.sv-mobile.svm-scroll-p4 .svm-scroll-story::after{height:100%}
  .svm-scroll-discover{position:absolute;z-index:12;left:50%;bottom:102px;transform:translateX(-50%);font:600 7px/1 var(--font-mono);letter-spacing:1.3px;color:rgba(104,255,56,.72);white-space:nowrap;text-shadow:0 0 7px rgba(104,255,56,.18);animation:svmDiscoverNudge 2.8s ease-in-out infinite;pointer-events:none}
  .svm-scroll-discover::after{content:"  ↓"}.sv-mobile.svm-has-scrolled .svm-scroll-discover{opacity:0;transition:opacity .35s ease}
  @keyframes svmDiscoverNudge{0%,100%{transform:translate(-50%,0);opacity:.48}50%{transform:translate(-50%,4px);opacity:.92}}

  /* Hotspots remember that they were explored during the session. */
  .svm-hotspot.is-visited span{background:rgba(104,255,56,.22);box-shadow:0 0 5px rgba(104,255,56,.22)}
  .svm-hotspot.is-visited::after{opacity:.18;animation:none}

  /* First-visit swipe tutor; it disappears after the user actually swipes. */
  .svm-swipe-hint.svm-swipe-learn{animation:svmSwipeLearn 3.2s ease-in-out 1 both}
  @keyframes svmSwipeLearn{0%{opacity:.25}22%,70%{opacity:1}100%{opacity:.65}}

  /* Nômade Zero signature — intentionally tiny and non-commercial. */
  .svm-zero-signature{position:absolute;z-index:7;left:5%;top:61%;font:500 6px/1 var(--font-mono);letter-spacing:.55px;color:rgba(104,255,56,.28);text-shadow:0 0 4px rgba(104,255,56,.16);pointer-events:none;user-select:none}
  .svm-zero-signature b{font-weight:700;color:rgba(104,255,56,.38)}

  /* Infra-only easter eggs. Crops come from SeteVias concept art generated for this pack.
     They are deliberately small, masked and dim: discovery, not decoration. */
  .svm-zero-eggs{position:absolute;z-index:7;inset:0;pointer-events:none;overflow:hidden}
  .svm-zero-egg{position:absolute;display:block;border:0;padding:0;background-color:#07100d;background-position:center;background-repeat:no-repeat;background-size:cover;opacity:.52;filter:saturate(.72) brightness(.72) contrast(1.08);box-shadow:0 0 0 1px rgba(104,255,56,.05),0 4px 12px rgba(0,0,0,.42);pointer-events:auto;cursor:pointer;transition:opacity .25s ease,filter .25s ease,transform .25s ease}
  .svm-zero-egg:active,.svm-zero-egg.is-found{opacity:.9;filter:saturate(.95) brightness(.92) contrast(1.05);transform:scale(1.04)}
  .svm-zero-egg--ziggs{left:9%;top:28%;width:35px;height:39px;border-radius:50%;background-image:url('../assets/easter-eggs/ziggs-bomb-concept.png')}
  .svm-zero-egg--urgot{right:8%;top:23%;width:32px;height:43px;border-radius:5px 5px 10px 10px;background-image:url('../assets/easter-eggs/urgot-figure-concept.png')}
  .svm-zero-egg::after{content:"";position:absolute;inset:-3px;border:1px solid rgba(104,255,56,0);border-radius:inherit;transition:border-color .25s ease,box-shadow .25s ease}
  .svm-zero-egg.is-found::after{border-color:rgba(104,255,56,.22);box-shadow:0 0 9px rgba(104,255,56,.14)}
}
@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){.svm-scroll-discover,.svm-swipe-hint.svm-swipe-learn{animation:none!important}}

/* v2.16.2 — FULLPAGE MOBILE SCROLL NAVIGATION */
@media (max-width:1023.98px){
  html,body{overscroll-behavior-y:none}
  .svm-fullpage-cue{position:fixed;z-index:46;left:50%;bottom:calc(74px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;max-width:72vw;padding:5px 10px;border:1px solid rgba(104,255,56,.12);border-radius:12px;background:rgba(2,9,7,.72);backdrop-filter:blur(5px);box-shadow:0 0 14px rgba(0,0,0,.25);pointer-events:none;opacity:.78}
  .svm-fullpage-cue span{font:600 6px/1.1 var(--font-mono);letter-spacing:1.3px;color:rgba(104,255,56,.58)}
  .svm-fullpage-cue b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 8px/1.15 var(--font-mono);letter-spacing:.8px;color:rgba(104,255,56,.92)}
  .svm-scroll-discover{display:none!important}
  .svm-fullpage-leaving{pointer-events:none}
  .svm-fullpage-leaving .svmp-scene,.svm-fullpage-leaving .svm-scene,.svm-fullpage-leaving .svm-home,.svm-fullpage-leaving main{transition:opacity .62s ease,transform .62s cubic-bezier(.22,.72,.22,1),filter .62s ease}
  .svm-fullpage-next .svmp-scene,.svm-fullpage-next .svm-scene,.svm-fullpage-next .svm-home,.svm-fullpage-next main{opacity:.08;transform:translateY(-22px);filter:brightness(.62)}
  .svm-fullpage-prev .svmp-scene,.svm-fullpage-prev .svm-scene,.svm-fullpage-prev .svm-home,.svm-fullpage-prev main{opacity:.08;transform:translateY(22px);filter:brightness(.62)}
}
@media (max-width:1023.98px) and (prefers-reduced-motion:reduce){
  .svm-fullpage-leaving .svmp-scene,.svm-fullpage-leaving .svm-scene,.svm-fullpage-leaving .svm-home,.svm-fullpage-leaving main{transition:none!important}
}
