/* Nevora final interaction + mobile system */
:root{--nv-header-height:82px;--nv-ease:cubic-bezier(.16,1,.3,1)}
html{width:100%;max-width:100%;overflow-x:clip;scroll-padding-top:calc(var(--nv-header-height) + 18px)}
body{width:100%;max-width:100%;overflow-x:clip!important}
*,*::before,*::after{box-sizing:border-box}
img,video,svg,canvas{max-width:100%}
main,section,.wrap,.site-main{min-width:0}

/* Keep the secondary-page hero language centered, matching the homepage. */
.page-hero>.wrap{max-width:920px!important;margin-inline:auto!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important}
.page-hero>.wrap>p{margin-left:auto!important;margin-right:auto!important;max-width:760px!important}
.page-hero .actions,.page-hero .hero-meta{justify-content:center!important;align-items:center!important}
.section-intro{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.section-intro>p{margin-left:auto!important;margin-right:auto!important}

/* Navigation: polished active-pill motion + mobile drawer. */
.nv-site-header{isolation:isolate}
.nv-site-header::after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,rgba(110,140,255,.24),transparent);opacity:.45;transform:scaleX(.35);transition:transform .7s var(--nv-ease),opacity .3s}
.nv-site-header.nv-scrolled::after{transform:scaleX(1);opacity:.8}
.nv-primary-nav{position:relative!important;isolation:isolate;overflow:visible}
.nv-primary-nav>a{z-index:2}
.nv-nav-indicator{position:absolute;left:0;top:5px;height:38px;border-radius:999px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(111,141,246,.18),rgba(73,99,192,.09));border:1px solid rgba(137,161,250,.16);box-shadow:0 9px 28px rgba(35,69,171,.10),inset 0 1px 0 rgba(255,255,255,.025);opacity:0;transform:translate3d(var(--nv-ind-x,0),0,0);width:var(--nv-ind-w,0);transition:transform .42s var(--nv-ease),width .42s var(--nv-ease),opacity .2s}
.nv-primary-nav.nv-indicator-ready .nv-nav-indicator{opacity:1}
.nv-site-header .nv-primary-nav a[aria-current=page]{background:transparent!important;box-shadow:none!important}
.nv-site-header .nv-primary-nav a::after{bottom:4px!important}
.nv-nav-cta svg,.button svg,.btn-primary svg{transition:transform .3s var(--nv-ease)}
.nv-nav-cta:hover svg,.button:hover svg,.btn-primary:hover svg{transform:translate(2px,-1px)}
.nv-icon-button{overflow:hidden;position:relative}
.nv-icon-button::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:rgba(112,145,255,.65);filter:blur(4px);opacity:0;transform:scale(.2);transition:.35s var(--nv-ease)}
.nv-icon-button:hover::after{opacity:.55;transform:scale(3)}
.nv-menu-toggle .nv-menu-bars{display:grid;gap:4px;width:18px}
.nv-menu-toggle .nv-menu-bars i{display:block;width:18px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .32s var(--nv-ease),opacity .2s,width .25s}
.nv-menu-toggle[aria-expanded="true"] .nv-menu-bars i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nv-menu-toggle[aria-expanded="true"] .nv-menu-bars i:nth-child(2){opacity:0;transform:scaleX(.2)}
.nv-menu-toggle[aria-expanded="true"] .nv-menu-bars i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.nv-mobile-menu{display:none}

