/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@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-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-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: 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-outline-style: solid;
      --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;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-50: oklch(97.1% .013 17.38);
    --color-red-100: oklch(93.6% .032 17.717);
    --color-red-700: oklch(50.5% .213 27.518);
    --color-red-800: oklch(44.4% .177 26.899);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-800: oklch(44.8% .119 151.328);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-300: oklch(87.2% .01 258.338);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-6xl: 72rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --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-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, 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;
    -webkit-text-decoration: 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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

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

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

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

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :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)) {
      ::placeholder {
        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 {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

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

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

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

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

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .top-0 {
    top: calc(var(--spacing) * 0);
  }

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

  .top-3 {
    top: calc(var(--spacing) * 3);
  }

  .top-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-full {
    top: 100%;
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .left-3 {
    left: calc(var(--spacing) * 3);
  }

  .left-4 {
    left: calc(var(--spacing) * 4);
  }

  .isolate {
    isolation: isolate;
  }

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

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

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .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-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }

  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }

  .mr-4 {
    margin-right: calc(var(--spacing) * 4);
  }

  .mr-6 {
    margin-right: calc(var(--spacing) * 6);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }

  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }

  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }

  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

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

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

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

  .h-0 {
    height: calc(var(--spacing) * 0);
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-8 {
    height: calc(var(--spacing) * 8);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .h-32 {
    height: calc(var(--spacing) * 32);
  }

  .h-48 {
    height: calc(var(--spacing) * 48);
  }

  .h-96 {
    height: calc(var(--spacing) * 96);
  }

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

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

  .h-auto {
    height: auto;
  }

  .h-full {
    height: 100%;
  }

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

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

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-8 {
    width: calc(var(--spacing) * 8);
  }

  .w-12 {
    width: calc(var(--spacing) * 12);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-24 {
    width: calc(var(--spacing) * 24);
  }

  .w-56 {
    width: calc(var(--spacing) * 56);
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-3xl {
    max-width: var(--container-3xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-6xl {
    max-width: var(--container-6xl);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

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

  .max-w-sm {
    max-width: var(--container-sm);
  }

  .max-w-xs {
    max-width: var(--container-xs);
  }

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

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

  .grow {
    flex-grow: 1;
  }

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

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-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, );
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

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

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

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

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

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

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

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

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

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

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

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

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-20 {
    gap: calc(var(--spacing) * 20);
  }

  :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-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-4 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
    margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
    margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

  .rounded {
    border-radius: .25rem;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

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

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .rounded-l-lg {
    border-top-left-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }

  .rounded-r-lg {
    border-top-right-radius: var(--radius-lg);
    border-bottom-right-radius: var(--radius-lg);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .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-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }

  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .border-gray-300 {
    border-color: var(--color-gray-300);
  }

  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }

  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-gray-300 {
    background-color: var(--color-gray-300);
  }

  .bg-gray-800 {
    background-color: var(--color-gray-800);
  }

  .bg-green-100 {
    background-color: var(--color-green-100);
  }

  .bg-red-50 {
    background-color: var(--color-red-50);
  }

  .bg-red-100 {
    background-color: var(--color-red-100);
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

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

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

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

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-0 {
    padding-inline: calc(var(--spacing) * 0);
  }

  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .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-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }

  .pt-24 {
    padding-top: calc(var(--spacing) * 24);
  }

  .pr-0 {
    padding-right: calc(var(--spacing) * 0);
  }

  .pb-12 {
    padding-bottom: calc(var(--spacing) * 12);
  }

  .pb-\[56\.25\%\] {
    padding-bottom: 56.25%;
  }

  .pl-0 {
    padding-left: calc(var(--spacing) * 0);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-5 {
    padding-left: calc(var(--spacing) * 5);
  }

  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }

  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }

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

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

  .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-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--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));
  }

  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

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

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

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-green-800 {
    color: var(--color-green-800);
  }

  .text-red-700 {
    color: var(--color-red-700);
  }

  .text-red-800 {
    color: var(--color-red-800);
  }

  .text-white {
    color: var(--color-white);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    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, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    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, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

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

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

  .backdrop-filter {
    -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, visibility, 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-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-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-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  @media (hover: hover) {
    .hover\:bg-gray-400:hover {
      background-color: var(--color-gray-400);
    }

    .hover\:text-white:hover {
      color: var(--color-white);
    }

    .hover\:shadow-lg:hover {
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  .focus\:ring-2:focus {
    --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\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (min-width: 40rem) {
    .sm\:h-\[400px\] {
      height: 400px;
    }

    .sm\:max-h-\[400px\] {
      max-height: 400px;
    }

    .sm\:max-w-lg {
      max-width: var(--container-lg);
    }

    .sm\:max-w-md {
      max-width: var(--container-md);
    }

    .sm\:max-w-sm {
      max-width: var(--container-sm);
    }
  }

  @media (min-width: 48rem) {
    .md\:mb-0 {
      margin-bottom: calc(var(--spacing) * 0);
    }

    .md\:block {
      display: block;
    }

    .md\:flex {
      display: flex;
    }

    .md\:hidden {
      display: none;
    }

    .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\:flex-row {
      flex-direction: row;
    }

    :where(.md\:space-x-4 > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
    }

    .md\:text-4xl {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }

  @media (min-width: 64rem) {
    .lg\:mb-0 {
      margin-bottom: calc(var(--spacing) * 0);
    }

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

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

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

    .lg\:max-w-lg {
      max-width: var(--container-lg);
    }

    .lg\:max-w-xl {
      max-width: var(--container-xl);
    }

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

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

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

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

    .lg\:pr-12 {
      padding-right: calc(var(--spacing) * 12);
    }

    .lg\:pl-12 {
      padding-left: calc(var(--spacing) * 12);
    }
  }

  @media (min-width: 80rem) {
    .xl\:max-h-\[600px\] {
      max-height: 600px;
    }

    .xl\:max-w-2xl {
      max-width: var(--container-2xl);
    }
  }
}

:root {
  --brand-primary: #8b6f47;
  --brand-secondary: #6d5436;
  --brand-accent: #5a5a5a;
  --brand-light: #fefefe;
  --brand-pale: #f5f0eb;
  --brand-warm: #e8ddd4;
  --brand-text: #5a5a5a;
  --brand-muted: #7a7a7a;
}

body {
  padding-top: 64px;
}

@media (max-width: 768px) {
  body {
    padding-top: 56px;
  }
}

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

.img-placeholder {
  background-color: var(--brand-pale);
  color: var(--brand-primary);
  justify-content: center;
  align-items: center;
  font-size: 14px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.img-placeholder:before {
  content: "图片加载中...";
}

.img-placeholder.product {
  height: 250px;
}

.img-placeholder.banner {
  height: 400px;
}

.img-placeholder.avatar {
  border-radius: 50%;
  width: 60px;
  height: 60px;
}

.img-placeholder.logo {
  height: 80px;
}

.img-placeholder.gallery {
  height: 150px;
}

.nav-link, .mobile-nav-link {
  color: var(--brand-text);
}

.nav-link:hover, .mobile-nav-link:hover {
  color: var(--brand-primary);
}

.bg-brand-primary {
  background-color: var(--brand-primary);
}

.bg-brand-secondary {
  background-color: var(--brand-secondary);
}

.bg-brand-accent {
  background-color: var(--brand-accent);
}

.bg-brand-light {
  background-color: var(--brand-light);
}

.bg-brand-pale {
  background-color: var(--brand-pale);
}

.bg-brand-white {
  background-color: #fefefa;
}

.text-brand-primary {
  color: var(--brand-primary);
}

.text-brand-secondary {
  color: var(--brand-secondary);
}

.text-brand-accent {
  color: var(--brand-accent);
}

.text-brand-light {
  color: var(--brand-light);
}

.text-brand-pale {
  color: var(--brand-pale);
}

.text-brand-text {
  color: var(--brand-text);
}

.text-brand-muted {
  color: var(--brand-muted);
}

.border-brand-primary {
  border-color: var(--brand-primary);
}

.border-brand-secondary {
  border-color: var(--brand-secondary);
}

.border-brand-accent {
  border-color: var(--brand-accent);
}

.hover\:bg-brand-primary:hover {
  background-color: var(--brand-primary);
}

.hover\:bg-brand-accent:hover {
  background-color: var(--brand-accent);
}

.hover\:bg-brand-light:hover {
  background-color: var(--brand-light);
}

.hover\:bg-brand-pale:hover {
  background-color: var(--brand-pale);
}

.hover\:text-brand-primary:hover {
  color: var(--brand-primary);
}

.hover\:text-brand-accent:hover {
  color: var(--brand-accent);
}

.hover\:text-brand-light:hover {
  color: var(--brand-light);
}

.hover\:text-brand-text:hover {
  color: var(--brand-text);
}

.bg-green-700 {
  background-color: var(--brand-primary);
}

.bg-green-600 {
  background-color: var(--brand-accent);
}

.bg-green-100 {
  background-color: var(--brand-pale);
}

.bg-gray-50 {
  background-color: var(--brand-light);
}

.bg-gray-800 {
  background-color: var(--brand-primary);
}

.text-green-800, .text-green-700 {
  color: var(--brand-primary);
}

.text-green-600, .text-green-500 {
  color: var(--brand-accent);
}

.text-gray-600 {
  color: var(--brand-secondary);
}

.text-white {
  color: #fff;
}

.text-gray-400 {
  color: var(--brand-muted);
}

.border-white {
  border-color: var(--brand-text);
}

.border-gray-700 {
  border-color: var(--brand-secondary);
}

.hover\:bg-gray-100:hover {
  background-color: var(--brand-pale);
}

.hover\:bg-green-700:hover {
  background-color: var(--brand-primary);
}

.hover\:bg-green-600:hover {
  background-color: var(--brand-accent);
}

.hover\:bg-white:hover {
  background-color: var(--brand-light);
}

.hover\:text-green-700:hover {
  color: var(--brand-primary);
}

.hover\:text-green-500:hover {
  color: var(--brand-accent);
}

.hover\:text-white:hover {
  color: var(--brand-text);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  color: var(--brand-text);
  background-color: var(--brand-light);
  line-height: 1.6;
  font-family: Georgia, Times New Roman, serif !important;
}

.rattan-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.rattan-title {
  color: var(--brand-primary);
  letter-spacing: 2px;
  font-weight: 300;
}

.rattan-subtitle {
  color: var(--brand-primary);
  letter-spacing: 1px;
  font-weight: 300;
}

.rattan-text {
  color: var(--brand-muted);
  font-weight: 300;
  line-height: 1.8;
}

.rattan-btn {
  border: 2px solid var(--brand-primary);
  color: var(--brand-primary);
  letter-spacing: 2px;
  cursor: pointer;
  background: none;
  padding: 15px 35px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 300;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
}

.rattan-btn:hover {
  background: var(--brand-primary);
  color: #fff;
  transform: translateY(-2px);
}

.rattan-btn-primary {
  background: var(--brand-primary);
  color: #fff;
  border-color: var(--brand-primary);
}

.rattan-btn-primary:hover {
  background: var(--brand-secondary);
  border-color: var(--brand-secondary);
}

.rattan-header {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 1000;
  background: #fffffff2;
  padding: 15px 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  box-shadow: 0 2px 20px #0000000d;
}

.rattan-logo {
  color: var(--brand-primary);
  letter-spacing: 2px;
  font-size: 24px;
  font-weight: 300;
  text-decoration: none;
}

.rattan-nav-links {
  gap: 40px;
  list-style: none;
  display: flex;
}

.rattan-nav-link {
  color: var(--brand-text);
  letter-spacing: 1px;
  font-size: 14px;
  font-weight: 300;
  text-decoration: none;
  transition: color .3s;
}

.rattan-nav-link:hover, .rattan-nav-link.active {
  color: var(--brand-primary);
}

.rattan-section {
  padding: 100px 0;
}

.rattan-section.alt {
  background: linear-gradient(to bottom, var(--brand-light), var(--brand-pale));
}

.rattan-section-title {
  text-align: center;
  color: var(--brand-primary);
  letter-spacing: 2px;
  margin-bottom: 60px;
  font-size: 36px;
  font-weight: 300;
}

.rattan-page-header {
  text-align: center;
  background: linear-gradient(#f5f0eb99, #f5f0eb99);
  padding: 150px 0 80px;
}

.rattan-page-title {
  color: var(--brand-primary);
  letter-spacing: 3px;
  margin-bottom: 20px;
  font-size: 48px;
  font-weight: 300;
}

.rattan-page-subtitle {
  color: var(--brand-muted);
  letter-spacing: 1px;
  max-width: 600px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: 300;
}

.rattan-card {
  background: #fff;
  border-radius: 10px;
  transition: all .3s;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000000d;
}

.rattan-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px #0000001a;
}

.rattan-card-image {
  background: linear-gradient(45deg, var(--brand-pale), var(--brand-warm));
  height: 250px;
  color: var(--brand-primary);
  justify-content: center;
  align-items: center;
  font-size: 48px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.rattan-card-content {
  padding: 30px;
}

.rattan-card-title {
  color: var(--brand-text);
  letter-spacing: 1px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 300;
}

.rattan-card-text {
  color: var(--brand-muted);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
}

.rattan-feature {
  text-align: center;
  padding: 40px 20px;
  transition: transform .3s;
}

.rattan-feature:hover {
  transform: translateY(-5px);
}

.rattan-feature-icon {
  background: var(--brand-pale);
  width: 80px;
  height: 80px;
  color: var(--brand-primary);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin: 0 auto 30px;
  font-size: 32px;
  display: flex;
}

.rattan-feature-title {
  color: var(--brand-primary);
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 300;
}

.rattan-form-group {
  margin-bottom: 25px;
}

.rattan-form-label {
  color: var(--brand-text);
  letter-spacing: 1px;
  margin-bottom: 8px;
  font-weight: 300;
  display: block;
}

.rattan-form-input, .rattan-form-textarea, .rattan-form-select {
  border: 2px solid var(--brand-warm);
  width: 100%;
  color: var(--brand-text);
  background: var(--brand-light);
  border-radius: 5px;
  padding: 15px;
  font-family: inherit;
  font-size: 16px;
  transition: border-color .3s;
}

.rattan-form-input:focus, .rattan-form-textarea:focus, .rattan-form-select:focus {
  border-color: var(--brand-primary);
  outline: none;
}

.rattan-form-textarea {
  resize: vertical;
  min-height: 120px;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-10px);
  }

  60% {
    transform: translateY(-5px);
  }
}

.rattan-fade-in-up {
  animation: 1s ease-out fadeInUp;
}

.rattan-footer {
  background: var(--brand-primary);
  color: #fff;
  text-align: center;
  padding: 60px 0 30px;
}

.rattan-footer-content {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  margin-bottom: 40px;
  display: grid;
}

.rattan-footer-section h3 {
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 300;
}

.rattan-footer-section p, .rattan-footer-section a {
  color: #fffc;
  font-weight: 300;
  line-height: 1.6;
  text-decoration: none;
}

.rattan-footer-section a:hover {
  color: #fff;
}

.rattan-footer-bottom {
  color: #fff9;
  border-top: 1px solid #fff3;
  padding-top: 30px;
  font-weight: 300;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.hero {
  text-align: center;
  background-color: #0000;
  background-image: linear-gradient(#f5f0eb66, #f5f0eb66), url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1200 800\"><rect fill=\"%23f5f0eb\" width=\"1200\" height=\"800\"/><path fill=\"%23e8ddd4\" d=\"M0 400c200-100 400 50 600-25s400-75 600 25v400H0z\"/></svg>");
  background-position: center;
  background-repeat: repeat, repeat;
  background-size: cover;
  background-attachment: scroll, scroll;
  background-origin: padding-box, padding-box;
  background-clip: border-box, border-box;
  justify-content: center;
  align-items: center;
  height: 100vh;
  display: flex;
  position: relative;
}

.hero-content {
  max-width: 600px;
  animation: 1s ease-out fadeInUp;
}

.hero h1 {
  color: var(--brand-primary);
  letter-spacing: 3px;
  margin-bottom: 20px;
  font-size: 48px;
  font-weight: 300;
  line-height: 1.2;
}

.hero p {
  color: var(--brand-muted);
  letter-spacing: 1px;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 300;
}

.cta-button {
  border: 2px solid var(--brand-primary);
  color: var(--brand-primary);
  letter-spacing: 2px;
  background: none;
  padding: 15px 35px;
  font-size: 14px;
  font-weight: 300;
  text-decoration: none;
  transition: all .3s;
  display: inline-block;
}

.cta-button:hover {
  background: var(--brand-primary);
  color: #fff;
  transform: translateY(-2px);
}

.features {
  background: var(--brand-light);
  padding: 100px 0;
}

.features-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 50px;
  margin-bottom: 80px;
  display: grid;
}

.feature-card {
  text-align: center;
  padding: 40px 20px;
  transition: transform .3s;
}

.feature-card:hover {
  transform: translateY(-5px);
}

.feature-icon {
  background: var(--brand-pale);
  width: 80px;
  height: 80px;
  color: var(--brand-primary);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin: 0 auto 30px;
  font-size: 32px;
  display: flex;
}

.feature-card h3 {
  color: var(--brand-primary);
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 300;
}

.feature-card p {
  color: var(--brand-muted);
  font-weight: 300;
  line-height: 1.8;
}

.products-preview {
  background: linear-gradient(to bottom, var(--brand-light), #f9f6f2);
  padding: 100px 0;
}

.product-card {
  background: #fff;
  border-radius: 10px;
  transition: all .3s;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000000d;
}

.product-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px #0000001a;
}

.product-image {
  background: linear-gradient(45deg, var(--brand-pale), var(--brand-warm));
  height: 250px;
  color: var(--brand-primary);
  justify-content: center;
  align-items: center;
  font-size: 48px;
  display: flex;
}

.product-info {
  text-align: center;
  padding: 30px;
}

.product-info h3 {
  color: var(--brand-primary);
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 300;
}

.product-info p {
  color: var(--brand-muted);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
}

.about {
  background: var(--brand-light);
  padding: 100px 0;
}

.about-content {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 80px;
  display: grid;
}

.about-text h2 {
  color: var(--brand-primary);
  letter-spacing: 2px;
  margin-bottom: 30px;
  font-size: 36px;
  font-weight: 300;
}

.about-text p {
  color: var(--brand-muted);
  margin-bottom: 20px;
  font-weight: 300;
  line-height: 1.8;
}

.about-image {
  background: linear-gradient(135deg, var(--brand-pale), var(--brand-warm));
  height: 400px;
  color: var(--brand-primary);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  font-size: 64px;
  display: flex;
}

.step-number {
  background: var(--brand-primary);
  color: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin: 0 auto 30px;
  font-size: 24px;
  font-weight: 300;
  display: flex;
}

.contact-section {
  padding: 100px 0;
}

.contact-content {
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  display: grid;
}

.contact-form {
  background: #fff;
  border-radius: 10px;
  padding: 50px;
  box-shadow: 0 10px 30px #0000000d;
}

.form-title {
  color: var(--brand-primary);
  letter-spacing: 1px;
  margin-bottom: 30px;
  font-size: 28px;
  font-weight: 300;
}

.form-group {
  margin-bottom: 25px;
}

.form-group label {
  color: var(--brand-text);
  letter-spacing: 1px;
  margin-bottom: 8px;
  font-weight: 300;
  display: block;
}

.form-group input, .form-group textarea, .form-group select {
  border: 2px solid var(--brand-warm);
  width: 100%;
  color: var(--brand-text);
  background: var(--brand-light);
  border-radius: 5px;
  padding: 15px;
  font-family: inherit;
  font-size: 16px;
  transition: border-color .3s;
}

.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
  border-color: var(--brand-primary);
  outline: none;
}

.form-group textarea {
  resize: vertical;
  min-height: 120px;
}

.form-row {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.submit-btn {
  background: var(--brand-primary);
  color: #fff;
  letter-spacing: 2px;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  width: 100%;
  margin-top: 20px;
  padding: 18px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 300;
  transition: all .3s;
}

.submit-btn:hover {
  background: var(--brand-secondary);
  transform: translateY(-2px);
}

.info-title {
  color: var(--brand-primary);
  letter-spacing: 1px;
  margin-bottom: 30px;
  font-size: 28px;
  font-weight: 300;
}

.info-item {
  background: #fff;
  border-radius: 10px;
  align-items: flex-start;
  margin-bottom: 30px;
  padding: 20px;
  display: flex;
  box-shadow: 0 5px 15px #0000000d;
}

.info-icon {
  background: var(--brand-pale);
  width: 50px;
  height: 50px;
  color: var(--brand-primary);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-right: 20px;
  font-size: 20px;
  display: flex;
}

.info-details h3 {
  color: var(--brand-primary);
  letter-spacing: 1px;
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: 300;
}

.info-details p {
  color: var(--brand-muted);
  font-weight: 300;
  line-height: 1.6;
}

.info-details a {
  color: var(--brand-primary);
  text-decoration: none;
}

.info-details a:hover {
  text-decoration: underline;
}

.business-hours {
  background: #f9f6f2;
  border-radius: 10px;
  margin-top: 40px;
  padding: 50px;
}

.hours-title {
  color: var(--brand-primary);
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 300;
}

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

.hours-list li {
  border-bottom: 1px solid var(--brand-warm);
  color: var(--brand-muted);
  justify-content: space-between;
  padding: 8px 0;
  font-weight: 300;
  display: flex;
}

.hours-list li:last-child {
  border-bottom: none;
}

.faq-section {
  background: #f9f6f2;
  padding: 100px 0;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  background: #fff;
  border-radius: 10px;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 5px 15px #0000000d;
}

.faq-question {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding: 25px;
  transition: background .3s;
  display: flex;
}

.faq-question:hover {
  background: var(--brand-pale);
}

.faq-question h3 {
  color: var(--brand-primary);
  letter-spacing: 1px;
  font-size: 18px;
  font-weight: 300;
}

.faq-toggle {
  color: var(--brand-primary);
  font-size: 24px;
  transition: transform .3s;
}

.faq-answer {
  max-height: 0;
  padding: 0 25px;
  transition: all .3s;
  overflow: hidden;
}

.faq-answer.active {
  max-height: 200px;
  padding: 0 25px 25px;
}

.faq-answer p {
  color: var(--brand-muted);
  font-weight: 300;
  line-height: 1.8;
}

.filter-btn.active {
  background: var(--brand-primary);
  color: #fff;
  border-color: var(--brand-primary);
}

.product-badge {
  background: var(--brand-primary);
  color: #fff;
  letter-spacing: 1px;
  border-radius: 15px;
  padding: 5px 12px;
  font-size: 12px;
  position: absolute;
  top: 15px;
  right: 15px;
}

.product-price {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.price {
  color: var(--brand-primary);
  font-size: 20px;
  font-weight: 400;
}

.view-details {
  color: var(--brand-primary);
  letter-spacing: 1px;
  font-size: 14px;
  text-decoration: none;
  transition: opacity .3s;
}

.view-details:hover {
  opacity: .7;
}

.news-card .news-footer {
  border-top: 1px solid #f5f0eb;
  justify-content: space-between;
  align-items: center;
  padding-top: 15px;
  display: flex;
}

.news-card .news-author {
  color: #8b6f47;
  font-size: 12px;
  font-weight: 300;
}

.news-card .continue-reading {
  color: #8b6f47;
  letter-spacing: 1px;
  font-size: 12px;
  text-decoration: none;
  transition: opacity .3s;
}

.news-card .continue-reading:hover {
  opacity: .7;
}

.page-header {
  text-align: center;
  background: linear-gradient(#f5f0eb99, #f5f0eb99);
  padding: 150px 0 80px;
}

.page-header h1 {
  color: #8b6f47;
  letter-spacing: 3px;
  margin-bottom: 20px;
  font-size: 48px;
  font-weight: 300;
}

.page-header p {
  color: #7a7a7a;
  letter-spacing: 1px;
  max-width: 600px;
  margin: 0 auto;
  font-size: 18px;
  font-weight: 300;
}

.category-filter {
  text-align: center;
  padding: 60px 0;
}

.filter-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  display: flex;
}

.filter-btn {
  color: #8b6f47;
  letter-spacing: 1px;
  cursor: pointer;
  background: none;
  border: 2px solid #e8ddd4;
  padding: 12px 30px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 300;
  transition: all .3s;
}

.filter-btn:hover, .filter-btn.active {
  color: #fff;
  background: #8b6f47;
  border-color: #8b6f47;
}

.products-section {
  padding: 0 0 100px;
}

.products-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
  display: grid;
}

.product-image {
  height: 280px;
}

.featured-section {
  padding: 100px 0;
}

.featured-article {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 60px;
  margin-bottom: 80px;
  display: grid;
}

.featured-image {
  color: #8b6f47;
  background: linear-gradient(135deg, #f5f0eb, #e8ddd4);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  height: 400px;
  font-size: 64px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.featured-badge {
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #8b6f47;
  border-radius: 15px;
  padding: 8px 15px;
  font-size: 12px;
  position: absolute;
  top: 20px;
  left: 20px;
}

.featured-content h2 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin-bottom: 15px;
  font-size: 32px;
  font-weight: 300;
}

.featured-meta {
  color: #8b6f47;
  opacity: .8;
  margin-bottom: 20px;
  font-size: 14px;
}

.featured-excerpt {
  color: #7a7a7a;
  margin-bottom: 30px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
}

.read-more {
  color: #8b6f47;
  letter-spacing: 1px;
  font-size: 14px;
  font-weight: 300;
  text-decoration: none;
  transition: opacity .3s;
}

.read-more:hover {
  opacity: .7;
}

.categories-section {
  background: #f9f6f2;
  padding: 60px 0;
}

.categories-section .category-filter {
  text-align: center;
  margin-bottom: 60px;
}

.news-grid {
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 40px;
  margin-bottom: 80px;
  display: grid;
}

.news-card {
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
  transition: all .3s;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000000d;
}

.news-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px #0000001a;
}

.news-image {
  color: #8b6f47;
  background: linear-gradient(45deg, #f5f0eb, #e8ddd4);
  justify-content: center;
  align-items: center;
  height: 200px;
  font-size: 36px;
  display: flex;
  position: relative;
}

.news-category {
  color: #fff;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: #8b6f47e6;
  border-radius: 12px;
  padding: 5px 10px;
  font-size: 11px;
  position: absolute;
  top: 15px;
  right: 15px;
}

.news-content {
  padding: 30px;
}

.news-date {
  color: #8b6f47;
  text-transform: uppercase;
  letter-spacing: 2px;
  opacity: .8;
  margin-bottom: 10px;
  font-size: 12px;
}

.news-title {
  color: #5a5a5a;
  letter-spacing: 1px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.4;
}

.news-excerpt {
  color: #7a7a7a;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
}

.story-section {
  padding: 100px 0;
}

.story-content {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 80px;
  margin-bottom: 80px;
  display: grid;
}

.story-text h2 {
  color: #8b6f47;
  letter-spacing: 2px;
  margin-bottom: 30px;
  font-size: 36px;
  font-weight: 300;
}

.story-text p {
  color: #7a7a7a;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
}

.story-image {
  color: #8b6f47;
  background: linear-gradient(135deg, #f5f0eb, #e8ddd4);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  height: 400px;
  font-size: 64px;
  display: flex;
}

.values-section {
  background: #f9f6f2;
  padding: 100px 0;
}

.values-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 50px;
  display: grid;
}

.value-card {
  text-align: center;
  background: #fff;
  border-radius: 10px;
  padding: 40px 20px;
  transition: transform .3s;
  box-shadow: 0 10px 30px #0000000d;
}

.value-card:hover {
  transform: translateY(-5px);
}

.value-icon {
  color: #8b6f47;
  background: #f5f0eb;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 30px;
  font-size: 32px;
  display: flex;
}

.value-card h3 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 300;
}

.value-card p {
  color: #7a7a7a;
  font-weight: 300;
  line-height: 1.8;
}

.process-section {
  padding: 100px 0;
}

.process-steps {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  display: grid;
}

.process-step {
  text-align: center;
  position: relative;
}

.step-number {
  color: #fff;
  background: #8b6f47;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin: 0 auto 30px;
  font-size: 24px;
  font-weight: 300;
  display: flex;
}

.process-step h3 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 300;
}

.process-step p {
  color: #7a7a7a;
  font-weight: 300;
  line-height: 1.6;
}

.team-section {
  background: #f9f6f2;
  padding: 100px 0;
}

.team-intro {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 60px;
}

.team-intro p {
  color: #7a7a7a;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
}

.team-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 40px;
  display: grid;
}

.team-member {
  background: #fff;
  border-radius: 10px;
  transition: transform .3s;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000000d;
}

.team-member:hover {
  transform: translateY(-5px);
}

.member-photo {
  color: #8b6f47;
  background: linear-gradient(45deg, #f5f0eb, #e8ddd4);
  justify-content: center;
  align-items: center;
  height: 280px;
  font-size: 48px;
  display: flex;
}

.member-info {
  text-align: center;
  padding: 30px;
}

.member-info h3 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 300;
}

.member-role {
  color: #8b6f47;
  text-transform: uppercase;
  letter-spacing: 2px;
  opacity: .8;
  margin-bottom: 15px;
  font-size: 14px;
}

.member-bio {
  color: #7a7a7a;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
}

.sustainability-section {
  padding: 100px 0;
}

.sustainability-content {
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 80px;
  display: grid;
}

.sustainability-image {
  color: #8b6f47;
  background: linear-gradient(135deg, #f5f0eb, #e8ddd4);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  height: 400px;
  font-size: 64px;
  display: flex;
}

.sustainability-text h2 {
  color: #8b6f47;
  letter-spacing: 2px;
  margin-bottom: 30px;
  font-size: 36px;
  font-weight: 300;
}

.sustainability-text p {
  color: #7a7a7a;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
}

.sustainability-highlights {
  margin-top: 30px;
  list-style: none;
}

.sustainability-highlights li {
  color: #7a7a7a;
  margin-bottom: 12px;
  padding-left: 25px;
  font-weight: 300;
  position: relative;
}

.sustainability-highlights li:before {
  content: "🌱";
  position: absolute;
  left: 0;
}

.product-detail {
  padding: 60px 0;
}

.product-main {
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-bottom: 80px;
  display: grid;
}

.product-gallery {
  position: relative;
}

.main-image {
  color: #8b6f47;
  background: linear-gradient(45deg, #f5f0eb, #e8ddd4);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 500px;
  margin-bottom: 20px;
  font-size: 120px;
  display: flex;
}

.thumbnail-images {
  gap: 15px;
  display: flex;
}

.thumbnail {
  color: #8b6f47;
  cursor: pointer;
  background: linear-gradient(45deg, #f5f0eb, #e8ddd4);
  border: 2px solid #0000;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  font-size: 24px;
  transition: all .3s;
  display: flex;
}

.thumbnail:hover, .thumbnail.active {
  border-color: #8b6f47;
  transform: scale(1.05);
}

.product-info {
  padding-left: 20px;
}

.product-category {
  color: #8b6f47;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 15px;
  font-size: 14px;
}

.product-title {
  color: #5a5a5a;
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-size: 36px;
  font-weight: 300;
}

.product-price {
  color: #8b6f47;
  margin-bottom: 30px;
  font-size: 28px;
  font-weight: 400;
}

.product-description {
  color: #7a7a7a;
  margin-bottom: 40px;
  font-weight: 300;
  line-height: 1.8;
}

.product-features {
  margin-bottom: 40px;
}

.product-features h3 {
  color: #8b6f47;
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 300;
}

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

.features-list li {
  color: #7a7a7a;
  margin-bottom: 8px;
  padding-left: 20px;
  font-weight: 300;
  position: relative;
}

.features-list li:before {
  content: "•";
  color: #8b6f47;
  position: absolute;
  left: 0;
}

.quantity-selector {
  align-items: center;
  gap: 15px;
  margin-bottom: 30px;
  display: flex;
}

.quantity-label {
  color: #5a5a5a;
  font-size: 16px;
}

.quantity-controls {
  border: 2px solid #e8ddd4;
  border-radius: 5px;
  align-items: center;
  display: flex;
}

.quantity-btn {
  cursor: pointer;
  color: #8b6f47;
  background: none;
  border: none;
  padding: 10px 15px;
  font-size: 18px;
  transition: background .3s;
}

.quantity-btn:hover {
  background: #f5f0eb;
}

.quantity-input {
  text-align: center;
  color: #5a5a5a;
  border: none;
  width: 60px;
  padding: 10px;
  font-size: 16px;
}

.add-to-cart {
  color: #fff;
  letter-spacing: 2px;
  cursor: pointer;
  background: #8b6f47;
  border: none;
  width: 100%;
  margin-bottom: 20px;
  padding: 18px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 300;
  transition: all .3s;
}

.add-to-cart:hover {
  background: #6d5436;
  transform: translateY(-2px);
}

.product-specs {
  border-top: 1px solid #e8ddd4;
  padding-top: 30px;
}

.spec-item {
  border-bottom: 1px solid #f5f0eb;
  justify-content: space-between;
  padding: 10px 0;
  display: flex;
}

.spec-label {
  color: #5a5a5a;
  font-weight: 400;
}

.spec-value {
  color: #7a7a7a;
  font-weight: 300;
}

.product-tabs {
  border-top: 1px solid #e8ddd4;
  margin-bottom: 80px;
  padding-top: 60px;
}

.tab-buttons {
  border-bottom: 1px solid #e8ddd4;
  gap: 40px;
  margin-bottom: 40px;
  display: flex;
}

.tab-btn {
  color: #7a7a7a;
  cursor: pointer;
  letter-spacing: 1px;
  background: none;
  border: none;
  border-bottom: 2px solid #0000;
  padding: 15px 0;
  font-family: inherit;
  font-size: 16px;
  font-weight: 300;
  transition: all .3s;
}

.tab-btn.active, .tab-btn:hover {
  color: #8b6f47;
  border-bottom-color: #8b6f47;
}

.tab-content {
  color: #7a7a7a;
  font-weight: 300;
  line-height: 1.8;
  display: none;
}

.tab-content.active {
  display: block;
}

.tab-content h4 {
  color: #8b6f47;
  margin-bottom: 15px;
  font-weight: 400;
}

.related-products {
  background: #f9f6f2;
  padding: 80px 0;
}

.related-info {
  text-align: center;
  padding: 20px;
}

.related-info h4 {
  color: #5a5a5a;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 300;
}

.related-price {
  color: #8b6f47;
  font-size: 18px;
}

.article-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 60px 0 80px;
}

.article-category {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: #8b6f47;
  border-radius: 20px;
  margin-bottom: 20px;
  padding: 8px 20px;
  font-size: 12px;
  display: inline-block;
}

.article-title {
  color: #8b6f47;
  letter-spacing: 2px;
  margin-bottom: 20px;
  font-size: 42px;
  font-weight: 300;
  line-height: 1.2;
}

.article-meta {
  color: #7a7a7a;
  margin-bottom: 30px;
  font-size: 14px;
}

.article-meta span {
  margin: 0 15px;
}

.article-excerpt {
  color: #7a7a7a;
  font-size: 18px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.8;
}

.featured-image-section {
  padding: 0 0 80px;
}

.featured-image {
  color: #8b6f47;
  background: linear-gradient(135deg, #f5f0eb, #e8ddd4);
  border-radius: 15px;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 20px;
  font-size: 120px;
  display: flex;
}

.image-caption {
  text-align: center;
  color: #7a7a7a;
  font-size: 14px;
  font-style: italic;
  font-weight: 300;
}

.article-content {
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 80px;
}

.article-content h2 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin: 40px 0 20px;
  font-size: 28px;
  font-weight: 300;
}

.article-content h3 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin: 30px 0 15px;
  font-size: 22px;
  font-weight: 300;
}

.article-content p {
  color: #7a7a7a;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
}

.article-content blockquote {
  background: #f9f6f2;
  border-left: 4px solid #8b6f47;
  border-radius: 0 10px 10px 0;
  margin: 40px 0;
  padding: 30px;
  font-style: italic;
}

.article-content blockquote p {
  color: #8b6f47;
  margin-bottom: 15px;
  font-size: 18px;
}

.quote-author {
  color: #7a7a7a;
  text-align: right;
  font-size: 14px;
  font-weight: 300;
}

.article-content ul {
  margin: 25px 0;
  padding-left: 0;
  list-style: none;
}

.article-content li {
  color: #7a7a7a;
  margin-bottom: 10px;
  padding-left: 25px;
  font-weight: 300;
  line-height: 1.6;
  position: relative;
}

.article-content li:before {
  content: "•";
  color: #8b6f47;
  font-size: 18px;
  position: absolute;
  left: 0;
}

.inline-image-section {
  margin: 50px 0;
}

.inline-image {
  color: #8b6f47;
  background: linear-gradient(45deg, #f5f0eb, #e8ddd4);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 300px;
  margin-bottom: 15px;
  font-size: 60px;
  display: flex;
}

.author-bio {
  background: #f9f6f2;
  border-radius: 15px;
  align-items: center;
  gap: 30px;
  margin: 60px 0;
  padding: 40px;
  display: flex;
}

.author-avatar {
  color: #fff;
  background: linear-gradient(45deg, #8b6f47, #6d5436);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  font-size: 32px;
  display: flex;
}

.author-info h4 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 300;
}

.author-info p {
  color: #7a7a7a;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.6;
}

.article-footer {
  border-top: 1px solid #e8ddd4;
  margin-top: 60px;
  padding-top: 40px;
}

.article-tags {
  margin-bottom: 30px;
}

.article-tags h4 {
  color: #8b6f47;
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 300;
}

.tag {
  color: #8b6f47;
  letter-spacing: 1px;
  background: #f5f0eb;
  border-radius: 15px;
  margin-bottom: 10px;
  margin-right: 10px;
  padding: 8px 15px;
  font-size: 12px;
  display: inline-block;
}

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

.social-share h4 {
  color: #8b6f47;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
}

.share-buttons {
  justify-content: center;
  gap: 15px;
  display: flex;
}

.share-btn {
  color: #fff;
  background: #8b6f47;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 18px;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

.share-btn:hover {
  background: #6d5436;
  transform: translateY(-3px);
}

.related-articles {
  background: #f9f6f2;
  padding: 100px 0;
}

.section-title {
  text-align: center;
  color: #8b6f47;
  letter-spacing: 2px;
  margin-bottom: 50px;
  font-size: 32px;
  font-weight: 300;
}

.related-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  display: grid;
}

.related-card {
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
  transition: all .3s;
  overflow: hidden;
  box-shadow: 0 10px 30px #0000000d;
}

.related-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px #0000001a;
}

.related-image {
  color: #8b6f47;
  background: linear-gradient(45deg, #f5f0eb, #e8ddd4);
  justify-content: center;
  align-items: center;
  height: 200px;
  font-size: 36px;
  display: flex;
}

.related-content {
  padding: 25px;
}

.related-content h3 {
  color: #8b6f47;
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 300;
}

.related-content p {
  color: #7a7a7a;
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 1.6;
}

.related-meta {
  color: #8b6f47;
  opacity: .8;
  font-size: 12px;
}

.newsletter-cta {
  color: #fff;
  text-align: center;
  background: #8b6f47;
  padding: 80px 0;
}

.newsletter-content {
  max-width: 600px;
  margin: 0 auto;
}

.newsletter-title {
  letter-spacing: 2px;
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 300;
}

.newsletter-description {
  opacity: .9;
  margin-bottom: 30px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
}

.newsletter-form {
  gap: 15px;
  max-width: 400px;
  margin: 0 auto;
  display: flex;
}

.newsletter-input {
  color: #5a5a5a;
  border: none;
  border-radius: 5px;
  flex: 1;
  padding: 15px;
  font-family: inherit;
  font-size: 16px;
}

.newsletter-btn {
  color: #8b6f47;
  letter-spacing: 1px;
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: none;
  border-radius: 5px;
  padding: 15px 25px;
  font-family: inherit;
  font-weight: 300;
  transition: all .3s;
}

.newsletter-btn:hover {
  background: #f5f0eb;
  transform: translateY(-2px);
}

#language-menu-button {
  letter-spacing: 1px;
  background: none;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 300;
  transition: all .3s;
  display: flex;
  border: 2px solid var(--brand-warm) !important;
  color: var(--brand-text) !important;
  border-radius: 5px !important;
  padding: 12px 20px !important;
  font-family: Georgia, Times New Roman, serif !important;
}

#language-menu-button:hover {
  transform: translateY(-1px);
  border-color: var(--brand-primary) !important;
  color: var(--brand-primary) !important;
  background: var(--brand-pale) !important;
}

#language-menu-button:focus {
  outline: none;
  box-shadow: 0 0 0 3px #8b6f471a;
  border-color: var(--brand-primary) !important;
}

#language-menu-button svg {
  transition: transform .3s;
}

#language-menu-button:hover svg {
  transform: rotate(180deg);
}

#language-menu {
  min-width: 200px;
  border: 2px solid var(--brand-warm) !important;
  z-index: 60 !important;
  background: #fff !important;
  border-radius: 10px !important;
  margin-top: 8px !important;
  padding: 10px 0 !important;
  box-shadow: 0 10px 30px #0000001a !important;
}

#language-menu a {
  letter-spacing: .5px;
  border-left: 3px solid #0000;
  align-items: center;
  font-weight: 300;
  text-decoration: none;
  transition: all .3s;
  display: flex;
  color: var(--brand-text) !important;
  padding: 12px 20px !important;
  font-family: Georgia, Times New Roman, serif !important;
}

#language-menu a:hover {
  border-left-color: var(--brand-primary);
  background: var(--brand-pale) !important;
  color: var(--brand-primary) !important;
  padding-left: 25px !important;
}

