:root {
  --ink: #f3eadb;
  --muted: #c3b7a5;
  --cream: #1c1713;
  --gold: #d9b97c;
  --line: #483a2b;
  --dark: #2b2118;
}
body { background: #14110e; }
header, .links.open { background: #15110e; }
header { border-bottom: 1px solid var(--line); }
.top, footer { background: #0e0c0a; }
.top, footer, footer p, footer .copy { color: var(--muted); }
.logo, footer .logo, .logo small, .stat strong { color: var(--gold); }
.logo { letter-spacing: 5px; }
.hero {
  isolation: isolate;
  min-height: 665px;
  background: radial-gradient(ellipse at 77% 54%, #302118, #100d0a 65%);
  overflow: hidden;
}
.hero::before, .hero::after { position: absolute; inset: 0; content: ''; z-index: -1; }
.hero::before {
  background: url('https://images.unsplash.com/photo-1730663547936-f50ca0292de8?auto=format&fit=crop&w=1400&q=85') left 32% / min(62%, 920px) auto no-repeat;
  filter: grayscale(1) sepia(.23);
  opacity: .48;
  mask-image: linear-gradient(90deg, #000, transparent 68%);
}
.hero::after {
  background: linear-gradient(90deg, #110e0bc7, #110e0b77 47%, transparent 70%),
    url('https://images.unsplash.com/photo-1640085461451-e3dc47415dd1?auto=format&fit=crop&w=1400&q=85') right center / auto 100% no-repeat;
  z-index: -2;
}
.hero h1 { color: #fff4e3; max-width: 630px; text-shadow: 0 2px 18px #000; }
.hero p { color: #eee0ce; max-width: 490px; text-shadow: 0 2px 8px #000; }
.hero h1 em { color: #e6c790; font-style: normal; }
.btn, .btn.light, .mobile-call { background: #dcc08b; color: #18110b; border-color: #dcc08b; }
.btn:hover, .btn.light:hover { background: #f2d6a1; }
.btn.outline { color: #fff2dd; border-color: #b29a76; }
.btn.outline:hover { background: #312419; }
.stats, .faq, .service, .banner { background: #1a1511; }
.stat, details, footer hr { border-color: var(--line); }
.service a, .service i, .step b, .contact-row i { color: var(--gold); }
.service img { filter: saturate(.65) brightness(.86); }
.history p, .banner p { color: var(--muted); }
.history img { filter: grayscale(.8) sepia(.22) brightness(.82); object-position: center 38%; }
.banner { border-block: 1px solid var(--line); }
section[id] { scroll-margin-top: 90px; }
@media (max-width: 850px) {
  .hero::before { background-size: auto 88%; opacity: .38; }
  .hero::after {
    background-image: linear-gradient(90deg, #110e0bd9, #110e0b55), url('https://images.unsplash.com/photo-1640085461451-e3dc47415dd1?auto=format&fit=crop&w=900&q=85');
    background-size: cover, auto 75%;
  }
}

.top a { display: inline-block; }
.top a[href^="tel:"] { white-space: nowrap; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}
@media (hover: hover) {
  .top a:hover, .links a:not(.btn):hover, summary:hover { color: var(--gold); }
  .top a:hover, .contact-row a:hover, .service a:hover { text-decoration: underline; text-underline-offset: 4px; }
  .service:hover { border-color: var(--gold); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service { transition: transform .2s ease, border-color .2s ease; }
  .service:hover { transform: translateY(-4px); }
  .btn:hover { transform: translateY(-2px); }
}
@media (max-width: 480px) {
  .top .wrap { flex-wrap: wrap; gap: 6px 14px; }
}