/* Unified site search modal. */
#siteSearch.nv-search-modal{position:fixed!important;inset:0!important;z-index:1200!important;padding:calc(var(--nv-header-height) + 28px) 22px 28px!important;background:rgba(4,6,11,.72)!important;backdrop-filter:blur(16px) saturate(120%)!important;-webkit-backdrop-filter:blur(16px) saturate(120%)!important;overflow-y:auto!important;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;display:block!important}
#siteSearch.nv-search-modal[hidden]{display:none!important}
#siteSearch.nv-search-modal.open{opacity:1;visibility:visible}
.nv-search-shell{width:min(720px,100%);margin:0 auto;position:relative;transform:translateY(-14px) scale(.985);opacity:0;transition:transform .38s var(--nv-ease),opacity .22s ease}
#siteSearch.open .nv-search-shell{transform:translateY(0) scale(1);opacity:1}
.nv-search-card{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,rgba(16,20,32,.985),rgba(9,12,20,.985));border:1px solid rgba(138,160,231,.18);box-shadow:0 32px 100px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.025)}
.nv-search-card::before{content:"";position:absolute;left:16%;right:16%;top:-70px;height:140px;background:radial-gradient(ellipse,rgba(63,105,245,.18),transparent 70%);pointer-events:none}
.nv-search-head{position:relative;padding:18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(150,169,225,.10)}
.nv-search-input{flex:1;min-width:0;display:flex;align-items:center;gap:11px;padding:0 15px;height:52px;border-radius:15px;border:1px solid rgba(143,164,230,.15);background:rgba(4,7,13,.52);transition:border-color .2s,box-shadow .2s,background .2s}
.nv-search-input:focus-within{border-color:rgba(116,148,255,.45);box-shadow:0 0 0 4px rgba(75,111,236,.08),0 0 26px rgba(60,98,231,.08);background:rgba(6,9,17,.72)}
.nv-search-input svg{width:18px;height:18px;color:#8997bd;flex:none}
.nv-search-input input{width:100%;min-width:0;background:none!important;border:0!important;outline:0!important;box-shadow:none!important;color:#f2f4fa!important;font:500 15px/1.4 var(--nv-nav-font,'Manrope',sans-serif)!important;padding:0!important;margin:0!important;height:auto!important}
.nv-search-input input::placeholder{color:#737d98}
.nv-search-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:13px;border:1px solid rgba(145,165,225,.11);background:rgba(18,22,34,.7);color:#aeb6ca;cursor:pointer;transition:.22s ease}
.nv-search-close:hover{color:#fff;border-color:rgba(129,154,247,.28);background:rgba(31,38,58,.8);transform:rotate(4deg)}
.nv-search-close svg{width:17px;height:17px}
.nv-search-sub{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:0 20px 15px;color:#68738d;font-size:11px;letter-spacing:.02em}
.nv-search-kbd{display:inline-flex;align-items:center;gap:5px}.nv-search-kbd kbd{padding:3px 6px;border-radius:6px;border:1px solid rgba(146,164,219,.13);background:rgba(255,255,255,.025);font:600 10px/1 var(--nv-nav-font,'Manrope',sans-serif);color:#8f99b1}
.nv-search-results{padding:7px 12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.nv-search-result{position:relative;display:flex!important;flex-direction:column;gap:3px;min-width:0;padding:14px 42px 14px 14px;border-radius:14px;text-decoration:none!important;border:1px solid transparent;color:#e9ecf5!important;background:transparent;transition:background .2s,border-color .2s,transform .25s var(--nv-ease)}
.nv-search-result:hover,.nv-search-result:focus-visible{background:rgba(105,132,228,.075);border-color:rgba(132,156,239,.13);transform:translateY(-1px);outline:none}
.nv-search-result strong{font-size:13px;line-height:1.35;color:#f3f5fb}.nv-search-result span{font-size:11.5px;line-height:1.45;color:#858fa8}.nv-search-result b{position:absolute;right:14px;top:50%;translate:0 -50%;font-size:16px;color:#7183b5;font-weight:400;transition:transform .25s}.nv-search-result:hover b{transform:translateX(3px)}
.nv-search-empty{grid-column:1/-1;padding:26px 16px;text-align:center;color:#858fa8;font-size:13px}
body.nv-search-open{overflow:hidden!important}

/* Mobile layout safety. */
@media(max-width:960px){
  :root{--nv-header-height:70px}
  .nv-site-header .nv-site-nav{width:calc(100% - 32px)!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .nv-site-header .nv-primary-nav,.nv-site-header .nv-nav-cta{display:none!important}
  .nv-site-header .nv-nav-actions{max-width:max-content!important}
  .nv-site-header .nv-menu-toggle{display:grid!important}
  .nv-mobile-menu{display:flex!important;position:fixed!important;inset:var(--nv-header-height) 0 0!important;z-index:1100!important;flex-direction:column!important;padding:18px 20px max(34px,env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(7,9,15,.985),rgba(5,7,12,.995))!important;border-top:1px solid rgba(149,168,225,.10)!important;overflow-y:auto!important;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .24s ease,transform .38s var(--nv-ease),visibility .24s}
  .nv-mobile-menu::before{content:"";position:absolute;inset:0 0 auto;height:210px;pointer-events:none;background:radial-gradient(ellipse at 50% 0,rgba(55,91,211,.13),transparent 70%)}
  .nv-mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .nv-mobile-menu>a:not(.nv-mobile-cta){position:relative;z-index:1;min-height:58px!important;padding:13px 4px!important;font-size:18px!important;opacity:0;transform:translateY(-7px);transition:opacity .25s ease,transform .36s var(--nv-ease),color .2s!important}
  .nv-mobile-menu.open>a{opacity:1!important;transform:translateY(0)!important}
  .nv-mobile-menu.open>a:nth-child(1){transition-delay:.03s!important}.nv-mobile-menu.open>a:nth-child(2){transition-delay:.055s!important}.nv-mobile-menu.open>a:nth-child(3){transition-delay:.08s!important}.nv-mobile-menu.open>a:nth-child(4){transition-delay:.105s!important}.nv-mobile-menu.open>a:nth-child(5){transition-delay:.13s!important}.nv-mobile-menu.open>a:nth-child(6){transition-delay:.155s!important}.nv-mobile-menu.open>a:nth-child(7){transition-delay:.18s!important}
  .nv-mobile-menu .nv-mobile-cta{position:relative;z-index:1;width:100%!important;min-height:50px!important;margin-top:24px!important}
  body.nv-menu-open{overflow:hidden!important}
  .page-hero{padding-left:0!important;padding-right:0!important}
  .page-hero>.wrap{width:calc(100% - 36px)!important;max-width:760px!important}
  .page-hero h1{font-size:clamp(37px,10.5vw,62px)!important;line-height:.98!important;overflow-wrap:break-word}
  .page-hero p{font-size:15px!important;line-height:1.7!important}
  .page-hero .actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
  .wrap{max-width:100%!important}
  .grid,.grid-two,.grid-three,.work-grid,.contact-grid,.editorial-split,.service-lead,.footer-grid,.nv-case-layout{min-width:0!important}
  .service-lead,.editorial-split,.contact-grid,.nv-case-layout{grid-template-columns:1fr!important}
  .saltline-screen,.nv-case-visual,.nv-case-copy,.form-panel,.contact-aside{min-width:0!important;max-width:100%!important}
  .saltline-screen img,.nv-case img{width:100%!important;height:auto!important}
}
@media(max-width:760px){
  body{font-size:15px}
  .section{padding-left:0!important;padding-right:0!important}
  .section>.wrap,.site-footer>.wrap,.footer-wrap{width:calc(100% - 34px)!important;margin-left:auto!important;margin-right:auto!important}
  .grid,.grid-two,.grid-three,.work-grid{grid-template-columns:1fr!important}
  .price-card,.feature-card,.surface,.surface-soft,.story-panel,.brand-add{min-width:0!important;max-width:100%!important}
  .price-switch{max-width:100%!important;overflow-x:auto!important;scrollbar-width:none}.price-switch::-webkit-scrollbar{display:none}
  .price-intro,.brand-add{flex-direction:column!important;align-items:flex-start!important;gap:16px!important}
  .section-intro h2{font-size:clamp(30px,9vw,46px)!important;line-height:1.02!important}
  #nv-homepage-reel{overflow:hidden!important}
  .nv-reel-head{width:calc(100% - 34px)!important}
  .nv-reel-viewport{touch-action:pan-y!important}
  .nv-reel-card{max-width:calc(100vw - 46px)!important}
  .contact-grid{gap:20px!important}
  input,textarea,select{max-width:100%!important;font-size:16px!important}
  .cookie-banner{max-width:calc(100vw - 28px)!important;left:14px!important;right:14px!important}
  .whatsapp-float,.wa-float,.whatsapp-widget{max-width:calc(100vw - 24px)!important}
  .nv-search-results{grid-template-columns:1fr}.nv-search-sub{padding-left:18px;padding-right:18px}.nv-search-kbd{display:none}
}
@media(max-width:520px){
  .nv-site-header .nv-site-nav{width:calc(100% - 24px)!important}
  .nv-site-header .nv-brand img{width:98px!important}
  .nv-site-header .nv-icon-button{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
  .page-hero .actions{width:100%!important}.page-hero .actions .button{width:100%!important;max-width:360px!important}
  #siteSearch.nv-search-modal{padding:calc(var(--nv-header-height) + 12px) 10px 16px!important}
  .nv-search-card{border-radius:18px}.nv-search-head{padding:12px;gap:8px}.nv-search-input{height:48px;padding:0 12px}.nv-search-close{width:42px;height:42px}.nv-search-sub{padding:0 14px 12px}.nv-search-results{padding:6px 8px 10px}.nv-search-result{padding:13px 38px 13px 12px}
  .hero-video-copy{padding-left:18px!important;padding-right:18px!important}
  .hero-video-copy h1{font-size:clamp(41px,12vw,64px)!important}
  .hero-video-copy .hero-sub{font-size:14px!important;max-width:34ch!important}
  .hero-trust{gap:8px 12px!important;flex-wrap:wrap!important}
  .stats2-grid{grid-template-columns:1fr!important}
  .s2card{width:100%!important;min-width:0!important}
}

/* Refined field + submission states. */
#enquiryForm .field input,#enquiryForm .field textarea{transition:border-color .2s,box-shadow .2s,background .2s}
#enquiryForm .field input:focus,#enquiryForm .field textarea:focus{border-color:rgba(111,145,255,.48)!important;box-shadow:0 0 0 4px rgba(63,100,228,.09)!important}
.nv-form-status{display:none;margin-top:14px;padding:13px 15px;border-radius:13px;font-size:13px;line-height:1.45;border:1px solid transparent;animation:nvStatusIn .35s var(--nv-ease)}
.nv-form-status.show{display:flex;align-items:flex-start;gap:10px}.nv-form-status::before{font-weight:800}.nv-form-status.success{color:#c9f5da;background:rgba(34,140,82,.10);border-color:rgba(74,190,117,.20)}.nv-form-status.success::before{content:"✓"}.nv-form-status.error{color:#ffd2d2;background:rgba(179,57,67,.10);border-color:rgba(222,91,101,.20)}.nv-form-status.error::before{content:"!"}.form-submit.nv-sending{pointer-events:none;opacity:.72}.form-submit.nv-sending svg{animation:nvArrowPulse .85s ease-in-out infinite}
@keyframes nvStatusIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@keyframes nvArrowPulse{50%{transform:translateX(4px)}}

/* Additional restrained motion. */
.nv-enhance-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .8s var(--nv-ease)}.nv-enhance-reveal.nv-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.nv-enhance-reveal{opacity:1!important;transform:none!important}}

/* === Final launch audit enhancements: sticky header, scroll progress, scroll-to-top, hover polish === */
.nv-site-header,.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1100!important;
}
.nv-site-header{
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease,backdrop-filter .28s ease!important;
}
.nv-site-header.nv-scrolled{
  box-shadow:0 14px 42px rgba(0,0,0,.28)!important;
}

.nv-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:2500;
  height:2px;
  pointer-events:none;
  background:rgba(255,255,255,.025);
}
.nv-scroll-progress>span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,#6688f4,#a5b9ff);
  box-shadow:0 0 14px rgba(102,136,244,.45);
  will-change:transform;
}

.nv-scroll-top{
  position:fixed;
  right:20px;
  bottom:84px;
  z-index:1090;
  width:44px;
  height:44px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(148,169,235,.16);
  background:rgba(11,14,22,.88);
  color:#c8d3f5;
  box-shadow:0 14px 40px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px) scale(.94);
  transition:opacity .22s ease,visibility .22s ease,transform .34s var(--nv-ease),border-color .2s ease,background .2s ease,color .2s ease;
}
.nv-scroll-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
}
.nv-scroll-top svg{width:18px;height:18px}
.nv-scroll-top:hover,.nv-scroll-top:focus-visible{
  color:#fff;
  border-color:rgba(134,160,255,.48);
  background:rgba(28,35,56,.94);
  transform:translateY(-3px);
  box-shadow:0 18px 46px rgba(0,0,0,.34),0 0 26px rgba(91,124,238,.10);
}

/* Consistent but restrained interactive feedback across the site. */
@media(hover:hover) and (pointer:fine){
  .surface,.surface-soft,.story-panel,.quote-panel,.work-card,.price-card,.feature-card,.contact-aside .surface,.nv-brand-addon,.nv-contact-message-card,.nv-follow-card{
    transition:transform .34s var(--nv-ease),border-color .28s ease,box-shadow .34s ease,background .34s ease!important;
  }
  .surface:hover,.surface-soft:hover,.story-panel:hover,.quote-panel:hover,.work-card:hover,.price-card:hover,.feature-card:hover,.contact-aside .surface:hover,.nv-brand-addon:hover{
    transform:translateY(-3px);
    border-color:rgba(135,159,244,.20)!important;
    box-shadow:0 26px 70px -44px rgba(0,0,0,.86),0 0 32px rgba(72,105,222,.05),inset 0 1px 0 rgba(255,255,255,.025)!important;
  }
  .footer-links a,.footer-contact a,.contact-links a,.socials a,.muted-link{
    transition:color .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease;
  }
  .footer-links a:hover,.footer-contact a:hover,.contact-links a:hover,.muted-link:hover{
    color:#dce5ff!important;
  }
  .socials a:hover{
    transform:translateY(-2px);
    border-color:rgba(121,151,255,.42)!important;
    background:rgba(95,126,232,.07);
  }
  .button,.nv-nav-cta,.nv-search-result,.nv-mobile-menu a{
    -webkit-tap-highlight-color:transparent;
  }
}

::selection{background:rgba(102,136,244,.34);color:#fff}

@media(max-width:600px){
  .nv-scroll-progress{height:2px}
  .nv-scroll-top{right:14px;bottom:76px;width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){
  .nv-scroll-top{transition:none!important}
}

/* === Professional mobile navigation + viewport consent corrections === */
/*
 * The atmospheric background system gives direct body children relative
 * positioning. These explicit overrides keep global UI attached to the
 * viewport, including on iOS when the browser chrome changes height.
 */
.nv-site-header,
body.nv-landscape-page > .nv-site-header{
  position:fixed!important;
  inset:0 0 auto!important;
  width:100%!important;
  z-index:1100!important;
  background:rgba(7,8,12,.58)!important;
  border-bottom-color:rgba(181,197,244,.085)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  backdrop-filter:blur(20px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(128%)!important;
}
.nv-site-header.nv-scrolled,
body.nv-landscape-page > .nv-site-header.nv-scrolled{
  background:rgba(7,8,12,.72)!important;
  border-bottom-color:rgba(151,170,226,.13)!important;
  box-shadow:0 12px 38px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.nv-site-header .nv-primary-nav{
  background:rgba(17,20,30,.43)!important;
  border-color:rgba(166,184,239,.115)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 12px 32px rgba(0,0,0,.09)!important;
}
.nv-site-header .nv-nav-actions{
  background:rgba(16,19,29,.36)!important;
  border-color:rgba(166,184,239,.105)!important;
}
.nv-site-header ~ .site-main{
  padding-top:var(--nv-header-height);
}
/* The homepage uses an ambient wrapper instead of .site-main. Keep its launch
 * hero below the fixed navigation and fill the rest of the live viewport. */
.nv-site-header ~ .nevora-v2-ambient #top.hero-video{
  margin-top:var(--nv-header-height)!important;
  min-height:max(835px,calc(100dvh - var(--nv-header-height)))!important;
}

.nv-skip-link{
  position:fixed;
  top:10px;
  left:12px;
  z-index:2500;
  padding:11px 15px;
  border-radius:10px;
  background:#eef2ff;
  color:#0a1020;
  font:700 13px/1.2 var(--nv-nav-font,'Manrope',sans-serif);
  text-decoration:none;
  box-shadow:0 14px 38px rgba(0,0,0,.22);
  transform:translateY(calc(-100% - 18px));
  transition:transform .34s var(--nv-ease);
}
.nv-skip-link:focus{transform:translateY(0);outline:2px solid #7896ff;outline-offset:3px}

.cookie-banner,
.cookie-consent,
body.nv-landscape-page > .cookie-banner,
body.nv-landscape-page > .cookie-consent,
body.nv-landscape-page > #cookieConsent{
  position:fixed!important;
  inset:auto 18px max(18px,env(safe-area-inset-bottom)) 18px!important;
  z-index:1300!important;
  width:min(calc(100% - 36px),980px)!important;
  max-height:min(78dvh,560px);
  margin:0 auto!important;
  overflow-y:auto;
  display:flex!important;
  background:linear-gradient(145deg,rgba(21,24,34,.91),rgba(10,12,18,.94))!important;
  border:1px solid rgba(182,198,247,.16)!important;
  border-radius:18px!important;
  box-shadow:0 26px 80px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.045)!important;
  backdrop-filter:blur(22px) saturate(125%);
  -webkit-backdrop-filter:blur(22px) saturate(125%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(.985);
  transition:opacity .24s cubic-bezier(.32,.72,0,1),transform .42s var(--nv-ease),visibility .24s;
}
.cookie-banner.show,
.cookie-consent.show,
body.nv-landscape-page > .cookie-banner.show,
body.nv-landscape-page > .cookie-consent.show,
body.nv-landscape-page > #cookieConsent.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.cookie-banner strong,.cookie-consent h3{letter-spacing:-.015em}
.cookie-actions button{
  min-height:42px;
  transition:transform .28s var(--nv-ease),background .24s,border-color .24s,color .24s!important;
}
.cookie-actions button:hover{transform:translateY(-1px);border-color:rgba(164,184,247,.36)}
.cookie-actions button:active{transform:scale(.98)}
.cookie-actions button:focus-visible{outline:2px solid #91abff;outline-offset:3px}

@media(max-width:960px){
  .nv-site-header ~ .nevora-v2-ambient #top.hero-video{
    min-height:max(760px,calc(100dvh - var(--nv-header-height)))!important;
  }
  .nv-mobile-menu{
    top:var(--nv-header-height)!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100%!important;
    height:calc(100dvh - var(--nv-header-height))!important;
    max-height:calc(100dvh - var(--nv-header-height))!important;
    padding:22px max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))!important;
    background:linear-gradient(180deg,rgba(7,9,15,.86),rgba(5,7,12,.94))!important;
    backdrop-filter:blur(24px) saturate(120%);
    -webkit-backdrop-filter:blur(24px) saturate(120%);
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .nv-mobile-menu>a:not(.nv-mobile-cta){
    border-bottom:1px solid rgba(163,181,237,.085);
    color:#c2c8d6;
  }
  .nv-mobile-menu>a:not(.nv-mobile-cta)::after{
    content:'\2197\FE0E';
    margin-left:auto;
    color:#647196;
    font-size:15px;
    transition:transform .32s var(--nv-ease),color .22s;
  }
  .nv-mobile-menu>a:not(.nv-mobile-cta):hover::after,
  .nv-mobile-menu>a:not(.nv-mobile-cta):focus-visible::after{transform:translate(2px,-2px);color:#a8bbff}
  .nv-mobile-menu>a[aria-current=page]:not(.nv-mobile-cta){color:#fff!important}
  .nv-mobile-menu>a[aria-current=page]:not(.nv-mobile-cta)::before{
    content:'';
    width:6px;
    height:6px;
    flex:none;
    margin-right:10px;
    border-radius:50%;
    background:#8eabff;
    box-shadow:0 0 16px rgba(99,137,255,.58);
  }
  html.nv-menu-open,
  body.nv-menu-open,
  html.nv-search-open,
  body.nv-search-open{overflow:hidden!important;overscroll-behavior:none}
}

@media(max-width:560px){
  .cookie-banner,
  .cookie-consent,
  body.nv-landscape-page > .cookie-banner,
  body.nv-landscape-page > .cookie-consent,
  body.nv-landscape-page > #cookieConsent{
    inset:auto 10px max(10px,env(safe-area-inset-bottom)) 10px!important;
    width:calc(100% - 20px)!important;
    padding:17px!important;
    gap:15px!important;
  }
  .cookie-banner p{line-height:1.58}
  .cookie-actions{gap:9px}
  .cookie-actions button{min-height:45px;padding-inline:12px!important}
}

@media(prefers-reduced-transparency:reduce){
  .nv-site-header,.nv-site-header.nv-scrolled{background:#0b0d13!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .nv-mobile-menu,.cookie-banner,.cookie-consent{background:#0d1018!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

/* Let more of the homepage film show through without weakening copy contrast. */
.nevora-v2-ambient #top.hero-video .hero-video-media{
  filter:brightness(.88) saturate(.92) contrast(1.02)!important;
}
.nevora-v2-ambient #top.hero-video .hero-video-shade{
  background:
    radial-gradient(ellipse 50% 35% at 50% 44%,rgba(47,125,255,.09),transparent 76%),
    linear-gradient(180deg,
      rgba(8,8,10,.90) 0%,
      rgba(8,8,10,.92) 10%,
      rgba(8,8,10,.86) 24%,
      rgba(8,8,10,.72) 40%,
      rgba(8,8,10,.56) 58%,
      rgba(8,8,10,.38) 72%,
      rgba(8,8,10,.22) 84%,
      rgba(8,8,10,.12) 100%)!important;
}
.nevora-v2-ambient #top.hero-video h1{
  text-shadow:0 3px 30px rgba(0,0,0,.42);
}
.nevora-v2-ambient #top.hero-video .hero-sub,
.nevora-v2-ambient #top.hero-video .htrust{
  text-shadow:0 2px 18px rgba(0,0,0,.52);
}

/* === September 2026 floating navigation + utility controls === */
/* Desktop header: visually matches the floating pill navigation used on the homepage mockup. */
.nv-site-header,
body.nv-landscape-page > .nv-site-header{
  position:fixed!important;
  inset:0 0 auto!important;
  width:100%!important;
  height:82px!important;
  z-index:1100!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:translate3d(0,0,0);
  will-change:transform;
  transition:transform .42s var(--nv-ease)!important;
  pointer-events:none;
}
.nv-site-header::after{display:none!important}
.nv-site-header.nv-header-hidden{transform:translate3d(0,-112%,0)!important}
.nv-site-header.nv-header-visible{transform:translate3d(0,0,0)!important}
.nv-site-header .nv-site-nav{
  width:min(calc(100% - 48px),970px)!important;
  height:82px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  max-width:none!important;
  min-height:0!important;
  background:none!important;
  border:0!important;
  position:relative!important;
  transform:none!important;
  pointer-events:auto;
}
.nv-site-header .nv-main-pill{
  height:62px;
  min-width:0;
  display:flex;
  align-items:center;
  padding:5px 8px 5px 0;
  border:1px solid rgba(255,255,255,.30);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.10),inset 0 0 14px rgba(255,255,255,.07),0 10px 30px rgba(0,0,0,.20);
  backdrop-filter:blur(6px) saturate(140%);
  -webkit-backdrop-filter:blur(6px) saturate(140%);
}
.nv-site-header .nv-brand{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch;
  flex:none!important;
  width:auto!important;
  padding:0 26px 0 25px!important;
  border:0!important;
  background:transparent!important;
  border-radius:999px 0 0 999px!important;
  line-height:0!important;
}
.nv-site-header .nv-brand::after{
  content:"";
  position:absolute;
  right:0;
  top:10px;
  bottom:10px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(171,187,235,.28),transparent);
}
.nv-site-header .nv-brand img{
  display:block!important;
  width:138px!important;
  height:auto!important;
  max-width:none!important;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,.18))!important;
}
.nv-site-header .nv-primary-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch;
  gap:2px!important;
  white-space:nowrap!important;
  padding:4px 1px 4px 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.nv-site-header .nv-primary-nav a{
  min-height:44px!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  font:600 13px/1.25 var(--nv-nav-font,'Manrope',sans-serif)!important;
  color:#b4b8c2!important;
}
.nv-site-header .nv-primary-nav a:hover,
.nv-site-header .nv-primary-nav a:focus-visible{color:#fff!important;background:rgba(117,143,232,.055)!important}
.nv-site-header .nv-primary-nav a[aria-current=page]{color:#f5f7ff!important;background:transparent!important}
.nv-site-header .nv-primary-nav a::after{bottom:5px!important}
.nv-site-header .nv-nav-actions{
  height:62px!important;
  flex:none!important;
  justify-self:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  padding:6px!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.10),inset 0 0 14px rgba(255,255,255,.07),0 10px 30px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(6px) saturate(140%);
  -webkit-backdrop-filter:blur(6px) saturate(140%);
}
/* Browsers without blur support get a darker fill so the links stay readable. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nv-site-header .nv-main-pill,
  .nv-site-header .nv-nav-actions{background:rgba(14,16,24,.90)!important}
}
.nv-site-header .nv-nav-cta{
  min-height:48px!important;
  padding:11px 20px!important;
  border:1px solid rgba(127,153,245,.30)!important;
  background:linear-gradient(180deg,rgba(99,127,226,.18),rgba(72,97,187,.10))!important;
  font-size:12.5px!important;
}
.nv-site-header .nv-icon-button{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
}
.nv-site-header .nv-search-button{margin-left:4px!important;overflow:visible!important}
.nv-site-header .nv-search-button::before{
  content:"";
  position:absolute;
  left:-6px;
  top:7px;
  bottom:7px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(171,187,235,.27),transparent);
}
.nv-site-header.nv-scrolled,
body.nv-landscape-page > .nv-site-header.nv-scrolled{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
/* The homepage film sits behind the floating navigation rather than below a header bar. */
.nv-site-header ~ .nevora-v2-ambient #top.hero-video{
  margin-top:0!important;
  min-height:max(835px,100dvh)!important;
}

/* Match the compact Services-page WhatsApp size everywhere. The label stays collapsed until hover/focus. */
.wa-chat,
body.nv-landscape-page > .wa-chat{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:1092!important;
  display:block!important;
  pointer-events:none!important;
}
.wa-chat__link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:0!important;
  pointer-events:auto!important;
  color:#fff!important;
  text-decoration:none!important;
}
.wa-chat__bubble{
  position:relative!important;
  flex:0 0 47px!important;
  width:47px!important;
  height:47px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#25D366!important;
  box-shadow:0 10px 28px rgba(37,211,102,.22),0 0 0 1px rgba(255,255,255,.07)!important;
  transition:transform .28s var(--nv-ease),box-shadow .25s ease!important;
}
.wa-chat__bubble .wa-logo,.wa-chat__bubble svg{
  width:24px!important;
  height:24px!important;
  color:#fff!important;
  fill:#fff!important;
  display:block!important;
}
.wa-chat__dot{
  position:absolute!important;
  right:1px!important;
  top:1px!important;
  width:9px!important;
  height:9px!important;
  border-radius:50%!important;
  background:#ff4d4f!important;
  border:1.5px solid #08080a!important;
  box-shadow:0 0 10px rgba(255,77,79,.32)!important;
}
.wa-chat__label{
  display:block!important;
  max-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  opacity:0!important;
  margin-right:0!important;
  padding:9px 0!important;
  border:0 solid rgba(255,255,255,.11)!important;
  border-radius:999px!important;
  background:rgba(8,8,10,.90)!important;
  color:#e9e9e9!important;
  font:600 11px/1 'Inter','Manrope',sans-serif!important;
  box-shadow:0 12px 35px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  transform:translateX(12px) scale(.97)!important;
  transform-origin:right center;
  transition:max-width .38s var(--nv-ease),padding .38s var(--nv-ease),margin .38s var(--nv-ease),opacity .2s ease,transform .38s var(--nv-ease),border-width .22s ease!important;
}
.wa-chat__link:hover .wa-chat__label,
.wa-chat__link:focus-visible .wa-chat__label{
  max-width:110px!important;
  margin-right:8px!important;
  padding:9px 11px!important;
  border-width:1px!important;
  opacity:1!important;
  transform:translateX(0) scale(1)!important;
}
.wa-chat__link:hover .wa-chat__bubble,
.wa-chat__link:focus-visible .wa-chat__bubble{
  transform:translateY(-2px) scale(1.025)!important;
  box-shadow:0 13px 32px rgba(37,211,102,.28),0 0 0 1px rgba(255,255,255,.09)!important;
}

/* Keep scroll-to-top directly above and centre-aligned with WhatsApp. */
.nv-scroll-top{
  right:18px!important;
  bottom:78px!important;
  width:47px!important;
  height:47px!important;
  z-index:1091!important;
}

@media(max-width:1100px) and (min-width:961px){
  .nv-site-header .nv-site-nav{width:min(calc(100% - 28px),930px)!important;gap:13px!important}
  .nv-site-header .nv-brand{padding-left:20px!important;padding-right:20px!important}
  .nv-site-header .nv-brand img{width:120px!important}
  .nv-site-header .nv-primary-nav a{padding-left:10px!important;padding-right:10px!important;font-size:12px!important}
  .nv-site-header .nv-nav-cta{padding-left:15px!important;padding-right:15px!important}
}

@media(max-width:960px){
  :root{--nv-header-height:70px}
  .nv-site-header,body.nv-landscape-page > .nv-site-header{height:70px!important}
  .nv-site-header .nv-site-nav{
    width:calc(100% - 24px)!important;
    height:70px!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  .nv-site-header .nv-main-pill{
    height:50px!important;
    padding:0!important;
    border-radius:999px!important;
  }
  .nv-site-header .nv-brand{
    height:48px!important;
    padding:0 18px!important;
    border-radius:999px!important;
  }
  .nv-site-header .nv-brand::after{display:none!important}
  .nv-site-header .nv-brand img{width:108px!important}
  .nv-site-header .nv-primary-nav{display:none!important}
  .nv-site-header .nv-nav-actions{
    height:50px!important;
    padding:4px!important;
    gap:1px!important;
  }
  .nv-site-header .nv-nav-cta{display:none!important}
  .nv-site-header .nv-icon-button{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }
  .nv-site-header .nv-search-button{margin-left:0!important}
  .nv-site-header .nv-search-button::before{display:none!important}
  .nv-site-header ~ .nevora-v2-ambient #top.hero-video{
    margin-top:0!important;
    min-height:max(760px,100dvh)!important;
  }
  .nv-mobile-menu{top:var(--nv-header-height)!important}
}

@media(max-width:600px){
  .wa-chat,body.nv-landscape-page > .wa-chat{right:14px!important;bottom:14px!important}
  .wa-chat__bubble{flex-basis:44px!important;width:44px!important;height:44px!important}
  .wa-chat__bubble .wa-logo,.wa-chat__bubble svg{width:23px!important;height:23px!important}
  .wa-chat__label{display:none!important}
  .nv-scroll-top{right:14px!important;bottom:70px!important;width:44px!important;height:44px!important}
}

@media(prefers-reduced-transparency:reduce){
  .nv-site-header,body.nv-landscape-page > .nv-site-header{background:transparent!important}
  .nv-site-header .nv-main-pill,.nv-site-header .nv-nav-actions{background:#0b0d13!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(prefers-reduced-motion:reduce){
  .nv-site-header{transition:none!important}
  .wa-chat__label,.wa-chat__bubble{transition:none!important}
}

/* Final desktop proportions from the supplied navigation reference. */
@media(min-width:1101px){
  .nv-site-header .nv-site-nav{transform:translateY(16px)!important}
  .nv-site-header .nv-main-pill{flex:0 0 710px!important}
  .nv-site-header .nv-primary-nav{flex:1 1 auto!important;justify-content:space-evenly!important}
  .nv-site-header .nv-nav-actions{flex:0 0 225px!important}
  .nv-site-header .nv-nav-cta{flex:1 1 auto!important}
}
@media(max-width:1100px) and (min-width:961px){
  .nv-site-header .nv-site-nav{transform:translateY(10px)!important}
  .nv-site-header .nv-main-pill{flex:1 1 auto!important}
  .nv-site-header .nv-nav-actions{flex:0 0 auto!important}
}
@media(max-width:960px){.nv-site-header .nv-site-nav{transform:none!important}}

/* === September 2026 navigation proportion refinement + hero clearance === */
/* Keep the floating navigation visually balanced while giving every control the same vertical rhythm. */
@media(min-width:961px){
  .nv-site-header .nv-site-nav{
    width:min(calc(100% - 44px),956px)!important;
    gap:14px!important;
  }
  .nv-site-header .nv-main-pill,
  .nv-site-header .nv-nav-actions{
    height:60px!important;
  }
  .nv-site-header .nv-main-pill{
    padding:5px 7px 5px 0!important;
  }
  .nv-site-header .nv-brand{
    width:186px!important;
    min-width:186px!important;
    height:58px!important;
    padding:0 22px!important;
    justify-content:center!important;
  }
  .nv-site-header .nv-brand::after{
    top:12px!important;
    bottom:12px!important;
  }
  .nv-site-header .nv-brand img{
    width:122px!important;
    max-width:122px!important;
    margin:0 auto!important;
  }
  .nv-site-header .nv-primary-nav{
    padding:4px 3px 4px 6px!important;
    gap:1px!important;
  }
  .nv-site-header .nv-primary-nav a{
    min-height:44px!important;
    height:44px!important;
    padding:10px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:12.5px!important;
  }
  .nv-site-header .nv-nav-actions{
    padding:6px!important;
    gap:4px!important;
  }
  .nv-site-header .nv-nav-cta{
    min-height:46px!important;
    height:46px!important;
    padding:10px 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:12.5px!important;
  }
  .nv-site-header .nv-icon-button{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    min-height:46px!important;
  }
  .nv-site-header .nv-search-button::before{
    top:8px!important;
    bottom:8px!important;
  }
  /* The floating header overlays the film, so reserve visual breathing room for the hero copy. */
  #top.hero-video .hero-video-copy{
    padding-top:clamp(132px,10vw,150px)!important;
  }
}

@media(min-width:1101px){
  .nv-site-header .nv-site-nav{transform:translateY(15px)!important}
  .nv-site-header .nv-main-pill{flex:0 0 704px!important}
  .nv-site-header .nv-nav-actions{flex:0 0 218px!important}
}

@media(max-width:1100px) and (min-width:961px){
  .nv-site-header .nv-site-nav{transform:translateY(12px)!important}
  .nv-site-header .nv-brand{width:168px!important;min-width:168px!important;padding:0 18px!important}
  .nv-site-header .nv-brand img{width:116px!important;max-width:116px!important}
  .nv-site-header .nv-primary-nav a{padding-left:9px!important;padding-right:9px!important;font-size:12px!important}
}

@media(max-width:960px){
  /* Prevent the mobile eyebrow/title from sitting underneath the floating nav. */
  #top.hero-video .hero-video-copy{
    padding-top:92px!important;
  }
  .nv-site-header .nv-brand{
    justify-content:center!important;
  }
  .nv-site-header .nv-brand img{
    width:102px!important;
    max-width:102px!important;
    margin:0 auto!important;
  }
}

@media(max-width:640px){
  #top.hero-video .hero-video-copy{
    padding-top:94px!important;
  }
}

