/* NRV mobile premium v2 — screenshot-driven corrections */

/* FAQ should open like a premium accordion instead of snapping display:none/block. */
.faq-a{display:block!important;max-height:0;opacity:0;overflow:hidden;padding-top:0!important;padding-bottom:0!important;transition:max-height .34s cubic-bezier(.22,.78,.2,1),opacity .22s ease,padding .28s ease,border-color .22s ease!important}
.faq-item.open .faq-a{max-height:420px;opacity:1;padding-bottom:22px!important}
.faq-item.open .faq-q{color:#fff}

@media(max-width:768px){
  /* Screenshot audit 2026-09-15: the floating header was repeatedly covering
     headings/cards while reading. On phones the header now participates in
     normal document flow and never masks page content. */
  .header{position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;will-change:auto!important;transition:none!important}
  .header.nrv-header-hidden,.header.nrv-header-visible,body.nrv-menu-open .header{transform:none!important}

  /* One stable logo geometry on every mobile page. */
  .header .wrap.nav{overflow:hidden!important}
  .header .brand{display:flex!important;align-items:center!important;height:56px!important;overflow:visible!important}
  .header .wrap.nav .brand>img.brand-logo-img{display:block!important;width:110px!important;height:auto!important;min-width:110px!important;max-width:110px!important;max-height:46px!important;object-fit:contain!important;object-position:left center!important}

  /* Header is now in flow, so internal pages need no compensating offset. */
  .inner-main{padding-top:0!important}
  .inner-main>.inner-hero:first-child{padding-top:28px!important}
  .inner-main>.inner-hero:first-child .wrap{padding-top:4px!important}
  .inner-hero h1{max-width:12.5ch;text-wrap:balance!important}
  .inner-hero p{max-width:38ch}

  /* Tighter premium rhythm on mobile. */
  .section,.inner-section{padding-top:30px!important;padding-bottom:30px!important}
  .service-grid,.solution-grid,.proof-grid,.about-values,.contact-grid,.released-grid,.lab-grid,.problems-grid,.project-grid,.process-grid{gap:11px!important}
  .service-card,.solution-card,.project-card,.released-card,.lab-card,.contact-card,.proof-card,.value-card,.problem-card,.faq-start article{padding:17px!important}
  .service-card p,.solution-card p,.project-card p,.released-card p,.lab-card p,.contact-card p,.proof-card p,.value-card p,.problem-card span{font-size:15px!important;line-height:1.50!important}
  .project-card h3,.released-card h3,.lab-card h3,.contact-card strong{font-size:25px!important}
  .service-card h3,.solution-card h3{font-size:21px!important}

  .service-card,.solution-card,.project-card,.released-card,.lab-card,.contact-card,.problem-card,.value-card,.proof-card{transform:translateZ(0);backface-visibility:hidden}
  .service-card:active,.solution-card:active,.project-card:active,.released-card:active,.lab-card:active,.contact-card:active,.problem-card:active{transform:scale(.992)!important;border-color:rgba(255,128,42,.34)!important;box-shadow:0 12px 34px rgba(0,0,0,.30)!important}

  .process-card{padding:16px 14px 16px 28px!important}
  .process-card h3{font-size:20px!important;margin:20px 0 5px!important}
  .process-card p{font-size:14.5px!important;line-height:1.48!important}

  .core-panel{padding:20px 17px!important}
  .core-panel h2{font-size:29px!important;line-height:1.04!important}
  .core-panel p{font-size:15px!important}
  .ai-input input{width:100%!important;min-width:0!important;font-size:16px!important;text-overflow:ellipsis}
  .ai-answer{min-height:0!important;font-size:15px!important;line-height:1.48!important}

  /* Footer logo must never collapse to the old 32px/tiny state. */
  footer .footer-grid,.page-footer .footer-grid{gap:14px!important}
  .footer-nav,.page-footer nav{gap:9px 15px!important;font-size:14px!important}
  footer .footer-grid .brand>img.brand-logo-img,.page-footer .footer-grid .brand>img.brand-logo-img{display:block!important;width:112px!important;height:auto!important;min-width:112px!important;max-width:112px!important;min-height:0!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important}
  footer .brand>span,.page-footer .brand>span{display:none!important}

  .project-toolbar,.tech-marquee{max-width:100vw!important}
  .project-toolbar{scroll-snap-type:x proximity}
  .project-toolbar .tab{scroll-snap-align:start}
  .faq-item.open .faq-a{padding-bottom:16px!important}
}

@media(max-width:420px){
  .inner-hero h1{font-size:34px!important}
  .hero h1{font-size:35px!important}
  .section-head h2,.inner-head h2{font-size:29px!important}
  .core-panel h2{font-size:28px!important}
}

@media(prefers-reduced-motion:reduce){.faq-a{transition:none!important}}
