/* BELLE-MIRROR editorial visual system. Loaded after the legacy Tailwind styles. */
:root {
  --paper: #fbfbfa;
  --soft: #f2f1ef;
  --ink: #171717;
  --muted: #626262;
  --faint: #8a8a86;
  --line: #dbdbd7;
  --gold: #b58a35;
  --gold-dark: #8d6826;
}

html { background: var(--paper); }
body.bg-slate-950 {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  line-height: 1.65;
}

* { text-rendering: optimizeLegibility; }
::selection { color: #fff; background: var(--gold); }

/* Navigation */
nav.fixed {
  background: rgba(251, 251, 250, .95) !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
}
nav .h-20 { height: 5.1rem; }
nav img.h-10 { height: 2.15rem; }
nav img.h-10 { filter: brightness(0) saturate(100%); }
nav .nav-link,
nav button,
#mobile-menu a { color: var(--muted) !important; }
nav .nav-link.font-medium,
nav .nav-link:hover,
nav button:hover,
#mobile-menu a:hover { color: var(--ink) !important; }
.nav-link::after { background: var(--gold) !important; bottom: -7px !important; }
nav .bg-silver-100 {
  background: var(--ink) !important;
  color: #fff !important;
  border-radius: 0 !important;
  letter-spacing: .02em;
}
nav .bg-silver-100:hover { background: var(--gold) !important; transform: none !important; }
nav .rounded-xl { border-radius: 0 !important; }
nav .bg-slate-900\/95,
#mobile-menu { background: #fff !important; border-color: var(--line) !important; }
nav .bg-slate-800\/60 { background: var(--soft) !important; }
nav .text-silver-100,
nav .text-silver-400,
nav .text-gold-300 { color: var(--ink) !important; }
nav .hover\:bg-slate-800\/70:hover { background: var(--soft) !important; }

/* Typography and inherited color utilities */
.font-display { font-family: "Playfair Display", Georgia, serif !important; letter-spacing: 0 !important; }
.text-gradient { background: none !important; color: var(--ink) !important; -webkit-text-fill-color: currentColor !important; }
.text-silver-100, .text-silver-200, .text-silver-300 { color: var(--ink) !important; }
.text-silver-400 { color: var(--muted) !important; }
.text-silver-500, .text-silver-600 { color: var(--faint) !important; }
.text-gold-300, .text-gold-400, .text-gold-500 { color: var(--gold-dark) !important; }
p.text-gold-300 { font-size: .68rem !important; font-weight: 600; letter-spacing: .18em !important; }
h1, h2, h3 { font-weight: 400 !important; }

/* Replace dark panels with paper and quiet architectural boundaries */
.bg-slate-900, .bg-slate-900\/50, .bg-slate-900\/40,
.bg-slate-800, .bg-slate-800\/50, .bg-slate-800\/40, .bg-slate-800\/30,
.bg-slate-950\/40, .bg-slate-950\/35 {
  background: var(--soft) !important;
}
.border-slate-800, .border-slate-800\/50, .border-slate-800\/60,
.border-slate-700\/50, .border-gold-400\/20, .border-gold-400\/30,
.border-gold-500\/20, .border-gold-500\/25, .border-gold-500\/40 {
  border-color: var(--line) !important;
}
.bg-gradient-to-b, .bg-gradient-to-t { background-image: none !important; }
.bg-radial-glow, .blur-2xl, .blur-3xl { display: none !important; }
.mirror-glow { animation: none !important; box-shadow: none !important; }
.float-animation { animation: none !important; }

/* Homepage hero: let the real product image carry the composition. */
.home-hero-decor, .home-hero-overlay { display: none !important; }
@media (min-width: 1024px) {
  .home-hero-image { width: min(100%, 36rem) !important; }
}

/* Engineering Excellence: Stitch-inspired editorial capability grid. */
.engineering-intro { margin-bottom: 3.5rem; }
.engineering-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 2rem; }
.engineering-item { min-height: 13rem; padding: 1.7rem 0 1.45rem; border-top: 1px solid var(--line); }
.engineering-item svg { display: block; width: 32px; height: 32px; margin-bottom: 1.35rem; fill: var(--ink); }
.engineering-item h3 { margin: 0 0 .55rem; color: var(--ink); font: 500 1.45rem/1.2 "Playfair Display", Georgia, serif; }
.engineering-item p { max-width: 20rem; margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.55; }
@media (max-width: 767px) {
  .engineering-grid { grid-template-columns: 1fr; }
  .engineering-item { min-height: auto; padding: 1.6rem 0; }
}

