/* Inter (variable: weight 400–700 + optical size) — one family for headings and text,
   the pattern used by Verkada, Ring, Arlo, Kisi, Securitas and Verisure. See TYPOGRAPHY.md. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
/* Metric-matched fallback so text doesn't jump when Inter arrives. */
@font-face{font-family:'Inter Fallback';src:local('Arial'),local('Helvetica Neue'),local('Roboto');ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%;size-adjust:107.12%;}

:root{--font-body:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--font-display:var(--font-body);}
html{font-optical-sizing:auto;}
body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;}
button,input,select,textarea{font-family:var(--font-body);}

/* Headings: semibold-to-bold with tight tracking; Inter switches to its display cut at large sizes. */
body :is(h1,h2,h3,h4,h5,h6),body :is(h1,h2,h3,h4,h5,h6)[class],.display,.display-italic{font-family:var(--font-display);font-weight:700;font-style:normal;letter-spacing:-.022em;text-wrap:balance;}
body h1,body h1[class],.hero h1,.page-hero h1,.lp-hero h1{font-size:clamp(2.25rem,4.4vw,3.75rem);line-height:1.06;letter-spacing:-.032em;}
body h2,body h2[class]{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.14;letter-spacing:-.026em;}
body h3,body h3[class]{font-size:clamp(1.2rem,1.8vw,1.375rem);line-height:1.3;font-weight:600;letter-spacing:-.014em;}
body h4,body h4[class]{font-size:1.0625rem;line-height:1.4;font-weight:600;letter-spacing:-.01em;}
.hero h1 em,.page-hero h1 em,.lp-hero h1 em{font-style:normal;font-weight:700;}
.hero p,.page-hero .lead,.lp-hero p{font-size:clamp(1.0625rem,1.9vw,1.2rem);line-height:1.6;max-width:60ch;}
p{text-wrap:pretty;}

/* Small text, labels, eyebrows */
body .text-sm{font-size:.9375rem;line-height:1.6;}
body .text-xs{font-size:.8125rem;line-height:1.5;}
.eyebrow-light,.eyebrow-dark{font-size:.8125rem;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;}
body .btn,body .btn-sm,body .btn-lg{font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.35;min-height:44px;letter-spacing:-.005em;}
body .input,.lp-input{font-family:var(--font-body);font-size:1rem;line-height:1.5;}
body .label,.lp-label{font-size:.9375rem;font-weight:600;line-height:1.4;letter-spacing:0;}

/* Figures: prices, stats and specs line up in columns. */
.bignum,.stat-num,.price,.svc-num,.step-n,.step-num,[data-figure]{font-variant-numeric:tabular-nums;}
.catalog-name,.svc-num,.stat-num,.step-num,.quote-mark,.quote-author{font-family:var(--font-body);}
.catalog-benefit,.lp-perk .d,.lp-form-card p.sub{font-size:.9375rem;line-height:1.6;}
.lp-step p,.lp-q p{font-size:1.0625rem;line-height:1.6;}
.gr-brand-name,.brand-mark + div > .display{font-family:var(--font-body);font-weight:700;}

@media(max-width:639px){body{font-size:1rem;}body h1,body h1[class],.hero h1,.page-hero h1,.lp-hero h1{font-size:2.125rem;line-height:1.1;}body h2,body h2[class]{font-size:1.65rem;}}
