/* DVIIOS COMPACT MASTER V25.0
   Layout aprovado: mais suave, mais compacto, mais legível.
   Esta folha é carregada por último e não altera regras de negócio.
*/

:root{
  --dvi-v25-shell:1120px;
  --dvi-v25-radius:14px;
  --dvi-v25-line:#e2e6ec;
  --dvi-v25-off:#f7f8fa;
  --dvi-v25-shadow:0 10px 28px rgba(18,25,38,.055);
  --dvi-v25-flow:#18A654;
  --dvi-v25-pulse:#7CFF00;
}

html{
  scroll-padding-top:70px!important;
}

body{
  text-rendering:optimizeLegibility;
}

/* --------------------------------------------------------------
   STRUCTURE / SHARED WIDTHS
-------------------------------------------------------------- */
.dh21-container,
.nxp-shell,
.flow-shell,
.vt-shell,
.pl-shell{
  width:min(var(--dvi-v25-shell),calc(100% - 40px))!important;
}

.dh21-card,
.nxp-hero__panel,
.nxp-business,
.nxp-remote__grid,
.nxp-implementation__panel,
.flow-hero__panel,
.flow-followup__grid,
.flow-pillar,
.flow-team__grid,
.flow-segment,
.flow-implementation__panel,
.vt-hero__panel,
.vt-business,
.vt-showcase__grid,
.pl-hero__panel,
.pl-control__grid,
.pl-business,
.pl-independent__panel,
.dvi-plans-v15__card,
.dvi-plans-v15__foot{
  border-radius:var(--dvi-v25-radius)!important;
  box-shadow:none!important;
}

/* --------------------------------------------------------------
   HEADERS
-------------------------------------------------------------- */
.dh21-header,
.nxp-header,
.flow-header,
.vt-header,
.pl-header{
  background:#050607!important;
  border-bottom-width:2px!important;
  box-shadow:none!important;
}

.dh21-header__inner,
.nxp-header__inner,
.flow-header__inner,
.vt-header__inner,
.pl-header__inner{
  min-height:64px!important;
  gap:15px!important;
}

.dh21-brand{
  width:205px!important;
}

.nxp-brand,
.flow-brand,
.vt-brand,
.pl-brand{
  min-width:0!important;
  height:36px!important;
}

.nxp-brand img,
.flow-brand img,
.vt-brand img,
.pl-brand img,
.dvi-v23-product-logo{
  display:block!important;
  width:auto!important;
  height:34px!important;
  max-width:235px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.dh21-nav,
.nxp-nav,
.flow-nav,
.vt-nav,
.pl-nav{
  gap:3px!important;
}

.dh21-nav a,
.nxp-nav a,
.flow-nav a,
.vt-nav a,
.pl-nav a{
  min-height:36px!important;
  padding-inline:9px!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
}

.dh21-button,
.nxp-button,
.flow-button,
.vt-button,
.pl-button{
  min-height:43px!important;
  padding-inline:17px!important;
  border-radius:9px!important;
  font-size:12px!important;
}

.dh21-button--header,
.nxp-button--header,
.flow-button--header,
.vt-button--header,
.pl-button--header{
  min-height:39px!important;
  padding-inline:14px!important;
}

/* --------------------------------------------------------------
   HOMEPAGE
-------------------------------------------------------------- */
.dh21-hero{
  padding:17px 0 0!important;
}

.dh21-hero__grid{
  grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr)!important;
  min-height:405px!important;
  border-radius:16px!important;
}

.dh21-hero__copy{
  padding:36px 38px!important;
}

.dh21-eyebrow{
  margin-bottom:12px!important;
  font-size:11px!important;
}

.dh21-hero h1{
  max-width:600px!important;
  margin-bottom:16px!important;
  font-size:clamp(2.65rem,4.6vw,3.95rem)!important;
  line-height:1.01!important;
  letter-spacing:-.052em!important;
}

.dh21-hero p{
  max-width:560px!important;
  font-size:15px!important;
  line-height:1.56!important;
}

.dh21-hero__actions{
  gap:10px!important;
  margin-top:21px!important;
}

