/*! 
https://serp.co/tools/css-reset/
<link rel="stylesheet" href="https://css.serp.co/css-reset/normalize.css/">
*/
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* @link https://utopia.fyi/type/calculator?c=318,18,1.1,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|5.25,3xs-s|2xs-s|xs-m|s-l|2xs-xs&g=s,l,xl,12 */
:root {
  --step--2: clamp(0.8rem, 0.9745rem + -0.2252vw, 0.9298rem);
  --step--1: clamp(1rem, 1.0306rem + -0.0394vw, 1.0227rem);
  --step-0: clamp(1.125rem, 1.0819rem + 0.2169vw, 1.25rem);
  --step-1: clamp(1.2375rem, 1.1254rem + 0.564vw, 1.5625rem);
  --step-2: clamp(1.3613rem, 1.1571rem + 1.0271vw, 1.9531rem);
  --step-3: clamp(1.4974rem, 1.1718rem + 1.6382vw, 2.4414rem);
  --step-4: clamp(1.6471rem, 1.1626rem + 2.4376vw, 3.0518rem);
  --step-5: clamp(1.8118rem, 1.121rem + 3.4757vw, 3.8147rem);
}

/* @link https://utopia.fyi/space/calculator?c=318,18,1.1,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|5.25,3xs-s|2xs-s|xs-m|s-l|2xs-xs|l-3xl|3xl-m|3xl-2xl|3xl-2xl&g=s,l,xl,12 */
:root {
  --space-3xs: clamp(0.3125rem, 0.3125rem + 0vw, 0.3125rem);
  --space-2xs: clamp(0.5625rem, 0.5409rem + 0.1085vw, 0.625rem);
  --space-xs: clamp(0.875rem, 0.8534rem + 0.1085vw, 0.9375rem);
  --space-s: clamp(1.125rem, 1.0819rem + 0.2169vw, 1.25rem);
  --space-m: clamp(1.6875rem, 1.6228rem + 0.3254vw, 1.875rem);
  --space-l: clamp(2.25rem, 2.1638rem + 0.4338vw, 2.5rem);
  --space-xl: clamp(3.375rem, 3.2457rem + 0.6508vw, 3.75rem);
  --space-2xl: clamp(4.5rem, 4.3275rem + 0.8677vw, 5rem);
  --space-3xl: clamp(5.9375rem, 5.7219rem + 1.0846vw, 6.5625rem);
  /* One-up pairs */
  --space-3xs-2xs: clamp(0.3125rem, 0.2047rem + 0.5423vw, 0.625rem);
  --space-2xs-xs: clamp(0.5625rem, 0.4332rem + 0.6508vw, 0.9375rem);
  --space-xs-s: clamp(0.875rem, 0.7457rem + 0.6508vw, 1.25rem);
  --space-s-m: clamp(1.125rem, 0.8663rem + 1.3015vw, 1.875rem);
  --space-m-l: clamp(1.6875rem, 1.4073rem + 1.41vw, 2.5rem);
  --space-l-xl: clamp(2.25rem, 1.7326rem + 2.603vw, 3.75rem);
  --space-xl-2xl: clamp(3.375rem, 2.8145rem + 2.82vw, 5rem);
  --space-2xl-3xl: clamp(4.5rem, 3.7886rem + 3.5792vw, 6.5625rem);
  /* Custom pairs */
  --space-3xs-s: clamp(0.3125rem, -0.0108rem + 1.6269vw, 1.25rem);
  --space-2xs-s: clamp(0.5625rem, 0.3254rem + 1.1931vw, 1.25rem);
  --space-xs-m: clamp(0.875rem, 0.5301rem + 1.7354vw, 1.875rem);
  --space-s-l: clamp(1.125rem, 0.6508rem + 2.3861vw, 2.5rem);
  --space-2xs-xs: clamp(0.5625rem, 0.4332rem + 0.6508vw, 0.9375rem);
  --space-l-3xl: clamp(2.25rem, 0.7626rem + 7.4837vw, 6.5625rem);
  --space-3xl-m: clamp(1.875rem, 7.3387rem + -7.0499vw, 5.9375rem);
  --space-3xl-2xl: clamp(5rem, 6.2608rem + -1.6269vw, 5.9375rem);
  --space-3xl-2xl: clamp(5rem, 6.2608rem + -1.6269vw, 5.9375rem);
}

