/* ===========================================================================
   Navégalo — homepage, Nov 2026 redesign. Classes prefixed nvh-.
   Tokens come from nv-shell.css (loaded on every public page).
   =========================================================================== */
.nvh{font-family:var(--nvx-sans);color:var(--nvx-ink);background:var(--nvx-bg);overflow:hidden}
.nvh *,.nvh *::before,.nvh *::after{box-sizing:border-box}
.nvh a{text-decoration:none}
.nvh-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.nvh-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nvh-eyebrow{display:inline-block;font:600 12px var(--nvx-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--nvx-teal);margin:0}
.nvh-h2{margin:0;font:700 clamp(32px,4vw,54px)/1.04 var(--nvx-display);letter-spacing:-.02em;color:#fff;max-width:820px}
.nvh-lead{margin:0;font-size:18px;line-height:1.6;color:#b8cde0;max-width:720px}
.nvh-head{display:flex;flex-direction:column;gap:14px;margin-bottom:40px}
.nvh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:16px 26px;border-radius:14px;font:700 17px var(--nvx-display);cursor:pointer;border:0;text-align:center}
.nvh-btn-p{background:var(--nvx-orange);color:#071f42!important}
.nvh-btn-p:hover{background:var(--nvx-orange2)}
.nvh-btn-g{border:1px solid rgba(255,255,255,.3);color:#fff!important;background:transparent;font-weight:600}
.nvh-btn-g:hover{border-color:var(--nvx-orange2)}
.nvh-glow{animation:nvhglow 2.4s ease-in-out infinite}
@keyframes nvhglow{0%,100%{box-shadow:0 0 0 0 rgba(233,131,0,.55)}50%{box-shadow:0 0 0 14px rgba(233,131,0,0)}}
.nvh-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(42,157,244,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(42,157,244,.09) 1px,transparent 1px);background-size:64px 64px;animation:nvhgrid 6s linear infinite}
@keyframes nvhgrid{to{background-position:0 64px,64px 0}}

/* ---- hero ---- */
.nvh-hero{position:relative;min-height:760px;display:flex;align-items:center;background:radial-gradient(900px 700px at 72% 40%,rgba(12,44,71,.95) 0%,#040d18 70%)}
.nvh-map{position:absolute;right:max(24px,calc((100% - 1280px) / 2));top:0;width:60%;min-width:520px;max-width:820px;height:100%;pointer-events:none}
@media (max-width:1180px){.nvh-map{opacity:.5}}
.nvh-route{stroke-dasharray:3 9;animation:nvhdash 2s linear infinite}
@keyframes nvhdash{to{stroke-dashoffset:-60}}
.nvh-pulse,.nvh-pulse2{transform-origin:center;transform-box:fill-box;animation:nvhpulse 2.6s ease-out infinite}
.nvh-pulse2{animation-delay:1.3s}
@keyframes nvhpulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(3.2);opacity:0}}
.nvh-hero-in{position:relative;width:100%;padding-top:88px;padding-bottom:80px}
.nvh-hero-copy{max-width:680px;display:flex;flex-direction:column;gap:24px}
.nvh-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(52,224,196,.35);background:rgba(52,224,196,.08);color:#9fe9da;font:600 12px var(--nvx-mono);letter-spacing:.14em;padding:8px 14px;border-radius:999px;margin:0;text-transform:uppercase}
.nvh-h1{margin:0;font:700 clamp(44px,6.4vw,84px)/.98 var(--nvx-display);letter-spacing:-.035em;color:#fff}
.nvh-h1 .w{color:var(--nvx-orange2);display:inline-block}
.nvh-h1 .w.rise{animation:nvhrise .5s ease both}
.nvh-h1 .dim{color:#7fa8cc}
@keyframes nvhrise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.nvh-sub{margin:0;font-size:20px;line-height:1.6;color:#c3d6e8;max-width:600px}
.nvh-ctas{display:flex;flex-wrap:wrap;gap:14px}
.nvh-proof{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:14px 0 0;padding:22px 0 0;border-top:1px solid rgba(127,196,245,.18);max-width:760px;list-style:none}
.nvh-proof li{display:flex;flex-direction:column;gap:4px}
.nvh-proof b{font:700 clamp(24px,2.8vw,36px) var(--nvx-display);color:#fff}
.nvh-proof span{font-size:13px;color:var(--nvx-mute);line-height:1.35}

/* ---- marquee ---- */
.nvh-marq{display:flex;align-items:stretch;border-top:1px solid var(--nvx-line);border-bottom:1px solid var(--nvx-line);background:var(--nvx-bg2);overflow:hidden}
.nvh-marq-lbl{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:18px 22px 18px max(24px,calc((100% - 1280px) / 2 + 24px));background:var(--nvx-bg2);border-right:1px solid var(--nvx-line);font:600 13px var(--nvx-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--nvx-teal)!important;position:relative;z-index:1}
.nvh-marq-lbl:hover{color:var(--nvx-orange2)!important}
.nvh-marq-view{flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.nvh-marq-track{display:flex;width:max-content;margin:0;padding:18px 0;list-style:none;animation:nvhmarq 40s linear infinite}
.nvh-marq-track li{display:inline-flex;align-items:center;gap:14px;padding:0 24px;font:500 14px var(--nvx-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--nvx-soft);white-space:nowrap}
.nvh-marq-track li::before{content:"◆";color:var(--nvx-orange)}
.nvh-marq:hover .nvh-marq-track{animation-play-state:paused}
@media (max-width:640px){.nvh-marq-lbl{padding:16px 14px;font-size:11px}.nvh-marq-track li{padding:0 16px;font-size:12px}}
@keyframes nvhmarq{to{transform:translateX(-50%)}}

/* ---- price builder ---- */
.nvh-build{padding:110px 0 100px;background:linear-gradient(180deg,#040d18 0%,#071a2e 100%);scroll-margin-top:80px}
.nvh-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:24px}
.nvh-tab{cursor:pointer;text-align:left;min-height:72px;padding:14px 16px;border-radius:16px;font-family:var(--nvx-sans);background:rgba(255,255,255,.04);color:var(--nvx-ink);border:1px solid rgba(127,196,245,.22)}
.nvh-tab b{display:block;font:700 19px var(--nvx-display)}
.nvh-tab small{display:block;margin-top:4px;font-size:13px;opacity:.85}
.nvh-tab[aria-selected=true]{background:#fff;color:#071f42;border-color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.nvh-panel{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.nvh-ctrl{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.nvh-intro{margin:0;font-size:17px;line-height:1.6;color:#b8cde0}
.nvh-box{background:rgba(255,255,255,.035);border:1px solid rgba(127,196,245,.16);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;margin:0;min-width:0}
.nvh-box legend,.nvh-box .lbl{font:700 18px var(--nvx-display);color:#fff;padding:0;float:left;width:100%}
.nvh-box legend+*{clear:both}
.nvh-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.nvh-opt{cursor:pointer;min-height:64px;padding:12px 14px;border-radius:14px;text-align:left;font:600 15px var(--nvx-sans);background:rgba(255,255,255,.04);color:var(--nvx-ink);border:1px solid rgba(127,196,245,.25)}
.nvh-opt small{display:block;margin-top:3px;font:500 13px var(--nvx-mono)}
.nvh-opt[aria-pressed=true]{background:var(--nvx-orange);color:#071f42;border-color:var(--nvx-orange)}
.nvh-opt:hover{border-color:var(--nvx-orange2)}
.nvh-range-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.nvh-range-top output{font:500 16px var(--nvx-mono);color:var(--nvx-orange2)}
.nvh-range{accent-color:var(--nvx-orange);width:100%;height:28px;margin:0}
.nvh-ticks{display:flex;justify-content:space-between;font:500 12px var(--nvx-mono);color:#7f97ad}
.nvh-sum{flex:1 1 340px;min-width:0;position:sticky;top:96px;background:linear-gradient(160deg,#0c2c47 0%,#081a2c 100%);border:1px solid rgba(255,176,77,.35);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 90px rgba(0,0,0,.45);overflow:hidden}
.nvh-scan{position:absolute;left:0;right:0;top:0;height:80px;background:linear-gradient(180deg,rgba(255,176,77,0),rgba(255,176,77,.07),rgba(255,176,77,0));pointer-events:none;animation:nvhscan 3.2s linear infinite}
@keyframes nvhscan{0%{transform:translateY(-100%)}100%{transform:translateY(900%)}}
.nvh-est{font:500 12px var(--nvx-mono);letter-spacing:.18em;color:var(--nvx-mute);text-transform:uppercase}
.nvh-total{font:700 60px/1 var(--nvx-display);color:#fff;letter-spacing:-.03em}
.nvh-vat{font-size:13px;color:var(--nvx-mute)}
.nvh-lines{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:14px}
.nvh-lines li{display:flex;justify-content:space-between;gap:12px;color:var(--nvx-soft);border-bottom:1px dashed rgba(127,196,245,.18);padding-bottom:8px}
.nvh-lines li span:last-child{font-family:var(--nvx-mono);white-space:nowrap}
.nvh-note{font-size:13px;line-height:1.5;color:#ffd59a;margin:0}
.nvh-note:empty{display:none}
.nvh-fine{font-size:12.5px;line-height:1.5;color:var(--nvx-mute);margin:0}
.nvh-form{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(127,196,245,.18);padding-top:16px}
.nvh-form[hidden]{display:none}
.nvh-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--nvx-soft)}
.nvh-form input{min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid rgba(127,196,245,.3);background:rgba(4,13,24,.6);color:#fff;font:400 16px var(--nvx-sans)}
.nvh-form input:focus{outline:2px solid var(--nvx-orange2);outline-offset:1px;border-color:transparent}
.nvh-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nvh-hp{position:absolute;left:-9999px}
.nvh-alert{border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.5;margin:0 0 20px}
.nvh-alert.ok{background:rgba(52,224,196,.12);border:1px solid rgba(52,224,196,.4);color:#c9fbf1}
.nvh-alert.err{background:rgba(255,99,99,.1);border:1px solid rgba(255,120,120,.4);color:#ffd2d2}
.nvh-alert ul{margin:6px 0 0;padding-left:18px}

/* ---- services ---- */
.nvh-svc{padding:100px 0;background:var(--nvx-bg)}
.nvh-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.nvh-card{border:1px solid rgba(127,196,245,.16);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:12px;color:var(--nvx-ink);background:rgba(255,255,255,.02);min-height:240px;height:100%;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.nvh-card:hover{transform:translateY(-6px);border-color:rgba(255,176,77,.6);background:rgba(255,255,255,.05)}
.nvh-card .tag{font:500 12px var(--nvx-mono);color:var(--nvx-teal);letter-spacing:.14em}
.nvh-card h3{margin:0;font:700 26px var(--nvx-display);color:#fff}
.nvh-card p{margin:0;font-size:15px;line-height:1.55;color:#b8cde0}
.nvh-card .ft{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:10px;font-family:var(--nvx-mono);color:var(--nvx-orange2)}
.nvh-card .ar{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,176,77,.5);display:inline-flex;align-items:center;justify-content:center}

/* ---- locations ---- */
.nvh-loc{padding:100px 0;background:#071a2e}
.nvh-loc-in{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.nvh-loc-copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.nvh-loc-list{flex:1 1 520px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.nvh-loc-list a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:64px;padding:14px 18px;border-radius:16px;border:1px solid rgba(127,196,245,.2);background:rgba(255,255,255,.03);color:#fff;font-weight:600}
.nvh-loc-list a:hover{border-color:var(--nvx-orange2)}
.nvh-loc-list a small{display:block;font:500 11px var(--nvx-mono);letter-spacing:.12em;color:var(--nvx-mute);margin-top:2px}
.nvh-loc-list .hq a{border-color:rgba(255,176,77,.55);background:rgba(233,131,0,.1)}
.nvh-loc-list .hq small{color:var(--nvx-orange2)}

/* ---- light sections ---- */
.nvh-light{background:#f5f9fc;color:#071f42;padding:100px 0}
.nvh-white{background:#fff;color:#071f42;padding:100px 0}
.nvh-light .nvh-h2,.nvh-white .nvh-h2{color:#071f42}
.nvh-light .nvh-lead,.nvh-white .nvh-lead{color:#5b6673}
.nvh-light .nvh-eyebrow,.nvh-white .nvh-eyebrow{color:#0b7d6c}
.nvh-steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;counter-reset:s}
.nvh-steps li{background:#fff;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:10px;border:1px solid #e4eef7}
.nvh-steps li::before{counter-increment:s;content:"0" counter(s);font:700 54px/1 var(--nvx-display);color:var(--nvx-orange)}
.nvh-steps h3{margin:0;font:700 21px var(--nvx-display)}
.nvh-steps p{margin:0;font-size:15px;line-height:1.55;color:#5b6673}
.nvh-ind{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.nvh-ind li{border:1px solid #e4eef7;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}
.nvh-ind h3{margin:0;font:700 21px var(--nvx-display)}
.nvh-ind p{margin:0;font-size:15px;line-height:1.55;color:#5b6673}
.nvh-quote{margin:36px 0 0;background:#071f42;color:#fff;border-radius:28px;padding:44px}
.nvh-quote blockquote{margin:0;font:600 clamp(22px,2.6vw,34px)/1.3 var(--nvx-display)}
.nvh-quote figcaption{margin-top:18px;font-size:15px;color:#b8cde0}
.nvh-domains{padding:72px 0;background:#f5f9fc;color:#071f42}

/* ---- FAQ ---- */
.nvh-faq{padding:100px 0;background:#fff;color:#071f42}
.nvh-faq-list{max-width:900px;display:flex;flex-direction:column;gap:10px}
.nvh-faq details{border:1px solid #e4eef7;border-radius:16px;padding:0 22px;background:#fff}
.nvh-faq summary{cursor:pointer;list-style:none;padding:20px 0;font:700 18px var(--nvx-display);display:flex;justify-content:space-between;gap:16px;align-items:center}
.nvh-faq summary::-webkit-details-marker{display:none}
.nvh-faq summary::after{content:"+";font:500 24px var(--nvx-mono);color:var(--nvx-orange);flex:0 0 auto}
.nvh-faq details[open] summary::after{content:"–"}
.nvh-faq details p{margin:0 0 20px;font-size:16px;line-height:1.65;color:#465260}
.nvh-faq a{color:#0066a1;text-decoration:underline}

/* ---- final CTA ---- */
.nvh-final{position:relative;padding:110px 0;background:radial-gradient(800px 500px at 50% 0%,#0c2c47 0%,#040d18 75%);text-align:center}
.nvh-final .nvh-grid-bg{opacity:.5}
.nvh-final-in{position:relative;max-width:860px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:24px;align-items:center}
.nvh-final h2{margin:0;font:700 clamp(36px,5vw,68px)/1 var(--nvx-display);letter-spacing:-.03em;color:#fff}
.nvh-final h2 span{color:var(--nvx-orange2)}
.nvh-final p{margin:0;font-size:18px;line-height:1.6;color:#c3d6e8}
.nvh-final .nvh-ctas{justify-content:center}
.nvh-tel{font-family:var(--nvx-mono)!important;font-size:15px!important}

.nvh :focus-visible{outline:2px solid var(--nvx-orange2);outline-offset:3px}
@media (max-width:900px){.nvh-hero{min-height:0}.nvh-map{opacity:.35;width:100%;right:-30%}.nvh-sum{position:static}}
@media (max-width:640px){
  .nvh-hero-in{padding-top:56px;padding-bottom:56px}
  .nvh-proof{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}
  .nvh-sub{font-size:18px}
  .nvh-build,.nvh-svc,.nvh-loc,.nvh-light,.nvh-white,.nvh-faq,.nvh-final{padding:72px 0}
  .nvh-total{font-size:48px}
  .nvh-form .row{grid-template-columns:1fr}
  .nvh-quote{padding:28px}
}
@media (prefers-reduced-motion:reduce){
  .nvh-grid-bg,.nvh-route,.nvh-pulse,.nvh-pulse2,.nvh-marq-track,.nvh-h1 .w.rise,.nvh-glow,.nvh-scan{animation:none}
  .nvh-card{transition:none}
}
.nvh-faq .nvh-h2{color:#071f42}
.nvh-faq .nvh-eyebrow{color:#0b7d6c}
@media (max-width:640px){
  .nvh-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nvh-tab{min-height:56px;padding:10px 12px}
  .nvh-tab b{font-size:16px}
  .nvh-tab small{display:none}
  .nvh-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nvh-map{opacity:.22}
  .nvh-box{padding:18px}
}
.nvh [hidden]{display:none!important}
.nvh-proof{max-width:820px}
.nvh-proof b{white-space:nowrap;font-size:clamp(22px,2.2vw,30px)}
