@charset "UTF-8";

/* ============================================
   Color Utilities — Base44 Dark Portfolio
   ============================================ */

.bg-primary {
  background: hsl(var(--primary));
}

.text-primary {
  color: hsl(var(--primary));
}

.border-primary {
  border-color: hsl(var(--primary));
}

.glow-primary-sm {
  box-shadow: var(--shadow-primary-sm);
}

/* ============================================
   Helpers — Diônata Garcia Portfolio
   ============================================ */

.course-description {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 4.5em;
  line-height: 1.5;
}

.course-description p {
  display: inline;
}

.course-description br {
  display: none;
}

/* ============================
   Scroll Reveal (legacy — always visible, JS removed)
   ============================ */

/* ============================
   Glow (fallback)
   ============================ */

.glow-primary-sm {
  box-shadow: var(--shadow-primary-sm);
}

/* ============================
   Pulse glow (page loader)
   ============================ */

@keyframes pulse-glow {
  0%, 100% {
    opacity: 0.6;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.15);
  }
}

/* ============================
   Dots drift (red banner)
   ============================ */

@keyframes dots-drift {
  0% {
    background-position: 0% 0%, 0% 0%;
  }

  100% {
    background-position: 100% 100%, 140% 60%;
  }
}

.animate-dots-drift {
  animation: dots-drift 20s linear infinite alternate;
}

.w-90 {
  width: 90% !important;
}

/* ============================
   Surface panel — wrapper c/ bordas top/bottom (legado)
   ============================ */

.surface-panel button{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--surface) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity));
}

/* ============================
   Container — max-width 1440px (legado)
   Em Batch 3 alguns templates serão migrados para max-w-[1200px] do Figma Make.
   ============================ */

.container-page{
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 1536px){
  .container-page{
    padding-left: 0px;
    padding-right: 0px;
  }
}

/* ============================================================
   Patterns — Figma Make (Modern Responsive Page Template)
   Substituem noise-overlay/dot-grid/blueprint-grid do Base44.
   ============================================================ */

/* --- Grain único global — SVG fractal noise leve sobre tudo
   ⚠️ Usar apenas UMA instância por página (template html.html.twig).
   NÃO combinar com canvas/binário/etc. */

.grain-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  pointer-events: none;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 220px;
}

/* --- Hero dot grid — verde neon sutil, só no hero */

.hero-dot-grid {
  position: absolute;
  inset: 0;
  opacity: 0.14;
  pointer-events: none;
  background-image: radial-gradient(circle, hsl(var(--cta)/0.3) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* --- Hero glow — radial verde no canto superior direito */

.hero-glow {
  position: absolute;
  top: 0;
  right: 0;
  width: 600px;
  height: 600px;
  pointer-events: none;
  background: radial-gradient(circle at 70% 30%, hsl(var(--cta)/0.08) 0%, transparent 60%);
}

/* --- Texto com gradient verde (Figma Make) — usado em headlines highlights */

.text-gradient-accent {
  background: var(--gradient-accent);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* --- Background com gradient verde (Figma Make) — usado em cards CTA */

.bg-gradient-accent {
  background: var(--gradient-accent) !important;
}

/* --- Hover border sutil para cards (mantém compat c/ templates legados) */

.hover\:border-cta\/40:hover,
.hover\:border-cta\/40 {
  border-color: hsl(var(--cta)/0.4);
}

.group:hover .group-hover\:text-cta {
  color: hsl(var(--cta));
}

@media (min-width: 768px) {
  .md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

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

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

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

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

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

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

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

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

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

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

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

  .md\:col-span-9 {
    grid-column: span 9/span 9;
  }

  .md\:col-span-10 {
    grid-column: span 10/span 10;
  }

  .md\:col-span-11 {
    grid-column: span 11/span 11;
  }

  .md\:col-span-12 {
    grid-column: span 12/span 12;
  }

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

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.timeline-item:first-child .timeline-dot {
  background: var(--cta) !important;
  border-color: var(--cta) !important;
}

.timeline-item:not(:first-child) .timeline-dot {
  background: var(--background) !important;
  border-color: hsl(var(--border)) !important;
}

@media (min-width: 1024px) {
  .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-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

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

  .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\:col-span-9 {
    grid-column: span 9/span 9;
  }

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

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

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

/* ============================================
   Fonts — Diônata Garcia Portfolio
   ============================================

   Google Fonts loaded via <link> in html.html.twig
   with preconnect hints for optimal performance.
   This avoids @import which blocks rendering.
*/

@font-face {
  font-family: "bootstrap-icons";

  font-display: swap;

  src: url("fonts/bootstrap-icons.woff2") format("woff2"), url("fonts/bootstrap-icons.woff") format("woff");
}

/* ============================================
   Design Tokens — docs/design-system/theme (Lovable export)
   Paleta editorial "earthy": papel creme quente + tinta + terracotta.
   Convertido de OKLCH → HSL (canal) para manter o pipeline Tailwind
   (hsl(var(--x) / <alpha-value>)).
   ============================================ */

:root {
  color-scheme: light;
  --radius: 0.75rem;
  /* ---- Base palette (Lovable: styles.css :root) ---- */
  /* oklch(0.965 0.012 80) → */
  --background: 39 33% 94%;
  /* warm cream paper */
  /* oklch(0.18 0.012 60) → */
  --foreground: 39 11% 15%;
  /* deep ink */
  --surface: 39 20% 90%;
  --surface-2: 39 16% 83%;
  --card: 39 30% 96%;
  --card-foreground: 39 11% 15%;
  --popover: 39 30% 96%;
  --popover-foreground: 39 11% 15%;
  /* Primary — tinta (ações principais viram escuras, estilo editorial) */
  --primary: 39 11% 15%;
  --primary-foreground: 39 23% 97%;
  /* Tertiary — bordas suaves */
  --tertiary: 39 16% 83%;
  --secondary: 38 11% 47%;
  --secondary-foreground: 39 11% 15%;
  /* oklch(0.92 0.012 80) → */
  --muted: 39 23% 89%;
  /* oklch(0.45 0.015 70) → */
  --muted-foreground: 38 11% 47%;
  /* Accent — terracotta */
  /* oklch(0.55 0.13 45) → */
  --accent: 15 52% 47%;
  --accent-foreground: 39 23% 97%;
  --success: 150 35% 40%;
  --warning: 35 80% 50%;
  --destructive: 0 60% 50%;
  --destructive-foreground: 0 0% 100%;
  /* ---- CTA: terracotta ---- */
  --cta: 15 52% 47%;
  --cta-foreground: 39 23% 97%;
  --cta-muted: 15 52% 47%;
  /* ---- Ink: painéis escuros sobre o fundo creme ---- */
  /* oklch(0.15 0.01 60) → */
  --ink: 36 10% 14%;
  --ink-foreground: 39 23% 97%;
  /* ---- Bordas ---- */
  --border: 39 16% 83%;
  --border-alpha: 0.12;
  --input: 39 11% 15%;
  --input-alpha: 0.18;
  --ring: 15 52% 47%;
  /* Chart colors */
  --chart-1: 39 11% 15%;
  --chart-2: 38 11% 47%;
  --chart-3: 15 52% 47%;
  --chart-4: 35 80% 50%;
  --chart-5: 280 30% 50%;
  /* Gradients */
  --gradient-accent: linear-gradient(135deg, hsl(15 52% 47%) 0%, hsl(25 60% 62%) 100%);
  --gradient-cta: linear-gradient(to bottom right, hsla(15, 52%, 47%, 0.10), transparent);
  --gradient-hero-overlay: linear-gradient(180deg, hsla(39, 11%, 15%, 0.85) 0%, hsla(39, 11%, 15%, 0.55) 60%, hsla(39, 11%, 15%, 0.95) 100%);
  /* Shadows — suaves (tema claro) */
  --shadow-panel: 0 24px 64px rgba(40, 30, 20, 0.18);
  --shadow-primary: 0 10px 30px rgba(40, 30, 20, 0.18);
  --shadow-primary-sm: 0 4px 12px rgba(40, 30, 20, 0.14);
  --shadow-glow-inset: none;
  /* Font families — Lovable: Instrument Serif (display) + Inter (body) + JetBrains Mono */
  --font-display: "Instrument Serif", "Cormorant Garamond", Georgia, serif;
  --font-sans: "Inter", system-ui, -apple-system, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --font-family: var(--font-sans);
  /* Spacing */
  --spacing: 0.25rem;
}

/* ============================================
   Base Reset — Base44 Dark Portfolio
   ============================================ */

/* ============================================
   Typography — Brutalist Monochrome
   — Headings: Fraunces (massive, tight, dramatic)
   — Body:     DM Sans (small, wide, legible)
   — Extreme contrast H1 vs body for visual impact
   ============================================ */

/* ============================================
   Typography Utility Classes
   ============================================ */

/* === Display utilities === */

.display-hero {
  font-family: var(--font-display);
  font-size: clamp(3rem, 10vw, 9rem);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.03em;
}

.display-large {
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 8vw, 7rem);
  font-weight: 700;
  line-height: 0.93;
  letter-spacing: -0.025em;
}

/* === Heading utilities === */

.heading-h1 {
  font-family: var(--font-display);
  font-size: 6rem;
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.heading-h2 {
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.heading-h3 {
  font-family: var(--font-display);
  font-size: 1.875rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.heading-h4 {
  font-family: var(--font-display);
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: normal;
}

/* === Subtitle / Eyebrow === */

.subtitle-caps {
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.subtitle-lg {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.5;
  color: hsl(var(--muted-foreground));
}

@media (min-width: 768px) {
  .subtitle-lg {
    font-size: 1.5rem;
  }
}

/* === Body utilities === */

.body-large {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75;
}

.body-base {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
}

.body-small {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}

/* === Numeric / Stats === */

.stats-number {
  font-family: var(--font-display);
  font-size: 3.75rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.025em;
}

.metric-number {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.015em;
}

.messages {
  border-left: 5px solid;
  border-radius: 6px;
  padding: 16px 20px;
  margin: 16px auto;
  max-width: 1536px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
  animation: fadeIn 0.3s ease-in-out;
}

.messages__icon {
  flex-shrink: 0;
}

.messages__icon svg {
  width: 24px;
  height: 24px;
}

.messages__container {
  display: flex;
  gap: 24px;
}

.messages__content {
  flex: 1;
  font-size: 14px;
  line-height: 1.5;
}

.messages__content a {
  text-decoration: underline;
  font-weight: 500;
}

.messages__button {
  margin-left: auto;
}

.messages__button button {
  background: none;
  border: none;
  cursor: pointer;
  opacity: 0.6;
  transition: 0.2s;
}

.messages__button button:hover {
  opacity: 1;
}

.messages--status {
  background-color: #e6f9f0;
  border-color: #28a745;
  color: #155724;
  max-width: 1440px;
}

.messages--status a {
  color: #28a745;
}

.messages--error {
  background-color: #fdecea;
  border-color: #dc3545;
  color: #721c24;
}

.messages--error a {
  color: #dc3545;
}

.messages--warning {
  background-color: #fff4e5;
  border-color: #ffc107;
  color: #856404;
}

.messages--warning a {
  color: #ffc107;
}

.messages-top {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 800px;
  z-index: 9999;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.messages__button {
  position: absolute;
  top: 8px;
  right: 10px;
}

.messages__close {
  width: 28px;
  height: 28px;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  color: #000;
  margin-top: 10px;
}

.messages__close::before, .messages__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  background-color: currentColor;
}

.messages__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.messages__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.messages__close:hover {
  opacity: 0.7;
}

/* ==========================================================================
   FAQ Accordion — ajuste fino de cores p/ Figma Make
   Mantém rotação 180° (compatível c/ chevron-down no Twig).
   Hook `surface-panel` no wrapper continua vindo do componente antigo.
   ========================================================================== */

[data-accordion-item] .faq-trigger {
  cursor: pointer;
}

[data-accordion-item] .faq-trigger[aria-expanded=true] .faq-icon {
  transform: rotate(180deg);
  color: hsl(var(--cta));
}

[data-accordion-item] .faq-icon {
  transition: transform 0.3s ease, color 0.3s ease;
}

[data-accordion-item] .faq-content {
  animation: faq-slide-down 0.3s ease;
}

[data-accordion-item] .faq-content[hidden] {
  display: none;
}

@keyframe faq-slide-down {
  from {
    opacity: 0;
    max-height: 0;
  }

  to {
    opacity: 1;
    max-height: 500px;
  }
}

/* ============================================
   Badges
   ============================================ */

.badge {
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
}

.badge--primary {
  background: color-mix(in oklab, hsl(var(--primary)) 10%, transparent);
  color: hsl(var(--primary));
}

.paragraph--type--section-banner.banner-type-default {
  overflow: hidden;
}

.paragraph--type--section-banner.banner-type-default .banner-cta {
  position: relative;
  overflow: hidden;
  background-color: hsl(var(--surface)/0.3);
  border: 1px solid hsl(var(--border)/var(--border-alpha, 0.08));
  border-radius: calc(var(--radius) + 4px);
  padding: 2.5rem 1rem;
  text-align: center;
}

@media (min-width: 768px) {
  .paragraph--type--section-banner.banner-type-default .banner-cta {
    padding: 4rem;
  }
}

.paragraph--type--section-banner.banner-type-default .banner-cta {
  box-shadow: inset 0 1px 0 0 hsla(0, 0%, 100%, 0.04);
}

.paragraph--type--section-banner.banner-type-default .banner-cta .banner-cta__body {
  position: relative;
}

.paragraph--type--section-banner.banner-type-default .banner-cta .banner-cta__icon {
  margin: 0 auto 1rem;
  height: 2rem;
  width: 2rem;
  color: hsl(var(--cta));
}

.paragraph--type--section-banner.banner-type-default .banner-cta .banner-cta__title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  font-weight: 700;
  max-width: 48rem;
  margin: 0 auto;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .paragraph--type--section-banner.banner-type-default .banner-cta .banner-cta__title {
    font-size: 3rem;
  }
}

.paragraph--type--section-banner.banner-type-default .banner-cta .banner-cta__desc {
  margin-top: 1rem;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  color: hsl(var(--muted-foreground));
}

.paragraph--type--section-banner.banner-type-default .banner-cta .banner-cta__actions {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.paragraph--type--section-banner.banner-type-slider .img-bg img, .paragraph--type--section-banner.banner-type-slider .img-bg picture, .paragraph--type--section-banner.banner-type-slider .img-bg .media, .paragraph--type--section-banner.banner-type-slider .img-bg .field__item{
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.paragraph--type--section-banner.banner-type-default_with_image .banner-image-grid picture, .paragraph--type--section-banner.banner-type-default_with_image .banner-image-grid img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ============================================
   Button Component — Diônata Garcia Portfolio
   ============================================ */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
  outline: none;
  position: relative;
  padding: 1rem 1.5rem;
}

.btn:hover {
  text-decoration: none;
}

.btn svg {
  pointer-events: none;
  flex-shrink: 0;
}

.btn svg:not([class*=size-]) {
  width: 1rem;
  height: 1rem;
}

.btn:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px hsl(var(--ring));
}

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

/* Variants */

/* btn-primary = CTA verde neon (Figma Make)
   Tamanho default: px-8 py-4 rounded-full font-semibold text-sm
   Hover: brightness-110 (sem glow / shadow-heavy)
   Este estilo é o usado por `.btn-primary` no plugin Tailwind
   (ver tailwind.config.js), mas aqui são as classes SCSS puras
   para uso fora do Tailwind plugin (ex: webform submit). */

.btn-default, .btn-cta, .btn-secondary, .btn-primary, .btn-ember{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  border-radius: var(--radius) !important;
  border-width: 1px !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  font-weight: 500 !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}

.btn-primary, .btn-ember {
  background: hsl(var(--cta));
  color: hsl(var(--cta-foreground));
  font-size: 0.875rem;
  font-family: var(--font-sans);
  transition: filter 0.2s ease;
}

.btn-primary:hover:not(:disabled), .btn-ember:hover:not(:disabled) {
  filter: brightness(1.1);
}

.btn-secondary:hover:not(:disabled) {
  filter: brightness(1.1);
}

.btn-cta{
  display: flex;
  align-items: center;
  justify-content: center;
  --tw-bg-opacity: 1;
  background-color: hsl(var(--cta) / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

/* btn-outline — border terciary, hover border verde sutil (Figma Make) */

.btn-outline {
  background-color: transparent;
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--tertiary));
  border-radius: 9999px;
  padding: 1rem 2rem;
  font-weight: 600;
  font-size: 0.875rem;
  font-family: var(--font-sans);
  transition: border-color 0.2s ease;
}

.btn-outline:hover:not(:disabled) {
  border-color: hsl(var(--cta)/0.4);
}

.btn-destructive {
  background-color: hsl(var(--destructive));
  color: hsl(var(--destructive-foreground));
}

.btn-destructive:hover:not(:disabled) {
  filter: brightness(1.1);
}

.btn-ghost {
  background-color: transparent;
  color: hsl(var(--foreground));
}

.btn-ghost:hover:not(:disabled) {
  background-color: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}

.btn-link {
  background-color: transparent;
  color: hsl(var(--primary));
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  padding: 0;
}

.btn-link:hover:not(:disabled) {
  text-decoration: underline;
  text-underline-offset: 0.375rem;
}

/* Sizes */

.btn-sm {
  height: 2rem;
  border-radius: 0.375rem;
  gap: 0.375rem;
  padding: 0 0.75rem;
}

.btn-lg {
  height: 2.5rem;
  border-radius: 0.375rem;
  padding: 0 1.5rem;
}

.btn-icon {
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border-radius: 0.375rem;
}

/* Loading */

.btn.is-loading {
  pointer-events: none;
  opacity: 0.7;
}

.btn.is-loading::after {
  content: "";
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 0.5rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }

  .btn.is-loading::after {
    animation: none;
  }
}

/* Rounded-full variant (legacy alias — mantém compat) */

.btn-rounded {
  border-radius: 9999px;
}

/* btn-ember legacy — alias p/ .btn-primary (Fase 7 vai limpar referências PHP) */

/* Botões do design system (usados nos links do menu do footer).
   Escritos em CSS puro: o @apply do Tailwind não resolve
   valores arbitrários com opacidade (ex.: border-[var(--x)]/40)
   e aborta o build do tema. */

/* Nota: border em longhand (o shorthand `border:` com color-mix()/var()
   é descartado pelo navegador e o reset global (border-width: 0) vencia). */

.btn-borded-outline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.75rem !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: color-mix(in oklab, var(--background) 40%, transparent) !important;
  padding: 0.75rem 1.5rem !important;
  /* Cor explícita: o tema pinta <a> de tinta (base/_typography.scss). */
  color: hsl(var(--background)) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

.btn-borded-outline:hover {
  background: var(--background) !important;
  color: var(--ink, #1a1410) !important;
}

.btn-accent-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.75rem !important;
  background: hsl(var(--accent)) !important;
  color: hsl(var(--accent-foreground)) !important;
  border: 0 !important;
  padding: 0.75rem 1.5rem !important;
  font-family: var(--font-mono) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  transition: opacity 0.3s ease !important;
}

.btn-accent-primary:hover {
  opacity: 0.85 !important;
}

.columns-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.columns-wrapper .column {
  text-align: center;
  color: #555;
  border-bottom: 1px solid #ccc;
  border-right: none;
  padding: 24px;
}

.columns-wrapper .column:last-child {
  border-bottom: none;
}

.columns-wrapper .column h4 {
  font-weight: bold;
  margin: 0 0 1.5rem 0;
  font-style: italic;
  font-size: 28px;
}

.columns-wrapper .column p {
  font-size: 18px;
  margin: 0;
  font-style: italic;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .columns-wrapper {
    gap: 0;
  }

  .columns-wrapper .column {
    border-bottom: none;
    border-right: 1px solid #ccc;
    margin-bottom: 0;
  }

  .columns-wrapper .column h4 {
    font-size: 32px;
  }

  .columns-wrapper[data-columns="2"] {
    grid-template-columns: repeat(2, 1fr);
  }

  .columns-wrapper[data-columns="2"] .column:nth-child(2n) {
    border-right: none;
  }

  .columns-wrapper[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr);
  }

  .columns-wrapper[data-columns="3"] .column:nth-child(3n) {
    border-right: none;
  }

  .columns-wrapper[data-columns="4"] {
    grid-template-columns: repeat(4, 1fr);
  }

  .columns-wrapper[data-columns="4"] .column:nth-child(4n) {
    border-right: none;
  }

  .columns-wrapper[data-columns="5"], .columns-wrapper[data-columns="6"] {
    grid-template-columns: repeat(3, 1fr);
  }

  .columns-wrapper[data-columns="5"] .column:nth-child(3n), .columns-wrapper[data-columns="6"] .column:nth-child(3n) {
    border-right: none;
  }

  .columns-wrapper[data-columns="5"] .column:nth-child(4) {
    grid-column: 2;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
  }

  .columns-wrapper[data-columns="5"] .column:nth-child(5) {
    grid-column: 3;
    border-right: none;
  }
}

/* ============================================
   Cards variations
   — Ajuste fino: cores hardcoded (amber/emerald/red) substituídas
     por tokens do Figma Make schema (--cta verde neon).
     TODAS as variantes de paragraph preservadas.
   ============================================ */

.paragraph--type--card.card-type .title-line {
  display: none;
}

.paragraph--type--card.card-type-big-numbers .text-editor {
  bottom: 0;
}

.paragraph--type--card.card-type-big-numbers .text-editor p {
  margin-bottom: 0 !important;
}

.paragraph--type--card.card-type-icon{
  position: relative;
  border-radius: var(--radius);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity));
  padding: 2rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.paragraph--type--card.card-type-icon:hover {
  --tw-translate-y: -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));
  --tw-border-opacity: 1;
  border-color: hsl(var(--accent) / var(--tw-border-opacity));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.paragraph--type--card.card-type-icon .icon{
  margin-bottom: 1.5rem;
  display: flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: calc(var(--radius) - 2px);
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity));
  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;
  background: hsl(var(--cta));
  color: hsl(var(--cta-foreground));
}

.paragraph--type--card.card-type-icon .icon svg{
  height: 2rem;
  width: 2rem;
  color: hsl(var(--cta-foreground));
}

.paragraph--type--card.card-type-icon .title {
  margin-bottom: 0.75rem;
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity));
}

.paragraph--type--card.card-type-icon .subtitle{
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.paragraph--type--card.card-type-icon .title-line {
  background: hsl(var(--cta));
  display: block;
}

.paragraph--type--card.card-type-icon .content-text{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.paragraph--type--card.card-type-icon .content-text p{
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.card-testmonial .paragraph--type--card.card-type-icon .content-text p {
  font-size: 14px;
  line-height: 1.6;
}

.card-testmonial .paragraph--type--card.card-type-icon .content-text p p {
  position: relative;
  font-style: italic;
  line-height: 1.8;
  padding: 0 30px;
  text-align: center;
  font-size: 1.125rem;
}

.card-testmonial .paragraph--type--card.card-type-icon .content-text p p::before {
  content: "“";
  position: absolute;
  left: 0;
  top: -10px;
  font-family: Georgia, serif;
  font-size: 4rem;
  color: hsl(var(--cta));
  opacity: 0.3;
  line-height: 1;
}

.card-testmonial .paragraph--type--card.card-type-icon .content-text p p::after {
  content: "”";
  position: absolute;
  right: 0;
  bottom: -40px;
  font-family: Georgia, serif;
  font-size: 4rem;
  color: hsl(var(--cta));
  opacity: 0.3;
  line-height: 1;
}

.paragraph--type--card.card-type-icon .content-text p {
  color: inherit;
}

.paragraph--type--card.card-type-image-top{
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius);
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.paragraph--type--card.card-type-image-top:hover {
  --tw-translate-y: -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));
}

.paragraph--type--card.card-type-image-top .card-image{
  position: relative;
  aspect-ratio: 4/3;
  width: 100%;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity));
}

.paragraph--type--card.card-type-image-top .card-content{
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

@media (min-width: 1024px){
  .paragraph--type--card.card-type-image-top .card-content{
    padding: 2rem;
  }
}

.paragraph--type--card.card-type-image-top .icon{
  margin-bottom: 1.5rem;
  display: flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: calc(var(--radius) - 2px);
  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;
  background: hsl(var(--cta));
  color: hsl(var(--cta-foreground));
}

.paragraph--type--card.card-type-image-top .icon svg{
  height: 2rem;
  width: 2rem;
  color: hsl(var(--cta-foreground));
}

.paragraph--type--card.card-type-image-top .title {
  margin-bottom: 0.75rem;
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  letter-spacing: -0.025em;
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity));
}

