/* Four type roles, scoped to the concept. Existing site navigation/footer stay intact. */
.newhp-main{
  --nh-banner:clamp(42px,5vw,72px);
  --nh-heading:clamp(32px,3.1vw,44px);
  --nh-subhead:clamp(24px,1.9vw,28px);
  --nh-body:16px;
  font-weight:400;
}
.newhp-main h1{font-size:var(--nh-banner)!important;font-weight:600}
.newhp-main #hero-heading{font-size:clamp(32px,4.7vw,68px)!important}
.newhp-main #hero-heading .nh-hero-line{display:block;white-space:nowrap;color:var(--text)}
.newhp-main #hero-heading .nh-hero-accent{color:var(--green)}
.newhp-main h2{font-size:var(--nh-heading)!important;font-weight:600;line-height:1.15}
.newhp-main h3,.newhp-main .nh-workshop-caption-title{
  font-size:var(--nh-subhead)!important;font-weight:600;line-height:1.25;
  letter-spacing:-.035em;
}
.newhp-main p:not(.nh-tagline),.newhp-main a:not(.nh-project-image),
.newhp-main li,.newhp-main dd,.newhp-main dt,.newhp-main summary,
.newhp-main button,.newhp-main .nh-stat-label{
  font-size:var(--nh-body)!important;line-height:1.65;
}
.newhp-main p{font-weight:400}
.newhp-main strong,.newhp-main summary{font-weight:600}
.newhp-main .nh-eyebrow{letter-spacing:.08em;text-transform:uppercase}
.newhp-main .nh-stat-number{font-size:var(--nh-heading);font-weight:600}
.newhp-main .nh-stat-label{letter-spacing:0;text-transform:none;font-weight:400}
.newhp-main .nh-tagline{font-size:var(--nh-heading);font-weight:600}
.newhp-main .nh-hero-media{padding-top:0}
.newhp-main .nh-film-frame{border-radius:var(--radius)}
.newhp-main .nh-film-frame video{object-fit:contain;background:#020e19}
.newhp-main .nh-film-caption{justify-content:flex-end}
.newhp-main .nh-film-caption button{padding:8px 16px;min-height:44px}
.newhp-main .nh-button{font-weight:600}
.newhp-main .nh-text-link{font-weight:600}

/* True client marks, no moving text or invented logo lettering. */
.newhp-main section.nh-trust{
  width:min(1440px,calc(100% - 48px));
  background:#081a2b;border-radius:var(--radius);padding:40px 48px;
  margin-top:36px;color:#fff;
}
.newhp-main .nh-trust-title{font-size:var(--nh-subhead)!important;text-align:center;color:#fff}
.nh-client-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px;align-items:center;margin-top:28px}
.nh-client-logo{display:flex;align-items:center;justify-content:center;min-height:96px}
.newhp-main .nh-client-logo img{width:100%;height:48px;max-width:155px;object-fit:contain;filter:brightness(0) invert(1);opacity:1}
.newhp-main .nh-client-logo:first-child img{height:76px;max-width:130px}
.newhp-main .nh-client-logo:nth-child(5) img{height:76px;max-width:106px}
.newhp-main .nh-client-logo:last-child img{max-width:190px;height:48px}

/* Shared solution-card frame; copy and calls to action finish at the same baseline. */
.newhp-main .nh-solution{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column}
.newhp-main .nh-custom-solution{padding:0;align-items:stretch;justify-content:flex-end}
.newhp-main .nh-solution-copy{padding:32px;display:flex;flex-direction:column;flex:1;justify-content:flex-start}
.newhp-main .nh-hub-copy{justify-content:flex-start}
.newhp-main .nh-solution-copy h3{margin:0}
.newhp-main .nh-solution-copy>p{max-width:none;margin-top:20px;min-height:3.3em}
.newhp-main .nh-solution-copy .nh-text-link{margin-top:auto;align-self:flex-start}
.newhp-main .nh-check-list{margin-block:24px 0;padding-bottom:28px;flex:1}
.newhp-main .nh-hub-visual{flex:none}
.newhp-main .nh-custom-visual{background:#fafafa}
.newhp-main .nh-custom-visual img{object-fit:cover;object-position:center}
.newhp-main .nh-fire-image img[src$="fire-extinguisher-wide.webp"]{object-fit:cover;object-position:center}
.newhp-main .nh-ai-image img{object-fit:cover;object-position:center}
.newhp-main .nh-rogers-image img{object-fit:cover;object-position:center top}
.newhp-main .nh-custom-visual:after{background:linear-gradient(transparent 55%,var(--surface))}
.newhp-main .nh-hub-visual:after{background:linear-gradient(transparent 55%,var(--surface))}
.newhp-main #solutions .nh-section-head>p{text-align:right}
.newhp-main .nh-project-copy{padding-top:24px}
.newhp-main .nh-project-copy .nh-text-link{margin-top:24px}
.newhp-main .nh-project-copy>p{margin-top:20px}
.newhp-main .nh-workshop-caption-title{display:block;color:var(--text)}
.newhp-main .nh-workshop-display figcaption p{margin-top:12px}
.newhp-main .nh-workshop-photo img[src$="custom-peripheral-original.png"]{
  object-fit:contain;background:var(--surface);
}
.newhp-main .nh-workshop-photo img[src$="simulator-rig-photo.webp"]{
  object-fit:contain;margin-inline:auto;background:var(--surface);
}
.newhp-main .nh-workshop-photo:has(img[src$="simulator-rig-photo.webp"]){background:var(--surface)}
.newhp-main .nh-questions-band{background:var(--surface)}
.newhp-main .nh-questions-band>.nh-questions{padding-block:0}

/* Process details are available on hover, focus, and click/tap. */
.newhp-main #process .nh-section-head{display:block}
.newhp-main #process .nh-section-head>p{max-width:700px;margin-top:24px}
.newhp-main .nh-process-list{gap:20px;margin-top:36px}
.newhp-main .nh-process-list>li{
  border:1px solid var(--line);border-radius:16px;padding:24px;
  min-height:280px;background:transparent;transition:background .2s,box-shadow .2s,border-color .2s;
}
.newhp-main .nh-process-list>li[data-expanded="true"]{
  background:color-mix(in srgb,var(--green) 8%,var(--surface));
  border-color:var(--green);box-shadow:0 0 26px #00cb8018;
}
.newhp-main .nh-process-list h3{margin:0}
.newhp-main .nh-process-toggle{
  display:block;text-align:left;width:100%;padding:0;min-height:70px;
  background:none;color:var(--text);font-size:var(--nh-subhead)!important;
  font-weight:600;line-height:1.25;border-radius:4px;
}
.newhp-main .nh-process-list p{margin:20px 0 0}
.newhp-main .nh-process-list [hidden]{display:none!important}
.newhp-main .nh-process-icon{display:block;width:56px;height:56px;color:var(--green);margin-top:24px}
.newhp-main .nh-process-list>li[data-expanded="true"] .nh-process-icon{display:none}
.newhp-main .nh-closing p{text-align:center;margin-inline:auto;max-width:none}

@media(max-width:1100px){
  .nh-client-logos{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:960px){
  .nh-client-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .newhp-main .nh-process-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newhp-main .nh-process-list>li{min-height:260px}
}
@media(max-width:600px){
  .newhp-main #hero-heading{font-size:clamp(27px,8.7vw,44px)!important}
  .newhp-main section.nh-trust{width:calc(100% - 32px);padding:32px 24px}
  .nh-client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .nh-client-logo img{height:54px}
  .newhp-main .nh-solution-copy{padding:28px}
  .newhp-main .nh-process-list{grid-template-columns:1fr}
  .newhp-main .nh-process-list>li{min-height:250px;padding:24px}
  .newhp-main .nh-process-toggle{min-height:44px}
  .newhp-main .nh-tagline{font-size:clamp(18px,4.9vw,28px)}
  .newhp-main .nh-hero .nh-actions{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .newhp-main .nh-process-list>li{transition:none}
}

.newhp-main{padding-top:var(--live-header-height)}
.homepage-legacy-anchor{display:block;position:relative;scroll-margin-top:110px}
