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

::backdrop {
--tw-border-spacing-x: 0;
--tw-border-spacing-y: 0;
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x:  ;
--tw-pan-y:  ;
--tw-pinch-zoom:  ;
--tw-scroll-snap-strictness: proximity;
--tw-gradient-from-position:  ;
--tw-gradient-via-position:  ;
--tw-gradient-to-position:  ;
--tw-ordinal:  ;
--tw-slashed-zero:  ;
--tw-numeric-figure:  ;
--tw-numeric-spacing:  ;
--tw-numeric-fraction:  ;
--tw-ring-inset:  ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur:  ;
--tw-brightness:  ;
--tw-contrast:  ;
--tw-grayscale:  ;
--tw-hue-rotate:  ;
--tw-invert:  ;
--tw-saturate:  ;
--tw-sepia:  ;
--tw-drop-shadow:  ;
--tw-backdrop-blur:  ;
--tw-backdrop-brightness:  ;
--tw-backdrop-contrast:  ;
--tw-backdrop-grayscale:  ;
--tw-backdrop-hue-rotate:  ;
--tw-backdrop-invert:  ;
--tw-backdrop-opacity:  ;
--tw-backdrop-saturate:  ;
--tw-backdrop-sepia:  ;
--tw-contain-size:  ;
--tw-contain-layout:  ;
--tw-contain-paint:  ;
--tw-contain-style:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

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

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

html,
:host {
line-height: 1.5; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */ /* 3 */
tab-size: 4; /* 3 */
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
font-feature-settings: normal; /* 5 */
font-variation-settings: normal; /* 6 */
-webkit-tap-highlight-color: transparent; /* 7 */
}

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
font-weight: bolder;
}

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

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

/*
Add the correct font size in all browsers.
*/

small {
font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}

sub {
bottom: -0.25em;
}

sup {
top: -0.5em;
}

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

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

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

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

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

button,
select {
text-transform: none;
}

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

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

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

:-moz-focusring {
outline: auto;
}

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

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

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

progress {
vertical-align: baseline;
}

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

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
-webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}

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

summary {
display: list-item;
}

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

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

fieldset {
margin: 0;
padding: 0;
}

