/* ═══════════════════════════════════════════
   style.css — Manuscrit Nocturne (site-2)
═══════════════════════════════════════════ */
:root {
  --void:      #0D0F14;
  --surface:   #141820;
  --mid:       #1C2333;
  --bordeaux:  #8B2252;
  --bord-l:    #A33366;
  --gold:      #D4A84B;
  --gold-l:    #E4BC64;
  --ivory:     #F2E8D9;
  --ivory-m:   #B8A898;
  --ivory-d:   #7A6E60;
  --t:         0.28s ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

::-webkit-scrollbar       { width: 5px; }
::-webkit-scrollbar-track { background: var(--void); }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 3px; opacity: .4; }
::selection               { background: var(--gold); color: var(--void); }
:focus-visible            { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }

/* Navbar */
#navbar { background: transparent; transition: background .35s ease, box-shadow .35s ease; }
#navbar.scrolled {
  background: rgba(13, 15, 20, 0.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 1px 30px rgba(0,0,0,.6);
}

/* Hero */
.hero-stars {
  background-image: radial-gradient(1px 1px at 10% 20%, rgba(212,168,75,.4) 0%, transparent 100%),
                    radial-gradient(1px 1px at 30% 70%, rgba(212,168,75,.25) 0%, transparent 100%),
                    radial-gradient(1px 1px at 70% 15%, rgba(242,232,217,.2) 0%, transparent 100%),
                    radial-gradient(1px 1px at 85% 55%, rgba(212,168,75,.3) 0%, transparent 100%),
                    radial-gradient(1px 1px at 50% 90%, rgba(242,232,217,.15) 0%, transparent 100%),
                    radial-gradient(1.5px 1.5px at 20% 45%, rgba(212,168,75,.2) 0%, transparent 100%),
                    radial-gradient(1px 1px at 60% 35%, rgba(242,232,217,.25) 0%, transparent 100%),
                    radial-gradient(1px 1px at 90% 80%, rgba(212,168,75,.2) 0%, transparent 100%);
}
.bg-radial-glow {
  background: radial-gradient(ellipse 70% 60% at 50% 40%, rgba(28,35,51,.6) 0%, transparent 70%);
}
.scroll-pulse-dark { animation: pulseDark 2.5s ease-in-out infinite; }
@keyframes pulseDark { 0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(1.1)} }

/* Buttons */
.btn-bordeaux {
  background: var(--bordeaux);
  color: var(--ivory);
  border: 1px solid var(--bordeaux);
  transition: background var(--t), transform var(--t), box-shadow var(--t);
}
.btn-bordeaux:hover  { background: var(--bord-l); border-color: var(--bord-l); transform: translateY(-2px); box-shadow: 0 6px 24px rgba(139,34,82,.4); }
.btn-bordeaux:active { transform: translateY(0); }
.btn-bordeaux:disabled { opacity: .6; cursor: not-allowed; transform: none; }

.btn-ghost-gold {
  background: transparent;
  color: var(--gold);
  border: 1px solid rgba(212,168,75,.35);
  transition: background var(--t), border-color var(--t), transform var(--t);
}
.btn-ghost-gold:hover { background: rgba(212,168,75,.08); border-color: var(--gold); transform: translateY(-2px); }
.btn-ghost-gold:active { transform: translateY(0); }

/* Method cards */
.method-dark-card {
  background: var(--mid);
  border: 1px solid rgba(212,168,75,.12);
  border-radius: .5rem;
  transition: background var(--t), border-color var(--t), transform var(--t);
}
.method-dark-card:hover { background: rgba(28,35,51,.9); border-color: rgba(212,168,75,.35); transform: translateY(-4px); }
.method-watermark {
  position: absolute;
  top: .5rem;
  right: 1rem;
  font-size: 6rem;
  line-height: 1;
  color: rgba(212,168,75,.06);
  pointer-events: none;
  user-select: none;
  font-weight: 700;
}

/* Story card */
.story-dark-card {
  border: 1px solid rgba(212,168,75,.12);
  background: var(--surface);
}

/* Service cards */
.service-dark-card {
  background: var(--mid);
  border: 1px solid rgba(212,168,75,.1);
  border-radius: .5rem;
  transition: border-color var(--t), transform var(--t);
}
.service-dark-card:hover { border-color: rgba(212,168,75,.3); transform: translateY(-4px); }

.service-featured-card {
  background: linear-gradient(135deg, rgba(139,34,82,.25) 0%, rgba(28,35,51,.9) 100%);
  border: 1px solid rgba(212,168,75,.25);
  border-radius: .5rem;
}

/* Dark form */
.dark-form-label {
  display: block;
  font-family: 'Raleway', sans-serif;
  font-size: .7rem;
  font-weight: 400;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(242,232,217,.45);
  margin-bottom: .4rem;
}
.dark-form-input {
  display: block;
  width: 100%;
  padding: .8rem 1rem;
  background: var(--mid);
  border: 1px solid rgba(212,168,75,.15);
  border-radius: .375rem;
  font-family: 'Raleway', sans-serif;
  font-size: .9rem;
  font-weight: 300;
  color: var(--ivory-m);
  transition: border-color var(--t), box-shadow var(--t);
  appearance: none;
  -webkit-appearance: none;
}
.dark-form-input::placeholder { color: var(--ivory-d); }
.dark-form-input:hover        { border-color: rgba(212,168,75,.3); }
.dark-form-input:focus        { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212,168,75,.12); }
.dark-form-input.is-invalid   { border-color: #f87171; box-shadow: 0 0 0 3px rgba(248,113,113,.1); }
.dark-form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23D4A84B'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .875rem center;
  background-size: 1.125rem;
  padding-right: 2.5rem;
}

/* Reveal */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Active nav */
.nav-link.active-link { color: var(--gold) !important; }

/* Mobile menu */
#mobile-menu.is-open { display: block; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .scroll-pulse-dark { animation: none; }
  .btn-bordeaux:hover, .btn-ghost-gold:hover, .method-dark-card:hover, .service-dark-card:hover { transform: none; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print { #navbar, footer { display: none; } .reveal { opacity: 1; transform: none; } body { background: #fff; color: #000; } }
