:root {
    --color-bg-cream: #F9F6F0;
    --color-text-ink: #2A2421;
    --color-crust: #C15C3D;
    --color-dust-gray: #D5CFC9;
    --font-serif: 'Fraunces', serif;
    --font-sans: 'IBM Plex Sans', sans-serif;
    --font-mono: 'IBM Plex Sans', monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--color-bg-cream); color: var(--color-text-ink); font-family: var(--font-sans); line-height: 1.6; padding: 2rem; }

header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 3rem; border-bottom: 1px solid var(--color-dust-gray); }
.logo { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 600; letter-spacing: -0.02em; }
nav a { font-family: var(--font-mono); font-size: 0.85rem; text-transform: uppercase; text-decoration: none; color: var(--color-text-ink); margin-left: 2rem; }

h1, h2, h3 { font-family: var(--font-serif); }
.price, .date, .meta { font-family: var(--font-mono); }

.hero { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding: 4rem 0; align-items: center; }
@media (max-width: 768px) { .hero { grid-template-columns: 1fr; } }
h1 { font-size: 3rem; margin-bottom: 1.5rem; line-height: 1.1; }

.img-placeholder { width: 100%; aspect-ratio: 4/3; background: #F5EFEB; border: 1px solid var(--color-dust-gray); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.img-placeholder::after { content: ""; position: absolute; inset: 0; opacity: 0.1; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"); }

.section-title { font-family: var(--font-mono); font-size: 0.9rem; margin-bottom: 2rem; text-transform: uppercase; color: var(--color-crust); letter-spacing: 0.05em; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin-bottom: 4rem; }
.card { border: 1px solid var(--color-dust-gray); padding: 2rem; display: flex; flex-direction: column; gap: 1rem; }
.card h3 { margin-bottom: 0.5rem; }
.price { color: var(--color-crust); font-weight: bold; }

button { background: var(--color-text-ink); color: var(--color-bg-cream); padding: 1rem 2rem; border: none; cursor: pointer; font-family: var(--font-mono); transition: 150ms ease-out; }
button:hover { background: var(--color-crust); }