/* === Nav logo optical centring fix ===
   The source logo PNG has more transparent space above than below, so the
   image element can be mathematically centred while the visible wordmark
   appears slightly low. Compensate only inside the navigation. */
.nv-site-header .nv-brand img{
  transform:translateY(-6.5px)!important;
}
@media(max-width:960px){
  .nv-site-header .nv-brand img{
    transform:translateY(-5px)!important;
  }
}

/* === September 2026 mobile optimisation pass ===
   Mobile-only layout compaction. Desktop remains unchanged apart from the
   two intentionally removed homepage hero footnotes. */

/* The hero footer now contains only the central scroll cue on every viewport. */
#top.hero-video .hero-video-footer{
  grid-template-columns:1fr!important;
  justify-items:center!important;
}

/* Pricing tier selector is generated by nevora-enhancements.js and is hidden on desktop. */
.nv-price-tier-switch{display:none}

@media(max-width:760px){
  /* The mobile logo needed lowering after the desktop optical offset. */
  .nv-site-header .nv-brand img{
    transform:translateY(0)!important;
  }

  /* Homepage promise cards: 2 × 2 instead of a long four-card column. */
  #promise.stats2{
    padding-top:48px!important;
    padding-bottom:72px!important;
  }
  #promise .stats2-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
  }
  #promise .s2card{
    min-width:0!important;
    min-height:176px!important;
    padding:18px 15px 19px!important;
    border-radius:15px!important;
  }
  #promise .s2card::after{left:15px!important;right:15px!important}
  #promise .s2top{
    gap:10px!important;
    margin-bottom:14px!important;
  }
  #promise .s2ic{
    width:43px!important;
    height:43px!important;
    flex:0 0 43px!important;
  }
  #promise .s2ic svg{width:21px!important;height:21px!important}
  #promise .s2num{
    font-size:31px!important;
    letter-spacing:-.045em!important;
  }
  #promise .s2num span{font-size:16px!important}
  #promise .s2card h4{
    font-size:13.5px!important;
    line-height:1.25!important;
    margin-bottom:7px!important;
  }
  #promise .s2card p{
    font-size:11.5px!important;
    line-height:1.48!important;
  }

  /* Research statistics: compact editorial rows instead of very tall cards.
     The decorative icon blocks are removed on mobile because they add height
     without adding information. */
  .wm{
    padding-top:44px!important;
    padding-bottom:70px!important;
  }
  .wm-head{margin-bottom:28px!important}
  .wm-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .wm-card{
    display:grid!important;
    grid-template-columns:86px minmax(0,1fr)!important;
    grid-template-areas:
      "num label"
      "num desc"
      "cite cite"!important;
    column-gap:15px!important;
    row-gap:6px!important;
    min-height:0!important;
    padding:19px 18px 16px!important;
    border-radius:15px!important;
  }
  .wm-card .wm-ic{display:none!important}
  .wm-card .wm-num{
    grid-area:num!important;
    align-self:start!important;
    margin:1px 0 0!important;
    font-size:37px!important;
    line-height:.98!important;
  }
  .wm-card .wm-label{
    grid-area:label!important;
    margin:0!important;
    align-self:end!important;
    font-size:10.5px!important;
    line-height:1.35!important;
  }
  .wm-card .wm-desc{
    grid-area:desc!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.48!important;
  }
  .wm-card .wm-cite{
    grid-area: cite!important;
    margin-top:5px!important;
    padding-top:11px!important;
    font-size:10.5px!important;
    line-height:1.35!important;
  }
  .wm-foot{margin-top:30px!important;padding:20px 0!important}

  /* End-to-end project flow: six stages fit into a 3 × 2 grid.
     No horizontal scrolling, no clipped content, and no tiny squeezed strip. */
  .automation-upgrade{
    padding-top:46px!important;
    padding-bottom:72px!important;
  }
  .automation-upgrade .section-head{margin-bottom:24px!important}
  .auto-panel{
    padding:19px 16px 16px!important;
    overflow:hidden!important;
  }
  .auto-status{margin-bottom:17px!important}
  .auto-flow-premium{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    justify-content:stretch!important;
    align-items:start!important;
    gap:18px 7px!important;
    width:100%!important;
    padding:4px 0 17px!important;
    overflow:visible!important;
  }
  .auto-flow-premium::before,
  .auto-flow-premium::after,
  .auto-flow-premium .flow-arrow{display:none!important}
  .auto-flow-premium .flow-node{
    min-width:0!important;
    width:100%!important;
    gap:4px!important;
  }
  .auto-flow-premium .flow-icon{
    width:50px!important;
    height:50px!important;
    border-radius:13px!important;
  }
  .auto-flow-premium .flow-icon svg{width:19px!important;height:19px!important}
  .auto-flow-premium b{
    font-size:11px!important;
    line-height:1.25!important;
    margin-top:3px!important;
    text-align:center!important;
  }
  .auto-flow-premium .flow-node>span:not(.flow-icon){
    font-size:9.5px!important;
    line-height:1.3!important;
    text-align:center!important;
  }
  .team-ready{
    width:100%!important;
    max-width:100%!important;
    margin:2px 0 0!important;
    padding:11px 13px!important;
  }
  .team-ready>span{width:34px!important;height:34px!important;flex:0 0 34px!important}
  .team-ready b{font-size:9.5px!important}
  .team-ready p{font-size:11.5px!important}

  /* Services customer journey: keep all four stages on one clean row. */
  .flow-steps{
    flex-wrap:nowrap!important;
    gap:5px!important;
    margin-top:24px!important;
    width:100%!important;
  }
  .flow-steps span{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:8.5px!important;
    letter-spacing:.055em!important;
  }
  .flow-steps i{
    flex:1 1 10px!important;
    min-width:5px!important;
  }
  .quote-panel:has(.flow-steps){padding-left:18px!important;padding-right:18px!important}

  /* Pricing: one plan at a time on mobile, selected with a compact tier switch.
     This removes several screens of repetitive vertical scrolling. */
  #pricingOptions{padding-top:54px!important;padding-bottom:74px!important}
  #pricingOptions .price-intro{margin-bottom:22px!important}
  #pricingOptions .nv-price-tier-switch{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:4px!important;
    border:1px solid rgba(146,166,224,.13)!important;
    border-radius:14px!important;
    background:rgba(10,12,18,.62)!important;
  }
  #pricingOptions .nv-price-tier-switch button{
    min-width:0!important;
    min-height:39px!important;
    padding:8px 5px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#969dad!important;
    font:650 11px/1.2 'Inter',sans-serif!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #pricingOptions .nv-price-tier-switch button[aria-selected="true"]{
    color:#f5f7ff!important;
    border-color:rgba(126,153,245,.26)!important;
    background:linear-gradient(180deg,rgba(104,132,232,.17),rgba(67,89,169,.08))!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  }
  #pricingOptions [data-price-panel]>.grid.grid-three{
    display:block!important;
  }
  #pricingOptions [data-price-panel] .price-card{
    display:none!important;
    min-height:0!important;
    max-width:100%!important;
    opacity:1!important;
    transform:none!important;
  }
  #pricingOptions [data-price-panel] .price-card.nv-price-card-active{
    display:block!important;
    opacity:1!important;
    transform:none!important;
  }
  #pricingOptions .price-card{padding:24px 20px!important}
  #pricingOptions .price-card .desc{margin-bottom:18px!important}
  #pricingOptions .price-card .check-list{margin-top:19px!important;margin-bottom:22px!important}
  #pricingOptions .price-help{margin-top:18px!important}
}