legend {
padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
resize: vertical;
}

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

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

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
cursor: default;
}

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

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

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

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
display: none;
}
:root {
    --background: 0 0% 100%;
    --foreground: 0 0% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 0 0% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 0 0% 3.9%;
    --primary: 0 0% 9%;
    --primary-foreground: 0 0% 98%;
    --secondary: 0 0% 96.1%;
    --secondary-foreground: 0 0% 9%;
    --muted: 0 0% 96.1%;
    --muted-foreground: 0 0% 45.1%;
    --accent: 0 0% 96.1%;
    --accent-foreground: 0 0% 9%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 0 0% 89.8%;
    --input: 0 0% 89.8%;
    --ring: 0 0% 3.9%;
    --radius: 0.5rem;
} * {
border-color: hsl(var(--border));
}
.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;
}
.fixed {
position: fixed;
}
.absolute {
position: absolute;
}
.relative {
position: relative;
}
.sticky {
position: sticky;
}
.inset-0 {
inset: 0px;
}
.inset-x-0 {
left: 0px;
right: 0px;
}
.inset-y-0 {
top: 0px;
bottom: 0px;
}
.-bottom-12 {
bottom: -3rem;
}
.-left-12 {
left: -3rem;
}
.-right-12 {
right: -3rem;
}
.-top-12 {
top: -3rem;
}
.bottom-0 {
bottom: 0px;
}
.left-0 {
left: 0px;
}
.left-1 {
left: 0.25rem;
}
.left-1\/2 {
left: 50%;
}
.left-2 {
left: 0.5rem;
}
.left-5 {
left: 1.25rem;
}
.left-\[50\%\] {
left: 50%;
}
.right-0 {
right: 0px;
}
.right-1 {
right: 0.25rem;
}
.right-2 {
right: 0.5rem;
}
.right-4 {
right: 1rem;
}
.right-5 {
right: 1.25rem;
}
.top-0 {
top: 0px;
}
.top-1 {
top: 0.25rem;
}
.top-1\/2 {
top: 50%;
}
.top-4 {
top: 1rem;
}
.top-5 {
top: 1.25rem;
}
.top-\[1px\] {
top: 1px;
}
.top-\[50\%\] {
top: 50%;
}
.top-\[60\%\] {
top: 60%;
}
.top-full {
top: 100%;
}
.z-10 {
z-index: 10;
}
.z-50 {
z-index: 50;
}
.z-\[100\] {
z-index: 100;
}
.z-\[1\] {
z-index: 1;
}
.-mx-1 {
margin-left: -0.25rem;
margin-right: -0.25rem;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
}
.my-1 {
margin-top: 0.25rem;
margin-bottom: 0.25rem;
}
.-ml-4 {
margin-left: -1rem;
}
.-mt-4 {
margin-top: -1rem;
}
.mb-1 {
margin-bottom: 0.25rem;
}
.ml-1 {
margin-left: 0.25rem;
}
.ml-3 {
margin-left: 0.75rem;
}
.ml-auto {
margin-left: auto;
}
.mr-2 {
margin-right: 0.5rem;
}
.mt-1\.5 {
margin-top: 0.375rem;
}
.mt-12 {
margin-top: 3rem;
}
.mt-2 {
margin-top: 0.5rem;
}
.mt-24 {
margin-top: 6rem;
}
.mt-4 {
margin-top: 1rem;
}
.mt-auto {
margin-top: auto;
}
.mt-10 {
margin-top: 2.5rem;
}
.mt-8 {
margin-top: 2rem;
}
.block {
display: block;
}
.inline-block {
display: inline-block;
}
.flex {
display: flex;
}
.inline-flex {
display: inline-flex;
}
.table {
display: table;
}
.grid {
display: grid;
}
.hidden {
display: none;
}
.aspect-square {
aspect-ratio: 1 / 1;
}
.h-1\.5 {
height: 0.375rem;
}
.h-10 {
height: 2.5rem;
}
.h-2 {
height: 0.5rem;
}
.h-2\.5 {
height: 0.625rem;
}
.h-3 {
height: 0.75rem;
}
.h-3\.5 {
height: 0.875rem;
}
.h-4 {
height: 1rem;
}
.h-5 {
height: 1.25rem;
}
.h-7 {
height: 1.75rem;
}
.h-8 {
height: 2rem;
}
.h-9 {
height: 2.25rem;
}
.h-\[1px\] {
height: 1px;
}
.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
height: var(--radix-navigation-menu-viewport-height);
}
.h-\[var\(--radix-select-trigger-height\)\] {
height: var(--radix-select-trigger-height);
}
.h-auto {
height: auto;
}
.h-full {
height: 100%;
}
.h-px {
height: 1px;
}
.max-h-\[--radix-context-menu-content-available-height\] {
max-height: var(--radix-context-menu-content-available-height);
}
.max-h-\[--radix-select-content-available-height\] {
max-height: var(--radix-select-content-available-height);
}
.max-h-\[300px\] {
max-height: 300px;
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-screen {
max-height: 100vh;
}
.min-h-\[60px\] {
min-height: 60px;
}
.w-10 {
width: 2.5rem;
}
.w-2 {
width: 0.5rem;
}
.w-2\.5 {
width: 0.625rem;
}
.w-3 {
width: 0.75rem;
}
.w-3\.5 {
width: 0.875rem;
}
.w-3\/4 {
width: 75%;
}
.w-4 {
width: 1rem;
}
.w-64 {
width: 16rem;
}
.w-7 {
width: 1.75rem;
}
.w-72 {
width: 18rem;
}
.w-8 {
width: 2rem;
}
.w-9 {
width: 2.25rem;
}
.w-\[100px\] {
width: 100px;
}
.w-\[1px\] {
width: 1px;
}
.w-full {
width: 100%;
}
.w-max {
width: max-content;
}
.w-px {
width: 1px;
}
.min-w-0 {
min-width: 0px;
}
.min-w-10 {
min-width: 2.5rem;
}
.min-w-8 {
min-width: 2rem;
}
.min-w-9 {
min-width: 2.25rem;
}
.min-w-\[12rem\] {
min-width: 12rem;
}
.min-w-\[8rem\] {
min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\] {
min-width: var(--radix-select-trigger-width);
}
.max-w-lg {
max-width: 32rem;
}
.max-w-max {
max-width: max-content;
}
.flex-1 {
flex: 1 1;
}
.shrink-0 {
flex-shrink: 0;
}
.grow {
flex-grow: 1;
}
.grow-0 {
flex-grow: 0;
}
.basis-full {
flex-basis: 100%;
}
.caption-bottom {
caption-side: bottom;
}
.border-collapse {
border-collapse: collapse;
}
.origin-\[--radix-context-menu-content-transform-origin\] {
transform-origin: var(--radix-context-menu-content-transform-origin);
}
.origin-\[--radix-dropdown-menu-content-transform-origin\] {
transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-hover-card-content-transform-origin\] {
transform-origin: var(--radix-hover-card-content-transform-origin);
}
.origin-\[--radix-menubar-content-transform-origin\] {
transform-origin: var(--radix-menubar-content-transform-origin);
}
.origin-\[--radix-popover-content-transform-origin\] {
transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\] {
transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\] {
transform-origin: var(--radix-tooltip-content-transform-origin);
}
.-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-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-\[-50\%\] {
--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-y-\[-50\%\] {
--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-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;
}
.cursor-default {
cursor: default;
}
.cursor-pointer {
cursor: pointer;
}
.touch-none {
touch-action: none;
}
.select-none {
-webkit-user-select: none;
      user-select: none;
}
.list-none {
list-style-type: none;
}
.grid-cols-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.flex-row {
flex-direction: row;
}
.flex-col {
flex-direction: column;
}
.flex-col-reverse {
flex-direction: column-reverse;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-start {
align-items: flex-start;
}
.items-end {
align-items: flex-end;
}
.items-center {
align-items: center;
}
.items-baseline {
align-items: baseline;
}
.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;
}
.gap-8 {
gap: 2rem;
}
.gap-16 {
gap: 4rem;
}
.gap-x-12 {
column-gap: 3rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
--tw-space-x-reverse: 0;
margin-right: calc(0.25rem * var(--tw-space-x-reverse));
margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
--tw-space-x-reverse: 0;
margin-right: calc(0.5rem * var(--tw-space-x-reverse));
margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
--tw-space-y-reverse: 0;
margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
margin-bottom: calc(0.5rem * 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));
}
.overflow-auto {
overflow: auto;
}
.overflow-hidden {
overflow: hidden;
}
.overflow-y-auto {
overflow-y: auto;
}
.overflow-x-hidden {
overflow-x: hidden;
}
.whitespace-nowrap {
white-space: nowrap;
}
.break-words {
overflow-wrap: break-word;
}
.rounded-\[inherit\] {
border-radius: inherit;
}
.rounded-full {
border-radius: 9999px;
}
.rounded-lg {
border-radius: var(--radius);
}
.rounded-md {
border-radius: calc(var(--radius) - 2px);
}
.rounded-sm {
border-radius: calc(var(--radius) - 4px);
}
.rounded-xl {
border-radius: 0.75rem;
}
.rounded-t-\[10px\] {
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.rounded-tl-sm {
border-top-left-radius: calc(var(--radius) - 4px);
}
.border {
border-width: 1px;
}
.border-2 {
border-width: 2px;
}
.border-y {
border-top-width: 1px;
border-bottom-width: 1px;
}
.border-b {
border-bottom-width: 1px;
}
.border-l {
border-left-width: 1px;
}
.border-r {
border-right-width: 1px;
}
.border-t {
border-top-width: 1px;
}
.border-destructive {
border-color: hsl(var(--destructive));
}
.border-destructive\/50 {
border-color: hsl(var(--destructive) / 0.5);
}
.border-input {
border-color: hsl(var(--input));
}
.border-primary {
border-color: hsl(var(--primary));
}
.border-primary\/50 {
border-color: hsl(var(--primary) / 0.5);
}
.border-transparent {
border-color: transparent;
}
.border-l-transparent {
border-left-color: transparent;
}
.border-t-transparent {
border-top-color: transparent;
}
.bg-accent {
background-color: hsl(var(--accent));
}
.bg-background {
background-color: hsl(var(--background));
}
.bg-black\/80 {
background-color: rgb(0 0 0 / 0.8);
}
.bg-border {
background-color: hsl(var(--border));
}
.bg-card {
background-color: hsl(var(--card));
}
.bg-destructive {
background-color: hsl(var(--destructive));
}
.bg-foreground {
background-color: hsl(var(--foreground));
}
.bg-muted {
background-color: hsl(var(--muted));
}
.bg-muted\/50 {
background-color: hsl(var(--muted) / 0.5);
}
.bg-popover {
background-color: hsl(var(--popover));
}
.bg-primary {
background-color: hsl(var(--primary));
}
.bg-primary\/10 {
background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/20 {
background-color: hsl(var(--primary) / 0.2);
}
.bg-secondary {
background-color: hsl(var(--secondary));
}
.bg-transparent {
background-color: transparent;
}
.fill-current {
fill: currentColor;
}
.fill-primary {
fill: hsl(var(--primary));
}
.object-cover {
object-fit: cover;
}
.p-0 {
padding: 0px;
}
.p-1 {
padding: 0.25rem;
}
.p-2 {
padding: 0.5rem;
}
.p-3 {
padding: 0.75rem;
}
.p-4 {
padding: 1rem;
}
.p-6 {
padding: 1.5rem;
}
.p-\[1px\] {
padding: 1px;
}
.px-1\.5 {
padding-left: 0.375rem;
padding-right: 0.375rem;
}
.px-2 {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.px-2\.5 {
padding-left: 0.625rem;
padding-right: 0.625rem;
}
.px-3 {
padding-left: 0.75rem;
padding-right: 0.75rem;
}
.px-4 {
padding-left: 1rem;
padding-right: 1rem;
}
.px-8 {
padding-left: 2rem;
padding-right: 2rem;
}
.py-0\.5 {
padding-top: 0.125rem;
padding-bottom: 0.125rem;
}
.py-1 {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.py-1\.5 {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
}
.py-2 {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
.py-3 {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
}
.py-4 {
padding-top: 1rem;
padding-bottom: 1rem;
}
.py-6 {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
}
.py-8 {
padding-top: 2rem;
padding-bottom: 2rem;
}
.pb-10 {
padding-bottom: 2.5rem;
}
.pb-4 {
padding-bottom: 1rem;
}
.pl-2 {
padding-left: 0.5rem;
}
.pl-2\.5 {
padding-left: 0.625rem;
}
.pl-4 {
padding-left: 1rem;
}
.pl-8 {
padding-left: 2rem;
}
.pr-2 {
padding-right: 0.5rem;
}
.pr-2\.5 {
padding-right: 0.625rem;
}
.pr-6 {
padding-right: 1.5rem;
}
.pr-8 {
padding-right: 2rem;
}
.pt-0 {
padding-top: 0px;
}
.pt-1 {
padding-top: 0.25rem;
}
.pt-4 {
padding-top: 1rem;
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.align-middle {
vertical-align: middle;
}
.font-serif {
font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.text-\[0\.8rem\] {
font-size: 0.8rem;
}
.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-xs {
font-size: 0.75rem;
line-height: 1rem;
}
.font-medium {
font-weight: 500;
}
.font-normal {
font-weight: 400;
}
.font-semibold {
font-weight: 600;
}
.uppercase {
text-transform: uppercase;
}
.italic {
font-style: italic;
}
.leading-none {
line-height: 1;
}
.tracking-tight {
letter-spacing: -0.025em;
}
.tracking-widest {
letter-spacing: 0.1em;
}
.text-accent-foreground {
color: hsl(var(--accent-foreground));
}
.text-card-foreground {
color: hsl(var(--card-foreground));
}
.text-current {
color: currentColor;
}
.text-destructive {
color: hsl(var(--destructive));
}
.text-destructive-foreground {
color: hsl(var(--destructive-foreground));
}
.text-foreground {
color: hsl(var(--foreground));
}
.text-foreground\/50 {
color: hsl(var(--foreground) / 0.5);
}
.text-muted-foreground {
color: hsl(var(--muted-foreground));
}
.text-popover-foreground {
color: hsl(var(--popover-foreground));
}
.text-primary {
color: hsl(var(--primary));
}
.text-primary-foreground {
color: hsl(var(--primary-foreground));
}
.text-secondary-foreground {
color: hsl(var(--secondary-foreground));
}
.underline {
text-decoration-line: underline;
}
.underline-offset-4 {
text-underline-offset: 4px;
}
.opacity-0 {
opacity: 0;
}
.opacity-50 {
opacity: 0.5;
}
.opacity-60 {
opacity: 0.6;
}
.opacity-70 {
opacity: 0.7;
}
.opacity-90 {
opacity: 0.9;
}
.shadow {
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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-lg {
--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);
}
.shadow-md {
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-sm {
--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
--tw-shadow-colored: 0 1px 2px 0 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;
}
.outline {
outline-style: solid;
}
.ring-0 {
--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(0px + 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-1 {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-ring {
--tw-ring-color: hsl(var(--ring));
}
.ring-offset-background {
--tw-ring-offset-color: hsl(var(--background));
}
.blur {
--tw-blur: blur(8px);
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.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-1000 {
transition-duration: 1000ms;
}
.duration-200 {
transition-duration: 200ms;
}
.duration-300 {
transition-duration: 300ms;
}
.ease-in-out {
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes enter {

from {
opacity: var(--tw-enter-opacity, 1);
transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
}
}
@keyframes exit {

to {
opacity: var(--tw-exit-opacity, 1);
transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
}
}
.animate-in {
animation-name: enter;
animation-duration: 150ms;
--tw-enter-opacity: initial;
--tw-enter-scale: initial;
--tw-enter-rotate: initial;
--tw-enter-translate-x: initial;
--tw-enter-translate-y: initial;
}
.fade-in-0 {
--tw-enter-opacity: 0;
}
.zoom-in-95 {
--tw-enter-scale: .95;
}
.duration-1000 {
animation-duration: 1000ms;
}
.duration-200 {
animation-duration: 200ms;
}
.duration-300 {
animation-duration: 300ms;
}
.ease-in-out {
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.running {
animation-play-state: running;
}

:root {
--kut-paper: #FFFFFF;
--kut-paper-2: #F6F6F4;
--kut-ink: #0A0A0A;
--kut-ink-soft: #1A1A1A;
--kut-mute: #6B6B6B;
--kut-line: #1A1A1A;
--kut-line-soft: #E4E4E0;
--kut-line-faint: #EFEFEC;
--kut-accent: #A39074;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
background: var(--kut-paper);
color: var(--kut-ink);
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
font-weight: 400;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-feature-settings: 'ss01', 'cv11';
}

::selection { background: var(--kut-ink); color: var(--kut-paper); }

.font-serif { font-family: 'Fraunces', 'Times New Roman', serif; letter-spacing: -0.01em; }
.font-sans { font-family: 'Inter', sans-serif; }

.kut-eyebrow {
font-family: 'Inter', sans-serif;
font-size: 10px;
font-weight: 500;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--kut-mute);
}
.kut-eyebrow-light { color: rgba(255, 255, 255, 0.55); }
.kut-eyebrow-ink { color: var(--kut-ink); }

.kut-divider { height: 1px; background: var(--kut-line); width: 100%; }
.kut-divider-soft { height: 1px; background: var(--kut-line-soft); width: 100%; }

.kut-num {
font-family: 'Fraunces', serif;
font-weight: 400;
font-variant-numeric: tabular-nums lining-nums;
letter-spacing: -0.025em;
}

.kut-link {
display: inline-flex;
align-items: center;
gap: 8px;
color: inherit;
border-bottom: 1px solid currentColor;
padding-bottom: 2px;
transition: opacity .2s ease;
}
.kut-link:hover { opacity: .55; }

.kut-btn {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 16px 26px;
background: var(--kut-ink);
color: var(--kut-paper);
font-family: 'Inter', sans-serif;
font-size: 11px;
letter-spacing: 0.2em;
text-transform: uppercase;
font-weight: 500;
transition: background .25s ease, transform .25s ease;
border: none;
cursor: pointer;
}
.kut-btn:hover { background: var(--kut-ink-soft); }
.kut-btn-ghost { background: transparent; color: var(--kut-ink); border: 1px solid var(--kut-ink); }
.kut-btn-ghost:hover { background: var(--kut-ink); color: var(--kut-paper); }

.kut-reveal { opacity: 0; transform: translateY(20px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.kut-reveal.is-visible { opacity: 1; transform: translateY(0); }

.kut-mono-img { filter: grayscale(100%) contrast(1.05) brightness(0.85); transition: filter .6s ease, transform 1.2s cubic-bezier(.2,.7,.2,1); }

/* Asset card hover — global rule */
[data-testid^="asset-category-"]:hover .kut-cat-desc {
max-height: 200px !important;
opacity: 1 !important;
margin-top: 6px !important;
}
[data-testid^="asset-category-"]:hover .kut-mono-img {
transform: scale(1.04);
filter: grayscale(100%) contrast(1.1) brightness(0.95);
}

.kut-grain {
position: absolute;
inset: 0;
pointer-events: none;
opacity: 0.05;
mix-blend-mode: overlay;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.7'/></svg>");
}

.kut-h1 {
font-family: 'Fraunces', serif;
font-weight: 400;
font-size: clamp(48px, 8.5vw, 120px);
line-height: 1.0;
letter-spacing: -0.03em;
}
.kut-h2 {
font-family: 'Fraunces', serif;
font-weight: 400;
font-size: clamp(34px, 5vw, 64px);
line-height: 1.04;
letter-spacing: -0.025em;
}
.kut-h3 {
font-family: 'Fraunces', serif;
font-weight: 400;
font-size: clamp(22px, 2.6vw, 32px);
line-height: 1.15;
letter-spacing: -0.015em;
}
.kut-h4 {
font-family: 'Inter', sans-serif;
font-weight: 500;
font-size: 14px;
line-height: 1.3;
letter-spacing: 0.02em;
}
.kut-body {
font-family: 'Inter', sans-serif;
font-size: 16px;
line-height: 1.6;
color: var(--kut-ink-soft);
font-weight: 400;
}
.kut-body-small {
font-family: 'Inter', sans-serif;
font-size: 13px;
line-height: 1.55;
color: var(--kut-mute);
}
@media (max-width: 768px) {
.kut-body { font-size: 15px; }
}

.kut-container {
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
}
@media (max-width: 768px) { .kut-container { padding: 0 20px; } }

/* Tag pill */
.kut-tag {
display: inline-flex;
align-items: center;
padding: 6px 12px;
border: 1px solid var(--kut-line-soft);
font-family: 'Inter', sans-serif;
font-size: 11px;
letter-spacing: 0.04em;
color: var(--kut-ink-soft);
background: transparent;
}

/* Dot pulse */
@keyframes kut-pulse {
0%, 100% { box-shadow: 0 0 0 4px rgba(10, 10, 10, 0.1); }
50% { box-shadow: 0 0 0 10px rgba(10, 10, 10, 0.04); }
}

/* Marquee */
@keyframes kut-marquee {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
.file\:border-0::file-selector-button {
border-width: 0px;
}
.file\:bg-transparent::file-selector-button {
background-color: transparent;
}
.file\:text-sm::file-selector-button {
font-size: 0.875rem;
line-height: 1.25rem;
}
.file\:font-medium::file-selector-button {
font-weight: 500;
}
.file\:text-foreground::file-selector-button {
color: hsl(var(--foreground));
}
.placeholder\:text-muted-foreground::placeholder {
color: hsl(var(--muted-foreground));
}
.after\:absolute::after {
content: var(--tw-content);
position: absolute;
}
.after\:inset-y-0::after {
content: var(--tw-content);
top: 0px;
bottom: 0px;
}
.after\:left-1\/2::after {
content: var(--tw-content);
left: 50%;
}
.after\:w-1::after {
content: var(--tw-content);
width: 0.25rem;
}
.after\:-translate-x-1\/2::after {
content: var(--tw-content);
--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));
}
.first\:rounded-l-md:first-child {
border-top-left-radius: calc(var(--radius) - 2px);
border-bottom-left-radius: calc(var(--radius) - 2px);
}
.first\:border-l:first-child {
border-left-width: 1px;
}
.last\:rounded-r-md:last-child {
border-top-right-radius: calc(var(--radius) - 2px);
border-bottom-right-radius: calc(var(--radius) - 2px);
}
.focus-within\:relative:focus-within {
position: relative;
}
.focus-within\:z-20:focus-within {
z-index: 20;
}
.hover\:bg-accent:hover {
background-color: hsl(var(--accent));
}
.hover\:bg-destructive\/80:hover {
background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover {
background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-muted:hover {
background-color: hsl(var(--muted));
}
.hover\:bg-muted\/50:hover {
background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-primary:hover {
background-color: hsl(var(--primary));
}
.hover\:bg-primary\/80:hover {
background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover {
background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-secondary:hover {
background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/80:hover {
background-color: hsl(var(--secondary) / 0.8);
}
.hover\:text-accent-foreground:hover {
color: hsl(var(--accent-foreground));
}
.hover\:text-foreground:hover {
color: hsl(var(--foreground));
}
.hover\:text-muted-foreground:hover {
color: hsl(var(--muted-foreground));
}
.hover\:text-primary-foreground:hover {
color: hsl(var(--primary-foreground));
}
.hover\:underline:hover {
text-decoration-line: underline;
}
.hover\:opacity-100:hover {
opacity: 1;
}
.focus\:bg-accent:focus {
background-color: hsl(var(--accent));
}
.focus\:bg-primary:focus {
background-color: hsl(var(--primary));
}
.focus\:text-accent-foreground:focus {
color: hsl(var(--accent-foreground));
}
.focus\:text-primary-foreground:focus {
color: hsl(var(--primary-foreground));
}
.focus\:opacity-100:focus {
opacity: 1;
}
.focus\:outline-none:focus {
outline: 2px solid transparent;
outline-offset: 2px;
}
.focus\:ring-1:focus {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-2:focus {
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-ring:focus {
--tw-ring-color: hsl(var(--ring));
}
.focus\:ring-offset-2:focus {
--tw-ring-offset-width: 2px;
}
.focus-visible\:outline-none:focus-visible {
outline: 2px solid transparent;
outline-offset: 2px;
}
.focus-visible\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.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-ring:focus-visible {
--tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-offset-1:focus-visible {
--tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible {
--tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible {
--tw-ring-offset-color: hsl(var(--background));
}
.disabled\:pointer-events-none:disabled {
pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled {
cursor: not-allowed;
}
.disabled\:opacity-50:disabled {
opacity: 0.5;
}
.group:hover .group-hover\:opacity-100 {
opacity: 1;
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border {
border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted {
background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary {
background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background {
background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300 {
--tw-text-opacity: 1;
color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground {
color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground {
color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground {
color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\:shadow-lg {
--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);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
--tw-text-opacity: 1;
color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
--tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
--tw-ring-opacity: 1;
--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
--tw-ring-offset-color: #dc2626;
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70 {
opacity: 0.7;
}
.has-\[\:disabled\]\:opacity-50:has(:disabled) {
opacity: 0.5;
}
.aria-selected\:bg-accent[aria-selected="true"] {
background-color: hsl(var(--accent));
}
.aria-selected\:bg-accent\/50[aria-selected="true"] {
background-color: hsl(var(--accent) / 0.5);
}
.aria-selected\:text-accent-foreground[aria-selected="true"] {
color: hsl(var(--accent-foreground));
}
.aria-selected\:text-muted-foreground[aria-selected="true"] {
color: hsl(var(--muted-foreground));
}
.aria-selected\:opacity-100[aria-selected="true"] {
opacity: 1;
}
.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
pointer-events: none;
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
pointer-events: none;
}
.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
height: 1px;
}
.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
width: 100%;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
--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));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
--tw-translate-x: -0.25rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"] {
--tw-translate-x: 0.25rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
--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));
}
.data-\[state\=checked\]\:translate-x-4[data-state="checked"] {
--tw-translate-x: 1rem;
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));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
--tw-translate-x: 0px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
--tw-translate-x: 0px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
--tw-translate-x: var(--radix-toast-swipe-end-x);
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));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
--tw-translate-x: var(--radix-toast-swipe-move-x);
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 accordion-up {

from {
height: var(--radix-accordion-content-height);
}

to {
height: 0;
}
}
.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
animation: accordion-up 0.2s ease-out;
}
@keyframes accordion-down {

from {
height: 0;
}

to {
height: var(--radix-accordion-content-height);
}
}
.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
animation: accordion-down 0.2s ease-out;
}
.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
flex-direction: column;
}
.data-\[selected\=true\]\:bg-accent[data-selected="true"] {
background-color: hsl(var(--accent));
}
.data-\[state\=active\]\:bg-background[data-state="active"] {
background-color: hsl(var(--background));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
background-color: hsl(var(--primary));
}
.data-\[state\=on\]\:bg-accent[data-state="on"] {
background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent[data-state="open"] {
background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
background-color: hsl(var(--accent) / 0.5);
}
.data-\[state\=open\]\:bg-secondary[data-state="open"] {
background-color: hsl(var(--secondary));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"] {
background-color: hsl(var(--input));
}
.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
color: hsl(var(--muted-foreground));
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"] {
color: hsl(var(--foreground));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-accent-foreground[data-state="open"] {
color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"] {
color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled] {
opacity: 0.5;
}
.data-\[state\=active\]\:shadow[data-state="active"] {
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
transition-property: none;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
transition-duration: 500ms;
}
.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
animation-name: enter;
animation-duration: 150ms;
--tw-enter-opacity: initial;
--tw-enter-scale: initial;
--tw-enter-rotate: initial;
--tw-enter-translate-x: initial;
--tw-enter-translate-y: initial;
}
.data-\[state\=open\]\:animate-in[data-state="open"] {
animation-name: enter;
animation-duration: 150ms;
--tw-enter-opacity: initial;
--tw-enter-scale: initial;
--tw-enter-rotate: initial;
--tw-enter-translate-x: initial;
--tw-enter-translate-y: initial;
}
.data-\[state\=visible\]\:animate-in[data-state="visible"] {
animation-name: enter;
animation-duration: 150ms;
--tw-enter-opacity: initial;
--tw-enter-scale: initial;
--tw-enter-rotate: initial;
--tw-enter-translate-x: initial;
--tw-enter-translate-y: initial;
}
.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
animation-name: exit;
animation-duration: 150ms;
--tw-exit-opacity: initial;
--tw-exit-scale: initial;
--tw-exit-rotate: initial;
--tw-exit-translate-x: initial;
--tw-exit-translate-y: initial;
}
.data-\[state\=closed\]\:animate-out[data-state="closed"] {
animation-name: exit;
animation-duration: 150ms;
--tw-exit-opacity: initial;
--tw-exit-scale: initial;
--tw-exit-rotate: initial;
--tw-exit-translate-x: initial;
--tw-exit-translate-y: initial;
}
.data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
animation-name: exit;
animation-duration: 150ms;
--tw-exit-opacity: initial;
--tw-exit-scale: initial;
--tw-exit-rotate: initial;
--tw-exit-translate-x: initial;
--tw-exit-translate-y: initial;
}
.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
animation-name: exit;
animation-duration: 150ms;
--tw-exit-opacity: initial;
--tw-exit-scale: initial;
--tw-exit-rotate: initial;
--tw-exit-translate-x: initial;
--tw-exit-translate-y: initial;
}
.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
--tw-enter-opacity: 0;
}
.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
--tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-0[data-state="closed"] {
--tw-exit-opacity: 0;
}
.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
--tw-exit-opacity: 0.8;
}
.data-\[state\=hidden\]\:fade-out[data-state="hidden"] {
--tw-exit-opacity: 0;
}
.data-\[state\=open\]\:fade-in-0[data-state="open"] {
--tw-enter-opacity: 0;
}
.data-\[state\=visible\]\:fade-in[data-state="visible"] {
--tw-enter-opacity: 0;
}
.data-\[state\=closed\]\:zoom-out-95[data-state="closed"] {
--tw-exit-scale: .95;
}
.data-\[state\=open\]\:zoom-in-90[data-state="open"] {
--tw-enter-scale: .9;
}
.data-\[state\=open\]\:zoom-in-95[data-state="open"] {
--tw-enter-scale: .95;
}
.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
--tw-enter-translate-x: 13rem;
}
.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
--tw-enter-translate-x: -13rem;
}
.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
--tw-exit-translate-x: 13rem;
}
.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
--tw-exit-translate-x: -13rem;
}
.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
--tw-enter-translate-y: -0.5rem;
}
.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
--tw-enter-translate-x: 0.5rem;
}
.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
--tw-enter-translate-x: -0.5rem;
}
.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
--tw-enter-translate-y: 0.5rem;
}
.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
--tw-exit-translate-y: 100%;
}
.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
--tw-exit-translate-x: -100%;
}
.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
--tw-exit-translate-x: -50%;
}
.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
--tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
--tw-exit-translate-x: 100%;
}
.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
--tw-exit-translate-y: -100%;
}
.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
--tw-exit-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
--tw-enter-translate-y: 100%;
}
.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
--tw-enter-translate-x: -100%;
}
.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
--tw-enter-translate-x: -50%;
}
.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
--tw-enter-translate-x: 100%;
}
.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
--tw-enter-translate-y: -100%;
}
.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
--tw-enter-translate-y: -48%;
}
.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
--tw-enter-translate-y: -100%;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"] {
animation-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"] {
animation-duration: 500ms;
}
.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
content: var(--tw-content);
left: 0px;
}
.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
content: var(--tw-content);
height: 0.25rem;
}
.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
content: var(--tw-content);
width: 100%;
}
.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
content: var(--tw-content);
--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));
}
.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
content: var(--tw-content);
--tw-translate-x: 0px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=open\]\:hover\:bg-accent:hover[data-state="open"] {
background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"] {
background-color: hsl(var(--accent));
}
.group[data-state="open"] .group-data-\[state\=open\]\: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));
}
.dark\:border-destructive:is(.dark *) {
border-color: hsl(var(--destructive));
}
@media (min-width: 640px) {

.sm\:bottom-0 {
bottom: 0px;
}

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

.sm\:top-auto {
top: auto;
}

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

.sm\:block {
display: block;
}

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

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

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

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

.sm\:justify-end {
justify-content: flex-end;
}

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

.sm\:space-x-2 > :not([hidden]) ~ :not([hidden]) {
--tw-space-x-reverse: 0;
margin-right: calc(0.5rem * var(--tw-space-x-reverse));
margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) {
--tw-space-x-reverse: 0;
margin-right: calc(1rem * var(--tw-space-x-reverse));
margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

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

.sm\:rounded-lg {
border-radius: var(--radius);
}

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

.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
--tw-enter-translate-y: 100%;
}
}
@media (min-width: 768px) {

.md\:absolute {
position: absolute;
}

.md\:inline {
display: inline;
}

.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
width: var(--radix-navigation-menu-viewport-width);
}

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

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

