/* ! tailwindcss v3.4.3 | 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.2;

    /* 1 */
    -webkit-text-size-adjust: 100%;

    /* 2 */
    -moz-tab-size: 4;

    /* 3 */
    -o-tab-size: 4;
    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::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;

    /* 1 */
    color: #9ca3af;

    /* 2 */
}

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] {
    display: none;
}

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

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

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

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

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

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

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

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

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

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

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

[type='checkbox'] {
    border-radius: 0px;
}

[type='radio'] {
    border-radius: 100%;
}

[type='checkbox']:focus,
[type='radio']:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.relative {
    position: relative;
}

.sticky {
    position: sticky;
}

.top-0 {
    top: 0px;
}

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

.col-span-full {
    grid-column: 1 / -1;
}
 .text-xs2 {
    font-size: 0.9rem;     /* slightly smaller than text-sm */
    line-height: 1.15rem;   /* tighter line-height */
  }
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.ml-4 {
    margin-left: 1rem;
}

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

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

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

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

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

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

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

.block {
    display: block;
}

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

.flex {
    display: flex;
}

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

.grid {
    display: grid;
}

.hidden {
    display: none;
}
.h-14 {
    height: 2.5rem;
}
.h-16 {
    height: 3rem;
}
.h-18 {
    height: 4rem;
}

.h-2 {
    height: 0.5rem;
}

.h-8 {
    height: 2rem;
}

.w-2 {
    width: 0.5rem;
}

.w-8 {
    width: 2rem;
}
.w-16 {
    width: 3rem;
}
.w-18 {
    width: 4.5rem;
}
.w-20 {
    width: 6rem;
}
.w-32 {
    width: 16rem;
}

.w-full {
    width: 100%;
}

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

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

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

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

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

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

.flex-wrap {
    flex-wrap: wrap;
}

.items-start {
    align-items: flex-start;
}

.items-center {
    align-items: center;
}

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

.justify-between {
    justify-content: space-between;
}

.gap-10 {
    gap: 2.5rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 0.75rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-6 {
    gap: 1.5rem;
}

.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-hidden {
    overflow: hidden;
}

.rounded-2xl {
    border-radius: 1rem;
}

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

.rounded-lg {
    border-radius: 0.5rem;
}

.rounded-xl {
    border-radius: 0.75rem;
}

.border {
    border-width: 1px;
}

.border-b {
    border-bottom-width: 1px;
}

.border-t {
    border-top-width: 1px;
}

.border-slate-200 {
    --tw-border-opacity: 1;
    border-color: rgb(226 232 240 / var(--tw-border-opacity));
}

.border-slate-300 {
    --tw-border-opacity: 1;
    border-color: rgb(203 213 225 / var(--tw-border-opacity));
}

.bg-slate-50\/50 {
    background-color: rgba(201, 201, 201, 0.3);
}

.bg-slate-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(15 23 42 / var(--tw-bg-opacity));
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.bg-white\/80 {
    background-color: rgb(255 255 255 / 0.8);
}
.p-3 {
    padding: 0.75rem;
}
.p-6 {
    padding: 1.5rem;
}

.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.py-14 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

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

.text-center {
    text-align: center;
}

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

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.text-m {
    font-size: 1rem;
    line-height: 1rem;
}

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

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.text-grey {
 --tw-text-opacity: 0.7;
}

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

.font-medium {
    font-weight: 500;
}

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

.italic {
    font-style: italic;
}

.text-slate-400 {
    --tw-text-opacity: 0.6;
    color: rgb(13 12 12 / var(--tw-text-opacity));
}

.text-slate-500 {
    --tw-text-opacity: 0.7;
    color: rgb(71 85 105 / var(--tw-text-opacity));
}

.text-slate-600 {
    --tw-text-opacity: 0.8;
    color: rgb(71 85 105 / var(--tw-text-opacity));
}

.text-slate-700 {
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity));
}

.text-slate-900 {
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity));
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}

.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

.shadow-green {
    background-color: rgba(33, 97, 158, 0.5);               /* base green */
   
    border-radius: 0.75rem;
    padding: 1rem;
}

/* Dark theme override (uses data-theme) */
html[data-theme="dark"] .shadow-green {
    background-color: rgba(100, 193, 104, 0.99);               /* softer green */
}


.backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

body,
html {
    min-height: 100vh;
}

.hover\:text-slate-700:hover {
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity));
}

.hover\:text-slate-900:hover {
    --tw-text-opacity: 1;
    color: rgb(15 23 42 / var(--tw-text-opacity));
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.focus-visible\:ring-2:focus-visible {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-visible\:ring-slate-400:focus-visible {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity));
}