#language-menu a.bg-brand-pale\/20 {
  font-weight: 400;
  background: var(--brand-pale) !important;
  color: var(--brand-primary) !important;
  border-left-color: var(--brand-primary) !important;
}

#language-menu a .text-xs {
  margin-top: 2px;
  font-size: 11px;
  font-weight: 300;
  color: var(--brand-muted) !important;
}

#language-menu a svg {
  margin-right: 10px;
  color: var(--brand-primary) !important;
}

.md\:hidden .grid a {
  letter-spacing: .5px;
  font-weight: 300;
  text-decoration: none;
  transition: all .3s;
  border: 2px solid var(--brand-warm) !important;
  color: var(--brand-text) !important;
  background: #fff !important;
  border-left-width: 2px !important;
  border-radius: 8px !important;
  padding: 15px 12px !important;
  font-family: Georgia, Times New Roman, serif !important;
}

.md\:hidden .grid a:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px #0000000d;
  background: var(--brand-pale) !important;
  color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.md\:hidden .grid a.bg-brand-pale\/30 {
  font-weight: 400;
  background: var(--brand-pale) !important;
  color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  border-left-width: 4px !important;
}

.md\:hidden .grid a .font-medium {
  font-size: 14px;
  font-weight: 400;
}

.md\:hidden .grid a .text-xs {
  font-size: 11px;
  font-weight: 300;
  color: var(--brand-muted) !important;
}