.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\:text-sm {
font-size: 0.875rem;
line-height: 1.25rem;
}
}
@media (min-width: 1024px) {

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

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

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

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

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

.lg\:flex {
display: flex;
}

.lg\:hidden {
display: none;
}

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

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

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

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

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

.lg\:justify-end {
justify-content: flex-end;
}

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

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

.lg\:gap-20 {
gap: 5rem;
}

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

.lg\:text-right {
text-align: right;
}
}
.\[\&\+div\]\:text-xs+div {
font-size: 0.75rem;
line-height: 1rem;
}
.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end) {
border-top-right-radius: calc(var(--radius) - 2px);
border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start) {
border-top-left-radius: calc(var(--radius) - 2px);
border-bottom-left-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]) {
border-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
background-color: hsl(var(--accent));
}
.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
border-top-left-radius: calc(var(--radius) - 2px);
border-bottom-left-radius: calc(var(--radius) - 2px);
}
.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
border-top-right-radius: calc(var(--radius) - 2px);
border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) {
background-color: hsl(var(--accent) / 0.5);
}
.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) {
border-top-right-radius: calc(var(--radius) - 2px);
border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
padding-right: 0px;
}
.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox] {
--tw-translate-y: 2px;
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));
}
.\[\&\>span\]\:line-clamp-1>span {
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
--tw-translate-y: -3px;
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));
}
.\[\&\>svg\]\:absolute>svg {
position: absolute;
}
.\[\&\>svg\]\:left-4>svg {
left: 1rem;
}
.\[\&\>svg\]\:top-4>svg {
top: 1rem;
}
.\[\&\>svg\]\:size-4>svg {
width: 1rem;
height: 1rem;
}
.\[\&\>svg\]\:h-3\.5>svg {
height: 0.875rem;
}
.\[\&\>svg\]\:w-3\.5>svg {
width: 0.875rem;
}
.\[\&\>svg\]\:shrink-0>svg {
flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg {
color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg {
color: hsl(var(--foreground));
}
.\[\&\>svg\~\*\]\:pl-7>svg~* {
padding-left: 1.75rem;
}
.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
border-bottom-width: 0px;
}
.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
--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));
}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
--tw-rotate: 180deg;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
}
.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
font-size: 0.75rem;
line-height: 1rem;
}
.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
font-weight: 500;
}
.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
color: hsl(var(--muted-foreground));
}
.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
padding-top: 0px;
}
.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
height: 1.25rem;
}
.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
width: 1.25rem;
}
.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
height: 3rem;
}
.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
}
.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
height: 1.25rem;
}
.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
width: 1.25rem;
}
.\[\&_p\]\:leading-relaxed p {
line-height: 1.625;
}
.\[\&_svg\]\:pointer-events-none svg {
pointer-events: none;
}
.\[\&_svg\]\:size-4 svg {
width: 1rem;
height: 1rem;
}
.\[\&_svg\]\:shrink-0 svg {
flex-shrink: 0;
}
.\[\&_tr\:last-child\]\:border-0 tr:last-child {
border-width: 0px;
}
.\[\&_tr\]\:border-b tr {
border-bottom-width: 1px;
}




