/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --color-white: #fff;
    --spacing: .25rem;
    --container-4xl: 56rem;
    --leading-tight: 1.25;
    --default-font-family: var(--font-sans);
    --color-text: #212121;
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family);
    -webkit-tap-highlight-color: transparent;
  }

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

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

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

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

  body {
    color: var(--color-text);
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }
}

@layer utilities {
  /* Layout & Flexbox & Grid */
  .block { display: block; }
  .flex { display: flex; }
  .grid { display: grid; }
  .flex-col { flex-direction: column; }
  .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .justify-between { justify-content: space-between; }
  .justify-center { justify-content: center; }

  /* Width & Sizing */
  .w-20 { width: calc(var(--spacing) * 20); }
  .w-full { width: 100%; }
  .max-w-80 { max-width: calc(var(--spacing) * 80); }
  .max-w-4xl { max-width: var(--container-4xl); }

  /* Spacing & Gap */
  .mx-auto { margin-inline: auto; }
  .mb-4 { margin-bottom: calc(var(--spacing) * 4); }
  .gap-2 { gap: calc(var(--spacing) * 2); }
  .gap-4 { gap: calc(var(--spacing) * 4); }
  .gap-8 { gap: calc(var(--spacing) * 8); }
  .gap-x-8 { column-gap: calc(var(--spacing) * 8); }
  .gap-y-4 { row-gap: calc(var(--spacing) * 4); }
  .px-10 { padding-inline: calc(var(--spacing) * 10); }
  .py-12 { padding-block: calc(var(--spacing) * 12); }

  /* Colors & Backgrounds */
  .bg-\[\#EAEAEA\] { background-color: #eaeaea; }
  .bg-text { background-color: var(--color-text); }
  .text-white { color: var(--color-white); }
  .text-white\! { color: var(--color-white) !important; }

  /* Typography */
  .leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); }
  .text-\[clamp\(10px\,4vw\,16px\)\] { font-size: clamp(10px, 4vw, 16px); }
  .text-\[clamp\(14px\,2vw\,16px\)\] { font-size: clamp(14px, 2vw, 16px); }

  /* Transitions & Hover Effects */
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, cubic-bezier(.4, 0, .2, 1));
    transition-duration: var(--tw-duration, .15s);
  }
  .duration-400 { --tw-duration: .4s; transition-duration: .4s; }

  @media (hover: hover) {
    .hover\:opacity-50:hover { opacity: .5; }
  }

  /* Responsive Rules (Media Queries) */
  @media not all and (width >= 400px) {
    .max-\[400px\]\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  }

  @media not all and (width >= 48rem) {
    .max-md\:justify-start { justify-content: flex-start; }
  }

  @media (width >= 48rem) {
    .md\:w-40 { width: calc(var(--spacing) * 40); }
    .md\:auto-rows-min { grid-auto-rows: min-content; }
    .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .md\:flex-row { flex-direction: row; }
    .md\:justify-between { justify-content: space-between; }
    .md\:text-\[clamp\(12px\,2vw\,16px\)\] { font-size: clamp(12px, 2vw, 16px); }
  }

  @media (width >= 64rem) {
    .lg\:flex-row { flex-direction: row; }
    .lg\:px-0 { padding-inline: 0; }
  }
}