.paragraph--type--card.card-type-image-top .subtitle{
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.paragraph--type--card.card-type-image-top .title-line {
  background: hsl(var(--cta));
  display: block;
}

.paragraph--type--card.card-type-image-top .content-text{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.paragraph--type--card.card-type-image-top .content-text p{
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.card-testmonial .paragraph--type--card.card-type-image-top .content-text p {
  font-size: 14px;
  line-height: 1.6;
}

.card-testmonial .paragraph--type--card.card-type-image-top .content-text p p {
  position: relative;
  font-style: italic;
  line-height: 1.8;
  padding: 0 30px;
  text-align: center;
  font-size: 1.125rem;
}

.card-testmonial .paragraph--type--card.card-type-image-top .content-text p p::before {
  content: "“";
  position: absolute;
  left: 0;
  top: -10px;
  font-family: Georgia, serif;
  font-size: 4rem;
  color: hsl(var(--cta));
  opacity: 0.3;
  line-height: 1;
}

.card-testmonial .paragraph--type--card.card-type-image-top .content-text p p::after {
  content: "”";
  position: absolute;
  right: 0;
  bottom: -40px;
  font-family: Georgia, serif;
  font-size: 4rem;
  color: hsl(var(--cta));
  opacity: 0.3;
  line-height: 1;
}

.paragraph--type--card.card-type-image-top .content-text p {
  color: inherit;
}

.paragraph--type--card.card-type-icon-contact{
  border-left-width: 4px;
  padding: 2rem;
}

.paragraph--type--card.card-type-icon-contact .icon{
  margin-bottom: 1rem;
  display: flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
}

.paragraph--type--card.card-type-icon-contact .icon svg{
  height: 2rem;
  width: 2rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.paragraph--type--card.card-type-icon-contact .title{
  margin-bottom: 0.5rem;
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: -0.025em;
}

.paragraph--type--card.card-type-icon-contact .subtitle{
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.paragraph--type--card.card-type-icon-contact .content-text{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.paragraph--type--card.card-type-icon-contact .content-text p{
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: inherit;
}

.card-testmonial {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 1px solid hsl(var(--border)/var(--border-alpha, 0.08));
}

.card-testmonial .leading-relaxed {
  font-size: 14px;
  line-height: 1.6;
}

.card-testmonial .leading-relaxed p {
  position: relative;
  font-style: italic;
  line-height: 1.8;
  padding: 0 30px;
  text-align: center;
  font-size: 1.125rem;
}

.card-testmonial .leading-relaxed p::before {
  content: "“";
  position: absolute;
  left: 0;
  top: -10px;
  font-family: Georgia, serif;
  font-size: 4rem;
  color: hsl(var(--cta));
  opacity: 0.3;
  line-height: 1;
}

.card-testmonial .leading-relaxed p::after {
  content: "”";
  position: absolute;
  right: 0;
  bottom: -40px;
  font-family: Georgia, serif;
  font-size: 4rem;
  color: hsl(var(--cta));
  opacity: 0.3;
  line-height: 1;
}

.card-testmonial .field--name-field-image,
.card-testmonial .field--name-field-name,
.card-testmonial .field--name-field-profession {
  display: inline-block;
}

.card-testmonial .testimonial-author {
  display: flex;
  align-items: center;
}

.card-testmonial .field--name-field-name {
  font-weight: 600;
  font-size: 14px;
}

.card-testmonial .field--name-field-profession {
  font-size: 12px;
}

/* ============================================
   Course Cards — maintained, accent colors via --cta
   ============================================ */

.course-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: hsl(var(--background));
  overflow: hidden;
  border: 1px solid hsl(var(--border)/var(--border-alpha, 0.08));
  transition: all 0.3s ease;
}

.course-card:hover {
  border-color: hsl(var(--cta)/0.4);
  transform: translateY(-2px);
}

.course-card .course-image {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: hsl(var(--muted));
}

.course-card .course-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}

.course-card .course-image:hover img {
  transform: scale(1.05);
}

.course-card .course-image .course-accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
}

.course-card .course-image .course-accent.accent-emerald {
  background: hsl(var(--cta));
}

.course-card .course-image .course-accent.accent-red {
  background: hsl(var(--destructive));
}

.course-card .course-image .course-accent.accent-amber {
  background: hsl(var(--warning));
}

.course-card .course-content {
  flex: 1;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.course-card .course-content .course-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: hsl(var(--muted-foreground));
  font-weight: 500;
}

.course-card .course-content .course-meta span:not(:last-child)::after {
  content: "·";
  margin-left: 0.5rem;
}

.course-card .course-content .course-title {
  font-size: 1.5rem;
  line-height: 1.2;
  color: hsl(var(--foreground));
}

.course-card .course-content .course-description {
  color: hsl(var(--muted-foreground));
  line-height: 1.6;
}

.course-card .course-content .course-link {
  align-self: flex-start;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color 0.3s ease;
  color: hsl(var(--cta));
}

.team-card {
  box-sizing: border-box;
}

.team-card .team-roles {
  font-size: 12px !important;
}

.team-card .team-roles .divider {
  margin: 0 4px;
}

.team-card .actions {
  margin-top: auto !important;
}

/* ============================
   Shared Swiper Styles
   ============================ */

/* --- Pagination dots (shared) --- */

.swiper-pagination {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  z-index: 10;
}

.swiper-pagination .swiper-pagination-bullet {
  width: 16px;
  height: 3px;
  border-radius: 0;
  background: hsl(var(--primary));
  opacity: 0.4;
  cursor: pointer;
  transition: background 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.4);
}

/* --- Navigation arrows (shared) --- */

.swiper-button-prev,
.swiper-button-next {
  color: hsl(var(--primary));
  width: 10px;
  height: 20px;
  background: hsl(var(--card));
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  padding: 10px 16px;
  position: absolute;
  top: auto !important;
  bottom: 0 !important;
  margin-top: 0;
  cursor: pointer;
  border: 1px solid hsl(var(--primary)) !important;
  display: grid;
  height: 2.5rem;
  width: 2.5rem;
}

@keyframes fade-up{
  from{
    opacity: 0;
    transform: translateY(32px);
  }

  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.swiper-button-prev,
.swiper-button-next{
  animation: fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
  place-items: center;
  border-radius: 9999px;
  background-color: hsl(var(--surface) / 0.7);
  color: hsl(var(--muted-foreground) / 0.7);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 18px;
  font-weight: bold;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: rgba(0, 0, 0, 0.15) !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  color: hsl(var(--primary));
}

.swiper-button-prev {
  left: inherit !important;
  margin-left: inherit !important;
  right: 60px !important;
}

.swiper-button-prev .swiper-navigation-icon {
  transform: scaleX(-1);
}

.swiper-button-next {
  left: auto !important;
  right: 30px;
}

@media (min-width: 680px) {
  .swiper-button-next {
    right: 30px;
  }
}

@media (min-width: 1220px) {
  .swiper-button-next {
    right: 35px;
  }
}

@media (min-width: 1440px) {
  .swiper-button-next {
    right: 2%;
  }
}

/* Remove default Swiper arrow icons when using custom buttons */

.swiper-button-lock {
  display: none;
}

/* ============================
   Team carousel
   ============================ */

.team-swiper {
  width: 100%;
  overflow: clip;
  position: relative;
}

.team-swiper:has(.team-pagination.swiper-pagination-lock) {
  padding-bottom: 0;
}

.team-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
  margin-bottom: 5rem;
}

.team-swiper .swiper-slide {
  display: flex;
  flex-shrink: 0;
  height: auto;
}

.team-swiper .swiper-slide > * {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

.team-swiper .team-pagination.swiper-pagination-lock {
  display: none !important;
}

/* ============================
   Testimonials carousel
   ============================ */

.testimonials-swiper {
  overflow: clip;
}

.testimonials-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.testimonials-swiper .swiper-slide {
  flex-shrink: 0;
  height: auto;
}

/* ============================
   Banner slider
   ============================ */

.banner-slider {
  position: relative;
  overflow: hidden;
}

.banner-slider .swiper-wrapper {
  display: flex;
}

.banner-slider .swiper-slide {
  flex-shrink: 0;
  width: 100%;
}

.banner-slider .swiper-button-next,
.banner-slider .swiper-button-prev {
  display: none !important;
}

/* ============================
   Cards carousel
   ============================ */

.cards-carousel-swiper {
  overflow: clip;
}

.cards-carousel-swiper .swiper-wrapper {
  align-items: stretch;
  margin-bottom: 5rem;
  display: flex;
}

.cards-carousel-swiper .swiper-slide {
  flex-shrink: 0;
  height: auto;
}

/* ============================================================
   Forms — base styles for all Drupal forms
   Uses CSS custom properties so dark/light mode works natively
   ============================================================ */

.webform-button--submit {
  cursor: pointer;
}

input[type=submit].form-submit,
input[type=submit].button {
  cursor: pointer;
}

/* --- Form item spacing --- */

.form-item {
  margin-top: 0;
  margin-bottom: 0;
}

.form-actions {
  margin-top: 0;
  margin-bottom: 0;
}

/* --- Focus ring for inputs usando CTA verde sutil (Figma Make) --- */

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none;
  border-color: hsl(var(--cta)/0.5);
  box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 3px hsl(var(--cta)/0.2);
}

/* --- Checkbox / Radio consistency --- */

input[type=checkbox],
input[type=radio] {
  accent-color: hsl(var(--cta));
}

/* --- Select dropdown --- */

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.75rem center;
  background-repeat: no-repeat;
  background-size: 1rem;
  padding-right: 2.5rem;
}

/* --- Views exposed form reset --- */

.views-exposed-form .form-item {
  margin-top: 0;
  margin-bottom: 0;
}

.views-exposed-form input[type=text],
.views-exposed-form input[type=search],
.views-exposed-form select,
.views-exposed-form input[type=submit] {
  box-sizing: border-box;
  min-height: 48px;
}

.views-exposed-form .form-actions {
  margin-top: 0;
  margin-bottom: 0;
  align-self: flex-end;
}

/* --- Form error states --- */

input.error,
textarea.error,
select.error {
  border-color: var(--destructive, #ef4444) !important;
}

.form-item--error-message {
  color: var(--destructive, #ef4444);
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* --- Newsletter specific button --- */

.webform-submission-newsletter-form .form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: hsl(var(--cta));
  padding: 0.75rem;
  width: 42px;
  height: 42px;
  color: hsl(var(--cta-foreground));
  transition: filter 0.2s;
  border: none;
  cursor: pointer;
  font-size: 0;
}

.webform-submission-newsletter-form .form-submit:hover {
  filter: brightness(1.1);
}

.webform-submission-newsletter-form .form-submit::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.form-item__label{
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.form-type-checkbox{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* ============================================
   Contact form — docs/design-system/theme
   (slide de contato: inputs sublinhados, labels
   kicker, botão mono invertido).
   Markup: webform fcontact_form dentro de .contact-form.
   ============================================ */

.contact-form form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .contact-form form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 2rem;
  }

  .contact-form .form-item {
    grid-column: 1/-1;
  }

  .contact-form {
    /* Nome + E-mail lado a lado (primeiros campos do fcontact_form) */
  }

  .contact-form .form-item:nth-child(1),
  .contact-form .form-item:nth-child(2) {
    grid-column: auto/span 1;
  }

  .contact-form .form-actions {
    grid-column: 1/-1;
  }
}

.contact-form .form-item {
  min-width: 0;
}

.contact-form label,
.contact-form .field-label {
  display: block;
  margin-bottom: 0.25rem;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.contact-form label.form-required,
.contact-form .field-label.form-required {
  color: hsl(var(--muted-foreground));
}

.contact-form {
  /* O asterisco de obrigatório ganha o terracotta. */
}

.contact-form label .form-required,
.contact-form .form-required::after {
  color: hsl(var(--accent));
}

.contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.contact-form textarea {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid hsl(var(--border));
  border-radius: 0;
  padding: 0.75rem 0;
  font-size: 0.875rem;
  color: hsl(var(--foreground));
  outline: none;
  transition: border-color 0.3s ease;
}

.contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):focus,
.contact-form textarea:focus {
  border-bottom-color: hsl(var(--foreground));
}

.contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio])::-moz-placeholder, .contact-form textarea::-moz-placeholder {
  color: hsla(38, 11%, 47%, 0.6);
}

.contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio])::placeholder,
.contact-form textarea::placeholder {
  color: hsla(38, 11%, 47%, 0.6);
}

.contact-form textarea {
  resize: none;
}

.contact-form .description {
  font-size: 0.75rem;
  color: hsl(var(--muted-foreground));
  margin-top: 0.25rem;
}

.contact-form button,
.contact-form input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: auto;
  /* anula .w-full que módulos terceiros adicionam */
  background: transparent;
  color: hsl(var(--foreground));
  padding: 0.75rem 1.25rem;
  border-width: 1px !important;
  border-style: solid !important;
  border-color: hsl(var(--foreground)) !important;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.contact-form button:hover,
.contact-form input[type=submit]:hover {
  background: hsl(var(--foreground));
  color: hsl(var(--background));
}

/* ============================================
   Gallery carousel — docs/design-system/theme
   (projetos.cit.tsx → SlideGaleria).
   Uma imagem por vez; entrada/saída direcionais
   controladas por gallery-carousel.js via estilos inline.
   ============================================ */

[data-gallery-carousel] [data-gallery-img] {
  opacity: 0;
  transform: translateX(60px) scale(1.04);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  touch-action: pan-y;
}

[data-gallery-carousel] [data-gallery-img].is-active {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

[data-gallery-carousel] [data-gallery-caption] {
  transition: opacity 0.22s ease, transform 0.22s ease;
}

[data-gallery-carousel] {
  /* Controles ←/→ — longhand: o reset global do tema
     (*, ::before, ::after { border-width: 0 }) vence a shorthand. */
}

[data-gallery-carousel] [data-gallery-prev],
[data-gallery-carousel] [data-gallery-next] {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: hsl(var(--border)) !important;
  background: transparent !important;
  color: hsl(var(--foreground)) !important;
}

[data-gallery-carousel] [data-gallery-prev]:hover,
[data-gallery-carousel] [data-gallery-next]:hover {
  background: hsl(var(--foreground)) !important;
  color: hsl(var(--background)) !important;
  border-color: hsl(var(--foreground)) !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-gallery-carousel] [data-gallery-img],
  [data-gallery-carousel] [data-gallery-caption] {
    transition: none !important;
  }
}

.media--type-responsive-image picture {
  display: block;
  width: 100%;
}

.media--type-responsive-image img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  /* Garante que o banner preencha o espaço sem deformar */
}

.aspect-video iframe.media-oembed-content,
.aspect-video .media--type-remote-video,
.aspect-video .media--type-remote-video iframe,
.aspect-video-16\/9 iframe.media-oembed-content,
.aspect-video-16\/9 .media--type-remote-video,
.aspect-video-16\/9 .media--type-remote-video iframe,
[class*=aspect-video] iframe.media-oembed-content,
[class*=aspect-video] .media--type-remote-video,
[class*=aspect-video] .media--type-remote-video iframe {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.media-embed-responsive {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}

.media-embed-responsive iframe,
.media-embed-responsive embed,
.media-embed-responsive object,
.media-embed-responsive video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

#course-subscription-modal {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2.5rem 1rem 1rem;
}

@media (min-width: 768px) {
  #course-subscription-modal {
    padding-top: 5rem;
  }
}

#course-subscription-modal #modal-close-btn {
  right: 2rem;
}

/* ==========================================================================
   DXPR Builder Settings Modal — fix Bootstrap 5 collapse/accordion issues
   The settings modal uses .panel-group.az-accordion with .collapse.show
   and .card-body.az-ctnr which can have clipping/z-index issues.
   ========================================================================== */

.dxpr-builder-settings-container,
.dxpr-builder-settings-body {
  overflow: visible !important;
}

.dxpr-builder-settings-container .collapse {
  display: none;
  visibility: hidden;
}

.dxpr-builder-settings-container .collapse.show {
  display: block;
  visibility: visible;
}

.dxpr-builder-settings-container .collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

/* Fix white overlay/layer on top when accordion open */

.dxpr-builder-settings-container .card-body.az-ctnr {
  position: relative;
  z-index: 1;
  background: transparent;
}

/* Ensure accordion items don't clip each other */

.az-element.az-accordion .az-toggle.card {
  overflow: visible;
}

/* Fix transition for smooth open/close */

.az-element.az-accordion .collapse {
  transition: height 0.35s ease;
}

/* Ensure backdrop doesn't appear on inline settings */

.dxpr-builder-settings-container .modal-backdrop,
.dxpr-builder-settings-container::before,
.dxpr-builder-settings-container::after {
  display: none !important;
}

/* Fix potential z-index stacking context issues */

.az-element.az-accordion {
  position: relative;
  z-index: 10;
}

/* Ensure card headers stay above collapsing content */

.dxpr-builder-settings-heading {
  position: relative;
  z-index: 2;
}

/* Prevent white flash during transition */

.dxpr-builder-settings-container .collapsing {
  background: transparent;
}

.paragraph--type--section-sliders .swiper-pagination-horizontal {
  bottom: 8rem !important;
}

/* ============================================
   Section Simple Header
   — Ajuste fino: cores hardcoded substituídas por tokens Figma Make.
     TODAS as 3 variantes field_header_type preservadas:
       • centered_no_border
       • simple
       • secondary_header
   ============================================ */

.section-simple-header{
  position: relative !important;
  margin-bottom: 2.5rem !important;
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

@media (min-width: 1024px){
  .section-simple-header{
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
}

.section-simple-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, hsl(var(--foreground)/0.3) 0%, hsl(var(--foreground)/0.1) 50%, transparent 100%);
  pointer-events: none;
}

.section-simple-header > div{
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1440px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 1536px){
  .section-simple-header > div{
    padding-left: 0px;
    padding-right: 0px;
  }
}

@media (min-width: 1024px){
  .section-simple-header > div{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.section-simple-header > div {
  position: relative;
}

.section-simple-header .section-label{
  margin-bottom: 0px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.section-simple-header .section-label__num {
  display: none;
}

.section-simple-header .section-label__line{
  height: 1px;
  width: 1.5rem;
  background: hsl(var(--foreground)/0.3);
}

.section-simple-header .section-label__text{
  font-family: var(--font-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: hsl(var(--foreground)/0.5);
}

.section-simple-header h2{
  margin-top: 1.5rem !important;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif !important;
  font-weight: 300 !important;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: hsl(var(--foreground));
}

.section-simple-header h2 em {
  font-style: italic;
  font-weight: 400;
  color: hsl(var(--foreground)/0.65);
}

.section-simple-header .text-editor{
  margin-top: 1.5rem;
  max-width: 36rem;
  font-size: 16px;
  color: hsl(var(--foreground)/0.55);
  line-height: 1.7;
}

.section-simple-header.centered_no_border{
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  text-align: center;
}

@media (min-width: 768px){
  .section-simple-header.centered_no_border{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.section-simple-header.centered_no_border h2{
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 1.5rem !important;
  max-width: 42rem !important;
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif !important;
  font-weight: 300 !important;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  color: hsl(var(--foreground));
}

.section-simple-header.centered_no_border .text-editor{
  margin-left: auto;
  margin-right: auto;
  max-width: 42rem;
  text-align: left;
}

@media (min-width: 1024px){
  .section-simple-header.centered_no_border .text-editor{
    text-align: center;
  }
}

.section-simple-header.simple{
  position: relative;
  margin-bottom: 2.5rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 1024px){
  .section-simple-header.simple{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.section-simple-header.secondary_header{
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  text-align: left;
}

@media (min-width: 768px){
  .section-simple-header.secondary_header{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.section-simple-header.secondary_header {
  background: color-mix(in oklab, hsl(var(--cta)) 8%, transparent);
}

.section-simple-header.secondary_header .header-lead{
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.section-simple-header.secondary_header .header-title {
  margin-top: 0.75rem;
  font-family: var(--font-display);
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 700;
}

@media (min-width: 768px){
  .section-simple-header.secondary_header .header-title{
    font-size: 3rem;
    line-height: 1;
  }
}

.section-simple-header.secondary_header .header-desc{
  margin-top: 0.75rem;
  max-width: 36rem;
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.text-content-editor,
.texta-editor {
  font-size: 0.938rem;
  line-height: 1.6;
  color: inherit;
}

@media (min-width: 768px) {
  .text-content-editor,
  .texta-editor {
    font-size: 1rem;
    line-height: 1.7;
  }
}

.text-content-editor *,
.texta-editor * {
  max-width: 100%;
}

.text-content-editor h1, .text-content-editor h2, .text-content-editor h3, .text-content-editor h4, .text-content-editor h5, .text-content-editor h6,
.texta-editor h1,
.texta-editor h2,
.texta-editor h3,
.texta-editor h4,
.texta-editor h5,
.texta-editor h6 {
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0.75rem;
  margin-top: 1.5rem;
}

@media (min-width: 768px) {
  .text-content-editor h1, .text-content-editor h2, .text-content-editor h3, .text-content-editor h4, .text-content-editor h5, .text-content-editor h6,
  .texta-editor h1,
  .texta-editor h2,
  .texta-editor h3,
  .texta-editor h4,
  .texta-editor h5,
  .texta-editor h6 {
    line-height: 1.3;
    margin-top: 2.5rem;
  }
}

.text-content-editor h1,
.texta-editor h1 {
  font-size: 1.5rem;
}

@media (min-width: 768px) {
  .text-content-editor h1,
  .texta-editor h1 {
    font-size: 2.25rem;
  }
}

.text-content-editor h2,
.texta-editor h2 {
  font-size: 1.35rem;
}

@media (min-width: 768px) {
  .text-content-editor h2,
  .texta-editor h2 {
    font-size: 1.875rem;
  }
}

.text-content-editor h3,
.texta-editor h3 {
  font-size: 1.25rem;
}

@media (min-width: 768px) {
  .text-content-editor h3,
  .texta-editor h3 {
    font-size: 1.5rem;
  }
}

.text-content-editor h4,
.texta-editor h4 {
  font-size: 1.15rem;
}

@media (min-width: 768px) {
  .text-content-editor h4,
  .texta-editor h4 {
    font-size: 1.25rem;
  }
}

.text-content-editor h5,
.texta-editor h5 {
  font-size: 1.1rem;
}

.text-content-editor h6,
.texta-editor h6 {
  font-size: 1rem;
}

.text-content-editor p,
.texta-editor p{
  margin-bottom: 1rem;
}

.text-content-editor p:last-child,
.texta-editor p:last-child{
  margin-bottom: 0px;
}

.text-content-editor blockquote,
.texta-editor blockquote {
  border-left: 4px solid #ddd;
  padding-left: 1rem;
  margin: 1rem 0;
  font-style: italic;
  color: #555;
  font-size: 1.1em;
}

@media (min-width: 768px) {
  .text-content-editor blockquote,
  .texta-editor blockquote {
    margin: 1.5rem 0;
    padding-left: 1.5rem;
  }
}

.text-content-editor table,
.texta-editor table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (min-width: 768px) {
  .text-content-editor table,
  .texta-editor table {
    display: table;
  }
}

.text-content-editor th, .text-content-editor td,
.texta-editor th,
.texta-editor td {
  border: 1px solid #ddd;
  padding: 0.6rem;
  min-width: 120px;
}

@media (min-width: 768px) {
  .text-content-editor th, .text-content-editor td,
  .texta-editor th,
  .texta-editor td {
    padding: 0.75rem;
    min-width: auto;
  }
}

.text-content-editor figure,
.texta-editor figure {
  margin: 1rem 0;
}

@media (min-width: 768px) {
  .text-content-editor figure,
  .texta-editor figure {
    margin: 1.5rem 0;
  }
}

.text-content-editor figure figcaption,
.texta-editor figure figcaption {
  font-size: 0.8rem;
}

@media (min-width: 768px) {
  .text-content-editor figure figcaption,
  .texta-editor figure figcaption {
    font-size: 0.875rem;
  }
}

.text-content-editor iframe,
.texta-editor iframe {
  margin: 1rem 0;
}

@media (min-width: 768px) {
  .text-content-editor iframe,
  .texta-editor iframe {
    margin: 1.5rem 0;
  }
}

.text-editor pre{
  margin-top: 2rem;
  overflow-x: auto;
  border-radius: var(--radius);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity));
  background-color: hsl(var(--card) / 0.6);
  padding: 1rem;
  max-width: 100%;
  word-wrap: break-word;
  white-space: pre-wrap;
}

@media (max-width: 640px) {
  .text-editor pre {
    font-size: 0.8125rem;
    padding: 1rem;
  }
}

/* ============================================
   Portfolio Deck — full-screen "magazine flip" sections
   Conforme docs/design-system/theme (Lovable export,
   urban-folio-magic): papel creme + tinta + terracotta,
   display = Instrument Serif, mono = JetBrains Mono.
   ============================================ */

body.portfolio-deck {
  overflow: hidden;
}

/* ---- Palco: ocupa a viewport inteira ---- */

.slide-stage {
  position: fixed;
  inset: 0;
  /* z-40: fica abaixo do header fixo (z-50, mix-blend-difference)
     para o blend funcionar sobre os slides claros/escuros. */
  z-index: 40;
  overflow: hidden;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
}

/* Views renderizadas dentro do palco (ex.: /projetos) vêm envolvidas por
   .region--content > .views-element-container > div. Sem altura, os slides
   absolutos (inset: 0) herdam 0 e nada aparece — por isso a cadeia inteira
   precisa ocupar a altura do palco. */

.slide-stage > .region--content,
.slide-stage > .region--content > *,
.slide-stage > .region--content .views-element-container,
.slide-stage > .region--content .views-element-container > * {
  height: 100%;
}

/* Todo slide precisa rolar quando o conteúdo passa da viewport (principalmente
   no mobile) — sem isso o excedente fica inacessível. */

.slide-stage .deck-slide {
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* ---- Slide individual (escopado ao palco: páginas de deck "page") ---- */

.slide-stage .deck-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), clip-path 0.9s cubic-bezier(0.7, 0, 0.2, 1);
  will-change: opacity, transform;
}

.slide-stage .deck-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.slide-stage .deck-slide.is-leaving {
  opacity: 0;
  transform: translateY(-40px);
}

/* variantes de transição (opcional, via data-transition) */

.slide-stage .deck-slide[data-transition=clip].is-active {
  clip-path: inset(0 0 0 0);
}

.slide-stage .deck-slide[data-transition=clip] {
  clip-path: inset(0 100% 0 0);
}

.slide-stage .deck-slide[data-transition=clip].is-leaving {
  clip-path: inset(0 0 0 100%);
}

.slide-stage .deck-slide[data-transition=reveal].is-active {
  clip-path: inset(0 0 0% 0);
}

.slide-stage .deck-slide[data-transition=reveal] {
  clip-path: inset(0 0 100% 0);
}

.slide-stage .deck-slide[data-transition=reveal].is-leaving {
  clip-path: inset(100% 0 0 0);
}

.slide-stage .deck-slide[data-transition=scale] {
  transform: scale(1.08);
}

.slide-stage .deck-slide[data-transition=scale].is-active {
  transform: scale(1);
}

.slide-stage .deck-slide[data-transition=scale].is-leaving {
  transform: scale(0.96);
}

.slide-stage .deck-slide[data-transition=slide] {
  transform: translateY(100%);
}

.slide-stage .deck-slide[data-transition=slide].is-active {
  transform: translateY(0);
}

.slide-stage .deck-slide[data-transition=slide].is-leaving {
  transform: translateY(-100%);
}

/* ---- Elementos de apoio (igual ao Lovable) ---- */

.grid-paper {
  background-image: linear-gradient(to right, hsla(39, 11%, 15%, 0.06) 1px, transparent 1px), linear-gradient(to bottom, hsla(39, 11%, 15%, 0.06) 1px, transparent 1px);
  background-size: 64px 64px;
}

.kicker {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

.display {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 0.95;
}

.text-cta {
  color: hsl(var(--cta));
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
}

/* ---- Top bar ---- */

.deck-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  padding: 1.25rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  mix-blend-mode: difference;
  color: #fff;
  pointer-events: none;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.deck-topbar a {
  pointer-events: auto;
  color: #fff;
}

/* ---- Nav dots laterais ---- */

.deck-nav {
  position: fixed;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.deck-nav button {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  background: none;
  border: 0;
  cursor: pointer;
}

.deck-nav span {
  display: block;
  height: 1px;
  width: 0.75rem;
  background: #fff;
  mix-blend-mode: difference;
  opacity: 0.5;
  transition: width 0.5s ease, opacity 0.5s ease;
}

.deck-nav button.is-active span,
.deck-nav button:hover span {
  width: 1.75rem;
  opacity: 1;
}

/* ---- Hint inferior ---- */

.deck-hint {
  position: fixed;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  mix-blend-mode: difference;
  color: #fff;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  opacity: 0.7;
  pointer-events: none;
  animation: deck-bob 2s ease-in-out infinite;
}

@keyframes deck-bob {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }

  50% {
    transform: translateX(-50%) translateY(6px);
  }
}

/* ---- Fallback: primeiro slide visível antes do JS subir ---- */

.slide-stage > .deck-slide:first-child {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* ---- Conteúdo interno dos slides ---- */

.slide-stage .deck-slide .deck-inner {
  height: 100%;
  width: 100%;
}

.slide-stage .deck-slide img.deck-media {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* faixa de revelação terracotta sobre a imagem (estilo Lovable) */

.slide-stage .deck-slide .deck-media-wipe {
  position: absolute;
  inset: 0;
  background: hsl(var(--accent));
  transform: translateY(100%);
  z-index: 2;
}

.slide-stage .deck-slide.is-active .deck-media-wipe {
  animation: deck-wipe 1.2s cubic-bezier(0.7, 0, 0.3, 1) forwards;
}

@keyframes deck-wipe {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(-100%);
  }
}

/* ---- Contador global (NN / TT) — canto inferior direito ---- */

.deck-counter {
  position: fixed;
  bottom: 1rem;
  right: 1.5rem;
  z-index: 60;
  mix-blend-mode: difference;
  color: #fff;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.deck-counter .opacity-50 {
  opacity: 0.5;
}

@media (prefers-reduced-motion: reduce) {
  .slide-stage .deck-slide,
  .deck-hint,
  .slide-stage .deck-slide.is-active .deck-media-wipe {
    animation: none !important;
    transition: opacity 0.3s ease !important;
  }
}

/* ============================================
   Project Deck — página interna de projeto
   Deck vertical "slide-scroll" (urban-folio-magic / Lovable).
   Cada seção (.project-deck__section) ocupa a viewport e o
   painel .project-deck__scroll faz o scroll entre elas.
   ============================================ */

.project-deck {
  position: fixed;
  inset: 0;
  /* z-40: fica abaixo do header fixo (z-50, mix-blend-difference)
     e acima do conteúdo comum; dots/counter/hint usam z-60. */
  z-index: 40;
  overflow: hidden;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
}

.project-deck__scroll {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* Seções do deck — SEMPRE dentro de .project-deck (parágrafos como a
   galeria também usam .project-deck__section em páginas comuns, fora
   do deck, onde devem ficar no fluxo normal). */

.project-deck .project-deck__section {
  position: absolute;
  inset: 0;
  /* Conteúdo maior que a viewport precisa rolar (mobile principalmente). */
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.9s cubic-bezier(0.7, 0, 0.2, 1);
  will-change: clip-path;
}

.project-deck .project-deck__section.is-active {
  clip-path: inset(0 0 0% 0);
}

.project-deck .project-deck__section.is-leaving {
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.9s cubic-bezier(0.7, 0, 0.2, 1);
}

.project-deck .project-deck__section .reveal {
  opacity: 1;
  transform: none;
}

.project-deck .project-deck__section .reveal--2 {
  transition-delay: 0.23s;
}

.project-deck .project-deck__section .reveal--3 {
  transition-delay: 0.31s;
}

.project-deck .project-deck__section--dark {
  background-color: hsl(var(--ink));
  color: hsl(var(--background));
}

/* ---- Nav dots laterais ---- */

.project-deck__nav {
  position: fixed;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 60;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.project-deck__nav button {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  background: none;
  border: 0;
  cursor: pointer;
}

.project-deck__nav span {
  display: block;
  height: 1px;
  width: 0.75rem;
  background: #fff;
  mix-blend-mode: difference;
  opacity: 0.5;
  transition: width 0.5s ease, opacity 0.5s ease;
}

.project-deck__nav button.is-active span,
.project-deck__nav button:hover span {
  width: 1.75rem;
  opacity: 1;
}

/* ---- Contador NN / TT ---- */

.project-deck__counter {
  position: fixed;
  bottom: 1rem;
  right: 1.5rem;
  z-index: 60;
  mix-blend-mode: difference;
  color: #fff;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.project-deck__counter .opacity-50 {
  opacity: 0.5;
}

/* ---- Hint de scroll ---- */

.project-deck__hint {
  position: fixed;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 60;
  mix-blend-mode: difference;
  color: #fff;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  opacity: 0.7;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

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

  .project-deck .project-deck__section {
    clip-path: inset(0 0 0% 0);
    transition: none;
  }

  .project-deck .project-deck__section .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.bg-\[var\(--accent\)\] {
  background-color: var(--accent);
}

#search-modal #search-block-form{
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

#search-modal #search-block-form .form-item-keys{
  flex: 1 1 0%;
}

#search-modal #search-block-form input[type=search]{
  width: 100%;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

#search-modal #search-block-form .form-actions{
  flex: none;
}

#search-modal #search-block-form .form-actions input{
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity));
  line-height: 1.25rem;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
  outline: none;
  position: relative;
  padding: 1rem 1.5rem;
}

#search-modal #search-block-form .form-actions input:hover {
  text-decoration: none;
}

#search-modal #search-block-form .form-actions input svg {
  pointer-events: none;
  flex-shrink: 0;
}

#search-modal #search-block-form .form-actions input svg:not([class*=size-]) {
  width: 1rem;
  height: 1rem;
}

#search-modal #search-block-form .form-actions input:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px hsl(var(--ring));
}

#search-modal #search-block-form .form-actions input:disabled {
  pointer-events: none;
  opacity: 0.5;
}

#search-modal #search-block-form .form-actions input.is-loading {
  pointer-events: none;
  opacity: 0.7;
}

#search-modal #search-block-form .form-actions input.is-loading::after {
  content: "";
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 0.5rem;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  #search-modal #search-block-form .form-actions input {
    transition: none;
  }

  #search-modal #search-block-form .form-actions input.is-loading::after {
    animation: none;
  }
}

