*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

body,
h1,
h2,
h3,
p {
  margin: 0;
}

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

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="submit"] {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.absolute { position: absolute; }
.fixed { position: fixed; }
.relative { position: relative; }
.sticky { position: sticky; }
.inset-0 { inset: 0; }
.top-0 { top: 0; }
.z-10 { z-index: 10; }
.z-50 { z-index: 50; }
[class~="z-[60]"] { z-index: 60; }

.mx-auto { margin-left: auto; margin-right: auto; }
.my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-10 { margin-top: 2.5rem; }

.block { display: block; }
.hidden { display: none; }
.inline-block { display: inline-block; }
.inline-flex { display: inline-flex; }
.flex { display: flex; }
.grid { display: grid; }

.h-11 { height: 2.75rem; }
.h-72 { height: 18rem; }
.h-80 { height: 20rem; }
[class~="h-[30rem]"] { height: 30rem; }
[class~="h-[34rem]"] { height: 34rem; }
.h-full { height: 100%; }
.min-h-40 { min-height: 10rem; }
[class~="min-h-[82vh]"] { min-height: 82vh; }
[class~="min-h-[90vh]"] { min-height: 90vh; }
.min-h-screen { min-height: 100vh; }
.w-11 { width: 2.75rem; }
.w-full { width: 100%; }
.min-w-0 { min-width: 0; }

.max-w-xs { max-width: 20rem; }
.max-w-sm { max-width: 24rem; }
.max-w-lg { max-width: 32rem; }
.max-w-xl { max-width: 36rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-6xl { max-width: 72rem; }
.max-w-7xl { max-width: 80rem; }

.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-end { justify-content: flex-end; }

.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }
.gap-px { gap: 1px; }

.overflow-hidden { overflow: hidden; }
.overflow-y-auto { overflow-y: auto; }
.object-cover { object-fit: cover; }
.object-contain { object-fit: contain; }

.rounded-full { border-radius: 9999px; }
.border { border-width: 1px; }
.border-b { border-bottom-width: 1px; }
.border-t { border-top-width: 1px; }
.border-y { border-top-width: 1px; border-bottom-width: 1px; }
[class~="border-[var(--ink)]"] { border-color: var(--ink); }
.border-white { border-color: #fff; }
[class~="border-black/10"] { border-color: rgb(0 0 0 / 0.1); }
[class~="border-black/15"] { border-color: rgb(0 0 0 / 0.15); }
[class~="border-white/15"] { border-color: rgb(255 255 255 / 0.15); }
[class~="border-white/55"] { border-color: rgb(255 255 255 / 0.55); }

.bg-white { background-color: #fff; }
.bg-black\/10, [class~="bg-black/10"] { background-color: rgb(0 0 0 / 0.1); }
.bg-white\/5, [class~="bg-white/5"] { background-color: rgb(255 255 255 / 0.05); }
.bg-white\/10, [class~="bg-white/10"] { background-color: rgb(255 255 255 / 0.1); }
[class~="bg-[var(--ink)]"] { background-color: var(--ink); }
[class~="bg-[var(--sand)]"] { background-color: var(--sand); }
[class~="bg-[var(--sand-2)]"] { background-color: var(--sand-2); }
[class~="bg-[var(--blush)]"] { background-color: var(--blush); }
[class~="bg-[rgba(24,21,19,0.66)]"] { background-color: rgba(24,21,19,0.66); }
[class~="bg-[rgba(243,239,231,0.9)]"] { background-color: rgba(243,239,231,0.9); }
[class~="bg-[rgba(255,255,255,0.92)]"] { background-color: rgba(255,255,255,0.92); }
[class~="bg-[linear-gradient(120deg,rgba(24,21,19,0.72),rgba(24,21,19,0.28)_48%,rgba(24,21,19,0.08))]"] {
  background: linear-gradient(120deg, rgba(24,21,19,0.72), rgba(24,21,19,0.28) 48%, rgba(24,21,19,0.08));
}
[class~="bg-[linear-gradient(90deg,rgba(24,21,19,0.18),rgba(24,21,19,0.02))]"] {
  background: linear-gradient(90deg, rgba(24,21,19,0.18), rgba(24,21,19,0.02));
}

.p-4 { padding: 1rem; }
.p-5 { padding: 1.25rem; }
.p-6 { padding: 1.5rem; }
.p-7 { padding: 1.75rem; }
.p-8 { padding: 2rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-14 { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.pb-4 { padding-bottom: 1rem; }
.pb-5 { padding-bottom: 1.25rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pb-14 { padding-bottom: 3.5rem; }
.pb-20 { padding-bottom: 5rem; }
.pt-6 { padding-top: 1.5rem; }

.text-center { text-align: center; }
.font-serif { font-family: Georgia, "Times New Roman", "Songti SC", "STSong", serif; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-6xl { font-size: 3.75rem; line-height: 1; }
[class~="text-[10px]"] { font-size: 10px; }
[class~="text-[11px]"] { font-size: 11px; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.font-semibold { font-weight: 600; }
.uppercase { text-transform: uppercase; }
.underline { text-decoration-line: underline; }
.leading-none { line-height: 1; }
.leading-7 { line-height: 1.75rem; }
.leading-8 { line-height: 2rem; }
[class~="leading-[0.94]"] { line-height: 0.94; }
[class~="leading-[0.96]"] { line-height: 0.96; }
[class~="tracking-[0.14em]"] { letter-spacing: 0.14em; }
[class~="tracking-[0.16em]"] { letter-spacing: 0.16em; }
[class~="tracking-[0.18em]"] { letter-spacing: 0.18em; }
[class~="tracking-[0.2em]"] { letter-spacing: 0.2em; }
[class~="tracking-[0.26em]"] { letter-spacing: 0.26em; }
[class~="tracking-[0.34em]"] { letter-spacing: 0.34em; }
.text-white { color: #fff; }
[class~="text-[var(--ink)]"] { color: var(--ink); }
[class~="text-[var(--muted)]"] { color: var(--muted); }
[class~="text-white/55"] { color: rgb(255 255 255 / 0.55); }
[class~="text-white/60"] { color: rgb(255 255 255 / 0.6); }
[class~="text-white/70"] { color: rgb(255 255 255 / 0.7); }
[class~="text-white/75"] { color: rgb(255 255 255 / 0.75); }
[class~="text-white/78"] { color: rgb(255 255 255 / 0.78); }
[class~="text-white/80"] { color: rgb(255 255 255 / 0.8); }

.shadow-\[0_20px_50px_rgba\(24\,21\,19\,0\.06\)\],
[class~="shadow-[0_20px_50px_rgba(24,21,19,0.06)]"] { box-shadow: 0 20px 50px rgba(24,21,19,0.06); }
[class~="shadow-[0_30px_80px_rgba(24,21,19,0.25)]"] { box-shadow: 0 30px 80px rgba(24,21,19,0.25); }
.transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-duration: 150ms; }
.backdrop-blur-sm { backdrop-filter: blur(4px); }
.backdrop-blur-xl { backdrop-filter: blur(24px); }

[class~="hover:bg-black"]:hover { background-color: #000; }
[class~="hover:bg-white"]:hover { background-color: #fff; }
[class~="hover:bg-[var(--ink)]"]:hover { background-color: var(--ink); }
[class~="hover:bg-[var(--sand)]"]:hover { background-color: var(--sand); }
[class~="hover:text-white"]:hover { color: #fff; }
[class~="hover:text-[var(--ink)]"]:hover { color: var(--ink); }
[class~="hover:underline"]:hover { text-decoration-line: underline; }

@media (min-width: 640px) {
  [class~="sm:flex-row"] { flex-direction: row; }
  [class~="sm:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="sm:items-end"] { align-items: flex-end; }
  [class~="sm:justify-between"] { justify-content: space-between; }
  [class~="sm:mt-10"] { margin-top: 2.5rem; }
  [class~="sm:p-6"] { padding: 1.5rem; }
  [class~="sm:p-8"] { padding: 2rem; }
  [class~="sm:px-8"] { padding-left: 2rem; padding-right: 2rem; }
  [class~="sm:text-lg"] { font-size: 1.125rem; line-height: 1.75rem; }
  [class~="sm:text-6xl"] { font-size: 3.75rem; line-height: 1; }
  [class~="sm:text-7xl"] { font-size: 4.5rem; line-height: 1; }
}

@media (min-width: 768px) {
  [class~="md:grid-cols-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [class~="md:grid-cols-4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  [class~="md:inline-flex"] { display: inline-flex; }
}

@media (min-width: 1024px) {
  [class~="lg:flex"] { display: flex; }
  [class~="lg:hidden"] { display: none; }
  [class~="lg:inline-flex"] { display: inline-flex; }
  [class~="lg:items-center"] { align-items: center; }
  [class~="lg:grid-cols-4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  [class~="lg:grid-cols-[0.82fr_1.18fr]"] { grid-template-columns: 0.82fr 1.18fr; }
  [class~="lg:grid-cols-[0.84fr_1.16fr]"] { grid-template-columns: 0.84fr 1.16fr; }
  [class~="lg:grid-cols-[0.85fr_1.15fr]"] { grid-template-columns: 0.85fr 1.15fr; }
  [class~="lg:grid-cols-[0.9fr_1.1fr]"] { grid-template-columns: 0.9fr 1.1fr; }
  [class~="lg:grid-cols-[0.92fr_1.08fr]"] { grid-template-columns: 0.92fr 1.08fr; }
  [class~="lg:grid-cols-[0.94fr_1.06fr]"] { grid-template-columns: 0.94fr 1.06fr; }
  [class~="lg:grid-cols-[0.95fr_1.05fr]"] { grid-template-columns: 0.95fr 1.05fr; }
  [class~="lg:grid-cols-[1.02fr_0.98fr]"] { grid-template-columns: 1.02fr 0.98fr; }
  [class~="lg:grid-cols-[1.04fr_0.96fr]"] { grid-template-columns: 1.04fr 0.96fr; }
  [class~="lg:grid-cols-[1.08fr_0.92fr]"] { grid-template-columns: 1.08fr 0.92fr; }
  [class~="lg:p-8"] { padding: 2rem; }
  [class~="lg:px-8"] { padding-left: 2rem; padding-right: 2rem; }
  [class~="lg:px-10"] { padding-left: 2.5rem; padding-right: 2.5rem; }
  [class~="lg:py-16"] { padding-top: 4rem; padding-bottom: 4rem; }
  [class~="lg:py-20"] { padding-top: 5rem; padding-bottom: 5rem; }
  [class~="lg:text-8xl"] { font-size: 6rem; line-height: 1; }
}

@media (min-width: 1280px) {
  [class~="xl:grid-cols-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