@media(max-width:350px){
  /* Very narrow fallback: preserve readability over density. */
  #promise .stats2-grid{grid-template-columns:1fr!important}
  #promise .s2card{min-height:0!important}
  .auto-flow-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .flow-steps span{font-size:8px!important;letter-spacing:.035em!important}
}

/* === September 2026 mobile refinement pass 2 ===
   These corrections are intentionally mobile-only. */
@media(max-width:760px){
  /* Research cards: reserve enough width for the large percentage so it can
     never collide with the label/copy beside it. */
  .wm-card{
    grid-template-columns:105px minmax(0,1fr)!important;
    column-gap:13px!important;
  }
  .wm-card .wm-num{
    font-size:34px!important;
    white-space:nowrap!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .wm-card .wm-label{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  /* Remove the oversized dead space between the research quote and How We Work. */
  .wm{padding-bottom:30px!important}
  .wm-foot{margin-top:22px!important;padding:12px 0 0!important}
  .automation-upgrade{padding-top:30px!important}

  /* The source wordmark has transparent padding; nudge the visible mark only
     slightly upward on mobile so it is optically centred in the pill. */
  .nv-site-header .nv-brand img{transform:translateY(-2px)!important}
}


@media(max-width:960px){
  /* When the drawer is open, make the fixed top bar and drawer one continuous
     surface rather than leaving the header translucent over the page. */
  body.nv-menu-open .nv-site-header,
  html.nv-menu-open body .nv-site-header{
    background:#0d1018!important;
    border-bottom-color:rgba(163,181,237,.10)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.nv-menu-open .nv-mobile-menu,
  html.nv-menu-open body .nv-mobile-menu{
    background:#0d1018!important;
    border-top-color:rgba(163,181,237,.10)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

@media(max-width:560px){
  /* Centre the timeline dots exactly on the vertical services rail. */
  .services-process-rework .process-timeline::before{left:12.5px!important}
}

/* === September 2026 mobile refinement pass 3 ===
   Mobile only: continuous project-flow rail + guaranteed solid open-menu header. */
.nv-mobile-flow-svg{display:none}

@media(max-width:760px){
  /* Replace the temporary two-row gradient rails with one continuous path
     that follows the six project stages in their actual sequence. */
  .auto-flow-premium::before,
  .auto-flow-premium::after{display:none!important}
  .auto-flow-premium{position:relative!important}
  .auto-flow-premium .flow-node{position:relative!important;z-index:2!important}
  .nv-mobile-flow-svg{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:1!important;
    overflow:visible!important;
    pointer-events:none!important;
  }
  .nv-mobile-flow-svg .nv-flow-track{
    fill:none!important;
    stroke:rgba(126,169,255,.40)!important;
    stroke-width:1.15!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    vector-effect:non-scaling-stroke;
  }
  .nv-mobile-flow-svg .nv-flow-dot{
    fill:#9ac4ff!important;
    filter:drop-shadow(0 0 5px rgba(118,173,255,.95));
  }
}

@media(max-width:960px){
  /* Keep the complete 70px top strip opaque whenever the mobile drawer is
     open, including after the header has entered its scrolled state. */
  html.nv-menu-open body .nv-site-header,
  html.nv-menu-open body .nv-site-header.nv-scrolled,
  body.nv-menu-open .nv-site-header,
  body.nv-menu-open .nv-site-header.nv-scrolled{
    isolation:isolate!important;
    background:#0d1018!important;
    border-bottom:1px solid rgba(163,181,237,.10)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html.nv-menu-open body .nv-site-header::before,
  body.nv-menu-open .nv-site-header::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:-1!important;
    background:#0d1018!important;
    pointer-events:none!important;
  }
  html.nv-menu-open body .nv-site-nav,
  body.nv-menu-open .nv-site-nav{
    background:transparent!important;
  }
}


/* === September 2026 refinement pass 4 ===
   Mobile metric balance, centre-routed mobile process connectors, and a
   slightly lower homepage hero on desktop and phone. */

/* The homepage composition was sitting a little high in the viewport. */
@media(min-width:961px){
  #top.hero-video .hero-video-copy{
    padding-top:clamp(166px,11vw,178px)!important;
  }
}

@media(max-width:960px){
  #top.hero-video .hero-video-copy{
    padding-top:112px!important;
  }
}

@media(max-width:640px){
  #top.hero-video .hero-video-copy{
    padding-top:116px!important;
  }
}

@media(max-width:760px){
  /* Research cards: make the large figures feel like part of the card rather
     than oversized labels floating beside the copy. */
  .wm-card{
    grid-template-columns:96px minmax(0,1fr)!important;
    column-gap:14px!important;
    row-gap:5px!important;
    padding:20px 18px 16px!important;
    align-items:start!important;
  }
  .wm-card .wm-num{
    align-self:center!important;
    justify-self:start!important;
    margin:0!important;
    padding:0!important;
    font-size:31px!important;
    line-height:.96!important;
    letter-spacing:-.055em!important;
    white-space:nowrap!important;
    font-variant-numeric:tabular-nums lining-nums;
  }
  .wm-card .wm-label{
    align-self:start!important;
    margin:0!important;
    padding-top:1px!important;
    font-size:10px!important;
    line-height:1.32!important;
    letter-spacing:.055em!important;
  }
  .wm-card .wm-desc{
    margin:0!important;
    font-size:11.7px!important;
    line-height:1.46!important;
  }
  .wm-card .wm-cite{
    margin-top:7px!important;
    padding-top:10px!important;
  }
}

@media(max-width:380px){
  .wm-card{
    grid-template-columns:88px minmax(0,1fr)!important;
    column-gap:12px!important;
  }
  .wm-card .wm-num{font-size:29px!important}
  .wm-card .wm-label{font-size:9.5px!important}
  .wm-card .wm-desc{font-size:11.25px!important}
}


/* === September 2026 refinement pass 5 ===
   Mobile-only showcase alignment and a cleaner centre-line project flow. */
@media(max-width:760px){
  /* Centre the Homepage Showcase CTA beneath the centred heading/copy. */
  #nv-homepage-reel .nv-reel-link{
    align-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Keep the progression compact: titles only under each icon. */
  .auto-flow-premium .flow-node > span{
    display:none!important;
  }

  /* The SVG rail is calculated from each icon's true centre. Keep it behind
     the controls so the visible line appears to enter/leave each box midway. */
  .auto-flow-premium .flow-icon{
    position:relative!important;
    z-index:3!important;
  }
  .nv-mobile-flow-svg{
    z-index:1!important;
  }
  .nv-mobile-flow-svg .nv-flow-track{
    stroke:rgba(126,169,255,.46)!important;
    stroke-width:1.2!important;
  }
}


/* === September 2026 mobile refinement pass 6: single centred snake rail === */
@media(max-width:760px){
  /* Explicit mobile positions: top row Discovery / Design / Build,
     bottom row You / Launch / Testing. Desktop DOM/order is untouched. */

  /* Remove every legacy/pseudo rail. Only the SVG path below remains. */
  .auto-flow-premium::before,
  .auto-flow-premium::after,
  .auto-flow-premium .flow-arrow{display:none!important;content:none!important}

  .nv-mobile-flow-svg .nv-flow-track{
    stroke:rgba(47,125,255,.62)!important;
    stroke-width:1.2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .nv-mobile-flow-svg .nv-flow-dot{
    fill:#2F7DFF!important;
    filter:drop-shadow(0 0 4px rgba(47,125,255,.9))!important;
  }
}


/* === September 2026 mobile refinement pass 7: final flow-node placement === */
@media(max-width:760px){
  /* Top row: Discovery / Design / Build. Bottom row: You / Launch / Testing. */
}


/* === Navigation restyle: floating glass pills ===
   Visual styling only. Same two-pill structure, contents, links, order and position
   (pills stay vertically centred where they were). Nothing outside the header is targeted. */

/* Shared glass surface for both pills (all viewports). */
.nv-site-header .nv-main-pill,
.nv-site-header .nv-nav-actions{
  position:relative!important;
  isolation:isolate;
  border:1px solid transparent!important;
  background:
    radial-gradient(120% 140% at 30% -55%,rgba(255,255,255,.19),rgba(255,255,255,0) 60%),
    linear-gradient(180deg,rgba(255,255,255,.085) 0%,rgba(255,255,255,.035) 50%,rgba(255,255,255,.02) 100%),
    rgba(30,32,40,.40)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 10px 16px -14px rgba(255,255,255,.14),
    0 14px 30px -12px rgba(0,0,0,.62),
    0 3px 10px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(12px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(125%)!important;
}
/* Edge light: brightest along the top (strongest upper-left/middle), fading down the sides, barely there at the bottom. */
.nv-site-header .nv-main-pill::before,
.nv-site-header .nv-nav-actions::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  padding:1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(70% 120% at 32% 0%,rgba(255,255,255,.62),rgba(255,255,255,0) 64%),
    linear-gradient(180deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.10) 36%,rgba(255,255,255,.045) 70%,rgba(255,255,255,.06) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
}

/* Desktop & laptop: smaller, tighter footprint. */
@media(min-width:961px){
  .nv-site-header .nv-site-nav{gap:11px!important;width:auto!important;max-width:calc(100% - 44px)!important}
  .nv-site-header .nv-main-pill,
  .nv-site-header .nv-nav-actions{height:54px!important;flex:0 0 auto!important}
  .nv-site-header .nv-main-pill{padding:0 5px 0 0!important}

  .nv-site-header .nv-brand{width:auto!important;min-width:0!important;height:52px!important;padding:0 21px 0 24px!important}
  .nv-site-header .nv-brand img{width:114px!important;max-width:114px!important;height:auto!important;transform:translateY(-2px)!important}
  .nv-site-header .nv-brand::after{top:16px!important;bottom:16px!important;background:linear-gradient(180deg,transparent,rgba(190,200,230,.16),transparent)!important}

  .nv-site-header .nv-primary-nav{flex:0 0 auto!important;justify-content:center!important;padding:0 0 0 6px!important;gap:0!important}
  .nv-site-header .nv-primary-nav a{min-height:36px!important;height:36px!important;padding:0 12px!important;font-size:12px!important;letter-spacing:.005em}
  .nv-site-header .nv-primary-nav a::after{bottom:4px!important}
  .nv-site-header .nv-nav-indicator{
    top:8px!important;
    height:36px!important;
    background:linear-gradient(180deg,rgba(160,176,222,.19),rgba(116,130,176,.09))!important;
    border:1px solid rgba(178,192,232,.07)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 14px rgba(20,28,60,.18)!important;
  }

  .nv-site-header .nv-nav-actions{padding:0 5px!important;gap:2px!important}
  .nv-site-header .nv-nav-cta{flex:0 0 auto!important;min-height:42px!important;height:42px!important;padding:0 16px!important;gap:9px!important;font-size:12px!important}
  .nv-site-header .nv-nav-cta svg{width:12px!important;height:12px!important}
  .nv-site-header .nv-icon-button{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}
  .nv-site-header .nv-icon-button svg{width:17px!important;height:17px!important}
  .nv-site-header .nv-search-button{margin-left:5px!important}
  .nv-site-header .nv-search-button::before{left:-4px!important;top:13px!important;bottom:13px!important;background:linear-gradient(180deg,transparent,rgba(190,200,230,.16),transparent)!important}
}
@media(max-width:1100px) and (min-width:961px){
  .nv-site-header .nv-brand{padding:0 18px 0 21px!important}
  .nv-site-header .nv-brand img{width:108px!important;max-width:108px!important}
  .nv-site-header .nv-primary-nav a{padding:0 10px!important;font-size:12px!important}
  .nv-site-header .nv-nav-cta{padding:0 14px!important}
}

/* Mobile menu icon: three identical bars on whole pixels so they render at an even thickness. */
.nv-site-header .nv-menu-toggle .nv-menu-bars{display:flex!important;flex-direction:column!important;gap:4px!important;width:18px!important;height:14px!important;margin:auto!important;align-self:center!important;justify-self:center!important}
.nv-site-header .nv-menu-toggle .nv-menu-bars i{flex:none!important;width:18px!important;height:2px!important;border-radius:2px!important}
.nv-site-header .nv-menu-toggle[aria-expanded="true"] .nv-menu-bars i:nth-child(1){transform:translateY(6px) rotate(45deg)!important}
.nv-site-header .nv-menu-toggle[aria-expanded="true"] .nv-menu-bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important}

/* Keep the existing accessibility fallbacks for the new glass surface. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nv-site-header .nv-main-pill,
  .nv-site-header .nv-nav-actions{background:rgba(14,16,24,.90)!important}
}
@media(prefers-reduced-transparency:reduce){
  .nv-site-header .nv-main-pill,.nv-site-header .nv-nav-actions{background:#0b0d13!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

/* Mobile/tablet: the auto-hide slide uses an even ease on the way out, so it reads as a slide on touch
   scrolling instead of snapping away. Showing keeps the original ease. Kept on its own compositor layer for iOS. */
@media (max-width:960px) and (prefers-reduced-motion:no-preference){
  .nv-site-header,
  body.nv-landscape-page > .nv-site-header{-webkit-backface-visibility:hidden;backface-visibility:hidden}
  .nv-site-header.nv-header-hidden,
  body.nv-landscape-page > .nv-site-header.nv-header-hidden{transition:transform .46s cubic-bezier(.45,0,.25,1)!important}
}
