/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: "Source Sans 3", system-ui, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --spacing: 0.25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --blur-sm: 8px;
    --blur-md: 12px;
    --aspect-video: 16 / 9;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: "Source Sans 3", system-ui, sans-serif;
    --default-mono-font-family: var(--font-mono);
    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-border: var(--border);
    --color-teal-soft: var(--teal-soft);
    --font-display: "Oswald", "Arial Narrow", sans-serif;
    --font-script: "Parisienne", "Apple Chancery", cursive;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pattern-corner {
    position: relative;
    isolation: isolate;
    &::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("../images/pattern-gold.png");
      background-size: 360px auto;
      background-repeat: repeat;
      opacity: 0.1;
      pointer-events: none;
      z-index: -1;
      mask-image: radial-gradient(38rem 26rem at 0% 0%, black, transparent 70%), radial-gradient(38rem 26rem at 100% 100%, black, transparent 70%);
      mask-composite: add;
      -webkit-mask-composite: source-over;
    }
  }
  .pattern-gold {
    position: relative;
    isolation: isolate;
    &::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("../images/pattern-gold.png");
      background-size: 520px auto;
      background-repeat: repeat;
      opacity: 0.14;
      pointer-events: none;
      z-index: -1;
      mask-image: radial-gradient(ellipse at center, black 10%, transparent 72%);
    }
  }
  .pattern-wide {
    position: relative;
    isolation: isolate;
    &::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("../images/pattern-gold.png");
      background-size: 760px auto;
      background-repeat: repeat;
      opacity: 0.09;
      pointer-events: none;
      z-index: -1;
      mask-image: linear-gradient(to bottom, transparent, black 22%, black 78%, transparent);
    }
  }
  .pattern-dark {
    position: relative;
    isolation: isolate;
    &::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      opacity: 0.45;
      background-image: repeating-linear-gradient( 45deg, var(--gold) 0 1px, transparent 1px 44px ), repeating-linear-gradient( -45deg, var(--gold) 0 1px, transparent 1px 44px );
      @supports (color: color-mix(in lab, red, red)) {
        background-image: repeating-linear-gradient( 45deg, color-mix(in oklab, var(--gold) 22%, transparent) 0 1px, transparent 1px 44px ), repeating-linear-gradient( -45deg, color-mix(in oklab, var(--gold) 22%, transparent) 0 1px, transparent 1px 44px );
      }
      mask-image: radial-gradient(ellipse at center, black 5%, transparent 70%);
    }
  }
  .frame-gold {
    position: relative;
    &::after {
      content: "";
      position: absolute;
      inset: 1.25rem;
      pointer-events: none;
      border: 1px solid var(--gold);
      @supports (color: color-mix(in lab, red, red)) {
        border: 1px solid color-mix(in oklab, var(--gold) 26%, transparent);
      }
      z-index: 1;
    }
  }
  .column-guides {
    position: relative;
    isolation: isolate;
    &::after {
      content: "";
      position: absolute;
      inset-block: 0;
      inset-inline: 0;
      pointer-events: none;
      z-index: -1;
      background-image: repeating-linear-gradient( to right, var(--gold) 0 1px, transparent 1px 25% );
      @supports (color: color-mix(in lab, red, red)) {
        background-image: repeating-linear-gradient( to right, color-mix(in oklab, var(--gold) 16%, transparent) 0 1px, transparent 1px 25% );
      }
      mask-image: linear-gradient(to bottom, transparent, black 30%, black 70%, transparent);
      display: none;
    }
  }
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .card-corners {
    position: relative;
  }
  .fixed {
    position: fixed;
  }
  .link-underline {
    position: relative;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: 0px;
  }
  .inset-x-0 {
    inset-inline: 0px;
  }
  .-top-1 {
    top: calc(var(--spacing) * -1);
  }
  .top-0 {
    top: 0px;
  }
  .top-1\.5 {
    top: calc(var(--spacing) * 1.5);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-5 {
    top: calc(var(--spacing) * 5);
  }
  .top-6 {
    top: calc(var(--spacing) * 6);
  }
  .top-full {
    top: 100%;
  }
  .-right-1 {
    right: calc(var(--spacing) * -1);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .right-5 {
    right: calc(var(--spacing) * 5);
  }
  .right-6 {
    right: calc(var(--spacing) * 6);
  }
  .right-8 {
    right: calc(var(--spacing) * 8);
  }
  .bottom-0 {
    bottom: 0px;
  }
  .bottom-1\.5 {
    bottom: calc(var(--spacing) * 1.5);
  }
  .bottom-5 {
    bottom: calc(var(--spacing) * 5);
  }
  .bottom-8 {
    bottom: calc(var(--spacing) * 8);
  }
  .-left-7 {
    left: calc(var(--spacing) * -7);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .left-5 {
    left: calc(var(--spacing) * 5);
  }
  .left-6 {
    left: calc(var(--spacing) * 6);
  }
  .left-\[3px\] {
    left: 3px;
  }
  .isolate {
    isolation: isolate;
  }
  .z-10 {
    z-index: 10;
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[2\] {
    z-index: 2;
  }
  .z-\[70\] {
    z-index: 70;
  }
  .z-\[100\] {
    z-index: 100;
  }
  .col-span-full {
    grid-column: 1 / -1;
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-24 {
    margin-block: calc(var(--spacing) * 24);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: var(--spacing);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .ml-auto {
    margin-left: auto;
  }
  .gold-rule {
    display: block;
    height: 1px;
    width: 4.5rem;
    background: linear-gradient( to right, transparent, var(--gold), transparent );
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .aspect-\[4\/3\] {
    aspect-ratio: 4/3;
  }
  .aspect-\[4\/5\] {
    aspect-ratio: 4/5;
  }
  .aspect-\[16\/9\] {
    aspect-ratio: 16/9;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-24 {
    height: calc(var(--spacing) * 24);
  }
  .h-56 {
    height: calc(var(--spacing) * 56);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-\[7px\] {
    height: 7px;
  }
  .h-\[56px\] {
    height: 56px;
  }
  .h-\[72px\] {
    height: 72px;
  }
  .h-\[80vh\] {
    height: 80vh;
  }
  .h-\[90px\] {
    height: 90px;
  }
  .h-\[160\%\] {
    height: 160%;
  }
  .h-full {
    height: 100%;
  }
  .max-h-\[92vh\] {
    max-height: 92vh;
  }
  .min-h-0 {
    min-height: 0px;
  }
  .min-h-\[19rem\] {
    min-height: 19rem;
  }
  .min-h-\[26rem\] {
    min-height: 26rem;
  }
  .min-h-\[100svh\] {
    min-height: 100svh;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-56 {
    width: calc(var(--spacing) * 56);
  }
  .w-\[7px\] {
    width: 7px;
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .w-px {
    width: 1px;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-\[16ch\] {
    max-width: 16ch;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .min-w-0 {
    min-width: 0px;
  }
  .min-w-5 {
    min-width: calc(var(--spacing) * 5);
  }
  .min-w-\[720px\] {
    min-width: 720px;
  }
  .flex-1 {
    flex: 1;
  }
  .shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .origin-top {
    transform-origin: top;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1 {
    --tw-translate-y: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-4 {
    --tw-translate-y: calc(var(--spacing) * -4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-0 {
    --tw-translate-y: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-1 {
    --tw-translate-y: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-8 {
    --tw-translate-y: calc(var(--spacing) * 8);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-100 {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-105 {
    --tw-scale-x: 105%;
    --tw-scale-y: 105%;
    --tw-scale-z: 105%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .scale-125 {
    --tw-scale-x: 125%;
    --tw-scale-y: 125%;
    --tw-scale-z: 125%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .resize-none {
    resize: none;
  }
  .scroll-mt-32 {
    scroll-margin-top: calc(var(--spacing) * 32);
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-\[minmax\(0\,1fr\)_auto\] {
    grid-template-columns: minmax(0,1fr) auto;
  }
  .grid-rows-\[0fr\] {
    grid-template-rows: 0fr;
  }
  .grid-rows-\[1fr\] {
    grid-template-rows: 1fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-items-center {
    place-items: center;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-0 {
    gap: 0px;
  }
  .gap-1 {
    gap: var(--spacing);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-6 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-10 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)));
  }
  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }
  .gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }
  .gap-y-1 {
    row-gap: var(--spacing);
  }
  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .gap-y-12 {
    row-gap: calc(var(--spacing) * 12);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded-2xl {
    border-radius: calc(var(--radius) + 8px);
  }
  .rounded-\[0\.75rem\] {
    border-radius: 0.75rem;
  }
  .rounded-\[1\.5rem\] {
    border-radius: 1.5rem;
  }
  .rounded-\[1\.25rem\] {
    border-radius: 1.25rem;
  }
  .rounded-\[1\.75rem\] {
    border-radius: 1.75rem;
  }
  .rounded-\[1rem\] {
    border-radius: 1rem;
  }
  .rounded-\[2\.5rem\] {
    border-radius: 2.5rem;
  }
  .rounded-\[2rem\] {
    border-radius: 2rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-md {
    border-radius: calc(var(--radius) - 2px);
  }
  .rounded-xl {
    border-radius: calc(var(--radius) + 4px);
  }
  .rounded-t-2xl {
    border-top-left-radius: calc(var(--radius) + 8px);
    border-top-right-radius: calc(var(--radius) + 8px);
  }
  .rounded-t-\[1\.5rem\] {
    border-top-left-radius: 1.5rem;
    border-top-right-radius: 1.5rem;
  }
  .rounded-b-2xl {
    border-bottom-right-radius: calc(var(--radius) + 8px);
    border-bottom-left-radius: calc(var(--radius) + 8px);
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-y {
    border-block-style: var(--tw-border-style);
    border-block-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-accent {
    border-color: var(--accent);
  }
  .border-border {
    border-color: var(--border);
  }
  .border-navy\/10 {
    border-color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--navy) 10%, transparent);
    }
  }
  .border-navy\/15 {
    border-color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--navy) 15%, transparent);
    }
  }
  .border-primary-foreground\/10 {
    border-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--primary-foreground) 10%, transparent);
    }
  }
  .border-primary-foreground\/15 {
    border-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--primary-foreground) 15%, transparent);
    }
  }
  .bg-accent {
    background-color: var(--accent);
  }
  .bg-accent\/15 {
    background-color: var(--accent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--accent) 15%, transparent);
    }
  }
  .bg-background {
    background-color: var(--background);
  }
  .bg-background\/70 {
    background-color: var(--background);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--background) 70%, transparent);
    }
  }
  .bg-background\/85 {
    background-color: var(--background);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--background) 85%, transparent);
    }
  }
  .bg-background\/90 {
    background-color: var(--background);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--background) 90%, transparent);
    }
  }
  .bg-background\/98 {
    background-color: var(--background);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--background) 98%, transparent);
    }
  }
  .bg-card {
    background-color: var(--card);
  }
  .bg-navy {
    background-color: var(--navy);
  }
  .bg-navy\/10 {
    background-color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--navy) 10%, transparent);
    }
  }
  .bg-navy\/25 {
    background-color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--navy) 25%, transparent);
    }
  }
  .bg-navy\/60 {
    background-color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--navy) 60%, transparent);
    }
  }
  .bg-navy\/70 {
    background-color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--navy) 70%, transparent);
    }
  }
  .bg-primary {
    background-color: var(--primary);
  }
  .bg-primary-foreground {
    background-color: var(--primary-foreground);
  }
  .bg-primary-foreground\/10 {
    background-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--primary-foreground) 10%, transparent);
    }
  }
  .bg-primary-foreground\/15 {
    background-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--primary-foreground) 15%, transparent);
    }
  }
  .bg-primary-foreground\/25 {
    background-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--primary-foreground) 25%, transparent);
    }
  }
  .bg-primary-foreground\/30 {
    background-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--primary-foreground) 30%, transparent);
    }
  }
  .bg-sand {
    background-color: var(--sand);
  }
  .bg-sand\/30 {
    background-color: var(--sand);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--sand) 30%, transparent);
    }
  }
  .bg-sand\/50 {
    background-color: var(--sand);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--sand) 50%, transparent);
    }
  }
  .bg-teal-soft {
    background-color: var(--teal-soft);
  }
  .bg-teal-soft\/40 {
    background-color: var(--teal-soft);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--teal-soft) 40%, transparent);
    }
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-black\/30 {
    --tw-gradient-from: color-mix(in srgb, #000 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 30%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-black\/35 {
    --tw-gradient-from: color-mix(in srgb, #000 35%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 35%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-navy\/55 {
    --tw-gradient-from: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--navy) 55%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-navy\/35 {
    --tw-gradient-via: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--navy) 35%, transparent);
    }
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-navy\/80 {
    --tw-gradient-to: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--navy) 80%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .fill-accent {
    fill: var(--accent);
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .object-top {
    object-position: top;
  }
  .p-0 {
    padding: 0px;
  }
  .p-1 {
    padding: var(--spacing);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-7 {
    padding: calc(var(--spacing) * 7);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-0\.5 {
    padding-inline: calc(var(--spacing) * 0.5);
  }
  .px-1 {
    padding-inline: var(--spacing);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: var(--spacing);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-10 {
    padding-top: calc(var(--spacing) * 10);
  }
  .pt-14 {
    padding-top: calc(var(--spacing) * 14);
  }
  .pt-24 {
    padding-top: calc(var(--spacing) * 24);
  }
  .pt-32 {
    padding-top: calc(var(--spacing) * 32);
  }
  .pr-10 {
    padding-right: calc(var(--spacing) * 10);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }
  .pl-7 {
    padding-left: calc(var(--spacing) * 7);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .align-bottom {
    vertical-align: bottom;
  }
  .font-script {
    font-family: var(--font-script);
    text-transform: none;
    letter-spacing: 0;
  }
  .font-display {
    font-family: var(--font-display);
    font-family: "Oswald", "Arial Narrow", sans-serif;
  }
  .font-script {
    font-family: "Parisienne", "Apple Chancery", cursive;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  .text-7xl {
    font-size: var(--text-7xl);
    line-height: var(--tw-leading, var(--text-7xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .btn-ref {
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.78rem;
    font-weight: 500;
  }
  .nav-link {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.82rem;
  }
  .text-\[0\.7rem\] {
    font-size: 0.7rem;
  }
  .text-\[1\.7rem\] {
    font-size: 1.7rem;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[11vw\] {
    font-size: 11vw;
  }
  .text-\[12px\] {
    font-size: 12px;
  }
  .leading-\[0\.95\] {
    --tw-leading: 0.95;
    line-height: 0.95;
  }
  .leading-\[1\.05\] {
    --tw-leading: 1.05;
    line-height: 1.05;
  }
  .leading-\[1\.15\] {
    --tw-leading: 1.15;
    line-height: 1.15;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[0\.2em\] {
    --tw-tracking: 0.2em;
    letter-spacing: 0.2em;
  }
  .tracking-\[0\.06em\] {
    --tw-tracking: 0.06em;
    letter-spacing: 0.06em;
  }
  .tracking-\[0\.12em\] {
    --tw-tracking: 0.12em;
    letter-spacing: 0.12em;
  }
  .tracking-\[0\.14em\] {
    --tw-tracking: 0.14em;
    letter-spacing: 0.14em;
  }
  .tracking-\[0\.15em\] {
    --tw-tracking: 0.15em;
    letter-spacing: 0.15em;
  }
  .tracking-\[0\.16em\] {
    --tw-tracking: 0.16em;
    letter-spacing: 0.16em;
  }
  .tracking-\[0\.18em\] {
    --tw-tracking: 0.18em;
    letter-spacing: 0.18em;
  }
  .tracking-\[0\.32em\] {
    --tw-tracking: 0.32em;
    letter-spacing: 0.32em;
  }
  .text-balance {
    text-wrap: balance;
  }
  .\[overflow-wrap\:anywhere\] {
    overflow-wrap: anywhere;
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .break-all {
    word-break: break-all;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-accent {
    color: var(--accent);
  }
  .text-accent-foreground {
    color: var(--accent-foreground);
  }
  .text-destructive {
    color: var(--destructive);
  }
  .text-foreground {
    color: var(--foreground);
  }
  .text-foreground\/80 {
    color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--foreground) 80%, transparent);
    }
  }
  .text-foreground\/85 {
    color: var(--foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--foreground) 85%, transparent);
    }
  }
  .text-gold {
    color: var(--gold);
  }
  .text-gold-soft {
    color: var(--gold-soft);
  }
  .text-muted-foreground {
    color: var(--muted-foreground);
  }
  .text-navy {
    color: var(--navy);
  }
  .text-navy\/75 {
    color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--navy) 75%, transparent);
    }
  }
  .text-navy\/80 {
    color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--navy) 80%, transparent);
    }
  }
  .text-navy\/90 {
    color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--navy) 90%, transparent);
    }
  }
  .text-primary {
    color: var(--primary);
  }
  .text-primary-foreground {
    color: var(--primary-foreground);
  }
  .text-primary-foreground\/50 {
    color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary-foreground) 50%, transparent);
    }
  }
  .text-primary-foreground\/55 {
    color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary-foreground) 55%, transparent);
    }
  }
  .text-primary-foreground\/60 {
    color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary-foreground) 60%, transparent);
    }
  }
  .text-primary-foreground\/70 {
    color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary-foreground) 70%, transparent);
    }
  }
  .text-primary-foreground\/75 {
    color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary-foreground) 75%, transparent);
    }
  }
  .text-primary-foreground\/80 {
    color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary-foreground) 80%, transparent);
    }
  }
  .text-primary-foreground\/85 {
    color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary-foreground) 85%, transparent);
    }
  }
  .text-primary\/50 {
    color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary) 50%, transparent);
    }
  }
  .text-primary\/60 {
    color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary) 60%, transparent);
    }
  }
  .text-primary\/70 {
    color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary) 70%, transparent);
    }
  }
  .text-primary\/75 {
    color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary) 75%, transparent);
    }
  }
  .text-primary\/80 {
    color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--primary) 80%, transparent);
    }
  }
  .text-teal-soft {
    color: var(--teal-soft);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .underline {
    text-decoration-line: underline;
  }
  .underline-offset-4 {
    text-underline-offset: 4px;
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-45 {
    opacity: 45%;
  }
  .opacity-100 {
    opacity: 100%;
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_0_0_4px_color-mix\(in_oklab\,var\(--color-teal-soft\)_25\%\,transparent\)\] {
    --tw-shadow: 0 0 0 4px var(--tw-shadow-color, var(--color-teal-soft));
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow: 0 0 0 4px var(--tw-shadow-color, color-mix(in oklab,var(--color-teal-soft) 25%,transparent));
    }
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_24px_60px_-20px_rgba\(12\,24\,48\,0\.65\)\] {
    --tw-shadow: 0 24px 60px -20px var(--tw-shadow-color, rgba(12,24,48,0.65));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-accent {
    --tw-ring-color: var(--accent);
  }
  .ring-border {
    --tw-ring-color: var(--border);
  }
  .ring-navy {
    --tw-ring-color: var(--navy);
  }
  .ring-navy\/20 {
    --tw-ring-color: var(--navy);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--navy) 20%, transparent);
    }
  }
  .ring-primary-foreground\/15 {
    --tw-ring-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--primary-foreground) 15%, transparent);
    }
  }
  .ring-primary-foreground\/25 {
    --tw-ring-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--primary-foreground) 25%, transparent);
    }
  }
  .ring-primary-foreground\/40 {
    --tw-ring-color: var(--primary-foreground);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--primary-foreground) 40%, transparent);
    }
  }
  .ring-primary\/5 {
    --tw-ring-color: var(--primary);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--primary) 5%, transparent);
    }
  }
  .ring-transparent {
    --tw-ring-color: transparent;
  }
  .drop-shadow-\[0_2px_8px_rgba\(0\,0\,0\,0\.45\)\] {
    --tw-drop-shadow-size: drop-shadow(0 2px 8px var(--tw-drop-shadow-color, rgba(0,0,0,0.45)));
    --tw-drop-shadow: var(--tw-drop-shadow-size);
    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 {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -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, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-\[height\] {
    transition-property: height;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .duration-\[900ms\] {
    --tw-duration: 900ms;
    transition-duration: 900ms;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .will-change-transform {
    will-change: transform;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .chevron-b {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 3rem), 50% 100%, 0 calc(100% - 3rem));
  }
  .chevron-t {
    clip-path: polygon(0 3rem, 50% 0, 100% 3rem, 100% 100%, 0 100%);
  }
  .lift {
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  .paused {
    animation-play-state: paused;
  }
  .press {
    transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  @media (hover: hover) {
    .group-hover\:-translate-y-0\.5:is(:where(.group):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:-translate-y-1:is(:where(.group):hover *) {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\:scale-105:is(:where(.group):hover *) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
    .group-hover\:scale-110:is(:where(.group):hover *) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
    .group-hover\:scale-\[1\.04\]:is(:where(.group):hover *) {
      scale: 1.04;
    }
    .group-hover\:scale-\[1\.05\]:is(:where(.group):hover *) {
      scale: 1.05;
    }
    .group-hover\:scale-\[1\.06\]:is(:where(.group):hover *) {
      scale: 1.06;
    }
    .group-hover\:bg-background:is(:where(.group):hover *) {
      background-color: var(--background);
    }
    .group-hover\:text-accent:is(:where(.group):hover *) {
      color: var(--accent);
    }
    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 100%;
    }
    .group-hover\:ring-accent:is(:where(.group):hover *) {
      --tw-ring-color: var(--accent);
    }
  }
  .last\:border-b:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  @media (hover: hover) {
    .hover\:-translate-y-1:hover {
      --tw-translate-y: calc(var(--spacing) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .hover\:bg-accent:hover {
      background-color: var(--accent);
    }
    .hover\:bg-background:hover {
      background-color: var(--background);
    }
    .hover\:bg-navy:hover {
      background-color: var(--navy);
    }
    .hover\:bg-navy\/45:hover {
      background-color: var(--navy);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-navy\/45:hover {
        background-color: color-mix(in oklab, var(--navy) 45%, transparent);
      }
    }
    .hover\:bg-primary-foreground\/10:hover {
      background-color: var(--primary-foreground);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary-foreground\/10:hover {
        background-color: color-mix(in oklab, var(--primary-foreground) 10%, transparent);
      }
    }
    .hover\:bg-primary-foreground\/15:hover {
      background-color: var(--primary-foreground);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary-foreground\/15:hover {
        background-color: color-mix(in oklab, var(--primary-foreground) 15%, transparent);
      }
    }
    .hover\:bg-primary\/5:hover {
      background-color: var(--primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/5:hover {
        background-color: color-mix(in oklab, var(--primary) 5%, transparent);
      }
    }
    .hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-primary\/90:hover {
        background-color: color-mix(in oklab, var(--primary) 90%, transparent);
      }
    }
    .hover\:bg-sand:hover {
      background-color: var(--sand);
    }
    .hover\:bg-sand\/70:hover {
      background-color: var(--sand);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-sand\/70:hover {
        background-color: color-mix(in oklab, var(--sand) 70%, transparent);
      }
    }
    .hover\:text-accent:hover {
      color: var(--accent);
    }
    .hover\:text-accent-foreground:hover {
      color: var(--accent-foreground);
    }
    .hover\:text-destructive:hover {
      color: var(--destructive);
    }
    .hover\:text-gold-soft:hover {
      color: var(--gold-soft);
    }
    .hover\:text-primary:hover {
      color: var(--primary);
    }
    .hover\:text-primary-foreground:hover {
      color: var(--primary-foreground);
    }
    .hover\:text-teal-soft:hover {
      color: var(--teal-soft);
    }
    .hover\:underline:hover {
      text-decoration-line: underline;
    }
    .hover\:shadow-\[0_20px_50px_-30px_rgba\(30\,45\,70\,0\.45\)\]:hover {
      --tw-shadow: 0 20px 50px -30px var(--tw-shadow-color, rgba(30,45,70,0.45));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .hover\:shadow-\[0_24px_60px_-30px_rgba\(30\,45\,70\,0\.45\)\]:hover {
      --tw-shadow: 0 24px 60px -30px var(--tw-shadow-color, rgba(30,45,70,0.45));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
    .hover\:ring-accent:hover {
      --tw-ring-color: var(--accent);
    }
    .hover\:ring-accent\/40:hover {
      --tw-ring-color: var(--accent);
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:ring-accent\/40:hover {
        --tw-ring-color: color-mix(in oklab, var(--accent) 40%, transparent);
      }
    }
    .hover\:ring-border:hover {
      --tw-ring-color: var(--border);
    }
    .hover\:ring-gold:hover {
      --tw-ring-color: var(--gold);
    }
  }
  .focus\:ring-accent:focus {
    --tw-ring-color: var(--accent);
  }
  .focus-visible\:ring-2:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .focus-visible\:ring-accent:focus-visible {
    --tw-ring-color: var(--accent);
  }
  @media (width >= 40rem) {
    .sm\:max-w-xl {
      max-width: var(--container-xl);
    }
    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sm\:flex-row {
      flex-direction: row;
    }
    .sm\:items-center {
      align-items: center;
    }
    .sm\:justify-center {
      justify-content: center;
    }
    .sm\:rounded-\[1\.5rem\] {
      border-radius: 1.5rem;
    }
    .sm\:p-6 {
      padding: calc(var(--spacing) * 6);
    }
    .sm\:px-12 {
      padding-inline: calc(var(--spacing) * 12);
    }
  }
  @media (width >= 48rem) {
    .md\:absolute {
      position: absolute;
    }
    .md\:inset-x-0 {
      inset-inline: 0px;
    }
    .md\:top-0 {
      top: 0px;
    }
    .md\:right-8 {
      right: calc(var(--spacing) * 8);
    }
    .md\:-bottom-2 {
      bottom: calc(var(--spacing) * -2);
    }
    .md\:bottom-14 {
      bottom: calc(var(--spacing) * 14);
    }
    .md\:left-8 {
      left: calc(var(--spacing) * 8);
    }
    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }
    .md\:col-span-3 {
      grid-column: span 3 / span 3;
    }
    .md\:col-span-4 {
      grid-column: span 4 / span 4;
    }
    .md\:col-span-5 {
      grid-column: span 5 / span 5;
    }
    .md\:my-32 {
      margin-block: calc(var(--spacing) * 32);
    }
    .md\:mt-0 {
      margin-top: 0px;
    }
    .md\:mt-5 {
      margin-top: calc(var(--spacing) * 5);
    }
    .md\:mt-6 {
      margin-top: calc(var(--spacing) * 6);
    }
    .md\:mt-8 {
      margin-top: calc(var(--spacing) * 8);
    }
    .md\:mt-10 {
      margin-top: calc(var(--spacing) * 10);
    }
    .md\:mt-20 {
      margin-top: calc(var(--spacing) * 20);
    }
    .md\:mt-28 {
      margin-top: calc(var(--spacing) * 28);
    }
    .md\:mb-1 {
      margin-bottom: var(--spacing);
    }
    .md\:mb-14 {
      margin-bottom: calc(var(--spacing) * 14);
    }
    .md\:mb-20 {
      margin-bottom: calc(var(--spacing) * 20);
    }
    .md\:block {
      display: block;
    }
    .md\:flex {
      display: flex;
    }
    .md\:hidden {
      display: none;
    }
    .md\:aspect-\[4\/5\] {
      aspect-ratio: 4/5;
    }
    .md\:aspect-\[5\/4\] {
      aspect-ratio: 5/4;
    }
    .md\:aspect-auto {
      aspect-ratio: auto;
    }
    .md\:h-5 {
      height: calc(var(--spacing) * 5);
    }
    .md\:h-80 {
      height: calc(var(--spacing) * 80);
    }
    .md\:h-\[72px\] {
      height: 72px;
    }
    .md\:h-\[90px\] {
      height: 90px;
    }
    .md\:h-\[116px\] {
      height: 116px;
    }
    .md\:h-auto {
      height: auto;
    }
    .md\:h-full {
      height: 100%;
    }
    .md\:min-h-\[26rem\] {
      min-height: 26rem;
    }
    .md\:min-h-\[32rem\] {
      min-height: 32rem;
    }
    .md\:w-5 {
      width: calc(var(--spacing) * 5);
    }
    .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-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .md\:grid-cols-12 {
      grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .md\:grid-cols-\[minmax\(0\,1fr\)_auto\] {
      grid-template-columns: minmax(0,1fr) auto;
    }
    .md\:flex-row {
      flex-direction: row;
    }
    .md\:items-center {
      align-items: center;
    }
    .md\:justify-between {
      justify-content: space-between;
    }
    .md\:justify-start {
      justify-content: flex-start;
    }
    .md\:gap-12 {
      gap: calc(var(--spacing) * 12);
    }
    .md\:gap-14 {
      gap: calc(var(--spacing) * 14);
    }
    .md\:gap-16 {
      gap: calc(var(--spacing) * 16);
    }
    .md\:border-r {
      border-right-style: var(--tw-border-style);
      border-right-width: 1px;
    }
    .md\:border-b-0 {
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 0px;
    }
    .md\:p-5 {
      padding: calc(var(--spacing) * 5);
    }
    .md\:p-6 {
      padding: calc(var(--spacing) * 6);
    }
    .md\:p-7 {
      padding: calc(var(--spacing) * 7);
    }
    .md\:p-8 {
      padding: calc(var(--spacing) * 8);
    }
    .md\:p-10 {
      padding: calc(var(--spacing) * 10);
    }
    .md\:p-12 {
      padding: calc(var(--spacing) * 12);
    }
    .md\:px-6 {
      padding-inline: calc(var(--spacing) * 6);
    }
    .md\:px-10 {
      padding-inline: calc(var(--spacing) * 10);
    }
    .md\:px-20 {
      padding-inline: calc(var(--spacing) * 20);
    }
    .md\:py-3 {
      padding-block: calc(var(--spacing) * 3);
    }
    .md\:py-5 {
      padding-block: calc(var(--spacing) * 5);
    }
    .md\:py-8 {
      padding-block: calc(var(--spacing) * 8);
    }
    .md\:py-10 {
      padding-block: calc(var(--spacing) * 10);
    }
    .md\:py-12 {
      padding-block: calc(var(--spacing) * 12);
    }
    .md\:py-16 {
      padding-block: calc(var(--spacing) * 16);
    }
    .md\:py-28 {
      padding-block: calc(var(--spacing) * 28);
    }
    .md\:pt-14 {
      padding-top: calc(var(--spacing) * 14);
    }
    .md\:pt-16 {
      padding-top: calc(var(--spacing) * 16);
    }
    .md\:pt-32 {
      padding-top: calc(var(--spacing) * 32);
    }
    .md\:pr-12 {
      padding-right: calc(var(--spacing) * 12);
    }
    .md\:pb-6 {
      padding-bottom: calc(var(--spacing) * 6);
    }
    .md\:pb-7 {
      padding-bottom: calc(var(--spacing) * 7);
    }
    .md\:pb-12 {
      padding-bottom: calc(var(--spacing) * 12);
    }
    .md\:pb-28 {
      padding-bottom: calc(var(--spacing) * 28);
    }
    .md\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    .md\:text-3xl {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
    }
    .md\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
    .md\:text-5xl {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
    .md\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
    .md\:text-base {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
    .md\:text-xl {
      font-size: var(--text-xl);
      line-height: var(--tw-leading, var(--text-xl--line-height));
    }
    .md\:text-\[1\.35rem\] {
      font-size: 1.35rem;
    }
    .md\:text-\[2\.6rem\] {
      font-size: 2.6rem;
    }
    .md\:text-\[6\.5rem\] {
      font-size: 6.5rem;
    }
    .md\:shadow-\[0_24px_60px_-34px_rgba\(30\,45\,70\,0\.5\)\] {
      --tw-shadow: 0 24px 60px -34px var(--tw-shadow-color, rgba(30,45,70,0.5));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  @media (width >= 64rem) {
    .lg\:flex {
      display: flex;
    }
    .lg\:grid {
      display: grid;
    }
    .lg\:hidden {
      display: none;
    }
    .lg\:inline-flex {
      display: inline-flex;
    }
    .lg\:h-\[28rem\] {
      height: 28rem;
    }
    .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-\[1fr_auto_1fr\] {
      grid-template-columns: 1fr auto 1fr;
    }
    .lg\:grid-cols-\[minmax\(0\,0\.85fr\)_minmax\(0\,1\.15fr\)\] {
      grid-template-columns: minmax(0,0.85fr) minmax(0,1.15fr);
    }
    .lg\:gap-20 {
      gap: calc(var(--spacing) * 20);
    }
    .lg\:justify-self-center {
      justify-self: center;
    }
    .lg\:justify-self-end {
      justify-self: flex-end;
    }
    .lg\:justify-self-start {
      justify-self: flex-start;
    }
    .lg\:text-2xl {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
    .lg\:text-6xl {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
    .lg\:text-\[7\.5rem\] {
      font-size: 7.5rem;
    }
  }
  @media (width >= 80rem) {
    .xl\:gap-6 {
      gap: calc(var(--spacing) * 6);
    }
  }
}
@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}
@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}
@property --tw-animation-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}
@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
:root {
  --radius: 1rem;
  --background: oklch(0.968 0.008 84);
  --foreground: oklch(0.303 0.057 257);
  --sand: oklch(0.925 0.016 80);
  --tan: oklch(0.780 0.052 72);
  --navy: oklch(0.262 0.052 258);
  --navy-soft: oklch(0.400 0.055 256);
  --gold: oklch(0.645 0.078 62);
  --gold-soft: oklch(0.862 0.043 80);
  --lagoon: oklch(0.520 0.058 205);
  --teal: var(--gold);
  --teal-soft: var(--gold-soft);
  --heal: oklch(0.48 0.12 244);
  --heal-soft: oklch(0.92 0.035 240);
  --empower: oklch(0.59 0.16 48);
  --empower-soft: oklch(0.93 0.045 60);
  --restore: oklch(0.45 0.10 153);
  --restore-soft: oklch(0.92 0.035 150);
  --career: oklch(0.46 0.10 302);
  --career-soft: oklch(0.93 0.03 302);
  --card: oklch(0.990 0.004 84);
  --card-foreground: oklch(0.303 0.057 257);
  --popover: oklch(0.990 0.004 84);
  --popover-foreground: oklch(0.303 0.057 257);
  --primary: var(--navy);
  --primary-foreground: oklch(0.968 0.008 84);
  --secondary: var(--sand);
  --secondary-foreground: var(--navy);
  --muted: oklch(0.925 0.016 80);
  --muted-foreground: oklch(0.492 0.033 256);
  --accent: var(--gold);
  --accent-foreground: oklch(0.180 0.040 258);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(0.985 0.01 78);
  --border: oklch(0.888 0.018 78);
  --input: oklch(0.895 0.016 78);
  --ring: var(--gold);
}
.dark {
  --background: oklch(0.200 0.045 257);
  --foreground: oklch(0.954 0.011 77);
  --card: oklch(0.260 0.050 257);
  --card-foreground: oklch(0.954 0.011 77);
  --popover: oklch(0.260 0.050 257);
  --popover-foreground: oklch(0.954 0.011 77);
  --primary: oklch(0.954 0.011 77);
  --primary-foreground: oklch(0.240 0.048 257);
  --secondary: oklch(0.320 0.052 257);
  --secondary-foreground: oklch(0.954 0.011 77);
  --muted: oklch(0.320 0.052 257);
  --muted-foreground: oklch(0.790 0.040 251);
  --accent: oklch(0.760 0.070 72);
  --accent-foreground: oklch(0.200 0.045 257);
  --destructive: oklch(0.704 0.191 22.216);
  --destructive-foreground: oklch(0.985 0.008 85);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.760 0.070 72);
}
@layer base {
  * {
    border-color: var(--color-border);
  }
  html {
    scroll-behavior: smooth;
  }
  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    font-family: var(--font-sans);
    font-size: 1.0625rem;
    letter-spacing: 0.01em;
  }
  h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.045em;
  }
}
.service-heal {
  --service-color: var(--heal);
  --service-soft: var(--heal-soft);
}
.service-career {
  --service-color: var(--career);
  --service-soft: var(--career-soft);
}
.service-empower {
  --service-color: var(--empower);
  --service-soft: var(--empower-soft);
}
.service-restore {
  --service-color: var(--restore);
  --service-soft: var(--restore-soft);
}
.service-accent {
  color: var(--service-color);
}
.service-button {
  background: var(--service-color);
  color: var(--primary-foreground);
  transition: filter 180ms ease, transform 180ms ease;
}
.service-button:hover {
  filter: brightness(0.9);
}
@media (min-width: 1024px) {
  .column-guides::after {
    display: block;
  }
}
@media (min-width: 768px) {
  .frame-gold::after {
    inset: 2rem;
  }
}
.card-corners::before, .card-corners::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  pointer-events: none;
  opacity: 0.55;
  transition: opacity 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.card-corners::before {
  top: 8px;
  left: 8px;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
}
.card-corners::after {
  bottom: 8px;
  right: 8px;
  border-bottom: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
}
.card-corners:hover::before, .card-corners:hover::after {
  opacity: 1;
}
@media (max-width: 767px) {
  .card-corners::before, .card-corners::after {
    display: none;
  }
}
.ornament-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  padding-block: 2.5rem;
  color: var(--gold);
}
.ornament-divider::before, .ornament-divider::after {
  content: "";
  height: 1px;
  width: min(9rem, 22vw);
  background: linear-gradient(to right, transparent, currentColor, transparent);
  opacity: 0.6;
}
.ornament-divider > span {
  width: 4px;
  height: 4px;
  transform: rotate(45deg);
  background: currentColor;
  opacity: 0.45;
}
.ornament-divider > span:nth-child(2) {
  width: 9px;
  height: 9px;
  background: none;
  border: 1px solid currentColor;
  opacity: 0.8;
}
.rule-diamond {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  color: var(--gold);
}
.rule-diamond::before, .rule-diamond::after {
  content: "";
  height: 1px;
  width: 3.25rem;
  background: linear-gradient(to right, transparent, currentColor, transparent);
}
.rule-diamond > i {
  display: block;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  border: 1px solid currentColor;
}
@keyframes spin-slow {
  to {
    transform: rotate(360deg);
  }
}
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 700ms cubic-bezier(0.22, 1, 0.36, 1), transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
[data-reveal="left"] {
  transform: translateX(-28px);
}
[data-reveal="right"] {
  transform: translateX(28px);
}
[data-reveal="scale"] {
  transform: scale(0.96);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
.lift:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -22px var(--navy);
  @supports (color: color-mix(in lab, red, red)) {
    box-shadow: 0 18px 40px -22px color-mix(in oklab, var(--navy) 45%, transparent);
  }
}
.press:active {
  transform: scale(0.97);
}
.link-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 1px;
  width: 100%;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}
.link-underline:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}
.nudge-arrow {
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}
.group:hover .nudge-arrow, a:hover .nudge-arrow, button:hover .nudge-arrow {
  transform: translate(2px, -2px);
}
@keyframes marquee-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 34s linear infinite;
  will-change: transform;
}
.marquee:hover .marquee-track {
  animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none;
  }
  .animate-spin-slow {
    animation: none;
  }
  .lift, .press, .link-underline::after, .nudge-arrow {
    transition: none;
  }
}
@keyframes contact-glow-drift {
  0% {
    transform: translate3d(-6%, -4%, 0) scale(1.05);
    opacity: 0.75;
  }
  50% {
    transform: translate3d(6%, 4%, 0) scale(1.15);
    opacity: 1;
  }
  100% {
    transform: translate3d(-6%, -4%, 0) scale(1.05);
    opacity: 0.75;
  }
}
.contact-glow::before, .contact-glow::after {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  border-radius: 9999px;
  filter: blur(70px);
  z-index: 0;
}
.contact-glow::before {
  background: radial-gradient(closest-side, var(--teal-soft), transparent 70%);
  @supports (color: color-mix(in lab, red, red)) {
    background: radial-gradient(closest-side, color-mix(in oklab, var(--teal-soft) 55%, transparent), transparent 70%);
  }
  animation: contact-glow-drift 18s ease-in-out infinite;
}
.contact-glow::after {
  background: radial-gradient(closest-side, var(--teal), transparent 70%);
  @supports (color: color-mix(in lab, red, red)) {
    background: radial-gradient(closest-side, color-mix(in oklab, var(--teal) 28%, transparent), transparent 70%);
  }
  animation: contact-glow-drift 24s ease-in-out infinite reverse;
}
@media (prefers-reduced-motion: reduce) {
  .contact-glow::before, .contact-glow::after {
    animation: none;
  }
}
@keyframes hero-card-float {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -7px, 0);
  }
}
.float-card {
  will-change: transform;
}
.float-anim {
  animation: hero-card-float 7s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .float-anim {
    animation: none !important;
  }
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.text-center .eyebrow {
  justify-content: center;
}
.eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: none;
  transform: rotate(45deg);
  background: currentColor;
  opacity: 0.7;
}
.eyebrow + h2::after, .eyebrow + h1::after {
  content: "";
  display: block;
  width: 4.5rem;
  height: 1px;
  margin-top: 1.4rem;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
}
.text-center .eyebrow + h2::after, .text-center .eyebrow + h1::after {
  margin-inline: auto;
  width: 10rem;
  height: 9px;
  background: linear-gradient(to right, transparent, var(--gold), transparent) left center / calc(50% - 0.75rem) 1px no-repeat, linear-gradient(to left, transparent, var(--gold), transparent) right center / calc(50% - 0.75rem) 1px no-repeat, url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='9' height='9' viewBox='0 0 9 9'><path d='M4.5 0.7 L8.3 4.5 L4.5 8.3 L0.7 4.5 Z' fill='none' stroke='%23a08052' stroke-width='1'/></svg>") center / 9px 9px no-repeat;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

/* ==========================================================================
   Theme additions (WordPress / WooCommerce integration)
   ========================================================================== */

:root {
	--btn-radius: 9999px;
	--btn-height: 2.75rem;
	--btn-padding: 0.75rem 1.75rem;
	--btn-font-size: 0.875rem;
	--btn-font-weight: 500;
	--btn-letter-spacing: 0;
	--btn-text-transform: none;
	--color-primary: var(--primary);
	--color-button-text: var(--primary-foreground);
	--font-body: var(--font-sans);
	--header-height: 7rem;
}

/* Parallax dividers: initial scale before JS runs. */
[data-parallax][data-scale="1.3"] [data-parallax-target] { transform: translateY(0) scale(1.3); }

/* Footer logo is shown white on navy. */
.footer-logo-img { filter: brightness(0) invert(1); }

/* Logo height (Customizer: site_logo_height). */
:root {
	--site-logo-height: 90px;
	--site-logo-height-md: 116px;
	--site-logo-height-scrolled: 56px;
	--site-logo-height-scrolled-md: 72px;
	--site-logo-height-footer: 72px;
}
.site-logo-img[data-nav-logo] {
	height: var(--site-logo-height);
	width: auto;
	object-fit: contain;
}
@media (min-width: 768px) {
	.site-logo-img[data-nav-logo] { height: var(--site-logo-height-md); }
}
body.nav-scrolled .site-logo-img[data-nav-logo] { height: var(--site-logo-height-scrolled); }
@media (min-width: 768px) {
	body.nav-scrolled .site-logo-img[data-nav-logo] { height: var(--site-logo-height-scrolled-md); }
}
.site-logo-img.footer-logo-img { height: var(--site-logo-height-footer); }

/* WordPress admin bar: offset sticky header when logged in. */
body.admin-bar #site-nav {
	top: var(--wp-admin--admin-bar--height, 32px);
}
@media screen and (max-width: 782px) {
	body.admin-bar #site-nav { top: var(--wp-admin--admin-bar--height, 46px); }
}

/* Pointer cursor on interactive elements. */
a[href],
button:not(:disabled),
[role="button"]:not([aria-disabled="true"]),
.btn-ref,
.press,
.nav-link,
.link-underline,
.theme-thumb,
[data-cart-open],
[data-cart-close],
[data-menu-toggle],
[data-menu-close],
[data-inquire],
[data-consult-open],
[data-dropdown-toggle],
[data-carousel-dot],
[data-carousel-prev],
[data-carousel-next],
[data-compare-toggle],
[data-compare-tab],
[data-popup-dismiss],
.add_to_cart_button,
.ajax_add_to_cart,
.single_add_to_cart_button {
	cursor: pointer;
}
button:disabled,
[aria-disabled="true"],
.theme-soldout {
	cursor: not-allowed;
}

/* Compare table — mobile program picker */
[data-compare-mobile] [data-compare-tabs] {
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
[data-compare-mobile] [data-compare-tabs]::-webkit-scrollbar {
	display: none;
}
.compare-tab {
	min-width: 7.5rem;
	background: var(--sand);
	color: var(--primary);
}
.compare-tab .compare-tab-price {
	color: color-mix(in oklab, var(--primary) 55%, transparent);
}
.compare-tab.is-active,
.compare-tab[aria-selected="true"] {
	background: var(--primary);
	color: var(--primary-foreground);
	border-color: var(--primary);
}
.compare-tab.is-active .compare-tab-price,
.compare-tab[aria-selected="true"] .compare-tab-price {
	color: color-mix(in oklab, var(--primary-foreground) 80%, transparent);
}
.compare-panel-list li + li {
	border-top: 1px solid color-mix(in oklab, var(--border) 70%, transparent);
}
.compare-panel.is-active {
	box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--accent) 30%, transparent);
}

/* Scroll reveals must never hide content inside the Customizer preview. */
body.is-customizer [data-reveal] {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

/* ---- Cart drawer ---------------------------------------------------- */
.theme-cart-overlay {
	position: fixed;
	inset: 0;
	z-index: 120;
	background-color: color-mix(in oklab, var(--color-navy) 50%, transparent);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 300ms;
}
.theme-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 121;
	transform: translateX(100%);
	transition: transform 300ms ease-out;
	visibility: hidden;
}
body.cart-open .theme-cart-overlay { opacity: 1; pointer-events: auto; }
body.cart-open .theme-cart-drawer { transform: translateX(0); visibility: visible; }
#theme-cart-drawer.is-updating { opacity: 0.6; pointer-events: none; }
.theme-cart-count:empty { display: none; }

/* ---- WooCommerce add-to-cart behaviour ------------------------------ */
.single_add_to_cart_button.button:not(.theme-addcart),
.add_to_cart_button.button:not(.theme-addcart),
a.single_add_to_cart_button:not(.theme-addcart),
a.add_to_cart_button:not(.theme-addcart) {
	background-color: var(--color-primary) !important;
	color: var(--color-button-text) !important;
	border: none !important;
	border-radius: var(--btn-radius) !important;
	min-height: var(--btn-height) !important;
	padding: var(--btn-padding) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--font-body) !important;
	font-size: var(--btn-font-size) !important;
	font-weight: var(--btn-font-weight) !important;
	letter-spacing: var(--btn-letter-spacing) !important;
	text-transform: var(--btn-text-transform) !important;
	cursor: pointer !important;
	transition: opacity 0.2s ease !important;
}
.single_add_to_cart_button.button:not(.theme-addcart):hover,
.add_to_cart_button.button:not(.theme-addcart):hover {
	opacity: 0.85 !important;
	background-color: var(--color-primary) !important;
	color: var(--color-button-text) !important;
}
.single_add_to_cart_button.button:disabled,
.single_add_to_cart_button.button.disabled,
.add_to_cart_button.button:disabled,
.add_to_cart_button.button.disabled {
	cursor: not-allowed !important;
	opacity: 0.4 !important;
	pointer-events: none !important;
}
.single_add_to_cart_button.button:disabled:hover,
.single_add_to_cart_button.button.disabled:hover,
.add_to_cart_button.button:disabled:hover,
.add_to_cart_button.button.disabled:hover {
	opacity: 0.4 !important;
	background-color: var(--color-primary) !important;
}
.single-product .single_add_to_cart_button,
.single-product .single_add_to_cart_button.button { text-transform: none; }