/* ------------------------------------------------------------------
   Extracted from the design's inline styles. Single-purpose utility
   classes plus a handful of named components used across sections.
   ------------------------------------------------------------------ */

/* font-size utilities */
.fs-9  { font-size: 9px; }
.fs-10 { font-size: 10px; }
.fs-11 { font-size: 11px; }
.fs-12 { font-size: 12px; }
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }

/* color utilities */
.c-ink         { color: var(--kut-ink); }
.c-mute        { color: var(--kut-mute); }
.c-light-mute  { color: rgba(255, 255, 255, 0.55); }
.c-paper-faint { color: rgba(255, 255, 255, 0.55); }
.c-paper-soft  { color: rgba(255, 255, 255, 0.92); }

/* spacing utilities */
.mb-12 { margin-bottom: 12px; }
.mb-16 { margin-bottom: 16px; }
.mb-18 { margin-bottom: 18px; }
.mb-24 { margin-bottom: 24px; }
.mb-56 { margin-bottom: 56px; }
.mt-8  { margin-top: 8px; }
.mt-12 { margin-top: 12px; }

/* misc utilities */
.d-contents { display: contents; }
.delay-120  { transition-delay: 120ms; }
.italic-mute { font-style: italic; opacity: 0.55; }

/* Numeric, type variants */
.kut-num-30 {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -0.025em;
  font-size: clamp(22px, 2.2vw, 30px);
  color: var(--kut-ink);
}
.kut-num-30-light {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -0.025em;
  font-size: clamp(22px, 2.4vw, 30px);
  color: rgba(255, 255, 255, 0.95);
}
.kut-h-22 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: -0.005em;
}
.kut-h-26 {
  font-family: 'Fraunces', serif;
  font-size: 26px;
  letter-spacing: -0.02em;
  color: var(--kut-ink);
}

