:root {
    --color-obsidian: #0D0D0E;
    --color-gold: #C5A880;
    --color-cream: #FDFBF7;
    --color-charcoal: #1C1C1E;
    --font-serif: "Cormorant Garamond", serif;
    --font-sans: "Inter", sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background-color: var(--color-obsidian); color: var(--color-cream); font-family: var(--font-sans); line-height: 1.6; }

/* Hero Section */
.hero { display: grid; grid-template-columns: 1fr; min-height: 80vh; align-items: center; padding: 2rem; }
@media (min-width: 768px) { .hero { grid-template-columns: 60% 40%; } }
.hero-content h1 { font-family: var(--font-serif); font-size: 3.5rem; color: var(--color-cream); margin-bottom: 1rem; }
.hero-content h2 { font-family: var(--font-sans); color: var(--color-gold); font-weight: 300; }
.hero-image { background: var(--color-charcoal); min-height: 400px; display: flex; align-items: center; justify-content: center; color: var(--color-gold); }

/* Configurator */
.configurator { padding: 4rem 2rem; background: var(--color-charcoal); }

/* Accordion */
.specs { padding: 4rem 2rem; max-width: 800px; margin: 0 auto; }
details { border-bottom: 1px solid var(--color-gold); padding: 1rem 0; }
summary { font-family: var(--font-serif); font-size: 1.5rem; cursor: pointer; color: var(--color-gold); }

/* Mobile Cart */
.floating-cart { position: fixed; bottom: 0; left: 0; width: 100%; background: var(--color-charcoal); padding: 1rem; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--color-gold); }
@media (min-width: 768px) { .floating-cart { display: none; } }
.btn-reserve { background: var(--color-gold); color: var(--color-obsidian); padding: 0.75rem 1.5rem; border: none; font-weight: 600; cursor: pointer; }