.ajax_add_to_cart.theme-btn-loading {
	opacity: 0.6 !important;
	pointer-events: none !important;
	cursor: wait !important;
}
.single-product .single_add_to_cart_button.loading::after,
.ajax_add_to_cart.loading::after { display: none !important; }

/* "View cart" link WooCommerce injects after an AJAX add is not part of the design. */
.woocommerce-page a.added_to_cart.wc-forward,
.single-product a.added_to_cart.wc-forward,
body a.added_to_cart.wc-forward { display: none !important; }

.theme-soldout { cursor: not-allowed; opacity: 0.7; }

/* Prices */
.woocommerce-Price-amount, .woocommerce-Price-amount bdi { font: inherit; }
del { opacity: 0.55; margin-right: 0.35em; }
ins { text-decoration: none; background: transparent; }

/* ---- Single product ------------------------------------------------- */
.single-product .theme-product-layout { min-width: 0; }
.single-product .theme-product-gallery,
.single-product .theme-product-info { min-width: 0; max-width: 100%; }
.single-product .theme-product-thumbnails { flex-wrap: wrap; max-width: 100%; }
.theme-thumb { padding: 0; background: transparent; cursor: pointer; opacity: 0.7; transition: opacity 0.2s; }
.theme-thumb.is-active, .theme-thumb:hover { opacity: 1; }
.theme-thumb .theme-thumb-img { max-width: none; }
.single-product .product-title { font-family: var(--font-display); }
.single-product .theme-add-to-cart-area {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.single-product .theme-add-to-cart-area .single_add_to_cart_button {
	flex: 1 1 auto;
	min-width: 160px;
	border-radius: 9999px;
	background: var(--primary);
	color: var(--primary-foreground);
	padding: 0.75rem 1.75rem;
	font-size: 0.875rem;
	font-weight: 500;
}
.single-product .woocommerce-product-details__short-description,
.single-product .woocommerce-variation-description,
.single-product .posted_in { overflow-wrap: break-word; word-break: break-word; }
.single-product .woocommerce-message,
.single-product .woocommerce-info { display: none; }
#theme-cart-drawer .woocommerce-message { display: none; }

.theme-quantity-wrapper {
	display: inline-flex;
	align-items: center;
	border-radius: 9999px;
	background: var(--sand);
	box-shadow: 0 0 0 1px var(--border);
}
.theme-quantity-wrapper button {
	width: 2.5rem;
	height: 2.75rem;
	background: transparent;
	border: 0;
	font-size: 1.125rem;
	cursor: pointer;
	color: var(--primary);
}
.theme-quantity-wrapper .theme-qty-input {
	width: 3rem;
	text-align: center;
	background: transparent;
	border: 0;
	font-size: 0.875rem;
	-moz-appearance: textfield;
}
.theme-quantity-wrapper .theme-qty-input::-webkit-outer-spin-button,
.theme-quantity-wrapper .theme-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.single-product .variations,
.single-product .variations tbody,
.single-product .variations tr,
.single-product .variations td { display: block; width: 100%; border: 0; padding: 0; }
.single-product .variations td.label { padding-bottom: 0.25rem; }
.single-product .variations label {
	font-family: var(--font-body);
	font-weight: 600;
	font-style: normal;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: color-mix(in oklab, var(--primary) 70%, transparent);
}
.single-product .variations select {
	width: 100%;
	margin-bottom: 1rem;
	border-radius: 9999px;
	background: var(--sand);
	padding: 0.625rem 1rem;
	font-size: 0.875rem;
	border: 0;
	box-shadow: 0 0 0 1px var(--border);
}
.single-product .woocommerce-variation-price { margin: 0.5rem 0; font-family: var(--font-display); font-size: 1.5rem; }
.single-product .reset_variations { font-size: 0.75rem; color: var(--muted-foreground); }

/* ---- Notices -------------------------------------------------------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
	border-radius: 1rem;
	background: var(--sand);
	color: var(--foreground);
	font-family: var(--font-sans);
	font-size: 0.875rem;
	padding: 1rem 1.25rem;
	margin: 0 0 1.5rem;
	list-style: none;
	box-shadow: 0 0 0 1px var(--border);
}
.woocommerce-error { color: var(--destructive); }

/* ---- Pages (page.php, cart, checkout, account) ---------------------- */
.page-title {
	font-family: var(--font-display);
	font-size: 2.25rem;
	line-height: 1.05;
	font-weight: 300;
	color: var(--primary);
	margin: 2rem 0 0;
}
@media (min-width: 768px) { .page-title { font-size: 3rem; } }
.theme-page-container .entry-content { margin-top: 2.5rem; max-width: 100%; }
.theme-page-container .entry-content p { margin-bottom: 1rem; }
.theme-page-container .entry-content a:not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: 3px; }