.md\:hidden .grid a svg {
  color: var(--brand-primary) !important;
}

.md\:hidden p.text-brand-primary {
  letter-spacing: 1px;
  font-size: 16px;
  font-weight: 300;
  color: var(--brand-primary) !important;
  margin-bottom: 15px !important;
  font-family: Georgia, Times New Roman, serif !important;
}

#language-menu:not(.hidden) {
  animation: .3s ease-out slideDown;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.breadcrumb {
  background: #f9f6f2;
  padding: 120px 0 40px;
}

.breadcrumb-nav {
  color: #8b6f47;
  font-size: 14px;
}

.breadcrumb-nav a {
  color: #8b6f47;
  opacity: .7;
  text-decoration: none;
}

.breadcrumb-nav a:hover {
  opacity: 1;
}

@media (max-width: 768px) {
  .story-content, .sustainability-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .rattan-nav-links {
    display: none;
  }

  .rattan-page-title {
    font-size: 36px;
  }

  .rattan-page-subtitle {
    font-size: 16px;
  }

  .hero h1 {
    font-size: 36px;
  }

  .hero p {
    font-size: 16px;
  }

  .rattan-section-title {
    font-size: 28px;
  }

  .rattan-card-content {
    padding: 20px;
  }

  .rattan-feature {
    padding: 30px 15px;
  }

  .rattan-footer-content, .features-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .about-content, .story-content, .sustainability-content, .contact-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .values-grid, .team-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .process-steps {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
  }

  .products-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
  }

  .contact-form, .business-hours {
    padding: 30px;
  }

  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .md\:hidden .grid {
    gap: 12px !important;
  }

  .md\:hidden .grid a {
    padding: 12px 10px !important;
  }
}