/* @link https://utopia.fyi/grid/calculator?c=318,18,1.1,1240,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|5.25,3xs-s|2xs-s|xs-m|s-l|2xs-xs&g=s,l,xl,12 */
:root {
  --grid-max-width: 77.50rem;
  --grid-gutter: var(--space-s-l, clamp(1.125rem, 0.6508rem + 2.3861vw, 2.5rem));
  --grid-columns: 12;
}

.u-container {
  max-width: var(--grid-max-width);
  padding-inline: var(--grid-gutter);
  margin-inline: auto;
}

.u-grid {
  display: grid;
  gap: var(--grid-gutter);
}

/* Variable fonts usage:
:root { font-family: "Inter", sans-serif; }
@supports (font-variation-settings: normal) {
  :root { font-family: "InterV", sans-serif; font-optical-sizing: auto; }
} */
@font-face {
  font-family: InterV;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/InterV.woff2") format("woff2");
}
@font-face {
  font-family: InterV;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/InterV-Italic.woff2") format("woff2");
}
@font-feature-values InterV {
  @character-variant {
    cv01: 1;
    cv02: 2;
    cv03: 3;
    cv04: 4;
    cv05: 5;
    cv06: 6;
    cv07: 7;
    cv08: 8;
    cv09: 9;
    cv10: 10;
    cv11: 11;
    cv12: 12;
    cv13: 13;
    alt-1: 1; /* Alternate one */
    alt-3: 9; /* Flat-top three */
    open-4: 2; /* Open four */
    open-6: 3; /* Open six */
    open-9: 4; /* Open nine */
    lc-l-with-tail: 5; /* Lower-case L with tail */
    simplified-u: 6; /* Simplified u */
    alt-double-s: 7; /* Alternate German double s */
    uc-i-with-serif: 8; /* Upper-case i with serif */
    uc-g-with-spur: 10; /* Capital G with spur */
    single-story-a: 11; /* Single-story a */
    compact-lc-f: 12; /* Compact f */
    compact-lc-t: 13; /* Compact t */
  }
  @styleset {
    ss01: 1;
    ss02: 2;
    ss03: 3;
    ss04: 4;
    ss05: 5;
    ss06: 6;
    ss07: 7;
    ss08: 8;
    open-digits: 1; /* Open digits */
    disambiguation: 2; /* Disambiguation (with zero) */
    disambiguation-except-zero: 4; /* Disambiguation (no zero) */
    round-quotes-and-commas: 3; /* Round quotes &amp; commas */
    square-punctuation: 7; /* Square punctuation */
    square-quotes: 8; /* Square quotes */
    circled-characters: 5; /* Circled characters */
    squared-characters: 6; /* Squared characters */
  }
}
@font-feature-values Inter {
  @character-variant {
    cv01: 1;
    cv02: 2;
    cv03: 3;
    cv04: 4;
    cv05: 5;
    cv06: 6;
    cv07: 7;
    cv08: 8;
    cv09: 9;
    cv10: 10;
    cv11: 11;
    cv12: 12;
    cv13: 13;
    alt-1: 1; /* Alternate one */
    alt-3: 9; /* Flat-top three */
    open-4: 2; /* Open four */
    open-6: 3; /* Open six */
    open-9: 4; /* Open nine */
    lc-l-with-tail: 5; /* Lower-case L with tail */
    simplified-u: 6; /* Simplified u */
    alt-double-s: 7; /* Alternate German double s */
    uc-i-with-serif: 8; /* Upper-case i with serif */
    uc-g-with-spur: 10; /* Capital G with spur */
    single-story-a: 11; /* Single-story a */
    compact-lc-f: 12; /* Compact f */
    compact-lc-t: 13; /* Compact t */
  }
  @styleset {
    ss01: 1;
    ss02: 2;
    ss03: 3;
    ss04: 4;
    ss05: 5;
    ss06: 6;
    ss07: 7;
    ss08: 8;
    open-digits: 1; /* Open digits */
    disambiguation: 2; /* Disambiguation (with zero) */
    disambiguation-except-zero: 4; /* Disambiguation (no zero) */
    round-quotes-and-commas: 3; /* Round quotes &amp; commas */
    square-punctuation: 7; /* Square punctuation */
    square-quotes: 8; /* Square quotes */
    circled-characters: 5; /* Circled characters */
    squared-characters: 6; /* Squared characters */
  }
}
@font-feature-values InterDisplay {
  @character-variant {
    cv01: 1;
    cv02: 2;
    cv03: 3;
    cv04: 4;
    cv05: 5;
    cv06: 6;
    cv07: 7;
    cv08: 8;
    cv09: 9;
    cv10: 10;
    cv11: 11;
    cv12: 12;
    cv13: 13;
    alt-1: 1; /* Alternate one */
    alt-3: 9; /* Flat-top three */
    open-4: 2; /* Open four */
    open-6: 3; /* Open six */
    open-9: 4; /* Open nine */
    lc-l-with-tail: 5; /* Lower-case L with tail */
    simplified-u: 6; /* Simplified u */
    alt-double-s: 7; /* Alternate German double s */
    uc-i-with-serif: 8; /* Upper-case i with serif */
    uc-g-with-spur: 10; /* Capital G with spur */
    single-story-a: 11; /* Single-story a */
    compact-lc-f: 12; /* Compact f */
    compact-lc-t: 13; /* Compact t */
  }
  @styleset {
    ss01: 1;
    ss02: 2;
    ss03: 3;
    ss04: 4;
    ss05: 5;
    ss06: 6;
    ss07: 7;
    ss08: 8;
    open-digits: 1; /* Open digits */
    disambiguation: 2; /* Disambiguation (with zero) */
    disambiguation-except-zero: 4; /* Disambiguation (no zero) */
    round-quotes-and-commas: 3; /* Round quotes &amp; commas */
    square-punctuation: 7; /* Square punctuation */
    square-quotes: 8; /* Square quotes */
    circled-characters: 5; /* Circled characters */
    squared-characters: 6; /* Squared characters */
  }
}
body {
  font-family: InterV, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif;
  color: var(--col-text-copy);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: var(--step-0);
  font-weight: 721;
  padding: 0;
  margin: 0;
}

