/* Design tokens, document defaults, typography, buttons and form controls.
 * One definition per selector and condition. Edit the owning rule; do not append override blocks. */

:root {
  --ntc-radius-control: 0;
  --ntc-radius-surface: 0;
  --ntc-radius-detail: 0;
  --bs-border-radius: var(--ntc-radius-control);
  --bs-border-radius-sm: var(--ntc-radius-detail);
  --bs-border-radius-lg: var(--ntc-radius-surface);
  --bs-border-radius-xl: var(--ntc-radius-surface);
  --bs-border-radius-xxl: var(--ntc-radius-surface);
  --bs-border-radius-pill: 0;
  --font-primary: "Manrope",Arial,sans-serif;
  --ntc-red: #e30620;
  --ntc-accent-rgb: 227,6,32;
  --ntc-dark-accent: #ff747a;
  --express-yellow: #ffdd33;
  --express-yellow-hover: #e8c72e;
  --ntc-red-hover: #b0051a;
  --ntc-text-accent: var(--ntc-red);
  --ntc-charcoal: #202124;
  --ntc-black: var(--ntc-charcoal);
  --ntc-dark: var(--ntc-charcoal);
  --ntc-white: #fff;
  --ntc-light-gray: #f3f5f7;
  --ntc-border-gray: #dce3e9;
  --ntc-text-gray: #586979;
  --bs-font-sans-serif: var(--font-primary);
  --bs-body-font-family: var(--font-primary);
  --bs-primary: #e30620;
  --bs-primary-rgb: 227,6,32;
  --bs-link-color: #202124;
  --bs-link-hover-color: #b0051a;
  --ntc-section-label-size: .75rem;
  --ntc-section-title-size: clamp(2rem,3.4vw,3.25rem);
  --ntc-section-copy-size: clamp(.98rem,1.15vw,1.05rem);
  --ntc-motion-ease: cubic-bezier(.22,.65,.3,1);
  --ntc-motion-fast: .32s;
  --ntc-motion-base: .9s;
  --ntc-motion-image: 1.1s;
  --ntc-motion-distance: 14px;
  --ntc-motion-stagger: 110ms;
}

html {
  scroll-behavior: smooth;
}

button,
input,
select,
textarea {
  font-family: var(--font-primary);
}

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

.site-picture {
  display: contents;
}

h4,
h5,
h6 {
  color: var(--ntc-black);
  text-wrap: balance;
  font-weight: 700;
}

h1 {
  color: var(--ntc-black);
  text-wrap: balance;
  letter-spacing: -.045em;
  font-weight: 800;
  line-height: 1.08;
}

h2 {
  color: var(--ntc-black);
  text-wrap: balance;
  letter-spacing: -.035em;
  font-weight: 800;
  line-height: 1.15;
}

h3 {
  color: var(--ntc-black);
  text-wrap: balance;
  letter-spacing: -.025em;
  font-weight: 700;
  line-height: 1.25;
}

main {
  overflow: hidden;
}

main [id] {
  scroll-margin-top: 6rem;
}

.skip-link {
  z-index: 2000;
  position: absolute;
  top: 0;
  left: -999px;
}

.skip-link:focus {
  background: #fff;
  padding: .5rem 1rem;
  top: 1rem;
  left: 1rem;
}

.btn {
  letter-spacing: .3px;
  border-radius: var(--ntc-radius-control);
  padding: .85rem 1.5rem;
  font-size: .95rem;
  font-weight: 600;
  transition: all .3s;
}

.btn-primary {
  background: var(--ntc-red);
  border-color: var(--ntc-red);
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--ntc-red-hover);
  border-color: var(--ntc-red-hover);
  transform: translateY(-2px);
}

.btn-outline-light {
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #ffffff1a;
  --bs-btn-active-border-color: #fff;
  color: #fff;
  border: 2px solid #fffc;
}

.btn-outline-light:hover,
.btn-outline-light:focus-visible {
  color: #fff;
  background: #ffffff1a;
  border-color: #fff;
}

.btn-minimal {
  border: 1px solid var(--ntc-text-gray);
  color: var(--ntc-black);
  background: none;
}

.btn-minimal:hover,
.btn-minimal:focus {
  border-color: var(--ntc-red);
  color: var(--ntc-charcoal);
  background: #fff;
  transform: none;
}

.btn-minimal:focus-visible {
  outline: 2px solid var(--ntc-charcoal);
  outline-offset: 3px;
}

.btn-lg {
  padding: 1rem 1.8rem;
  font-size: 1rem;
}

.eyebrow {
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .8rem;
  font-weight: 700;
}

.section-space {
  padding: 5rem 0 8rem;
}

.form-label {
  font-size: .82rem;
  font-weight: 700;
}

.form-control,
.form-select {
  border-color: var(--ntc-border-gray);
  border-radius: var(--ntc-radius-control);
  padding: .75rem .85rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--ntc-red);
  box-shadow: 0 0 0 .2rem rgba(var(--ntc-accent-rgb), .16);
}

.text-primary {
  color: var(--ntc-red) !important;
}

.text-secondary {
  color: var(--ntc-text-gray) !important;
}

* {
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
  transition-duration: .3s;
  transition-timing-function: var(--ntc-motion-ease);
}

body {
  font-family: var(--font-primary);
  color: var(--ntc-black);
  font-weight: 400;
  line-height: 1.65;
  overflow-x: hidden;
}

p,
li,
a,
small,
span {
  overflow-wrap: anywhere;
}

@media (max-width:767.98px) {

  .container {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  .section-space {
    padding: 4rem 0 4.75rem;
  }

  :root {
    --ntc-motion-base: .78s;
    --ntc-motion-image: .95s;
    --ntc-motion-distance: 10px;
    --ntc-motion-stagger: 80ms;
  }
}

@media (max-width:575.98px) {

  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .section-space {
    padding: 3.75rem 0 4.25rem;
  }

  .btn {
    width: auto;
  }

  .row.g-4,
.row.g-5 {
    --bs-gutter-y: 1rem;
  }
}