.dh21-hero__media{
  min-height:405px!important;
  max-height:405px!important;
}

.dh21-summary{
  padding-top:16px!important;
}

.dh21-summary__item{
  gap:11px!important;
  min-height:78px!important;
  padding:14px 15px!important;
}

.dh21-summary__item>svg{
  width:22px!important;
  height:22px!important;
}

.dh21-summary__item h2{
  margin-bottom:3px!important;
  font-size:13px!important;
}

.dh21-summary__item p{
  font-size:11px!important;
}

.dh21-products,
.dh21-segments,
.dh21-controls,
.dh21-help,
.dh21-cta{
  padding-top:48px!important;
}

.dh21-section-head{
  margin-bottom:20px!important;
}

.dh21-section-head h2{
  font-size:clamp(1.65rem,2.8vw,2.25rem)!important;
}

.dh21-section-head p{
  font-size:14px!important;
}

.dh21-products__grid{
  gap:13px!important;
}

.dh21-card--product{
  min-height:258px!important;
  padding:0 18px 19px!important;
}

.dh21-card__topline{
  height:3px!important;
  margin:0 -18px 14px!important;
}

.dh21-card--pulso .dh21-card__topline{
  background:var(--dvi-v25-pulse)!important;
}

.dh21-product-head{
  min-height:48px!important;
  margin-bottom:10px!important;
}

.dh21-product-logo{
  max-height:35px!important;
}

.dh21-product-icon{
  width:34px!important;
  height:34px!important;
  flex-basis:34px!important;
}

.dh21-product-icon svg{
  width:25px!important;
  height:25px!important;
}

.dh21-card--pulso .dh21-product-icon{
  color:#62c900!important;
}

.dh21-card--product h3{
  margin-bottom:9px!important;
  font-size:15px!important;
}

.dh21-card--product ul{
  margin-bottom:15px!important;
  font-size:12px!important;
}

.dh21-card--product li+li{
  margin-top:5px!important;
}

.dh21-card--product>a{
  font-size:11px!important;
}

.dh21-segments__grid{
  gap:12px!important;
}

.dh21-card--segment img{
  aspect-ratio:16/10!important;
}

.dh21-card--segment h3{
  padding:11px 9px 12px!important;
  font-size:12px!important;
}

.dh21-card--mini{
  min-height:108px!important;
  padding:15px 13px!important;
}

.dh21-card--help{
  min-height:112px!important;
  padding:16px!important;
}

.dh21-cta__inner{
  padding:20px 22px!important;
}

/* --------------------------------------------------------------
   PRODUCT HEROES
-------------------------------------------------------------- */
.nxp-hero,
.flow-hero,
.vt-hero,
.pl-hero{
  padding:14px 0 46px!important;
}

.nxp-hero__panel,
.flow-hero__panel,
.vt-hero__panel,
.pl-hero__panel{
  grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr)!important;
  min-height:405px!important;
  border-radius:16px!important;
}

.nxp-hero__copy,
.flow-hero__copy,
.vt-hero__copy,
.pl-hero__copy{
  padding:38px 40px 34px!important;
}

.nxp-eyebrow,
.nxp-kicker,
.flow-eyebrow,
.flow-kicker,
.vt-eyebrow,
.vt-kicker,
.pl-eyebrow,
.pl-kicker{
  font-size:9px!important;
  letter-spacing:.1em!important;
}

.nxp-hero h1,
.flow-hero h1,
.vt-hero h1,
.pl-hero h1{
  max-width:650px!important;
  margin:13px 0 14px!important;
  font-size:clamp(2.45rem,4.1vw,3.45rem)!important;
  line-height:1.025!important;
}

.nxp-hero__copy>p,
.flow-hero__copy>p,
.vt-hero__copy>p,
.pl-hero__copy>p{
  max-width:580px!important;
  font-size:14px!important;
  line-height:1.6!important;
}

.nxp-actions,
.flow-actions,
.vt-actions,
.pl-actions{
  gap:9px!important;
  margin-top:20px!important;
}