#search-modal #search-block-form .form-actions input:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(6 78 59 / var(--tw-bg-opacity));
}

#search-results-page h2{
  margin-bottom: 2.5rem;
  font-size: 3rem;
  line-height: 1;
  font-weight: 400;
}

#search-results-page #search-block-form-list{
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

#search-results-page #search-block-form-list label{
  display: none;
}

#search-results-page #search-block-form-list input[type=search]{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

#search-results-page ol {
  list-style-type: none;
}

html body {
  border-bottom: 0 !important;
}

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

header a {
  color: inherit;
}

.text-\[var\(--accent\)\] {
  color: hsl(var(--accent)) !important;
}

.hover\:text-\[var\(--accent\)\]:hover {
  color: hsl(var(--accent)) !important;
}

[data-mobile-menu-panel] {
  transition: opacity 0.35s ease;
  background-color: var(--ink, #1a1410);
  color: var(--background);
}

[data-mobile-menu-panel] nav a {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease;
}

[data-mobile-menu-panel] nav a:not(.text-accent) {
  color: #fff;
}

[data-mobile-menu-panel] nav a:not(.text-accent):hover {
  color: hsl(var(--accent));
}

[data-mobile-menu-panel][style*="opacity: 1"] nav a {
  opacity: 1;
  transform: none;
}

[data-mobile-menu-panel][style*="opacity: 1"] nav a:nth-child(1) {
  transition-delay: 0.1s;
}

[data-mobile-menu-panel][style*="opacity: 1"] nav a:nth-child(2) {
  transition-delay: 0.18s;
}

[data-mobile-menu-panel][style*="opacity: 1"] nav a:nth-child(3) {
  transition-delay: 0.26s;
}

[data-mobile-menu-panel][style*="opacity: 1"] nav a:nth-child(4) {
  transition-delay: 0.34s;
}

[data-mobile-menu-panel][style*="opacity: 1"] nav a:nth-child(5) {
  transition-delay: 0.42s;
}

[data-mobile-menu-panel] .border-t {
  border-color: color-mix(in oklab, var(--background) 15%, transparent);
  color: color-mix(in oklab, var(--background) 60%, transparent);
}

*, ::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:  ;
}

input:where([type='text']),input:where(:not([type])),input:where([type='email']),input:where([type='url']),input:where([type='password']),input:where([type='number']),input:where([type='date']),input:where([type='datetime-local']),input:where([type='month']),input:where([type='search']),input:where([type='tel']),input:where([type='time']),input:where([type='week']),select:where([multiple]),textarea,select{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

input:where([type='text']):focus, input:where(:not([type])):focus, input:where([type='email']):focus, input:where([type='url']):focus, input:where([type='password']):focus, input:where([type='number']):focus, input:where([type='date']):focus, input:where([type='datetime-local']):focus, input:where([type='month']):focus, input:where([type='search']):focus, input:where([type='tel']):focus, input:where([type='time']):focus, input:where([type='week']):focus, select:where([multiple]):focus, textarea:focus, select:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
  border-color: #2563eb;
}

input::-moz-placeholder, textarea::-moz-placeholder{
  color: #6b7280;
  opacity: 1;
}

input::placeholder,textarea::placeholder{
  color: #6b7280;
  opacity: 1;
}

::-webkit-datetime-edit-fields-wrapper{
  padding: 0;
}

::-webkit-date-and-time-value{
  min-height: 1.5em;
  text-align: inherit;
}

::-webkit-datetime-edit{
  display: inline-flex;
}

::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{
  padding-top: 0;
  padding-bottom: 0;
}

select{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

select:where([multiple]),select:where([size]:not([size="1"])){
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}

input:where([type='checkbox']),input:where([type='radio']){
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #2563eb;
  background-color: #fff;
  border-color: #6b7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

input:where([type='checkbox']){
  border-radius: 0px;
}

input:where([type='radio']){
  border-radius: 100%;
}

input:where([type='checkbox']):focus,input:where([type='radio']):focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #2563eb;
  --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);
}

input:where([type='checkbox']):checked,input:where([type='radio']):checked{
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

input:where([type='checkbox']):checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

@media (forced-colors: active) {
  input:where([type='checkbox']):checked{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

input:where([type='radio']):checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

@media (forced-colors: active) {
  input:where([type='radio']):checked{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

input:where([type='checkbox']):checked:hover,input:where([type='checkbox']):checked:focus,input:where([type='radio']):checked:hover,input:where([type='radio']):checked:focus{
  border-color: transparent;
  background-color: currentColor;
}

input:where([type='checkbox']):indeterminate{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
  border-color: transparent;
  background-color: currentColor;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media (forced-colors: active) {
  input:where([type='checkbox']):indeterminate{
    -webkit-appearance: auto;
       -moz-appearance: auto;
            appearance: auto;
  }
}

input:where([type='checkbox']):indeterminate:hover,input:where([type='checkbox']):indeterminate:focus{
  border-color: transparent;
  background-color: currentColor;
}

input:where([type='file']){
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}

input:where([type='file']):focus{
  outline: 1px solid ButtonText;
  outline: 1px auto -webkit-focus-ring-color;
}

*, *::before, *::after {
  box-sizing: border-box;
  border-color: hsl(var(--border));
  border-style: solid;
  border-width: 0;
}

/* Sem o preflight do Tailwind, o [hidden] do UA perde para classes
     de display (.flex/.block). Isso garante o ocultamento de verdade. */

[hidden] {
  display: none !important;
}

html {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 !important;
  border-bottom: solid !important;
  overflow-x: hidden;
}

::-moz-selection {
  background: hsla(0, 0%, 100%, 0.3);
  color: #000000;
}

::selection {
  background: hsla(0, 0%, 100%, 0.3);
  color: #000000;
}

ul, ol {
  padding: 0;
  margin: 0;
}

/* Reset button backgrounds para transparent por padrão (evita ButtonFace cinza da UA). */

/* Componentes que precisam de bg explicitam via classe (ex: .btn-primary, .bg-cta). */

button {
  background-color: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  border: none;
  cursor: pointer;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 600;
  hyphens: none !important;
  overflow-wrap: break-word;
}

h1 {
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.03em;
  margin-bottom: 1.5rem;
}

h2 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin-bottom: 1.25rem;
}

h3 {
  font-size: clamp(1.375rem, 3vw, 1.875rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 1rem;
}

h4 {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: normal;
  margin-bottom: 1rem;
}

h5 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: normal;
  margin-bottom: 0.75rem;
}

h6 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: normal;
  margin-bottom: 0.75rem;
}

p {
  font-size: 0.938rem;
  line-height: 1.7;
  margin-bottom: 1.25rem;
  letter-spacing: normal;
  color: hsl(var(--muted-foreground));
}

@media (min-width: 768px) {
  p {
    font-size: 1rem;
    line-height: 1.75;
  }
}

a {
  color: hsl(var(--primary));
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}

a:hover {
  opacity: 0.9;
}

ul {
  list-style: disc inside;
  margin-bottom: 2rem;
}

ol {
  list-style: auto inside;
  margin-bottom: 2rem;
}

hr {
  border: none;
  border-top: 1px solid hsl(var(--border));
  margin: 2rem 0 !important;
}

nav ul, nav ol {
  list-style: none;
  padding: 0;
  margin: 0 !important;
}

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

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

.\!container{
  width: 100% !important;
}

.container{
  width: 100%;
}

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

  .container{
    max-width: 640px;
  }
}

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

  .container{
    max-width: 768px;
  }
}

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

  .container{
    max-width: 1024px;
  }
}

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

  .container{
    max-width: 1280px;
  }
}

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

  .container{
    max-width: 1536px;
  }
}

.prose{
  color: var(--tw-prose-body);
  max-width: 65ch;
}

.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-inline-start: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{
  font-weight: 400;
  color: var(--tw-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker{
  color: var(--tw-prose-bullets);
}

.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.25em;
}

.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-color: var(--tw-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 500;
  font-style: italic;
  color: var(--tw-prose-quotes);
  border-inline-start-width: 0.25rem;
  border-inline-start-color: var(--tw-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-inline-start: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 800;
  font-size: 2.25em;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  font-size: 1.25em;
  margin-top: 1.6em;
  margin-bottom: 0.6em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 700;
  color: inherit;
}

.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  font-weight: 500;
  font-family: inherit;
  color: var(--tw-prose-kbd);
  box-shadow: 0 0 0 1px var(--tw-prose-kbd-shadows), 0 3px 0 var(--tw-prose-kbd-shadows);
  font-size: 0.875em;
  border-radius: 0.3125rem;
  padding-top: 0.1875em;
  padding-inline-end: 0.375em;
  padding-bottom: 0.1875em;
  padding-inline-start: 0.375em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-code);
  font-weight: 600;
  font-size: 0.875em;
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: "`";
}

.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: "`";
}

.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: inherit;
}

.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-pre-code);
  background-color: var(--tw-prose-pre-bg);
  overflow-x: auto;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 1.7142857;
  margin-top: 1.7142857em;
  margin-bottom: 1.7142857em;
  border-radius: 0.375rem;
  padding-top: 0.8571429em;
  padding-inline-end: 1.1428571em;
  padding-bottom: 0.8571429em;
  padding-inline-start: 1.1428571em;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before{
  content: none;
}

.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after{
  content: none;
}

.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  width: 100%;
  table-layout: auto;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
}

.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 1px;
  border-bottom-color: var(--tw-prose-td-borders);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  vertical-align: baseline;
}

.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  border-top-width: 1px;
  border-top-color: var(--tw-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  text-align: start;
}

.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  color: var(--tw-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose{
  --tw-prose-body: #374151;
  --tw-prose-headings: #111827;
  --tw-prose-lead: #4b5563;
  --tw-prose-links: #111827;
  --tw-prose-bold: #111827;
  --tw-prose-counters: #6b7280;
  --tw-prose-bullets: #d1d5db;
  --tw-prose-hr: #e5e7eb;
  --tw-prose-quotes: #111827;
  --tw-prose-quote-borders: #e5e7eb;
  --tw-prose-captions: #6b7280;
  --tw-prose-kbd: #111827;
  --tw-prose-kbd-shadows: rgb(17 24 39 / 10%);
  --tw-prose-code: #111827;
  --tw-prose-pre-code: #e5e7eb;
  --tw-prose-pre-bg: #1f2937;
  --tw-prose-th-borders: #d1d5db;
  --tw-prose-td-borders: #e5e7eb;
  --tw-prose-invert-body: #d1d5db;
  --tw-prose-invert-headings: #fff;
  --tw-prose-invert-lead: #9ca3af;
  --tw-prose-invert-links: #fff;
  --tw-prose-invert-bold: #fff;
  --tw-prose-invert-counters: #9ca3af;
  --tw-prose-invert-bullets: #4b5563;
  --tw-prose-invert-hr: #374151;
  --tw-prose-invert-quotes: #f3f4f6;
  --tw-prose-invert-quote-borders: #374151;
  --tw-prose-invert-captions: #9ca3af;
  --tw-prose-invert-kbd: #fff;
  --tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);
  --tw-prose-invert-code: #fff;
  --tw-prose-invert-pre-code: #d1d5db;
  --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
  --tw-prose-invert-th-borders: #4b5563;
  --tw-prose-invert-td-borders: #374151;
  font-size: 1rem;
  line-height: 1.75;
}

.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > p:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > p:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0.5em;
  padding-inline-start: 1.625em;
}

.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-top: 0.5714286em;
  padding-inline-end: 0.5714286em;
  padding-bottom: 0.5714286em;
  padding-inline-start: 0.5714286em;
}

.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-start: 0;
}

.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  padding-inline-end: 0;
}

.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)){
  margin-bottom: 0;
}

.prose-invert{
  --tw-prose-body: var(--tw-prose-invert-body);
  --tw-prose-headings: var(--tw-prose-invert-headings);
  --tw-prose-lead: var(--tw-prose-invert-lead);
  --tw-prose-links: var(--tw-prose-invert-links);
  --tw-prose-bold: var(--tw-prose-invert-bold);
  --tw-prose-counters: var(--tw-prose-invert-counters);
  --tw-prose-bullets: var(--tw-prose-invert-bullets);
  --tw-prose-hr: var(--tw-prose-invert-hr);
  --tw-prose-quotes: var(--tw-prose-invert-quotes);
  --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
  --tw-prose-captions: var(--tw-prose-invert-captions);
  --tw-prose-kbd: var(--tw-prose-invert-kbd);
  --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
  --tw-prose-code: var(--tw-prose-invert-code);
  --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
  --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
  --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
  --tw-prose-td-borders: var(--tw-prose-invert-td-borders);
}

.surface-panel{
  border-top: 1px solid hsl(var(--border));
  border-bottom: 1px solid hsl(var(--border));
}

.btn-primary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding: 6px 16px;
  font-size: 0.875rem;
  font-weight: 600;
  color: hsl(var(--primary-foreground));
  background-color: hsl(var(--primary));
  transition: box-shadow 0.2s ease, filter 0.2s ease;
}

.btn-primary:hover{
  box-shadow: var(--shadow-primary);
  filter: brightness(1.08);
}

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

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

.visible{
  visibility: visible;
}

.invisible{
  visibility: hidden;
}

.collapse{
  visibility: collapse;
}

.fixed{
  position: fixed;
}

.absolute{
  position: absolute;
}

.relative{
  position: relative;
}

.sticky{
  position: sticky;
}

.inset-0{
  inset: 0px;
}

.bottom-0{
  bottom: 0px;
}

.bottom-10{
  bottom: 2.5rem;
}

.bottom-8{
  bottom: 2rem;
}

.bottom-9{
  bottom: 2.25rem;
}

.left-0{
  left: 0px;
}

.left-1\/2{
  left: 50%;
}

.left-6{
  left: 1.5rem;
}

.right-0{
  right: 0px;
}

.right-5{
  right: 1.25rem;
}

.right-6{
  right: 1.5rem;
}

.top-0{
  top: 0px;
}

.top-20{
  top: 5rem;
}

.top-28{
  top: 7rem;
}

.top-24{
  top: 6rem;
}

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

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

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

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

.z-\[11111\]{
  z-index: 11111;
}

.z-\[45\]{
  z-index: 45;
}

.z-\[60\]{
  z-index: 60;
}

.z-\[9999\]{
  z-index: 9999;
}

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

.col-span-10{
  grid-column: span 10 / span 10;
}

.col-span-11{
  grid-column: span 11 / span 11;
}

.col-span-12{
  grid-column: span 12 / span 12;
}

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

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

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

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

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

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

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

.col-span-9{
  grid-column: span 9 / span 9;
}

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

.my-10{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.mb-1{
  margin-bottom: 0.25rem;
}

.mb-10{
  margin-bottom: 2.5rem;
}

.mb-14{
  margin-bottom: 3.5rem;
}

.mb-16{
  margin-bottom: 4rem;
}

.mb-2{
  margin-bottom: 0.5rem;
}

.mb-20{
  margin-bottom: 5rem;
}

.mb-3{
  margin-bottom: 0.75rem;
}

.mb-4{
  margin-bottom: 1rem;
}

.mb-5{
  margin-bottom: 1.25rem;
}

.mb-6{
  margin-bottom: 1.5rem;
}

.mb-8{
  margin-bottom: 2rem;
}

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

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

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

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

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

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

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

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

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

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

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

.block{
  display: block;
}

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

.inline{
  display: inline;
}

.flex{
  display: flex;
}

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

.table{
  display: table;
}

.grid{
  display: grid;
}

.hidden{
  display: none;
}

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

.aspect-\[823\/1024\]{
  aspect-ratio: 823/1024;
}

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

.aspect-video{
  aspect-ratio: 16 / 9;
}

.size-1\.5{
  width: 0.375rem;
  height: 0.375rem;
}

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

.h-10{
  height: 2.5rem;
}

.h-11{
  height: 2.75rem;
}

.h-12{
  height: 3rem;
}

.h-14{
  height: 3.5rem;
}

.h-16{
  height: 4rem;
}

.h-3{
  height: 0.75rem;
}

.h-4{
  height: 1rem;
}

.h-6{
  height: 1.5rem;
}

.h-7{
  height: 1.75rem;
}

.h-8{
  height: 2rem;
}

.h-96{
  height: 24rem;
}

.h-\[18px\]{
  height: 18px;
}

.h-\[600px\]{
  height: 600px;
}

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

.h-\[80\%\]{
  height: 80%;
}

.h-full{
  height: 100%;
}

.h-px{
  height: 1px;
}

.max-h-\[45vh\]{
  max-height: 45vh;
}

.max-h-\[95vh\]{
  max-height: 95vh;
}

.max-h-\[75vh\]{
  max-height: 75vh;
}

.min-h-\[200px\]{
  min-height: 200px;
}

.min-h-\[480px\]{
  min-height: 480px;
}

.min-h-\[50vh\]{
  min-height: 50vh;
}

.min-h-full{
  min-height: 100%;
}

.min-h-screen{
  min-height: 100vh;
}

.min-h-\[45vh\]{
  min-height: 45vh;
}

.w-10{
  width: 2.5rem;
}

.w-11{
  width: 2.75rem;
}

.w-12{
  width: 3rem;
}

.w-14{
  width: 3.5rem;
}

.w-3{
  width: 0.75rem;
}

.w-4{
  width: 1rem;
}

.w-6{
  width: 1.5rem;
}

.w-7{
  width: 1.75rem;
}

.w-8{
  width: 2rem;
}

.w-96{
  width: 24rem;
}

.w-\[18px\]{
  width: 18px;
}

.w-\[600px\]{
  width: 600px;
}

.w-auto{
  width: auto;
}

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

.w-full{
  width: 100%;
}

.w-px{
  width: 1px;
}

.min-w-0{
  min-width: 0px;
}

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

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

.max-w-5xl{
  max-width: 64rem;
}

.max-w-6xl{
  max-width: 72rem;
}

.max-w-7xl{
  max-width: 80rem;
}

.max-w-\[1177px\]{
  max-width: 1177px;
}

.max-w-\[1200px\]{
  max-width: 1200px;
}

.max-w-\[1440px\]{
  max-width: 1440px;
}

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

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

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

.max-w-\[778px\]{
  max-width: 778px;
}

.max-w-lg{
  max-width: 32rem;
}

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

.max-w-xl{
  max-width: 36rem;
}

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

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

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

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

.border-collapse{
  border-collapse: collapse;
}

.origin-left{
  transform-origin: left;
}

.-translate-x-1\/2{
  --tw-translate-x: -50%;
  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));
}

.rotate-45{
  --tw-rotate: 45deg;
  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));
}

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