/* Top navigation buttons */
.kut-nav-btn {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--kut-ink);
  opacity: 0.7;
  transition: opacity 0.2s;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 8px 0;
}
.kut-nav-btn:hover { opacity: 1; }

/* Marquee dot */
.kut-marquee-dot { margin-left: 64px; opacity: 0.3; }

/* Border + soft util */
.kut-bb-soft { border-bottom: 1px solid var(--kut-line-soft); }

/* Key/Value row used in the data tables across sections */
.kut-kv-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 1.4fr;
  padding: 14px 0;
  border-top: 1px solid var(--kut-line-faint);
  align-items: baseline;
  gap: 18px;
}
.kut-kv-row--muted {
  color: var(--kut-mute);
  border-color: var(--kut-line-faint);
}

/* Dark row variant (used in the partnership / documentary sections) */
.kut-row-dark {
  display: grid;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  gap: 24px;
  align-items: center;
}
.kut-hd-15-light {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.4;
}

/* Bulleted list rows used in disclaimers / why blocks */
.kut-bullet-row {
  font-size: 13px;
  color: var(--kut-ink-soft);
  padding: 12px 0 12px 22px;
  border-bottom: 1px solid var(--kut-line-faint);
  position: relative;
}
.kut-bullet-row__tick {
  position: absolute;
  left: 0;
  top: 18px;
  width: 10px;
  height: 1px;
  background: var(--kut-ink);
}

/* Asset card row (portfolio) */
.kut-asset-row {
  padding: 28px 0;
  display: grid;
  grid-template-columns: 40px 1fr auto auto;
  gap: 20px;
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--kut-line-soft);
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.kut-asset-detail {
  display: none;
  overflow: hidden;
}
.kut-asset-detail-pad {
  padding: 8px 0 32px 60px;
}
.kut-asset-detail-foot {
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 20px 0 0;
  margin-top: 20px;
  border-top: 1px solid var(--kut-line);
  align-items: center;
}
.kut-asset-chev {
  /* Avoid a `transition: transform` here — under some browsers an active
     transition prevents the cascade from picking up the rotated state
     declared in `.is-open` below. The flip is fine without animation. */
  transform: rotate(0deg);
  flex-shrink: 0;
}
/* `is-open` on the card is the canonical state; aria-expanded on the
   button is the a11y mirror. Both flip the chevron. */
.kut-asset-row[aria-expanded="true"] .kut-asset-chev,
.kut-portfolio__card.is-open .kut-asset-chev {
  transform: rotate(45deg);
}

/* Category thumbnail (portfolio header strip) */
.kut-cat-thumb {
  aspect-ratio: 3 / 4;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.kut-cat-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.25) 55%, rgba(0, 0, 0, 0.88) 100%);
}


/* ------------------------------------------------------------------
   Section / header / footer / page-specific classes for the partials
   produced from index.html. Composed on top of the kut-* base above.
   ------------------------------------------------------------------ */

/* Reveal-on-scroll delays */
.kut-reveal--delay-60  { transition-delay: 60ms; }
.kut-reveal--delay-80  { transition-delay: 80ms; }
.kut-reveal--delay-160 { transition-delay: 160ms; }
.kut-reveal--delay-180 { transition-delay: 180ms; }
.kut-reveal--delay-240 { transition-delay: 240ms; }

/* === Header / top nav ============================================ */
/* Base look is opaque-on-white; the at-top look (background + child colors)
   is applied inline by JS via the `.is-at-top` class, *not* by a CSS rule —
   Chromium gets stuck pinning `background` to the previous value when a
   `transition` is in play. So no `transition: background` here either. */
.kut-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 50;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px) saturate(140%);
    border-bottom: 1px solid var(--kut-line-soft);
}
.kut-header.is-at-top .kut-header__brand,
.kut-header.is-at-top .kut-nav-btn,
.kut-header.is-at-top .kut-lang__btn,
.kut-header.is-at-top .kut-nav-toggle { color: rgba(255, 255, 255, 0.92); }
.kut-header.is-at-top .kut-header__brand-tail { color: rgba(255, 255, 255, 0.55); }
.kut-header.is-at-top .kut-lang__btn { opacity: 0.55; }
.kut-header.is-at-top .kut-lang__btn.is-active { opacity: 1; color: #fff; }
.kut-header.is-at-top .kut-lang__sep { color: rgba(255, 255, 255, 0.3); }
.kut-header__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
}
.kut-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--kut-ink);
    text-decoration: none;
}
.kut-header__mark {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}
.kut-header__brand-text {
    font-size: 17px;
    letter-spacing: -0.005em;
    font-weight: 400;
}
.kut-header__brand-tail { color: var(--kut-ink); opacity: 0.55; }
.kut-header__nav { gap: 32px; }
.kut-header__meta { display: flex; align-items: center; gap: 16px; }
.kut-lang { display: inline-flex; align-items: center; gap: 6px; font-family: 'Inter', sans-serif; font-size: 11px; letter-spacing: 0.06em; color: var(--kut-ink); }
.kut-lang__btn { color: var(--kut-ink); opacity: 0.5; text-decoration: none; }
.kut-lang__btn.is-active { opacity: 1; font-weight: 500; }
.kut-lang__sep { opacity: 0.3; }
.kut-nav-toggle {
    color: var(--kut-ink);
    padding: 6px;
    background: transparent;
    border: 0;
    cursor: pointer;
}
.kut-nav-mobile {
    border-top: 1px solid var(--kut-line-soft);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
}
.kut-nav-mobile nav {
    display: flex;
    flex-direction: column;
    padding: 16px 0;
}
.kut-nav-mobile__link {
    padding: 12px 40px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--kut-ink);
    text-decoration: none;
}
.kut-nav-mobile__link:hover { background: rgba(0, 0, 0, 0.04); }