#mobile-menu-overlay {
  z-index: 40 !important;
}

#mobile-menu {
  position: relative;
  z-index: 50 !important;
}

.rattan-header {
  z-index: 1000 !important;
}

@media (max-width: 768px) {
  #mobile-menu {
    border-top: 1px solid var(--brand-warm) !important;
    background: #fff !important;
    box-shadow: 0 4px 20px #0000001a !important;
  }

  #mobile-menu .rattan-nav-link {
    letter-spacing: 1px;
    border-bottom: 1px solid var(--brand-pale);
    font-weight: 300;
    transition: all .3s;
    color: var(--brand-text) !important;
    padding: 15px 0 !important;
    font-family: Georgia, Times New Roman, serif !important;
  }

  #mobile-menu .rattan-nav-link:hover, #mobile-menu .rattan-nav-link.active {
    color: var(--brand-primary) !important;
    background: var(--brand-pale) !important;
    padding-left: 10px !important;
  }

  #mobile-menu .rattan-nav-link:last-child {
    border-bottom: none;
  }
}

@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-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-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  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: 0;
}

@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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@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
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}
.rattan-nav-link[data-astro-cid-3ef6ksr2].active{color:var(--brand-primary)}.mobile-nav-link[data-astro-cid-3ef6ksr2]:hover,.mobile-nav-link[data-astro-cid-3ef6ksr2].active{color:var(--brand-primary);background-color:rgba(139,111,71,0.1);padding-left:0.5rem}.contact-item[data-astro-cid-unhyonde]{position:relative;display:flex;justify-content:flex-end;margin-bottom:8px}.contact-info[data-astro-cid-unhyonde]{position:absolute;right:48px;top:0;width:0!important;padding-left:0!important;padding-right:0!important;transition:all 0.3s ease-in-out;overflow:hidden;height:48px;display:flex;align-items:center}.contact-item[data-astro-cid-unhyonde]:hover .contact-info[data-astro-cid-unhyonde]{width:250px!important;padding-left:16px!important;padding-right:16px!important}.contact-item[data-astro-cid-unhyonde].active .contact-info[data-astro-cid-unhyonde]{width:250px!important;padding-left:16px!important;padding-right:16px!important}.contact-item[data-astro-cid-unhyonde]:hover .contact-icon[data-astro-cid-unhyonde]{background-color:var(--brand-accent)!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.contact-icon[data-astro-cid-unhyonde]{position:relative;z-index:10;border-top-left-radius:0.5rem!important;border-bottom-left-radius:0.5rem!important;transition:all 0.3s ease-in-out}.contact-item[data-astro-cid-unhyonde]:hover .contact-info[data-astro-cid-unhyonde]{border-top-right-radius:0!important;border-bottom-right-radius:0!important}html,
	body {
		margin: 0;
		width: 100%;
		height: 100%;
	}
	
	/* 懒加载图片的占位样式 */
	img.lazy {
		background: #f0f0f0;
		min-height: 200px;
		transition: opacity 0.3s;
	}
	
	img.lazy[data-src] {
		opacity: 0.5;
	}
	
	/* 优化字体加载 */
	@font-face {
		font-family: 'YourFont';
		src: url('/fonts/your-font.woff2') format('woff2');
		font-display: swap; /* 优化字体加载策略 */
		font-weight: 400;
		font-style: normal;
	}body{background-color:#f8f9fa;color:#2c3e50;margin:0;font-family:system-ui,-apple-system,sans-serif}.hero-banner[data-astro-cid-sckkx6r4] img[data-astro-cid-sckkx6r4]{width:100%;height:auto;display:block}