@keyframes enter{
  from{
    opacity: 0;
    transform: translateY(12px);
  }

  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-enter{
  animation: enter 0.2s ease-out;
}

@keyframes exit{
  from{
    opacity: 1;
    transform: translateY(0);
  }

  to{
    opacity: 0;
    transform: translateY(12px);
  }
}

.animate-exit{
  animation: exit 0.2s ease-in;
}

@keyframes fade-in{
  from{
    opacity: 0;
  }

  to{
    opacity: 1;
  }
}

.animate-fade-in{
  animation: fade-in 0.7s ease both;
}

@keyframes fade-up{
  from{
    opacity: 0;
    transform: translateY(32px);
  }

  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-up{
  animation: fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes pulse{
  50%{
    opacity: .5;
  }
}

.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes slide-up{
  from{
    opacity: 0;
    transform: translateY(24px);
  }

  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-slide-up{
  animation: slide-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes word-reveal{
  from{
    transform: translateY(110%);
  }

  to{
    transform: translateY(0%);
  }
}

.animate-word-reveal{
  animation: word-reveal 0.82s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.cursor-grab{
  cursor: grab;
}

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

.resize{
  resize: both;
}

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

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

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

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

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

.flex-row-reverse{
  flex-direction: row-reverse;
}

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

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

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

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

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

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

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

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

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

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

.gap-0{
  gap: 0px;
}

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

.gap-1{
  gap: 0.25rem;
}

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

.gap-10{
  gap: 2.5rem;
}

.gap-2{
  gap: 0.5rem;
}

.gap-3{
  gap: 0.75rem;
}

.gap-4{
  gap: 1rem;
}

.gap-5{
  gap: 1.25rem;
}

.gap-6{
  gap: 1.5rem;
}

.gap-8{
  gap: 2rem;
}

.gap-px{
  gap: 1px;
}

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

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

.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-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.overflow-hidden{
  overflow: hidden;
}

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

.overscroll-contain{
  overscroll-behavior: contain;
}

.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rounded-2xl{
  border-radius: calc(var(--radius) + 8px);
}

.rounded-3xl{
  border-radius: calc(var(--radius) + 12px);
}

.rounded-full{
  border-radius: 9999px;
}

.rounded-lg{
  border-radius: var(--radius);
}

.rounded-md{
  border-radius: calc(var(--radius) - 2px);
}

.rounded-xl{
  border-radius: calc(var(--radius) + 4px);
}

.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-t{
  border-top-width: 1px;
}

.border-\[hsl\(var\(--border\)\)\]{
  border-color: hsl(var(--border));
}

.border-\[var\(--border\)\]{
  border-color: var(--border);
}

.border-\[var\(--foreground\)\]{
  border-color: var(--foreground);
}

.border-accent{
  --tw-border-opacity: 1;
  border-color: hsl(var(--accent) / var(--tw-border-opacity));
}

.border-accent-foreground{
  --tw-border-opacity: 1;
  border-color: hsl(var(--accent-foreground) / var(--tw-border-opacity));
}

.border-accent-foreground\/0{
  border-color: hsl(var(--accent-foreground) / 0);
}

.border-accent-foreground\/10{
  border-color: hsl(var(--accent-foreground) / 0.1);
}

.border-accent-foreground\/100{
  border-color: hsl(var(--accent-foreground) / 1);
}

.border-accent-foreground\/15{
  border-color: hsl(var(--accent-foreground) / 0.15);
}

.border-accent-foreground\/20{
  border-color: hsl(var(--accent-foreground) / 0.2);
}

.border-accent-foreground\/25{
  border-color: hsl(var(--accent-foreground) / 0.25);
}

.border-accent-foreground\/30{
  border-color: hsl(var(--accent-foreground) / 0.3);
}

.border-accent-foreground\/35{
  border-color: hsl(var(--accent-foreground) / 0.35);
}

.border-accent-foreground\/40{
  border-color: hsl(var(--accent-foreground) / 0.4);
}

.border-accent-foreground\/45{
  border-color: hsl(var(--accent-foreground) / 0.45);
}

.border-accent-foreground\/5{
  border-color: hsl(var(--accent-foreground) / 0.05);
}

.border-accent-foreground\/50{
  border-color: hsl(var(--accent-foreground) / 0.5);
}

.border-accent-foreground\/55{
  border-color: hsl(var(--accent-foreground) / 0.55);
}

.border-accent-foreground\/60{
  border-color: hsl(var(--accent-foreground) / 0.6);
}

.border-accent-foreground\/65{
  border-color: hsl(var(--accent-foreground) / 0.65);
}

.border-accent-foreground\/70{
  border-color: hsl(var(--accent-foreground) / 0.7);
}

.border-accent-foreground\/75{
  border-color: hsl(var(--accent-foreground) / 0.75);
}

.border-accent-foreground\/80{
  border-color: hsl(var(--accent-foreground) / 0.8);
}

.border-accent-foreground\/85{
  border-color: hsl(var(--accent-foreground) / 0.85);
}

.border-accent-foreground\/90{
  border-color: hsl(var(--accent-foreground) / 0.9);
}

.border-accent-foreground\/95{
  border-color: hsl(var(--accent-foreground) / 0.95);
}

.border-accent\/0{
  border-color: hsl(var(--accent) / 0);
}

.border-accent\/10{
  border-color: hsl(var(--accent) / 0.1);
}

.border-accent\/100{
  border-color: hsl(var(--accent) / 1);
}

.border-accent\/15{
  border-color: hsl(var(--accent) / 0.15);
}

.border-accent\/20{
  border-color: hsl(var(--accent) / 0.2);
}

.border-accent\/25{
  border-color: hsl(var(--accent) / 0.25);
}

.border-accent\/30{
  border-color: hsl(var(--accent) / 0.3);
}

.border-accent\/35{
  border-color: hsl(var(--accent) / 0.35);
}

.border-accent\/40{
  border-color: hsl(var(--accent) / 0.4);
}

.border-accent\/45{
  border-color: hsl(var(--accent) / 0.45);
}

.border-accent\/5{
  border-color: hsl(var(--accent) / 0.05);
}

.border-accent\/50{
  border-color: hsl(var(--accent) / 0.5);
}

.border-accent\/55{
  border-color: hsl(var(--accent) / 0.55);
}

.border-accent\/60{
  border-color: hsl(var(--accent) / 0.6);
}

.border-accent\/65{
  border-color: hsl(var(--accent) / 0.65);
}

.border-accent\/70{
  border-color: hsl(var(--accent) / 0.7);
}

.border-accent\/75{
  border-color: hsl(var(--accent) / 0.75);
}

.border-accent\/80{
  border-color: hsl(var(--accent) / 0.8);
}

.border-accent\/85{
  border-color: hsl(var(--accent) / 0.85);
}

.border-accent\/90{
  border-color: hsl(var(--accent) / 0.9);
}

.border-accent\/95{
  border-color: hsl(var(--accent) / 0.95);
}

.border-border{
  --tw-border-opacity: 1;
  border-color: hsl(var(--border) / var(--tw-border-opacity));
}

.border-cta{
  --tw-border-opacity: 1;
  border-color: hsl(var(--cta) / var(--tw-border-opacity));
}

.border-cta-foreground{
  --tw-border-opacity: 1;
  border-color: hsl(var(--cta-foreground) / var(--tw-border-opacity));
}

.border-cta-foreground\/0{
  border-color: hsl(var(--cta-foreground) / 0);
}

.border-cta-foreground\/10{
  border-color: hsl(var(--cta-foreground) / 0.1);
}

.border-cta-foreground\/100{
  border-color: hsl(var(--cta-foreground) / 1);
}

.border-cta-foreground\/15{
  border-color: hsl(var(--cta-foreground) / 0.15);
}

.border-cta-foreground\/20{
  border-color: hsl(var(--cta-foreground) / 0.2);
}

.border-cta-foreground\/25{
  border-color: hsl(var(--cta-foreground) / 0.25);
}

.border-cta-foreground\/30{
  border-color: hsl(var(--cta-foreground) / 0.3);
}

.border-cta-foreground\/35{
  border-color: hsl(var(--cta-foreground) / 0.35);
}

.border-cta-foreground\/40{
  border-color: hsl(var(--cta-foreground) / 0.4);
}

.border-cta-foreground\/45{
  border-color: hsl(var(--cta-foreground) / 0.45);
}

.border-cta-foreground\/5{
  border-color: hsl(var(--cta-foreground) / 0.05);
}

.border-cta-foreground\/50{
  border-color: hsl(var(--cta-foreground) / 0.5);
}

.border-cta-foreground\/55{
  border-color: hsl(var(--cta-foreground) / 0.55);
}

.border-cta-foreground\/60{
  border-color: hsl(var(--cta-foreground) / 0.6);
}

.border-cta-foreground\/65{
  border-color: hsl(var(--cta-foreground) / 0.65);
}

.border-cta-foreground\/70{
  border-color: hsl(var(--cta-foreground) / 0.7);
}

.border-cta-foreground\/75{
  border-color: hsl(var(--cta-foreground) / 0.75);
}

.border-cta-foreground\/80{
  border-color: hsl(var(--cta-foreground) / 0.8);
}

.border-cta-foreground\/85{
  border-color: hsl(var(--cta-foreground) / 0.85);
}

.border-cta-foreground\/90{
  border-color: hsl(var(--cta-foreground) / 0.9);
}

.border-cta-foreground\/95{
  border-color: hsl(var(--cta-foreground) / 0.95);
}

.border-cta-muted{
  --tw-border-opacity: 1;
  border-color: hsl(var(--cta-muted) / var(--tw-border-opacity));
}

.border-cta-muted\/0{
  border-color: hsl(var(--cta-muted) / 0);
}

.border-cta-muted\/10{
  border-color: hsl(var(--cta-muted) / 0.1);
}

.border-cta-muted\/100{
  border-color: hsl(var(--cta-muted) / 1);
}

.border-cta-muted\/15{
  border-color: hsl(var(--cta-muted) / 0.15);
}

.border-cta-muted\/20{
  border-color: hsl(var(--cta-muted) / 0.2);
}

.border-cta-muted\/25{
  border-color: hsl(var(--cta-muted) / 0.25);
}

.border-cta-muted\/30{
  border-color: hsl(var(--cta-muted) / 0.3);
}

.border-cta-muted\/35{
  border-color: hsl(var(--cta-muted) / 0.35);
}

.border-cta-muted\/40{
  border-color: hsl(var(--cta-muted) / 0.4);
}

.border-cta-muted\/45{
  border-color: hsl(var(--cta-muted) / 0.45);
}

.border-cta-muted\/5{
  border-color: hsl(var(--cta-muted) / 0.05);
}

.border-cta-muted\/50{
  border-color: hsl(var(--cta-muted) / 0.5);
}

.border-cta-muted\/55{
  border-color: hsl(var(--cta-muted) / 0.55);
}

.border-cta-muted\/60{
  border-color: hsl(var(--cta-muted) / 0.6);
}

.border-cta-muted\/65{
  border-color: hsl(var(--cta-muted) / 0.65);
}

.border-cta-muted\/70{
  border-color: hsl(var(--cta-muted) / 0.7);
}

.border-cta-muted\/75{
  border-color: hsl(var(--cta-muted) / 0.75);
}

.border-cta-muted\/80{
  border-color: hsl(var(--cta-muted) / 0.8);
}

.border-cta-muted\/85{
  border-color: hsl(var(--cta-muted) / 0.85);
}

.border-cta-muted\/90{
  border-color: hsl(var(--cta-muted) / 0.9);
}

.border-cta-muted\/95{
  border-color: hsl(var(--cta-muted) / 0.95);
}

.border-cta\/0{
  border-color: hsl(var(--cta) / 0);
}

.border-cta\/10{
  border-color: hsl(var(--cta) / 0.1);
}

.border-cta\/100{
  border-color: hsl(var(--cta) / 1);
}

.border-cta\/15{
  border-color: hsl(var(--cta) / 0.15);
}

.border-cta\/20{
  border-color: hsl(var(--cta) / 0.2);
}

.border-cta\/25{
  border-color: hsl(var(--cta) / 0.25);
}

.border-cta\/30{
  border-color: hsl(var(--cta) / 0.3);
}

.border-cta\/35{
  border-color: hsl(var(--cta) / 0.35);
}

.border-cta\/40{
  border-color: hsl(var(--cta) / 0.4);
}

.border-cta\/45{
  border-color: hsl(var(--cta) / 0.45);
}

.border-cta\/5{
  border-color: hsl(var(--cta) / 0.05);
}

.border-cta\/50{
  border-color: hsl(var(--cta) / 0.5);
}

.border-cta\/55{
  border-color: hsl(var(--cta) / 0.55);
}

.border-cta\/60{
  border-color: hsl(var(--cta) / 0.6);
}

.border-cta\/65{
  border-color: hsl(var(--cta) / 0.65);
}

.border-cta\/70{
  border-color: hsl(var(--cta) / 0.7);
}

.border-cta\/75{
  border-color: hsl(var(--cta) / 0.75);
}

.border-cta\/80{
  border-color: hsl(var(--cta) / 0.8);
}

.border-cta\/85{
  border-color: hsl(var(--cta) / 0.85);
}

.border-cta\/90{
  border-color: hsl(var(--cta) / 0.9);
}

.border-cta\/95{
  border-color: hsl(var(--cta) / 0.95);
}

.border-destructive{
  --tw-border-opacity: 1;
  border-color: hsl(var(--destructive) / var(--tw-border-opacity));
}

.border-destructive-foreground{
  --tw-border-opacity: 1;
  border-color: hsl(var(--destructive-foreground) / var(--tw-border-opacity));
}

.border-destructive-foreground\/0{
  border-color: hsl(var(--destructive-foreground) / 0);
}

.border-destructive-foreground\/10{
  border-color: hsl(var(--destructive-foreground) / 0.1);
}

.border-destructive-foreground\/100{
  border-color: hsl(var(--destructive-foreground) / 1);
}

.border-destructive-foreground\/15{
  border-color: hsl(var(--destructive-foreground) / 0.15);
}

.border-destructive-foreground\/20{
  border-color: hsl(var(--destructive-foreground) / 0.2);
}

.border-destructive-foreground\/25{
  border-color: hsl(var(--destructive-foreground) / 0.25);
}

.border-destructive-foreground\/30{
  border-color: hsl(var(--destructive-foreground) / 0.3);
}

.border-destructive-foreground\/35{
  border-color: hsl(var(--destructive-foreground) / 0.35);
}

.border-destructive-foreground\/40{
  border-color: hsl(var(--destructive-foreground) / 0.4);
}

.border-destructive-foreground\/45{
  border-color: hsl(var(--destructive-foreground) / 0.45);
}

.border-destructive-foreground\/5{
  border-color: hsl(var(--destructive-foreground) / 0.05);
}

.border-destructive-foreground\/50{
  border-color: hsl(var(--destructive-foreground) / 0.5);
}

.border-destructive-foreground\/55{
  border-color: hsl(var(--destructive-foreground) / 0.55);
}

.border-destructive-foreground\/60{
  border-color: hsl(var(--destructive-foreground) / 0.6);
}

.border-destructive-foreground\/65{
  border-color: hsl(var(--destructive-foreground) / 0.65);
}

.border-destructive-foreground\/70{
  border-color: hsl(var(--destructive-foreground) / 0.7);
}

.border-destructive-foreground\/75{
  border-color: hsl(var(--destructive-foreground) / 0.75);
}

.border-destructive-foreground\/80{
  border-color: hsl(var(--destructive-foreground) / 0.8);
}

.border-destructive-foreground\/85{
  border-color: hsl(var(--destructive-foreground) / 0.85);
}

.border-destructive-foreground\/90{
  border-color: hsl(var(--destructive-foreground) / 0.9);
}

.border-destructive-foreground\/95{
  border-color: hsl(var(--destructive-foreground) / 0.95);
}

.border-destructive\/0{
  border-color: hsl(var(--destructive) / 0);
}

.border-destructive\/10{
  border-color: hsl(var(--destructive) / 0.1);
}

.border-destructive\/100{
  border-color: hsl(var(--destructive) / 1);
}

.border-destructive\/15{
  border-color: hsl(var(--destructive) / 0.15);
}

.border-destructive\/20{
  border-color: hsl(var(--destructive) / 0.2);
}

.border-destructive\/25{
  border-color: hsl(var(--destructive) / 0.25);
}

.border-destructive\/30{
  border-color: hsl(var(--destructive) / 0.3);
}

.border-destructive\/35{
  border-color: hsl(var(--destructive) / 0.35);
}

.border-destructive\/40{
  border-color: hsl(var(--destructive) / 0.4);
}

.border-destructive\/45{
  border-color: hsl(var(--destructive) / 0.45);
}

.border-destructive\/5{
  border-color: hsl(var(--destructive) / 0.05);
}

.border-destructive\/50{
  border-color: hsl(var(--destructive) / 0.5);
}

.border-destructive\/55{
  border-color: hsl(var(--destructive) / 0.55);
}

.border-destructive\/60{
  border-color: hsl(var(--destructive) / 0.6);
}

.border-destructive\/65{
  border-color: hsl(var(--destructive) / 0.65);
}

.border-destructive\/70{
  border-color: hsl(var(--destructive) / 0.7);
}

.border-destructive\/75{
  border-color: hsl(var(--destructive) / 0.75);
}

.border-destructive\/80{
  border-color: hsl(var(--destructive) / 0.8);
}

.border-destructive\/85{
  border-color: hsl(var(--destructive) / 0.85);
}

.border-destructive\/90{
  border-color: hsl(var(--destructive) / 0.9);
}

.border-destructive\/95{
  border-color: hsl(var(--destructive) / 0.95);
}

.border-foreground{
  --tw-border-opacity: 1;
  border-color: hsl(var(--foreground) / var(--tw-border-opacity));
}

.border-foreground\/15{
  border-color: hsl(var(--foreground) / 0.15);
}

.border-gray-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}

.border-ink-foreground\/15{
  border-color: hsl(var(--ink-foreground) / 0.15);
}

.border-muted{
  --tw-border-opacity: 1;
  border-color: hsl(var(--muted) / var(--tw-border-opacity));
}

.border-muted-foreground{
  --tw-border-opacity: 1;
  border-color: hsl(var(--muted-foreground) / var(--tw-border-opacity));
}

.border-muted-foreground\/0{
  border-color: hsl(var(--muted-foreground) / 0);
}

.border-muted-foreground\/10{
  border-color: hsl(var(--muted-foreground) / 0.1);
}

.border-muted-foreground\/100{
  border-color: hsl(var(--muted-foreground) / 1);
}

.border-muted-foreground\/15{
  border-color: hsl(var(--muted-foreground) / 0.15);
}

.border-muted-foreground\/20{
  border-color: hsl(var(--muted-foreground) / 0.2);
}

.border-muted-foreground\/25{
  border-color: hsl(var(--muted-foreground) / 0.25);
}

.border-muted-foreground\/30{
  border-color: hsl(var(--muted-foreground) / 0.3);
}

.border-muted-foreground\/35{
  border-color: hsl(var(--muted-foreground) / 0.35);
}

.border-muted-foreground\/40{
  border-color: hsl(var(--muted-foreground) / 0.4);
}

.border-muted-foreground\/45{
  border-color: hsl(var(--muted-foreground) / 0.45);
}

.border-muted-foreground\/5{
  border-color: hsl(var(--muted-foreground) / 0.05);
}

.border-muted-foreground\/50{
  border-color: hsl(var(--muted-foreground) / 0.5);
}

.border-muted-foreground\/55{
  border-color: hsl(var(--muted-foreground) / 0.55);
}

.border-muted-foreground\/60{
  border-color: hsl(var(--muted-foreground) / 0.6);
}

.border-muted-foreground\/65{
  border-color: hsl(var(--muted-foreground) / 0.65);
}

.border-muted-foreground\/70{
  border-color: hsl(var(--muted-foreground) / 0.7);
}

.border-muted-foreground\/75{
  border-color: hsl(var(--muted-foreground) / 0.75);
}

.border-muted-foreground\/80{
  border-color: hsl(var(--muted-foreground) / 0.8);
}

.border-muted-foreground\/85{
  border-color: hsl(var(--muted-foreground) / 0.85);
}

.border-muted-foreground\/90{
  border-color: hsl(var(--muted-foreground) / 0.9);
}

.border-muted-foreground\/95{
  border-color: hsl(var(--muted-foreground) / 0.95);
}

.border-muted\/0{
  border-color: hsl(var(--muted) / 0);
}

.border-muted\/10{
  border-color: hsl(var(--muted) / 0.1);
}

.border-muted\/100{
  border-color: hsl(var(--muted) / 1);
}

.border-muted\/15{
  border-color: hsl(var(--muted) / 0.15);
}

.border-muted\/20{
  border-color: hsl(var(--muted) / 0.2);
}

.border-muted\/25{
  border-color: hsl(var(--muted) / 0.25);
}

.border-muted\/30{
  border-color: hsl(var(--muted) / 0.3);
}

.border-muted\/35{
  border-color: hsl(var(--muted) / 0.35);
}

.border-muted\/40{
  border-color: hsl(var(--muted) / 0.4);
}

.border-muted\/45{
  border-color: hsl(var(--muted) / 0.45);
}

.border-muted\/5{
  border-color: hsl(var(--muted) / 0.05);
}

.border-muted\/50{
  border-color: hsl(var(--muted) / 0.5);
}

.border-muted\/55{
  border-color: hsl(var(--muted) / 0.55);
}

.border-muted\/60{
  border-color: hsl(var(--muted) / 0.6);
}

.border-muted\/65{
  border-color: hsl(var(--muted) / 0.65);
}

.border-muted\/70{
  border-color: hsl(var(--muted) / 0.7);
}

.border-muted\/75{
  border-color: hsl(var(--muted) / 0.75);
}

.border-muted\/80{
  border-color: hsl(var(--muted) / 0.8);
}

.border-muted\/85{
  border-color: hsl(var(--muted) / 0.85);
}

.border-muted\/90{
  border-color: hsl(var(--muted) / 0.9);
}

.border-muted\/95{
  border-color: hsl(var(--muted) / 0.95);
}

.border-primary{
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary) / var(--tw-border-opacity));
}

.border-primary-foreground{
  --tw-border-opacity: 1;
  border-color: hsl(var(--primary-foreground) / var(--tw-border-opacity));
}

.border-primary-foreground\/0{
  border-color: hsl(var(--primary-foreground) / 0);
}

.border-primary-foreground\/10{
  border-color: hsl(var(--primary-foreground) / 0.1);
}

.border-primary-foreground\/100{
  border-color: hsl(var(--primary-foreground) / 1);
}

.border-primary-foreground\/15{
  border-color: hsl(var(--primary-foreground) / 0.15);
}

.border-primary-foreground\/20{
  border-color: hsl(var(--primary-foreground) / 0.2);
}

.border-primary-foreground\/25{
  border-color: hsl(var(--primary-foreground) / 0.25);
}

.border-primary-foreground\/30{
  border-color: hsl(var(--primary-foreground) / 0.3);
}

.border-primary-foreground\/35{
  border-color: hsl(var(--primary-foreground) / 0.35);
}

.border-primary-foreground\/40{
  border-color: hsl(var(--primary-foreground) / 0.4);
}

.border-primary-foreground\/45{
  border-color: hsl(var(--primary-foreground) / 0.45);
}

.border-primary-foreground\/5{
  border-color: hsl(var(--primary-foreground) / 0.05);
}

.border-primary-foreground\/50{
  border-color: hsl(var(--primary-foreground) / 0.5);
}

.border-primary-foreground\/55{
  border-color: hsl(var(--primary-foreground) / 0.55);
}

.border-primary-foreground\/60{
  border-color: hsl(var(--primary-foreground) / 0.6);
}

.border-primary-foreground\/65{
  border-color: hsl(var(--primary-foreground) / 0.65);
}

.border-primary-foreground\/70{
  border-color: hsl(var(--primary-foreground) / 0.7);
}

.border-primary-foreground\/75{
  border-color: hsl(var(--primary-foreground) / 0.75);
}

.border-primary-foreground\/80{
  border-color: hsl(var(--primary-foreground) / 0.8);
}

.border-primary-foreground\/85{
  border-color: hsl(var(--primary-foreground) / 0.85);
}

.border-primary-foreground\/90{
  border-color: hsl(var(--primary-foreground) / 0.9);
}

.border-primary-foreground\/95{
  border-color: hsl(var(--primary-foreground) / 0.95);
}

.border-primary\/0{
  border-color: hsl(var(--primary) / 0);
}

.border-primary\/10{
  border-color: hsl(var(--primary) / 0.1);
}

.border-primary\/100{
  border-color: hsl(var(--primary) / 1);
}

.border-primary\/15{
  border-color: hsl(var(--primary) / 0.15);
}

.border-primary\/20{
  border-color: hsl(var(--primary) / 0.2);
}

.border-primary\/25{
  border-color: hsl(var(--primary) / 0.25);
}

.border-primary\/30{
  border-color: hsl(var(--primary) / 0.3);
}

.border-primary\/35{
  border-color: hsl(var(--primary) / 0.35);
}

.border-primary\/40{
  border-color: hsl(var(--primary) / 0.4);
}

.border-primary\/45{
  border-color: hsl(var(--primary) / 0.45);
}

.border-primary\/5{
  border-color: hsl(var(--primary) / 0.05);
}

.border-primary\/50{
  border-color: hsl(var(--primary) / 0.5);
}

.border-primary\/55{
  border-color: hsl(var(--primary) / 0.55);
}

.border-primary\/60{
  border-color: hsl(var(--primary) / 0.6);
}

.border-primary\/65{
  border-color: hsl(var(--primary) / 0.65);
}

.border-primary\/70{
  border-color: hsl(var(--primary) / 0.7);
}

.border-primary\/75{
  border-color: hsl(var(--primary) / 0.75);
}

.border-primary\/80{
  border-color: hsl(var(--primary) / 0.8);
}

.border-primary\/85{
  border-color: hsl(var(--primary) / 0.85);
}

.border-primary\/90{
  border-color: hsl(var(--primary) / 0.9);
}

.border-primary\/95{
  border-color: hsl(var(--primary) / 0.95);
}

.border-success{
  --tw-border-opacity: 1;
  border-color: hsl(var(--success) / var(--tw-border-opacity));
}

.border-success\/0{
  border-color: hsl(var(--success) / 0);
}

.border-success\/10{
  border-color: hsl(var(--success) / 0.1);
}

.border-success\/100{
  border-color: hsl(var(--success) / 1);
}

.border-success\/15{
  border-color: hsl(var(--success) / 0.15);
}

.border-success\/20{
  border-color: hsl(var(--success) / 0.2);
}

.border-success\/25{
  border-color: hsl(var(--success) / 0.25);
}

.border-success\/30{
  border-color: hsl(var(--success) / 0.3);
}

.border-success\/35{
  border-color: hsl(var(--success) / 0.35);
}

.border-success\/40{
  border-color: hsl(var(--success) / 0.4);
}

.border-success\/45{
  border-color: hsl(var(--success) / 0.45);
}

.border-success\/5{
  border-color: hsl(var(--success) / 0.05);
}

.border-success\/50{
  border-color: hsl(var(--success) / 0.5);
}

.border-success\/55{
  border-color: hsl(var(--success) / 0.55);
}

.border-success\/60{
  border-color: hsl(var(--success) / 0.6);
}

.border-success\/65{
  border-color: hsl(var(--success) / 0.65);
}

.border-success\/70{
  border-color: hsl(var(--success) / 0.7);
}

.border-success\/75{
  border-color: hsl(var(--success) / 0.75);
}

.border-success\/80{
  border-color: hsl(var(--success) / 0.8);
}

.border-success\/85{
  border-color: hsl(var(--success) / 0.85);
}

.border-success\/90{
  border-color: hsl(var(--success) / 0.9);
}

.border-success\/95{
  border-color: hsl(var(--success) / 0.95);
}

.border-surface{
  --tw-border-opacity: 1;
  border-color: hsl(var(--surface) / var(--tw-border-opacity));
}

.border-surface-2{
  --tw-border-opacity: 1;
  border-color: hsl(var(--surface-2) / var(--tw-border-opacity));
}

.border-surface-2\/0{
  border-color: hsl(var(--surface-2) / 0);
}

.border-surface-2\/10{
  border-color: hsl(var(--surface-2) / 0.1);
}

.border-surface-2\/100{
  border-color: hsl(var(--surface-2) / 1);
}

.border-surface-2\/15{
  border-color: hsl(var(--surface-2) / 0.15);
}

.border-surface-2\/20{
  border-color: hsl(var(--surface-2) / 0.2);
}

.border-surface-2\/25{
  border-color: hsl(var(--surface-2) / 0.25);
}

.border-surface-2\/30{
  border-color: hsl(var(--surface-2) / 0.3);
}

.border-surface-2\/35{
  border-color: hsl(var(--surface-2) / 0.35);
}

.border-surface-2\/40{
  border-color: hsl(var(--surface-2) / 0.4);
}

.border-surface-2\/45{
  border-color: hsl(var(--surface-2) / 0.45);
}

.border-surface-2\/5{
  border-color: hsl(var(--surface-2) / 0.05);
}

.border-surface-2\/50{
  border-color: hsl(var(--surface-2) / 0.5);
}

.border-surface-2\/55{
  border-color: hsl(var(--surface-2) / 0.55);
}

.border-surface-2\/60{
  border-color: hsl(var(--surface-2) / 0.6);
}

.border-surface-2\/65{
  border-color: hsl(var(--surface-2) / 0.65);
}

.border-surface-2\/70{
  border-color: hsl(var(--surface-2) / 0.7);
}

.border-surface-2\/75{
  border-color: hsl(var(--surface-2) / 0.75);
}

.border-surface-2\/80{
  border-color: hsl(var(--surface-2) / 0.8);
}

.border-surface-2\/85{
  border-color: hsl(var(--surface-2) / 0.85);
}

.border-surface-2\/90{
  border-color: hsl(var(--surface-2) / 0.9);
}

.border-surface-2\/95{
  border-color: hsl(var(--surface-2) / 0.95);
}

.border-surface\/0{
  border-color: hsl(var(--surface) / 0);
}

.border-surface\/10{
  border-color: hsl(var(--surface) / 0.1);
}

.border-surface\/100{
  border-color: hsl(var(--surface) / 1);
}

.border-surface\/15{
  border-color: hsl(var(--surface) / 0.15);
}

.border-surface\/20{
  border-color: hsl(var(--surface) / 0.2);
}

.border-surface\/25{
  border-color: hsl(var(--surface) / 0.25);
}

.border-surface\/30{
  border-color: hsl(var(--surface) / 0.3);
}

.border-surface\/35{
  border-color: hsl(var(--surface) / 0.35);
}

.border-surface\/40{
  border-color: hsl(var(--surface) / 0.4);
}

.border-surface\/45{
  border-color: hsl(var(--surface) / 0.45);
}

.border-surface\/5{
  border-color: hsl(var(--surface) / 0.05);
}

.border-surface\/50{
  border-color: hsl(var(--surface) / 0.5);
}

.border-surface\/55{
  border-color: hsl(var(--surface) / 0.55);
}

.border-surface\/60{
  border-color: hsl(var(--surface) / 0.6);
}

.border-surface\/65{
  border-color: hsl(var(--surface) / 0.65);
}

.border-surface\/70{
  border-color: hsl(var(--surface) / 0.7);
}

.border-surface\/75{
  border-color: hsl(var(--surface) / 0.75);
}

.border-surface\/80{
  border-color: hsl(var(--surface) / 0.8);
}

.border-surface\/85{
  border-color: hsl(var(--surface) / 0.85);
}

.border-surface\/90{
  border-color: hsl(var(--surface) / 0.9);
}

.border-surface\/95{
  border-color: hsl(var(--surface) / 0.95);
}

.border-tertiary{
  --tw-border-opacity: 1;
  border-color: hsl(var(--tertiary) / var(--tw-border-opacity));
}

.border-tertiary\/0{
  border-color: hsl(var(--tertiary) / 0);
}

.border-tertiary\/10{
  border-color: hsl(var(--tertiary) / 0.1);
}

.border-tertiary\/100{
  border-color: hsl(var(--tertiary) / 1);
}

.border-tertiary\/15{
  border-color: hsl(var(--tertiary) / 0.15);
}

.border-tertiary\/20{
  border-color: hsl(var(--tertiary) / 0.2);
}

.border-tertiary\/25{
  border-color: hsl(var(--tertiary) / 0.25);
}

.border-tertiary\/30{
  border-color: hsl(var(--tertiary) / 0.3);
}

.border-tertiary\/35{
  border-color: hsl(var(--tertiary) / 0.35);
}

.border-tertiary\/40{
  border-color: hsl(var(--tertiary) / 0.4);
}

.border-tertiary\/45{
  border-color: hsl(var(--tertiary) / 0.45);
}

.border-tertiary\/5{
  border-color: hsl(var(--tertiary) / 0.05);
}

.border-tertiary\/50{
  border-color: hsl(var(--tertiary) / 0.5);
}

.border-tertiary\/55{
  border-color: hsl(var(--tertiary) / 0.55);
}

.border-tertiary\/60{
  border-color: hsl(var(--tertiary) / 0.6);
}

.border-tertiary\/65{
  border-color: hsl(var(--tertiary) / 0.65);
}

.border-tertiary\/70{
  border-color: hsl(var(--tertiary) / 0.7);
}

.border-tertiary\/75{
  border-color: hsl(var(--tertiary) / 0.75);
}

.border-tertiary\/80{
  border-color: hsl(var(--tertiary) / 0.8);
}

.border-tertiary\/85{
  border-color: hsl(var(--tertiary) / 0.85);
}

.border-tertiary\/90{
  border-color: hsl(var(--tertiary) / 0.9);
}

.border-tertiary\/95{
  border-color: hsl(var(--tertiary) / 0.95);
}

.border-warning{
  --tw-border-opacity: 1;
  border-color: hsl(var(--warning) / var(--tw-border-opacity));
}

.border-warning\/0{
  border-color: hsl(var(--warning) / 0);
}

.border-warning\/10{
  border-color: hsl(var(--warning) / 0.1);
}

.border-warning\/100{
  border-color: hsl(var(--warning) / 1);
}

.border-warning\/15{
  border-color: hsl(var(--warning) / 0.15);
}

.border-warning\/20{
  border-color: hsl(var(--warning) / 0.2);
}

.border-warning\/25{
  border-color: hsl(var(--warning) / 0.25);
}

.border-warning\/30{
  border-color: hsl(var(--warning) / 0.3);
}

.border-warning\/35{
  border-color: hsl(var(--warning) / 0.35);
}

.border-warning\/40{
  border-color: hsl(var(--warning) / 0.4);
}

.border-warning\/45{
  border-color: hsl(var(--warning) / 0.45);
}

.border-warning\/5{
  border-color: hsl(var(--warning) / 0.05);
}

.border-warning\/50{
  border-color: hsl(var(--warning) / 0.5);
}

.border-warning\/55{
  border-color: hsl(var(--warning) / 0.55);
}

.border-warning\/60{
  border-color: hsl(var(--warning) / 0.6);
}

.border-warning\/65{
  border-color: hsl(var(--warning) / 0.65);
}

.border-warning\/70{
  border-color: hsl(var(--warning) / 0.7);
}

.border-warning\/75{
  border-color: hsl(var(--warning) / 0.75);
}

.border-warning\/80{
  border-color: hsl(var(--warning) / 0.8);
}

.border-warning\/85{
  border-color: hsl(var(--warning) / 0.85);
}

.border-warning\/90{
  border-color: hsl(var(--warning) / 0.9);
}

.border-warning\/95{
  border-color: hsl(var(--warning) / 0.95);
}

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

.border-white\/10{
  border-color: rgb(255 255 255 / 0.1);
}

.bg-\[hsl\(var\(--background\)\)\]{
  background-color: hsl(var(--background));
}

.bg-\[var\(--background\)\]{
  background-color: var(--background);
}

.bg-\[var\(--card\)\]{
  background-color: var(--card);
}

.bg-\[var\(--ink\2c \#1a1410\)\]{
  background-color: var(--ink,#1a1410);
}

.bg-accent{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity));
}

.bg-accent-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent-foreground) / var(--tw-bg-opacity));
}

