/* Shared NRV shell. Loaded last on every page; no runtime CSS injection. */
:root{--nrv-header-offset:76px;--nrv-hero-gap:64px;--nrv-content-width:1180px}
html{scroll-padding-top:100px}body{min-width:320px}[hidden]{display:none!important}button,input{font:inherit}button{cursor:pointer}img{max-width:100%}
.wrap{width:min(var(--nrv-content-width),calc(100% - 36px));margin-inline:auto}
.hero-grid>*,.inner-grid>*,.section-head>*,.inner-head>*,.core-panel>*,.footer-grid>*{min-width:0}
.header{top:14px}.header .wrap.nav{width:min(var(--nrv-content-width),calc(100% - 36px));height:62px;margin-inline:auto;gap:20px}
.header .brand{flex:0 0 118px;height:44px}.header .brand>img.brand-logo-img{display:block;width:118px;height:44px;object-fit:contain}.header .brand>span{display:none}
.header .desktop{gap:18px;margin-left:auto;height:100%}.header .desktop a{position:relative;display:flex;align-items:center;min-height:44px;height:100%;white-space:nowrap;font-size:13px;color:#b5beca}
.header .desktop a.active{color:#fff}.header .desktop a.active::after{position:absolute;left:0;right:0;bottom:10px;margin:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#ff6a00,transparent)}
.header .nav-cta{flex-shrink:0;min-height:44px;white-space:nowrap}.header .menu{width:44px;height:44px;flex-shrink:0}
#mobile-nav,#mobile-nav.open{display:none!important}
.header a:focus-visible,.header button:focus-visible{outline:2px solid #ffae73;outline-offset:3px}
main.inner-main{padding-top:0!important}
main>.hero:first-child,main.inner-main>.inner-hero:first-child{min-height:0;padding-top:calc(var(--nrv-header-offset) + var(--nrv-hero-gap))!important;padding-bottom:52px!important}
main>.hero:first-child .eyebrow,main>.inner-hero:first-child .kicker{margin-top:0}
main .hero h1,main .inner-hero h1{max-width:1050px;line-height:1.08;overflow-wrap:break-word;font-size:clamp(42px,5.25vw,72px)}
main .hero p,main .inner-hero p{max-width:740px}
main .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
main .project-grid,main .lab-grid,main .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
main .proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}main .about-values{grid-template-columns:repeat(4,minmax(0,1fr))}
main .service-card,main .project-card,main .lab-card,main .contact-card,main .value-card,main .proof-card{min-width:0}
main .project-toolbar{flex-wrap:wrap!important;overflow:visible!important}main .project-toolbar .tab{min-height:44px}
main .service-icon{width:76px;height:56px;background:#0c1626;border-radius:12px;overflow:hidden}
main .service-icon img{width:100%;height:100%;filter:none;object-fit:cover}main .cap-art img{filter:none;opacity:1}
main .tree-icon{width:58px;height:48px;overflow:hidden;border-color:#34445a;background:#0c1626;border-radius:10px;box-shadow:none}
main .tree-icon img{width:100%;height:100%;object-fit:cover}
main .tree-node{grid-template-columns:58px minmax(0,1fr);column-gap:12px}
main .tree-node>span:not(.tree-icon){overflow-wrap:normal;hyphens:auto;font-size:17px}main .tree-node:nth-of-type(5)>span:not(.tree-icon){font-size:17px}
main .contact-card .contact-icon.telegram{background:#229ed9!important;color:#fff}main .contact-card .contact-icon.whatsapp{background:#25d366!important;color:#fff}
main .contact-card .contact-icon.max{background:linear-gradient(145deg,#6b55ff,#168dff)!important;color:#fff}main .contact-card .contact-icon.phone{background:#ff6a00!important;color:#101010}
main .faq-item.open .faq-a{max-height:none;visibility:visible}main .faq-a[aria-hidden=true]{visibility:hidden}
main [id]{scroll-margin-top:100px}
footer .footer-grid{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:28px;align-items:center}
footer .brand>img.brand-logo-img{display:block;width:118px;height:44px;max-height:none;object-fit:contain}footer .brand>span{display:none}
footer nav.footer-nav{display:flex;flex-wrap:wrap;gap:4px 18px!important;font-size:13px;line-height:1.5}footer nav a{display:inline-flex;align-items:center;min-height:44px}
footer nav a[aria-current=page]{color:#ff9a3c}footer .footer-grid>span{font-size:13px;white-space:nowrap}
@media(max-width:1100px){
:root{--nrv-header-offset:0px;--nrv-hero-gap:40px}
.header{position:relative!important;inset:auto!important;transform:none!important;padding:8px 0!important;z-index:100!important;background:#05070a!important}
.header .desktop,.header .nav-cta{display:none!important}.header .menu{display:block!important;margin-left:auto!important}
#mobile-nav.open:not([hidden]){display:flex!important;position:absolute!important;top:calc(100% + 4px)!important;left:18px!important;right:18px!important;width:auto!important;max-width:1180px!important;max-height:min(560px,calc(100dvh - 96px))!important;margin:0 auto!important;padding:8px!important;flex-direction:column!important;gap:2px!important;overflow-y:auto!important;overscroll-behavior:contain;border:1px solid #33404e!important;border-radius:16px!important;background:#090e14!important;box-shadow:0 24px 60px #0009!important;z-index:101!important}
#mobile-nav a{display:flex!important;justify-content:flex-start!important;align-items:center!important;min-height:46px!important;padding:10px 16px!important;border-radius:10px!important;font-size:15px!important;text-align:left!important;color:#c3cbd5!important}
#mobile-nav a.active{order:0!important;color:#ffa05b!important;background:#ff6a0017!important;font-weight:700}#mobile-nav a::before,#mobile-nav a::after{content:none!important}
.header .wrap.nav{overflow:visible!important}main .service-grid,main .about-values{grid-template-columns:repeat(2,minmax(0,1fr))}
footer .footer-grid{grid-template-columns:118px minmax(0,1fr)}footer .footer-grid>span{grid-column:2}
html{scroll-padding-top:24px!important}main [id],main section{scroll-margin-top:24px!important}
}
@media(max-width:768px){
:root{--nrv-hero-gap:32px}
.header .wrap.nav{width:calc(100% - 24px)!important;height:64px!important;margin:0 auto!important;padding-inline:16px!important}
.header .wrap.nav .brand>img.brand-logo-img{width:110px!important;min-width:110px!important;max-width:110px!important;height:42px!important;max-height:42px!important}
#mobile-nav.open:not([hidden]){left:12px!important;right:12px!important}
main .wrap,footer .wrap{width:auto!important;margin-inline:16px!important}
main>.hero:first-child,main.inner-main>.inner-hero:first-child{padding-bottom:30px!important}.inner-main>.inner-hero:first-child .wrap{padding-top:0!important}
main .hero h1,main .inner-hero h1{max-width:none;font-size:clamp(30px,8vw,42px)!important;line-height:1.1!important;letter-spacing:-.035em!important;text-wrap:initial!important}
main .hero p,main .inner-hero p{font-size:16px!important;line-height:1.6!important}
main .section-head h2,main .inner-head h2,main .system-block h2{font-size:clamp(28px,7.5vw,34px)!important;line-height:1.15!important;overflow-wrap:break-word}
main .service-grid,main .project-grid,main .lab-grid,main .contact-grid,main .proof-grid,main .about-values{grid-template-columns:minmax(0,1fr)!important}
main .service-icon{width:76px!important;height:52px!important}main .service-icon img{width:100%!important;height:100%!important}
main .tree-node{width:min(166px,45%);height:88px;grid-template-columns:36px minmax(0,1fr);padding:10px;column-gap:7px}
main .tree-icon{width:36px;height:36px;border-radius:8px}main .tree-node>span:not(.tree-icon){font-size:12px;line-height:1.2}main .tree-node:nth-of-type(5)>span:not(.tree-icon){font-size:12px}main .tree-node small{font-size:10px;line-height:1.3}
footer .footer-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}footer .footer-grid>span{grid-column:1}
footer .footer-grid .brand>img.brand-logo-img{width:110px!important;min-width:110px!important;max-width:110px!important;height:42px!important}
footer nav.footer-nav{gap:2px 16px!important;font-size:14px!important}main .ai-input input{font-size:16px!important}
}
@media(min-width:641px) and (max-width:768px){main .tree-node{width:220px;height:104px;grid-template-columns:48px minmax(0,1fr)}main .tree-icon{width:48px;height:44px}main .tree-node>span:not(.tree-icon){font-size:16px}main .tree-node:nth-of-type(5)>span:not(.tree-icon){font-size:14px}}
@media(prefers-reduced-motion:reduce){.header .brand-logo-img{animation:none!important;transform:none!important}}
@media(max-width:360px){main .tree-node{grid-template-columns:30px minmax(0,1fr);padding:10px 8px;column-gap:6px}main .tree-icon{width:30px;height:32px}}
