/* ═══════════════════════════════════════════════════════════════
   Momentor PC Variant Screens CSS
   v20260413 — 5 variant designs (pc_01~pc_04)
   ═══════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────────────────────
   SECTION 1: Tailwind utility classes (merged superset)
   ─────────────────────────────────────────────────────────────── */
*, ::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:  ;
}

.pointer-events-none {
  pointer-events: none;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.inset-0 {
  inset: 0px;
}
.inset-1\/4 {
  inset: 25%;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-12 {
  bottom: 3rem;
}
.bottom-\[-10\%\] {
  bottom: -10%;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-16 {
  left: 4rem;
}
.left-\[-10\%\] {
  left: -10%;
}
.left-full {
  left: 100%;
}
.right-0 {
  right: 0px;
}
.right-12 {
  right: 3rem;
}
.right-16 {
  right: 4rem;
}
.right-\[10\%\] {
  right: 10%;
}
.right-\[14\.6\%\] {
  right: 14.6%;
}
.right-full {
  right: 100%;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-12 {
  top: 3rem;
}
.top-\[-20\%\] {
  top: -20%;
}
.top-\[14\.6\%\] {
  top: 14.6%;
}
.top-full {
  top: 100%;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-50 {
  z-index: 50;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mb-16 {
  margin-bottom: 4rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.flex {
  display: flex;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-12 {
  height: 3rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-24 {
  height: 6rem;
}
.h-3 {
  height: 0.75rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-8 {
  height: 2rem;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[220px\] {
  height: 220px;
}
.h-\[360px\] {
  height: 360px;
}
.h-\[40vw\] {
  height: 40vw;
}
.h-\[500px\] {
  height: 500px;
}
.h-\[50vw\] {
  height: 50vw;
}
.h-\[640px\] {
  height: 640px;
}
.h-\[780px\] {
  height: 780px;
}
.h-\[800px\] {
  height: 800px;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-12 {
  width: 3rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-3 {
  width: 0.75rem;
}
.w-4 {
  width: 1rem;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[360px\] {
  width: 360px;
}
.w-\[40vw\] {
  width: 40vw;
}
.w-\[500px\] {
  width: 500px;
}
.w-\[50vw\] {
  width: 50vw;
}
.w-\[640px\] {
  width: 640px;
}
.w-\[780px\] {
  width: 780px;
}
.w-\[800px\] {
  width: 800px;
}
.w-full {
  width: 100%;
}
.w-px {
  width: 1px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[640px\] {
  max-width: 640px;
}
.flex-1 {
  flex: 1 1 0%;
}
.origin-bottom {
  transform-origin: bottom;
}
.origin-bottom-right {
  transform-origin: bottom right;
}
.origin-top-left {
  transform-origin: top 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));
}
.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -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));
}
.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));
}
.translate-x-2 {
  --tw-translate-x: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1 {
  --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));
}
.translate-y-1\/2 {
  --tw-translate-y: 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-90 {
  --tw-rotate: -90deg;
  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));
}
.rotate-90 {
  --tw-rotate: 90deg;
  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 pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-glow {

  0%, 100% {
    opacity: 1;
    filter: drop-shadow(0 0 15px rgba(181, 41, 27, 0.5));
  }

  50% {
    opacity: 0.8;
    filter: drop-shadow(0 0 30px rgba(181, 41, 27, 0.8));
  }
}
.animate-pulse-glow {
  animation: pulse-glow 4s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin-slow {
  animation: spin 40s linear infinite;
}
@keyframes spin-reverse {

  to {
    transform: rotate(-360deg);
  }
}
.animate-spin-slow-reverse {
  animation: spin-reverse 75s linear infinite;
}
.animate-spin-slower {
  animation: spin 90s linear infinite;
}
.animate-spin-slower-reverse {
  animation: spin 60s linear infinite reverse;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-12 {
  gap: 3rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-6 {
  gap: 1.5rem;
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-full {
  border-radius: 9999px;
}
.border {
  border-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.border-cinnabar\/20 {
  border-color: rgb(181 41 27 / 0.2);
}
.border-cinnabar\/30 {
  border-color: rgb(181 41 27 / 0.3);
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/\[0\.05\] {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/\[0\.12\] {
  border-color: rgb(255 255 255 / 0.12);
}
.bg-white\/\[0\.05\] {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-cinnabar\/\[0\.07\] {
  background-color: rgb(181 41 27 / 0.07);
}
.bg-background {
  --tw-bg-opacity: 1;
  background-color: rgb(5 5 6 / var(--tw-bg-opacity, 1));
}
.bg-background\/50 {
  background-color: rgb(5 5 6 / 0.5);
}
.bg-cinnabar {
  --tw-bg-opacity: 1;
  background-color: rgb(181 41 27 / var(--tw-bg-opacity, 1));
}
.bg-cinnabar\/\[0\.04\] {
  background-color: rgb(181 41 27 / 0.04);
}
.bg-foreground {
  --tw-bg-opacity: 1;
  background-color: rgb(229 225 213 / var(--tw-bg-opacity, 1));
}
.bg-foreground\/60 {
  background-color: rgb(229 225 213 / 0.6);
}
.bg-foreground\/80 {
  background-color: rgb(229 225 213 / 0.8);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/\[0\.03\] {
  background-color: rgb(255 255 255 / 0.03);
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-white\/20 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-white\/\[0\.01\] {
  --tw-gradient-to: rgb(255 255 255 / 0.01) var(--tw-gradient-to-position);
}
.px-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
.px-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}
.px-16 {
  padding-left: 4rem;
  padding-right: 4rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.text-right {
  text-align: right;
}
.font-mono {
  font-family: "Space Mono", monospace;
}
.font-serif {
  font-family: "Cormorant Garamond", serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[3\.5rem\] {
  font-size: 3.5rem;
}
.text-\[4rem\] {
  font-size: 4rem;
}
.text-\[9px\] {
  font-size: 9px;
}
.font-bold {
  font-weight: 700;
}
.font-light {
  font-weight: 300;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-relaxed {
  line-height: 1.625;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.25em\] {
  letter-spacing: 0.25em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.35em\] {
  letter-spacing: 0.35em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.text-cinnabar {
  --tw-text-opacity: 1;
  color: rgb(181 41 27 / var(--tw-text-opacity, 1));
}
.text-foreground {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.text-foreground\/20 {
  color: rgb(229 225 213 / 0.2);
}
.text-foreground\/30 {
  color: rgb(229 225 213 / 0.3);
}
.text-foreground\/40 {
  color: rgb(229 225 213 / 0.4);
}
.text-foreground\/50 {
  color: rgb(229 225 213 / 0.5);
}
.text-foreground\/60 {
  color: rgb(229 225 213 / 0.6);
}
.text-foreground\/70 {
  color: rgb(229 225 213 / 0.7);
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-40 {
  opacity: 0.4;
}
.mix-blend-screen {
  mix-blend-mode: screen;
}
.mix-blend-overlay {
  mix-blend-mode: overlay;
}
.shadow-\[0_0_10px_rgba\(229\2c 225\2c 213\2c 0\.5\)\] {
  --tw-shadow: 0 0 10px rgba(229,225,213,0.5);
  --tw-shadow-colored: 0 0 10px 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-\[0_0_12px_rgba\(229\2c 225\2c 213\2c 0\.6\)\] {
  --tw-shadow: 0 0 12px rgba(229,225,213,0.6);
  --tw-shadow-colored: 0 0 12px 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-\[0_0_15px_rgba\(181\2c 41\2c 27\2c 0\.8\)\] {
  --tw-shadow: 0 0 15px rgba(181,41,27,0.8);
  --tw-shadow-colored: 0 0 15px 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-\[0_0_20px_rgba\(255\2c 255\2c 255\2c 0\.8\)\] {
  --tw-shadow: 0 0 20px rgba(255,255,255,0.8);
  --tw-shadow-colored: 0 0 20px 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-\[0_0_30px_rgba\(181\2c 41\2c 27\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px rgba(181,41,27,0.3);
  --tw-shadow-colored: 0 0 30px 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-\[0_0_8px_rgba\(229\2c 225\2c 213\2c 0\.3\)\] {
  --tw-shadow: 0 0 8px rgba(229,225,213,0.3);
  --tw-shadow-colored: 0 0 8px 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-\[0_0_8px_rgba\(229\2c 225\2c 213\2c 0\.4\)\] {
  --tw-shadow: 0 0 8px rgba(229,225,213,0.4);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.blur-\[120px\] {
  --tw-blur: blur(120px);
  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-\[150px\] {
  --tw-blur: blur(150px);
  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);
  -webkit-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: 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-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-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;
}
.selection\:bg-cinnabar *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(181 41 27 / var(--tw-bg-opacity, 1));
}
.selection\:text-white *::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.selection\:bg-cinnabar::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(181 41 27 / var(--tw-bg-opacity, 1));
}
.selection\:text-white::selection {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:bg-\[\#c93122\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(201 49 34 / var(--tw-bg-opacity, 1));
}
.hover\:text-cinnabar:hover {
  --tw-text-opacity: 1;
  color: rgb(181 41 27 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:shadow-\[0_0_50px_rgba\(181\2c 41\2c 27\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 50px rgba(181,41,27,0.6);
  --tw-shadow-colored: 0 0 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:translate-x-2 {
  --tw-translate-x: 0.5rem;
  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\:animate-\[shimmer_1\.5s_infinite\] {
  animation: shimmer 1.5s infinite;
}
@media (min-width: 1280px) {

  .xl\:px-24 {
    padding-left: 6rem;
    padding-right: 6rem;
  }

  .xl\:text-\[4\.5rem\] {
    font-size: 4.5rem;
  }

  .xl\:text-\[5rem\] {
    font-size: 5rem;
  }
}
* {
      -ms-overflow-style: none !important;
      scrollbar-width: none !important;
    }
*::-webkit-scrollbar {
      display: none !important;
      width: 0 !important;
      height: 0 !important;
    }
.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;
}
.bottom-\[-20\%\] {
  bottom: -20%;
}
.left-4 {
  left: 1rem;
}
.left-\[20\%\] {
  left: 20%;
}
.right-4 {
  right: 1rem;
}
.top-\[-10\%\] {
  top: -10%;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.block {
  display: block;
}
.grid {
  display: grid;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[600px\] {
  height: 600px;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-\[400px\] {
  width: 400px;
}
.w-\[600px\] {
  width: 600px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.flex-grow {
  flex-grow: 1;
}
.cursor-pointer {
  cursor: pointer;
}
.appearance-none {
  appearance: none;
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.space-y-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * var(--tw-space-y-reverse));
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.rounded-none {
  border-radius: 0px;
}
.border-cinnabar\/50 {
  border-color: rgb(181 41 27 / 0.5);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/\[0\.01\] {
  border-color: rgb(255 255 255 / 0.01);
}
.border-white\/\[0\.02\] {
  border-color: rgb(255 255 255 / 0.02);
}
.border-white\/\[0\.03\] {
  border-color: rgb(255 255 255 / 0.03);
}
.bg-background\/80 {
  background-color: rgb(5 5 6 / 0.8);
}
.bg-cinnabar\/\[0\.03\] {
  background-color: rgb(181 41 27 / 0.03);
}
.bg-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 12 / var(--tw-bg-opacity, 1));
}
.bg-white\/\[0\.02\] {
  background-color: rgb(255 255 255 / 0.02);
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.from-\[\#0a0a0d\]\/90 {
  --tw-gradient-from: rgb(10 10 13 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 13 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-\[\#050506\]\/95 {
  --tw-gradient-to: rgb(5 5 6 / 0.95) var(--tw-gradient-to-position);
}
.p-10 {
  padding: 2.5rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.pl-11 {
  padding-left: 2.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.text-center {
  text-align: center;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.font-normal {
  font-weight: 400;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.opacity-0 {
  opacity: 0;
}
.opacity-60 {
  opacity: 0.6;
}
.shadow-\[0_0_30px_rgba\(181\2c 41\2c 27\2c 0\.25\)\] {
  --tw-shadow: 0 0 30px rgba(181,41,27,0.25);
  --tw-shadow-colored: 0 0 30px 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-\[0_0_50px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 0 50px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 0 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  -webkit-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: 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-blur-xl {
  --tw-backdrop-blur: blur(24px);
  -webkit-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: 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-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.placeholder\:text-foreground\/30::placeholder {
  color: rgb(229 225 213 / 0.3);
}
.hover\:border-cinnabar\/80:hover {
  border-color: rgb(181 41 27 / 0.8);
}
.hover\:shadow-\[0_0_50px_rgba\(181\2c 41\2c 27\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 50px rgba(181,41,27,0.5);
  --tw-shadow-colored: 0 0 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:border-white\/40:focus {
  border-color: rgb(255 255 255 / 0.4);
}
.focus\:bg-surface-hover:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(15 15 18 / var(--tw-bg-opacity, 1));
}
@keyframes shimmer {

  100% {
    transform: translateX(100%);
  }
}
.group:hover .group-hover\:text-foreground\/70 {
  color: rgb(229 225 213 / 0.7);
}
.peer:checked ~ .peer-checked\:border-white\/50 {
  border-color: rgb(255 255 255 / 0.5);
}
.peer:checked ~ .peer-checked\:bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.peer:checked ~ .peer-checked\:opacity-100 {
  opacity: 1;
}
@media (min-width: 640px) {

  .sm\:block {
    display: block;
  }

  .sm\:flex {
    display: flex;
  }

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

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

  .sm\:divide-x > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

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

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

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

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

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

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

  .sm\:text-\[22px\] {
    font-size: 22px;
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:leading-\[1\.9\] {
    line-height: 1.9;
  }

  .group:hover .sm\:group-hover\:opacity-50 {
    opacity: 0.5;
  }
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-\[80px\] {
  bottom: 80px;
}
.left-5 {
  left: 1.25rem;
}
.left-\[120px\] {
  left: 120px;
}
.right-\[40px\] {
  right: 40px;
}
.top-4 {
  top: 1rem;
}
.top-\[160px\] {
  top: 160px;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-24 {
  margin-top: 6rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.hidden {
  display: none;
}
.h-\[10px\] {
  height: 10px;
}
.h-\[160px\] {
  height: 160px;
}
.h-\[240px\] {
  height: 240px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[320px\] {
  height: 320px;
}
.h-\[6px\] {
  height: 6px;
}
.h-\[80px\] {
  height: 80px;
}
.h-\[80vw\] {
  height: 80vw;
}
.h-\[8px\] {
  height: 8px;
}
.w-\[10px\] {
  width: 10px;
}
.w-\[12px\] {
  width: 12px;
}
.w-\[160px\] {
  width: 160px;
}
.w-\[240px\] {
  width: 240px;
}
.w-\[2px\] {
  width: 2px;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[340px\] {
  width: 340px;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[80vw\] {
  width: 80vw;
}
.w-\[8px\] {
  width: 8px;
}
@keyframes progress {

  0% {
    width: 0%;
    opacity: 0.8;
  }

  40% {
    width: 70%;
    opacity: 1;
  }

  80% {
    width: 100%;
    opacity: 0.4;
  }

  100% {
    width: 100%;
    opacity: 0;
  }
}
.animate-progress {
  animation: progress 12s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
.animate-pulse-slow {
  animation: pulse 4s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.animate-spin-medium {
  animation: spin 25s linear infinite;
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/\[0\.04\] {
  border-color: rgb(255 255 255 / 0.04);
}
.border-white\/\[0\.08\] {
  border-color: rgb(255 255 255 / 0.08);
}
.border-b-white\/\[0\.15\] {
  border-bottom-color: rgb(255 255 255 / 0.15);
}
.border-l-white\/\[0\.1\] {
  border-left-color: rgb(255 255 255 / 0.1);
}
.border-r-cinnabar\/20 {
  border-right-color: rgb(181 41 27 / 0.2);
}
.border-r-white\/\[0\.12\] {
  border-right-color: rgb(255 255 255 / 0.12);
}
.border-t-cinnabar\/30 {
  border-top-color: rgb(181 41 27 / 0.3);
}
.border-t-white\/\[0\.1\] {
  border-top-color: rgb(255 255 255 / 0.1);
}
.bg-cinnabar\/60 {
  background-color: rgb(181 41 27 / 0.6);
}
.bg-cinnabar\/\[0\.015\] {
  background-color: rgb(181 41 27 / 0.015);
}
.bg-foreground\/30 {
  background-color: rgb(229 225 213 / 0.3);
}
.bg-white\/\[0\.01\] {
  background-color: rgb(255 255 255 / 0.01);
}
.bg-white\/\[0\.05\] {
  background-color: rgb(255 255 255 / 0.05);
}
.text-\[8px\] {
  font-size: 8px;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.text-foreground\/80 {
  color: rgb(229 225 213 / 0.8);
}
.opacity-100 {
  opacity: 1;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.shadow-\[0_0_10px_rgba\(181\2c 41\2c 27\2c 0\.5\)\] {
  --tw-shadow: 0 0 10px rgba(181,41,27,0.5);
  --tw-shadow-colored: 0 0 10px 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-\[0_0_10px_rgba\(181\2c 41\2c 27\2c 0\.8\)\] {
  --tw-shadow: 0 0 10px rgba(181,41,27,0.8);
  --tw-shadow-colored: 0 0 10px 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-\[0_0_10px_rgba\(229\2c 225\2c 213\2c 0\.4\)\] {
  --tw-shadow: 0 0 10px rgba(229,225,213,0.4);
  --tw-shadow-colored: 0 0 10px 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-\[0_0_15px_rgba\(229\2c 225\2c 213\2c 0\.8\)\2c 0_0_30px_rgba\(181\2c 41\2c 27\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(229,225,213,0.8),0 0 30px rgba(181,41,27,0.3);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color), 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-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);
}
.duration-1000 {
  transition-duration: 1000ms;
}
@media (min-width: 768px) {

  .md\:p-12 {
    padding: 3rem;
  }

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

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

  .md\:text-\[28px\] {
    font-size: 28px;
  }
}
.pointer-events-auto {
  pointer-events: auto;
}
.bottom-8 {
  bottom: 2rem;
}
.right-\[-15\%\] {
  right: -15%;
}
.top-\[40\%\] {
  top: 40%;
}
.z-40 {
  z-index: 40;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.mb-14 {
  margin-bottom: 3.5rem;
}
.mb-24 {
  margin-bottom: 6rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mt-16 {
  margin-top: 4rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-32 {
  height: 8rem;
}
.h-\[36px\] {
  height: 36px;
}
.h-\[45vw\] {
  height: 45vw;
}
.h-\[60vw\] {
  height: 60vw;
}
.w-14 {
  width: 3.5rem;
}
.w-8 {
  width: 2rem;
}
.w-\[45vw\] {
  width: 45vw;
}
.w-\[60vw\] {
  width: 60vw;
}
.w-\[88px\] {
  width: 88px;
}
.max-w-\[680px\] {
  max-width: 680px;
}
.max-w-\[900px\] {
  max-width: 900px;
}
.cursor-default {
  cursor: default;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.select-none {
  user-select: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.justify-start {
  justify-content: flex-start;
}
.gap-x-8 {
  column-gap: 2rem;
}
.gap-y-12 {
  row-gap: 3rem;
}
.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));
}
.divide-parchment\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(229 225 213 / 0.1);
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-r-sm {
  border-top-right-radius: 0.125rem;
  border-bottom-right-radius: 0.125rem;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-cinnabar {
  --tw-border-opacity: 1;
  border-color: rgb(181 41 27 / var(--tw-border-opacity, 1));
}
.border-current {
  border-color: currentColor;
}
.border-parchment\/10 {
  border-color: rgb(229 225 213 / 0.1);
}
.border-parchment\/15 {
  border-color: rgb(229 225 213 / 0.15);
}
.border-parchment\/20 {
  border-color: rgb(229 225 213 / 0.2);
}
.border-transparent {
  border-color: transparent;
}
.bg-cinnabar\/5 {
  background-color: rgb(181 41 27 / 0.05);
}
.bg-current {
  background-color: currentColor;
}
.bg-element-water\/5 {
  background-color: rgb(123 155 166 / 0.05);
}
.bg-parchment {
  --tw-bg-opacity: 1;
  background-color: rgb(229 225 213 / var(--tw-bg-opacity, 1));
}
.bg-parchment\/20 {
  background-color: rgb(229 225 213 / 0.2);
}
.bg-parchment\/5 {
  background-color: rgb(229 225 213 / 0.05);
}
.bg-parchment\/\[0\.02\] {
  background-color: rgb(229 225 213 / 0.02);
}
.bg-void {
  --tw-bg-opacity: 1;
  background-color: rgb(5 5 6 / var(--tw-bg-opacity, 1));
}
.bg-void\/40 {
  background-color: rgb(5 5 6 / 0.4);
}
.bg-void\/80 {
  background-color: rgb(5 5 6 / 0.8);
}
.bg-void\/90 {
  background-color: rgb(5 5 6 / 0.9);
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-cinnabar\/\[0\.08\] {
  --tw-gradient-from: rgb(181 41 27 / 0.08) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(181 41 27 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-void {
  --tw-gradient-from: #050506 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 5 6 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-void\/80 {
  --tw-gradient-to: rgb(5 5 6 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 5 6 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-8 {
  padding: 2rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.pb-48 {
  padding-bottom: 12rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pt-32 {
  padding-top: 8rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-\[19px\] {
  font-size: 19px;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-semibold {
  font-weight: 600;
}
.leading-\[1\.5\] {
  line-height: 1.5;
}
.leading-\[1\.85\] {
  line-height: 1.85;
}
.tracking-superwide {
  letter-spacing: .3em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-element-fire {
  --tw-text-opacity: 1;
  color: rgb(181 41 27 / var(--tw-text-opacity, 1));
}
.text-element-fire\/70 {
  color: rgb(181 41 27 / 0.7);
}
.text-element-metal {
  --tw-text-opacity: 1;
  color: rgb(212 196 180 / var(--tw-text-opacity, 1));
}
.text-element-metal\/70 {
  color: rgb(212 196 180 / 0.7);
}
.text-element-water {
  --tw-text-opacity: 1;
  color: rgb(123 155 166 / var(--tw-text-opacity, 1));
}
.text-element-water\/70 {
  color: rgb(123 155 166 / 0.7);
}
.text-element-wood {
  --tw-text-opacity: 1;
  color: rgb(140 166 123 / var(--tw-text-opacity, 1));
}
.text-element-wood\/70 {
  color: rgb(140 166 123 / 0.7);
}
.text-parchment {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.text-parchment\/40 {
  color: rgb(229 225 213 / 0.4);
}
.text-parchment\/60 {
  color: rgb(229 225 213 / 0.6);
}
.text-parchment\/80 {
  color: rgb(229 225 213 / 0.8);
}
.text-parchment\/90 {
  color: rgb(229 225 213 / 0.9);
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-30 {
  opacity: 0.3;
}
.shadow-\[0_0_8px_currentColor\] {
  --tw-shadow: 0 0 8px currentColor;
  --tw-shadow-colored: 0 0 8px 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-\[0_20px_40px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-shadow: 0 20px 40px rgba(0,0,0,0.8);
  --tw-shadow-colored: 0 20px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.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-\[1\.5px\] {
  --tw-blur: blur(1.5px);
  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-\[140px\] {
  --tw-blur: blur(140px);
  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);
}
.drop-shadow-md {
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  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);
}
.drop-shadow-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  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);
}
.backdrop-blur-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  -webkit-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: 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 {
  -webkit-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: 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);
}
.duration-700 {
  transition-duration: 700ms;
}
.first-letter\:float-left::first-letter {
  float: left;
}
.first-letter\:mr-3::first-letter {
  margin-right: 0.75rem;
}
.first-letter\:mt-1::first-letter {
  margin-top: 0.25rem;
}
.first-letter\:text-5xl::first-letter {
  font-size: 3rem;
  line-height: 1;
}
.first-letter\:font-normal::first-letter {
  font-weight: 400;
}
.first-letter\:text-parchment::first-letter {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.selection\:bg-cinnabar\/30 *::selection {
  background-color: rgb(181 41 27 / 0.3);
}
.selection\:bg-cinnabar\/30::selection {
  background-color: rgb(181 41 27 / 0.3);
}
.hover\:border-parchment\/20:hover {
  border-color: rgb(229 225 213 / 0.2);
}
.hover\:bg-cinnabar\/90:hover {
  background-color: rgb(181 41 27 / 0.9);
}
.hover\:bg-parchment\/10:hover {
  background-color: rgb(229 225 213 / 0.1);
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:shadow-\[0_0_15px_rgba\(181\2c 41\2c 27\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 15px rgba(181,41,27,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:-translate-y-2 {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-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\:border-parchment\/10 {
  border-color: rgb(229 225 213 / 0.1);
}
@media (min-width: 1024px) {

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

  .lg\:gap-y-0 {
    row-gap: 0px;
  }

  .lg\:divide-x > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

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

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.sticky {
  position: sticky;
}
.-inset-1 {
  inset: -0.25rem;
}
.inset-2 {
  inset: 0.5rem;
}
.-left-\[2px\] {
  left: -2px;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-16 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.-mt-\[1px\] {
  margin-top: -1px;
}
.mb-32 {
  margin-bottom: 8rem;
}
.h-1\/3 {
  height: 33.333333%;
}
.h-10 {
  height: 2.5rem;
}
.w-10 {
  width: 2.5rem;
}
.w-16 {
  width: 4rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-\[1440px\] {
  max-width: 1440px;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.-rotate-12 {
  --tw-rotate: -12deg;
  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));
}
.rotate-12 {
  --tw-rotate: 12deg;
  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-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.space-y-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-white\/10 > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.1);
}
.overflow-x-auto {
  overflow-x: auto;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-accent\/30 {
  border-color: rgb(181 41 27 / 0.3);
}
.border-accent\/80 {
  border-color: rgb(181 41 27 / 0.8);
}
.bg-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(181 41 27 / var(--tw-bg-opacity, 1));
}
.bg-accent\/20 {
  background-color: rgb(181 41 27 / 0.2);
}
.bg-accent\/40 {
  background-color: rgb(181 41 27 / 0.4);
}
.bg-accent\/5 {
  background-color: rgb(181 41 27 / 0.05);
}
.bg-base\/80 {
  background-color: rgb(5 5 6 / 0.8);
}
.bg-elem-fire {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-elem-metal {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-elem-water {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-elem-wood {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-transparent {
  background-color: transparent;
}
.from-base {
  --tw-gradient-from: #050506 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 5 6 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-base\/95 {
  --tw-gradient-to: rgb(5 5 6 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 5 6 / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-elem-fire {
  --tw-gradient-to: rgb(239 68 68 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ef4444 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-elem-metal {
  --tw-gradient-to: rgb(209 213 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #d1d5db var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-elem-water {
  --tw-gradient-to: rgb(59 130 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-elem-wood {
  --tw-gradient-to: rgb(34 197 94 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #22c55e var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/5 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.pb-0 {
  padding-bottom: 0px;
}
.pl-8 {
  padding-left: 2rem;
}
.pt-16 {
  padding-top: 4rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.font-medium {
  font-weight: 500;
}
.leading-\[1\.8\] {
  line-height: 1.8;
}
.leading-snug {
  line-height: 1.375;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.text-accent {
  --tw-text-opacity: 1;
  color: rgb(181 41 27 / var(--tw-text-opacity, 1));
}
.text-ink {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.text-ink\/30 {
  color: rgb(229 225 213 / 0.3);
}
.text-ink\/40 {
  color: rgb(229 225 213 / 0.4);
}
.text-ink\/60 {
  color: rgb(229 225 213 / 0.6);
}
.text-ink\/80 {
  color: rgb(229 225 213 / 0.8);
}
.text-ink\/90 {
  color: rgb(229 225 213 / 0.9);
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.opacity-50 {
  opacity: 0.5;
}
.shadow-\[0_0_15px_rgba\(209\2c 213\2c 219\2c 0\.7\)\] {
  --tw-shadow: 0 0 15px rgba(209,213,219,0.7);
  --tw-shadow-colored: 0 0 15px 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-\[0_0_15px_rgba\(239\2c 68\2c 68\2c 0\.7\)\] {
  --tw-shadow: 0 0 15px rgba(239,68,68,0.7);
  --tw-shadow-colored: 0 0 15px 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-\[0_0_15px_rgba\(34\2c 197\2c 94\2c 0\.7\)\] {
  --tw-shadow: 0 0 15px rgba(34,197,94,0.7);
  --tw-shadow-colored: 0 0 15px 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-\[0_0_15px_rgba\(59\2c 130\2c 246\2c 0\.7\)\] {
  --tw-shadow: 0 0 15px rgba(59,130,246,0.7);
  --tw-shadow-colored: 0 0 15px 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-\[0_0_40px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 0 40px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.blur-md {
  --tw-blur: blur(12px);
  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-xl {
  --tw-blur: blur(24px);
  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);
}
.delay-0 {
  transition-delay: 0s;
}
.delay-100 {
  transition-delay: 100ms;
}
.delay-200 {
  transition-delay: 200ms;
}
.delay-300 {
  transition-delay: 300ms;
}
.selection\:bg-accent\/30 *::selection {
  background-color: rgb(181 41 27 / 0.3);
}
.selection\:text-ink *::selection {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.selection\:bg-accent\/30::selection {
  background-color: rgb(181 41 27 / 0.3);
}
.selection\:text-ink::selection {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:text-ink:hover {
  --tw-text-opacity: 1;
  color: rgb(229 225 213 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.group:hover .group-hover\:text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:backdrop-blur-\[1px\] {
  --tw-backdrop-blur: blur(1px);
  -webkit-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: 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);
}

/* ───────────────────────────────────────────────────────────────
   SECTION 2: Shared design tokens & component styles
   ─────────────────────────────────────────────────────────────── */

/* Color variables for variant screens */
#pc-v-home, #pc-v-input, #pc-v-loading, #pc-v-result {
  --color-background: #050506;
  --color-foreground: #e5e1d5;
  --color-cinnabar: #b5291b;
  --color-surface: #0a0a0d;
  --color-surface-hover: #0f0f13;
  --color-parchment: #e5e1d5;
  --color-void: #050506;
  --color-muted: #7a776e;
  --color-element-wood: #4a7c59;
  --color-element-fire: #b5291b;
  --color-element-water: #2a4a7c;
  --color-element-metal: #9a9a8a;
  --color-element-earth: #8a6a3a;
}

/* Glass card component */
.glass-card {
  background: linear-gradient(180deg, rgba(229, 225, 213, 0.03) 0%, rgba(229, 225, 213, 0.01) 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(229, 225, 213, 0.12);
}

/* Corner bracket decorators */
.corner-bracket::before,
.corner-bracket::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-color: rgba(229, 225, 213, 0.4);
  border-style: solid;
}
.tl-bracket::before { top: -1px; left: -1px; border-width: 1px 0 0 1px; }
.tr-bracket::before { top: -1px; right: -1px; border-width: 1px 1px 0 0; }
.bl-bracket::before { bottom: -1px; left: -1px; border-width: 0 0 1px 1px; }
.br-bracket::before { bottom: -1px; right: -1px; border-width: 0 1px 1px 0; }

/* Element glow */
.element-glow {
  box-shadow: inset 0 0 20px currentColor, 0 0 15px currentColor;
}

/* Scanlines overlay */
.scanlines {
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0),
    rgba(255,255,255,0) 50%,
    rgba(229, 225, 213, 0.02) 50%,
    rgba(229, 225, 213, 0.02)
  );
  background-size: 100% 4px;
}

/* Noise texture */
.noise-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  opacity: 0.15;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  pointer-events: none;
  mix-blend-mode: overlay;
}


/* ───────────────────────────────────────────────────────────────
   SECTION 3: Per-screen wrapper styles (scoped to IDs)
   ─────────────────────────────────────────────────────────────── */

/* pc_01 — Landing */
#pc-v-home {
  background-color: #050506;
  color: #e5e1d5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  font-family: 'Space Mono', monospace;
}
#pc-v-home ::-webkit-scrollbar { width: 0; background: transparent; }

/* pc_02 — Input */
#pc-v-input {
  background-color: #050506;
  color: #e5e1d5;
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  font-family: 'Space Mono', monospace;
}
#pc-v-input ::-webkit-scrollbar { width: 8px; background: #050506; }
#pc-v-input ::-webkit-scrollbar-thumb { background: rgba(229, 225, 213, 0.1); }
#pc-v-input ::-webkit-scrollbar-thumb:hover { background: rgba(229, 225, 213, 0.2); }
#pc-v-input input[type="date"]::-webkit-calendar-picker-indicator,
#pc-v-input input[type="time"]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

/* pc_03 — Loading */
#pc-v-loading {
  background-color: #050506;
  color: #e5e1d5;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  font-family: 'Space Mono', monospace;
}
#pc-v-loading ::-webkit-scrollbar { width: 0; }

/* pc_04 — Result/Prologue */
#pc-v-result {
  background-color: #050506;
  color: #e5e1d5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  font-family: 'Space Mono', monospace;
}
#pc-v-result ::-webkit-scrollbar { width: 6px; }
#pc-v-result ::-webkit-scrollbar-track { background: #050506; }
#pc-v-result ::-webkit-scrollbar-thumb { background: rgba(229, 225, 213, 0.15); border-radius: 10px; }
#pc-v-result ::-webkit-scrollbar-thumb:hover { background: rgba(229, 225, 213, 0.3); }

/* Tailwind color utilities needed for variant (not in merged CSS) */
.bg-background { background-color: #050506; }
.bg-surface { background-color: #0a0a0d; }
.bg-surface-hover { background-color: #0f0f13; }
.text-foreground { color: #e5e1d5; }
.text-cinnabar { color: #b5291b; }
.bg-cinnabar { background-color: #b5291b; }
.border-cinnabar { border-color: #b5291b; }
.bg-void { background-color: #050506; }
.text-parchment { color: #e5e1d5; }
.bg-parchment { background-color: #e5e1d5; }
.border-parchment { border-color: #e5e1d5; }
/* element color overrides removed — Section 1 lighter palette is intended */
.bg-element-water { background-color: #7b9ba6; }

/* Tracking utilities */
.tracking-superwide { letter-spacing: 0.3em; }

/* Animation keyframes for variant screens */
@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes spin-slow-reverse {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
@keyframes spin-slower {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes spin-slower-reverse {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
@keyframes spin-medium {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes pulse-glow {
  0%, 100% { opacity: 1; box-shadow: 0 0 15px rgba(181,41,27,0.8); }
  50% { opacity: 0.7; box-shadow: 0 0 30px rgba(181,41,27,1.0); }
}
@keyframes pulse-slow {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
@keyframes shimmer {
  from { transform: translateX(-100%); }
  to { transform: translateX(200%); }
}
/* animate-progress: use Section 1 definition (12s infinite) — removed override */

/* PC Input form — Cormorant Garamond for inputs & selects */
#pc-v-input input[type="text"],
#pc-v-input select {
  font-family: 'Cormorant Garamond', 'Cormorant', serif !important;
  font-size: 16px !important;
  font-style: italic;
  letter-spacing: 0.02em;
}

.animate-spin-slow { animation: spin-slow 20s linear infinite; }
.animate-spin-slow-reverse { animation: spin-slow-reverse 25s linear infinite; }
.animate-spin-slower { animation: spin-slower 40s linear infinite; }
.animate-spin-slower-reverse { animation: spin-slower-reverse 30s linear infinite; }
.animate-spin-medium { animation: spin-medium 10s linear infinite; }
.animate-pulse-glow { animation: pulse-glow 2s ease-in-out infinite; }
.animate-pulse-slow { animation: pulse-slow 3s ease-in-out infinite; }


/* ───────────────────────────────────────────────────────────────
   SECTION 4: Show/hide — PC variant vs Mobile
   ─────────────────────────────────────────────────────────────── */

/* Mobile: PC variant divs hidden */
.pc-v { display: none; }

@media (max-width: 768px) {
  .pc-v { display: none !important; }
}

@media (min-width: 769px) {

  /* PC variant wrapper: shown, positioned over mobile content */
  .pc-v {
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: 0;
    z-index: 5;
    overflow-y: auto;
    overflow-x: hidden;
  }

  /* Non-home screens: fixed viewport height, absolute pc-v fills correctly */
  #screen-input,
  #screen-loading,
  #screen-result {
    position: relative !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow: hidden !important;
    min-height: unset !important;
  }

  /* Home screen: scrollable on PC so below-fold content is reachable */
  #screen-home {
    position: relative !important;
    height: auto !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    overflow: visible !important;
  }

  /* Home pc-v: relative flow (not absolute overlay) so scroll content follows hero */
  #pc-v-home.pc-v {
    position: relative !important;
    inset: auto !important;
    min-height: 100vh;
    min-height: 100dvh;
  }

  /* Hide ALL mobile .home-body on PC — PC content lives inside #pc-v-home */
  #screen-home .home-body           { display: none !important; }
  #screen-home #home-saved-profile  { display: none !important; }
  #screen-home .home-nav-tabs       { display: none !important; }
  #screen-home .home-bottom-cta     { display: none !important; }
  #screen-home #hero-canvas         { display: none !important; }
  #screen-home #home-bg-svg         { display: none !important; }
  #screen-home .deeplink-preview    { display: none !important; }

  #screen-input .input-top-bar      { display: none !important; }
  #screen-input .pd-input-container { display: none !important; }

  #screen-loading .loading-brand { display: none !important; }
  #screen-loading .loading-sigil { display: none !important; }
  #screen-loading .loading-text  { display: none !important; }

  #screen-result .result-sticky-header { display: none !important; }

  /* Hide legacy PC header — variant screens have their own nav */
  #pc-top-header { display: none !important; }

  /* ─── PC How It Works ─── */
  .pc-how-section {
    position: relative;
    z-index: 10;
    max-width: 1200px;
    margin: 0 auto;
    padding: 120px 80px 100px;
    border-top: 1px solid rgba(229, 225, 213, 0.06);
  }

  .pc-how-header {
    text-align: center;
    margin-bottom: 72px;
  }

  .pc-how-tag {
    display: inline-block;
    font-family: 'Space Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(229, 225, 213, 0.35);
    margin-bottom: 16px;
  }

  .pc-how-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.8rem;
    font-weight: 300;
    color: #fff;
    letter-spacing: 0.02em;
    margin: 0 0 16px;
  }

  .pc-how-desc {
    font-family: 'Space Mono', monospace;
    font-size: 12px;
    color: rgba(229, 225, 213, 0.45);
    letter-spacing: 0.04em;
    max-width: 480px;
    margin: 0 auto;
  }

  .pc-how-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }

  .pc-how-card {
    position: relative;
    padding: 40px 32px 36px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(229, 225, 213, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: border-color 0.4s ease, background 0.4s ease;
  }

  .pc-how-card:hover {
    border-color: rgba(229, 225, 213, 0.15);
    background: rgba(255, 255, 255, 0.035);
  }

  .pc-how-card--accent {
    border-color: rgba(181, 41, 27, 0.2);
  }

  .pc-how-card--accent:hover {
    border-color: rgba(181, 41, 27, 0.4);
    background: rgba(181, 41, 27, 0.04);
  }

  .pc-how-num {
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.15em;
    color: rgba(229, 225, 213, 0.3);
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(229, 225, 213, 0.06);
  }

  .pc-how-num--accent {
    color: rgba(181, 41, 27, 0.7);
    border-bottom-color: rgba(181, 41, 27, 0.15);
  }

  .pc-how-card-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.35rem;
    font-weight: 400;
    color: rgba(229, 225, 213, 0.9);
    margin: 0 0 14px;
    letter-spacing: 0.01em;
  }

  .pc-how-card-desc {
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    line-height: 1.85;
    color: rgba(229, 225, 213, 0.4);
    letter-spacing: 0.02em;
    margin: 0;
  }

  /* ─── PC FAQ (inside #pc-v-home) ─── */
  .pc-v-faq-section {
    position: relative;
    z-index: 10;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 80px;
    border-top: 1px solid rgba(229, 225, 213, 0.06);
  }

  .pc-v-faq-header {
    text-align: center;
    margin-bottom: 56px;
  }

  .pc-v-faq-tag {
    display: inline-block;
    font-family: 'Space Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(229, 225, 213, 0.35);
    margin-bottom: 16px;
  }

  .pc-v-faq-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.4rem;
    font-weight: 300;
    color: #fff;
    letter-spacing: 0.02em;
    margin: 0;
  }

  .pc-v-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 40px;
  }

  .pc-v-faq-item {
    padding: 32px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(229, 225, 213, 0.06);
    cursor: pointer;
    transition: border-color 0.3s ease, background 0.3s ease;
  }

  .pc-v-faq-item:hover {
    border-color: rgba(229, 225, 213, 0.12);
    background: rgba(255, 255, 255, 0.03);
  }

  .pc-v-faq-q {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 1.1rem;
    color: rgba(229, 225, 213, 0.85);
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
  }

  .pc-v-faq-q .faq-toggle {
    font-family: 'Space Mono', monospace;
    font-style: normal;
    font-size: 14px;
    color: rgba(229, 225, 213, 0.3);
    transition: transform 0.3s ease;
    flex-shrink: 0;
  }

  .pc-v-faq-item.open {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(229, 225, 213, 0.12);
  }

  .pc-v-faq-item.open .pc-v-faq-q {
    margin-bottom: 16px;
  }

  .pc-v-faq-item.open .faq-toggle {
    transform: rotate(45deg);
  }

  .pc-v-faq-a {
    font-family: 'Space Mono', monospace;
    font-size: 11px;
    line-height: 1.85;
    color: rgba(229, 225, 213, 0.4);
    letter-spacing: 0.02em;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease;
    opacity: 0;
  }

  .pc-v-faq-item.open .pc-v-faq-a {
    max-height: 300px;
    opacity: 1;
  }

  /* ─── PC Footer (inside #pc-v-home) ─── */
  .pc-v-footer {
    position: relative;
    z-index: 10;
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 80px 80px;
    border-top: 1px solid rgba(229, 225, 213, 0.06);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .pc-v-footer-logo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 14px;
    letter-spacing: 0.35em;
    color: rgba(229, 225, 213, 0.25);
    text-transform: uppercase;
  }

  .pc-v-footer-copy {
    font-family: 'Space Mono', monospace;
    font-size: 10px;
    color: rgba(229, 225, 213, 0.2);
    letter-spacing: 0.05em;
  }

  .pc-v-footer-links {
    display: flex;
    gap: 24px;
  }

  .pc-v-footer-links a {
    font-family: 'Space Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(229, 225, 213, 0.3);
    text-decoration: none;
    transition: color 0.3s ease;
  }

  .pc-v-footer-links a:hover {
    color: rgba(229, 225, 213, 0.6);
  }
}