.bg-accent-foreground\/0{
  background-color: hsl(var(--accent-foreground) / 0);
}

.bg-accent-foreground\/10{
  background-color: hsl(var(--accent-foreground) / 0.1);
}

.bg-accent-foreground\/100{
  background-color: hsl(var(--accent-foreground) / 1);
}

.bg-accent-foreground\/15{
  background-color: hsl(var(--accent-foreground) / 0.15);
}

.bg-accent-foreground\/20{
  background-color: hsl(var(--accent-foreground) / 0.2);
}

.bg-accent-foreground\/25{
  background-color: hsl(var(--accent-foreground) / 0.25);
}

.bg-accent-foreground\/30{
  background-color: hsl(var(--accent-foreground) / 0.3);
}

.bg-accent-foreground\/35{
  background-color: hsl(var(--accent-foreground) / 0.35);
}

.bg-accent-foreground\/40{
  background-color: hsl(var(--accent-foreground) / 0.4);
}

.bg-accent-foreground\/45{
  background-color: hsl(var(--accent-foreground) / 0.45);
}

.bg-accent-foreground\/5{
  background-color: hsl(var(--accent-foreground) / 0.05);
}

.bg-accent-foreground\/50{
  background-color: hsl(var(--accent-foreground) / 0.5);
}

.bg-accent-foreground\/55{
  background-color: hsl(var(--accent-foreground) / 0.55);
}

.bg-accent-foreground\/60{
  background-color: hsl(var(--accent-foreground) / 0.6);
}

.bg-accent-foreground\/65{
  background-color: hsl(var(--accent-foreground) / 0.65);
}

.bg-accent-foreground\/70{
  background-color: hsl(var(--accent-foreground) / 0.7);
}

.bg-accent-foreground\/75{
  background-color: hsl(var(--accent-foreground) / 0.75);
}

.bg-accent-foreground\/80{
  background-color: hsl(var(--accent-foreground) / 0.8);
}

.bg-accent-foreground\/85{
  background-color: hsl(var(--accent-foreground) / 0.85);
}

.bg-accent-foreground\/90{
  background-color: hsl(var(--accent-foreground) / 0.9);
}

.bg-accent-foreground\/95{
  background-color: hsl(var(--accent-foreground) / 0.95);
}

.bg-accent\/0{
  background-color: hsl(var(--accent) / 0);
}

.bg-accent\/10{
  background-color: hsl(var(--accent) / 0.1);
}

.bg-accent\/100{
  background-color: hsl(var(--accent) / 1);
}

.bg-accent\/15{
  background-color: hsl(var(--accent) / 0.15);
}

.bg-accent\/20{
  background-color: hsl(var(--accent) / 0.2);
}

.bg-accent\/25{
  background-color: hsl(var(--accent) / 0.25);
}

.bg-accent\/30{
  background-color: hsl(var(--accent) / 0.3);
}

.bg-accent\/35{
  background-color: hsl(var(--accent) / 0.35);
}

.bg-accent\/40{
  background-color: hsl(var(--accent) / 0.4);
}

.bg-accent\/45{
  background-color: hsl(var(--accent) / 0.45);
}

.bg-accent\/5{
  background-color: hsl(var(--accent) / 0.05);
}

.bg-accent\/50{
  background-color: hsl(var(--accent) / 0.5);
}

.bg-accent\/55{
  background-color: hsl(var(--accent) / 0.55);
}

.bg-accent\/60{
  background-color: hsl(var(--accent) / 0.6);
}

.bg-accent\/65{
  background-color: hsl(var(--accent) / 0.65);
}

.bg-accent\/70{
  background-color: hsl(var(--accent) / 0.7);
}

.bg-accent\/75{
  background-color: hsl(var(--accent) / 0.75);
}

.bg-accent\/80{
  background-color: hsl(var(--accent) / 0.8);
}

.bg-accent\/85{
  background-color: hsl(var(--accent) / 0.85);
}

.bg-accent\/90{
  background-color: hsl(var(--accent) / 0.9);
}

.bg-accent\/95{
  background-color: hsl(var(--accent) / 0.95);
}

.bg-amber-600{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity));
}

.bg-background{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity));
}

.bg-background\/80{
  background-color: hsl(var(--background) / 0.8);
}

.bg-border{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--border) / var(--tw-bg-opacity));
}

.bg-border\/60{
  background-color: hsl(var(--border) / 0.6);
}

.bg-card{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--card) / var(--tw-bg-opacity));
}

.bg-card\/40{
  background-color: hsl(var(--card) / 0.4);
}

.bg-card\/60{
  background-color: hsl(var(--card) / 0.6);
}

.bg-cta{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--cta) / var(--tw-bg-opacity));
}

.bg-cta-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--cta-foreground) / var(--tw-bg-opacity));
}

.bg-cta-foreground\/0{
  background-color: hsl(var(--cta-foreground) / 0);
}

.bg-cta-foreground\/10{
  background-color: hsl(var(--cta-foreground) / 0.1);
}

.bg-cta-foreground\/100{
  background-color: hsl(var(--cta-foreground) / 1);
}

.bg-cta-foreground\/15{
  background-color: hsl(var(--cta-foreground) / 0.15);
}

.bg-cta-foreground\/20{
  background-color: hsl(var(--cta-foreground) / 0.2);
}

.bg-cta-foreground\/25{
  background-color: hsl(var(--cta-foreground) / 0.25);
}

.bg-cta-foreground\/30{
  background-color: hsl(var(--cta-foreground) / 0.3);
}

.bg-cta-foreground\/35{
  background-color: hsl(var(--cta-foreground) / 0.35);
}

.bg-cta-foreground\/40{
  background-color: hsl(var(--cta-foreground) / 0.4);
}

.bg-cta-foreground\/45{
  background-color: hsl(var(--cta-foreground) / 0.45);
}

.bg-cta-foreground\/5{
  background-color: hsl(var(--cta-foreground) / 0.05);
}

.bg-cta-foreground\/50{
  background-color: hsl(var(--cta-foreground) / 0.5);
}

.bg-cta-foreground\/55{
  background-color: hsl(var(--cta-foreground) / 0.55);
}

.bg-cta-foreground\/60{
  background-color: hsl(var(--cta-foreground) / 0.6);
}

.bg-cta-foreground\/65{
  background-color: hsl(var(--cta-foreground) / 0.65);
}

.bg-cta-foreground\/70{
  background-color: hsl(var(--cta-foreground) / 0.7);
}

.bg-cta-foreground\/75{
  background-color: hsl(var(--cta-foreground) / 0.75);
}

.bg-cta-foreground\/80{
  background-color: hsl(var(--cta-foreground) / 0.8);
}

.bg-cta-foreground\/85{
  background-color: hsl(var(--cta-foreground) / 0.85);
}

.bg-cta-foreground\/90{
  background-color: hsl(var(--cta-foreground) / 0.9);
}

.bg-cta-foreground\/95{
  background-color: hsl(var(--cta-foreground) / 0.95);
}

.bg-cta-muted{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--cta-muted) / var(--tw-bg-opacity));
}

.bg-cta-muted\/0{
  background-color: hsl(var(--cta-muted) / 0);
}

.bg-cta-muted\/10{
  background-color: hsl(var(--cta-muted) / 0.1);
}

.bg-cta-muted\/100{
  background-color: hsl(var(--cta-muted) / 1);
}

.bg-cta-muted\/15{
  background-color: hsl(var(--cta-muted) / 0.15);
}

.bg-cta-muted\/20{
  background-color: hsl(var(--cta-muted) / 0.2);
}

.bg-cta-muted\/25{
  background-color: hsl(var(--cta-muted) / 0.25);
}

.bg-cta-muted\/30{
  background-color: hsl(var(--cta-muted) / 0.3);
}

.bg-cta-muted\/35{
  background-color: hsl(var(--cta-muted) / 0.35);
}

.bg-cta-muted\/40{
  background-color: hsl(var(--cta-muted) / 0.4);
}

.bg-cta-muted\/45{
  background-color: hsl(var(--cta-muted) / 0.45);
}

.bg-cta-muted\/5{
  background-color: hsl(var(--cta-muted) / 0.05);
}

.bg-cta-muted\/50{
  background-color: hsl(var(--cta-muted) / 0.5);
}

.bg-cta-muted\/55{
  background-color: hsl(var(--cta-muted) / 0.55);
}

.bg-cta-muted\/60{
  background-color: hsl(var(--cta-muted) / 0.6);
}

.bg-cta-muted\/65{
  background-color: hsl(var(--cta-muted) / 0.65);
}

.bg-cta-muted\/70{
  background-color: hsl(var(--cta-muted) / 0.7);
}

.bg-cta-muted\/75{
  background-color: hsl(var(--cta-muted) / 0.75);
}

.bg-cta-muted\/80{
  background-color: hsl(var(--cta-muted) / 0.8);
}

.bg-cta-muted\/85{
  background-color: hsl(var(--cta-muted) / 0.85);
}

.bg-cta-muted\/90{
  background-color: hsl(var(--cta-muted) / 0.9);
}

.bg-cta-muted\/95{
  background-color: hsl(var(--cta-muted) / 0.95);
}

.bg-cta\/0{
  background-color: hsl(var(--cta) / 0);
}

.bg-cta\/10{
  background-color: hsl(var(--cta) / 0.1);
}

.bg-cta\/100{
  background-color: hsl(var(--cta) / 1);
}

.bg-cta\/15{
  background-color: hsl(var(--cta) / 0.15);
}

.bg-cta\/20{
  background-color: hsl(var(--cta) / 0.2);
}

.bg-cta\/25{
  background-color: hsl(var(--cta) / 0.25);
}

.bg-cta\/30{
  background-color: hsl(var(--cta) / 0.3);
}

.bg-cta\/35{
  background-color: hsl(var(--cta) / 0.35);
}

.bg-cta\/40{
  background-color: hsl(var(--cta) / 0.4);
}

.bg-cta\/45{
  background-color: hsl(var(--cta) / 0.45);
}

.bg-cta\/5{
  background-color: hsl(var(--cta) / 0.05);
}

.bg-cta\/50{
  background-color: hsl(var(--cta) / 0.5);
}

.bg-cta\/55{
  background-color: hsl(var(--cta) / 0.55);
}

.bg-cta\/60{
  background-color: hsl(var(--cta) / 0.6);
}

.bg-cta\/65{
  background-color: hsl(var(--cta) / 0.65);
}

.bg-cta\/70{
  background-color: hsl(var(--cta) / 0.7);
}

.bg-cta\/75{
  background-color: hsl(var(--cta) / 0.75);
}

.bg-cta\/80{
  background-color: hsl(var(--cta) / 0.8);
}

.bg-cta\/85{
  background-color: hsl(var(--cta) / 0.85);
}

.bg-cta\/90{
  background-color: hsl(var(--cta) / 0.9);
}

.bg-cta\/95{
  background-color: hsl(var(--cta) / 0.95);
}

.bg-current{
  background-color: currentColor;
}

.bg-destructive{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive) / var(--tw-bg-opacity));
}

.bg-destructive-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--destructive-foreground) / var(--tw-bg-opacity));
}

.bg-destructive-foreground\/0{
  background-color: hsl(var(--destructive-foreground) / 0);
}

.bg-destructive-foreground\/10{
  background-color: hsl(var(--destructive-foreground) / 0.1);
}

.bg-destructive-foreground\/100{
  background-color: hsl(var(--destructive-foreground) / 1);
}

.bg-destructive-foreground\/15{
  background-color: hsl(var(--destructive-foreground) / 0.15);
}

.bg-destructive-foreground\/20{
  background-color: hsl(var(--destructive-foreground) / 0.2);
}

.bg-destructive-foreground\/25{
  background-color: hsl(var(--destructive-foreground) / 0.25);
}

.bg-destructive-foreground\/30{
  background-color: hsl(var(--destructive-foreground) / 0.3);
}

.bg-destructive-foreground\/35{
  background-color: hsl(var(--destructive-foreground) / 0.35);
}

.bg-destructive-foreground\/40{
  background-color: hsl(var(--destructive-foreground) / 0.4);
}

.bg-destructive-foreground\/45{
  background-color: hsl(var(--destructive-foreground) / 0.45);
}

.bg-destructive-foreground\/5{
  background-color: hsl(var(--destructive-foreground) / 0.05);
}

.bg-destructive-foreground\/50{
  background-color: hsl(var(--destructive-foreground) / 0.5);
}

.bg-destructive-foreground\/55{
  background-color: hsl(var(--destructive-foreground) / 0.55);
}

.bg-destructive-foreground\/60{
  background-color: hsl(var(--destructive-foreground) / 0.6);
}

.bg-destructive-foreground\/65{
  background-color: hsl(var(--destructive-foreground) / 0.65);
}

.bg-destructive-foreground\/70{
  background-color: hsl(var(--destructive-foreground) / 0.7);
}

.bg-destructive-foreground\/75{
  background-color: hsl(var(--destructive-foreground) / 0.75);
}

.bg-destructive-foreground\/80{
  background-color: hsl(var(--destructive-foreground) / 0.8);
}

.bg-destructive-foreground\/85{
  background-color: hsl(var(--destructive-foreground) / 0.85);
}

.bg-destructive-foreground\/90{
  background-color: hsl(var(--destructive-foreground) / 0.9);
}

.bg-destructive-foreground\/95{
  background-color: hsl(var(--destructive-foreground) / 0.95);
}

.bg-destructive\/0{
  background-color: hsl(var(--destructive) / 0);
}

.bg-destructive\/10{
  background-color: hsl(var(--destructive) / 0.1);
}

.bg-destructive\/100{
  background-color: hsl(var(--destructive) / 1);
}

.bg-destructive\/15{
  background-color: hsl(var(--destructive) / 0.15);
}

.bg-destructive\/20{
  background-color: hsl(var(--destructive) / 0.2);
}

.bg-destructive\/25{
  background-color: hsl(var(--destructive) / 0.25);
}

.bg-destructive\/30{
  background-color: hsl(var(--destructive) / 0.3);
}

.bg-destructive\/35{
  background-color: hsl(var(--destructive) / 0.35);
}

.bg-destructive\/40{
  background-color: hsl(var(--destructive) / 0.4);
}

.bg-destructive\/45{
  background-color: hsl(var(--destructive) / 0.45);
}

.bg-destructive\/5{
  background-color: hsl(var(--destructive) / 0.05);
}

.bg-destructive\/50{
  background-color: hsl(var(--destructive) / 0.5);
}

.bg-destructive\/55{
  background-color: hsl(var(--destructive) / 0.55);
}

.bg-destructive\/60{
  background-color: hsl(var(--destructive) / 0.6);
}

.bg-destructive\/65{
  background-color: hsl(var(--destructive) / 0.65);
}

.bg-destructive\/70{
  background-color: hsl(var(--destructive) / 0.7);
}

.bg-destructive\/75{
  background-color: hsl(var(--destructive) / 0.75);
}

.bg-destructive\/80{
  background-color: hsl(var(--destructive) / 0.8);
}

.bg-destructive\/85{
  background-color: hsl(var(--destructive) / 0.85);
}

.bg-destructive\/90{
  background-color: hsl(var(--destructive) / 0.9);
}

.bg-destructive\/95{
  background-color: hsl(var(--destructive) / 0.95);
}

.bg-emerald-800{
  --tw-bg-opacity: 1;
  background-color: rgb(6 95 70 / var(--tw-bg-opacity));
}

.bg-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--foreground) / var(--tw-bg-opacity));
}

.bg-foreground\/5{
  background-color: hsl(var(--foreground) / 0.05);
}

.bg-foreground\/60{
  background-color: hsl(var(--foreground) / 0.6);
}

.bg-ink{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--ink) / var(--tw-bg-opacity));
}

.bg-muted{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted) / var(--tw-bg-opacity));
}

.bg-muted-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--muted-foreground) / var(--tw-bg-opacity));
}

.bg-muted-foreground\/0{
  background-color: hsl(var(--muted-foreground) / 0);
}

.bg-muted-foreground\/10{
  background-color: hsl(var(--muted-foreground) / 0.1);
}

.bg-muted-foreground\/100{
  background-color: hsl(var(--muted-foreground) / 1);
}

.bg-muted-foreground\/15{
  background-color: hsl(var(--muted-foreground) / 0.15);
}

.bg-muted-foreground\/20{
  background-color: hsl(var(--muted-foreground) / 0.2);
}

.bg-muted-foreground\/25{
  background-color: hsl(var(--muted-foreground) / 0.25);
}

.bg-muted-foreground\/30{
  background-color: hsl(var(--muted-foreground) / 0.3);
}

.bg-muted-foreground\/35{
  background-color: hsl(var(--muted-foreground) / 0.35);
}

.bg-muted-foreground\/40{
  background-color: hsl(var(--muted-foreground) / 0.4);
}

.bg-muted-foreground\/45{
  background-color: hsl(var(--muted-foreground) / 0.45);
}

.bg-muted-foreground\/5{
  background-color: hsl(var(--muted-foreground) / 0.05);
}

.bg-muted-foreground\/50{
  background-color: hsl(var(--muted-foreground) / 0.5);
}

.bg-muted-foreground\/55{
  background-color: hsl(var(--muted-foreground) / 0.55);
}

.bg-muted-foreground\/60{
  background-color: hsl(var(--muted-foreground) / 0.6);
}

.bg-muted-foreground\/65{
  background-color: hsl(var(--muted-foreground) / 0.65);
}

.bg-muted-foreground\/70{
  background-color: hsl(var(--muted-foreground) / 0.7);
}

.bg-muted-foreground\/75{
  background-color: hsl(var(--muted-foreground) / 0.75);
}

.bg-muted-foreground\/80{
  background-color: hsl(var(--muted-foreground) / 0.8);
}

.bg-muted-foreground\/85{
  background-color: hsl(var(--muted-foreground) / 0.85);
}

.bg-muted-foreground\/90{
  background-color: hsl(var(--muted-foreground) / 0.9);
}

.bg-muted-foreground\/95{
  background-color: hsl(var(--muted-foreground) / 0.95);
}

.bg-muted\/0{
  background-color: hsl(var(--muted) / 0);
}

.bg-muted\/10{
  background-color: hsl(var(--muted) / 0.1);
}

.bg-muted\/100{
  background-color: hsl(var(--muted) / 1);
}

.bg-muted\/15{
  background-color: hsl(var(--muted) / 0.15);
}

.bg-muted\/20{
  background-color: hsl(var(--muted) / 0.2);
}

.bg-muted\/25{
  background-color: hsl(var(--muted) / 0.25);
}

.bg-muted\/30{
  background-color: hsl(var(--muted) / 0.3);
}

.bg-muted\/35{
  background-color: hsl(var(--muted) / 0.35);
}

.bg-muted\/40{
  background-color: hsl(var(--muted) / 0.4);
}

.bg-muted\/45{
  background-color: hsl(var(--muted) / 0.45);
}

.bg-muted\/5{
  background-color: hsl(var(--muted) / 0.05);
}

.bg-muted\/50{
  background-color: hsl(var(--muted) / 0.5);
}

.bg-muted\/55{
  background-color: hsl(var(--muted) / 0.55);
}

.bg-muted\/60{
  background-color: hsl(var(--muted) / 0.6);
}

.bg-muted\/65{
  background-color: hsl(var(--muted) / 0.65);
}

.bg-muted\/70{
  background-color: hsl(var(--muted) / 0.7);
}

.bg-muted\/75{
  background-color: hsl(var(--muted) / 0.75);
}

.bg-muted\/80{
  background-color: hsl(var(--muted) / 0.8);
}

.bg-muted\/85{
  background-color: hsl(var(--muted) / 0.85);
}

.bg-muted\/90{
  background-color: hsl(var(--muted) / 0.9);
}

.bg-muted\/95{
  background-color: hsl(var(--muted) / 0.95);
}

.bg-primary{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary) / var(--tw-bg-opacity));
}

.bg-primary-foreground{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--primary-foreground) / var(--tw-bg-opacity));
}

.bg-primary-foreground\/0{
  background-color: hsl(var(--primary-foreground) / 0);
}

.bg-primary-foreground\/10{
  background-color: hsl(var(--primary-foreground) / 0.1);
}

.bg-primary-foreground\/100{
  background-color: hsl(var(--primary-foreground) / 1);
}

.bg-primary-foreground\/15{
  background-color: hsl(var(--primary-foreground) / 0.15);
}

.bg-primary-foreground\/20{
  background-color: hsl(var(--primary-foreground) / 0.2);
}

.bg-primary-foreground\/25{
  background-color: hsl(var(--primary-foreground) / 0.25);
}

.bg-primary-foreground\/30{
  background-color: hsl(var(--primary-foreground) / 0.3);
}

.bg-primary-foreground\/35{
  background-color: hsl(var(--primary-foreground) / 0.35);
}

.bg-primary-foreground\/40{
  background-color: hsl(var(--primary-foreground) / 0.4);
}

.bg-primary-foreground\/45{
  background-color: hsl(var(--primary-foreground) / 0.45);
}

.bg-primary-foreground\/5{
  background-color: hsl(var(--primary-foreground) / 0.05);
}

.bg-primary-foreground\/50{
  background-color: hsl(var(--primary-foreground) / 0.5);
}

.bg-primary-foreground\/55{
  background-color: hsl(var(--primary-foreground) / 0.55);
}

.bg-primary-foreground\/60{
  background-color: hsl(var(--primary-foreground) / 0.6);
}

.bg-primary-foreground\/65{
  background-color: hsl(var(--primary-foreground) / 0.65);
}

.bg-primary-foreground\/70{
  background-color: hsl(var(--primary-foreground) / 0.7);
}

.bg-primary-foreground\/75{
  background-color: hsl(var(--primary-foreground) / 0.75);
}

.bg-primary-foreground\/80{
  background-color: hsl(var(--primary-foreground) / 0.8);
}

.bg-primary-foreground\/85{
  background-color: hsl(var(--primary-foreground) / 0.85);
}

.bg-primary-foreground\/90{
  background-color: hsl(var(--primary-foreground) / 0.9);
}

.bg-primary-foreground\/95{
  background-color: hsl(var(--primary-foreground) / 0.95);
}

.bg-primary\/0{
  background-color: hsl(var(--primary) / 0);
}

.bg-primary\/10{
  background-color: hsl(var(--primary) / 0.1);
}

.bg-primary\/100{
  background-color: hsl(var(--primary) / 1);
}

.bg-primary\/15{
  background-color: hsl(var(--primary) / 0.15);
}

.bg-primary\/20{
  background-color: hsl(var(--primary) / 0.2);
}

.bg-primary\/25{
  background-color: hsl(var(--primary) / 0.25);
}

.bg-primary\/30{
  background-color: hsl(var(--primary) / 0.3);
}

.bg-primary\/35{
  background-color: hsl(var(--primary) / 0.35);
}

.bg-primary\/40{
  background-color: hsl(var(--primary) / 0.4);
}

.bg-primary\/45{
  background-color: hsl(var(--primary) / 0.45);
}

.bg-primary\/5{
  background-color: hsl(var(--primary) / 0.05);
}

.bg-primary\/50{
  background-color: hsl(var(--primary) / 0.5);
}

.bg-primary\/55{
  background-color: hsl(var(--primary) / 0.55);
}

.bg-primary\/60{
  background-color: hsl(var(--primary) / 0.6);
}

.bg-primary\/65{
  background-color: hsl(var(--primary) / 0.65);
}

.bg-primary\/70{
  background-color: hsl(var(--primary) / 0.7);
}

.bg-primary\/75{
  background-color: hsl(var(--primary) / 0.75);
}

.bg-primary\/80{
  background-color: hsl(var(--primary) / 0.8);
}

.bg-primary\/85{
  background-color: hsl(var(--primary) / 0.85);
}

.bg-primary\/90{
  background-color: hsl(var(--primary) / 0.9);
}

.bg-primary\/95{
  background-color: hsl(var(--primary) / 0.95);
}

.bg-success{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--success) / var(--tw-bg-opacity));
}

.bg-success\/0{
  background-color: hsl(var(--success) / 0);
}

.bg-success\/10{
  background-color: hsl(var(--success) / 0.1);
}

.bg-success\/100{
  background-color: hsl(var(--success) / 1);
}

.bg-success\/15{
  background-color: hsl(var(--success) / 0.15);
}

.bg-success\/20{
  background-color: hsl(var(--success) / 0.2);
}

.bg-success\/25{
  background-color: hsl(var(--success) / 0.25);
}

.bg-success\/30{
  background-color: hsl(var(--success) / 0.3);
}

.bg-success\/35{
  background-color: hsl(var(--success) / 0.35);
}

.bg-success\/40{
  background-color: hsl(var(--success) / 0.4);
}

.bg-success\/45{
  background-color: hsl(var(--success) / 0.45);
}

.bg-success\/5{
  background-color: hsl(var(--success) / 0.05);
}

.bg-success\/50{
  background-color: hsl(var(--success) / 0.5);
}

.bg-success\/55{
  background-color: hsl(var(--success) / 0.55);
}

.bg-success\/60{
  background-color: hsl(var(--success) / 0.6);
}

.bg-success\/65{
  background-color: hsl(var(--success) / 0.65);
}

.bg-success\/70{
  background-color: hsl(var(--success) / 0.7);
}

.bg-success\/75{
  background-color: hsl(var(--success) / 0.75);
}

.bg-success\/80{
  background-color: hsl(var(--success) / 0.8);
}

.bg-success\/85{
  background-color: hsl(var(--success) / 0.85);
}

.bg-success\/90{
  background-color: hsl(var(--success) / 0.9);
}

.bg-success\/95{
  background-color: hsl(var(--success) / 0.95);
}

.bg-surface{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--surface) / var(--tw-bg-opacity));
}

.bg-surface-2{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--surface-2) / var(--tw-bg-opacity));
}

.bg-surface-2\/0{
  background-color: hsl(var(--surface-2) / 0);
}

.bg-surface-2\/10{
  background-color: hsl(var(--surface-2) / 0.1);
}

.bg-surface-2\/100{
  background-color: hsl(var(--surface-2) / 1);
}

.bg-surface-2\/15{
  background-color: hsl(var(--surface-2) / 0.15);
}

.bg-surface-2\/20{
  background-color: hsl(var(--surface-2) / 0.2);
}

.bg-surface-2\/25{
  background-color: hsl(var(--surface-2) / 0.25);
}

.bg-surface-2\/30{
  background-color: hsl(var(--surface-2) / 0.3);
}

.bg-surface-2\/35{
  background-color: hsl(var(--surface-2) / 0.35);
}

.bg-surface-2\/40{
  background-color: hsl(var(--surface-2) / 0.4);
}

.bg-surface-2\/45{
  background-color: hsl(var(--surface-2) / 0.45);
}

.bg-surface-2\/5{
  background-color: hsl(var(--surface-2) / 0.05);
}

.bg-surface-2\/50{
  background-color: hsl(var(--surface-2) / 0.5);
}

.bg-surface-2\/55{
  background-color: hsl(var(--surface-2) / 0.55);
}

.bg-surface-2\/60{
  background-color: hsl(var(--surface-2) / 0.6);
}

.bg-surface-2\/65{
  background-color: hsl(var(--surface-2) / 0.65);
}

.bg-surface-2\/70{
  background-color: hsl(var(--surface-2) / 0.7);
}

.bg-surface-2\/75{
  background-color: hsl(var(--surface-2) / 0.75);
}

.bg-surface-2\/80{
  background-color: hsl(var(--surface-2) / 0.8);
}

.bg-surface-2\/85{
  background-color: hsl(var(--surface-2) / 0.85);
}

.bg-surface-2\/90{
  background-color: hsl(var(--surface-2) / 0.9);
}

.bg-surface-2\/95{
  background-color: hsl(var(--surface-2) / 0.95);
}

.bg-surface\/0{
  background-color: hsl(var(--surface) / 0);
}

.bg-surface\/10{
  background-color: hsl(var(--surface) / 0.1);
}

.bg-surface\/100{
  background-color: hsl(var(--surface) / 1);
}

.bg-surface\/15{
  background-color: hsl(var(--surface) / 0.15);
}