.nxp-hero__support,
.flow-hero__support,
.vt-hero__support,
.pl-hero__support{
  margin-top:13px!important;
  font-size:10px!important;
}

.nxp-hero__media,
.flow-hero__media,
.vt-hero__media,
.pl-hero__media{
  min-height:405px!important;
  max-height:405px!important;
}

.nxp-hero__media img,
.flow-hero__media img,
.vt-hero__media img,
.pl-hero__media>img{
  transform:none!important;
}

/* Needs / quick value bars */
.nxp-need,
.flow-needs article,
.vt-needs article,
.pl-needs article{
  min-height:78px!important;
  gap:10px!important;
  padding:14px!important;
}

.nxp-need__icon,
.flow-needs svg,
.vt-needs svg,
.pl-needs svg{
  width:31px!important;
  height:31px!important;
}

.nxp-need strong,
.flow-needs strong,
.vt-needs strong,
.pl-needs strong{
  font-size:11px!important;
}

.nxp-need p,
.flow-needs p,
.vt-needs p,
.pl-needs p{
  font-size:9.5px!important;
}

/* --------------------------------------------------------------
   SECTION SCALE
-------------------------------------------------------------- */
.nxp-organize,
.nxp-businesses,
.nxp-process,
.nxp-remote,
.nxp-implementation,
.flow-solution,
.flow-followup,
.flow-pillars,
.flow-team,
.flow-segments,
.flow-implementation,
.vt-section,
.vt-showcase,
.vt-businesses,
.vt-independent,
.pl-section,
.pl-control,
.pl-businesses,
.pl-independent,
.pl-night{
  padding-top:58px!important;
  padding-bottom:58px!important;
}

.nxp-section-head,
.flow-section-head,
.vt-section-head,
.pl-section-head{
  margin-bottom:24px!important;
}

.nxp-section-head h2,
.flow-section-head h2,
.vt-section-head h2,
.pl-section-head h2,
.nxp-remote h2,
.flow-followup h2,
.flow-team h2,
.vt-showcase h2,
.pl-control h2{
  font-size:clamp(1.9rem,3.3vw,2.75rem)!important;
}

.nxp-section-head p,
.flow-section-head p,
.vt-section-head p,
.pl-section-head p,
.nxp-remote p,
.flow-followup__copy>p,
.flow-team__copy>p{
  font-size:13px!important;
  line-height:1.62!important;
}

/* Operational cards */
.nxp-organize__item,
.flow-solution__grid article{
  min-height:178px!important;
  padding:19px 17px!important;
}

.nxp-organize__icon,
.flow-solution__grid article>span{
  width:36px!important;
  height:36px!important;
  margin-bottom:16px!important;
}

.nxp-organize h3,
.flow-solution__grid h3{
  font-size:14px!important;
}

.nxp-organize__item p,
.flow-solution__grid p{
  font-size:10.5px!important;
}

/* Image mosaics */
.nxp-businesses__grid,
.flow-segments__grid,
.vt-businesses__grid,
.pl-businesses__grid{
  grid-auto-rows:185px!important;
  gap:11px!important;
}

.nxp-business,
.flow-segment,
.vt-business,
.pl-business{
  border-radius:13px!important;
}

.nxp-business:hover img,
.flow-segment:hover img,
.vt-business:hover img,
.pl-business:hover img{
  transform:none!important;
}

.nxp-business__caption,
.flow-segment div,
.vt-business>div,
.pl-business>div{
  left:17px!important;
  right:17px!important;
  bottom:15px!important;
}

.nxp-business h3,
.flow-segment h3,
.vt-business h3,
.pl-business h3{
  font-size:18px!important;
}

/* Split image / copy sections */
.nxp-remote__media,
.flow-followup__media,
.flow-team__media,
.vt-showcase__media,
.pl-control__media{
  min-height:380px!important;
  max-height:420px!important;
}

.nxp-remote__copy,
.flow-followup__copy,
.flow-team__copy,
.vt-showcase__copy,
.pl-control__copy{
  padding:40px!important;
}

.flow-pillar img{
  height:210px!important;
}

.flow-pillar>div{
  padding:18px!important;
}