/* Editorial hero and visual frames */
section:first-of-type { border-bottom: 1px solid var(--line); }
.pt-32 { padding-top: 9.25rem !important; }
.rounded-3xl, .rounded-2xl, .rounded-xl, .rounded-lg, .rounded-full { border-radius: 0 !important; }
.mirror-visual, .mirror-glow {
  border: 1px solid var(--line) !important;
  background: #ecebe8 !important;
}
.mirror-visual img, .mirror-glow img { filter: saturate(.88) contrast(1.02); }

/* Repeated content modules. These selectors target existing card layouts without changing markup. */
.group.p-8,
a.group.relative.overflow-hidden,
.rounded-2xl.bg-slate-800\/40,
.rounded-2xl.bg-slate-800\/30 {
  border: 1px solid var(--line) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.group.p-8 { padding: 2rem !important; }
.group.p-8:hover,
a.group.relative.overflow-hidden:hover {
  border-color: var(--gold) !important;
  box-shadow: none !important;
  transform: translateY(-3px) !important;
}
.group .w-12, .group .w-8 {
  background: transparent !important;
  border-color: var(--line) !important;
  border-radius: 0 !important;
}
a.group.relative.overflow-hidden > div { padding: 0 !important; }
a.group.relative.overflow-hidden .relative.overflow-hidden { border-radius: 0 !important; }
a.group.relative.overflow-hidden .mt-5 { margin: 1.4rem 1.5rem 1.65rem !important; padding: 0 !important; }
a.group.relative.overflow-hidden img { border-radius: 0 !important; }
a.group .bg-silver-100\/10 { background: var(--ink) !important; }
a.group .bg-silver-100\/10 svg { color: #fff !important; }

/* Feature badges and specification boxes */
.inline-block.px-4.py-2,
.flex.flex-wrap.gap-4 > div,
.flex.items-center.gap-3.px-5.py-3 {
  background: transparent !important;
  border-color: var(--line) !important;
  border-radius: 0 !important;
}

/* Buttons and text links */
a.bg-silver-100, button.bg-silver-100 {
  background: var(--ink) !important;
  color: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
a.bg-silver-100:hover, button.bg-silver-100:hover { background: var(--gold) !important; transform: none !important; }
a.border[class*="gold"] { border-color: var(--ink) !important; color: var(--ink) !important; border-radius: 0 !important; }
a.border[class*="gold"]:hover { color: #fff !important; background: var(--ink) !important; }
a.text-silver-300:hover, a.text-silver-500:hover { color: var(--gold-dark) !important; }

/* Forms */
input, textarea, select {
  background: #fff !important;
  color: var(--ink) !important;
  border-color: var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--gold) !important;
  outline: 2px solid transparent !important;
  box-shadow: 0 0 0 2px rgba(181, 138, 53, .18) !important;
}
label { color: var(--ink) !important; }

/* Footer and contrast section */
footer { background: var(--ink) !important; border-color: #3b3b39 !important; }
footer .text-silver-100, footer .text-silver-200 { color: #fff !important; }
footer .text-silver-400, footer .text-silver-500, footer .text-silver-600 { color: #bab9b4 !important; }
footer a:hover { color: #dfbd79 !important; }
footer .border-slate-800\/50 { border-color: #3b3b39 !important; }
footer img { filter: none; }

/* The only deliberately dark call-out bands retain a quiet charcoal treatment. */
section.bg-slate-950, section[class*="from-slate"] {
  background: var(--ink) !important;
}
section[class*="from-slate"] .text-silver-100,
section[class*="from-slate"] .text-silver-200 { color: #fff !important; }
section[class*="from-slate"] .text-silver-400 { color: #cac9c5 !important; }

@media (max-width: 767px) {
  nav .h-20 { height: 4.55rem; }
  nav img.h-10 { height: 1.9rem; }
  #mobile-menu { max-height: calc(100vh - 4.55rem); overflow-y: auto; }
  #mobile-menu .px-6 { padding: 1.2rem 1.5rem 1.75rem !important; }
  .pt-32 { padding-top: 7.1rem !important; }
  .text-5xl { font-size: 2.55rem !important; line-height: 1.12 !important; }
  .text-6xl { font-size: 2.8rem !important; line-height: 1.08 !important; }
  .text-4xl { font-size: 2.05rem !important; line-height: 1.18 !important; }
  .py-24 { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
  .py-20 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
  .gap-16 { gap: 3rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Multilingual navigation is intentionally paused for this release. */
nav .relative.group:has(button[aria-haspopup="true"]),
#mobile-menu > .pt-2.border-t { display: none !important; }
