/*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com */

/* ===========================
   1. Reset / Preflight
   =========================== */
*,
::backdrop,
::after,
::before {
  --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: #3b82f680;
  --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: ;
  box-sizing: border-box;
  border: 0 solid #d9dedd;
}

::after,
::before {
  --tw-content: "";
}

/* Host / HTML / Body defaults */
:host,
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  font-family: Figtree, DM Sans, ui-sans-serif, system-ui, -apple-system,
    BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans",
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  line-height: inherit;
}

/* Basic element resets */
hr { height: 0; color: inherit; border-top-width: 1px; }
abbr[title] { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
h1,h2,h3,h4,h5,h6 { font-size: inherit; font-weight: inherit; }
a { color: inherit; text-decoration: inherit; }
b,strong { font-weight: bolder; }
code,kbd,pre,samp { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-feature-settings: normal; font-variation-settings: normal; font-size: 1em; }
small { font-size: 80%; }
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: initial; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button,input,optgroup,select,textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button, select { text-transform: none; }
button, input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  background-color: initial;
  background-image: none;
}
:-moz-focusring { outline: auto; }
:-moz-ui-invalid { box-shadow: none; }
progress { vertical-align: initial; }
::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
summary { display: list-item; }
blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
menu,ol,ul { list-style: none; margin: 0; padding: 0; }
dialog { padding: 0; }
textarea { resize: vertical; }
input::-moz-placeholder, textarea::-moz-placeholder { opacity: 1; color: #aeb5b4; }
input::placeholder, textarea::placeholder { opacity: 1; color: #aeb5b4; }
[role="button"], button { cursor: pointer; }
:disabled { cursor: default; }
audio,canvas,embed,iframe,img,object,svg,video { display: block; vertical-align: middle; }
img,video { max-width: 100%; height: auto; }
[hidden] { display: none; }

/* ===========================
   2. Container & Breakpoints
   =========================== */
.container { width: 100%; }
@media (min-width: 480px) { .container { max-width: 480px; } }
@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: 1216px) { .container { max-width: 1216px; } }
@media (min-width: 1536px) { .container { max-width: 1536px; } }

/* ===========================
   3. Visibility / Positioning
   =========================== */
.!visible { visibility: visible !important; }
.visible  { visibility: visible; }

.fixed    { position: fixed; }
.absolute { position: absolute; }
.relative { position: relative; }

.inset-0 { inset: 0; }
.bottom-0 { bottom: 0; }
.left-0 { left: 0; }
.left-1\/2 { left: 50%; }
.right-0 { right: 0; }
.top-0 { top: 0; }
.top-1\/2 { top: 50%; }

.z-50 { z-index: 50; }

/* ===========================
   4. Display / Flex / Grid
   =========================== */
.block { display: block; }
.inline-block { display: inline-block; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.table { display: table; }
.hidden { display: none; }

.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.flex-shrink-0 { flex-shrink: 0; }

.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }

/* ===========================
   5. Spacing (margin / padding)
   =========================== */
/* Margins */
.-mx-4 { margin-left: -1rem; margin-right: -1rem; }
.mx-2 { margin-left: .5rem; margin-right: .5rem; }
.mx-4 { margin-left: 1rem; margin-right: 1rem; }
.mx-auto { margin-left: auto; margin-right: auto; }

.-mb-3 { margin-bottom: -0.75rem; }
.-ml-32 { margin-left: -8rem; }

.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: .25rem; }
.mb-3 { margin-bottom: .75rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.mb-20 { margin-bottom: 5rem; }
.mb-24 { margin-bottom: 6rem; }
.mb-auto { margin-bottom: auto; }

.ml-1 { margin-left: .25rem; }
.ml-2 { margin-left: .5rem; }
.ml-4 { margin-left: 1rem; }
.ml-5 { margin-left: 1.25rem; }
.ml-6 { margin-left: 1.5rem; }
.ml-auto { margin-left: auto; }

.mr-1 { margin-right: .25rem; }
.mr-2 { margin-right: .5rem; }
.mr-3 { margin-right: .75rem; }
.mr-4 { margin-right: 1rem; }
.mr-5 { margin-right: 1.25rem; }
.mr-6 { margin-right: 1.5rem; }
.mr-8 { margin-right: 2rem; }

.mt-3 { margin-top: .75rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-12 { margin-top: 3rem; }
.mt-16 { margin-top: 4rem; }
.mt-32 { margin-top: 8rem; }

/* Padding */
.p-4 { padding: 1rem; }
.p-8 { padding: 2rem; }

.px-2 { padding-left: .5rem; padding-right: .5rem; }
.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; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-0\.5 { padding-top: .125rem; padding-bottom: .125rem; }
.py-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-2\.5 { padding-top: .625rem; padding-bottom: .625rem; }
.py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-7 { padding-top: 1.75rem; padding-bottom: 1.75rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }

.pb-4 { padding-bottom: 1rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-12 { padding-bottom: 3rem; }
.pb-16 { padding-bottom: 4rem; }
.pb-24 { padding-bottom: 6rem; }

.pl-4 { padding-left: 1rem; }
.pr-4 { padding-right: 1rem; }
.pr-5 { padding-right: 1.25rem; }
.pt-12 { padding-top: 3rem; }
.pt-14 { padding-top: 3.5rem; }
.pt-16 { padding-top: 4rem; }
.pt-18 { padding-top: 4.5rem; }
.pt-20 { padding-top: 5rem; }
.pt-52 { padding-top: 13rem; }

/* ===========================
   6. Sizing (width / height)
   =========================== */
.h-0 { height: 0; }
.h-1 { height: .25rem; }
.h-8 { height: 2rem; }
.h-10 { height: 2.5rem; }
.h-12 { height: 3rem; }
.h-full { height: 100%; }

.w-full { width: 100%; }
.w-1\/2 { width: 50%; }
.w-1\/3 { width: 33.333333%; }
.w-10 { width: 2.5rem; }
.w-72 { width: 18rem; }
.w-8 { width: 2rem; }
.min-w-max { min-width: -moz-max-content; min-width: max-content; }

.max-h-116 { max-height: 29rem; }
.max-w-xs { max-width: 20rem; }
.max-w-sm { max-width: 24rem; }
.max-w-md { max-width: 28rem; }
.max-w-lg { max-width: 32rem; }
.max-w-xl { max-width: 36rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-4xl { max-width: 50rem; }
.max-w-6xl { max-width: 63rem; }

/* ===========================
   7. Border & Radius
   =========================== */
.rounded-full { border-radius: 9999px; }
.rounded-2xl { border-radius: 1rem; }
.rounded-3xl { border-radius: 1.25rem; }

.border { border-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-t { border-top-width: 1px; }

.border-white { --tw-border-opacity: 1; border-color: rgb(255 255 255 / var(--tw-border-opacity)); }
.border-lime-500 { --tw-border-opacity: 1; border-color: rgb(190 242 100 / var(--tw-border-opacity)); }
.border-teal-900 { --tw-border-opacity: 1; border-color: rgb(2 44 34 / var(--tw-border-opacity)); }

.border-opacity-25 { --tw-border-opacity: 0.25; }

/* ===========================
   8. Backgrounds & Colors
   =========================== */
.bg-transparent { background-color: initial; }
.bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }
.bg-body { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }
/* Note: bg-lime-500 / bg-teal-900 values differ from typical Tailwind defaults — kept as provided */
.bg-lime-500 { --tw-bg-opacity: 1; background-color: rgb(137 4 4 / var(--tw-bg-opacity)); }
.bg-orange-50 { --tw-bg-opacity: 1; background-color: rgb(255 247 237 / var(--tw-bg-opacity)); }
.bg-violet-900 { --tw-bg-opacity: 1; background-color: rgb(76 29 149 / var(--tw-bg-opacity)); }
.bg-teal-900 { --tw-bg-opacity: 1; background-color: rgb(137 4 44 / var(--tw-bg-opacity)); }

/* Text colors */
.text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); }
.text-black { --tw-text-opacity: 1; color: rgb(0 0 0 / var(--tw-text-opacity)); }
.text-body { --tw-text-opacity: 1; color: rgb(29 31 30 / var(--tw-text-opacity)); }
.text-gray-500 { --tw-text-opacity: 1; color: rgb(146 156 154 / var(--tw-text-opacity)); }
.text-gray-600 { --tw-text-opacity: 1; color: rgb(127 135 134 / var(--tw-text-opacity)); }
.text-gray-700 { --tw-text-opacity: 1; color: rgb(100 106 105 / var(--tw-text-opacity)); }
.text-gray-900 { --tw-text-opacity: 1; color: rgb(29 31 30 / var(--tw-text-opacity)); }
.text-teal-900 { --tw-text-opacity: 1; color: rgb(2 44 34 / var(--tw-text-opacity)); }

/* Placeholder colors */
.placeholder-gray-700::-moz-placeholder { --tw-placeholder-opacity: 1; color: rgb(100 106 105 / var(--tw-placeholder-opacity)); }
.placeholder-gray-700::placeholder { --tw-placeholder-opacity: 1; color: rgb(100 106 105 / var(--tw-placeholder-opacity)); }

/* ===========================
   9. Typography
   =========================== */
.font-body,
.font-heading {
  font-family: Figtree, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.text-xs { font-size: .75rem; line-height: 1.5; }
.text-sm { font-size: .875rem; line-height: 1.25; }
.text-base { font-size: 1rem; line-height: 1.5; }
.text-lg { font-size: 1.125rem; line-height: 1.5; }
.text-xl { font-size: 1.25rem; line-height: 1.5; }
.text-2xl { font-size: 1.5rem; line-height: 1.3; }
.text-3xl { font-size: 1.875rem; line-height: 1.3; }
.text-4xl { font-size: 2.25rem; line-height: 1.2; }
.text-5xl { font-size: 3rem; line-height: .95; }
.text-6xl { font-size: 3.75rem; line-height: .95; }

.font-bold { font-weight: 700; }
.font-medium { font-weight: 500; }

.leading-7 { line-height: 1.75rem; }
.leading-normal { line-height: 1.5; }

.tracking-sm { letter-spacing: -2.25px; }
.tracking-tight { letter-spacing: -0.025em; }
.tracking-xs { letter-spacing: -1.85px; }

.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ===========================
   10. Objects & Media
   =========================== */
.object-cover { -o-object-fit: cover; object-fit: cover; }

/* ===========================
   11. Shadows & Outlines
   =========================== */
.opacity-20 { opacity: .2; }
.opacity-80 { opacity: .8; }

/* Shadows */
.shadow {
  --tw-shadow: 0px 0px 0px 1px #0000001a, 0 1px 2px -1px #0000001a;
  --tw-shadow-colored: 0px 0px 0px 1px var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
}
.shadow,
.shadow-md {
  box-shadow: var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0px 0px 0px 1px #12693f14, 0px 1px 2px 0px #575c5629, 0px 24px 24px -12px #364a360f;
  --tw-shadow-colored: 0px 0px 0px 1px var(--tw-shadow-color), 0px 1px 2px 0px var(--tw-shadow-color), 0px 24px 24px -12px var(--tw-shadow-color);
}

.outline-none { outline: 2px solid #0000; outline-offset: 2px; }

/* ===========================
   12. Transitions & Transform
   =========================== */
.transition {
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  transition-duration: .15s;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  transition-duration: .15s;
}
.duration-100 { transition-duration: .1s; }
.duration-200 { transition-duration: .2s; }
.duration-300 { transition-duration: .3s; }
.duration-500 { transition-duration: .5s; }

.transform {
  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));
}
.-translate-x-1\/2 { --tw-translate-x: -50%; }
.-translate-y-1\/2 { --tw-translate-y: -50%; }
.-translate-x-1\/2, .-translate-y-1\/2 { 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)); }