p,
ol,
ul,
li,
dd,
dt,
td,
th,
tbody,
tfoot,
thead,
cite,
caption {
  font-size: var(--step-0);
  font-weight: 421;
  padding: 0;
  margin: 0;
}

p {
  margin-block-end: var(--space-2xs);
  line-height: 1.45;
}

strong,
b,
em {
  font-weight: 600;
}

.heading {
  font-size: var(--step-3);
  font-weight: 721;
  margin-block-start: var(--step-3);
  margin-block-end: var(--space-s);
  font-style: italic;
}
.heading-title {
  font-size: var(--step-5);
  margin-block-start: var(--step-5);
  margin-block-end: var(--space-m);
  line-height: 1;
  text-align: center;
}
.heading-big {
  font-size: var(--step-4);
  margin-block-start: var(--step-4);
  margin-block-end: var(--space-s);
  text-align: center;
}
.heading-sub {
  font-size: var(--step-2);
  margin-block-start: var(--step-2);
  margin-block-end: var(--space-xs);
}
.heading-subsub {
  font-size: var(--step-1);
  margin-block-start: var(--step-1);
  margin-block-end: var(--space-2xs);
}
.heading-intext {
  font-size: var(--step-0);
  margin-block-start: var(--step-0);
  margin-block-end: var(--space-3xs);
}

a {
  color: var(--col-interact-link);
}
a:hover {
  color: var(--col-interact-link-hover);
}
a:active {
  color: var(--col-interact-link-active);
}
a:focus {
  color: var(--col-interact-focus);
}

nav#mainnav a {
  color: var(--col-interact-nav-link);
}
nav#mainnav a:hover {
  color: var(--col-interact-nav-link-hover);
}
nav#mainnav a:active {
  color: var(--col-interact-nav-link-active);
}
nav#mainnav a:focus {
  color: var(--col-interact-focus);
  text-decoration: underline;
}

:root {
  --col-base-dark: oklch(0.2691 0.0592 276);
  --col-text-copy: oklch(0.2691 0.0592 276);
  --col-text-copy-invers: oklch(0.9603 0.0099 276);
  --col-neutral-000: oklch(0.3309 0.0296 276);
  --col-neutral-010: oklch(0.3987 0.0296 276);
  --col-neutral-020: oklch(0.4664 0.0296 276);
  --col-neutral-030: oklch(0.5342 0.0296 276);
  --col-neutral-040: oklch(0.6019 0.0296 276);
  --col-neutral-050: oklch(0.6697 0.0296 276);
  --col-neutral-060: oklch(0.7374 0.0296 276);
  --col-neutral-070: oklch(0.8052 0.0296 276);
  --col-neutral-080: oklch(0.8729 0.0296 276);
  --col-neutral-090: oklch(0.9407 0.0296 276);
  --col-neutral-100: oklch(1 0 276);
  --col-interact-link: oklch(0.5368 0.1258 220.76);
  --col-interact-link-hover: oklch(0.724 0.1258 220.76);
  --col-interact-link-active: oklch(0.7567 0.1258 220.76);
  --col-interact-nav-link: oklch(0.2691 0.0592 276);
  --col-interact-nav-link-hover: oklch(0.724 0.1258 220.76);
  --col-interact-nav-link-active: oklch(0.7567 0.1258 220.76);
  --col-interact-focus: oklch(0.632 0.2491 354.18);
}