@media (min-width: 640px) {
    .sm\:col-span-2 {
        grid-column: span 2 / span 2;
    }

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

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

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

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

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

    .sm\:items-center {
        align-items: center;
    }

    .sm\:justify-between {
        justify-content: space-between;
    }

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

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

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

@media (min-width: 768px) {
    .md\:flex {
        display: flex;
    }
}

@media (min-width: 1024px) {
    .lg\:col-span-5 {
        grid-area: auto / 9 / 2 / 13;
    }

    .lg\:col-span-7 {
        grid-area: auto / 1 / auto / 9;
    }

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

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

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

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

    .lg\:py-28 {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }
}

@media (min-width: 1536px) {
    .\32xl\:italic {
        font-style: italic;
    }

    .\32xl\:not-italic {
        font-style: normal;
    }
}


/* ===== Lumera custom tokens ===== */

:root {
    --lumera-green: #A6E3C1;
    --lumera-green-strong: #86D7B1;
    --lumera-ink: #0e2a36;
    --ring-focus: 2px;
    --ring-color: rgba(13,148,136,.45); /* teal-ish ring */

    /* Light theme defaults */
    --lumera-bg: #ffffff;
    --lumera-surface: #f9fafb;           /* Slate 50 */
    --lumera-card: #ffffff;
    --lumera-border: #e5e7eb;            /* Slate 200 */
    --lumera-text-main: #020617;         /* Slate 950 */
    --lumera-text-muted: #64748b;        /* Slate 500 */
}

/* Only ring-color auto-adjusts on dark OS preference by default */
@media (prefers-color-scheme: dark){
    :root {
        --ring-color: rgba(166,227,193,.55);
    }
}

/* Explicit dark theme (overrides via [data-theme="dark"]) */
html[data-theme="dark"] {
    --lumera-bg: #111827;                /* requested dark background */
    --lumera-surface: #020617;           /* deeper layer */
    --lumera-card: #020617;              /* cards/panels */
    --lumera-border: #1f2937;            /* Slate 800-ish border */
    --lumera-text-main: #f8fafc;         /* Slate 50 */
    --lumera-text-muted: #94a3b8;        /* Slate 400 */
}

/* Base application of tokens */
body {
    background-color: var(--lumera-bg);
    color: var(--lumera-text-main);
}

/* Cards & section backgrounds in dark mode */
html[data-theme="dark"] .bg-white {
    background-color: var(--lumera-card);
}

html[data-theme="dark"] .bg-slate-50\/50 {
    background-color: rgba(15,23,42,0.7);
}

/* Borders */
html[data-theme="dark"] .border-slate-200,
html[data-theme="dark"] .border-slate-300 {
    border-color: var(--lumera-border);
}

/* Text */
html[data-theme="dark"] .text-slate-900 {
    color: var(--lumera-text-main);
}

html[data-theme="dark"] .text-slate-700,
html[data-theme="dark"] .text-slate-600 {
    color: var(--lumera-text-muted);
}

/* Header & footer chrome in dark mode */
html[data-theme="dark"] header.backdrop-blur {
    background-color: rgba(15,23,42,0.85);
    border-bottom-color: var(--lumera-border);
}

html[data-theme="dark"] footer {
    border-top-color: var(--lumera-border);
}

/* Inputs/selects: keep readable in dark mode */
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
    background-color: #020617;
    color: var(--lumera-text-main);
    border-color: var(--lumera-border);
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: var(--lumera-text-muted);
}


/* ===== Utility layer: chips, buttons, focus rings, subtle shadows ===== */
@tailwind base;

@tailwind components;

@tailwind utilities;

