*, ::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.17 | 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 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Inter, sans-serif;
  /* 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]:where(:not([hidden="until-found"])) {
  display: none;
}

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

.container {
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

.sidebar-link {
  display: flex;
  align-items: center;
  border-left-width: 2px;
  border-color: transparent;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.8rem;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
  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;
}

.sidebar-link:hover {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(58 54 48 / var(--tw-text-opacity, 1));
}

.sidebar-link.active {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.\!card {
  border-radius: 4px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

.card {
  border-radius: 4px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
}

.table-row {
  cursor: pointer;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  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;
}

.table-row:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
}

.table-cell {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.8rem;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.table-header {
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  text-align: left;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.form-label {
  margin-bottom: 0.5rem;
  display: block;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.form-input {
  width: 100%;
  border-radius: 4px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.form-input::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(155 148 138 / var(--tw-placeholder-opacity, 1));
}

.form-input::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(155 148 138 / var(--tw-placeholder-opacity, 1));
}

.form-input {
  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;
}

.form-input:focus {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.form-select {
  width: 100%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 4px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
  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;
}

.form-select:focus {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\!badge {
  border-radius: 4px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.badge {
  border-radius: 4px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.badge-green {
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
  --tw-bg-opacity: 0.3;
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.badge-blue {
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
  --tw-bg-opacity: 0.3;
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.badge-gray {
  --tw-bg-opacity: 1;
  background-color: rgb(38 35 32 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

/* Typography for owner-editable page bodies.
       The editor's sanitiser strips every class from what the owner types, so
       the site supplies the styling here instead. These values match what the
       policy pages already use, so a saved page renders identically to the
       markup it replaced. Never put layout here - only typography. */

.page-prose h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  font-size: 1.953rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.page-prose h3 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.563rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.page-prose h4 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.page-prose ul {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  list-style-type: disc;
}

.page-prose ul > :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));
}

.page-prose ul {
  padding-left: 1.5rem;
}

.page-prose ol {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  list-style-type: decimal;
}

.page-prose ol > :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));
}

.page-prose ol {
  padding-left: 1.5rem;
}