body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-cart .wp-block-woocommerce-cart { font-family: var(--font-sans); color: var(--foreground); }
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-components-sidebar-layout { display: block; margin: 0; }
body.woocommerce-checkout .wc-block-checkout { display: block; }
@media (min-width: 768px) {
	body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout.is-large {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
		align-items: start;
	}
	body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-notices,
	body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-notice-banner { grid-column: 1 / -1; }
}
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	min-width: 0;
	width: 100%;
	max-width: none;
	padding: 0;
}
body.woocommerce-checkout .wc-block-checkout__sidebar {
	background-color: var(--sand);
	border-radius: 2rem;
	padding: 2rem;
	box-shadow: 0 0 0 1px var(--border);
}
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout h2 {
	font-family: var(--font-display);
	font-weight: 300;
	color: var(--primary);
	text-transform: uppercase;
	letter-spacing: 0.045em;
}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row select {
	width: 100% !important;
	max-width: none !important;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--foreground);
	background-color: var(--background);
	border: 1px solid var(--input);
	border-radius: 1rem;
}
body.woocommerce-checkout .wc-block-components-text-input input { padding: revert; }
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-select select:focus,
body.woocommerce-checkout .wc-block-components-textarea textarea:focus {
	border-color: var(--accent);
	outline: 2px solid color-mix(in oklab, var(--accent) 25%, transparent);
	box-shadow: none;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-select label { color: var(--muted-foreground); font-family: var(--font-sans); }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .wc-block-cart__submit-button {
	border-radius: 9999px;
	background: var(--primary);
	color: var(--primary-foreground);
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.875rem 1.5rem;
	transition: background-color 0.2s;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover { background: var(--accent); }
body.woocommerce-checkout .wc-block-cart-items,
body.woocommerce-checkout .wc-block-components-order-summary { font-family: var(--font-sans); color: var(--foreground); }
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-product-price { font-family: var(--font-sans); }
body.woocommerce-checkout .wc-block-components-notice-banner { grid-column: 1 / -1; }
body.woocommerce-checkout .site-main { padding-top: var(--header-height, 80px); padding-bottom: 4rem; }

body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart .wc-block-cart__totals-title { font-family: var(--font-sans); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; }

/* ---- Thank-you page -------------------------------------------------- */
body.theme-thankyou-page { overflow-x: hidden; }
body.theme-thankyou-page .woocommerce-order { font-family: var(--font-sans); color: var(--foreground); }
body.theme-thankyou-page .woocommerce-order-overview {
	list-style: none;
	padding: 0;
	margin: 0 0 2rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}
body.theme-thankyou-page .woocommerce-order-overview li {
	background: var(--sand);
	border-radius: 1rem;
	padding: 1rem 1.25rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--muted-foreground);
}
body.theme-thankyou-page .woocommerce-order-overview li strong { display: block; margin-top: 0.35rem; font-size: 0.95rem; letter-spacing: 0; text-transform: none; color: var(--primary); }
body.theme-thankyou-page .woocommerce-order h2,
body.theme-thankyou-page .woocommerce-order-details__title {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: 1.5rem;
	color: var(--primary);
	text-transform: uppercase;
	letter-spacing: 0.045em;
	padding: 0 0 1rem 0;
}
body.theme-thankyou-page .woocommerce-order-details table { width: 100%; table-layout: fixed; border-collapse: collapse; }
body.theme-thankyou-page .woocommerce-order-details th,
body.theme-thankyou-page .woocommerce-order-details td { padding: 0.75rem 0; border-top: 1px solid var(--border); text-align: left; }
body.theme-thankyou-page .woocommerce-order-details tfoot th { text-align: left; }
body.theme-thankyou-page .woocommerce-order-details tfoot td { text-align: right; }
body.theme-thankyou-page .woocommerce-order-details td:last-child { text-align: right; }
body.theme-thankyou-page .woocommerce-customer-details {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 2rem;
}
body.theme-thankyou-page .woocommerce-customer-details address { max-width: 480px; overflow-wrap: break-word; font-style: normal; }

/* ---- Account / generic WooCommerce ----------------------------------- */
body.woocommerce-account .woocommerce { font-family: var(--font-sans); }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.82rem; }
body.woocommerce-account .woocommerce form .input-text,
body.woocommerce-account .woocommerce form select {
	border-radius: 1rem;
	border: 1px solid var(--input);
	background: var(--background);
	padding: 0.75rem 1rem;
	width: 100%;
}
body.woocommerce-account .woocommerce .button {
	border-radius: 9999px;
	background: var(--primary);
	color: var(--primary-foreground);
	padding: 0.75rem 1.5rem;
	font-size: 0.875rem;
}
.woocommerce-pagination, .navigation.pagination { margin-top: 2rem; text-align: center; font-size: 0.875rem; }
.navigation.pagination .page-numbers { display: inline-block; padding: 0.35rem 0.75rem; }