/* === Section frames ============================================== */
.kut-section { padding: 140px 0; }
.kut-section--paper { background: var(--kut-paper); color: var(--kut-ink); }
.kut-section--dark  { background: #000; color: rgba(255, 255, 255, 0.92); }
.kut-section__rule { flex: 1 1 0%; height: 1px; background: var(--kut-line-soft); max-width: 80px; }
.kut-section__rule--light { background: rgba(255, 255, 255, 0.15); }

/* === Hero ======================================================== */
.kut-hero {
    background: #000;
    color: rgba(255, 255, 255, 0.95);
    min-height: 100vh;
    padding-top: 72px;
    position: relative;
}
.kut-hero__topline { padding-top: 64px; }
.kut-hero__main    { padding-top: 120px; padding-bottom: 60px; }
.kut-hero__title {
    color: rgba(255, 255, 255, 0.98);
    max-width: 1200px;
}
.kut-hero__title-italic { font-style: italic; font-weight: 300; color: rgba(255, 255, 255, 0.85); }
.kut-hero__cols { margin-top: 60px; }
.kut-hero__lede {
    font-family: 'Inter', sans-serif;
    font-size: clamp(17px, 1.4vw, 20px);
    font-weight: 300;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.68);
    letter-spacing: 0.005em;
}
.kut-btn--paper { background: #fff; color: #000; }
.kut-btn--paper:hover { background: rgba(255, 255, 255, 0.85); }
.kut-btn--outline-light {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.kut-btn--outline-light:hover { background: rgba(255, 255, 255, 0.08); }
.kut-hero__metrics { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.kut-hero__metric {
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    padding: 28px 18px;
}
.kut-hero__metric--last { border-right: 0; }
.kut-hero__marquee {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 20px 0;
    overflow: hidden;
    position: absolute;
    bottom: 0; left: 0; right: 0;
}
.kut-hero__marquee-track {
    display: flex;
    gap: 64px;
    white-space: nowrap;
    animation: kut-marquee 60s linear infinite;
    width: max-content;
}

/* === About / key metrics ========================================= */
.kut-key-metrics {
    margin-top: 96px;
    border-top: 1px solid var(--kut-line);
    border-bottom: 1px solid var(--kut-line);
}
.kut-key-metrics__cell {
    padding: 28px 24px;
    border-right: 1px solid var(--kut-line-faint);
}
.kut-key-metrics__cell--last { border-right: 0; }
.kut-row-start { align-items: start; }

/* === Mission ===================================================== */
.kut-mission__title {
    font-size: clamp(24px, 3.2vw, 44px);
    line-height: 1.25;
    max-width: 1100px;
    color: rgba(255, 255, 255, 0.98);
    font-weight: 400;
    letter-spacing: -0.015em;
}
.kut-mission__sub {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 1.3vw, 15px);
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.55);
    max-width: 960px;
    margin-top: 24px;
}
.kut-mission__title-italic { font-style: italic; opacity: 0.7; }
.kut-mission__pillars {
    margin-top: 96px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.kut-mission__pillar {
    padding: 40px 32px 32px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.kut-mission__pillar--last { border-right: 0; }
.kut-mission__pillar-num { font-size: 12px; margin-bottom: 20px; }
.kut-mission__pillar-h {
    font-size: 26px;
    color: rgba(255, 255, 255, 0.96);
    margin-bottom: 14px;
    font-weight: 400;
}
.kut-mission__pillar-p {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6);
}
.kut-mission__quote-wrap { margin-top: 0; }
.kut-mission__quote {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding: 72px 0;
    margin-top: 0;
}
.kut-mission__quote-text {
    font-style: italic;
    font-size: clamp(24px, 3.2vw, 44px);
    line-height: 1.25;
    color: rgba(255, 255, 255, 0.95);
    font-weight: 300;
    letter-spacing: -0.015em;
    max-width: 1000px;
}
.kut-mission__quote-cite { margin-top: 32px; font-size: 11px; }

/* === FundNumbers ================================================= */
.kut-fn__title { max-width: 900px; }
.kut-fn__bigs { margin-top: 80px; border-top: 1px solid var(--kut-line); display: grid; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 768px) { .kut-fn__bigs { grid-template-columns: 1fr; } }
.kut-fn__big {
    padding: 40px 28px 44px;
    border-right: 1px solid var(--kut-line-faint);
    border-bottom: 1px solid var(--kut-line);
    min-height: 280px;
    display: flex;
    flex-direction: column;
}
.kut-fn__big--last { border-right: 0; }
.kut-fn__big--delay-80  { transition-delay: 80ms; }
.kut-fn__big--delay-160 { transition-delay: 160ms; }
.kut-fn__big-num {
    font-size: clamp(54px, 6vw, 80px);
    color: var(--kut-ink);
    line-height: 1;
    letter-spacing: -0.03em;
}
.kut-fn__big-unit {
    font-size: 18px;
    color: var(--kut-mute);
    margin-top: 6px;
    font-style: italic;
}
.kut-fn__big-body {
    font-size: 13px;
    line-height: 1.55;
    color: var(--kut-mute);
    margin-top: auto;
    padding-top: 24px;
}
.kut-fn__tables { margin-top: 120px; }
.kut-fn__rows { border-top: 1px solid var(--kut-line); }
.kut-fn__row {
    grid-template-columns: minmax(140px, 0.6fr) 1fr;
    padding: 20px 0;
    border-bottom: 1px solid var(--kut-line-faint);
    gap: 20px;
    align-items: baseline;
}
.kut-fn__jur-row {
    grid-template-columns: 50px 1fr auto;
    padding: 20px 0;
    border-bottom: 1px solid var(--kut-line-faint);
    align-items: baseline;
    gap: 16px;
}
.kut-fn__jur-code { font-size: 20px; color: var(--kut-ink); }
.kut-fn__jur-title { font-size: 17px; color: var(--kut-ink); }
.kut-fn__map-wrap { margin-top: 120px; }
.kut-fn__map-h    { max-width: 720px; margin-bottom: 32px; }
.kut-fn__map { margin-top: 32px; }
.kut-fn__map-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 1;
}
.kut-fn__map-svg {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}
.kut-fn__map-dot {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgb(10, 10, 10);
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 4px rgba(10, 10, 10, 0.08);
    animation: kut-pulse 3s ease-in-out infinite;
}
.kut-fn__map-caption {
    position: absolute;
    left: 0;
    bottom: -8px;
    font-family: 'Fraunces', serif;
    font-style: italic;
    font-size: 11px;
    color: var(--kut-mute);
    letter-spacing: 0.04em;
}
.kut-fn__jur-tags { margin-top: 64px; }
.kut-fn__jur-head { margin-bottom: 14px; }
.kut-tag--muted { color: var(--kut-mute); border-color: var(--kut-line-faint); }

/* === Partnership ================================================= */
.kut-partnership__title {
    font-size: clamp(34px, 4.8vw, 64px);
    line-height: 1.05;
    color: rgba(255, 255, 255, 0.98);
    font-weight: 400;
    letter-spacing: -0.025em;
}
.kut-partnership__title-italic { font-style: italic; opacity: 0.7; }
.kut-partnership__lede {
    font-size: 16px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.7);
}
.kut-partnership__card-wrap { transition-delay: 140ms; }
.kut-partnership__card {
    margin-top: 80px;
    padding: 40px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    align-items: center;
}
.kut-partnership__logo {
    display: block;
    width: 100%;
    max-width: 200px;
    height: auto;
    /* official SVG is already white-on-transparent — no filter needed */
}
.kut-partnership__sub {
    font-size: 24px;
    color: rgba(255, 255, 255, 0.96);
    margin-bottom: 14px;
}
.kut-partnership__body {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6);
}
.kut-partnership__doc-note {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 10px;
}

/* === Structure =================================================== */
.kut-structure__title { max-width: 900px; }
.kut-structure__spv-explainer { margin-top: 28px; max-width: 860px; }
.kut-structure__spv-explainer-label {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--kut-ink-soft);
    opacity: 0.6;
    margin-bottom: 12px;
}
.kut-structure__spv-explainer-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.75;
    color: var(--kut-ink-soft);
}
.kut-structure__diagram { margin-top: 80px; margin-bottom: 100px; }
.kut-structure__spv {
    padding: 28px;
    border: 1px solid var(--kut-line);
    background: var(--kut-paper);
    min-height: 160px;
    display: flex;
    flex-direction: column;
}
.kut-structure__spv-tag { font-size: 14px; color: var(--kut-ink); }
.kut-structure__spv-name {
    font-size: 22px;
    color: var(--kut-ink);
    margin-bottom: 12px;
}
.kut-structure__spv-foot { margin-top: auto; }
.kut-structure__chevron {
    padding: 32px 0;
    position: relative;
}
.kut-structure__chevron-line { width: 1px; height: 60px; background: var(--kut-line); }
.kut-structure__chevron-label {
    position: absolute;
    background: var(--kut-paper);
    padding: 4px 14px;
}
.kut-structure__master {
    background: #000;
    color: #fff;
    padding: 40px;
    position: relative;
}
.kut-structure__master-eyebrow { margin-bottom: 14px; font-size: 10px; }
.kut-structure__master-h {
    font-size: clamp(26px, 3vw, 38px);
    color: #fff;
    font-weight: 400;
    letter-spacing: -0.02em;
}
.kut-structure__master-aside { padding-top: 6px; }
.kut-structure__master-body {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.65);
}
.kut-structure__hold {
    padding: 32px;
    border: 1px solid var(--kut-line);
    background: var(--kut-paper);
}
.kut-structure__hold-letter {
    font-size: 48px;
    color: var(--kut-ink);
    line-height: 1;
    font-style: italic;
    font-weight: 400;
}
.kut-structure__hold-h {
    font-size: 24px;
    color: var(--kut-ink);
    margin-bottom: 12px;
    font-weight: 400;
}
.kut-structure__hold-body {
    font-size: 14px;
    line-height: 1.55;
    color: var(--kut-mute);
    margin-bottom: 20px;
}
.kut-structure__hold-list { list-style: none; padding: 0; border-top: 1px solid var(--kut-line-faint); }
.kut-structure__flow-h { margin-bottom: 40px; }
.kut-structure__flow { border-top: 1px solid var(--kut-line); }
.kut-structure__flow-step {
    padding: 32px 40px 40px 24px;
    border-right: 1px solid var(--kut-line-faint);
    border-bottom: 1px solid var(--kut-line);
    min-height: 220px;
    position: relative;
}
.kut-structure__flow-step--last { border-right: 0; }
.kut-structure__flow-step--row2 {
    padding: 56px 40px 40px 24px;
    border-bottom: 0;
}
.kut-structure__flow-numrow {
    display: flex;
    align-items: center;
    gap: 10px;
}
.kut-structure__flow-num {
    font-size: 36px;
    color: var(--kut-ink);
    line-height: 1;
}
.kut-structure__flow-arrow {
    color: var(--kut-mute);
    flex-shrink: 0;
    /* поднять стрелку чуть выше, чтобы тип совпадал с серединой капсочной высоты "0" */
    transform: translateY(-2px);
}
.kut-structure__flow-h-step {
    font-size: 22px;
    color: var(--kut-ink);
    margin-bottom: 14px;
    font-weight: 400;
}
.kut-structure__flow-body {
    font-size: 13px;
    line-height: 1.55;
    color: var(--kut-mute);
}
.kut-structure__layers-head { margin-top: 120px; }
.kut-structure__layers-h { margin-bottom: 40px; }
.kut-structure__layers { border-top: 1px solid var(--kut-line); }
.kut-structure__layer {
    padding: 28px 0;
    border-bottom: 1px solid var(--kut-line-faint);
    gap: 24px;
    align-items: baseline;
}
.kut-structure__why-grid { margin-top: 120px; }
.kut-structure__why-h { margin-bottom: 32px; }
.kut-structure__why-list { list-style: none; padding: 0; }
.kut-structure__why-item {
    font-size: 15px;
    color: var(--kut-ink-soft);
    padding: 16px 0 16px 32px;
    border-top: 1px solid var(--kut-line-faint);
    position: relative;
}
.kut-structure__why-num {
    position: absolute;
    left: 0;
    top: 16px;
    font-size: 12px;
    color: var(--kut-mute);
}
.kut-structure__disc-item {
    font-size: 14px;
    color: var(--kut-mute);
    padding: 16px 0 16px 32px;
    border-top: 1px solid var(--kut-line-faint);
    position: relative;
}
.kut-structure__disc-tick {
    position: absolute;
    left: 0;
    top: 23px;
    width: 16px;
    height: 1px;
    background: var(--kut-mute);
}
.mb-32 { margin-bottom: 32px; }