/* ===========================
   13. Cursor & Appearance
   =========================== */
.cursor-pointer { cursor: pointer; }
.appearance-none { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

/* ===========================
   14. Utilities (objectives)
   =========================== */
.overflow-hidden { overflow: hidden; }
.overflow-y-auto { overflow-y: auto; }
.overflow-x-hidden { overflow-x: hidden; }
.overflow-x-scroll { overflow-x: scroll; }
.max-h-116 { max-height: 29rem; }

/* ===========================
   15. Interaction: hover / focus / group
   =========================== */

/* Hover border/background/text */
.hover\:border-black:hover { --tw-border-opacity: 1; border-color: rgb(0 0 0 / var(--tw-border-opacity)); }
.hover\:border-lime-500:hover { --tw-border-opacity: 1; border-color: rgb(190 242 100 / var(--tw-border-opacity)); }
.hover\:border-teal-900:hover { --tw-border-opacity: 1; border-color: rgb(2 44 34 / var(--tw-border-opacity)); }
.hover\:border-white:hover { --tw-border-opacity: 1; border-color: rgb(255 255 255 / var(--tw-border-opacity)); }

.hover\:bg-black:hover { --tw-bg-opacity: 1; background-color: rgb(0 0 0 / var(--tw-bg-opacity)); }
.hover\:bg-gray-50:hover { --tw-bg-opacity: 1; background-color: rgb(245 250 249 / var(--tw-bg-opacity)); }
.hover\:bg-lime-500:hover { --tw-bg-opacity: 1; background-color: rgb(190 242 100 / var(--tw-bg-opacity)); }
.hover\:bg-teal-900:hover { --tw-bg-opacity: 1; background-color: rgb(2 44 34 / var(--tw-bg-opacity)); }
.hover\:bg-white:hover { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }

.hover\:text-lime-500:hover { --tw-text-opacity: 1; color: rgb(190 242 100 / var(--tw-text-opacity)); }
.hover\:text-lime-600:hover { --tw-text-opacity: 1; color: rgb(101 163 13 / var(--tw-text-opacity)); }
.hover\:text-teal-700:hover { --tw-text-opacity: 1; color: rgb(6 95 70 / var(--tw-text-opacity)); }
.hover\:text-teal-800:hover { --tw-text-opacity: 1; color: rgb(6 78 59 / var(--tw-text-opacity)); }
.hover\:text-teal-900:hover { --tw-text-opacity: 1; color: rgb(2 44 34 / var(--tw-text-opacity)); }
.hover\:text-white:hover { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); }

