*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Inter, Inter Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
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;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-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.
*/

::-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 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

@font-face {
  font-family: 'Manrope';

  src: url('../fonts/manrope-var-latin.woff2') format('woff2');

  font-weight: 200 800;

  font-style: normal;

  /* `optional`, not `swap`: a late swap reflowed headings and cost 0.17 CLS.
       Both faces are preloaded, so the 100ms window is met in practice. */

  font-display: optional;

  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';

  src: url('../fonts/inter-var-latin.woff2') format('woff2');

  font-weight: 100 900;

  font-style: normal;

  font-display: optional;

  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;
}

/* Metric-matched fallbacks. Without these, the swap from the system font to
     Manrope/Inter changes line metrics and shifts the page (measured CLS 0.33).
     These descriptors make the fallback occupy the same space as the real font,
     so the swap is invisible in layout terms. */

@font-face {
  font-family: 'Manrope Fallback';

  src: local('Arial');

  size-adjust: 104%;

  ascent-override: 100%;

  descent-override: 27%;

  line-gap-override: 0%;
}

@font-face {
  font-family: 'Inter Fallback';

  src: local('Arial');

  size-adjust: 107%;

  ascent-override: 90%;

  descent-override: 22%;

  line-gap-override: 0%;
}

:root {
  color-scheme: light;
  --header-h: 5rem;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

body {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-family: Inter, Inter Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(62 62 64 / var(--tw-text-opacity, 1));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Guards against any single wide child forcing a horizontal scrollbar. */
  overflow-x: hidden;
}

h1, h2, h3, h4 {
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

/* Keyboard focus only — never a focus ring on mouse click. */

:focus-visible {
  outline: 2px solid #E51D2A;
  outline-offset: 3px;
  border-radius: 2px;
}

:focus:not(:focus-visible) {
  outline: none;
}

::-moz-selection {
  background: #E51D2A;
  color: #fff;
}

::selection {
  background: #E51D2A;
  color: #fff;
}

/* The mobile menu locks the body; keep the scrollbar gutter stable. */

body.is-locked {
  overflow: hidden;
  touch-action: none;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .container {
    max-width: 1536px;
  }
}

.shell {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 84rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 640px) {
  .shell {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1024px) {
  .shell {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

/* Small red text. The tint follows the surface behind it: the brand red is
     only 4.24:1 on the light background and 4.05:1 on the dark one, so neither
     clears WCAG AA at this size. Each surface gets the red that does. */

.eyebrow,
  .step-number {
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  --tw-text-opacity: 1;
  color: rgb(200 18 30 / var(--tw-text-opacity, 1));
}

.bg-dark .eyebrow, .bg-soft .eyebrow,
  .bg-dark .step-number, .bg-soft .step-number {
  --tw-text-opacity: 1;
  color: rgb(255 77 87 / var(--tw-text-opacity, 1));
}

/* The restrained red rule that repeats across section headers. */

.rule::before {
  content: '';
  margin-bottom: 1.25rem;
  display: block;
  height: 1px;
  width: 3rem;
  --tw-bg-opacity: 1;
  background-color: rgb(229 29 42 / var(--tw-bg-opacity, 1));
}

.\!btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.\!btn:disabled {
  pointer-events: none;
  opacity: 0.45;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.btn:disabled {
  pointer-events: none;
  opacity: 0.45;
}

.\!btn {
  min-height: 48px !important;
}

.btn {
  min-height: 48px;
}

.btn-primary {
  --tw-bg-opacity: 1;
  background-color: rgb(229 29 42 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-primary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(165 14 24 / var(--tw-bg-opacity, 1));
}

.btn-dark .eyebrow,.btn-dark .step-number {
  --tw-text-opacity: 1;
  color: rgb(255 77 87 / var(--tw-text-opacity, 1));
}

.btn-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(17 18 20 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-dark:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(62 62 64 / var(--tw-bg-opacity, 1));
}

.btn-outline {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.btn-outline:hover {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
}

.btn-ghost-light {
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.35);
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-ghost-light:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

/* Underline that draws in on hover — used on editorial text links. */

.link-underline {
  position: relative;
  display: inline-block;
  background-image: linear-gradient(#E51D2A, #E51D2A);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 1px;
  transition: background-size 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.link-underline:hover {
  background-size: 100% 1px;
}

.card {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.card:hover {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
}

.\!field {
  display: block;
  width: 100%;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.9375rem;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.\!field::-moz-placeholder {
  color: rgb(107 107 110 / 0.7);
}

.\!field::placeholder {
  color: rgb(107 107 110 / 0.7);
}

.\!field:focus {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(17 18 20 / var(--tw-ring-opacity, 1));
}

.field {
  display: block;
  width: 100%;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.9375rem;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.field::-moz-placeholder {
  color: rgb(107 107 110 / 0.7);
}

.field::placeholder {
  color: rgb(107 107 110 / 0.7);
}

.field:focus {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(17 18 20 / var(--tw-ring-opacity, 1));
}

.\!field {
  min-height: 48px !important;
}

.field {
  min-height: 48px;
}

.\!field[aria-invalid='true'] {
  --tw-border-opacity: 1;
  border-color: rgb(229 29 42 / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(229 29 42 / var(--tw-ring-opacity, 1));
}

.field[aria-invalid='true'] {
  --tw-border-opacity: 1;
  border-color: rgb(229 29 42 / var(--tw-border-opacity, 1));
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(229 29 42 / var(--tw-ring-opacity, 1));
}

.field-label {
  margin-bottom: 0.375rem;
  display: block;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.field-error {
  margin-top: 0.375rem;
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(200 18 30 / var(--tw-text-opacity, 1));
}

.field-error:empty {
  display: none;
}

/* Filter chips (businesses / brands / news / careers). */

.chip {
  display: inline-flex;
  align-items: center;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(62 62 64 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.chip:hover {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.chip {
  min-height: 40px;
}

.chip[aria-pressed='true'] .eyebrow,.chip[aria-pressed='true'] .step-number {
  --tw-text-opacity: 1;
  color: rgb(255 77 87 / var(--tw-text-opacity, 1));
}

.chip[aria-pressed='true'] {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(17 18 20 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* The logo lockup is sized by height with an automatic width. Pinning its
     intrinsic ratio means the browser reserves the correct width before the PNG
     arrives, rather than reflowing the header and footer once it loads. */

.logo-lockup {
  aspect-ratio: 760 / 262;
}

/* The header carries both logo variants and shows whichever suits the
     surface behind it: reversed over a transparent hero, dark once solid. */

[data-header] .logo-reversed {
  display: none;
}

[data-header][data-header-overlay]:not(.is-scrolled):not(.is-menu-open) .logo-reversed {
  display: block;
}

[data-header][data-header-overlay]:not(.is-scrolled):not(.is-menu-open) .logo-dark {
  display: none;
}

/* Active primary-nav item: a short red rule under the label. */

.nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  min-height: 40px;
}

.nav-link::after {
  content: '';
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  bottom: -0.125rem;
  height: 0.125rem;
  transform-origin: left;
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(229 29 42 / var(--tw-bg-opacity, 1));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.nav-link:hover::after,
  .nav-link.is-active::after {
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* A nav item that opens a mega-menu. */

.nav-trigger {
  gap: 0.375rem;
}

.nav-trigger[aria-expanded='true'] svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.nav-trigger[aria-expanded='true']::after {
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* ---- Mega-menu -------------------------------------------------------
     A full-width panel dropping from the header. Bordered rather than
     shadowed, in keeping with the rest of the system. */

.mega {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 100%;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
  box-shadow: 0 18px 40px -28px rgba(17, 18, 20, 0.28);
}

.mega[hidden] {
  display: none;
}

.mega-title {
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  --tw-text-opacity: 1;
  color: rgb(107 107 110 / var(--tw-text-opacity, 1));
}

.mega-link {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  display: block;
  border-left-width: 2px;
  border-color: transparent;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.mega-link:hover,
  .mega-link:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(229 29 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 243 / var(--tw-bg-opacity, 1));
}

.mega-link-label {
  display: block;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.mega-link-note {
  margin-top: 0.125rem;
  display: block;
  font-size: 0.8125rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(107 107 110 / var(--tw-text-opacity, 1));
}

.mega-promo {
  border-left-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  padding-left: 2rem;
}

.mega-cta {
  margin-top: 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.mega-brand {
  display: flex;
  height: 4rem;
  align-items: center;
  justify-content: center;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.mega-brand:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 243 / var(--tw-bg-opacity, 1));
}

/* Mobile navigation panel: slides in from the right, full-height. */

.menu-panel {
  position: fixed;
  inset: 0px;
  z-index: 60;
  background-color: rgb(17 18 20 / 0.45);
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (min-width: 1024px) {
  .menu-panel {
    display: none;
  }
}

.menu-panel.is-open {
  opacity: 1;
}

.menu-surface {
  margin-left: auto;
  display: flex;
  height: 100%;
  width: 100%;
  max-width: 24rem;
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  flex-direction: column;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.menu-panel.is-open .menu-surface {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: left;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
  min-height: 56px;
}

.menu-link.is-active {
  --tw-text-opacity: 1;
  color: rgb(200 18 30 / var(--tw-text-opacity, 1));
}

.menu-link[aria-expanded='true'] svg {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.menu-sublink {
  display: block;
  border-left-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  padding-left: 1rem;
  font-size: 0.9375rem;
  --tw-text-opacity: 1;
  color: rgb(107 107 110 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  min-height: 44px;
}

.menu-sublink:hover,
  .menu-sublink:focus-visible {
  --tw-border-opacity: 1;
  border-color: rgb(229 29 42 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

/* Space reservation for JavaScript-rendered grids.
     These containers start empty and are filled once the data scripts run. On a
     long page the browser often paints before that happens, so the injected
     content pushes everything below it down — measured at CLS 0.333 on the
     businesses page before this was added.

     The reservation applies only while the container is :empty, so it costs
     nothing once the real content is in place and can never clip it. Values come
     from measuring the rendered grids at 390px, 768px and 1440px, and are set
     per container via --reserve-* custom properties in the markup. */

[data-reserve]:empty {
  min-height: var(--reserve-sm, 0);
}

@media (min-width: 640px) {
  [data-reserve]:empty {
    min-height: var(--reserve-md, 0);
  }
}

@media (min-width: 1024px) {
  [data-reserve]:empty {
    min-height: var(--reserve-lg, 0);
  }
}

.skip-link .eyebrow,.skip-link .step-number {
  --tw-text-opacity: 1;
  color: rgb(255 77 87 / var(--tw-text-opacity, 1));
}

.skip-link {
  position: absolute;
  left: 1rem;
  top: 1rem;
  z-index: 100;
  --tw-translate-y: -6rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-bg-opacity: 1;
  background-color: rgb(17 18 20 / var(--tw-bg-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.skip-link:focus {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Numeric display used for verified corporate figures. */

.stat-value {
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  font-weight: 800;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.search-overlay {
  position: fixed;
  inset: 0px;
  z-index: 70;
  background-color: rgb(17 18 20 / 0.55);
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.search-overlay.is-open {
  opacity: 1;
}

.search-overlay[hidden] {
  display: none;
}

.search-surface {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  max-height: 82vh;
  width: 100%;
  max-width: 48rem;
  --tw-translate-y: -0.75rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  flex-direction: column;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.search-overlay.is-open .search-surface {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Hide the browser's native clear button on type="search" — it renders in the
     UA's own colour and sits next to our own close control. */

[data-search-input]::-webkit-search-cancel-button,
  [data-search-input]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.search-hit {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  display: block;
  border-left-width: 2px;
  border-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.search-hit:hover,
  .search-hit:focus-visible,
  .search-hit.is-active {
  --tw-border-opacity: 1;
  border-color: rgb(229 29 42 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 243 / var(--tw-bg-opacity, 1));
}

.search-hit-title {
  display: block;
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.search-hit-sub {
  margin-top: 0.125rem;
  display: block;
  overflow: hidden;
  font-size: 0.8125rem;
  line-height: 1.375;
  --tw-text-opacity: 1;
  color: rgb(107 107 110 / var(--tw-text-opacity, 1));
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Floating action stack, bottom-right. */

.fab {
  display: inline-flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.pointer-events-none {
  pointer-events: none;
}

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.inset-0 {
  inset: 0px;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-7 {
  bottom: 1.75rem;
}

.bottom-\[5\.5rem\] {
  bottom: 5.5rem;
}

.right-5 {
  right: 1.25rem;
}

.top-0 {
  top: 0px;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.col-span-full {
  grid-column: 1 / -1;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.-mr-2 {
  margin-right: -0.5rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-1\.5 {
  margin-top: 0.375rem;
}

.mt-10 {
  margin-top: 2.5rem;
}

.mt-12 {
  margin-top: 3rem;
}

.mt-14 {
  margin-top: 3.5rem;
}

.mt-16 {
  margin-top: 4rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-2\.5 {
  margin-top: 0.625rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-5 {
  margin-top: 1.25rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-7 {
  margin-top: 1.75rem;
}

.mt-8 {
  margin-top: 2rem;
}

.mt-9 {
  margin-top: 2.25rem;
}

.mt-px {
  margin-top: 1px;
}

.mt-section {
  margin-top: clamp(4.5rem, 3rem + 7vw, 9rem);
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.\!grid {
  display: grid !important;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.aspect-\[16\/10\] {
  aspect-ratio: 16/10;
}

.aspect-\[16\/9\] {
  aspect-ratio: 16/9;
}

.aspect-\[21\/9\] {
  aspect-ratio: 21/9;
}

.aspect-\[4\/3\] {
  aspect-ratio: 4/3;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-16 {
  height: 4rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-5 {
  height: 1.25rem;
}

.h-7 {
  height: 1.75rem;
}

.h-8 {
  height: 2rem;
}

.h-9 {
  height: 2.25rem;
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.max-h-11 {
  max-height: 2.75rem;
}

.max-h-16 {
  max-height: 4rem;
}

.max-h-20 {
  max-height: 5rem;
}

.max-h-7 {
  max-height: 1.75rem;
}

.min-h-0 {
  min-height: 0px;
}

.min-h-\[62svh\] {
  min-height: 62svh;
}

.min-h-\[70svh\] {
  min-height: 70svh;
}

.min-h-\[7rem\] {
  min-height: 7rem;
}

.min-h-\[8rem\] {
  min-height: 8rem;
}

.min-h-\[92svh\] {
  min-height: 92svh;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-16 {
  width: 4rem;
}

.w-4 {
  width: 1rem;
}

.w-5 {
  width: 1.25rem;
}

.w-7 {
  width: 1.75rem;
}

.w-auto {
  width: auto;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w-full {
  width: 100%;
}

.w-px {
  width: 1px;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-\[16rem\] {
  max-width: 16rem;
}

.max-w-\[42ch\] {
  max-width: 42ch;
}

.max-w-full {
  max-width: 100%;
}

.max-w-md {
  max-width: 28rem;
}

.max-w-prose {
  max-width: 68ch;
}

.max-w-sm {
  max-width: 24rem;
}

.flex-1 {
  flex: 1 1 0%;
}

.shrink-0 {
  flex-shrink: 0;
}

.grow {
  flex-grow: 1;
}

.translate-y-3 {
  --tw-translate-y: 0.75rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-px {
  gap: 1px;
}

.gap-x-10 {
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}

.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}

.gap-x-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-0\.5 {
  row-gap: 0.125rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-10 {
  row-gap: 2.5rem;
}

.gap-y-2 {
  row-gap: 0.5rem;
}

.gap-y-8 {
  row-gap: 2rem;
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-line > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-divide-opacity, 1));
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-y-auto {
  overflow-y: auto;
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-l-2 {
  border-left-width: 2px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-2 {
  border-top-width: 2px;
}

.border-dashed {
  border-style: dashed;
}

.border-dark {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
}

.border-line {
  --tw-border-opacity: 1;
  border-color: rgb(217 217 214 / var(--tw-border-opacity, 1));
}

.border-red {
  --tw-border-opacity: 1;
  border-color: rgb(229 29 42 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}

.bg-\[\#25D366\] {
  --tw-bg-opacity: 1;
  background-color: rgb(37 211 102 / var(--tw-bg-opacity, 1));
}

.bg-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(17 18 20 / var(--tw-bg-opacity, 1));
}

.bg-dark\/60 {
  background-color: rgb(17 18 20 / 0.6);
}

.bg-light {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 243 / var(--tw-bg-opacity, 1));
}

.bg-line {
  --tw-bg-opacity: 1;
  background-color: rgb(217 217 214 / var(--tw-bg-opacity, 1));
}

.bg-red {
  --tw-bg-opacity: 1;
  background-color: rgb(229 29 42 / var(--tw-bg-opacity, 1));
}

.bg-soft {
  --tw-bg-opacity: 1;
  background-color: rgb(27 28 31 / var(--tw-bg-opacity, 1));
}

.bg-transparent {
  background-color: transparent;
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}

.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-4 {
  padding: 1rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-7 {
  padding: 1.75rem;
}

.p-8 {
  padding: 2rem;
}

.\!px-5 {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.\!py-2\.5 {
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.py-section {
  padding-top: clamp(4.5rem, 3rem + 7vw, 9rem);
  padding-bottom: clamp(4.5rem, 3rem + 7vw, 9rem);
}

.pb-14 {
  padding-bottom: 3.5rem;
}

.pb-16 {
  padding-bottom: 4rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-section {
  padding-bottom: clamp(4.5rem, 3rem + 7vw, 9rem);
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pt-10 {
  padding-top: 2.5rem;
}

.pt-14 {
  padding-top: 3.5rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-24 {
  padding-top: 6rem;
}

.pt-32 {
  padding-top: 8rem;
}

.pt-36 {
  padding-top: 9rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-\[12vh\] {
  padding-top: 12vh;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.font-display {
  font-family: Manrope, Manrope Fallback, system-ui, -apple-system, Segoe UI, sans-serif;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-\[0\.6875rem\] {
  font-size: 0.6875rem;
}

.text-\[0\.75rem\] {
  font-size: 0.75rem;
}

.text-\[0\.8125rem\] {
  font-size: 0.8125rem;
}

.text-\[0\.875rem\] {
  font-size: 0.875rem;
}

.text-\[0\.9375rem\] {
  font-size: 0.9375rem;
}

.text-\[1\.0625rem\] {
  font-size: 1.0625rem;
}

.text-\[1\.125rem\] {
  font-size: 1.125rem;
}

.text-\[1\.25rem\] {
  font-size: 1.25rem;
}

.text-\[1rem\] {
  font-size: 1rem;
}

.text-display-lg {
  font-size: clamp(2.25rem, 1.3rem + 3.8vw, 4.25rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
}

.text-display-md {
  font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.text-display-sm {
  font-size: clamp(1.4rem, 1.1rem + 1.3vw, 2rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.text-display-xl {
  font-size: clamp(2.75rem, 1.4rem + 5.6vw, 6rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.text-lead {
  font-size: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem);
  line-height: 1.6;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.not-italic {
  font-style: normal;
}

.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-\[1\.75\] {
  line-height: 1.75;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.\!tracking-eyebrow {
  letter-spacing: 0.16em !important;
}

.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}

.tracking-eyebrow {
  letter-spacing: 0.16em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.\!text-white\/70 {
  color: rgb(255 255 255 / 0.7) !important;
}

.text-dark {
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.text-graphite {
  --tw-text-opacity: 1;
  color: rgb(62 62 64 / var(--tw-text-opacity, 1));
}

.text-line {
  --tw-text-opacity: 1;
  color: rgb(217 217 214 / var(--tw-text-opacity, 1));
}

.text-muted {
  --tw-text-opacity: 1;
  color: rgb(107 107 110 / var(--tw-text-opacity, 1));
}

.text-red {
  --tw-text-opacity: 1;
  color: rgb(229 29 42 / var(--tw-text-opacity, 1));
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(200 18 30 / var(--tw-text-opacity, 1));
}

.text-red-bright {
  --tw-text-opacity: 1;
  color: rgb(255 77 87 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}

.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}

.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}

.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}

.accent-\[\#E51D2A\] {
  accent-color: #E51D2A;
}

.opacity-0 {
  opacity: 0;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-70 {
  opacity: 0.7;
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[background-color\2c border-color\2c color\2c transform\] {
  transition-property: background-color,border-color,color,transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-700 {
  transition-duration: 700ms;
}

.ease-editorial {
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Reveal-on-scroll. Content is visible by default and only hidden once JS
     confirms IntersectionObserver support, so no-JS visitors lose nothing. */

.js-reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

.js-reveal-ready [data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

.text-shadow-hero {
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

/* ---------------------------------------------------------------------------
   Self-hosted variable fonts. Both files are the full variable axis, so a
   single file per family covers every weight used across the site.
   Licence: SIL Open Font Licence 1.1 (Manrope, Inter).
--------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }

  .js-reveal-ready [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* The utility bar rolls out of the way on scroll; the header slides up to meet
   the top of the viewport in its place. */

[data-topbar] {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-topbar].is-hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

@media (min-width: 1024px) {
  [data-header].is-scrolled {
    top: 0;
  }
}

/* ---------------------------------------------------------------------------
   Global search overlay
--------------------------------------------------------------------------- */

.placeholder\:font-normal::-moz-placeholder {
  font-weight: 400;
}

.placeholder\:font-normal::placeholder {
  font-weight: 400;
}

.placeholder\:text-muted\/70::-moz-placeholder {
  color: rgb(107 107 110 / 0.7);
}

.placeholder\:text-muted\/70::placeholder {
  color: rgb(107 107 110 / 0.7);
}

.first\:mt-0:first-child {
  margin-top: 0px;
}

.hover\:border-dark:hover {
  --tw-border-opacity: 1;
  border-color: rgb(17 18 20 / var(--tw-border-opacity, 1));
}

.hover\:bg-light:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 243 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 29 42 / var(--tw-bg-opacity, 1));
}

.hover\:text-dark:hover {
  --tw-text-opacity: 1;
  color: rgb(17 18 20 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:opacity-70:hover {
  opacity: 0.7;
}

.hover\:brightness-95:hover {
  --tw-brightness: brightness(.95);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:outline-offset-\[-3px\]:focus-visible {
  outline-offset: -3px;
}

.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-\[1\.04\] {
  --tw-scale-x: 1.04;
  --tw-scale-y: 1.04;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:opacity-55 {
  opacity: 0.55;
}

@media (min-width: 640px) {
  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .sm\:col-span-6 {
    grid-column: span 6 / span 6;
  }

  .sm\:h-9 {
    height: 2.25rem;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-6 {
    gap: 1.5rem;
  }

  .sm\:gap-8 {
    gap: 2rem;
  }

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .sm\:pb-20 {
    padding-bottom: 5rem;
  }
}

@media (min-width: 1024px) {
  .lg\:right-12 {
    right: 3rem;
  }

  .lg\:right-8 {
    right: 2rem;
  }

  .lg\:top-10 {
    top: 2.5rem;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .lg\:col-span-5 {
    grid-column: span 5 / span 5;
  }

  .lg\:col-span-6 {
    grid-column: span 6 / span 6;
  }

  .lg\:col-span-7 {
    grid-column: span 7 / span 7;
  }

  .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }

  .lg\:mt-14 {
    margin-top: 3.5rem;
  }

  .lg\:mt-16 {
    margin-top: 4rem;
  }

  .lg\:mt-20 {
    margin-top: 5rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:inline-flex {
    display: inline-flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-\[4\.5rem\] {
    height: 4.5rem;
  }

  .lg\:min-h-\[100svh\] {
    min-height: 100svh;
  }

  .lg\:min-h-\[70svh\] {
    min-height: 70svh;
  }

  .lg\:max-w-xs {
    max-width: 20rem;
  }

  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:gap-12 {
    gap: 3rem;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-8 {
    gap: 2rem;
  }

  .lg\:p-10 {
    padding: 2.5rem;
  }

  .lg\:p-7 {
    padding: 1.75rem;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .lg\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .lg\:py-9 {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  .lg\:pb-16 {
    padding-bottom: 4rem;
  }

  .lg\:pb-20 {
    padding-bottom: 5rem;
  }

  .lg\:pl-8 {
    padding-left: 2rem;
  }

  .lg\:pt-14 {
    padding-top: 3.5rem;
  }

  .lg\:pt-20 {
    padding-top: 5rem;
  }

  .lg\:pt-28 {
    padding-top: 7rem;
  }

  .lg\:pt-40 {
    padding-top: 10rem;
  }

  .lg\:text-\[1\.1875rem\] {
    font-size: 1.1875rem;
  }
}