@layer utilities{
	.h-nav {
    height: 80px !important;
  }
   .section-anchor-offset {
    scroll-margin-top: 80px;
  }
  
  
 /* 1. Theme-aware chip background + text + border */
    /* Theme-aware CHIP + BUTTON tokens */
  :root {
    /* chip */
    --chip-bg: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
    --chip-text: #0f172a;   /* slate-900-ish */
    --chip-border: #000000;

    /* btn-primary – light theme */
    --btn-bg: #000000;      /* solid black */
    --btn-text: #ffffff;    /* white text */
    --btn-border: transparant;  /* black border */
  }

  html[data-theme="dark"] {
    /* chip in dark */
    --chip-bg: linear-gradient(180deg, #0f172a 0%, #0b1220 100%);
    --chip-text: #e2e8f0;   /* slate-200 */
    --chip-border: #e5e7eb; /* light border on dark bg */

    /* btn-primary in dark – white button with dark-blue text */
    --btn-bg: #ffffff;
    --btn-text: #0f172a;    /* dark blue-ish */
    --btn-border: transparant;
  }

  .chip {
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
    transition: all 0.15s ease-in-out;
    cursor: pointer;

    border-width: 1px;
    border-style: solid;
    border-color: var(--chip-border);

    background: var(--chip-bg);
    color: var(--chip-text);
    font-weight: 600;
  }

  /* 2. Hover gradient – same in both themes */
  .chip:hover {
    background: linear-gradient(90deg, #2080a2 0%, #49cd64 100%);
    color: #0f172a;   /* light-mode hover text */
    border-color: black;
  }

  /* 3. Dark-theme hover text override */
  html[data-theme="dark"] .chip:hover {
    color: #ffffff;
    border-color: #ffffff;
  }

  .chip:focus-visible {
    outline: var(--ring-focus) solid var(--ring-color);
    outline-offset: 2px;
    border-radius: 0.75rem;
  }
    /* === Dark-theme overrides for existing header toggle === */

  /* 1) NL / EN active state in dark theme:
        when aria-pressed="true" → white bg + dark text */
  html[data-theme="dark"] #btn-en[aria-pressed="true"],
  html[data-theme="dark"] #btn-nl[aria-pressed="true"] {
    background-color: #ffffff !important;
    color: #0f172a !important; /* dark text */
  }

  /* 2) Theme button in dark theme:
        always show as “active” → white bg + dark text */
  html[data-theme="dark"] #theme-toggle {
    background-color: #ffffff;
    color: #0f172a;
  }

  html[data-theme="dark"] #theme-toggle:hover {
    background-color: #e5e7eb; /* subtle hover */
    color: #0f172a;
  }


  /* … keep vp-bold, vp-right, brand-width, btn-primary, etc. below as-is … */
}
    .text-body {
        color: #0f172a;

        /* Tailwind slate-900 */
    }

    .vp-bold {
        flex-shrink: 0;

        /* mag NIET kleiner worden */
        display: inline-block;
        width: 11rem;

        /* of 11rem, beetje finetunen mag */
        text-align: left;

        /* tekst tegen de rechterkant van de kolom */
        padding-right: 0.25rem;

        /* klein luchtje tussen : en tekst */
    }

    .vp-right {
        flex: 1;

        /* neemt alle resterende ruimte */
        min-width: 0;

        /* voorkomt tekst-overflow en forcing */
        text-align: left;

        /* tekst tegen de rechterkant van de kolom */
    }

    .brand-width {
        width: 26ch;

        /* genoeg voor "Lemura - Consulting" op één regel */
    }

   .btn-primary {
    @apply inline-flex items-center rounded-xl px-3 py-2 font-medium transition-all duration-200;

    background: var(--btn-bg);
    color: var(--btn-text);
    border: 1px solid var(--btn-border);

    box-shadow: 0 1px 2px rgba(2,6,23,.2), 0 6px 14px rgba(2,6,23,.18);
  }

  .btn-primary:hover {
    background: linear-gradient(90deg, #2080a2 0%, #49cd64 100%);
    color: #0f172a;    /* light theme hover text */
    border-color: black;
    box-shadow: 0 2px 6px rgba(2,6,23,.25), 0 10px 18px rgba(2,6,23,.22);
    transform: translateY(-0.5px);
  }

  html[data-theme="dark"] .btn-primary:hover {
    color: #ffffff;    /* white text on gradient */
    border-color: #ffffff;
  }

  .btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(2,6,23,.2), 0 6px 12px rgba(2,6,23,.18);
  }

  .btn-primary:focus-visible {
    outline: var(--ring-focus) solid var(--ring-color);
    outline-offset: 2px;
  }
	

    .focus-ring:focus-visible {
        outline: var(--ring-focus) solid var(--ring-color);
        outline-offset: 2px;
    }

    .card {
        @apply rounded-2xl;

        box-shadow: 0 1px 2px rgba(2,6,23,.06), 0 12px 24px rgba(2,6,23,.06);
    }

    .logo-swap {
        transition: opacity .18s ease-in-out;
    }

    .logo-swap.fade-out {
        opacity: 0.05;
    }

    .logo-swap.fade-in {
        opacity: 1;
    }

@layer base {
  h1 { @apply font-bold; }
  h2 { @apply font-semibold; }
  h3 { @apply font-medium; }
  h4, h5, h6 { @apply font-normal; }

  html {
    scroll-behavior: smooth;
    scroll-padding-top: 0rem; /* ≈ headerhoogte */
  }
}


/* Compact bullet icon for lists */
.icon-bullet {
    width: 10px;
    height: 10px;
    display: inline-block;
    margin-top: 6px;

    /* aligns with first line x-height */
    margin-right: 6px;
    flex-shrink: 0;
    color: var(--lumera-green);
    fill: currentColor;

    /* path inherits color */
}

/* Logo theme switching */
.logo-light {
  display: block;
}

.logo-dark {
  display: none;
}

html[data-theme="dark"] .logo-light {
  display: none;
}

html[data-theme="dark"] .logo-dark {
  display: block;
}
}
@layer components {
  .tw-bottom-block {
    @apply mt-12 px-4 py-6 
           text-sm leading-relaxed
           bg-slate-50 border-t border-slate-200 
           dark:bg-slate-900/50 dark:border-slate-700 
           rounded-none;
  }
}
.logo-dark { display:none; }
.dark .logo-light { display:none; }
.dark .logo-dark { display:block; }