.bg-surface\/20{
  background-color: hsl(var(--surface) / 0.2);
}

.bg-surface\/25{
  background-color: hsl(var(--surface) / 0.25);
}

.bg-surface\/30{
  background-color: hsl(var(--surface) / 0.3);
}

.bg-surface\/35{
  background-color: hsl(var(--surface) / 0.35);
}

.bg-surface\/40{
  background-color: hsl(var(--surface) / 0.4);
}

.bg-surface\/45{
  background-color: hsl(var(--surface) / 0.45);
}

.bg-surface\/5{
  background-color: hsl(var(--surface) / 0.05);
}

.bg-surface\/50{
  background-color: hsl(var(--surface) / 0.5);
}

.bg-surface\/55{
  background-color: hsl(var(--surface) / 0.55);
}

.bg-surface\/60{
  background-color: hsl(var(--surface) / 0.6);
}

.bg-surface\/65{
  background-color: hsl(var(--surface) / 0.65);
}

.bg-surface\/70{
  background-color: hsl(var(--surface) / 0.7);
}

.bg-surface\/75{
  background-color: hsl(var(--surface) / 0.75);
}

.bg-surface\/80{
  background-color: hsl(var(--surface) / 0.8);
}

.bg-surface\/85{
  background-color: hsl(var(--surface) / 0.85);
}

.bg-surface\/90{
  background-color: hsl(var(--surface) / 0.9);
}

.bg-surface\/95{
  background-color: hsl(var(--surface) / 0.95);
}

.bg-tertiary{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--tertiary) / var(--tw-bg-opacity));
}

.bg-tertiary\/0{
  background-color: hsl(var(--tertiary) / 0);
}

.bg-tertiary\/10{
  background-color: hsl(var(--tertiary) / 0.1);
}

.bg-tertiary\/100{
  background-color: hsl(var(--tertiary) / 1);
}

.bg-tertiary\/15{
  background-color: hsl(var(--tertiary) / 0.15);
}

.bg-tertiary\/20{
  background-color: hsl(var(--tertiary) / 0.2);
}

.bg-tertiary\/25{
  background-color: hsl(var(--tertiary) / 0.25);
}

.bg-tertiary\/30{
  background-color: hsl(var(--tertiary) / 0.3);
}

.bg-tertiary\/35{
  background-color: hsl(var(--tertiary) / 0.35);
}

.bg-tertiary\/40{
  background-color: hsl(var(--tertiary) / 0.4);
}

.bg-tertiary\/45{
  background-color: hsl(var(--tertiary) / 0.45);
}

.bg-tertiary\/5{
  background-color: hsl(var(--tertiary) / 0.05);
}

.bg-tertiary\/50{
  background-color: hsl(var(--tertiary) / 0.5);
}

.bg-tertiary\/55{
  background-color: hsl(var(--tertiary) / 0.55);
}

.bg-tertiary\/60{
  background-color: hsl(var(--tertiary) / 0.6);
}

.bg-tertiary\/65{
  background-color: hsl(var(--tertiary) / 0.65);
}

.bg-tertiary\/70{
  background-color: hsl(var(--tertiary) / 0.7);
}

.bg-tertiary\/75{
  background-color: hsl(var(--tertiary) / 0.75);
}

.bg-tertiary\/80{
  background-color: hsl(var(--tertiary) / 0.8);
}

.bg-tertiary\/85{
  background-color: hsl(var(--tertiary) / 0.85);
}

.bg-tertiary\/90{
  background-color: hsl(var(--tertiary) / 0.9);
}

.bg-tertiary\/95{
  background-color: hsl(var(--tertiary) / 0.95);
}

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

.bg-warning{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--warning) / var(--tw-bg-opacity));
}

.bg-warning\/0{
  background-color: hsl(var(--warning) / 0);
}

.bg-warning\/10{
  background-color: hsl(var(--warning) / 0.1);
}

.bg-warning\/100{
  background-color: hsl(var(--warning) / 1);
}

.bg-warning\/15{
  background-color: hsl(var(--warning) / 0.15);
}

.bg-warning\/20{
  background-color: hsl(var(--warning) / 0.2);
}

.bg-warning\/25{
  background-color: hsl(var(--warning) / 0.25);
}

.bg-warning\/30{
  background-color: hsl(var(--warning) / 0.3);
}

.bg-warning\/35{
  background-color: hsl(var(--warning) / 0.35);
}

.bg-warning\/40{
  background-color: hsl(var(--warning) / 0.4);
}

.bg-warning\/45{
  background-color: hsl(var(--warning) / 0.45);
}

.bg-warning\/5{
  background-color: hsl(var(--warning) / 0.05);
}

.bg-warning\/50{
  background-color: hsl(var(--warning) / 0.5);
}

.bg-warning\/55{
  background-color: hsl(var(--warning) / 0.55);
}

.bg-warning\/60{
  background-color: hsl(var(--warning) / 0.6);
}

.bg-warning\/65{
  background-color: hsl(var(--warning) / 0.65);
}

.bg-warning\/70{
  background-color: hsl(var(--warning) / 0.7);
}

.bg-warning\/75{
  background-color: hsl(var(--warning) / 0.75);
}

.bg-warning\/80{
  background-color: hsl(var(--warning) / 0.8);
}

.bg-warning\/85{
  background-color: hsl(var(--warning) / 0.85);
}

.bg-warning\/90{
  background-color: hsl(var(--warning) / 0.9);
}

.bg-warning\/95{
  background-color: hsl(var(--warning) / 0.95);
}

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

.bg-gradient-accent{
  background-image: var(--gradient-accent);
}

.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-background{
  --tw-gradient-from: hsl(var(--background) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background\/80{
  --tw-gradient-from: hsl(var(--background) / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cta{
  --tw-gradient-from: hsl(var(--cta) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--cta) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/60{
  --tw-gradient-from: hsl(var(--primary) / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-background\/70{
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cta\/90{
  --tw-gradient-to: hsl(var(--cta) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--cta) / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-background\/30{
  --tw-gradient-to: hsl(var(--background) / 0.3) var(--tw-gradient-to-position);
}

.to-cta\/70{
  --tw-gradient-to: hsl(var(--cta) / 0.7) var(--tw-gradient-to-position);
}

.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.bg-contain{
  background-size: contain;
}

.bg-center{
  background-position: center;
}

.bg-no-repeat{
  background-repeat: no-repeat;
}

.fill-current{
  fill: currentColor;
}

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

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

.p-10{
  padding: 2.5rem;
}

.p-12{
  padding: 3rem;
}

.p-2{
  padding: 0.5rem;
}

.p-3{
  padding: 0.75rem;
}

.p-4{
  padding: 1rem;
}

.p-6{
  padding: 1.5rem;
}

.p-8{
  padding: 2rem;
}

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

.px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

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

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

.px-3\.5{
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}

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

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

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

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

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

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

.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-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.pb-0{
  padding-bottom: 0px;
}

.pb-12{
  padding-bottom: 3rem;
}

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

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

.pb-3{
  padding-bottom: 0.75rem;
}

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

.pb-6{
  padding-bottom: 1.5rem;
}

.pr-24{
  padding-right: 6rem;
}

.pr-4{
  padding-right: 1rem;
}

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

.pt-12{
  padding-top: 3rem;
}

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

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

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

.pt-3{
  padding-top: 0.75rem;
}

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

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

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

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

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

.font-display{
  font-family: var(--font-display);
}

.font-mono{
  font-family: var(--font-mono);
}

.font-serif{
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}

.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}

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

.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}

.text-5xl{
  font-size: 3rem;
  line-height: 1;
}

.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}

.text-7xl{
  font-size: 4.5rem;
  line-height: 1;
}

.text-\[10px\]{
  font-size: 10px;
}

.text-\[10vw\]{
  font-size: 10vw;
}

.text-\[11px\]{
  font-size: 11px;
}

.text-\[12vw\]{
  font-size: 12vw;
}

.text-\[13vw\]{
  font-size: 13vw;
}

.text-\[14vw\]{
  font-size: 14vw;
}

.text-\[15vw\]{
  font-size: 15vw;
}

.text-\[18vw\]{
  font-size: 18vw;
}

.text-\[8px\]{
  font-size: 8px;
}

.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}

.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

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

.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}

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

.font-light{
  font-weight: 300;
}

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

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

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

.uppercase{
  text-transform: uppercase;
}

.italic{
  font-style: italic;
}

.leading-\[0\.85\]{
  line-height: 0.85;
}

.leading-\[0\.92\]{
  line-height: 0.92;
}

.leading-\[0\.95\]{
  line-height: 0.95;
}

.leading-\[0\.9\]{
  line-height: 0.9;
}

.leading-\[1\.02\]{
  line-height: 1.02;
}

.leading-\[1\.0\]{
  line-height: 1.0;
}

.leading-none{
  line-height: 1;
}

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

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

.tracking-\[-0\.035em\]{
  letter-spacing: -0.035em;
}

.tracking-\[-0\.03em\]{
  letter-spacing: -0.03em;
}

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

.tracking-\[0\.18em\]{
  letter-spacing: 0.18em;
}

.tracking-\[0\.25em\]{
  letter-spacing: 0.25em;
}

.tracking-\[0\.2em\]{
  letter-spacing: 0.2em;
}

.tracking-\[0\.3em\]{
  letter-spacing: 0.3em;
}

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

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

.tracking-widest{
  letter-spacing: 0.1em;
}

.text-\[hsl\(var\(--muted-foreground\)\)\]{
  color: hsl(var(--muted-foreground));
}

.text-\[var\(--accent\)\]{
  color: var(--accent);
}

.text-\[var\(--background\)\]{
  color: var(--background);
}

.text-\[var\(--ink\)\]{
  color: var(--ink);
}

.text-\[var\(--ink\2c \#1a1410\)\]{
  color: var(--ink,#1a1410);
}

.text-\[var\(--muted-foreground\)\]{
  color: var(--muted-foreground);
}

.text-accent{
  --tw-text-opacity: 1;
  color: hsl(var(--accent) / var(--tw-text-opacity));
}

.text-accent-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--accent-foreground) / var(--tw-text-opacity));
}

.text-accent-foreground\/0{
  color: hsl(var(--accent-foreground) / 0);
}

.text-accent-foreground\/10{
  color: hsl(var(--accent-foreground) / 0.1);
}

.text-accent-foreground\/100{
  color: hsl(var(--accent-foreground) / 1);
}

.text-accent-foreground\/15{
  color: hsl(var(--accent-foreground) / 0.15);
}

.text-accent-foreground\/20{
  color: hsl(var(--accent-foreground) / 0.2);
}

.text-accent-foreground\/25{
  color: hsl(var(--accent-foreground) / 0.25);
}

.text-accent-foreground\/30{
  color: hsl(var(--accent-foreground) / 0.3);
}

.text-accent-foreground\/35{
  color: hsl(var(--accent-foreground) / 0.35);
}

.text-accent-foreground\/40{
  color: hsl(var(--accent-foreground) / 0.4);
}

.text-accent-foreground\/45{
  color: hsl(var(--accent-foreground) / 0.45);
}

.text-accent-foreground\/5{
  color: hsl(var(--accent-foreground) / 0.05);
}

.text-accent-foreground\/50{
  color: hsl(var(--accent-foreground) / 0.5);
}

.text-accent-foreground\/55{
  color: hsl(var(--accent-foreground) / 0.55);
}

.text-accent-foreground\/60{
  color: hsl(var(--accent-foreground) / 0.6);
}

.text-accent-foreground\/65{
  color: hsl(var(--accent-foreground) / 0.65);
}

.text-accent-foreground\/70{
  color: hsl(var(--accent-foreground) / 0.7);
}

.text-accent-foreground\/75{
  color: hsl(var(--accent-foreground) / 0.75);
}

.text-accent-foreground\/80{
  color: hsl(var(--accent-foreground) / 0.8);
}

.text-accent-foreground\/85{
  color: hsl(var(--accent-foreground) / 0.85);
}

.text-accent-foreground\/90{
  color: hsl(var(--accent-foreground) / 0.9);
}

.text-accent-foreground\/95{
  color: hsl(var(--accent-foreground) / 0.95);
}

.text-accent\/0{
  color: hsl(var(--accent) / 0);
}

.text-accent\/10{
  color: hsl(var(--accent) / 0.1);
}

.text-accent\/100{
  color: hsl(var(--accent) / 1);
}

.text-accent\/15{
  color: hsl(var(--accent) / 0.15);
}

.text-accent\/20{
  color: hsl(var(--accent) / 0.2);
}

.text-accent\/25{
  color: hsl(var(--accent) / 0.25);
}

.text-accent\/30{
  color: hsl(var(--accent) / 0.3);
}

.text-accent\/35{
  color: hsl(var(--accent) / 0.35);
}

.text-accent\/40{
  color: hsl(var(--accent) / 0.4);
}

.text-accent\/45{
  color: hsl(var(--accent) / 0.45);
}

.text-accent\/5{
  color: hsl(var(--accent) / 0.05);
}

.text-accent\/50{
  color: hsl(var(--accent) / 0.5);
}

.text-accent\/55{
  color: hsl(var(--accent) / 0.55);
}

.text-accent\/60{
  color: hsl(var(--accent) / 0.6);
}

.text-accent\/65{
  color: hsl(var(--accent) / 0.65);
}

.text-accent\/70{
  color: hsl(var(--accent) / 0.7);
}

.text-accent\/75{
  color: hsl(var(--accent) / 0.75);
}

.text-accent\/80{
  color: hsl(var(--accent) / 0.8);
}

.text-accent\/85{
  color: hsl(var(--accent) / 0.85);
}

.text-accent\/90{
  color: hsl(var(--accent) / 0.9);
}

.text-accent\/95{
  color: hsl(var(--accent) / 0.95);
}

.text-background{
  --tw-text-opacity: 1;
  color: hsl(var(--background) / var(--tw-text-opacity));
}

.text-background\/60{
  color: hsl(var(--background) / 0.6);
}

.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.text-cta{
  --tw-text-opacity: 1;
  color: hsl(var(--cta) / var(--tw-text-opacity));
}

.text-cta-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--cta-foreground) / var(--tw-text-opacity));
}

.text-cta-foreground\/0{
  color: hsl(var(--cta-foreground) / 0);
}

.text-cta-foreground\/10{
  color: hsl(var(--cta-foreground) / 0.1);
}

.text-cta-foreground\/100{
  color: hsl(var(--cta-foreground) / 1);
}

.text-cta-foreground\/15{
  color: hsl(var(--cta-foreground) / 0.15);
}

.text-cta-foreground\/20{
  color: hsl(var(--cta-foreground) / 0.2);
}

.text-cta-foreground\/25{
  color: hsl(var(--cta-foreground) / 0.25);
}

.text-cta-foreground\/30{
  color: hsl(var(--cta-foreground) / 0.3);
}

.text-cta-foreground\/35{
  color: hsl(var(--cta-foreground) / 0.35);
}

.text-cta-foreground\/40{
  color: hsl(var(--cta-foreground) / 0.4);
}

.text-cta-foreground\/45{
  color: hsl(var(--cta-foreground) / 0.45);
}

.text-cta-foreground\/5{
  color: hsl(var(--cta-foreground) / 0.05);
}

.text-cta-foreground\/50{
  color: hsl(var(--cta-foreground) / 0.5);
}

.text-cta-foreground\/55{
  color: hsl(var(--cta-foreground) / 0.55);
}

.text-cta-foreground\/60{
  color: hsl(var(--cta-foreground) / 0.6);
}

.text-cta-foreground\/65{
  color: hsl(var(--cta-foreground) / 0.65);
}

.text-cta-foreground\/70{
  color: hsl(var(--cta-foreground) / 0.7);
}

.text-cta-foreground\/75{
  color: hsl(var(--cta-foreground) / 0.75);
}

.text-cta-foreground\/80{
  color: hsl(var(--cta-foreground) / 0.8);
}

.text-cta-foreground\/85{
  color: hsl(var(--cta-foreground) / 0.85);
}

.text-cta-foreground\/90{
  color: hsl(var(--cta-foreground) / 0.9);
}

.text-cta-foreground\/95{
  color: hsl(var(--cta-foreground) / 0.95);
}

.text-cta-muted{
  --tw-text-opacity: 1;
  color: hsl(var(--cta-muted) / var(--tw-text-opacity));
}

.text-cta-muted\/0{
  color: hsl(var(--cta-muted) / 0);
}

.text-cta-muted\/10{
  color: hsl(var(--cta-muted) / 0.1);
}

.text-cta-muted\/100{
  color: hsl(var(--cta-muted) / 1);
}

.text-cta-muted\/15{
  color: hsl(var(--cta-muted) / 0.15);
}

.text-cta-muted\/20{
  color: hsl(var(--cta-muted) / 0.2);
}

.text-cta-muted\/25{
  color: hsl(var(--cta-muted) / 0.25);
}

.text-cta-muted\/30{
  color: hsl(var(--cta-muted) / 0.3);
}

.text-cta-muted\/35{
  color: hsl(var(--cta-muted) / 0.35);
}

.text-cta-muted\/40{
  color: hsl(var(--cta-muted) / 0.4);
}

.text-cta-muted\/45{
  color: hsl(var(--cta-muted) / 0.45);
}

.text-cta-muted\/5{
  color: hsl(var(--cta-muted) / 0.05);
}

.text-cta-muted\/50{
  color: hsl(var(--cta-muted) / 0.5);
}

.text-cta-muted\/55{
  color: hsl(var(--cta-muted) / 0.55);
}

.text-cta-muted\/60{
  color: hsl(var(--cta-muted) / 0.6);
}

.text-cta-muted\/65{
  color: hsl(var(--cta-muted) / 0.65);
}

.text-cta-muted\/70{
  color: hsl(var(--cta-muted) / 0.7);
}

.text-cta-muted\/75{
  color: hsl(var(--cta-muted) / 0.75);
}

.text-cta-muted\/80{
  color: hsl(var(--cta-muted) / 0.8);
}

.text-cta-muted\/85{
  color: hsl(var(--cta-muted) / 0.85);
}

.text-cta-muted\/90{
  color: hsl(var(--cta-muted) / 0.9);
}

.text-cta-muted\/95{
  color: hsl(var(--cta-muted) / 0.95);
}

.text-cta\/0{
  color: hsl(var(--cta) / 0);
}

.text-cta\/10{
  color: hsl(var(--cta) / 0.1);
}

.text-cta\/100{
  color: hsl(var(--cta) / 1);
}

.text-cta\/15{
  color: hsl(var(--cta) / 0.15);
}

.text-cta\/20{
  color: hsl(var(--cta) / 0.2);
}

.text-cta\/25{
  color: hsl(var(--cta) / 0.25);
}

.text-cta\/30{
  color: hsl(var(--cta) / 0.3);
}

.text-cta\/35{
  color: hsl(var(--cta) / 0.35);
}

.text-cta\/40{
  color: hsl(var(--cta) / 0.4);
}

.text-cta\/45{
  color: hsl(var(--cta) / 0.45);
}

.text-cta\/5{
  color: hsl(var(--cta) / 0.05);
}

.text-cta\/50{
  color: hsl(var(--cta) / 0.5);
}

.text-cta\/55{
  color: hsl(var(--cta) / 0.55);
}

.text-cta\/60{
  color: hsl(var(--cta) / 0.6);
}

.text-cta\/65{
  color: hsl(var(--cta) / 0.65);
}

.text-cta\/70{
  color: hsl(var(--cta) / 0.7);
}

.text-cta\/75{
  color: hsl(var(--cta) / 0.75);
}

.text-cta\/80{
  color: hsl(var(--cta) / 0.8);
}

.text-cta\/85{
  color: hsl(var(--cta) / 0.85);
}

.text-cta\/90{
  color: hsl(var(--cta) / 0.9);
}

.text-cta\/95{
  color: hsl(var(--cta) / 0.95);
}

.text-destructive{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive) / var(--tw-text-opacity));
}

.text-destructive-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--destructive-foreground) / var(--tw-text-opacity));
}

.text-destructive-foreground\/0{
  color: hsl(var(--destructive-foreground) / 0);
}

.text-destructive-foreground\/10{
  color: hsl(var(--destructive-foreground) / 0.1);
}

.text-destructive-foreground\/100{
  color: hsl(var(--destructive-foreground) / 1);
}

.text-destructive-foreground\/15{
  color: hsl(var(--destructive-foreground) / 0.15);
}

.text-destructive-foreground\/20{
  color: hsl(var(--destructive-foreground) / 0.2);
}

.text-destructive-foreground\/25{
  color: hsl(var(--destructive-foreground) / 0.25);
}

.text-destructive-foreground\/30{
  color: hsl(var(--destructive-foreground) / 0.3);
}

.text-destructive-foreground\/35{
  color: hsl(var(--destructive-foreground) / 0.35);
}

.text-destructive-foreground\/40{
  color: hsl(var(--destructive-foreground) / 0.4);
}

.text-destructive-foreground\/45{
  color: hsl(var(--destructive-foreground) / 0.45);
}

.text-destructive-foreground\/5{
  color: hsl(var(--destructive-foreground) / 0.05);
}

.text-destructive-foreground\/50{
  color: hsl(var(--destructive-foreground) / 0.5);
}

.text-destructive-foreground\/55{
  color: hsl(var(--destructive-foreground) / 0.55);
}

.text-destructive-foreground\/60{
  color: hsl(var(--destructive-foreground) / 0.6);
}

.text-destructive-foreground\/65{
  color: hsl(var(--destructive-foreground) / 0.65);
}

.text-destructive-foreground\/70{
  color: hsl(var(--destructive-foreground) / 0.7);
}

.text-destructive-foreground\/75{
  color: hsl(var(--destructive-foreground) / 0.75);
}

.text-destructive-foreground\/80{
  color: hsl(var(--destructive-foreground) / 0.8);
}

.text-destructive-foreground\/85{
  color: hsl(var(--destructive-foreground) / 0.85);
}

.text-destructive-foreground\/90{
  color: hsl(var(--destructive-foreground) / 0.9);
}

.text-destructive-foreground\/95{
  color: hsl(var(--destructive-foreground) / 0.95);
}

.text-destructive\/0{
  color: hsl(var(--destructive) / 0);
}

.text-destructive\/10{
  color: hsl(var(--destructive) / 0.1);
}

.text-destructive\/100{
  color: hsl(var(--destructive) / 1);
}

.text-destructive\/15{
  color: hsl(var(--destructive) / 0.15);
}

.text-destructive\/20{
  color: hsl(var(--destructive) / 0.2);
}

.text-destructive\/25{
  color: hsl(var(--destructive) / 0.25);
}

.text-destructive\/30{
  color: hsl(var(--destructive) / 0.3);
}

.text-destructive\/35{
  color: hsl(var(--destructive) / 0.35);
}

.text-destructive\/40{
  color: hsl(var(--destructive) / 0.4);
}

.text-destructive\/45{
  color: hsl(var(--destructive) / 0.45);
}

.text-destructive\/5{
  color: hsl(var(--destructive) / 0.05);
}

.text-destructive\/50{
  color: hsl(var(--destructive) / 0.5);
}

.text-destructive\/55{
  color: hsl(var(--destructive) / 0.55);
}

.text-destructive\/60{
  color: hsl(var(--destructive) / 0.6);
}

.text-destructive\/65{
  color: hsl(var(--destructive) / 0.65);
}

.text-destructive\/70{
  color: hsl(var(--destructive) / 0.7);
}

.text-destructive\/75{
  color: hsl(var(--destructive) / 0.75);
}

.text-destructive\/80{
  color: hsl(var(--destructive) / 0.8);
}

.text-destructive\/85{
  color: hsl(var(--destructive) / 0.85);
}

.text-destructive\/90{
  color: hsl(var(--destructive) / 0.9);
}

.text-destructive\/95{
  color: hsl(var(--destructive) / 0.95);
}

.text-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity));
}

.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

.text-ink-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--ink-foreground) / var(--tw-text-opacity));
}

.text-ink-foreground\/60{
  color: hsl(var(--ink-foreground) / 0.6);
}

.text-muted{
  --tw-text-opacity: 1;
  color: hsl(var(--muted) / var(--tw-text-opacity));
}

.text-muted-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--muted-foreground) / var(--tw-text-opacity));
}

.text-muted-foreground\/0{
  color: hsl(var(--muted-foreground) / 0);
}

.text-muted-foreground\/10{
  color: hsl(var(--muted-foreground) / 0.1);
}

.text-muted-foreground\/100{
  color: hsl(var(--muted-foreground) / 1);
}

.text-muted-foreground\/15{
  color: hsl(var(--muted-foreground) / 0.15);
}

.text-muted-foreground\/20{
  color: hsl(var(--muted-foreground) / 0.2);
}

.text-muted-foreground\/25{
  color: hsl(var(--muted-foreground) / 0.25);
}

.text-muted-foreground\/30{
  color: hsl(var(--muted-foreground) / 0.3);
}

.text-muted-foreground\/35{
  color: hsl(var(--muted-foreground) / 0.35);
}

.text-muted-foreground\/40{
  color: hsl(var(--muted-foreground) / 0.4);
}

.text-muted-foreground\/45{
  color: hsl(var(--muted-foreground) / 0.45);
}

.text-muted-foreground\/5{
  color: hsl(var(--muted-foreground) / 0.05);
}

.text-muted-foreground\/50{
  color: hsl(var(--muted-foreground) / 0.5);
}

.text-muted-foreground\/55{
  color: hsl(var(--muted-foreground) / 0.55);
}

.text-muted-foreground\/60{
  color: hsl(var(--muted-foreground) / 0.6);
}

.text-muted-foreground\/65{
  color: hsl(var(--muted-foreground) / 0.65);
}

.text-muted-foreground\/70{
  color: hsl(var(--muted-foreground) / 0.7);
}

.text-muted-foreground\/75{
  color: hsl(var(--muted-foreground) / 0.75);
}

.text-muted-foreground\/80{
  color: hsl(var(--muted-foreground) / 0.8);
}

.text-muted-foreground\/85{
  color: hsl(var(--muted-foreground) / 0.85);
}

.text-muted-foreground\/90{
  color: hsl(var(--muted-foreground) / 0.9);
}

.text-muted-foreground\/95{
  color: hsl(var(--muted-foreground) / 0.95);
}

.text-muted\/0{
  color: hsl(var(--muted) / 0);
}

.text-muted\/10{
  color: hsl(var(--muted) / 0.1);
}

.text-muted\/100{
  color: hsl(var(--muted) / 1);
}

.text-muted\/15{
  color: hsl(var(--muted) / 0.15);
}

.text-muted\/20{
  color: hsl(var(--muted) / 0.2);
}

.text-muted\/25{
  color: hsl(var(--muted) / 0.25);
}

.text-muted\/30{
  color: hsl(var(--muted) / 0.3);
}

.text-muted\/35{
  color: hsl(var(--muted) / 0.35);
}

.text-muted\/40{
  color: hsl(var(--muted) / 0.4);
}

.text-muted\/45{
  color: hsl(var(--muted) / 0.45);
}

.text-muted\/5{
  color: hsl(var(--muted) / 0.05);
}

.text-muted\/50{
  color: hsl(var(--muted) / 0.5);
}

.text-muted\/55{
  color: hsl(var(--muted) / 0.55);
}

.text-muted\/60{
  color: hsl(var(--muted) / 0.6);
}

.text-muted\/65{
  color: hsl(var(--muted) / 0.65);
}

.text-muted\/70{
  color: hsl(var(--muted) / 0.7);
}

.text-muted\/75{
  color: hsl(var(--muted) / 0.75);
}

.text-muted\/80{
  color: hsl(var(--muted) / 0.8);
}

.text-muted\/85{
  color: hsl(var(--muted) / 0.85);
}

.text-muted\/90{
  color: hsl(var(--muted) / 0.9);
}

.text-muted\/95{
  color: hsl(var(--muted) / 0.95);
}

.text-primary{
  --tw-text-opacity: 1;
  color: hsl(var(--primary) / var(--tw-text-opacity));
}

.text-primary-foreground{
  --tw-text-opacity: 1;
  color: hsl(var(--primary-foreground) / var(--tw-text-opacity));
}

.text-primary-foreground\/0{
  color: hsl(var(--primary-foreground) / 0);
}

.text-primary-foreground\/10{
  color: hsl(var(--primary-foreground) / 0.1);
}

.text-primary-foreground\/100{
  color: hsl(var(--primary-foreground) / 1);
}