.flow-pillar h3{
  font-size:18px!important;
}

/* --------------------------------------------------------------
   PULSE — WHITE / BLACK / NEON GREEN
-------------------------------------------------------------- */
body:has(.pl-header){
  background:#fff!important;
}

.pl-header{
  border-bottom-color:var(--dvi-v25-pulse)!important;
}

.pl-hero{
  background:#fff!important;
}

.pl-hero__panel{
  border-color:#dce5d7!important;
  border-top-color:var(--dvi-v25-pulse)!important;
  background:#fff!important;
}

.pl-hero__copy{
  background:#fff!important;
}

.pl-hero h1{
  color:#101411!important;
}

.pl-hero h1 em,
.pl-kicker,
.pl-eyebrow{
  color:#61c900!important;
}

.pl-hero__copy>p{
  color:#59635d!important;
}

.pl-hero__media{
  border-left-color:#dce5d7!important;
  background:#070908!important;
}

.pl-hero__media::before{
  background:var(--dvi-v25-pulse)!important;
}

.pl-button--primary{
  border-color:#101411!important;
  background:#101411!important;
  color:#fff!important;
}

.pl-button--outline{
  border-color:#89938c!important;
  background:#fff!important;
  color:#101411!important;
}

.pl-section,
.pl-control,
.pl-businesses,
.pl-independent{
  background:#fff!important;
}

.pl-night{
  background:#080a09!important;
}

.pl-header__actions .pl-button{
  border-color:var(--dvi-v25-pulse)!important;
}

.pl-header__actions .pl-button:hover{
  background:rgba(124,255,0,.1)!important;
}

/* --------------------------------------------------------------
   FLOW COLOR
-------------------------------------------------------------- */
body:has(.flow-header){
  --fl-green:var(--dvi-v25-flow)!important;
  --fl-green-dark:#128445!important;
  --fl-green-soft:#eaf7ef!important;
  --fl-green-faint:#f5fbf7!important;
}

.flow-header{
  border-bottom-color:var(--dvi-v25-flow)!important;
}

/* --------------------------------------------------------------
   PLANS
-------------------------------------------------------------- */
.dvi-plans-v15{
  padding:48px 20px!important;
}

.dvi-plans-v15__shell{
  width:min(1080px,100%)!important;
}

.dvi-plans-v15__head{
  margin-bottom:22px!important;
  grid-template-columns:minmax(0,1fr) minmax(230px,330px)!important;
  gap:38px!important;
}

.dvi-plans-v15__head h2{
  margin:9px 0 10px!important;
  font-size:clamp(2rem,3.7vw,2.8rem)!important;
  line-height:1.03!important;
}

.dvi-plans-v15__head aside{
  padding:13px 15px!important;
}

.dvi-plans-v15__grid{
  gap:11px!important;
}

.dvi-plans-v15__card{
  padding:21px 19px 18px!important;
  border-top-width:3px!important;
}

.dvi-plans-v15__card.is-featured{
  transform:translateY(-4px)!important;
}

.dvi-plans-v15__featured{
  top:-13px!important;
  padding:5px 9px!important;
}

.dvi-plans-v15__card-head h3{
  margin:6px 0!important;
  font-size:20px!important;
}

.dvi-plans-v15__card-head p{
  min-height:47px!important;
  font-size:9px!important;
}

.dvi-plans-v15__price{
  margin:15px 0 7px!important;
}

.dvi-plans-v15__price strong{
  font-size:34px!important;
}

.dvi-plans-v15__users{
  min-height:38px!important;
  padding:8px 10px!important;
}

.dvi-plans-v15__users b{
  font-size:19px!important;
}

.dvi-plans-v15__card ul{
  margin:14px 0!important;
  padding:14px 0!important;
  gap:7px!important;
}

.dvi-plans-v15__card li{
  font-size:9px!important;
}

.dvi-plans-v15__button{
  min-height:42px!important;
}

.dvi-plans-v15__foot{
  margin-top:16px!important;
  padding:13px 15px!important;
}