/* Focus rings */
.focus\:ring-2:focus {
  --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(2px + 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);
}
.focus\:ring-lime-500:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity)); }

/* Group hover utilities (translated forms) */
.group:hover .group-hover\:-translate-y-0 { --tw-translate-y: -0px; }
.group:hover .group-hover\:-translate-y-0,
.group:hover .group-hover\:-translate-y-0\.5 { 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\:-translate-y-0\.5 { --tw-translate-y: -0.125rem; }

.group:hover .group-hover\:translate-x-0 { --tw-translate-x: 0px; }
.group:hover .group-hover\:translate-x-0,
.group:hover .group-hover\:translate-x-0\.5 { 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\:translate-x-0\.5 { --tw-translate-x: 0.125rem; }

.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\:text-teal-600 { --tw-text-opacity: 1; color: rgb(5 150 105 / var(--tw-text-opacity)); }

/* ===========================
   16. Responsive utility overrides
   =========================== */

/* XS (min-width:480px) */
@media (min-width: 480px) {
  .xs\:mb-0 { margin-bottom: 0; }
  .xs\:mt-12 { margin-top: 3rem; }
  .xs\:w-1\/3 { width: 33.333333%; }
  .xs\:w-5\/6 { width: 83.333333%; }
  .xs\:max-w-md { max-width: 28rem; }
  .xs\:px-8 { padding-left: 2rem; padding-right: 2rem; }
  .xs\:pt-40 { padding-top: 10rem; }
  .xs\:text-3xl { font-size: 1.875rem; line-height: 1.3; }
  .xs\:text-5xl { font-size: 3rem; line-height: .95; }
  .xs\:text-7xl { font-size: 4.5rem; line-height: .95; }
}

/* SM (min-width:640px) */
@media (min-width: 640px) {
  .sm\:mx-4 { margin-left: 1rem; margin-right: 1rem; }
  .sm\:mb-0 { margin-bottom: 0; }
  .sm\:ml-8 { margin-left: 2rem; }
  .sm\:mr-4 { margin-right: 1rem; }
  .sm\:mr-6 { margin-right: 1.5rem; }
  .sm\:mr-8 { margin-right: 2rem; }
  .sm\:mt-0 { margin-top: 0; }
  .sm\:flex { display: flex; }
  .sm\:w-1\/2 { width: 50%; }
  .sm\:max-w-md { max-width: 28rem; }
  .sm\:flex-shrink-0 { flex-shrink: 0; }
  .sm\:flex-row { flex-direction: row; }
  .sm\:flex-nowrap { flex-wrap: nowrap; }
  .sm\:px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
  .sm\:pb-32 { padding-bottom: 8rem; }
  .sm\:text-right { text-align: right; }
  .sm\:text-6xl { font-size: 3.75rem; line-height: .95; }
}

/* MD (min-width:768px) */
@media (min-width: 768px) {
  .md\:mx-0 { margin-left: 0; margin-right: 0; }
  .md\:mb-0 { margin-bottom: 0; }
  .md\:ml-auto { margin-left: auto; }
  .md\:mr-0 { margin-right: 0; }
  .md\:block { display: block; }
  .md\:flex { display: flex; }
  .md\:hidden { display: none; }
  .md\:max-h-128 { max-height: 32rem; }
  .md\:w-1\/2 { width: 50%; }
  .md\:w-1\/4 { width: 25%; }
  .md\:w-5\/12 { width: 41.666667%; }
  .md\:w-7\/12 { width: 58.333333%; }
  .md\:max-w-xl { max-width: 36rem; }
  .md\:justify-between { justify-content: space-between; }
  .md\:px-12 { padding-left: 3rem; padding-right: 3rem; }
  .md\:px-4 { padding-left: 1rem; padding-right: 1rem; }
  .md\:pb-24 { padding-bottom: 6rem; }
  .md\:text-7xl { font-size: 4.5rem; line-height: .95; }
}

/* LG (min-width:1024px) */
@media (min-width: 1024px) {
  .lg\:mb-0 { margin-bottom: 0; }
  .lg\:mb-32 { margin-bottom: 8rem; }
  .lg\:mr-4 { margin-right: 1rem; }
  .lg\:mr-8 { margin-right: 2rem; }
  .lg\:w-1\/2 { width: 50%; }
  .lg\:w-1\/3 { width: 33.333333%; }
  .lg\:w-1\/5 { width: 20%; }
  .lg\:w-2\/12 { width: 16.666667%; }
  .lg\:w-2\/3 { width: 66.666667%; }
  .lg\:w-4\/12 { width: 33.333333%; }
  .lg\:w-6\/12 { width: 50%; }
  .lg\:max-w-5xl { max-width: 56rem; }
  .lg\:max-w-lg { max-width: 32rem; }
  .lg\:py-24 { padding-top: 6rem; padding-bottom: 6rem; }
  .lg\:pb-24 { padding-bottom: 6rem; }
  .lg\:pb-52 { padding-bottom: 13rem; }
  .lg\:pb-62 { padding-bottom: 15.5rem; }
  .lg\:pt-16 { padding-top: 4rem; }
  .lg\:pt-36 { padding-top: 9rem; }
  .lg\:text-right { text-align: right; }
  .lg\:text-4xl { font-size: 2.25rem; line-height: 1.2; }
  .lg\:text-lg { font-size: 1.125rem; line-height: 1.5; }
}

/* XL (min-width:1216px) */
@media (min-width: 1216px) {
  .xl\:w-2\/12 { width: 16.666667%; }
  .xl\:w-5\/12 { width: 41.666667%; }
  .xl\:w-7\/12 { width: 58.333333%; }
  .xl\:max-w-none { max-width: none; }
  .xl\:max-w-xl { max-width: 36rem; }
  .xl\:px-12 { padding-left: 3rem; padding-right: 3rem; }
  .xl\:px-24 { padding-left: 6rem; padding-right: 6rem; }
  .xl\:text-5xl { font-size: 3rem; line-height: .95; }
  .xl\:text-8xl { font-size: 6rem; line-height: .95; }
}