.text-primary-foreground\/15{
  color: hsl(var(--primary-foreground) / 0.15);
}

.text-primary-foreground\/20{
  color: hsl(var(--primary-foreground) / 0.2);
}

.text-primary-foreground\/25{
  color: hsl(var(--primary-foreground) / 0.25);
}

.text-primary-foreground\/30{
  color: hsl(var(--primary-foreground) / 0.3);
}

.text-primary-foreground\/35{
  color: hsl(var(--primary-foreground) / 0.35);
}

.text-primary-foreground\/40{
  color: hsl(var(--primary-foreground) / 0.4);
}

.text-primary-foreground\/45{
  color: hsl(var(--primary-foreground) / 0.45);
}

.text-primary-foreground\/5{
  color: hsl(var(--primary-foreground) / 0.05);
}

.text-primary-foreground\/50{
  color: hsl(var(--primary-foreground) / 0.5);
}

.text-primary-foreground\/55{
  color: hsl(var(--primary-foreground) / 0.55);
}

.text-primary-foreground\/60{
  color: hsl(var(--primary-foreground) / 0.6);
}

.text-primary-foreground\/65{
  color: hsl(var(--primary-foreground) / 0.65);
}

.text-primary-foreground\/70{
  color: hsl(var(--primary-foreground) / 0.7);
}

.text-primary-foreground\/75{
  color: hsl(var(--primary-foreground) / 0.75);
}

.text-primary-foreground\/80{
  color: hsl(var(--primary-foreground) / 0.8);
}

.text-primary-foreground\/85{
  color: hsl(var(--primary-foreground) / 0.85);
}

.text-primary-foreground\/90{
  color: hsl(var(--primary-foreground) / 0.9);
}

.text-primary-foreground\/95{
  color: hsl(var(--primary-foreground) / 0.95);
}

.text-primary\/0{
  color: hsl(var(--primary) / 0);
}

.text-primary\/10{
  color: hsl(var(--primary) / 0.1);
}

.text-primary\/100{
  color: hsl(var(--primary) / 1);
}

.text-primary\/15{
  color: hsl(var(--primary) / 0.15);
}

.text-primary\/20{
  color: hsl(var(--primary) / 0.2);
}

.text-primary\/25{
  color: hsl(var(--primary) / 0.25);
}

.text-primary\/30{
  color: hsl(var(--primary) / 0.3);
}

.text-primary\/35{
  color: hsl(var(--primary) / 0.35);
}

.text-primary\/40{
  color: hsl(var(--primary) / 0.4);
}

.text-primary\/45{
  color: hsl(var(--primary) / 0.45);
}

.text-primary\/5{
  color: hsl(var(--primary) / 0.05);
}

.text-primary\/50{
  color: hsl(var(--primary) / 0.5);
}

.text-primary\/55{
  color: hsl(var(--primary) / 0.55);
}

.text-primary\/60{
  color: hsl(var(--primary) / 0.6);
}

.text-primary\/65{
  color: hsl(var(--primary) / 0.65);
}

.text-primary\/70{
  color: hsl(var(--primary) / 0.7);
}

.text-primary\/75{
  color: hsl(var(--primary) / 0.75);
}

.text-primary\/80{
  color: hsl(var(--primary) / 0.8);
}

.text-primary\/85{
  color: hsl(var(--primary) / 0.85);
}

.text-primary\/90{
  color: hsl(var(--primary) / 0.9);
}

.text-primary\/95{
  color: hsl(var(--primary) / 0.95);
}

.text-success{
  --tw-text-opacity: 1;
  color: hsl(var(--success) / var(--tw-text-opacity));
}

.text-success\/0{
  color: hsl(var(--success) / 0);
}

.text-success\/10{
  color: hsl(var(--success) / 0.1);
}

.text-success\/100{
  color: hsl(var(--success) / 1);
}

.text-success\/15{
  color: hsl(var(--success) / 0.15);
}

.text-success\/20{
  color: hsl(var(--success) / 0.2);
}

.text-success\/25{
  color: hsl(var(--success) / 0.25);
}

.text-success\/30{
  color: hsl(var(--success) / 0.3);
}

.text-success\/35{
  color: hsl(var(--success) / 0.35);
}

.text-success\/40{
  color: hsl(var(--success) / 0.4);
}

.text-success\/45{
  color: hsl(var(--success) / 0.45);
}

.text-success\/5{
  color: hsl(var(--success) / 0.05);
}

.text-success\/50{
  color: hsl(var(--success) / 0.5);
}

.text-success\/55{
  color: hsl(var(--success) / 0.55);
}

.text-success\/60{
  color: hsl(var(--success) / 0.6);
}

.text-success\/65{
  color: hsl(var(--success) / 0.65);
}

.text-success\/70{
  color: hsl(var(--success) / 0.7);
}

.text-success\/75{
  color: hsl(var(--success) / 0.75);
}

.text-success\/80{
  color: hsl(var(--success) / 0.8);
}

.text-success\/85{
  color: hsl(var(--success) / 0.85);
}

.text-success\/90{
  color: hsl(var(--success) / 0.9);
}

.text-success\/95{
  color: hsl(var(--success) / 0.95);
}

.text-surface{
  --tw-text-opacity: 1;
  color: hsl(var(--surface) / var(--tw-text-opacity));
}

.text-surface-2{
  --tw-text-opacity: 1;
  color: hsl(var(--surface-2) / var(--tw-text-opacity));
}

.text-surface-2\/0{
  color: hsl(var(--surface-2) / 0);
}

.text-surface-2\/10{
  color: hsl(var(--surface-2) / 0.1);
}

.text-surface-2\/100{
  color: hsl(var(--surface-2) / 1);
}

.text-surface-2\/15{
  color: hsl(var(--surface-2) / 0.15);
}

.text-surface-2\/20{
  color: hsl(var(--surface-2) / 0.2);
}

.text-surface-2\/25{
  color: hsl(var(--surface-2) / 0.25);
}

.text-surface-2\/30{
  color: hsl(var(--surface-2) / 0.3);
}

.text-surface-2\/35{
  color: hsl(var(--surface-2) / 0.35);
}

.text-surface-2\/40{
  color: hsl(var(--surface-2) / 0.4);
}

.text-surface-2\/45{
  color: hsl(var(--surface-2) / 0.45);
}

.text-surface-2\/5{
  color: hsl(var(--surface-2) / 0.05);
}

.text-surface-2\/50{
  color: hsl(var(--surface-2) / 0.5);
}

.text-surface-2\/55{
  color: hsl(var(--surface-2) / 0.55);
}

.text-surface-2\/60{
  color: hsl(var(--surface-2) / 0.6);
}

.text-surface-2\/65{
  color: hsl(var(--surface-2) / 0.65);
}

.text-surface-2\/70{
  color: hsl(var(--surface-2) / 0.7);
}

.text-surface-2\/75{
  color: hsl(var(--surface-2) / 0.75);
}

.text-surface-2\/80{
  color: hsl(var(--surface-2) / 0.8);
}

.text-surface-2\/85{
  color: hsl(var(--surface-2) / 0.85);
}

.text-surface-2\/90{
  color: hsl(var(--surface-2) / 0.9);
}

.text-surface-2\/95{
  color: hsl(var(--surface-2) / 0.95);
}

.text-surface\/0{
  color: hsl(var(--surface) / 0);
}

.text-surface\/10{
  color: hsl(var(--surface) / 0.1);
}

.text-surface\/100{
  color: hsl(var(--surface) / 1);
}

.text-surface\/15{
  color: hsl(var(--surface) / 0.15);
}

.text-surface\/20{
  color: hsl(var(--surface) / 0.2);
}

.text-surface\/25{
  color: hsl(var(--surface) / 0.25);
}

.text-surface\/30{
  color: hsl(var(--surface) / 0.3);
}

.text-surface\/35{
  color: hsl(var(--surface) / 0.35);
}

.text-surface\/40{
  color: hsl(var(--surface) / 0.4);
}

.text-surface\/45{
  color: hsl(var(--surface) / 0.45);
}

.text-surface\/5{
  color: hsl(var(--surface) / 0.05);
}

.text-surface\/50{
  color: hsl(var(--surface) / 0.5);
}

.text-surface\/55{
  color: hsl(var(--surface) / 0.55);
}

.text-surface\/60{
  color: hsl(var(--surface) / 0.6);
}

.text-surface\/65{
  color: hsl(var(--surface) / 0.65);
}

.text-surface\/70{
  color: hsl(var(--surface) / 0.7);
}

.text-surface\/75{
  color: hsl(var(--surface) / 0.75);
}

.text-surface\/80{
  color: hsl(var(--surface) / 0.8);
}

.text-surface\/85{
  color: hsl(var(--surface) / 0.85);
}

.text-surface\/90{
  color: hsl(var(--surface) / 0.9);
}

.text-surface\/95{
  color: hsl(var(--surface) / 0.95);
}

.text-tertiary{
  --tw-text-opacity: 1;
  color: hsl(var(--tertiary) / var(--tw-text-opacity));
}

.text-tertiary\/0{
  color: hsl(var(--tertiary) / 0);
}

.text-tertiary\/10{
  color: hsl(var(--tertiary) / 0.1);
}

.text-tertiary\/100{
  color: hsl(var(--tertiary) / 1);
}

.text-tertiary\/15{
  color: hsl(var(--tertiary) / 0.15);
}

.text-tertiary\/20{
  color: hsl(var(--tertiary) / 0.2);
}

.text-tertiary\/25{
  color: hsl(var(--tertiary) / 0.25);
}

.text-tertiary\/30{
  color: hsl(var(--tertiary) / 0.3);
}

.text-tertiary\/35{
  color: hsl(var(--tertiary) / 0.35);
}

.text-tertiary\/40{
  color: hsl(var(--tertiary) / 0.4);
}

.text-tertiary\/45{
  color: hsl(var(--tertiary) / 0.45);
}

.text-tertiary\/5{
  color: hsl(var(--tertiary) / 0.05);
}

.text-tertiary\/50{
  color: hsl(var(--tertiary) / 0.5);
}

.text-tertiary\/55{
  color: hsl(var(--tertiary) / 0.55);
}

.text-tertiary\/60{
  color: hsl(var(--tertiary) / 0.6);
}

.text-tertiary\/65{
  color: hsl(var(--tertiary) / 0.65);
}

.text-tertiary\/70{
  color: hsl(var(--tertiary) / 0.7);
}

.text-tertiary\/75{
  color: hsl(var(--tertiary) / 0.75);
}

.text-tertiary\/80{
  color: hsl(var(--tertiary) / 0.8);
}

.text-tertiary\/85{
  color: hsl(var(--tertiary) / 0.85);
}

.text-tertiary\/90{
  color: hsl(var(--tertiary) / 0.9);
}

.text-tertiary\/95{
  color: hsl(var(--tertiary) / 0.95);
}

.text-warning{
  --tw-text-opacity: 1;
  color: hsl(var(--warning) / var(--tw-text-opacity));
}

.text-warning\/0{
  color: hsl(var(--warning) / 0);
}

.text-warning\/10{
  color: hsl(var(--warning) / 0.1);
}

.text-warning\/100{
  color: hsl(var(--warning) / 1);
}

.text-warning\/15{
  color: hsl(var(--warning) / 0.15);
}

.text-warning\/20{
  color: hsl(var(--warning) / 0.2);
}

.text-warning\/25{
  color: hsl(var(--warning) / 0.25);
}

.text-warning\/30{
  color: hsl(var(--warning) / 0.3);
}

.text-warning\/35{
  color: hsl(var(--warning) / 0.35);
}

.text-warning\/40{
  color: hsl(var(--warning) / 0.4);
}

.text-warning\/45{
  color: hsl(var(--warning) / 0.45);
}

.text-warning\/5{
  color: hsl(var(--warning) / 0.05);
}

.text-warning\/50{
  color: hsl(var(--warning) / 0.5);
}

.text-warning\/55{
  color: hsl(var(--warning) / 0.55);
}

.text-warning\/60{
  color: hsl(var(--warning) / 0.6);
}

.text-warning\/65{
  color: hsl(var(--warning) / 0.65);
}

.text-warning\/70{
  color: hsl(var(--warning) / 0.7);
}

.text-warning\/75{
  color: hsl(var(--warning) / 0.75);
}

.text-warning\/80{
  color: hsl(var(--warning) / 0.8);
}

.text-warning\/85{
  color: hsl(var(--warning) / 0.85);
}

.text-warning\/90{
  color: hsl(var(--warning) / 0.9);
}

.text-warning\/95{
  color: hsl(var(--warning) / 0.95);
}

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

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

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

.underline{
  text-decoration-line: underline;
}

.antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.opacity-0{
  opacity: 0;
}

.opacity-100{
  opacity: 1;
}

.opacity-20{
  opacity: 0.2;
}

.opacity-30{
  opacity: 0.3;
}

.opacity-50{
  opacity: 0.5;
}

.opacity-60{
  opacity: 0.6;
}

.opacity-70{
  opacity: 0.7;
}

.opacity-\[0\.07\]{
  opacity: 0.07;
}

.opacity-\[0\.14\]{
  opacity: 0.14;
}

.mix-blend-difference{
  mix-blend-mode: difference;
}

.shadow-\[0_6px_20px_-6px_color-mix\(in_oklch\2c var\(--ink\)_45\%\2c transparent\)\]{
  --tw-shadow: 0 6px 20px -6px color-mix(in oklch,var(--ink) 45%,transparent);
  --tw-shadow-colored: 0 6px 20px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-panel{
  --tw-shadow: var(--shadow-panel);
  --tw-shadow-colored: var(--shadow-panel);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-primary{
  --tw-shadow: var(--shadow-primary);
  --tw-shadow-colored: var(--shadow-primary);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-primary-sm{
  --tw-shadow: var(--shadow-primary-sm);
  --tw-shadow-colored: var(--shadow-primary-sm);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-primary{
  --tw-shadow-color: hsl(var(--primary) / 1);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.outline{
  outline-style: solid;
}

.ring{
  --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(3px + 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);
}

.ring-accent{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--accent) / var(--tw-ring-opacity));
}

.ring-accent-foreground{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--accent-foreground) / var(--tw-ring-opacity));
}

.ring-accent-foreground\/0{
  --tw-ring-color: hsl(var(--accent-foreground) / 0);
}

.ring-accent-foreground\/10{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.1);
}

.ring-accent-foreground\/100{
  --tw-ring-color: hsl(var(--accent-foreground) / 1);
}

.ring-accent-foreground\/15{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.15);
}

.ring-accent-foreground\/20{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.2);
}

.ring-accent-foreground\/25{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.25);
}

.ring-accent-foreground\/30{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.3);
}

.ring-accent-foreground\/35{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.35);
}

.ring-accent-foreground\/40{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.4);
}

.ring-accent-foreground\/45{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.45);
}

.ring-accent-foreground\/5{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.05);
}

.ring-accent-foreground\/50{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.5);
}

.ring-accent-foreground\/55{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.55);
}

.ring-accent-foreground\/60{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.6);
}

.ring-accent-foreground\/65{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.65);
}

.ring-accent-foreground\/70{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.7);
}

.ring-accent-foreground\/75{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.75);
}

.ring-accent-foreground\/80{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.8);
}

.ring-accent-foreground\/85{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.85);
}

.ring-accent-foreground\/90{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.9);
}

.ring-accent-foreground\/95{
  --tw-ring-color: hsl(var(--accent-foreground) / 0.95);
}

.ring-accent\/0{
  --tw-ring-color: hsl(var(--accent) / 0);
}

.ring-accent\/10{
  --tw-ring-color: hsl(var(--accent) / 0.1);
}

.ring-accent\/100{
  --tw-ring-color: hsl(var(--accent) / 1);
}

.ring-accent\/15{
  --tw-ring-color: hsl(var(--accent) / 0.15);
}

.ring-accent\/20{
  --tw-ring-color: hsl(var(--accent) / 0.2);
}

.ring-accent\/25{
  --tw-ring-color: hsl(var(--accent) / 0.25);
}

.ring-accent\/30{
  --tw-ring-color: hsl(var(--accent) / 0.3);
}

.ring-accent\/35{
  --tw-ring-color: hsl(var(--accent) / 0.35);
}

.ring-accent\/40{
  --tw-ring-color: hsl(var(--accent) / 0.4);
}

.ring-accent\/45{
  --tw-ring-color: hsl(var(--accent) / 0.45);
}

.ring-accent\/5{
  --tw-ring-color: hsl(var(--accent) / 0.05);
}

.ring-accent\/50{
  --tw-ring-color: hsl(var(--accent) / 0.5);
}

.ring-accent\/55{
  --tw-ring-color: hsl(var(--accent) / 0.55);
}

.ring-accent\/60{
  --tw-ring-color: hsl(var(--accent) / 0.6);
}

.ring-accent\/65{
  --tw-ring-color: hsl(var(--accent) / 0.65);
}

.ring-accent\/70{
  --tw-ring-color: hsl(var(--accent) / 0.7);
}

.ring-accent\/75{
  --tw-ring-color: hsl(var(--accent) / 0.75);
}

.ring-accent\/80{
  --tw-ring-color: hsl(var(--accent) / 0.8);
}

.ring-accent\/85{
  --tw-ring-color: hsl(var(--accent) / 0.85);
}

.ring-accent\/90{
  --tw-ring-color: hsl(var(--accent) / 0.9);
}

.ring-accent\/95{
  --tw-ring-color: hsl(var(--accent) / 0.95);
}

.ring-cta{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--cta) / var(--tw-ring-opacity));
}

.ring-cta-foreground{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--cta-foreground) / var(--tw-ring-opacity));
}

.ring-cta-foreground\/0{
  --tw-ring-color: hsl(var(--cta-foreground) / 0);
}

.ring-cta-foreground\/10{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.1);
}

.ring-cta-foreground\/100{
  --tw-ring-color: hsl(var(--cta-foreground) / 1);
}

.ring-cta-foreground\/15{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.15);
}

.ring-cta-foreground\/20{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.2);
}

.ring-cta-foreground\/25{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.25);
}

.ring-cta-foreground\/30{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.3);
}

.ring-cta-foreground\/35{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.35);
}

.ring-cta-foreground\/40{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.4);
}

.ring-cta-foreground\/45{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.45);
}

.ring-cta-foreground\/5{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.05);
}

.ring-cta-foreground\/50{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.5);
}

.ring-cta-foreground\/55{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.55);
}

.ring-cta-foreground\/60{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.6);
}

.ring-cta-foreground\/65{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.65);
}

.ring-cta-foreground\/70{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.7);
}

.ring-cta-foreground\/75{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.75);
}

.ring-cta-foreground\/80{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.8);
}

.ring-cta-foreground\/85{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.85);
}

.ring-cta-foreground\/90{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.9);
}

.ring-cta-foreground\/95{
  --tw-ring-color: hsl(var(--cta-foreground) / 0.95);
}

.ring-cta-muted{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--cta-muted) / var(--tw-ring-opacity));
}

.ring-cta-muted\/0{
  --tw-ring-color: hsl(var(--cta-muted) / 0);
}

.ring-cta-muted\/10{
  --tw-ring-color: hsl(var(--cta-muted) / 0.1);
}

.ring-cta-muted\/100{
  --tw-ring-color: hsl(var(--cta-muted) / 1);
}

.ring-cta-muted\/15{
  --tw-ring-color: hsl(var(--cta-muted) / 0.15);
}

.ring-cta-muted\/20{
  --tw-ring-color: hsl(var(--cta-muted) / 0.2);
}

.ring-cta-muted\/25{
  --tw-ring-color: hsl(var(--cta-muted) / 0.25);
}

.ring-cta-muted\/30{
  --tw-ring-color: hsl(var(--cta-muted) / 0.3);
}

.ring-cta-muted\/35{
  --tw-ring-color: hsl(var(--cta-muted) / 0.35);
}

.ring-cta-muted\/40{
  --tw-ring-color: hsl(var(--cta-muted) / 0.4);
}

.ring-cta-muted\/45{
  --tw-ring-color: hsl(var(--cta-muted) / 0.45);
}

.ring-cta-muted\/5{
  --tw-ring-color: hsl(var(--cta-muted) / 0.05);
}

.ring-cta-muted\/50{
  --tw-ring-color: hsl(var(--cta-muted) / 0.5);
}

.ring-cta-muted\/55{
  --tw-ring-color: hsl(var(--cta-muted) / 0.55);
}

.ring-cta-muted\/60{
  --tw-ring-color: hsl(var(--cta-muted) / 0.6);
}

.ring-cta-muted\/65{
  --tw-ring-color: hsl(var(--cta-muted) / 0.65);
}

.ring-cta-muted\/70{
  --tw-ring-color: hsl(var(--cta-muted) / 0.7);
}

.ring-cta-muted\/75{
  --tw-ring-color: hsl(var(--cta-muted) / 0.75);
}

.ring-cta-muted\/80{
  --tw-ring-color: hsl(var(--cta-muted) / 0.8);
}

.ring-cta-muted\/85{
  --tw-ring-color: hsl(var(--cta-muted) / 0.85);
}

.ring-cta-muted\/90{
  --tw-ring-color: hsl(var(--cta-muted) / 0.9);
}

.ring-cta-muted\/95{
  --tw-ring-color: hsl(var(--cta-muted) / 0.95);
}

.ring-cta\/0{
  --tw-ring-color: hsl(var(--cta) / 0);
}

.ring-cta\/10{
  --tw-ring-color: hsl(var(--cta) / 0.1);
}

.ring-cta\/100{
  --tw-ring-color: hsl(var(--cta) / 1);
}

.ring-cta\/15{
  --tw-ring-color: hsl(var(--cta) / 0.15);
}

.ring-cta\/20{
  --tw-ring-color: hsl(var(--cta) / 0.2);
}

.ring-cta\/25{
  --tw-ring-color: hsl(var(--cta) / 0.25);
}

.ring-cta\/30{
  --tw-ring-color: hsl(var(--cta) / 0.3);
}

.ring-cta\/35{
  --tw-ring-color: hsl(var(--cta) / 0.35);
}

.ring-cta\/40{
  --tw-ring-color: hsl(var(--cta) / 0.4);
}

.ring-cta\/45{
  --tw-ring-color: hsl(var(--cta) / 0.45);
}

.ring-cta\/5{
  --tw-ring-color: hsl(var(--cta) / 0.05);
}

.ring-cta\/50{
  --tw-ring-color: hsl(var(--cta) / 0.5);
}

.ring-cta\/55{
  --tw-ring-color: hsl(var(--cta) / 0.55);
}

.ring-cta\/60{
  --tw-ring-color: hsl(var(--cta) / 0.6);
}

.ring-cta\/65{
  --tw-ring-color: hsl(var(--cta) / 0.65);
}

.ring-cta\/70{
  --tw-ring-color: hsl(var(--cta) / 0.7);
}

.ring-cta\/75{
  --tw-ring-color: hsl(var(--cta) / 0.75);
}

.ring-cta\/80{
  --tw-ring-color: hsl(var(--cta) / 0.8);
}

.ring-cta\/85{
  --tw-ring-color: hsl(var(--cta) / 0.85);
}

.ring-cta\/90{
  --tw-ring-color: hsl(var(--cta) / 0.9);
}

.ring-cta\/95{
  --tw-ring-color: hsl(var(--cta) / 0.95);
}

.ring-destructive{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--destructive) / var(--tw-ring-opacity));
}

.ring-destructive-foreground{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--destructive-foreground) / var(--tw-ring-opacity));
}

.ring-destructive-foreground\/0{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0);
}

.ring-destructive-foreground\/10{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.1);
}

.ring-destructive-foreground\/100{
  --tw-ring-color: hsl(var(--destructive-foreground) / 1);
}

.ring-destructive-foreground\/15{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.15);
}

.ring-destructive-foreground\/20{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.2);
}

.ring-destructive-foreground\/25{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.25);
}

.ring-destructive-foreground\/30{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.3);
}

.ring-destructive-foreground\/35{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.35);
}

.ring-destructive-foreground\/40{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.4);
}

.ring-destructive-foreground\/45{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.45);
}

.ring-destructive-foreground\/5{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.05);
}

.ring-destructive-foreground\/50{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.5);
}

.ring-destructive-foreground\/55{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.55);
}

.ring-destructive-foreground\/60{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.6);
}

.ring-destructive-foreground\/65{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.65);
}

.ring-destructive-foreground\/70{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.7);
}

.ring-destructive-foreground\/75{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.75);
}

.ring-destructive-foreground\/80{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.8);
}

.ring-destructive-foreground\/85{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.85);
}

.ring-destructive-foreground\/90{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.9);
}

.ring-destructive-foreground\/95{
  --tw-ring-color: hsl(var(--destructive-foreground) / 0.95);
}

.ring-destructive\/0{
  --tw-ring-color: hsl(var(--destructive) / 0);
}

.ring-destructive\/10{
  --tw-ring-color: hsl(var(--destructive) / 0.1);
}

.ring-destructive\/100{
  --tw-ring-color: hsl(var(--destructive) / 1);
}

.ring-destructive\/15{
  --tw-ring-color: hsl(var(--destructive) / 0.15);
}

.ring-destructive\/20{
  --tw-ring-color: hsl(var(--destructive) / 0.2);
}

.ring-destructive\/25{
  --tw-ring-color: hsl(var(--destructive) / 0.25);
}

.ring-destructive\/30{
  --tw-ring-color: hsl(var(--destructive) / 0.3);
}

.ring-destructive\/35{
  --tw-ring-color: hsl(var(--destructive) / 0.35);
}

.ring-destructive\/40{
  --tw-ring-color: hsl(var(--destructive) / 0.4);
}

.ring-destructive\/45{
  --tw-ring-color: hsl(var(--destructive) / 0.45);
}

.ring-destructive\/5{
  --tw-ring-color: hsl(var(--destructive) / 0.05);
}

.ring-destructive\/50{
  --tw-ring-color: hsl(var(--destructive) / 0.5);
}

.ring-destructive\/55{
  --tw-ring-color: hsl(var(--destructive) / 0.55);
}

.ring-destructive\/60{
  --tw-ring-color: hsl(var(--destructive) / 0.6);
}

.ring-destructive\/65{
  --tw-ring-color: hsl(var(--destructive) / 0.65);
}

.ring-destructive\/70{
  --tw-ring-color: hsl(var(--destructive) / 0.7);
}

.ring-destructive\/75{
  --tw-ring-color: hsl(var(--destructive) / 0.75);
}

.ring-destructive\/80{
  --tw-ring-color: hsl(var(--destructive) / 0.8);
}

.ring-destructive\/85{
  --tw-ring-color: hsl(var(--destructive) / 0.85);
}

.ring-destructive\/90{
  --tw-ring-color: hsl(var(--destructive) / 0.9);
}

.ring-destructive\/95{
  --tw-ring-color: hsl(var(--destructive) / 0.95);
}

.ring-muted{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--muted) / var(--tw-ring-opacity));
}

.ring-muted-foreground{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--muted-foreground) / var(--tw-ring-opacity));
}

.ring-muted-foreground\/0{
  --tw-ring-color: hsl(var(--muted-foreground) / 0);
}

.ring-muted-foreground\/10{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.1);
}

.ring-muted-foreground\/100{
  --tw-ring-color: hsl(var(--muted-foreground) / 1);
}

.ring-muted-foreground\/15{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.15);
}

.ring-muted-foreground\/20{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.2);
}

.ring-muted-foreground\/25{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.25);
}

.ring-muted-foreground\/30{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.3);
}

.ring-muted-foreground\/35{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.35);
}

.ring-muted-foreground\/40{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.4);
}

.ring-muted-foreground\/45{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.45);
}

.ring-muted-foreground\/5{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.05);
}

.ring-muted-foreground\/50{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.5);
}

.ring-muted-foreground\/55{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.55);
}

.ring-muted-foreground\/60{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.6);
}

.ring-muted-foreground\/65{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.65);
}

.ring-muted-foreground\/70{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.7);
}

.ring-muted-foreground\/75{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.75);
}

.ring-muted-foreground\/80{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.8);
}

.ring-muted-foreground\/85{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.85);
}

.ring-muted-foreground\/90{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.9);
}

.ring-muted-foreground\/95{
  --tw-ring-color: hsl(var(--muted-foreground) / 0.95);
}

.ring-muted\/0{
  --tw-ring-color: hsl(var(--muted) / 0);
}

.ring-muted\/10{
  --tw-ring-color: hsl(var(--muted) / 0.1);
}

