/* Next Step | shared visual language v1.0 — typography & iconography */
:root{--ns-font:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--ns-ink:#000;--ns-paper:#fff;--ns-accent:#DCF139;--ns-copy-size:16px;--ns-copy-leading:1.62;--ns-copy-tracking:-.005em;--ns-h-tracking:-.05em;--ns-h-leading:1.15;--ns-icon-stroke:1.5;--ns-icon-size:24px}
html{font-size:16px}body{font-family:var(--ns-font)!important;font-size:var(--ns-copy-size);line-height:var(--ns-copy-leading);letter-spacing:var(--ns-copy-tracking)}
h1,h2,h3,h4,h5,h6,.section-title,.statement h2,.closing h2,.inner-hero h1,.inner-section h2,.inner-end h2,.experience-copy h2{font-family:var(--ns-font)!important;font-weight:700;letter-spacing:var(--ns-h-tracking)!important;line-height:var(--ns-h-leading)!important}
p{line-height:1.65}button,input,select,textarea{font-family:var(--ns-font)!important}
/* Icon family: outline, square optical grid, no colored badges */
.ns-icon{width:var(--ns-icon-size);height:var(--ns-icon-size);display:inline-block;vertical-align:middle;flex:none;fill:none;stroke:currentColor;stroke-width:var(--ns-icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.ns-icon--sm{width:18px;height:18px}.ns-icon--lg{width:28px;height:28px}
.icon{stroke-width:1.5}.why-icon svg{stroke-width:1.5!important}
/* A consistent, restrained typography scale */
.eyebrow{font-family:var(--ns-font)!important;font-size:11px!important;letter-spacing:.11em!important;font-weight:650!important;line-height:1.5!important}
.hero h1{letter-spacing:-.058em!important;line-height:1.095!important}
.section-head h2,.section-title,.inner-section h2{letter-spacing:-.05em!important;line-height:1.14!important}
.why-head h2,.closing h2,.inner-end h2{letter-spacing:-.055em!important;line-height:1.13!important}
.hero-lede,.hero p,.inner-hero p{line-height:1.65!important}
.device-info p,.why-card p,.process-card p,.simple-tile p,.inner-section>p,.inner-section .section-desc{font-family:var(--ns-font)!important;font-size:15px;line-height:1.62}
.device-heading h3,.why-card h3,.process-card h3,.simple-tile h3{letter-spacing:-.035em!important;line-height:1.25!important}
.button,.btn,.nav-cta,.nav-button{font-family:var(--ns-font)!important;font-weight:650!important;letter-spacing:-.01em;line-height:1.25}
/* Restraint: keep the interface sharp and avoid ornamental icon backgrounds */
.button,.btn,.nav-cta,.logo-mark,.brand-mark,.device-card,.why-card,.quote-dialog,.simple-tile,.product,.inner-end .btn{border-radius:0!important}
@media(max-width:700px){body{font-size:16px}.hero-lede,.hero p,.inner-hero p{font-size:16px!important;line-height:1.6!important}.device-info p,.why-card p,.process-card p,.simple-tile p{font-size:15px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