#wrapper {
  overflow-y: auto;
  scroll-behavior: smooth;
}

img {
  max-width: 100%;
  height: auto;
}

.ctacontainer {
  padding-block: var(--space-xs);
}

* {
  transition: all 0.15s;
}

header#pageheader {
  background-color: var(--col-neutral-100);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: var(--space-xs) var(--space-2xs);
  text-align: center;
  background-image: url(../img/lines-1.svg);
  background-repeat: no-repeat;
  background-size: calc(20 * var(--space-3xl-2xl));
  background-size: cover;
  background-position: 15% bottom;
}
header#pageheader > * {
  text-wrap: balance;
}
header#pageheader #logo {
  margin-block-end: var(--space-xs);
}
header#pageheader #logo img {
  height: var(--space-2xl-3xl);
  width: auto;
}
header#pageheader .intro {
  max-width: 25em;
  line-height: 1.35;
  font-size: var(--step-2);
  margin-block-end: var(--space-m);
}

nav#mainnav {
  margin-block-end: var(--space-m);
}
nav#mainnav ul {
  list-style-type: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-2xs) var(--space-s);
  margin-block-end: var(--space-s);
}
nav#mainnav ul li {
  padding: 0;
  margin: 0;
}
nav#mainnav ul li a {
  text-decoration: none;
  color: var(--col-interact-nav-link);
  font-weight: 671;
}

.button {
  text-decoration: none;
  background-color: var(--col-interact-link);
  font-weight: 621;
  letter-spacing: 0.025em;
  text-shadow: 0 0 3px var(--col-base-dark);
  color: var(--col-text-copy-invers);
  padding: var(--space-2xs) var(--space-s);
  border-radius: var(--space-3xl);
  display: inline-block;
}
.button:hover {
  background-color: var(--col-interact-focus);
  color: var(--col-text-copy-invers);
  transform: scale(1.05);
}
.button-inactive {
  background-color: var(--col-neutral-090);
  color: var(--col-neutral-030);
  cursor: pointer;
  text-shadow: none;
}

section {
  padding-block: var(--space-xl-2xl) var(--space-2xl-3xl);
}

.invers {
  background-color: var(--col-base-dark);
  color: var(--col-neutral-100);
}

.grid-auto-fit {
  --grid-min-col-size: 230px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-min-col-size), 100%), 1fr));
  gap: 1rem;
}

.product {
  border: 1px solid var(--col-neutral-090);
  padding: var(--space-s);
  border-radius: var(--space-s);
}

img.applogo {
  height: var(--space-2xl-3xl);
}

section#contact {
  background-image: url(../img/lines-2.svg);
  background-repeat: no-repeat;
  background-size: calc(30 * var(--space-3xl-2xl));
  background-size: cover;
  background-position: 50% top;
}

footer {
  color: var(--col-text-copy-invers);
  background-color: var(--col-base-dark);
  padding: 3rem 0;
  margin-top: 4rem;
}
footer .footer-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}
footer .footer-content p {
  margin: 0.5rem 0;
  line-height: 1.6;
  color: var(--col-text-copy-invers);
}
footer .footer-content a {
  color: var(--col-text-copy-invers);
  text-decoration: none;
  transition: color 0.3s ease;
}
footer .footer-content a:hover {
  color: var(--col-neutral-090);
  text-decoration: underline;
}
footer .company-info,
footer .contact-info,
footer .legal-info {
  margin-bottom: 1.5rem;
}
footer .copyright {
  grid-column: 1/-1;
  text-align: center;
  padding-top: 2rem;
  border-top: 1px solid var(--col-neutral-090);
  margin-top: 1rem;
  font-size: 0.9rem;
  color: var(--col-text-copy-invers);
}

@media (max-width: 768px) {
  footer .footer-content {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

/*# sourceMappingURL=style.css.map */
