.ng-navigation-brand{width:fit-content;max-inline-size:min(100%,36rem);line-height:1.5}.ng-navigation-brand>*{max-inline-size:100%}.ng-navigation-brand img{object-fit:contain;max-block-size:3rem;inline-size:auto}
.ng-about-business{padding-block:var(--site-section-y)}.ng-about-business .ng-about-business-layout{gap:3rem;display:grid}.ng-about-business .ng-about-business-eyebrow{letter-spacing:.08em;margin:0 0 1.25rem;font-size:.875rem;font-weight:600}.ng-about-business h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.7rem,2.7vw,2.5rem);line-height:1.5}.ng-about-business .ng-about-business-summary{max-width:35rem;margin:1.5rem 0 0;font-size:.9375rem;line-height:1.95}.ng-about-business .ng-about-business-link{border-block-end:1px solid var(--primary);min-height:48px;transition:gap var(--site-duration-fast);align-items:center;gap:1.5rem;margin-block-start:1.5rem;font-size:.9375rem;font-weight:500;display:inline-flex}.ng-about-business .ng-about-business-link:hover{text-underline-offset:4px;gap:2rem;text-decoration:underline}.ng-about-business .ng-about-business-link:focus-visible{outline:2px solid var(--ring);outline-offset:5px}.ng-about-business .ng-about-business-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin:0;padding:0;list-style:none;display:grid}.ng-about-business .ng-about-business-service{border-block-start:1px solid var(--border);min-width:0;padding-block:1.5rem 2rem}.ng-about-business .ng-about-business-number{letter-spacing:.06em;margin-block-end:.75rem;font-size:.8rem;font-weight:500;display:block}.ng-about-business h3{margin:0;font-size:1.0625rem;font-weight:600;line-height:1.65}.ng-about-business .ng-about-business-service p{margin:.75rem 0 0;font-size:.875rem;line-height:1.9}@media (min-width:1024px){.ng-about-business .ng-about-business-layout{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:5rem}.ng-about-business .ng-about-business-intro{padding-block-start:1.5rem}}@media (max-width:639px){.ng-about-business .ng-about-business-services{grid-template-columns:minmax(0,1fr)}.ng-about-business .ng-about-business-service{padding-block:1.25rem 1.5rem}.ng-about-business .ng-about-business-layout{gap:2.5rem}}@media (prefers-reduced-motion:reduce){.ng-about-business .ng-about-business-link{transition:none}}.ng-about-credentials{padding-block:var(--site-section-y);border-block-start:1px solid var(--border)}.ng-about-credentials .ng-about-credentials-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.ng-about-credentials .ng-about-credentials-rule{background:var(--accent);width:2.5rem;height:3px;margin-block-end:1.5rem;display:block}.ng-about-credentials h2{letter-spacing:-.025em;margin-block-start:1rem;font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.55}.ng-about-credentials .ng-about-credentials-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:0;display:grid}.ng-about-credentials .ng-about-credentials-record{border-block-start:2px solid var(--primary);min-width:0;padding-block:1.5rem .5rem}.ng-about-credentials dt{font-size:1rem;font-weight:600;line-height:1.6}.ng-about-credentials dd{margin:0}.ng-about-credentials .ng-about-credentials-value{color:var(--surface-card-primary-ink);font-variant-numeric:tabular-nums;letter-spacing:-.045em;align-items:baseline;gap:.5rem;margin-block:1.25rem;font-size:clamp(3rem,5vw,4.25rem);font-weight:500;line-height:1.2;display:flex}.ng-about-credentials .ng-about-credentials-unit{letter-spacing:0;font-size:1.125rem}@media (max-width:1023px){.ng-about-credentials .ng-about-credentials-layout{grid-template-columns:1fr;gap:2.5rem}}@media (max-width:639px){.ng-about-credentials .ng-about-credentials-records{grid-template-columns:1fr;gap:2rem}.ng-about-credentials .ng-about-credentials-record{padding-block-start:1.25rem}.ng-about-credentials .ng-about-credentials-value{margin-block:1rem}}.ng-about-hero{border-block-end:1px solid var(--border);padding-block:clamp(3.5rem,7vw,6.5rem)}.ng-about-hero .ng-about-hero-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);display:grid}.ng-about-hero .ng-about-hero-eyebrow{letter-spacing:.1em;align-items:center;gap:.75rem;margin:0 0 1.75rem;font-size:.875rem;font-weight:500;display:flex}.ng-about-hero .ng-about-hero-eyebrow:before{content:"";background:var(--accent);block-size:2px;inline-size:2rem}.ng-about-hero .ng-about-hero-heading{letter-spacing:-.025em;margin:0;font-size:clamp(2rem,3.5vw,3rem);line-height:1.45}.ng-about-hero .ng-about-hero-company{margin-block:1.25rem 0;font-size:1rem;font-weight:500}.ng-about-hero .ng-about-hero-intro{border-inline-start:1px solid var(--border);padding-inline-start:clamp(1.5rem,3vw,2.5rem)}.ng-about-hero .ng-about-hero-lead{letter-spacing:.02em;margin:0;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:500;line-height:1.7}.ng-about-hero .ng-about-hero-description{max-inline-size:34rem;margin-block:1.5rem 0;font-size:1rem;line-height:1.95}.ng-about-hero .ng-about-hero-action{gap:1.5rem;min-block-size:3rem;margin-block-start:2rem;padding-inline:1.25rem}@media (max-width:767px){.ng-about-hero .ng-about-hero-layout{grid-template-columns:minmax(0,1fr);gap:2.25rem}.ng-about-hero .ng-about-hero-intro{border-inline-start:0;border-block-start:1px solid var(--border);padding-block-start:2rem;padding-inline-start:0}.ng-about-hero .ng-about-hero-eyebrow{margin-block-end:1rem}}.ng-cap-development{padding-block:var(--site-section-y)}.ng-cap-development .ng-cap-development-intro{grid-template-columns:1fr 1fr;align-items:end;gap:3rem;margin-block-end:2.5rem;display:grid}.ng-cap-development .ng-cap-development-eyebrow{letter-spacing:.12em;align-items:center;gap:.75rem;margin-block-end:.75rem;font-size:.8125rem;font-weight:600;display:flex}.ng-cap-development .ng-cap-development-eyebrow:before{content:"";background:var(--accent);width:1.5rem;height:2px}.ng-cap-development h2{letter-spacing:.01em;font-size:clamp(1.75rem,3vw,2.5rem)}.ng-cap-development .ng-cap-development-lead{max-width:36rem;font-size:.9375rem;line-height:1.95}.ng-cap-development .ng-cap-development-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.ng-cap-development .ng-cap-development-item{border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.5rem)}.ng-cap-development .ng-cap-development-top{justify-content:space-between;align-items:center;margin-block-end:1.5rem;display:flex}.ng-cap-development .ng-cap-development-number{font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:.8125rem;font-weight:600}.ng-cap-development h3{font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:600}.ng-cap-development .ng-cap-development-description{margin-block-start:.875rem;font-size:.9375rem;line-height:1.9}.ng-cap-development .ng-cap-development-label{border-block-start:1px solid var(--border);margin-block-start:1.75rem;padding-block-start:1rem;font-size:.75rem;font-weight:500}.ng-cap-development .ng-cap-development-action{justify-content:space-between;align-items:center;gap:1.5rem;margin-block-start:2rem;display:flex}.ng-cap-development .ng-cap-development-action p{font-size:.875rem}@media (max-width:767px){.ng-cap-development .ng-cap-development-intro{grid-template-columns:1fr;gap:1.25rem;margin-block-end:1.75rem}.ng-cap-development .ng-cap-development-grid{grid-template-columns:1fr;gap:1rem}.ng-cap-development .ng-cap-development-action{flex-direction:column;align-items:start}}@media (max-width:479px){.ng-cap-development .ng-cap-development-action a{width:100%}}.ng-cap-engineering{padding-block:var(--site-section-y);border-block:1px solid var(--border)}.ng-cap-engineering .ng-cap-engineering-layout{gap:3rem;display:grid}.ng-cap-engineering .ng-cap-engineering-intro{min-width:0}.ng-cap-engineering .ng-cap-engineering-eyebrow{letter-spacing:.08em;margin:0 0 1rem;font-size:.8125rem;font-weight:600}.ng-cap-engineering h2{max-width:19em;margin:0;font-size:clamp(1.65rem,2.7vw,2.5rem);line-height:1.5}.ng-cap-engineering .ng-cap-engineering-description{max-width:32em;margin-block:1.25rem 1.75rem;font-size:.9375rem;line-height:1.9}.ng-cap-engineering .ng-cap-engineering-action{gap:1.5rem;min-height:3rem}.ng-cap-engineering .ng-cap-engineering-services{border-block-start:2px solid var(--primary);min-width:0}.ng-cap-engineering .ng-cap-engineering-service{grid-template-columns:2.5rem minmax(0,1fr);gap:1.25rem;padding-block:2rem;display:grid}.ng-cap-engineering .ng-cap-engineering-service+.ng-cap-engineering-service{border-block-start:1px solid var(--border)}.ng-cap-engineering .ng-cap-engineering-icon{padding-block-start:.2rem}.ng-cap-engineering h3{margin:0 0 .75rem;font-size:1.25rem;font-weight:600}.ng-cap-engineering .ng-cap-engineering-service p{margin:0;font-size:.9375rem;line-height:1.9}.ng-cap-engineering .ng-cap-engineering-service .ng-cap-engineering-field{margin-block-start:1rem;font-size:.8125rem;font-weight:500}@media (min-width:1024px){.ng-cap-engineering .ng-cap-engineering-layout{grid-template-columns:1fr 1fr;align-items:start;gap:5rem}}@media (max-width:639px){.ng-cap-engineering .ng-cap-engineering-service{gap:.75rem;padding-block:1.5rem}}.ng-capabilities-hero{border-block-end:1px solid var(--border);padding-block:clamp(2.75rem,6vw,5.5rem)}.ng-capabilities-hero .ng-capabilities-opening{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.ng-capabilities-hero .ng-capabilities-copy{min-width:0}.ng-capabilities-hero .ng-capabilities-eyebrow{letter-spacing:.08em;align-items:center;gap:.75rem;margin-block-end:1.5rem;font-size:.8125rem;font-weight:600;display:flex}.ng-capabilities-hero .ng-capabilities-eyebrow:before{content:"";background:var(--accent);width:1.75rem;height:2px}.ng-capabilities-hero h1{letter-spacing:-.035em;max-width:13em;margin:0;font-size:clamp(2rem,3.4vw,3rem);line-height:1.45}.ng-capabilities-hero .ng-capabilities-description{max-width:35em;margin-block:1.5rem 2rem;font-size:1rem;line-height:1.95}.ng-capabilities-hero .ng-capabilities-action{gap:1.5rem;height:auto;min-height:3rem;padding:.8rem 1.4rem}.ng-capabilities-hero .ng-capabilities-media{aspect-ratio:5/4;border-radius:var(--radius);min-width:0;position:relative;overflow:hidden}.ng-capabilities-hero .ng-capabilities-media img{object-position:center}.ng-capabilities-hero .ng-capabilities-media-mark{background:var(--accent);width:4rem;height:.35rem;position:absolute;inset-block-end:0;inset-inline-start:0}.ng-capabilities-hero .ng-capabilities-fallback{background-image:linear-gradient(135deg, transparent, color-mix(in srgb, var(--primary) 7%, transparent));flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:2rem;display:flex}.ng-capabilities-hero .ng-capabilities-fallback p{font-size:1.4rem;font-weight:600}.ng-capabilities-hero .ng-capabilities-fallback span{text-align:center;font-size:.875rem}@media (max-width:1023px){.ng-capabilities-hero .ng-capabilities-opening{grid-template-columns:minmax(0,1fr);gap:2.5rem}.ng-capabilities-hero h1{max-width:18em;font-size:clamp(2rem,5.5vw,2.75rem)}.ng-capabilities-hero .ng-capabilities-media{aspect-ratio:16/9;max-height:22rem}}@media (max-width:479px){.ng-capabilities-hero .ng-capabilities-eyebrow{margin-block-end:1rem}.ng-capabilities-hero .ng-capabilities-description{margin-block:1.25rem 1.5rem}.ng-capabilities-hero .ng-capabilities-media{aspect-ratio:4/3}}.ng-capabilities-testing{padding-block:var(--site-section-y);border-block-start:1px solid var(--border)}.ng-capabilities-testing .ng-capabilities-testing-layout{gap:2.5rem;display:grid}.ng-capabilities-testing .ng-capabilities-testing-rule{width:2.5rem;height:3px;margin-block-end:1.4rem;display:block}.ng-capabilities-testing .ng-capabilities-testing-heading{letter-spacing:-.025em;margin-block:1rem 1.25rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.5}.ng-capabilities-testing .ng-capabilities-testing-summary{max-width:29rem;font-size:1rem;line-height:1.9}.ng-capabilities-testing .ng-capabilities-testing-list{margin:0;padding:0;list-style:none}.ng-capabilities-testing .ng-capabilities-testing-item{border-block-start:1px solid var(--border);grid-template-columns:3.5rem minmax(0,1fr);gap:1.25rem;padding-block:1.7rem;display:grid}.ng-capabilities-testing .ng-capabilities-testing-item:last-child{border-block-end:1px solid var(--border)}.ng-capabilities-testing .ng-capabilities-testing-icon{border:1px solid var(--border);border-radius:var(--radius);justify-content:center;align-items:center;width:3.5rem;height:3.5rem;display:flex}@media (min-width:1024px){.ng-capabilities-testing .ng-capabilities-testing-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:5rem}}@media (max-width:639px){.ng-capabilities-testing .ng-capabilities-testing-item{grid-template-columns:2.75rem minmax(0,1fr);gap:1rem;padding-block:1.5rem}.ng-capabilities-testing .ng-capabilities-testing-icon{width:2.75rem;height:2.75rem}}.ng-contact-form{padding-block:2rem var(--site-section-y)}.ng-contact-form .ng-contact-form-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:2rem;display:grid}.ng-contact-form .ng-contact-form-introduction{min-width:0}.ng-contact-form .ng-contact-form-rule{background:var(--accent);width:2.5rem;height:3px;margin-block-end:1.5rem;display:block}.ng-contact-form .ng-contact-form-introduction h2{margin:0;font-size:clamp(1.5rem,2.5vw,2rem)}.ng-contact-form .ng-contact-form-introduction>p{margin-block:1.25rem 0;font-size:.9375rem;line-height:1.9}.ng-contact-form .ng-contact-form-note{border-radius:var(--radius);border-inline-start:2px solid var(--border);margin-block-start:2rem;padding:1.5rem}.ng-contact-form .ng-contact-form-note h3{margin:0;font-size:.9375rem;font-weight:600}.ng-contact-form .ng-contact-form-note p{margin-block:.75rem 0;font-size:.875rem;line-height:1.9}.ng-contact-form .ng-contact-form-panel{border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--site-shadow-soft);padding:clamp(1.25rem,3vw,2.5rem)}@media (min-width:1024px){.ng-contact-form .ng-contact-form-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:4rem}.ng-contact-form .ng-contact-form-introduction{padding-block-start:.5rem}}.ng-contact-title{border-block-end:1px solid var(--border);padding-block:clamp(2.75rem,5vw,4.5rem)}.ng-contact-title .ng-contact-title-layout{align-items:center;gap:2.25rem;display:grid}.ng-contact-title .ng-contact-title-copy{min-width:0}.ng-contact-title .ng-contact-title-eyebrow{align-items:center;gap:.75rem;margin-block-end:1rem;font-size:.8125rem;font-weight:500;display:flex}.ng-contact-title .ng-contact-title-eyebrow:before{content:"";background:var(--accent);flex-shrink:0;width:1.75rem;height:2px;display:block}.ng-contact-title h1{letter-spacing:.025em;margin:0;font-size:clamp(2rem,3.5vw,3rem);line-height:1.4}.ng-contact-title .ng-contact-title-description{max-width:36rem;margin-block-start:1.25rem;font-size:1rem;line-height:1.9}.ng-contact-title .ng-contact-title-aside{border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.ng-contact-title .ng-contact-title-aside h2{margin:0 0 .625rem;font-size:1rem;line-height:1.6}.ng-contact-title .ng-contact-title-aside p{margin:0;font-size:.875rem;line-height:1.85}.ng-contact-title .ng-contact-title-link{text-underline-offset:.3em;border-radius:2px;align-items:center;gap:.75rem;min-height:44px;margin-block-start:.75rem;font-size:.875rem;font-weight:600;text-decoration:underline;display:inline-flex}.ng-contact-title .ng-contact-title-link:hover{text-decoration-thickness:2px}.ng-contact-title .ng-contact-title-link:focus-visible{outline:2px solid var(--ring);outline-offset:4px}@media (min-width:1024px){.ng-contact-title .ng-contact-title-layout{grid-template-columns:minmax(0,1fr) minmax(0,23rem);gap:4rem}}.ng-faq-development{padding-block:var(--site-section-y)}.ng-faq-development .ng-faq-development-layout{grid-template-columns:minmax(0,1fr);gap:2rem;display:grid}.ng-faq-development .ng-faq-development-rule{background:var(--accent);width:2.5rem;height:3px;margin-block-end:1.5rem;display:block}.ng-faq-development .ng-faq-development-intro h2{margin:0;font-size:clamp(1.4rem,2.3vw,1.85rem);line-height:1.5}.ng-faq-development .ng-faq-development-intro p{max-width:29rem;margin-block-start:1rem;font-size:.9375rem;line-height:1.9}.ng-faq-development .ng-faq-development-list{border-block-start:1px solid var(--border);min-width:0}.ng-faq-development .ng-faq-development-item:last-child{border-block-end:1px solid var(--border)}.ng-faq-development .ng-faq-development-trigger{gap:1.25rem;min-height:4.75rem;padding-block:1.4rem;padding-inline:.5rem;font-size:1rem;font-weight:500;line-height:1.8;transition:color .16s}.ng-faq-development .ng-faq-development-trigger:hover,.ng-faq-development .ng-faq-development-trigger[data-state=open]{color:var(--primary)}.ng-faq-development .ng-faq-development-trigger>svg{margin-block-start:.3rem}.ng-faq-development .ng-faq-development-answer{padding-block-end:1.6rem;padding-inline:.5rem 2.75rem;font-size:.9375rem;line-height:1.95}.ng-faq-development .ng-faq-development-answer p{max-width:45rem;margin:0}@media (min-width:1024px){.ng-faq-development .ng-faq-development-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4rem}}@media (prefers-reduced-motion:reduce){.ng-faq-development .ng-faq-development-trigger,.ng-faq-development .ng-faq-development-trigger>svg{transition:none}.ng-faq-development [data-slot=accordion-content]{animation:none}}.ng-faq-support{padding-block:clamp(3.5rem,6vw,5.5rem)}.ng-faq-support .ng-faq-support-layout{border-block-start:1px solid var(--border);gap:2rem;padding-block-start:2rem;display:grid}.ng-faq-support .ng-faq-support-consultation{border-radius:var(--radius);border-inline-start:3px solid var(--primary);flex-direction:column;align-items:flex-start;gap:1.5rem;margin-block-start:3rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}@media (min-width:1024px){.ng-faq-support .ng-faq-support-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:5rem;padding-block-start:3rem}.ng-faq-support .ng-faq-support-consultation{flex-direction:row;justify-content:space-between;align-items:center;margin-block-start:4rem}}@media (prefers-reduced-motion:reduce){.ng-faq-support [data-slot=accordion-trigger],.ng-faq-support [data-slot=accordion-trigger] svg{transition:none}.ng-faq-support [data-slot=accordion-content]{animation:none}}.ng-faq-title{border-block-end:1px solid var(--border)}.ng-faq-title .ng-faq-title-inner{max-width:58rem;padding-block:clamp(3rem,6vw,5rem)}.ng-faq-title .ng-faq-title-marker{background:var(--accent);width:2.5rem;height:3px;margin-block-end:1.5rem}.ng-faq-title .ng-faq-title-label{letter-spacing:.06em;margin:0 0 .75rem;font-size:.875rem;font-weight:500}.ng-faq-title h1{letter-spacing:.015em;margin:0;font-size:clamp(2rem,4vw,3.25rem);line-height:1.4}.ng-faq-title .ng-faq-title-description{max-width:40rem;margin-block:1.25rem 0;font-size:clamp(.9375rem,1.5vw,1.0625rem);line-height:1.9}.ng-home-consultation{padding-block:2rem var(--site-section-y)}.ng-home-consultation .ng-home-consultation-panel{border:1px solid var(--border);border-inline-start:4px solid var(--accent);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3rem;padding:clamp(1.5rem,4vw,3.5rem);display:grid}.ng-home-consultation .ng-home-consultation-copy{min-width:0;max-width:47rem}.ng-home-consultation .ng-home-consultation-label{letter-spacing:.06em;margin-block:0 1rem;font-size:.875rem;font-weight:600}.ng-home-consultation h2{margin:0;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.6}.ng-home-consultation .ng-home-consultation-description{max-width:42rem;margin-block:1.25rem 0;font-size:.9375rem;line-height:1.9}.ng-home-consultation .ng-home-consultation-button{border-radius:var(--radius);gap:1.5rem;height:auto;min-height:3rem;padding:.875rem 1.5rem}.ng-home-consultation .ng-home-consultation-button:focus-visible{outline:2px solid var(--primary);outline-offset:4px}@media (max-width:1023px){.ng-home-consultation .ng-home-consultation-panel{grid-template-columns:minmax(0,1fr);gap:1.75rem}}@media (max-width:639px){.ng-home-consultation{padding-block-start:1rem}.ng-home-consultation .ng-home-consultation-button{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){.ng-home-consultation .ng-home-consultation-button{transition:none}}.ng-home-core{padding-block:var(--site-section-y)}.ng-home-core .ng-home-core-intro{grid-template-columns:1.2fr 1fr;align-items:end;gap:4rem;margin-block-end:2.75rem;display:grid}.ng-home-core .ng-home-core-eyebrow{color:var(--primary-ink);align-items:center;gap:.75rem;margin-block-end:1rem;font-size:.8125rem;font-weight:600;display:flex}.ng-home-core .ng-home-core-eyebrow:before{content:"";background:var(--accent);flex-shrink:0;width:1.5rem;height:2px}.ng-home-core h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.65rem,2.6vw,2.5rem);line-height:1.55}.ng-home-core .ng-home-core-summary{max-width:34rem;margin:0 0 .2rem;font-size:.9375rem;line-height:1.95}.ng-home-core .ng-home-core-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.ng-home-core .ng-home-core-service{border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.5rem)}.ng-home-core .ng-home-core-service-top{justify-content:space-between;align-items:center;margin-block-end:2rem;display:flex}.ng-home-core .ng-home-core-icon{width:2.25rem;height:2.25rem;color:var(--primary)}.ng-home-core .ng-home-core-number{color:var(--surface-card-muted);letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:.8125rem}.ng-home-core h3{margin:0 0 1rem;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600}.ng-home-core .ng-home-core-service p{margin:0;font-size:.9375rem;line-height:1.95}.ng-home-core .ng-home-core-scope{border-block-start:1px solid var(--border);color:var(--surface-card-primary-ink);flex-wrap:wrap;gap:.5rem 1.5rem;margin-block-start:1.75rem;padding-block-start:1.25rem;font-size:.8125rem;display:flex}.ng-home-core .ng-home-core-bottom{justify-content:end;margin-block-start:1.5rem;display:flex}.ng-home-core .ng-home-core-link{text-underline-offset:.35em;border-radius:2px;justify-content:space-between;align-items:center;gap:1.5rem;min-height:44px;padding-block:.5rem;font-size:.9375rem;font-weight:500;display:inline-flex}.ng-home-core .ng-home-core-link:hover{text-decoration:underline}.ng-home-core .ng-home-core-link:focus-visible{outline:2px solid var(--ring);outline-offset:5px}@media (max-width:1023px){.ng-home-core .ng-home-core-intro{grid-template-columns:1fr;gap:1.25rem}.ng-home-core .ng-home-core-summary{max-width:44rem}}@media (max-width:639px){.ng-home-core .ng-home-core-grid{grid-template-columns:1fr;gap:1rem}.ng-home-core .ng-home-core-intro{margin-block-end:2rem}.ng-home-core .ng-home-core-break{display:none}.ng-home-core .ng-home-core-service-top{margin-block-end:1.5rem}.ng-home-core .ng-home-core-bottom{justify-content:start}}.ng-home-credentials{padding-block:var(--site-section-y);border-block-start:1px solid var(--border)}.ng-home-credentials .ng-home-credentials-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.ng-home-credentials .ng-home-credentials-eyebrow{letter-spacing:.06em;margin-block-end:1rem;font-size:.8125rem;font-weight:600}.ng-home-credentials h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.5}.ng-home-credentials .ng-home-credentials-description{max-width:26rem;margin-block-start:1.25rem;font-size:.9375rem}.ng-home-credentials .ng-home-credentials-link{text-underline-offset:6px;min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);transition:text-decoration-color var(--site-duration-fast);align-items:center;gap:1.25rem;margin-block-start:1.25rem;font-size:.875rem;font-weight:500;display:inline-flex}.ng-home-credentials .ng-home-credentials-link:hover{text-decoration-color:currentColor}.ng-home-credentials .ng-home-credentials-facts{gap:1rem;min-width:0;margin:0;display:grid}.ng-home-credentials .ng-home-credentials-fact{border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem;display:flex}.ng-home-credentials .ng-home-credentials-fact dt{font-size:1rem;font-weight:600}.ng-home-credentials .ng-home-credentials-fact p{margin-block-start:.5rem;font-size:.8125rem;line-height:1.8}.ng-home-credentials .ng-home-credentials-fact dd{flex-direction:column;flex-shrink:0;align-items:flex-end;margin:0;display:flex}.ng-home-credentials .ng-home-credentials-number{font-variant-numeric:tabular-nums;letter-spacing:-.045em;font-size:clamp(2.75rem,4vw,3.5rem);font-weight:500;line-height:1.1}.ng-home-credentials .ng-home-credentials-unit{margin-block-start:.5rem;font-size:.75rem}@media (max-width:767px){.ng-home-credentials .ng-home-credentials-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.ng-home-credentials .ng-home-credentials-fact{padding:1.5rem}}@media (max-width:389px){.ng-home-credentials .ng-home-credentials-fact{gap:1rem;padding:1.25rem}.ng-home-credentials .ng-home-credentials-fact dt{font-size:.9375rem}.ng-home-credentials .ng-home-credentials-number{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){.ng-home-credentials .ng-home-credentials-link{transition:none}}.ng-home-hero{border-block-end:1px solid var(--border);padding-block:clamp(3rem,6vw,5.75rem)}.ng-home-hero .ng-home-hero-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.ng-home-hero .ng-home-hero-copy{min-width:0;padding-block:1rem}.ng-home-hero .ng-home-hero-eyebrow{align-items:center;gap:.75rem;margin-block-end:1.6rem;font-size:.875rem;font-weight:500;display:flex}.ng-home-hero .ng-home-hero-eyebrow>span{flex-shrink:0;width:1.5rem;height:2px}.ng-home-hero h1{letter-spacing:-.045em;max-width:14em;margin:0;font-size:clamp(2.25rem,3.6vw,3.25rem);line-height:1.48}.ng-home-hero .ng-home-hero-description{max-width:33rem;margin-block:1.6rem 0;font-size:1rem;line-height:1.95}.ng-home-hero .ng-home-hero-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-block-start:2rem;display:flex}.ng-home-hero .ng-home-hero-visual{min-width:0;padding-block-end:1.75rem;padding-inline-end:1rem;position:relative}.ng-home-hero .ng-home-hero-frame{aspect-ratio:1.14;border-radius:var(--radius);position:relative;overflow:hidden}.ng-home-hero .ng-home-hero-photo{object-fit:cover;object-position:center}.ng-home-hero .ng-home-hero-visual-note{border:1px solid var(--border);border-radius:var(--radius);min-height:5rem;box-shadow:var(--site-shadow-soft);align-items:center;gap:1rem;margin-block-start:-2rem;margin-inline:1.5rem -1rem;padding:.875rem 1.25rem;display:flex;position:relative}.ng-home-hero .ng-home-hero-visual-note p{flex:1;margin:0;font-size:.875rem;font-weight:500}.ng-home-hero .ng-home-hero-note-line{flex-shrink:0;width:3px;height:1.75rem}.ng-home-hero .ng-home-hero-note-link{border-radius:var(--radius);min-width:44px;min-height:44px;transition:background var(--site-duration-fast);justify-content:center;align-items:center;display:flex}.ng-home-hero .ng-home-hero-note-link:hover{background:var(--secondary);color:var(--surface-muted-primary-ink)}.ng-home-hero .ng-home-hero-fallback{background:linear-gradient(135deg,var(--card),var(--muted));flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;height:100%;padding:2rem;display:flex}.ng-home-hero .ng-home-hero-fallback p{text-align:center;margin:0;font-size:1.125rem;font-weight:500}.ng-home-hero .ng-home-hero-fallback span{text-align:center;font-size:.875rem}@media (max-width:1023px){.ng-home-hero .ng-home-hero-layout{grid-template-columns:1fr;gap:2.5rem}.ng-home-hero .ng-home-hero-copy{padding-block:0}.ng-home-hero h1{max-width:17em;font-size:clamp(2rem,5.8vw,3.25rem)}.ng-home-hero .ng-home-hero-description{max-width:40rem}.ng-home-hero .ng-home-hero-frame{aspect-ratio:1.8}.ng-home-hero .ng-home-hero-visual{width:100%;max-width:44rem}}@media (max-width:639px){.ng-home-hero{padding-block:2.75rem 2rem}.ng-home-hero h1{font-size:clamp(1.85rem,7vw,2.5rem)}.ng-home-hero .ng-home-hero-eyebrow{margin-block-end:1.2rem;font-size:.75rem}.ng-home-hero .ng-home-hero-description{font-size:.9375rem}.ng-home-hero .ng-home-hero-actions{gap:.75rem 1.5rem;margin-block-start:1.5rem}.ng-home-hero .ng-home-hero-frame{aspect-ratio:1.35}.ng-home-hero .ng-home-hero-visual-note{gap:.6rem;margin-inline-start:.75rem;padding:.6rem .75rem}.ng-home-hero .ng-home-hero-visual-note p{font-size:.8125rem}}.ng-home-services{padding-block:var(--site-section-y)}.ng-home-services .ng-home-services-heading{gap:1.5rem;margin-block-end:2.5rem;display:grid}.ng-home-services .ng-home-services-eyebrow{letter-spacing:.08em;margin:0 0 .75rem;font-size:.8125rem;font-weight:500}.ng-home-services h2{margin:0;font-size:clamp(1.75rem,3vw,2.625rem)}.ng-home-services .ng-home-services-intro{max-width:34rem;margin:0;font-size:1rem;line-height:1.9}.ng-home-services .ng-home-services-grid{gap:1.5rem;display:grid}.ng-home-services .ng-home-services-card{border:1px solid var(--page-border);border-radius:var(--radius);min-width:0;overflow:hidden}.ng-home-services .ng-home-services-media{aspect-ratio:1.65;background:var(--secondary);overflow:hidden}.ng-home-services .ng-home-services-photo{object-fit:cover;width:100%;height:100%}.ng-home-services .ng-home-services-graphic{height:100%;color:var(--primary);background:repeating-linear-gradient(0deg, transparent, transparent 31px, color-mix(in srgb, var(--primary) 7%, transparent) 32px), var(--secondary);place-items:center;display:grid}.ng-home-services .ng-home-services-graphic svg{width:4rem;height:4rem}.ng-home-services .ng-home-services-content{border-block-start:3px solid var(--primary);padding:1.5rem}.ng-home-services h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;line-height:1.65}.ng-home-services .ng-home-services-content p{margin:0;font-size:.875rem;line-height:1.9}.ng-home-services .ng-home-services-bottom{justify-content:flex-end;margin-block-start:1.75rem;display:flex}.ng-home-services .ng-home-services-link{border-block-end:1px solid var(--primary);align-items:center;gap:1.5rem;min-height:44px;padding-block:.5rem;font-size:.9375rem;font-weight:500;display:inline-flex}.ng-home-services .ng-home-services-link:hover{color:var(--primary-hover);border-color:var(--primary-hover);text-underline-offset:4px;text-decoration:underline}.ng-home-services .ng-home-services-link:focus-visible{outline:2px solid var(--ring);outline-offset:5px}@media (min-width:640px){.ng-home-services .ng-home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.ng-home-services .ng-home-services-heading{grid-template-columns:1fr 1fr;align-items:end;gap:4rem}}@media (min-width:1200px){.ng-home-services .ng-home-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.ng-home-services h3{min-height:3.75rem}}.ng-inquiry-form{padding-block:var(--site-section-y);border-block-start:1px solid var(--border)}.ng-inquiry-form .ng-inquiry-form-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.ng-inquiry-form .ng-inquiry-form-intro{min-width:0;padding-block-start:1rem}.ng-inquiry-form .ng-inquiry-form-rule{background:var(--accent);width:2.5rem;height:3px;margin-block-end:1.75rem;display:block}.ng-inquiry-form .ng-inquiry-form-eyebrow{color:var(--primary-ink);margin-block:0 .75rem;font-size:.875rem;font-weight:500}.ng-inquiry-form h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.45}.ng-inquiry-form .ng-inquiry-form-description{max-width:28rem;margin-block:1.5rem 0;line-height:1.9}.ng-inquiry-form .ng-inquiry-form-purpose{border-block-start:1px solid var(--border);color:var(--muted-foreground);max-width:28rem;margin-block:1.75rem 0;padding-block-start:1.25rem;font-size:.875rem;line-height:1.9}.ng-inquiry-form .ng-inquiry-form-panel{border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--site-shadow-soft);padding:clamp(1.25rem,3vw,2.5rem)}@media (max-width:1023px){.ng-inquiry-form .ng-inquiry-form-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.ng-inquiry-form .ng-inquiry-form-intro{padding-block-start:0}.ng-inquiry-form .ng-inquiry-form-description,.ng-inquiry-form .ng-inquiry-form-purpose{max-width:42rem}}.ng-inquiry-opening{border-block-end:1px solid var(--border)}.ng-inquiry-opening .ng-inquiry-opening-content{max-inline-size:64rem;padding-block:clamp(3rem,6vw,5rem)}.ng-inquiry-opening .ng-inquiry-opening-label{letter-spacing:.06em;align-items:center;gap:.8rem;margin:0 0 1.25rem;font-size:.875rem;font-weight:500;display:flex}.ng-inquiry-opening .ng-inquiry-opening-label:before{content:"";background:var(--accent);flex-shrink:0;block-size:2px;inline-size:1.75rem}.ng-inquiry-opening h1{letter-spacing:.01em;word-break:normal;max-inline-size:24em;margin:0;font-size:clamp(1.8rem,3.5vw,2.875rem);line-height:1.5}.ng-inquiry-opening .ng-inquiry-opening-description{max-inline-size:47rem;margin:1.5rem 0 0;font-size:1rem;line-height:1.95}@media (min-width:1024px){.ng-inquiry-opening .ng-inquiry-opening-description{font-size:1.0625rem}}@media (max-width:639px){.ng-inquiry-opening .ng-inquiry-opening-break{display:none}.ng-inquiry-opening .ng-inquiry-opening-description{margin-block-start:1.125rem}}.ng-inquiry-scope{padding-block:var(--site-section-y);border-block-start:1px solid var(--border)}.ng-inquiry-scope-heading{max-width:48rem;margin-block-end:2.75rem}.ng-inquiry-scope-heading h2{letter-spacing:-.025em;margin-block:.7rem 1.1rem;font-size:clamp(1.6rem,2.6vw,2.25rem)}.ng-inquiry-scope-heading>p:last-child{max-width:44rem;font-size:.95rem;line-height:1.9}.ng-inquiry-scope-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.ng-inquiry-scope-aside{min-width:0}.ng-inquiry-scope-media{aspect-ratio:5/4;border-radius:var(--radius) var(--radius) 0 0;background:var(--card);position:relative;overflow:hidden}.ng-inquiry-scope-note{border-block-end:3px solid var(--accent);border-radius:0 0 var(--radius) var(--radius);padding:1.5rem}.ng-inquiry-scope-note h3{margin-block-end:.6rem;font-size:1.2rem}.ng-inquiry-scope-note p{font-size:.875rem;line-height:1.9}.ng-inquiry-scope-list{border-block-start:1px solid var(--border);margin:0}.ng-inquiry-scope-row{border-block-end:1px solid var(--border);padding-block:1.3rem}.ng-inquiry-scope-row dt{align-items:baseline;gap:1rem;font-size:1.05rem;font-weight:600;line-height:1.6;display:flex}.ng-inquiry-scope-number{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--primary-ink);flex-shrink:0;font-size:.75rem;font-weight:500}.ng-inquiry-scope-row dd{margin-block-start:.4rem;margin-inline-start:2.2rem;font-size:.875rem;line-height:1.8}.ng-inquiry-scope-graphic{background:linear-gradient(135deg, var(--card), var(--muted));grid-template-columns:repeat(2,1fr);gap:1rem;padding:17%;display:grid;position:absolute;inset:0}.ng-inquiry-scope-graphic span{border:1px solid var(--border);border-block-start:4px solid var(--primary);background:var(--background);border-radius:var(--radius)}.ng-inquiry-scope-graphic span:last-child{border-block-start-color:var(--accent)}@media (max-width:1023px){.ng-inquiry-scope-layout{grid-template-columns:1fr;gap:2rem}.ng-inquiry-scope-aside{grid-template-columns:1fr 1fr;display:grid}.ng-inquiry-scope-media{aspect-ratio:auto;border-radius:var(--radius) 0 0 var(--radius);min-height:200px}.ng-inquiry-scope-note{flex-direction:column;justify-content:center;display:flex}}@media (max-width:639px){.ng-inquiry-scope-heading{margin-block-end:2rem}.ng-inquiry-scope-aside{grid-template-columns:1fr}.ng-inquiry-scope-media{aspect-ratio:16/9;border-radius:var(--radius) var(--radius) 0 0;min-height:0}.ng-inquiry-scope-row dt{gap:.8rem;font-size:.98rem}.ng-inquiry-scope-row dd{margin-inline-start:2rem}}.ng-products-apps{padding-block:var(--site-section-y)}.ng-products-apps .ng-products-apps-heading{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:3rem;margin-block-end:2.5rem;display:grid}.ng-products-apps .ng-products-apps-eyebrow{letter-spacing:.08em;margin-block-end:.8rem;font-size:.8rem;font-weight:600}.ng-products-apps h2{max-width:24ch;font-size:clamp(1.65rem,2.7vw,2.35rem);line-height:1.5}.ng-products-apps .ng-products-apps-intro{max-width:34rem;font-size:.95rem}.ng-products-apps .ng-products-apps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.ng-products-apps .ng-products-apps-item{border:1px solid var(--border);border-radius:var(--radius);min-width:0;overflow:hidden}.ng-products-apps .ng-products-apps-media{aspect-ratio:16/10;background:var(--secondary);overflow:hidden}.ng-products-apps .ng-products-apps-image{object-fit:cover;width:100%;height:100%}.ng-products-apps .ng-products-apps-fallback{background:linear-gradient(145deg, var(--secondary), var(--card));height:100%;color:var(--surface-muted-primary-ink);place-items:center;display:grid}.ng-products-apps .ng-products-apps-fallback svg{width:4rem;height:4rem}.ng-products-apps .ng-products-apps-copy{padding:1.75rem}.ng-products-apps .ng-products-apps-icon{margin-block-end:1rem;display:inline-flex}.ng-products-apps h3{margin-block-end:.8rem;font-size:1.2rem;font-weight:600;line-height:1.6}.ng-products-apps .ng-products-apps-copy p{font-size:.9rem;line-height:1.9}.ng-products-apps .ng-products-apps-action{border-block-start:1px solid var(--border);justify-content:space-between;align-items:center;gap:1.5rem;margin-block-start:2.5rem;padding-block-start:1.75rem;display:flex}.ng-products-apps .ng-products-apps-action p{font-size:.9rem}@media (max-width:1023px){.ng-products-apps .ng-products-apps-heading{grid-template-columns:1fr;gap:1rem}.ng-products-apps .ng-products-apps-grid{gap:1rem}.ng-products-apps .ng-products-apps-copy{padding:1.25rem}}@media (max-width:767px){.ng-products-apps .ng-products-apps-grid{grid-template-columns:1fr;gap:1.5rem}.ng-products-apps .ng-products-apps-media{aspect-ratio:16/9}.ng-products-apps .ng-products-apps-action{flex-direction:column;align-items:start}.ng-products-apps .ng-products-apps-action a{width:100%}}.ng-products-core{padding-block:var(--site-section-y)}.ng-products-core .ng-products-core-heading{grid-template-columns:1fr 1fr;align-items:end;gap:3rem;margin-block-end:2.5rem;display:grid}.ng-products-core h2{letter-spacing:-.025em;font-size:clamp(1.65rem,2.5vw,2.25rem)}.ng-products-core .ng-products-core-intro{max-width:35rem;font-size:.9375rem;line-height:1.9}.ng-products-core .ng-products-core-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.ng-products-core .ng-products-core-card{border:1px solid var(--page-border);border-radius:var(--radius);min-width:0;overflow:hidden}.ng-products-core .ng-products-core-media{background:var(--secondary);height:13rem;overflow:hidden}.ng-products-core .ng-products-core-body{padding:1.6rem 1.5rem 1.8rem}.ng-products-core .ng-products-core-number{letter-spacing:.12em;margin-block-end:.7rem;font-size:.75rem;font-weight:600;display:block}.ng-products-core h3{min-height:3.96rem;font-size:1.2rem;font-weight:600;line-height:1.65}.ng-products-core .ng-products-core-fallback{height:100%;color:var(--primary);background:linear-gradient(135deg,var(--secondary),var(--card));justify-content:center;align-items:center;display:flex}.ng-products-core .ng-products-core-actions{border-block-start:1px solid var(--page-border);justify-content:space-between;align-items:center;gap:1.5rem;margin-block-start:2rem;padding-block-start:1.5rem;display:flex}@media (max-width:1023px){.ng-products-core .ng-products-core-heading{grid-template-columns:1fr;gap:1rem}.ng-products-core .ng-products-core-grid{gap:1rem}.ng-products-core .ng-products-core-body{padding:1.2rem}.ng-products-core .ng-products-core-media{height:11rem}.ng-products-core h3{min-height:5.2rem;font-size:1.05rem}}@media (max-width:767px){.ng-products-core .ng-products-core-grid{grid-template-columns:1fr;gap:1.5rem}.ng-products-core .ng-products-core-media{aspect-ratio:16/9;height:auto}.ng-products-core .ng-products-core-body{padding:1.5rem}.ng-products-core h3{min-height:0;font-size:1.2rem}.ng-products-core .ng-products-core-actions{flex-direction:column;align-items:stretch;gap:.75rem}.ng-products-core .ng-products-core-actions>a{justify-content:center}}.ng-products-engineering{padding-block:var(--site-section-y);border-block-start:1px solid var(--border)}.ng-products-engineering .ng-pe-heading{grid-template-columns:1.1fr 1fr;align-items:end;gap:3rem;margin-block-end:2.5rem;display:grid}.ng-products-engineering .ng-pe-eyebrow{letter-spacing:.08em;margin-block-end:.85rem;font-size:.8rem;font-weight:600}.ng-products-engineering h2{font-size:clamp(1.65rem,2.5vw,2.6rem);line-height:1.45}.ng-products-engineering .ng-pe-intro{max-width:36rem;font-size:.95rem}.ng-products-engineering .ng-pe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.ng-products-engineering .ng-pe-item{min-width:0}.ng-products-engineering .ng-pe-card{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:100%;display:flex;overflow:hidden}.ng-products-engineering .ng-pe-media{aspect-ratio:16/10;position:relative;overflow:hidden}.ng-products-engineering .ng-pe-photo{object-fit:cover;width:100%;height:100%;display:block}.ng-products-engineering .ng-pe-number{letter-spacing:.08em;border-radius:2px;padding:.25rem .65rem;font-size:.75rem;position:absolute;inset-block-end:1.1rem;inset-inline-start:1.25rem}.ng-products-engineering .ng-pe-fallback{width:100%;height:100%;color:var(--primary);background:linear-gradient(135deg, var(--card), var(--muted));place-items:center;display:grid}.ng-products-engineering .ng-pe-fallback svg{width:4rem;height:4rem}.ng-products-engineering .ng-pe-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.ng-products-engineering .ng-pe-body h3{font-size:1.2rem;font-weight:600;line-height:1.6}.ng-products-engineering .ng-pe-body p{margin-block:1rem 1.3rem;font-size:.9rem;line-height:1.9}.ng-products-engineering .ng-pe-link{border-block-start:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;margin-block-start:auto;padding-block-start:.8rem;font-size:.85rem;font-weight:500;display:flex}.ng-products-engineering .ng-pe-link:hover span{text-underline-offset:4px;text-decoration:underline}.ng-products-engineering .ng-pe-consultation{border-block-start:1px solid var(--border);justify-content:space-between;align-items:center;gap:2rem;margin-block-start:3rem;padding-block-start:2rem;display:flex}.ng-products-engineering .ng-pe-consultation h3{font-size:1.2rem;font-weight:600}.ng-products-engineering .ng-pe-consultation p{margin-block-start:.5rem;font-size:.9rem}@media (max-width:1023px){.ng-products-engineering .ng-pe-heading{grid-template-columns:1fr;gap:1rem}.ng-products-engineering .ng-pe-grid{gap:1rem}.ng-products-engineering .ng-pe-body{padding:1.1rem}}@media (max-width:767px){.ng-products-engineering .ng-pe-grid{grid-template-columns:1fr;gap:1.5rem}.ng-products-engineering .ng-pe-media{aspect-ratio:16/9}.ng-products-engineering .ng-pe-body{padding:1.5rem}.ng-products-engineering .ng-pe-consultation{flex-direction:column;align-items:stretch;gap:1.25rem}}.ng-products-opening{border-block-end:1px solid var(--border)}.ng-products-opening .ng-products-opening-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:4.5rem;display:grid}.ng-products-opening .ng-products-opening-copy{min-width:0}.ng-products-opening .ng-products-opening-eyebrow{align-items:center;gap:.75rem;margin-block-end:1.4rem;font-size:.875rem;font-weight:500;display:flex}.ng-products-opening .ng-products-opening-eyebrow span{flex-shrink:0;width:1.6rem;height:3px}.ng-products-opening h1{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.45}.ng-products-opening .ng-products-opening-description{max-width:33rem;margin-block:1.5rem 1.9rem;font-size:1rem;line-height:1.95}.ng-products-opening .ng-products-opening-action{gap:1.5rem;min-height:3rem;padding-inline:1.4rem}.ng-products-opening .ng-products-opening-visual{aspect-ratio:1.35;border-radius:var(--radius);background:var(--card);min-width:0;position:relative;overflow:hidden}.ng-products-opening .ng-products-opening-photo{object-position:center}.ng-products-opening .ng-products-opening-corner{background:var(--accent);width:3rem;height:.35rem;position:absolute;inset-block-end:0;inset-inline-end:0}.ng-products-opening .ng-products-opening-fallback{background:linear-gradient(135deg, var(--card), var(--muted));place-content:center;display:grid;position:absolute;inset:0}.ng-products-opening .ng-products-opening-gridmark{grid-template-columns:repeat(2,4.5rem);gap:.8rem;display:grid;transform:rotate(-12deg)}.ng-products-opening .ng-products-opening-gridmark i{aspect-ratio:1;border:1px solid var(--primary);border-radius:var(--radius);background:color-mix(in srgb, var(--primary) 6%, transparent)}.ng-products-opening .ng-products-opening-gridmark i:last-child{border-color:var(--accent);background:var(--accent-subtle)}.ng-products-opening .ng-products-opening-rule{background:var(--border);width:14rem;height:1px;margin-block-start:2.5rem}@media (max-width:1023px){.ng-products-opening .ng-products-opening-grid{grid-template-columns:minmax(0,1fr);gap:2.3rem;padding-block:3rem}.ng-products-opening h1{font-size:clamp(1.85rem,5vw,2.8rem)}.ng-products-opening .ng-products-opening-visual{aspect-ratio:1.9;max-height:21rem}}@media (max-width:479px){.ng-products-opening .ng-products-opening-grid{padding-block:2.5rem}.ng-products-opening .ng-products-opening-description{margin-block:1.2rem 1.5rem}.ng-products-opening .ng-products-opening-visual{aspect-ratio:1.65}}.ng-solutions-apps{padding-block:var(--site-section-y)}.ng-solutions-apps .ng-solutions-apps-intro{grid-template-columns:1fr 1fr;align-items:end;gap:3rem;margin-block-end:2.5rem;display:grid}.ng-solutions-apps .ng-solutions-apps-eyebrow{letter-spacing:.08em;margin-block-end:.75rem;font-size:.8125rem;font-weight:600}.ng-solutions-apps h2{letter-spacing:-.025em;font-size:clamp(1.65rem,3vw,2.5rem)}.ng-solutions-apps .ng-solutions-apps-lead{max-width:35rem;font-size:1rem;line-height:1.9}.ng-solutions-apps .ng-solutions-apps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.ng-solutions-apps .ng-solutions-apps-panel{border:1px solid var(--border);border-radius:var(--radius);border-block-start:3px solid var(--primary);padding:clamp(1.5rem,3vw,2.75rem)}.ng-solutions-apps .ng-solutions-apps-panel-top{align-items:center;gap:1.25rem;margin-block-end:2rem;display:flex}.ng-solutions-apps .ng-solutions-apps-panel-top p{font-size:.8125rem}.ng-solutions-apps .ng-solutions-apps-icon{border-radius:var(--radius);background:var(--card);width:3.5rem;height:3.5rem;color:var(--primary);justify-content:center;align-items:center;display:flex}.ng-solutions-apps h3{margin-block-end:.875rem;font-size:1.5rem;font-weight:600}.ng-solutions-apps .ng-solutions-apps-description{max-width:29rem;font-size:.9375rem;line-height:1.9}.ng-solutions-apps .ng-solutions-apps-action{justify-content:space-between;align-items:center;gap:1.5rem;margin-block-start:2rem;display:flex}.ng-solutions-apps .ng-solutions-apps-action p{font-size:.9375rem}@media (max-width:767px){.ng-solutions-apps .ng-solutions-apps-intro{grid-template-columns:1fr;gap:1.25rem;margin-block-end:2rem}.ng-solutions-apps .ng-solutions-apps-grid{grid-template-columns:1fr;gap:1rem}.ng-solutions-apps .ng-solutions-apps-panel-top{margin-block-end:1.5rem}.ng-solutions-apps .ng-solutions-apps-action{flex-direction:column;align-items:start}.ng-solutions-apps .ng-solutions-apps-action a{width:100%}}.ng-solutions-custom{padding-block:var(--site-section-y);border-block-start:1px solid var(--border)}.ng-solutions-custom-layout{align-items:start;gap:2.75rem;display:grid}.ng-solutions-custom-intro{max-inline-size:36rem}.ng-solutions-custom-eyebrow{align-items:center;gap:.7rem;margin-block-end:1.25rem;font-size:.875rem;font-weight:500;display:flex}.ng-solutions-custom h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.45}.ng-solutions-custom-intro>p{margin-block:1.5rem 2rem;font-size:1rem;line-height:1.95}.ng-solutions-custom-action{gap:1.5rem;min-block-size:3rem;padding-inline:1.5rem}.ng-solutions-custom-modes{border:1px solid var(--border);border-block-start:3px solid var(--primary);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.5rem)}.ng-solutions-custom-modes h3{margin:0;font-size:1.25rem;font-weight:600}.ng-solutions-custom-modes-lead{margin-block:.8rem 1.7rem;font-size:.875rem;line-height:1.85}.ng-solutions-custom-mode-list{margin:0}.ng-solutions-custom-mode{border-block-start:1px solid var(--border);gap:.35rem;padding-block:1rem;display:grid}.ng-solutions-custom-mode dt{font-size:.9375rem;font-weight:600}.ng-solutions-custom-mode dd{margin:0;font-size:.875rem;line-height:1.8}.ng-solutions-custom-mode:last-child{padding-block-end:0}@media (min-width:1024px){.ng-solutions-custom-layout{grid-template-columns:1fr 1fr;gap:5rem}.ng-solutions-custom-intro{padding-block-start:1rem}}@media (max-width:639px){.ng-solutions-custom-break{display:none}.ng-solutions-custom h2{max-inline-size:18em}.ng-solutions-custom-layout{gap:2rem}}.ng-solutions-hero{border-block-end:1px solid var(--border);padding-block:clamp(2.75rem,5vw,4.75rem)}.ng-solutions-hero .ng-solutions-hero-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.ng-solutions-hero .ng-solutions-hero-copy{min-width:0}.ng-solutions-hero .ng-solutions-hero-eyebrow{align-items:center;gap:.75rem;margin-block-end:1.25rem;font-size:.875rem;font-weight:500;display:flex}.ng-solutions-hero .ng-solutions-hero-eyebrow span{width:1.75rem;height:2px}.ng-solutions-hero h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,3.5vw,2.75rem);line-height:1.5}.ng-solutions-hero .ng-solutions-hero-description{max-width:34rem;margin-block:1.5rem 1.75rem;font-size:1rem;line-height:1.9}.ng-solutions-hero .ng-solutions-hero-action{gap:1.5rem;height:auto;min-height:3rem;padding-inline:1.5rem}.ng-solutions-hero .ng-solutions-hero-visual{aspect-ratio:5/4;border-radius:var(--radius);background:var(--card);min-width:0;position:relative;overflow:hidden}.ng-solutions-hero .ng-solutions-hero-visual img{object-position:center}.ng-solutions-hero .ng-solutions-hero-visual-mark{width:4rem;height:.3rem;position:absolute;inset-block-end:0;inset-inline-start:0}.ng-solutions-hero .ng-solutions-hero-map{background-image:linear-gradient(90deg, color-mix(in srgb, var(--primary) 5%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--primary) 5%, transparent) 1px, transparent 1px);background-size:28px 28px;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.ng-solutions-hero .ng-solutions-hero-map-node{text-align:center;background:var(--page-background);width:min(100%,16rem);color:var(--page-primary-ink);border:1px solid var(--page-border);border-radius:var(--radius);padding:.9rem 1rem;font-weight:500}.ng-solutions-hero .ng-solutions-hero-map-line{background:var(--primary);width:1px;height:1.5rem}@media (max-width:1023px){.ng-solutions-hero .ng-solutions-hero-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.ng-solutions-hero .ng-solutions-hero-visual{aspect-ratio:16/9;max-height:22rem}.ng-solutions-hero h1{font-size:clamp(1.65rem,5.6vw,2.75rem)}}@media (max-width:399px){.ng-solutions-hero h1{letter-spacing:-.04em;font-size:1.6rem}.ng-solutions-hero .ng-solutions-hero-map{padding:1rem}.ng-solutions-hero .ng-solutions-hero-map-node{padding-block:.45rem;font-size:.85rem}.ng-solutions-hero .ng-solutions-hero-map-line{height:.75rem}}.ng-solutions-systems{padding-block:var(--site-section-y)}.ng-solutions-systems .ng-solutions-systems-intro{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-block-end:2.5rem;display:grid}.ng-solutions-systems .ng-solutions-systems-eyebrow{letter-spacing:.08em;margin-block-end:1rem;font-size:.8125rem;font-weight:600}.ng-solutions-systems h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.75rem,3vw,2.625rem);line-height:1.5}.ng-solutions-systems .ng-solutions-systems-lead{max-width:34rem;margin:0;font-size:1rem;line-height:1.9}.ng-solutions-systems .ng-solutions-systems-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.ng-solutions-systems .ng-solutions-systems-card{border:1px solid var(--page-border);border-radius:var(--radius);border-block-start:3px solid var(--primary);padding:2rem}.ng-solutions-systems .ng-solutions-systems-card-top{justify-content:space-between;align-items:center;margin-block-end:1.75rem;display:flex}.ng-solutions-systems .ng-solutions-systems-icon{justify-content:center;align-items:center;display:inline-flex}.ng-solutions-systems .ng-solutions-systems-number{font-variant-numeric:tabular-nums;font-size:.875rem}.ng-solutions-systems h3{margin:0 0 1rem;font-size:1.375rem;font-weight:600}.ng-solutions-systems .ng-solutions-systems-description{min-height:6rem;margin:0;line-height:1.9}.ng-solutions-systems .ng-solutions-systems-scope{border-block-start-width:1px;margin-block-start:1.75rem;padding-block-start:1.25rem}.ng-solutions-systems .ng-solutions-systems-scope span{font-size:.75rem}.ng-solutions-systems .ng-solutions-systems-scope p{margin:.375rem 0 0;font-size:.875rem;font-weight:500}.ng-solutions-systems .ng-solutions-systems-action{justify-content:space-between;align-items:center;gap:2rem;margin-block-start:2rem;display:flex}.ng-solutions-systems .ng-solutions-systems-action p{margin:0;font-size:.875rem}@media (max-width:767px){.ng-solutions-systems .ng-solutions-systems-intro{grid-template-columns:1fr;gap:1.25rem;margin-block-end:2rem}.ng-solutions-systems .ng-solutions-systems-grid{grid-template-columns:1fr;gap:1rem}.ng-solutions-systems .ng-solutions-systems-card{padding:1.5rem}.ng-solutions-systems .ng-solutions-systems-description{min-height:0}.ng-solutions-systems .ng-solutions-systems-action{flex-direction:column;align-items:start;gap:1.25rem}}.ng-support-hero{border-block-end:1px solid var(--border)}.ng-support-hero .ng-support-hero-layout{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:clamp(3rem,6vw,5rem);display:grid}.ng-support-hero .ng-support-hero-copy{min-width:0}.ng-support-hero .ng-support-hero-eyebrow{align-items:center;gap:.75rem;margin-block-end:1.25rem;font-size:.875rem;font-weight:600;display:flex}.ng-support-hero .ng-support-hero-eyebrow:before{content:"";background:var(--accent);width:1.5rem;height:2px}.ng-support-hero h1{letter-spacing:-.025em;font-size:clamp(1.9rem,3.2vw,2.9rem);line-height:1.45}.ng-support-hero .ng-support-hero-description{max-width:35rem;margin-block:1.5rem 2rem;font-size:1rem;line-height:1.9}.ng-support-hero .ng-support-hero-media{aspect-ratio:4/3;border-radius:var(--radius);min-width:0;position:relative;overflow:hidden}.ng-support-hero .ng-support-hero-media img{object-position:center}.ng-support-hero .ng-support-hero-fallback{flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding:clamp(1.5rem,4vw,3rem);font-size:clamp(1rem,1.7vw,1.35rem);font-weight:500;display:flex}.ng-support-hero .ng-support-hero-fallback-line{background:var(--surface-primary-accent-ink);width:2.5rem;height:3px;margin-block-end:2rem}.ng-support-hero .ng-support-hero-fallback-divider{background:var(--surface-primary-muted);opacity:.35;width:100%;height:1px;margin-block:1.5rem}@media (max-width:1023px){.ng-support-hero .ng-support-hero-layout{grid-template-columns:1fr;gap:2rem}.ng-support-hero .ng-support-hero-media{aspect-ratio:16/8}.ng-support-hero h1{font-size:clamp(1.85rem,5vw,2.75rem)}}@media (max-width:639px){.ng-support-hero .ng-support-hero-layout{padding-block:2.75rem}.ng-support-hero .ng-support-hero-media{aspect-ratio:16/10}}.ng-support-operations{padding-block:var(--site-section-y)}.ng-support-operations-panel{border:1px solid var(--border);border-block-start:3px solid var(--primary);border-radius:var(--radius);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding:clamp(1.5rem,4vw,3.5rem);display:grid}.ng-support-operations-kicker{align-items:center;gap:.65rem;margin-block-end:1.25rem;font-size:.875rem;font-weight:500;display:flex}.ng-support-operations h2{margin:0 0 1.25rem;font-size:clamp(1.75rem,3vw,2.5rem)}.ng-support-operations-copy>p{max-width:35rem;margin:0;line-height:1.9}.ng-support-operations-action{white-space:normal;gap:1.5rem;height:auto;min-height:3rem;margin-block-start:2rem}.ng-support-operations-note{border-inline-start:1px solid var(--border);padding-inline-start:clamp(1.5rem,3vw,2.75rem)}.ng-support-operations-note h3{margin:0 0 .875rem;font-size:1.125rem}.ng-support-operations-note>p{margin:0 0 1.5rem;font-size:.9375rem}.ng-support-operations-note dl{margin:0}.ng-support-operations-note dl>div{border-block-start:1px solid var(--border);padding-block:1rem}.ng-support-operations-note dt{color:var(--primary-ink);margin-block-end:.3rem;font-size:.8125rem;font-weight:600}.ng-support-operations-note dd{margin:0;font-size:.9375rem;line-height:1.8}@media (max-width:767px){.ng-support-operations-panel{grid-template-columns:minmax(0,1fr);gap:2rem}.ng-support-operations-note{border-inline-start:0;border-block-start:1px solid var(--border);padding-block-start:1.75rem;padding-inline-start:0}.ng-support-operations-note dl>div:first-child{border-block-start:0;padding-block-start:0}}.ng-support-testing{padding-block:var(--site-section-y)}.ng-support-testing .ng-support-testing-heading{justify-content:space-between;align-items:end;gap:2rem;margin-block-end:2.5rem;display:flex}.ng-support-testing h2{max-width:22em;font-size:clamp(1.65rem,2.7vw,2.3rem)}.ng-support-testing .ng-support-testing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;display:grid}.ng-support-testing .ng-support-testing-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ng-support-testing .ng-support-testing-image{aspect-ratio:16/9;background:var(--secondary);position:relative}.ng-support-testing .ng-support-testing-fallback{width:100%;height:100%;color:var(--primary);background:linear-gradient(135deg, var(--secondary), var(--card));place-items:center;display:grid}.ng-support-testing .ng-support-testing-body{padding:var(--site-card-padding)}.ng-support-testing .ng-support-testing-action{justify-content:space-between;align-items:center;gap:1.5rem;margin-block-start:2rem;display:flex}@media (max-width:1023px){.ng-support-testing .ng-support-testing-heading{flex-direction:column;align-items:start;gap:1.25rem}}@media (max-width:639px){.ng-support-testing .ng-support-testing-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.ng-support-testing .ng-support-testing-action{flex-direction:column;align-items:stretch;gap:1rem}}