/* === Documentary cycle =========================================== */
.kut-doc__title {
    font-size: clamp(32px, 4.5vw, 60px);
    line-height: 1.05;
    color: rgba(255, 255, 255, 0.98);
    font-weight: 400;
    letter-spacing: -0.025em;
}
.kut-doc__title-italic { font-style: italic; opacity: 0.7; }
.kut-doc__aside-eyebrow { margin-bottom: 10px; }
.kut-doc__aside-name {
    font-size: 18px;
    font-style: italic;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 18px;
}
.kut-doc__aside-body {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.55);
}
.kut-doc__list { margin-top: 80px; border-top: 1px solid rgba(255, 255, 255, 0.15); }
.kut-doc__note {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
    margin-top: 6px;
}
.kut-doc__aside-text { font-size: 13px; color: rgba(255, 255, 255, 0.7); }

/* === Portfolio =================================================== */
.kut-portfolio__head { align-items: end; }
.kut-portfolio__sum-eyebrow { margin-bottom: 10px; }
.kut-portfolio__sum {
    font-size: clamp(34px, 4vw, 48px);
    color: var(--kut-ink);
    line-height: 1;
    letter-spacing: -0.025em;
}
.kut-portfolio__stage {
    margin-top: 56px;
    padding: 20px 24px;
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}
.kut-portfolio__stage-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
}
.kut-portfolio__stage-text {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    color: #fff;
    letter-spacing: -0.005em;
}
.kut-portfolio__list { margin-top: 48px; border-top: 1px solid var(--kut-line); }
.kut-portfolio__card .kut-asset-row { color: var(--kut-ink); }
.kut-portfolio__card.is-open .kut-asset-detail { display: block; }
.kut-portfolio__card.is-open .kut-asset-chev { transform: rotate(45deg); }

/* === Dividends (03 / 07) ========================================= */
.kut-dividends__head { margin-bottom: 56px; }
.kut-dividends__aside { font-size: 15px; line-height: 1.75; color: var(--kut-ink-soft); max-width: 860px; margin-top: 28px; }
.kut-dividends__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: start; /* каждая колонка своей высоты, без stretch */
}
@media (max-width: 1024px) { .kut-dividends__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .kut-dividends__grid { grid-template-columns: 1fr; } }

.kut-dividends__col {
    padding: 40px 28px 44px;
    /* собственная рамка у каждой колонки — низ ложится «лесенкой» */
    border-top: 1px solid var(--kut-line-soft);
    border-right: 1px solid var(--kut-line-soft);
    border-bottom: 1px solid var(--kut-line-soft);
    display: flex;
    flex-direction: column;
}
.kut-dividends__col--last { border-right: 0; }
@media (max-width: 1024px) {
    .kut-dividends__col:nth-child(2n) { border-right: 0; }
}
@media (max-width: 600px) {
    .kut-dividends__col { border-right: 0; }
}

.kut-dividends__head-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 32px;
}
.kut-dividends__glyph {
    font-size: clamp(28px, 3.4vw, 44px);
    line-height: 1;
    color: var(--kut-ink);
    letter-spacing: -0.02em;
    opacity: 0.85;
}
.kut-dividends__h {
    font-size: 19px;
    line-height: 1.25;
    color: var(--kut-ink);
    font-weight: 400;
    letter-spacing: -0.005em;
    margin: 0 0 14px;
}
.kut-dividends__body {
    font-size: 13px;
    line-height: 1.6;
    color: var(--kut-mute);
    margin: 0 0 24px;
}
.kut-dividends__list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid var(--kut-line-soft);
}
.kut-dividends__list li {
    position: relative;
    font-size: 13px;
    line-height: 1.4;
    color: var(--kut-ink);
    padding: 12px 0 12px 22px;
    border-bottom: 1px solid var(--kut-line-faint);
}
.kut-dividends__list li:last-child { border-bottom: 0; }
.kut-dividends__dash {
    position: absolute;
    left: 0;
    top: 19px;
    width: 12px;
    height: 1px;
    background: var(--kut-ink);
}

.kut-dividends__note {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 24px;
    margin-top: 40px;
}
@media (max-width: 600px) {
    .kut-dividends__note { grid-template-columns: 1fr; gap: 8px; }
}
.kut-dividends__note-label { color: var(--kut-mute); }
.kut-dividends__note-text {
    font-style: italic;
    font-size: 13px;
    line-height: 1.65;
    color: var(--kut-mute);
    margin: 0;
}

/* === Asset categories (between hero and about) =================== */
.kut-cats {
    background: #000;
    color: rgba(255, 255, 255, 0.92);
    padding: 120px 0;
}
.kut-cats__head { margin-bottom: 56px; }
.kut-cats__eyebrow { margin-bottom: 14px; }
.kut-cats__title {
    font-size: clamp(28px, 3.6vw, 48px);
    line-height: 1.05;
    max-width: 720px;
    color: rgba(255, 255, 255, 0.98);
    font-weight: 400;
    letter-spacing: -0.025em;
}
.kut-cats__title-italic { font-style: italic; opacity: 0.75; }
.kut-cats__aside { max-width: 340px; color: rgba(255, 255, 255, 0.55); }

.kut-cat {
    aspect-ratio: 3 / 4;
    cursor: pointer;
}
.kut-cat__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.kut-cat__veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.25) 55%, rgba(0, 0, 0, 0.88) 100%);
}
.kut-cat__corner {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.kut-cat__num   { font-size: 13px; color: rgba(255, 255, 255, 0.6); }
.kut-cat__arrow { color: rgba(255, 255, 255, 0.55); }
.kut-cat__bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 24px;
}
.kut-cat__h {
    font-size: 22px;
    color: rgba(255, 255, 255, 0.98);
    font-weight: 400;
    letter-spacing: -0.005em;
    margin: 0;
}
.kut-cat__body {
    /* hover state defined globally via [data-testid^="asset-category-"]:hover .kut-cat-desc */
    margin: 0;
}

/* === Footer ====================================================== */
.kut-footer {
    background: #000;
    color: rgba(255, 255, 255, 0.85);
    padding-top: 96px;
    padding-bottom: 40px;
}
.kut-footer__brand {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding-bottom: 56px;
    margin-bottom: 56px;
}
.kut-footer__brand-h {
    font-size: clamp(36px, 6vw, 88px);
    font-weight: 400;
    letter-spacing: -0.03em;
    color: rgba(255, 255, 255, 0.96);
    line-height: 1;
}
.kut-footer__email { color: rgba(255, 255, 255, 0.95); font-size: 16px; }
.kut-footer__address {
    margin-top: 18px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.65;
}
.kut-footer__list {
    list-style: none;
    padding: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 2;
    margin: 0;
}
.kut-footer__legal {
    margin-top: 80px;
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.kut-footer__legal p {
    font-size: 12px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.45);
    max-width: 880px;
}
.kut-footer__bottom {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    gap: 16px;
}
.kut-footer__copy {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.06em;
    margin: 0;
}
.kut-footer__cities {
    font-size: 11px;
    font-style: italic;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 0.04em;
    margin: 0;
}

/* === Access gate ================================================= */
body.kut-access {
    background: #000;
    color: rgba(255, 255, 255, 0.92);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
    font-family: 'Inter', sans-serif;
}
body.kut-access .kut-grain {
    position: fixed;
    inset: 0;
    opacity: 0.06;
    z-index: 0;
}
.kut-access > *:not(.kut-grain) { position: relative; z-index: 1; }

.kut-access__top {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px 0;
}
.kut-access__top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.kut-lang--dark .kut-lang__btn { color: rgba(255, 255, 255, 0.55); }
.kut-lang--dark .kut-lang__btn.is-active { color: #fff; }
.kut-lang--dark .kut-lang__sep { color: rgba(255, 255, 255, 0.25); }

.kut-access__main {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    padding: 80px 0 60px;
}
.kut-access__stage {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 64px;
    align-items: start;
}
@media (max-width: 960px) {
    .kut-access__stage { grid-template-columns: 1fr; gap: 48px; }
}

.kut-access__card {
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: 48px 48px 40px;
    background: rgba(255, 255, 255, 0.02);
}
@media (max-width: 600px) { .kut-access__card { padding: 32px 24px; } }

.kut-access__brand {
    display: flex;
    align-items: center;
    gap: 18px;
    padding-bottom: 32px;
    margin-bottom: 36px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.kut-access__logo { display: block; width: 56px; height: 56px; object-fit: contain; }
.kut-access__brand-eyebrow { margin-bottom: 6px; font-size: 10px; }
.kut-access__brand-name {
    font-size: 18px;
    letter-spacing: -0.005em;
    color: rgba(255, 255, 255, 0.95);
}

.kut-access__title {
    font-size: clamp(36px, 5vw, 60px);
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: rgba(255, 255, 255, 0.98);
    font-weight: 400;
    margin: 0 0 18px;
}
.kut-access__title-italic { font-style: italic; opacity: 0.7; }

.kut-access__lede {
    font-size: 15px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.68);
    margin: 0 0 36px;
    max-width: 560px;
}

.kut-access__error {
    margin: 0 0 24px;
    padding: 14px 18px;
    border: 1px solid rgba(255, 96, 96, 0.45);
    background: rgba(255, 96, 96, 0.08);
    color: #ffbcbc;
    font-size: 13px;
    letter-spacing: 0.01em;
}

.kut-access__form {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 24px 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding-top: 28px;
}
.kut-access__label {
    grid-column: 1 / -1;
    font-size: 10px;
}
.kut-access__input {
    grid-column: 1 / 2;
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    padding: 12px 0 14px;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    letter-spacing: 0.04em;
    outline: none;
    transition: border-color .2s;
}
.kut-access__input::placeholder { color: rgba(255, 255, 255, 0.32); letter-spacing: 0.02em; }
.kut-access__input:focus { border-bottom-color: #fff; }
.kut-access__btn {
    grid-column: 2 / 3;
    align-self: end;
    white-space: nowrap;
}
@media (max-width: 520px) {
    .kut-access__form { grid-template-columns: 1fr; }
    .kut-access__btn { grid-column: 1; justify-self: stretch; justify-content: center; }
}

.kut-access__meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 24px;
}
.kut-access__meta-eyebrow { margin-bottom: 10px; font-size: 9px; }
.kut-access__meta-num {
    font-size: clamp(18px, 2vw, 24px);
    color: rgba(255, 255, 255, 0.92);
}

.kut-access__notes { padding-top: 8px; }
.kut-access__note {
    font-size: 13px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 0 18px;
    max-width: 380px;
}
.kut-access__email {
    color: rgba(255, 255, 255, 0.95);
    font-size: 15px;
}

.kut-access__marquee {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 16px 0;
    overflow: hidden;
}

.kut-access__foot {
    padding: 24px 0 32px;
}
.kut-access__copy,
.kut-access__cities {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.4);
    margin: 0;
    letter-spacing: 0.06em;
}
.kut-access__cities { font-style: italic; letter-spacing: 0.04em; }

