@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300 700; src: url(../fonts/font_260c81a4759b.woff2) format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: normal; font-weight: 400 700; src: url(../fonts/font_ef05b30d6e5c.woff2) format('woff2'); }
@font-face { font-family: 'Playfair Display'; font-style: italic; font-weight: 400; src: url(../fonts/font_4450ccfb7533.woff2) format('woff2'); }

:root {
  --background: 40 50% 97%; --foreground: 0 0% 12%;
  --card: 40 40% 95%; --card-foreground: 0 0% 12%; --card-border: 40 20% 85%;
  --primary: 350 70% 35%; --primary-foreground: 40 50% 97%;
  --secondary: 35 80% 45%; --secondary-foreground: 40 50% 97%;
  --muted: 40 20% 90%; --muted-foreground: 0 0% 40%;
  --accent: 15 70% 45%; --border: 40 20% 85%;
}
@media (prefers-color-scheme: dark) {
  :root { --background: 0 0% 10%; --foreground: 40 30% 90%; --card: 0 0% 12%; --card-foreground: 40 30% 90%; --card-border: 0 0% 20%;
    --primary: 350 60% 45%; --primary-foreground: 40 50% 97%; --secondary: 35 70% 50%; --secondary-foreground: 0 0% 10%;
    --muted: 0 0% 20%; --muted-foreground: 0 0% 60%; --accent: 15 60% 50%; --border: 0 0% 20%; }
}
:root[data-theme="dark"] { --background: 0 0% 10%; --foreground: 40 30% 90%; --card: 0 0% 12%; --card-foreground: 40 30% 90%; --card-border: 0 0% 20%;
  --primary: 350 60% 45%; --primary-foreground: 40 50% 97%; --secondary: 35 70% 50%; --secondary-foreground: 0 0% 10%;
  --muted: 0 0% 20%; --muted-foreground: 0 0% 60%; --accent: 15 60% 50%; --border: 0 0% 20%; }
:root[data-theme="light"] { --background: 40 50% 97%; --foreground: 0 0% 12%; --card: 40 40% 95%; --card-foreground: 0 0% 12%; --card-border: 40 20% 85%;
  --primary: 350 70% 35%; --primary-foreground: 40 50% 97%; --secondary: 35 80% 45%; --secondary-foreground: 40 50% 97%;
  --muted: 40 20% 90%; --muted-foreground: 0 0% 40%; --accent: 15 70% 45%; --border: 40 20% 85%; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3, h4 { font-family: 'Playfair Display', Georgia, serif; margin: 0; text-wrap: balance; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { max-width: 100%; display: block; }

.brand { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 700; letter-spacing: -0.01em; color: hsl(var(--primary)); white-space: nowrap; }
@media (max-width: 480px) { .brand { font-size: 1.05rem; } }

.enquire-link {
  margin-top: 0.4rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  width: 100%; padding: 0.8rem; font-size: 0.85rem; font-weight: 500; letter-spacing: 0.03em;
  border: 1px solid hsl(var(--foreground) / 0.2); color: hsl(var(--foreground)); background: transparent; transition: all 0.3s ease;
}
.enquire-link:hover { background: hsl(var(--foreground)); color: hsl(var(--background)); }
.enquire-link svg { width: 16px; height: 16px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