.ring-muted\/100{
  --tw-ring-color: hsl(var(--muted) / 1);
}

.ring-muted\/15{
  --tw-ring-color: hsl(var(--muted) / 0.15);
}

.ring-muted\/20{
  --tw-ring-color: hsl(var(--muted) / 0.2);
}

.ring-muted\/25{
  --tw-ring-color: hsl(var(--muted) / 0.25);
}

.ring-muted\/30{
  --tw-ring-color: hsl(var(--muted) / 0.3);
}

.ring-muted\/35{
  --tw-ring-color: hsl(var(--muted) / 0.35);
}

.ring-muted\/40{
  --tw-ring-color: hsl(var(--muted) / 0.4);
}

.ring-muted\/45{
  --tw-ring-color: hsl(var(--muted) / 0.45);
}

.ring-muted\/5{
  --tw-ring-color: hsl(var(--muted) / 0.05);
}

.ring-muted\/50{
  --tw-ring-color: hsl(var(--muted) / 0.5);
}

.ring-muted\/55{
  --tw-ring-color: hsl(var(--muted) / 0.55);
}

.ring-muted\/60{
  --tw-ring-color: hsl(var(--muted) / 0.6);
}

.ring-muted\/65{
  --tw-ring-color: hsl(var(--muted) / 0.65);
}

.ring-muted\/70{
  --tw-ring-color: hsl(var(--muted) / 0.7);
}

.ring-muted\/75{
  --tw-ring-color: hsl(var(--muted) / 0.75);
}

.ring-muted\/80{
  --tw-ring-color: hsl(var(--muted) / 0.8);
}

.ring-muted\/85{
  --tw-ring-color: hsl(var(--muted) / 0.85);
}

.ring-muted\/90{
  --tw-ring-color: hsl(var(--muted) / 0.9);
}

.ring-muted\/95{
  --tw-ring-color: hsl(var(--muted) / 0.95);
}

.ring-primary{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--primary) / var(--tw-ring-opacity));
}

.ring-primary-foreground{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--primary-foreground) / var(--tw-ring-opacity));
}

.ring-primary-foreground\/0{
  --tw-ring-color: hsl(var(--primary-foreground) / 0);
}

.ring-primary-foreground\/10{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.1);
}

.ring-primary-foreground\/100{
  --tw-ring-color: hsl(var(--primary-foreground) / 1);
}

.ring-primary-foreground\/15{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.15);
}

.ring-primary-foreground\/20{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.2);
}

.ring-primary-foreground\/25{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.25);
}

.ring-primary-foreground\/30{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.3);
}

.ring-primary-foreground\/35{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.35);
}

.ring-primary-foreground\/40{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.4);
}

.ring-primary-foreground\/45{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.45);
}

.ring-primary-foreground\/5{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.05);
}

.ring-primary-foreground\/50{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.5);
}

.ring-primary-foreground\/55{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.55);
}

.ring-primary-foreground\/60{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.6);
}

.ring-primary-foreground\/65{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.65);
}

.ring-primary-foreground\/70{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.7);
}

.ring-primary-foreground\/75{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.75);
}

.ring-primary-foreground\/80{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.8);
}

.ring-primary-foreground\/85{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.85);
}

.ring-primary-foreground\/90{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.9);
}

.ring-primary-foreground\/95{
  --tw-ring-color: hsl(var(--primary-foreground) / 0.95);
}

.ring-primary\/0{
  --tw-ring-color: hsl(var(--primary) / 0);
}

.ring-primary\/10{
  --tw-ring-color: hsl(var(--primary) / 0.1);
}

.ring-primary\/100{
  --tw-ring-color: hsl(var(--primary) / 1);
}

.ring-primary\/15{
  --tw-ring-color: hsl(var(--primary) / 0.15);
}

.ring-primary\/20{
  --tw-ring-color: hsl(var(--primary) / 0.2);
}

.ring-primary\/25{
  --tw-ring-color: hsl(var(--primary) / 0.25);
}

.ring-primary\/30{
  --tw-ring-color: hsl(var(--primary) / 0.3);
}

.ring-primary\/35{
  --tw-ring-color: hsl(var(--primary) / 0.35);
}

.ring-primary\/40{
  --tw-ring-color: hsl(var(--primary) / 0.4);
}

.ring-primary\/45{
  --tw-ring-color: hsl(var(--primary) / 0.45);
}

.ring-primary\/5{
  --tw-ring-color: hsl(var(--primary) / 0.05);
}

.ring-primary\/50{
  --tw-ring-color: hsl(var(--primary) / 0.5);
}

.ring-primary\/55{
  --tw-ring-color: hsl(var(--primary) / 0.55);
}

.ring-primary\/60{
  --tw-ring-color: hsl(var(--primary) / 0.6);
}

.ring-primary\/65{
  --tw-ring-color: hsl(var(--primary) / 0.65);
}

.ring-primary\/70{
  --tw-ring-color: hsl(var(--primary) / 0.7);
}

.ring-primary\/75{
  --tw-ring-color: hsl(var(--primary) / 0.75);
}

.ring-primary\/80{
  --tw-ring-color: hsl(var(--primary) / 0.8);
}

.ring-primary\/85{
  --tw-ring-color: hsl(var(--primary) / 0.85);
}

.ring-primary\/90{
  --tw-ring-color: hsl(var(--primary) / 0.9);
}

.ring-primary\/95{
  --tw-ring-color: hsl(var(--primary) / 0.95);
}

.ring-success{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--success) / var(--tw-ring-opacity));
}

.ring-success\/0{
  --tw-ring-color: hsl(var(--success) / 0);
}

.ring-success\/10{
  --tw-ring-color: hsl(var(--success) / 0.1);
}

.ring-success\/100{
  --tw-ring-color: hsl(var(--success) / 1);
}

.ring-success\/15{
  --tw-ring-color: hsl(var(--success) / 0.15);
}

.ring-success\/20{
  --tw-ring-color: hsl(var(--success) / 0.2);
}

.ring-success\/25{
  --tw-ring-color: hsl(var(--success) / 0.25);
}

.ring-success\/30{
  --tw-ring-color: hsl(var(--success) / 0.3);
}

.ring-success\/35{
  --tw-ring-color: hsl(var(--success) / 0.35);
}

.ring-success\/40{
  --tw-ring-color: hsl(var(--success) / 0.4);
}

.ring-success\/45{
  --tw-ring-color: hsl(var(--success) / 0.45);
}

.ring-success\/5{
  --tw-ring-color: hsl(var(--success) / 0.05);
}

.ring-success\/50{
  --tw-ring-color: hsl(var(--success) / 0.5);
}

.ring-success\/55{
  --tw-ring-color: hsl(var(--success) / 0.55);
}

.ring-success\/60{
  --tw-ring-color: hsl(var(--success) / 0.6);
}

.ring-success\/65{
  --tw-ring-color: hsl(var(--success) / 0.65);
}

.ring-success\/70{
  --tw-ring-color: hsl(var(--success) / 0.7);
}

.ring-success\/75{
  --tw-ring-color: hsl(var(--success) / 0.75);
}

.ring-success\/80{
  --tw-ring-color: hsl(var(--success) / 0.8);
}

.ring-success\/85{
  --tw-ring-color: hsl(var(--success) / 0.85);
}

.ring-success\/90{
  --tw-ring-color: hsl(var(--success) / 0.9);
}

.ring-success\/95{
  --tw-ring-color: hsl(var(--success) / 0.95);
}

.ring-surface{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--surface) / var(--tw-ring-opacity));
}

.ring-surface-2{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--surface-2) / var(--tw-ring-opacity));
}

.ring-surface-2\/0{
  --tw-ring-color: hsl(var(--surface-2) / 0);
}

.ring-surface-2\/10{
  --tw-ring-color: hsl(var(--surface-2) / 0.1);
}

.ring-surface-2\/100{
  --tw-ring-color: hsl(var(--surface-2) / 1);
}

.ring-surface-2\/15{
  --tw-ring-color: hsl(var(--surface-2) / 0.15);
}

.ring-surface-2\/20{
  --tw-ring-color: hsl(var(--surface-2) / 0.2);
}

.ring-surface-2\/25{
  --tw-ring-color: hsl(var(--surface-2) / 0.25);
}

.ring-surface-2\/30{
  --tw-ring-color: hsl(var(--surface-2) / 0.3);
}

.ring-surface-2\/35{
  --tw-ring-color: hsl(var(--surface-2) / 0.35);
}

.ring-surface-2\/40{
  --tw-ring-color: hsl(var(--surface-2) / 0.4);
}

.ring-surface-2\/45{
  --tw-ring-color: hsl(var(--surface-2) / 0.45);
}

.ring-surface-2\/5{
  --tw-ring-color: hsl(var(--surface-2) / 0.05);
}

.ring-surface-2\/50{
  --tw-ring-color: hsl(var(--surface-2) / 0.5);
}

.ring-surface-2\/55{
  --tw-ring-color: hsl(var(--surface-2) / 0.55);
}

.ring-surface-2\/60{
  --tw-ring-color: hsl(var(--surface-2) / 0.6);
}

.ring-surface-2\/65{
  --tw-ring-color: hsl(var(--surface-2) / 0.65);
}

.ring-surface-2\/70{
  --tw-ring-color: hsl(var(--surface-2) / 0.7);
}

.ring-surface-2\/75{
  --tw-ring-color: hsl(var(--surface-2) / 0.75);
}

.ring-surface-2\/80{
  --tw-ring-color: hsl(var(--surface-2) / 0.8);
}

.ring-surface-2\/85{
  --tw-ring-color: hsl(var(--surface-2) / 0.85);
}

.ring-surface-2\/90{
  --tw-ring-color: hsl(var(--surface-2) / 0.9);
}

.ring-surface-2\/95{
  --tw-ring-color: hsl(var(--surface-2) / 0.95);
}

.ring-surface\/0{
  --tw-ring-color: hsl(var(--surface) / 0);
}

.ring-surface\/10{
  --tw-ring-color: hsl(var(--surface) / 0.1);
}

.ring-surface\/100{
  --tw-ring-color: hsl(var(--surface) / 1);
}

.ring-surface\/15{
  --tw-ring-color: hsl(var(--surface) / 0.15);
}

.ring-surface\/20{
  --tw-ring-color: hsl(var(--surface) / 0.2);
}

.ring-surface\/25{
  --tw-ring-color: hsl(var(--surface) / 0.25);
}

.ring-surface\/30{
  --tw-ring-color: hsl(var(--surface) / 0.3);
}

.ring-surface\/35{
  --tw-ring-color: hsl(var(--surface) / 0.35);
}

.ring-surface\/40{
  --tw-ring-color: hsl(var(--surface) / 0.4);
}

.ring-surface\/45{
  --tw-ring-color: hsl(var(--surface) / 0.45);
}

.ring-surface\/5{
  --tw-ring-color: hsl(var(--surface) / 0.05);
}

.ring-surface\/50{
  --tw-ring-color: hsl(var(--surface) / 0.5);
}

.ring-surface\/55{
  --tw-ring-color: hsl(var(--surface) / 0.55);
}

.ring-surface\/60{
  --tw-ring-color: hsl(var(--surface) / 0.6);
}

.ring-surface\/65{
  --tw-ring-color: hsl(var(--surface) / 0.65);
}

.ring-surface\/70{
  --tw-ring-color: hsl(var(--surface) / 0.7);
}

.ring-surface\/75{
  --tw-ring-color: hsl(var(--surface) / 0.75);
}

.ring-surface\/80{
  --tw-ring-color: hsl(var(--surface) / 0.8);
}

.ring-surface\/85{
  --tw-ring-color: hsl(var(--surface) / 0.85);
}

.ring-surface\/90{
  --tw-ring-color: hsl(var(--surface) / 0.9);
}

.ring-surface\/95{
  --tw-ring-color: hsl(var(--surface) / 0.95);
}

.ring-tertiary{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--tertiary) / var(--tw-ring-opacity));
}

.ring-tertiary\/0{
  --tw-ring-color: hsl(var(--tertiary) / 0);
}

.ring-tertiary\/10{
  --tw-ring-color: hsl(var(--tertiary) / 0.1);
}

.ring-tertiary\/100{
  --tw-ring-color: hsl(var(--tertiary) / 1);
}

.ring-tertiary\/15{
  --tw-ring-color: hsl(var(--tertiary) / 0.15);
}

.ring-tertiary\/20{
  --tw-ring-color: hsl(var(--tertiary) / 0.2);
}

.ring-tertiary\/25{
  --tw-ring-color: hsl(var(--tertiary) / 0.25);
}

.ring-tertiary\/30{
  --tw-ring-color: hsl(var(--tertiary) / 0.3);
}

.ring-tertiary\/35{
  --tw-ring-color: hsl(var(--tertiary) / 0.35);
}

.ring-tertiary\/40{
  --tw-ring-color: hsl(var(--tertiary) / 0.4);
}

.ring-tertiary\/45{
  --tw-ring-color: hsl(var(--tertiary) / 0.45);
}

.ring-tertiary\/5{
  --tw-ring-color: hsl(var(--tertiary) / 0.05);
}

.ring-tertiary\/50{
  --tw-ring-color: hsl(var(--tertiary) / 0.5);
}

.ring-tertiary\/55{
  --tw-ring-color: hsl(var(--tertiary) / 0.55);
}

.ring-tertiary\/60{
  --tw-ring-color: hsl(var(--tertiary) / 0.6);
}

.ring-tertiary\/65{
  --tw-ring-color: hsl(var(--tertiary) / 0.65);
}

.ring-tertiary\/70{
  --tw-ring-color: hsl(var(--tertiary) / 0.7);
}

.ring-tertiary\/75{
  --tw-ring-color: hsl(var(--tertiary) / 0.75);
}

.ring-tertiary\/80{
  --tw-ring-color: hsl(var(--tertiary) / 0.8);
}

.ring-tertiary\/85{
  --tw-ring-color: hsl(var(--tertiary) / 0.85);
}

.ring-tertiary\/90{
  --tw-ring-color: hsl(var(--tertiary) / 0.9);
}

.ring-tertiary\/95{
  --tw-ring-color: hsl(var(--tertiary) / 0.95);
}

.ring-warning{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--warning) / var(--tw-ring-opacity));
}

.ring-warning\/0{
  --tw-ring-color: hsl(var(--warning) / 0);
}

.ring-warning\/10{
  --tw-ring-color: hsl(var(--warning) / 0.1);
}

.ring-warning\/100{
  --tw-ring-color: hsl(var(--warning) / 1);
}

.ring-warning\/15{
  --tw-ring-color: hsl(var(--warning) / 0.15);
}

.ring-warning\/20{
  --tw-ring-color: hsl(var(--warning) / 0.2);
}

.ring-warning\/25{
  --tw-ring-color: hsl(var(--warning) / 0.25);
}

.ring-warning\/30{
  --tw-ring-color: hsl(var(--warning) / 0.3);
}

.ring-warning\/35{
  --tw-ring-color: hsl(var(--warning) / 0.35);
}

.ring-warning\/40{
  --tw-ring-color: hsl(var(--warning) / 0.4);
}

.ring-warning\/45{
  --tw-ring-color: hsl(var(--warning) / 0.45);
}

.ring-warning\/5{
  --tw-ring-color: hsl(var(--warning) / 0.05);
}

.ring-warning\/50{
  --tw-ring-color: hsl(var(--warning) / 0.5);
}

.ring-warning\/55{
  --tw-ring-color: hsl(var(--warning) / 0.55);
}

.ring-warning\/60{
  --tw-ring-color: hsl(var(--warning) / 0.6);
}

.ring-warning\/65{
  --tw-ring-color: hsl(var(--warning) / 0.65);
}

.ring-warning\/70{
  --tw-ring-color: hsl(var(--warning) / 0.7);
}

.ring-warning\/75{
  --tw-ring-color: hsl(var(--warning) / 0.75);
}

.ring-warning\/80{
  --tw-ring-color: hsl(var(--warning) / 0.8);
}

.ring-warning\/85{
  --tw-ring-color: hsl(var(--warning) / 0.85);
}

.ring-warning\/90{
  --tw-ring-color: hsl(var(--warning) / 0.9);
}

.ring-warning\/95{
  --tw-ring-color: hsl(var(--warning) / 0.95);
}

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

.blur-\[200px\]{
  --tw-blur: blur(200px);
  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);
}

.brightness-110{
  --tw-brightness: brightness(1.1);
  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);
}

.grayscale{
  --tw-grayscale: grayscale(100%);
  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);
}

.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

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

.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  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-500{
  transition-duration: 500ms;
}

.duration-\[1200ms\]{
  transition-duration: 1200ms;
}

.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.text-gradient-accent{
  background: var(--gradient-accent);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.bg-gradient-accent{
  background-image: var(--gradient-accent);
}

.glow-primary{
  box-shadow: var(--shadow-primary);
}

.glow-primary-sm{
  box-shadow: var(--shadow-primary-sm);
}

.label-mono{
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}

/* ============================
   Global overflow protection
   ============================ */

.team-swiper,
.banner-slider,
.cards-carousel-swiper,
.testimonials-swiper {
  max-width: 100%;
}

/* ============================
   Custom Scrollbar — neutro (earthy editorial)
   ============================ */

* {
  scrollbar-width: thin;
  scrollbar-color: hsla(39, 11%, 15%, 0.25) transparent;
}

*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background: hsla(39, 11%, 15%, 0.2);
  border-radius: 999px;
  border: 2px solid hsl(var(--background));
}

*::-webkit-scrollbar-thumb:hover {
  background: hsla(39, 11%, 15%, 0.32);
}

/* ============================
   Theme fixes (formerly separate dist/css/theme-fixes.css)
   Inlined as raw CSS to preserve Tailwind `\:` escape sequences
   ============================ */

/* --- Responsive display --- */

@media (min-width: 640px) {
  .sm\:inline-flex {
    display: inline-flex !important;
  }

  .sm\:hidden {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .md\:hidden {
    display: none !important;
  }

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

@media (min-width: 1024px) {
  .lg\:inline-flex {
    display: inline-flex !important;
  }

  .lg\:hidden {
    display: none !important;
  }

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

  .lg\:block {
    display: block !important;
  }

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

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

/* --- bg-foreground opacity --- */

.bg-foreground\/5,
.hover\:bg-foreground\/5:hover {
  background: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
}

/* --- bg-muted opacity --- */

.bg-muted\/40 {
  background: color-mix(in oklab, hsl(var(--muted)) 40%, transparent);
}

/* --- border-border opacity --- */

.border-border\/60 {
  border-color: color-mix(in oklab, hsl(var(--border)) 60%, transparent);
}

/* --- border-primary opacity --- */

.border-primary\/60,
.hover\:border-primary\/60:hover {
  border-color: color-mix(in oklab, hsl(var(--primary)) 60%, transparent);
}

.border-primary\/50,
.hover\:border-primary\/50:hover {
  border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
}

.border-primary\/40 {
  border-color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
}

.border-primary\/30 {
  border-color: color-mix(in oklab, hsl(var(--primary)) 30%, transparent);
}

.ring-primary\/40 {
  --tw-ring-color: color-mix(in oklab, hsl(var(--primary)) 40%, transparent);
}

/* --- text/background accent opacity --- */

.text-accent\/30 {
  color: color-mix(in oklab, hsl(var(--accent)) 30%, transparent);
}

.group:hover .group-hover\:text-accent\/60 {
  color: color-mix(in oklab, hsl(var(--accent)) 60%, transparent);
}

.text-background\/90 {
  color: color-mix(in oklab, hsl(var(--background)) 90%, transparent);
}

.text-background\/60 {
  color: color-mix(in oklab, hsl(var(--background)) 60%, transparent);
}

.ring-accent\/40 {
  --tw-ring-color: color-mix(in oklab, hsl(var(--accent)) 40%, transparent);
}

/* --- hover background light --- */

.hover-bg-foreground-5:hover,
.hover\:bg-foreground-5:hover {
  background: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
}

.bg-foreground-5 {
  background: color-mix(in oklab, hsl(var(--foreground)) 5%, transparent);
}

/* --- bg-background with opacity --- */

.bg-background {
  background: color-mix(in oklab, hsl(var(--background)) 100%, transparent);
}

.bg-background\/80 {
  background: color-mix(in oklab, hsl(var(--background)) 80%, transparent);
}

.bg-background\/70 {
  background: color-mix(in oklab, hsl(var(--background)) 70%, transparent);
}

.bg-background\/60 {
  background: color-mix(in oklab, hsl(var(--background)) 60%, transparent);
}

.bg-background\/40 {
  background: color-mix(in oklab, hsl(var(--background)) 40%, transparent);
}

.bg-surface\/40 {
  background: color-mix(in oklab, hsl(var(--surface)) 40%, transparent);
}

.bg-background\/\[0\.07\] {
  background: color-mix(in oklab, hsl(var(--background)) 7%, transparent);
}

.hover\:bg-background\/\[0\.07\]:hover {
  background: color-mix(in oklab, hsl(var(--background)) 7%, transparent);
}

.hover\:border-accent\/40:hover {
  border-color: color-mix(in oklab, hsl(var(--accent)) 40%, transparent);
}

/* --- white opacity --- */

.border-white\/20 {
  border-color: color-mix(in srgb, white 20%, transparent);
}

/* --- group hover --- */

.group:hover .group-hover\:text-primary {
  color: hsl(var(--primary));
}

/* --- translate hover --- */

.hover\:-translate-y-1:hover {
  --tw-translate-y: -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));
}

/* ============================
   CKEditor list styling
   ============================ */

ul:not([class]),
ol:not([class]) {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 1rem 0;
}

ul:not([class]) li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 0;
}

ul:not([class]) li::before {
  content: "";
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  background-color: hsl(var(--cta));
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

ol:not([class]) li::marker {
  color: hsl(var(--cta));
  font-weight: 600;
}

/* ============================
    Theme-aware text colors
    ============================ */

.text-accent {
  color: hsl(var(--accent));
}

.placeholder\:text-muted-foreground\/60::-moz-placeholder{
  color: hsl(var(--muted-foreground) / 0.6);
}

.placeholder\:text-muted-foreground\/60::placeholder{
  color: hsl(var(--muted-foreground) / 0.6);
}

.hover\:-translate-y-1:hover{
  --tw-translate-y: -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));
}

.hover\:border-accent:hover{
  --tw-border-opacity: 1;
  border-color: hsl(var(--accent) / var(--tw-border-opacity));
}

.hover\:border-cta\/40:hover{
  border-color: hsl(var(--cta) / 0.4);
}

.hover\:border-foreground\/40:hover{
  border-color: hsl(var(--foreground) / 0.4);
}

.hover\:bg-\[var\(--foreground\)\]:hover{
  background-color: var(--foreground);
}

.hover\:bg-accent:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--accent) / var(--tw-bg-opacity));
}

.hover\:bg-background:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--background) / var(--tw-bg-opacity));
}

.hover\:bg-emerald-900:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(6 78 59 / var(--tw-bg-opacity));
}

.hover\:bg-foreground:hover{
  --tw-bg-opacity: 1;
  background-color: hsl(var(--foreground) / var(--tw-bg-opacity));
}

.hover\:bg-foreground\/5:hover{
  background-color: hsl(var(--foreground) / 0.05);
}

.hover\:bg-muted\/80:hover{
  background-color: hsl(var(--muted) / 0.8);
}

.hover\:text-\[var\(--background\)\]:hover{
  color: var(--background);
}

.hover\:text-accent:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--accent) / var(--tw-text-opacity));
}

.hover\:text-background:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--background) / var(--tw-text-opacity));
}

.hover\:text-emerald-700:hover{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity));
}

.hover\:text-foreground:hover{
  --tw-text-opacity: 1;
  color: hsl(var(--foreground) / var(--tw-text-opacity));
}

.hover\:opacity-100:hover{
  opacity: 1;
}

.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:brightness-110:hover{
  --tw-brightness: brightness(1.1);
  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\:border-accent:focus{
  --tw-border-opacity: 1;
  border-color: hsl(var(--accent) / var(--tw-border-opacity));
}

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

.focus-visible\:ring-2:focus-visible{
  --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-visible\:ring-accent:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: hsl(var(--accent) / var(--tw-ring-opacity));
}

.active\:cursor-grabbing:active{
  cursor: grabbing;
}

.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  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-100{
  opacity: 1;
}

.group:hover .group-hover\:opacity-40{
  opacity: 0.4;
}

@media (min-width: 640px){
  .sm\:inline-flex{
    display: inline-flex;
  }

  .sm\:hidden{
    display: none;
  }

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

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

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

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

  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-\[11vw\]{
    font-size: 11vw;
  }

  .sm\:text-\[12vw\]{
    font-size: 12vw;
  }

  .sm\:text-\[7vw\]{
    font-size: 7vw;
  }

  .sm\:text-\[9vw\]{
    font-size: 9vw;
  }

  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 768px){
  .md\:bottom-14{
    bottom: 3.5rem;
  }

  .md\:bottom-24{
    bottom: 6rem;
  }

  .md\:left-10{
    left: 2.5rem;
  }

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

  .md\:top-auto{
    top: auto;
  }

  .md\:order-1{
    order: 1;
  }

  .md\:order-2{
    order: 2;
  }

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

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

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

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

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

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

  .md\:col-start-4{
    grid-column-start: 4;
  }

  .md\:col-start-9{
    grid-column-start: 9;
  }

  .md\:my-24{
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  .md\:mb-10{
    margin-bottom: 2.5rem;
  }

  .md\:mb-4{
    margin-bottom: 1rem;
  }

  .md\:mb-6{
    margin-bottom: 1.5rem;
  }

  .md\:mb-7{
    margin-bottom: 1.75rem;
  }

  .md\:mb-8{
    margin-bottom: 2rem;
  }

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

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

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

  .md\:block{
    display: block;
  }

  .md\:flex{
    display: flex;
  }

  .md\:grid{
    display: grid;
  }

  .md\:hidden{
    display: none;
  }

  .md\:aspect-auto{
    aspect-ratio: auto;
  }

  .md\:h-\[34vh\]{
    height: 34vh;
  }

  .md\:h-\[62vh\]{
    height: 62vh;
  }

  .md\:h-auto{
    height: auto;
  }

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

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

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

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

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

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

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

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

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

  .md\:gap-10{
    gap: 2.5rem;
  }

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

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

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

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

  .md\:gap-x-12{
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }

  .md\:border-b-0{
    border-bottom-width: 0px;
  }

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

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

  .md\:p-12{
    padding: 3rem;
  }

  .md\:p-16{
    padding: 4rem;
  }

  .md\:p-20{
    padding: 5rem;
  }

  .md\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

  .md\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

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

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

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

  .md\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

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

  .md\:pb-24{
    padding-bottom: 6rem;
  }

  .md\:pr-6{
    padding-right: 1.5rem;
  }

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

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

  .md\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

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

  .md\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-\[10vw\]{
    font-size: 10vw;
  }

  .md\:text-\[4\.5vw\]{
    font-size: 4.5vw;
  }

  .md\:text-\[6vw\]{
    font-size: 6vw;
  }

  .md\:text-\[8vw\]{
    font-size: 8vw;
  }

  .md\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

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

  .md\:mix-blend-difference{
    mix-blend-mode: difference;
  }
}

@media (min-width: 1024px){
  .lg\:left-10{
    left: 2.5rem;
  }

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

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

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

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

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

  .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\:col-span-9{
    grid-column: span 9 / span 9;
  }

  .lg\:block{
    display: block;
  }

  .lg\:flex{
    display: flex;
  }

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

  .lg\:grid{
    display: grid;
  }

  .lg\:hidden{
    display: none;
  }

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

  .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\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1fr_auto\]{
    grid-template-columns: 1fr auto;
  }

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

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

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

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

  .lg\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .lg\:px-16{
    padding-left: 4rem;
    padding-right: 4rem;
  }

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

  .lg\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .lg\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .lg\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

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

@media (min-width: 1280px){
  .xl\:mb-20{
    margin-bottom: 5rem;
  }

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

  .xl\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  .xl\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }
}

@media (min-width: 1536px){
  .\32xl\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }
}

.\[\&\>svg\]\:h-5>svg{
  height: 1.25rem;
}

.\[\&\>svg\]\:w-5>svg{
  width: 1.25rem;
}

.\[\&\>svg\]\:text-cta-foreground>svg{
  --tw-text-opacity: 1;
  color: hsl(var(--cta-foreground) / var(--tw-text-opacity));
}