/* --------------------------------------------------------------
   AUTH / CHECKOUT / INTERNAL SYSTEMS
-------------------------------------------------------------- */
.dvi-access-head-v16{
  min-height:64px!important;
}

.dvi-access-stage-v16{
  padding:18px!important;
}

.dvi-commercial__header{
  min-height:64px!important;
}

.dvi-commercial__main{
  padding-top:22px!important;
  padding-bottom:22px!important;
}

.dvi-shell__workspace,
.control-workspace{
  gap:14px!important;
}

.dvi-shell__page,
.control-main{
  padding:18px!important;
}

.control-footer{
  padding-block:12px!important;
}

.control-card,
.control-panel,
.control-table-wrap,
.dvi-card,
.dvi-panel{
  border-radius:12px!important;
  box-shadow:none!important;
}

/* --------------------------------------------------------------
   FOOTERS
-------------------------------------------------------------- */
.dh21-footer,
.nxp-footer,
.flow-footer,
.vt-footer,
.pl-footer{
  margin-top:42px!important;
  padding:35px 0 18px!important;
}

.nxp-footer__grid,
.flow-footer__grid,
.vt-footer__grid,
.pl-footer__grid{
  gap:32px!important;
}

.nxp-footer__brand img,
.flow-footer__brand img,
.vt-footer__brand img,
.pl-footer__brand img{
  width:min(245px,100%)!important;
}

/* --------------------------------------------------------------
   RESPONSIVE
-------------------------------------------------------------- */
@media(max-width:940px){
  .dh21-container,
  .nxp-shell,
  .flow-shell,
  .vt-shell,
  .pl-shell{
    width:min(720px,calc(100% - 30px))!important;
  }

  .dh21-hero__grid,
  .nxp-hero__panel,
  .flow-hero__panel,
  .vt-hero__panel,
  .pl-hero__panel{
    grid-template-columns:1fr!important;
  }

  .dh21-hero__media,
  .nxp-hero__media,
  .flow-hero__media,
  .vt-hero__media,
  .pl-hero__media{
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
  }

  .dh21-products__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .nxp-businesses__grid,
  .flow-segments__grid,
  .vt-businesses__grid,
  .pl-businesses__grid{
    grid-auto-rows:210px!important;
  }
}

@media(max-width:640px){
  .dh21-container,
  .nxp-shell,
  .flow-shell,
  .vt-shell,
  .pl-shell{
    width:calc(100% - 24px)!important;
  }

  .dh21-header__inner,
  .nxp-header__inner,
  .flow-header__inner,
  .vt-header__inner,
  .pl-header__inner{
    min-height:62px!important;
  }

  .dh21-brand{
    width:175px!important;
  }

  .nxp-brand img,
  .flow-brand img,
  .vt-brand img,
  .pl-brand img,
  .dvi-v23-product-logo{
    height:29px!important;
    max-width:205px!important;
  }

  .dh21-hero__copy,
  .nxp-hero__copy,
  .flow-hero__copy,
  .vt-hero__copy,
  .pl-hero__copy{
    padding:28px 21px!important;
  }

  .dh21-hero h1,
  .nxp-hero h1,
  .flow-hero h1,
  .vt-hero h1,
  .pl-hero h1{
    font-size:clamp(2.2rem,11vw,3rem)!important;
  }

  .dh21-products__grid,
  .dh21-segments__grid,
  .dh21-help__grid{
    grid-template-columns:1fr!important;
  }

  .dh21-card--product{
    min-height:0!important;
  }

  .nxp-organize,
  .nxp-businesses,
  .nxp-process,
  .nxp-remote,
  .nxp-implementation,
  .flow-solution,
  .flow-followup,
  .flow-pillars,
  .flow-team,
  .flow-segments,
  .flow-implementation,
  .vt-section,
  .vt-showcase,
  .vt-businesses,
  .vt-independent,
  .pl-section,
  .pl-control,
  .pl-businesses,
  .pl-independent,
  .pl-night{
    padding-top:44px!important;
    padding-bottom:44px!important;
  }

  .dvi-plans-v15{
    padding:43px 13px!important;
  }

  .dvi-plans-v15__head{
    gap:18px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  *{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}