/* === Responsive cleanup ========================================== */
@media (max-width: 1024px) {
    .kut-header__nav { display: none; }
}
@media (max-width: 768px) {
    .kut-section { padding: 96px 0; }
    .kut-hero__main { padding-top: 80px; }
    .kut-hero__title { font-size: clamp(40px, 12vw, 64px); }
    .kut-mission__pillar { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
    .kut-mission__pillar--last { border-bottom: 0; }
    .kut-fn__big { border-right: 0; }
    .kut-key-metrics__cell {
        border-right: 0;
        border-bottom: 1px solid var(--kut-line-faint);
    }
    .kut-structure__layer { display: grid; grid-template-columns: 1fr; gap: 4px; }
    .kut-asset-row { grid-template-columns: 32px 1fr; }
    .kut-asset-row > :nth-child(3), .kut-asset-row > :nth-child(4) { display: none; }
}

/* === ESCROW Modal ================================================= */
.escrow-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(6px);
}
.escrow-modal-overlay[hidden] { display: none; }

.escrow-modal {
    background: #0a0a0a;
    border: 1px solid rgba(255, 255, 255, 0.1);
    max-width: 1100px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
}

.escrow-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 32px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.escrow-modal__header-title {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
}

.escrow-modal__close {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    transition: color 0.2s;
    flex-shrink: 0;
}
.escrow-modal__close:hover { color: rgba(255, 255, 255, 0.92); }

.escrow-modal__body {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.escrow-modal__col {
    padding: 28px 24px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.escrow-modal__col:last-child { border-right: none; }

.escrow-modal__col-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.escrow-modal__col-name {
    font-family: 'Fraunces', serif;
    font-size: 15px;
    letter-spacing: -0.01em;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 14px;
}

.escrow-modal__chain-tag {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 3px 8px;
    margin-bottom: 14px;
}

.escrow-modal__desc {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 16px;
}

.escrow-modal__balance-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 4px;
}

.escrow-modal__balance {
    font-family: 'Fraunces', serif;
    font-size: 26px;
    letter-spacing: -0.02em;
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.1;
    margin-bottom: 2px;
}

.escrow-modal__balance-sub {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 16px;
}

.escrow-modal__portfolio-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: 8px;
    padding-top: 4px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.escrow-modal__token-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.escrow-modal__token-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    gap: 8px;
}

.escrow-modal__token-name {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
}

.escrow-modal__token-symbol {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.3);
}

.escrow-modal__token-amount {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
    text-align: right;
    white-space: nowrap;
}

.escrow-modal__token-usd {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.3);
    text-align: right;
}

.escrow-modal__wallet {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.escrow-modal__wallet-label {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.3);
    margin-bottom: 6px;
}

.escrow-modal__wallet-addr {
    font-family: 'Inter', monospace;
    font-size: 10px;
    color: rgba(255, 255, 255, 0.5);
    word-break: break-all;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.escrow-modal__etherscan-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
    text-decoration: underline;
    text-underline-offset: 3px;
    margin-top: 12px;
}
.escrow-modal__etherscan-link:hover { color: rgba(255, 255, 255, 0.85); }

.escrow-modal__escrow-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 0 16px;
}

.escrow-modal__lock-icon {
    color: rgba(255, 165, 0, 0.65);
    margin-bottom: 16px;
}

.escrow-modal__escrow-amount {
    font-family: 'Fraunces', serif;
    font-size: 30px;
    letter-spacing: -0.02em;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 4px;
}

.escrow-modal__escrow-token {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 4px;
}

.escrow-modal__escrow-sub {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.3);
    margin-bottom: 16px;
}

.escrow-modal__note {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    line-height: 1.6;
    color: rgba(255, 165, 0, 0.75);
    background: rgba(255, 165, 0, 0.04);
    border: 1px solid rgba(255, 165, 0, 0.12);
    padding: 12px 14px;
    margin-bottom: 16px;
}

.escrow-modal__info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.escrow-modal__info-item {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.4);
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.escrow-modal__info-item:last-child { border-bottom: none; }
.escrow-modal__info-item strong { color: rgba(255, 255, 255, 0.65); }

.escrow-modal__badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 165, 0, 0.85);
}

.escrow-modal__pending-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 32px 16px;
}

.escrow-modal__pending-title {
    font-family: 'Fraunces', serif;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 10px;
}

.escrow-modal__pending-text {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 768px) {
    .escrow-modal__body { grid-template-columns: 1fr; }
    .escrow-modal__col { border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
    .escrow-modal__col:last-child { border-bottom: none; }
    .escrow-modal__header { padding: 20px; }
    .escrow-modal__col { padding: 24px 20px; }
}

/* Structure: master-aside list */
.kut-structure__master-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.kut-structure__master-list li {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    padding: 9px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    display: flex;
    align-items: center;
    gap: 10px;
}
.kut-structure__master-list li:last-child {
    border-bottom: none;
}
.kut-structure__master-list li::before {
    content: '—';
    color: rgba(255, 255, 255, 0.25);
    font-size: 11px;
    flex-shrink: 0;
}

/* Structure: full-width token card */
.kut-structure__hold--full {
    width: 100%;
}

/* Structure: Kaspi/ERC-3643 compare columns */
.kut-structure__hold-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 20px;
    margin-bottom: 24px;
}
@media (max-width: 640px) {
    .kut-structure__hold-compare { grid-template-columns: 1fr; gap: 16px; }
}
.kut-structure__hold-compare-head {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--c-ink, #0a0a0a);
    margin-bottom: 12px;
}
.kut-structure__hold-list--meta {
    border-top: 1px solid rgba(10, 10, 10, 0.08);
    padding-top: 16px;
    margin-top: 4px;
}

/* Hero: tokenization explainer */
.kut-hero__tokenize-explainer {
    font-family: 'Inter', sans-serif;
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.45);
    margin-top: 20px;
    max-width: 480px;
}

/* Portfolio: NFT passport & blockchain explainer */
.kut-portfolio__nft-heading {
    font-family: 'Fraunces', serif;
    font-size: clamp(18px, 2vw, 24px);
    color: var(--c-ink, #0a0a0a);
    margin-top: 28px;
    margin-bottom: 12px;
    font-weight: 400;
}
.kut-portfolio__nft-text {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.75;
    color: rgba(10, 10, 10, 0.6);
    margin-bottom: 24px;
    max-width: 680px;
}
.kut-portfolio__blockchain {
    border-left: 2px solid rgba(10, 10, 10, 0.12);
    padding-left: 20px;
    margin-bottom: 40px;
}
.kut-portfolio__blockchain-lead {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.75;
    color: rgba(10, 10, 10, 0.7);
    margin-bottom: 14px;
}
.kut-portfolio__blockchain-hint {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: rgba(10, 10, 10, 0.38);
    letter-spacing: 0.03em;
    margin-bottom: 8px;
}
.kut-portfolio__blockchain-list {
    list-style: none;
    padding: 0;
    margin: 0 0 14px 0;
}
.kut-portfolio__blockchain-list li {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.7;
    color: rgba(10, 10, 10, 0.65);
    padding: 5px 0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.kut-portfolio__blockchain-list li::before {
    content: '—';
    color: rgba(10, 10, 10, 0.25);
    flex-shrink: 0;
    font-size: 11px;
    margin-top: 3px;
}
.kut-portfolio__blockchain-result {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.7;
    color: var(--c-ink, #0a0a0a);
    font-weight: 500;
    margin-top: 8px;
}

/* Token valuation explanation block */
.kut-structure__token-val {
    margin-top: 56px;
    margin-bottom: 72px;
}

.kut-structure__tv-label {
    margin-bottom: 28px;
}

.kut-structure__tv-p {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.8;
    color: rgba(10, 10, 10, 0.65);
    margin-bottom: 16px;
}

.kut-structure__tv-p--accent {
    color: var(--c-ink, #0a0a0a);
    font-weight: 500;
    margin-top: 4px;
}

.kut-structure__tv-hint {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    letter-spacing: 0.03em;
    color: rgba(10, 10, 10, 0.38);
    margin-bottom: 8px;
    margin-top: 8px;
}

.kut-structure__tv-formula {
    font-family: 'Fraunces', serif;
    font-size: clamp(16px, 1.5vw, 20px);
    color: var(--c-ink, #0a0a0a);
    padding: 14px 20px;
    background: #f7f6f2;
    border-left: 3px solid var(--c-ink, #0a0a0a);
    margin-bottom: 20px;
    letter-spacing: -0.01em;
    line-height: 1.4;
}

.kut-structure__tv-formula--calc {
    font-size: clamp(13px, 1.2vw, 16px);
    border-left-color: rgba(10, 10, 10, 0.3);
    font-family: 'Inter', sans-serif;
    letter-spacing: 0;
}

.kut-structure__tv-result {
    font-family: 'Inter', sans-serif;
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.7;
    color: var(--c-ink, #0a0a0a);
    padding: 18px 22px;
    background: rgba(10, 10, 10, 0.04);
    margin-bottom: 32px;
}

.kut-structure__tv-result strong,
.kut-structure__tv-formula strong {
    font-weight: 600;
}