.page-prose a {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.page-prose a:hover {
  text-decoration-line: underline;
}

.page-prose strong {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.page-prose blockquote {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border-left-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  font-style: italic;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.page-prose img {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  width: 100%;
  border-radius: 2px;
}

.page-prose hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
}

/* FAQ answers. An answer may be more than one paragraph, and the FAQ
       sanitiser allows no class on a <p>, so a database answer arrives as bare
       <p> tags. hydrateFaq copies this class from the markup onto the rows it
       builds, so an answer renders identically whether it came from the
       database or from the fallback in the page. */

.faq-answer p + p {
  margin-top: 0.75rem;
}

/* Hero text sitting directly on the photograph, with no overlay or scrim
       behind it. Two black shadows doing different jobs:

         0 1px 2px  / 0.9   a tight, almost invisible edge. This is what stops
                            a letter dissolving where it crosses a mid-tone.
         0 2px 14px / 0.7   a soft halo that lifts the whole line off busy
                            detail without reading as a drop shadow.

       Both are pure black, so against a dark photograph - which is what this
       hero is designed around - they contribute nothing visible. They only
       start to show where the photo goes light, which is exactly when they
       are needed. */

.hero-on-photo {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9), 0 2px 14px rgba(0, 0, 0, 0.7);
}

/* The invoice header only exists on paper. */

.invoice-only {
  display: none;
}

/* ------------------------------------------------------------------
       Editable images: hidden until the real one has loaded.

       The swap from the hardcoded fallback photo to the owner's photo was
       measured at 2 to 5 seconds on a first visit, at full width. Text
       changing a word is barely noticeable; a whole photograph changing is.
       So the image starts invisible and fades in once it is really there.

       THE FAIL-SAFE IS THE ANIMATION, AND IT HAS TO BE.
       A JavaScript timeout cannot rescue a script that never parsed - that
       is exactly when it would not run. This animation is pure CSS: it
       reveals the image after 2s no matter what the JavaScript is doing, or
       whether any of it loaded at all. The worst case is therefore a stale
       photograph appearing late, never an empty hole.

       Hiding is by OPACITY, never display or visibility:collapse, so the
       element keeps its box and nothing on the page moves. Verified: the
       homepage hero measures 1306px tall with the image shown and hidden.

       If this stylesheet itself fails to load, none of these rules apply and
       the image is simply visible from the start - the safe direction. */

.img-cloak {
  opacity: 0;
  animation: hfw-img-failsafe 400ms ease-out 2s forwards;
}

.img-cloak.is-ready {
  opacity: 1;
  animation: none;
  transition: opacity 350ms ease-out;
}

@keyframes hfw-img-failsafe {
  to {
    opacity: 1;
  }
}

/* Someone who asked for less motion gets the image immediately. */

@media (prefers-reduced-motion: reduce) {
  .img-cloak {
    opacity: 1;
    animation: none;
  }

  .img-cloak.is-ready {
    transition: none;
  }
}

.form-input, .form-select, textarea, select,
    input[type="text"], input[type="number"],
    input[type="email"], input[type="password"], input[type="search"] {
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

/* -----------------------------------------------------------------
       PRODUCTS PAGE FILTER ACCORDION
       ----------------------------------------------------------------- */

/* One collapsible section. The divider is on the section rather than the
       header so the last one does not draw a line into empty space. */

.filter-accordion {
  border-bottom-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
}

/* The whole row is the button - a header you can only open by hitting a
       12px chevron is a header most people never open. */

.filter-header {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: left;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.filter-header:hover {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.filter-header svg {
  height: 1rem;
  width: 1rem;
  flex-shrink: 0;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.filter-header[aria-expanded="true"] 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));
}

/* max-height + opacity rather than display:none, so it animates. The
       closed state must also be inert: a keyboard user tabbing through a
       collapsed panel is the classic accordion bug. */

.filter-panel {
  overflow: hidden;
  opacity: 0;
  max-height: 0;
  transition: max-height 250ms ease, opacity 250ms ease;
}

.filter-panel.is-open {
  opacity: 1;
  max-height: 40rem;
}

.filter-panel > div {
  padding-bottom: 1rem;
}

/* One checkbox or radio line. */

.filter-row {
  display: flex;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  font-size: 0.8rem;
  color: rgb(255 255 255 / 0.8);
}

.filter-row:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.filter-row input {
  height: 1rem;
  width: 1rem;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: #C8A24A;
}

.filter-row .filter-count {
  margin-left: auto;
  font-size: 0.64rem;
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  color: rgb(255 255 255 / 0.4);
}

/* Nothing to show is not the same as nothing there: a zero stays visible
       so the shape of the catalogue is still readable. */

.filter-row.is-empty {
  cursor: not-allowed;
  opacity: 0.4;
}

.filter-row.is-empty input {
  cursor: not-allowed;
}

.filter-row.is-child {
  padding-left: 1.75rem;
  color: rgb(255 255 255 / 0.6);
}

/* -----------------------------------------------------------------
       STOCK STATE
       ----------------------------------------------------------------- */

/* Top-left of the card image. */

.stock-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 10;
  border-radius: 2px;
  background-color: rgb(0 0 0 / 0.8);
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.stock-badge-low {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

/* The photograph of a sold-out piece stays visible - the customer still
       wants to look at it, and it is still worth opening. It just must not
       read as buyable. */

.card-oos img {
  opacity: 0.5;
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

/* One disabled look for every button that cannot be pressed. Applied
       ALONGSIDE the disabled attribute, never instead of it: the attribute is
       what actually stops the click, this is only how it looks. */

.btn-disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* -----------------------------------------------------------------
       TOAST
       ----------------------------------------------------------------- */

.toast {
  pointer-events: auto;
  display: flex;
  max-width: 20rem;
  --tw-translate-y: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  align-items: center;
  gap: 0.75rem;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
  opacity: 0;
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition: opacity 200ms ease, transform 200ms ease;
}

.toast.is-shown {
  --tw-translate-y: 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));
  opacity: 1;
}

/* -----------------------------------------------------------------
       PAGES ADMIN
       ----------------------------------------------------------------- */

/* Marks a row on the Pages index as a layout page - copy in many small
       site_content slots rather than one prose body. */

.page-kind {
  margin-left: 0.5rem;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

/* The unsaved-changes hint beside Save. */

/* -----------------------------------------------------------------
       FAQ
       ----------------------------------------------------------------- */

.faq-search {
  width: 100%;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
  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;
}

.faq-search:focus {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.faq-search-count {
  margin-top: 0.5rem;
  font-size: 0.64rem;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

/* -----------------------------------------------------------------
       FULFILMENT
       ----------------------------------------------------------------- */

/* The badges share one corner. The stack owns the position so each badge
       can stay a plain box - "Only 2 left" above "Ready to Ship" is the most
       persuasive thing a card can say, and both have to fit. */

.badge-stack {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
}

.badge-stack .stock-badge {
  position: static;
}

/* Same shape as the out-of-stock badge, gold instead of white, because it
       says the opposite thing. */

.stock-badge-ready {
  --tw-bg-opacity: 1;
  background-color: rgb(200 162 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(20 19 15 / var(--tw-text-opacity, 1));
}

/* The one-line fulfilment note on a detail page, a cart row or the
       checkout summary. */

.fulfil-line {
  font-size: 0.8rem;
  font-weight: 700;
}

.fulfil-ready {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.fulfil-made {
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.fulfil-tag {
  display: inline-block;
  border-radius: 2px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.fulfil-tag-ready {
  background-color: rgb(200 162 74 / 0.15);
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.fulfil-tag-made {
  background-color: rgb(255 255 255 / 0.05);
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

/* The "ships together in one parcel" note on checkout. */

.fulfil-notice {
  border-radius: 2px;
  border-width: 1px;
  border-color: rgb(200 162 74 / 0.2);
  background-color: rgb(200 162 74 / 0.1);
  padding: 1rem;
  font-size: 0.8rem;
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

/* -----------------------------------------------------------------
       COOKIE CONSENT
       ----------------------------------------------------------------- */

.cookie-banner {
  position: fixed;
  bottom: 0px;
  left: 0px;
  right: 0px;
  z-index: 150;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (min-width: 640px) {
  .cookie-banner {
    flex-direction: row;
    align-items: center;
  }
}

.cookie-banner-text {
  flex: 1 1 0%;
  font-size: 0.8rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.cookie-banner-link {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
  text-decoration-line: underline;
  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;
}

.cookie-banner-link:hover {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

/* Accept and Reject are the SAME size and weight on purpose. A Reject
       tucked into a link is not a free choice, and a regulator reads that as
       no consent at all. */

.cookie-banner-actions {
  display: flex;
  flex-shrink: 0;
  gap: 0.75rem;
}

.cookie-btn {
  flex: 1 1 0%;
  white-space: nowrap;
  border-width: 1px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  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;
}

@media (min-width: 640px) {
  .cookie-btn {
    flex: none;
  }
}

.cookie-btn-reject {
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.cookie-btn-reject:hover {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
}

.cookie-btn-accept {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(200 162 74 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(20 19 15 / var(--tw-text-opacity, 1));
}

.cookie-btn-accept:hover {
  opacity: 0.9;
}

/* -----------------------------------------------------------------
       SETTINGS
       ----------------------------------------------------------------- */

/* Sends the owner to the Content page rather than repeating a field
       here. One fact, one place to change it. */

.settings-link {
  display: inline-block;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
  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;
}

.settings-link:hover {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
}

/* The stock flags on the admin products list. */

.stock-warn {
  display: inline-block;
  border-radius: 4px;
  background-color: rgb(200 162 74 / 0.15);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.stock-warn-out {
  background-color: rgb(127 29 29 / 0.3);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

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

.visible {
  visibility: visible;
}

.invisible {
  visibility: hidden;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.inset-0 {
  inset: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.-right-2 {
  right: -0.5rem;
}

.-right-3 {
  right: -0.75rem;
}

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

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

.bottom-0 {
  bottom: 0px;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0px;
}

.left-1 {
  left: 0.25rem;
}

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

.left-3 {
  left: 0.75rem;
}

.left-4 {
  left: 1rem;
}

.left-6 {
  left: 1.5rem;
}

.left-\[-9999px\] {
  left: -9999px;
}

.right-0 {
  right: 0px;
}

.right-2 {
  right: 0.5rem;
}

.right-3 {
  right: 0.75rem;
}

.right-4 {
  right: 1rem;
}

.right-6 {
  right: 1.5rem;
}

.right-8 {
  right: 2rem;
}

.top-0 {
  top: 0px;
}

.top-1 {
  top: 0.25rem;
}

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

.top-2 {
  top: 0.5rem;
}

.top-20 {
  top: 5rem;
}

.top-24 {
  top: 6rem;
}

.top-28 {
  top: 7rem;
}

.top-3 {
  top: 0.75rem;
}

.top-4 {
  top: 1rem;
}

.top-6 {
  top: 1.5rem;
}

.top-8 {
  top: 2rem;
}

.top-auto {
  top: auto;
}

.top-full {
  top: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

.-m-2 {
  margin: -0.5rem;
}

.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

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

.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.\!mb-0 {
  margin-bottom: 0px !important;
}

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

.-mr-4 {
  margin-right: -1rem;
}

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

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

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

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

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

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

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

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

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

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

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

.ml-0 {
  margin-left: 0px;
}

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

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

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

.ml-auto {
  margin-left: auto;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-3 {
  margin-right: 0.75rem;
}

.mr-4 {
  margin-right: 1rem;
}

.mt-0\.5 {
  margin-top: 0.125rem;
}

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

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

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

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

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

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

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

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

.mt-auto {
  margin-top: auto;
}

.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.block {
  display: block;
}

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

.inline {
  display: inline;
}

.flex {
  display: flex;
}

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

.\!table {
  display: table !important;
}

.table {
  display: table;
}

.table-cell {
  display: table-cell;
}

.table-row {
  display: table-row;
}

.\!grid {
  display: grid !important;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

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

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

.aspect-square {
  aspect-ratio: 1 / 1;
}

.h-1 {
  height: 0.25rem;
}

.h-10 {
  height: 2.5rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-16 {
  height: 4rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-28 {
  height: 7rem;
}

.h-3 {
  height: 0.75rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-32 {
  height: 8rem;
}

.h-4 {
  height: 1rem;
}

.h-40 {
  height: 10rem;
}

.h-48 {
  height: 12rem;
}

.h-5 {
  height: 1.25rem;
}

.h-6 {
  height: 1.5rem;
}

.h-64 {
  height: 16rem;
}

.h-8 {
  height: 2rem;
}

.h-80 {
  height: 20rem;
}

.h-96 {
  height: 24rem;
}

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

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

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

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

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

.h-auto {
  height: auto;
}

.h-fit {
  height: -moz-fit-content;
  height: fit-content;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.max-h-0 {
  max-height: 0px;
}

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

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

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

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

.min-h-\[3rem\] {
  min-height: 3rem;
}

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

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

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

.w-0 {
  width: 0px;
}

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

.w-1\/3 {
  width: 33.333333%;
}

.w-1\/4 {
  width: 25%;
}

.w-10 {
  width: 2.5rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-16 {
  width: 4rem;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.w-3 {
  width: 0.75rem;
}

.w-3\.5 {
  width: 0.875rem;
}

.w-3\/4 {
  width: 75%;
}

.w-32 {
  width: 8rem;
}

.w-4 {
  width: 1rem;
}

.w-40 {
  width: 10rem;
}

.w-44 {
  width: 11rem;
}

.w-48 {
  width: 12rem;
}

.w-5 {
  width: 1.25rem;
}

.w-6 {
  width: 1.5rem;
}

.w-64 {
  width: 16rem;
}

.w-8 {
  width: 2rem;
}

.w-96 {
  width: 24rem;
}

.w-\[20\%\] {
  width: 20%;
}

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

.w-\[60\%\] {
  width: 60%;
}

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

.w-\[80vw\] {
  width: 80vw;
}

.w-\[85\%\] {
  width: 85%;
}

.w-\[86\%\] {
  width: 86%;
}

.w-auto {
  width: auto;
}

.w-full {
  width: 100%;
}

.w-px {
  width: 1px;
}

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

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

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

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

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

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

.max-w-4xl {
  max-width: 56rem;
}

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

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

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

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

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

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

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

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

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

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

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

.max-w-full {
  max-width: 100%;
}

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

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

.max-w-none {
  max-width: none;
}

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

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

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

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

.flex-none {
  flex: none;
}

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

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

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

.border-collapse {
  border-collapse: collapse;
}

.origin-center {
  transform-origin: center;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-4 {
  --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));
}

.translate-y-10 {
  --tw-translate-y: 2.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-y-full {
  --tw-translate-y: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  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));
}

.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  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));
}

.scale-150 {
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
  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));
}

.scale-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  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 fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-\[fadeInUp_500ms_ease-out_forwards\] {
  animation: fadeInUp 500ms ease-out forwards;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.cursor-crosshair {
  cursor: crosshair;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-wait {
  cursor: wait;
}

.cursor-zoom-in {
  cursor: zoom-in;
}

.select-all {
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}

.resize-none {
  resize: none;
}

.resize {
  resize: both;
}

.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}

.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}

.snap-start {
  scroll-snap-align: start;
}

.list-inside {
  list-style-position: inside;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

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

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

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

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

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

.grid-cols-\[1fr_1\.2fr_auto\] {
  grid-template-columns: 1fr 1.2fr auto;
}

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

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

.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-start {
  justify-content: flex-start;
}

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

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

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

.gap-0\.5 {
  gap: 0.125rem;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-16 {
  gap: 4rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-x-8 {
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.gap-y-3 {
  row-gap: 0.75rem;
}

.gap-y-4 {
  row-gap: 1rem;
}

.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-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

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

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

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

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

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-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-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}

.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * 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-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

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

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

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

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

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

.divide-brand-border > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-divide-opacity, 1));
}

.divide-brand-borderLight > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-divide-opacity, 1));
}

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

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-auto {
  overflow-x: auto;
}

.overflow-y-auto {
  overflow-y: auto;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.scroll-smooth {
  scroll-behavior: smooth;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.break-words {
  overflow-wrap: break-word;
}

.rounded {
  border-radius: 4px;
}

.rounded-\[10px\] {
  border-radius: 10px;
}

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

.rounded-lg {
  border-radius: 4px;
}

.rounded-md {
  border-radius: 4px;
}

.rounded-sm {
  border-radius: 2px;
}

.rounded-xl {
  border-radius: 4px;
}

.\!rounded-t-none {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-t {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.rounded-t-sm {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.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-b-2 {
  border-bottom-width: 2px;
}

.border-l {
  border-left-width: 1px;
}

.border-l-4 {
  border-left-width: 4px;
}

.border-r {
  border-right-width: 1px;
}

.border-r-0 {
  border-right-width: 0px;
}

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

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

.border-dashed {
  border-style: dashed;
}

.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}

.border-brand-accent {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
}

.border-brand-black {
  --tw-border-opacity: 1;
  border-color: rgb(20 19 15 / var(--tw-border-opacity, 1));
}

.border-brand-border {
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
}

.border-brand-borderLight {
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
}

.border-brand-card {
  --tw-border-opacity: 1;
  border-color: rgb(38 35 32 / var(--tw-border-opacity, 1));
}

.border-brand-danger {
  --tw-border-opacity: 1;
  border-color: rgb(180 69 58 / var(--tw-border-opacity, 1));
}

.border-brand-gold {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
}

.border-brand-gold\/20 {
  border-color: rgb(200 162 74 / 0.2);
}

.border-brand-gold\/40 {
  border-color: rgb(200 162 74 / 0.4);
}

.border-brand-gold\/50 {
  border-color: rgb(200 162 74 / 0.5);
}

.border-brand-primaryBg {
  --tw-border-opacity: 1;
  border-color: rgb(20 19 15 / var(--tw-border-opacity, 1));
}

.border-brand-textPrimary {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
}

.border-brand-white {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
}

.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}

.border-green-700 {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-green-800 {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.border-green-900 {
  --tw-border-opacity: 1;
  border-color: rgb(20 83 45 / var(--tw-border-opacity, 1));
}

.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.border-red-700 {
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.border-red-800 {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.border-red-900 {
  --tw-border-opacity: 1;
  border-color: rgb(127 29 29 / var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: transparent;
}

.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}

.border-yellow-700 {
  --tw-border-opacity: 1;
  border-color: rgb(161 98 7 / var(--tw-border-opacity, 1));
}

.border-opacity-50 {
  --tw-border-opacity: 0.5;
}

.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15);
}

.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}

.bg-blue-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}

.bg-brand-accent {
  --tw-bg-opacity: 1;
  background-color: rgb(200 162 74 / var(--tw-bg-opacity, 1));
}

.bg-brand-base {
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
}

.bg-brand-black {
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
}

.bg-brand-border {
  --tw-bg-opacity: 1;
  background-color: rgb(58 54 48 / var(--tw-bg-opacity, 1));
}

.bg-brand-borderLight {
  --tw-bg-opacity: 1;
  background-color: rgb(58 54 48 / var(--tw-bg-opacity, 1));
}

.bg-brand-card {
  --tw-bg-opacity: 1;
  background-color: rgb(38 35 32 / var(--tw-bg-opacity, 1));
}

.bg-brand-danger {
  --tw-bg-opacity: 1;
  background-color: rgb(180 69 58 / var(--tw-bg-opacity, 1));
}

.bg-brand-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(200 162 74 / var(--tw-bg-opacity, 1));
}

.bg-brand-gold\/10 {
  background-color: rgb(200 162 74 / 0.1);
}

.bg-brand-gold\/5 {
  background-color: rgb(200 162 74 / 0.05);
}

.bg-brand-gunmetal {
  --tw-bg-opacity: 1;
  background-color: rgb(58 54 48 / var(--tw-bg-opacity, 1));
}

.bg-brand-navbar {
  --tw-bg-opacity: 1;
  background-color: rgb(38 35 30 / var(--tw-bg-opacity, 1));
}

.bg-brand-primaryBg {
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
}

.bg-brand-primaryBg\/40 {
  background-color: rgb(20 19 15 / 0.4);
}

.bg-brand-primaryBg\/50 {
  background-color: rgb(20 19 15 / 0.5);
}

.bg-brand-primaryBg\/60 {
  background-color: rgb(20 19 15 / 0.6);
}

.bg-brand-primaryBg\/70 {
  background-color: rgb(20 19 15 / 0.7);
}

.bg-brand-primaryBg\/80 {
  background-color: rgb(20 19 15 / 0.8);
}

.bg-brand-primaryBg\/90 {
  background-color: rgb(20 19 15 / 0.9);
}

.bg-brand-raised {
  --tw-bg-opacity: 1;
  background-color: rgb(38 35 32 / var(--tw-bg-opacity, 1));
}

.bg-brand-secondaryBg {
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
}

.bg-brand-sectionBg {
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
}

.bg-brand-sectionBg\/30 {
  background-color: rgb(28 26 22 / 0.3);
}

.bg-brand-success {
  --tw-bg-opacity: 1;
  background-color: rgb(74 124 89 / var(--tw-bg-opacity, 1));
}

.bg-brand-surface {
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
}

.bg-brand-textMuted {
  --tw-bg-opacity: 1;
  background-color: rgb(155 148 138 / var(--tw-bg-opacity, 1));
}

.bg-brand-textPrimary {
  --tw-bg-opacity: 1;
  background-color: rgb(240 235 225 / var(--tw-bg-opacity, 1));
}

.bg-brand-white {
  --tw-bg-opacity: 1;
  background-color: rgb(240 235 225 / var(--tw-bg-opacity, 1));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}

.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-green-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}

.bg-green-900\/30 {
  background-color: rgb(20 83 45 / 0.3);
}

.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}

.bg-red-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.bg-red-900\/30 {
  background-color: rgb(127 29 29 / 0.3);
}

.bg-transparent {
  background-color: transparent;
}

.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}

.bg-yellow-900\/20 {
  background-color: rgb(113 63 18 / 0.2);
}

.bg-opacity-10 {
  --tw-bg-opacity: 0.1;
}

.bg-opacity-20 {
  --tw-bg-opacity: 0.2;
}

.bg-opacity-30 {
  --tw-bg-opacity: 0.3;
}

.bg-opacity-50 {
  --tw-bg-opacity: 0.5;
}

.bg-opacity-70 {
  --tw-bg-opacity: 0.7;
}

.bg-opacity-80 {
  --tw-bg-opacity: 0.8;
}

.bg-\[url\(\'https\:\/\/images\.unsplash\.com\/photo-1524661135-423995f22d0b\?auto\=format\&fit\=crop\&w\=600\&q\=80\'\)\] {
  background-image: url('https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&w=600&q=80');
}

.bg-\[url\(\'https\:\/\/images\.unsplash\.com\/photo-1593604340846-4fbe9763a8f3\?auto\=format\&fit\=crop\&w\=1920\&q\=80\'\)\] {
  background-image: url('https://images.unsplash.com/photo-1593604340846-4fbe9763a8f3?auto=format&fit=crop&w=1920&q=80');
}

.bg-\[url\(\'https\:\/\/images\.unsplash\.com\/photo-1593618998160-e34014e67546\?auto\=format\&fit\=crop\&w\=1920\&q\=80\'\)\] {
  background-image: url('https://images.unsplash.com/photo-1593618998160-e34014e67546?auto=format&fit=crop&w=1920&q=80');
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-\[\#111\] {
  --tw-gradient-from: #111 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 17 17 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-brand-black {
  --tw-gradient-from: #14130F var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 19 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-brand-primaryBg {
  --tw-gradient-from: #14130F var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 19 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-\[\#0a0a0a\] {
  --tw-gradient-to: #0a0a0a var(--tw-gradient-to-position);
}

.to-brand-black\/50 {
  --tw-gradient-to: rgb(20 19 15 / 0.5) var(--tw-gradient-to-position);
}

.to-brand-primaryBg {
  --tw-gradient-to: #14130F var(--tw-gradient-to-position);
}

.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.bg-cover {
  background-size: cover;
}

.bg-fixed {
  background-attachment: fixed;
}

.bg-center {
  background-position: center;
}

.bg-no-repeat {
  background-repeat: no-repeat;
}

.fill-current {
  fill: currentColor;
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.\!p-0 {
  padding: 0px !important;
}

.p-1\.5 {
  padding: 0.375rem;
}

.p-10 {
  padding: 2.5rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-3 {
  padding: 0.75rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

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

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

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

.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

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

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

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

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

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

.px-\[34px\] {
  padding-left: 34px;
  padding-right: 34px;
}

.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}

.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-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

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

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

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

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

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

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

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

.py-32 {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

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

.py-\[16px\] {
  padding-top: 16px;
  padding-bottom: 16px;
}

.py-\[50px\] {
  padding-top: 50px;
  padding-bottom: 50px;
}

.pb-0 {
  padding-bottom: 0px;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-20 {
  padding-bottom: 5rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-5 {
  padding-bottom: 1.25rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-12 {
  padding-left: 3rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-24 {
  padding-left: 6rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

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

.pr-0 {
  padding-right: 0px;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-20 {
  padding-top: 5rem;
}

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

.pt-3 {
  padding-top: 0.75rem;
}

.pt-32 {
  padding-top: 8rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

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

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

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

.align-top {
  vertical-align: top;
}

.align-bottom {
  vertical-align: bottom;
}

.align-text-bottom {
  vertical-align: text-bottom;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.font-sans {
  font-family: Inter, sans-serif;
}

.font-serif {
  font-family: Playfair Display, serif;
}

.\!text-\[9px\] {
  font-size: 9px !important;
}

.text-2xl {
  font-size: 1.953rem;
}

.text-3xl {
  font-size: 2.441rem;
}

.text-4xl {
  font-size: 3.052rem;
}

.text-5xl {
  font-size: 3.815rem;
}

.text-8xl {
  font-size: 6rem;
  line-height: 1;
}

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

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

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

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

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

.text-base {
  font-size: 1rem;
}

.text-lg {
  font-size: 1.25rem;
}

.text-sm {
  font-size: 0.8rem;
}

.text-xl {
  font-size: 1.563rem;
}

.text-xs {
  font-size: 0.64rem;
}

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

.font-light {
  font-weight: 300;
}

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

.font-normal {
  font-weight: 400;
}

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

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.italic {
  font-style: italic;
}

.leading-\[1\.1\] {
  line-height: 1.1;
}

.leading-none {
  line-height: 1;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}

.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.text-amber-300\/90 {
  color: rgb(252 211 77 / 0.9);
}

.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}

.text-brand-accent {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.text-brand-base {
  --tw-text-opacity: 1;
  color: rgb(20 19 15 / var(--tw-text-opacity, 1));
}

.text-brand-black {
  --tw-text-opacity: 1;
  color: rgb(20 19 15 / var(--tw-text-opacity, 1));
}

.text-brand-border {
  --tw-text-opacity: 1;
  color: rgb(58 54 48 / var(--tw-text-opacity, 1));
}

.text-brand-borderLight {
  --tw-text-opacity: 1;
  color: rgb(58 54 48 / var(--tw-text-opacity, 1));
}

.text-brand-danger {
  --tw-text-opacity: 1;
  color: rgb(180 69 58 / var(--tw-text-opacity, 1));
}

.text-brand-gold {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.text-brand-primaryBg {
  --tw-text-opacity: 1;
  color: rgb(20 19 15 / var(--tw-text-opacity, 1));
}

.text-brand-success {
  --tw-text-opacity: 1;
  color: rgb(74 124 89 / var(--tw-text-opacity, 1));
}

.text-brand-textMuted {
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.text-brand-textPrimary {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.text-brand-textSecondary {
  --tw-text-opacity: 1;
  color: rgb(155 148 138 / var(--tw-text-opacity, 1));
}

.text-brand-white {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}

.text-red-200 {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

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

.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}

.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}

.text-yellow-200 {
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}

.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.line-through {
  text-decoration-line: line-through;
}

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

.placeholder-\[\#8A8A8A\]::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(138 138 138 / var(--tw-placeholder-opacity, 1));
}

.placeholder-\[\#8A8A8A\]::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(138 138 138 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-700::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(55 65 81 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-700::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(55 65 81 / var(--tw-placeholder-opacity, 1));
}

.accent-brand-gold {
  accent-color: #C8A24A;
}

.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-100 {
  opacity: 1;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-5 {
  opacity: 0.05;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-\[0\.03\] {
  opacity: 0.03;
}

.mix-blend-overlay {
  mix-blend-mode: overlay;
}

.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_-10px_20px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 -10px 20px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 -10px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_-10px_30px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 -10px 30px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 -10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_-20px_40px_rgba\(0\2c 0\2c 0\2c 0\.7\)\] {
  --tw-shadow: 0 -20px 40px rgba(0,0,0,0.7);
  --tw-shadow-colored: 0 -20px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_20px_rgba\(200\2c 162\2c 74\2c 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(200,162,74,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_25px_rgba\(255\2c 255\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 25px rgba(255,255,255,0.2);
  --tw-shadow-colored: 0 0 25px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_30px_rgba\(212\2c 175\2c 55\2c 0\.4\)\] {
  --tw-shadow: 0 0 30px rgba(212,175,55,0.4);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_10px_30px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 10px 30px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_10px_40px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-shadow: 0 10px 40px rgba(0,0,0,0.8);
  --tw-shadow-colored: 0 10px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_4px_14px_0_rgba\(197\2c 160\2c 89\2c 0\.39\)\] {
  --tw-shadow: 0 4px 14px 0 rgba(197,160,89,0.39);
  --tw-shadow-colored: 0 4px 14px 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-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 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-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-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

.outline {
  outline-style: solid;
}

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

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

.ring-brand-accent {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(200 162 74 / var(--tw-ring-opacity, 1));
}

.ring-brand-gold {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(200 162 74 / var(--tw-ring-opacity, 1));
}

.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}

.ring-offset-brand-surface {
  --tw-ring-offset-color: #1C1A16;
}

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

.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-\[100px\] {
  --tw-blur: blur(100px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.brightness-110 {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

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

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

.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-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-100 {
  transition-duration: 100ms;
}

.duration-200 {
  transition-duration: 200ms;
}

.duration-300 {
  transition-duration: 300ms;
}

.duration-500 {
  transition-duration: 500ms;
}

.duration-700 {
  transition-duration: 700ms;
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

/* ---------------------------------------------------------------------------
   INVOICE / PRINT
   ---------------------------------------------------------------------------
   The "Download Invoice" buttons call window.print() and let the browser make
   the PDF. That is a real feature on every desktop and both mobile platforms,
   and it costs no dependency - which is why there is no PDF library here.

   Outside @layer components on purpose: these are page-level overrides and
   must win over utility classes without an !important arms race.
--------------------------------------------------------------------------- */

@media print {
  /* Chrome and Safari drop backgrounds when printing unless asked. */

  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Paper is white. Forcing dark theme colours would eat a cartridge and
       read badly, so the invoice prints as black on white. */

  html, body {
    background: #fff !important;
    color: #111 !important;
  }

  body * {
    color: #111 !important;
    background-image: none !important;
  }

  /* Site furniture is not part of an invoice. */

  #navbar-placeholder,
    #footer-placeholder,
    nav, header, footer,
    .no-print,
    [data-no-print],
    button,
    a[href^="mailto:"]::after,
    #search-overlay,
    #cart-drawer {
    display: none !important;
  }

  /* The header that only exists on paper. */

  .invoice-only {
    display: block !important;
  }

  /* The label for an invoice line is written by CSS, not by the markup, so
       that hiding the line hides its label with it. This is what makes an
       empty tax number vanish completely instead of printing "Tax number:"
       with nothing after it. A line with no value carries `hidden` and is
       never displayed, so this rule never runs for it. */

  .invoice-line[data-label]::before {
    content: attr(data-label) " ";
    font-weight: 700;
  }

  /* Links print their own text, not a underlined blue promise. */

  a {
    text-decoration: none !important;
  }

  /* Panels become plain ruled blocks. */

  .card,
    [class*="bg-brand-"] {
    background: #fff !important;
    border-color: #ccc !important;
    box-shadow: none !important;
  }

  /* order-success.html centres its card with flex. On paper that would put
       the invoice header beside the card instead of above it, so the layout
       goes back to plain stacked blocks. */

  main {
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }

  /* Do not split a line item across two sheets. */

  tr, li, .invoice-row {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    page-break-inside: avoid;
  }

  @page {
    margin: 16mm;
  }
}

.file\:mr-3::file-selector-button {
  margin-right: 0.75rem;
}

.file\:mr-4::file-selector-button {
  margin-right: 1rem;
}

.file\:rounded::file-selector-button {
  border-radius: 4px;
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-brand-card::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(38 35 32 / var(--tw-bg-opacity, 1));
}

.file\:bg-brand-secondaryBg::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
}

.file\:px-3::file-selector-button {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.file\:px-4::file-selector-button {
  padding-left: 1rem;
  padding-right: 1rem;
}

.file\:py-1::file-selector-button {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.file\:py-2::file-selector-button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.file\:text-xs::file-selector-button {
  font-size: 0.64rem;
}

.file\:font-bold::file-selector-button {
  font-weight: 700;
}

.file\:text-brand-textPrimary::file-selector-button {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:bottom-0::after {
  content: var(--tw-content);
  bottom: 0px;
}

.after\:left-0::after {
  content: var(--tw-content);
  left: 0px;
}

.after\:h-0\.5::after {
  content: var(--tw-content);
  height: 0.125rem;
}

.after\:w-full::after {
  content: var(--tw-content);
  width: 100%;
}

.after\:origin-bottom-right::after {
  content: var(--tw-content);
  transform-origin: bottom right;
}

.after\:scale-x-0::after {
  content: var(--tw-content);
  --tw-scale-x: 0;
  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));
}

.after\:bg-brand-gold::after {
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(200 162 74 / var(--tw-bg-opacity, 1));
}

.after\:transition-transform::after {
  content: var(--tw-content);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.after\:duration-300::after {
  content: var(--tw-content);
  transition-duration: 300ms;
}

.after\:content-\[\'\'\]::after {
  --tw-content: '';
  content: var(--tw-content);
}

.first\:pt-0:first-child {
  padding-top: 0px;
}

.last\:mb-0:last-child {
  margin-bottom: 0px;
}

.last\:border-0:last-child {
  border-width: 0px;
}

.last\:pb-0:last-child {
  padding-bottom: 0px;
}

.checked\:border-brand-gold:checked {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
}

.checked\:bg-brand-gold:checked {
  --tw-bg-opacity: 1;
  background-color: rgb(200 162 74 / var(--tw-bg-opacity, 1));
}

.empty\:hidden:empty {
  display: none;
}

.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-brand-accent:hover {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-borderLight:hover {
  --tw-border-opacity: 1;
  border-color: rgb(58 54 48 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-gold:hover {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-textPrimary:hover {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
}

.hover\:border-red-500:hover {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}

.hover\:bg-brand-black:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-borderLight:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(58 54 48 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-card:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(38 35 32 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-gold:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(200 162 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-gunmetal:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(58 54 48 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-primaryBg:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(20 19 15 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-primaryBg\/30:hover {
  background-color: rgb(20 19 15 / 0.3);
}

.hover\:bg-brand-raised:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(38 35 32 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-secondaryBg:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(28 26 22 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-textPrimary:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 235 225 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 235 225 / var(--tw-bg-opacity, 1));
}

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

.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:text-brand-accent:hover {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-danger:hover {
  --tw-text-opacity: 1;
  color: rgb(180 69 58 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-gold:hover {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-gunmetal:hover {
  --tw-text-opacity: 1;
  color: rgb(58 54 48 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-primaryBg:hover {
  --tw-text-opacity: 1;
  color: rgb(20 19 15 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-textPrimary:hover {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-white:hover {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.hover\:text-green-400:hover {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}

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

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:shadow-2xl:hover {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_0_25px_rgba\(255\2c 255\2c 255\2c 0\.2\)\]:hover {
  --tw-shadow: 0 0 25px rgba(255,255,255,0.2);
  --tw-shadow-colored: 0 0 25px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_6px_20px_rgba\(197\2c 160\2c 89\2c 0\.23\)\]:hover {
  --tw-shadow: 0 6px 20px rgba(197,160,89,0.23);
  --tw-shadow-colored: 0 6px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-brand-gold\/20:hover {
  --tw-shadow-color: rgb(200 162 74 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:file\:bg-brand-gunmetal::file-selector-button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(58 54 48 / var(--tw-bg-opacity, 1));
}

.focus\:border-brand-accent:focus {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
}

.focus\:border-brand-gold:focus {
  --tw-border-opacity: 1;
  border-color: rgb(200 162 74 / var(--tw-border-opacity, 1));
}

.focus\:border-brand-textPrimary:focus {
  --tw-border-opacity: 1;
  border-color: rgb(240 235 225 / var(--tw-border-opacity, 1));
}

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

.focus\:ring-0: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(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);
}

.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-brand-accent:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(200 162 74 / var(--tw-ring-opacity, 1));
}

.focus\:ring-brand-gold:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(200 162 74 / var(--tw-ring-opacity, 1));
}

.focus\:ring-brand-gunmetal:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(58 54 48 / var(--tw-ring-opacity, 1));
}

.focus\:ring-offset-0:focus {
  --tw-ring-offset-width: 0px;
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus\:ring-offset-brand-card:focus {
  --tw-ring-offset-color: #262320;
}

.focus\:ring-offset-brand-primaryBg:focus {
  --tw-ring-offset-color: #14130F;
}

.focus\:ring-offset-brand-surface:focus {
  --tw-ring-offset-color: #1C1A16;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:opacity-30:disabled {
  opacity: 0.3;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.group[open] .group-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));
}

.group:hover .group-hover\:visible {
  visibility: visible;
}

.group:hover .group-hover\:w-full {
  width: 100%;
}

.group:hover .group-hover\:translate-x-0 {
  --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));
}

.group:hover .group-hover\: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));
}

.group\/card:hover .group-hover\/card\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:bg-brand-primaryBg\/30 {
  background-color: rgb(20 19 15 / 0.3);
}

.group\/card:hover .group-hover\/card\:text-brand-gold {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-brand-accent {
  --tw-text-opacity: 1;
  color: rgb(200 162 74 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-brand-gunmetal {
  --tw-text-opacity: 1;
  color: rgb(58 54 48 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-brand-textPrimary {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-brand-white {
  --tw-text-opacity: 1;
  color: rgb(240 235 225 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:after\:origin-bottom-left::after {
  content: var(--tw-content);
  transform-origin: bottom left;
}

.group:hover .group-hover\:after\:scale-x-100::after {
  content: var(--tw-content);
  --tw-scale-x: 1;
  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));
}

.peer:checked ~ .peer-checked\:opacity-100 {
  opacity: 1;
}

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

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

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:w-64 {
    width: 16rem;
  }

  .sm\:w-\[50vw\] {
    width: 50vw;
  }

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

  .sm\:flex-grow-0 {
    flex-grow: 0;
  }

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

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

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

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

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

  .sm\:items-end {
    align-items: flex-end;
  }

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

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

  .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\:px-\[50px\] {
    padding-left: 50px;
    padding-right: 50px;
  }
}

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

  .md\:-ml-6 {
    margin-left: -1.5rem;
  }

  .md\:-mr-6 {
    margin-right: -1.5rem;
  }

  .md\:block {
    display: block;
  }

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

  .md\:inline {
    display: inline;
  }

  .md\:flex {
    display: flex;
  }

  .md\:grid {
    display: grid;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-20 {
    height: 5rem;
  }

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

  .md\:h-full {
    height: 100%;
  }

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

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:w-1\/4 {
    width: 25%;
  }

  .md\:w-3\/4 {
    width: 75%;
  }

  .md\:w-\[70\%\] {
    width: 70%;
  }

  .md\:w-\[calc\(50\%-1rem\)\] {
    width: calc(50% - 1rem);
  }

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

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

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

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

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

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

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

  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }

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

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

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

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

  .md\:p-10 {
    padding: 2.5rem;
  }

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

  .md\:p-16 {
    padding: 4rem;
  }

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

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

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

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

  .md\:text-2xl {
    font-size: 1.953rem;
  }

  .md\:text-4xl {
    font-size: 3.052rem;
  }

  .md\:text-5xl {
    font-size: 3.815rem;
  }

  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-9xl {
    font-size: 8rem;
    line-height: 1;
  }

  .md\:text-base {
    font-size: 1rem;
  }

  .md\:text-sm {
    font-size: 0.8rem;
  }
}

@media (min-width: 1024px) {
  .lg\:visible {
    visibility: visible;
  }

  .lg\:static {
    position: static;
  }

  .lg\:sticky {
    position: sticky;
  }

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

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

  .lg\:ml-64 {
    margin-left: 16rem;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

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

  .lg\:h-auto {
    height: auto;
  }

  .lg\:h-full {
    height: 100%;
  }

  .lg\:w-1\/3 {
    width: 33.333333%;
  }

  .lg\:w-1\/4 {
    width: 25%;
  }

  .lg\:w-2\/3 {
    width: 66.666667%;
  }

  .lg\:w-3\/4 {
    width: 75%;
  }

  .lg\:w-\[15\%\] {
    width: 15%;
  }

  .lg\:w-\[20\%\] {
    width: 20%;
  }

  .lg\:w-\[35\%\] {
    width: 35%;
  }

  .lg\:w-\[40\%\] {
    width: 40%;
  }

  .lg\:w-\[45\%\] {
    width: 45%;
  }

  .lg\:w-\[55\%\] {
    width: 55%;
  }

  .lg\:w-\[60\%\] {
    width: 60%;
  }

  .lg\:w-\[65\%\] {
    width: 65%;
  }

  .lg\:w-\[85\%\] {
    width: 85%;
  }

  .lg\:w-\[calc\(100\%-16rem\)\] {
    width: calc(100% - 16rem);
  }

  .lg\:w-\[calc\(33\.333\%-1\.333rem\)\] {
    width: calc(33.333% - 1.333rem);
  }

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

  .lg\:w-full {
    width: 100%;
  }

  .lg\:max-w-none {
    max-width: none;
  }

  .lg\:translate-x-0 {
    --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));
  }

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

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

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

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

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

  .lg\:grid-cols-\[1\.5fr_1fr_1fr_1fr\] {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
  }

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

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

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

  .lg\:gap-\[80px\] {
    gap: 80px;
  }

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

  .lg\:overflow-hidden {
    overflow: hidden;
  }

  .lg\:overflow-visible {
    overflow: visible;
  }

  .lg\:border-r {
    border-right-width: 1px;
  }

  .lg\:bg-transparent {
    background-color: transparent;
  }

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

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

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

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

  .lg\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .lg\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .lg\:pl-4 {
    padding-left: 1rem;
  }

  .lg\:pr-16 {
    padding-right: 4rem;
  }

  .lg\:pt-0 {
    padding-top: 0px;
  }

  .lg\:text-3xl {
    font-size: 2.441rem;
  }

  .lg\:text-5xl {
    font-size: 3.815rem;
  }

  .lg\:text-lg {
    font-size: 1.25rem;
  }

  .lg\:text-sm {
    font-size: 0.8rem;
  }

  .lg\:text-xs {
    font-size: 0.64rem;
  }

  .lg\:transition-none {
    transition-property: none;
  }
}

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

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

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

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

  .xl\:text-4xl {
    font-size: 3.052rem;
  }
}
