:root {
  --accent: #d7b773;
  --on-accent: #15120b;
  --ink: #201d19;
  --muted: #5d584e;
  --paper: #f5f3ed;
  --card: #fbf9f4;
  --line: #ded8cb;
  --night: #111110;
  --cream: #faf8f2;
  --subtle: #c8c2b6;
}

.site-header, .site-footer { background: #10100f; border-color: #302a1e; }
.brand { gap: 12px; }
.brand-icon { width: 43px; height: 43px; border: 0; }
.brand-icon img { width: 100%; height: auto; }
.brand-text strong { font-size: 1.41rem; letter-spacing: .045em; }
.nav { color: #ece8df; }
.button-outline, .site-header .menu-toggle { border-color: #6a5b3d; }
.button-primary { border-radius: 4px; }
.hero { background: #121211; }
.hero-inner { min-height: clamp(560px, 43vw, 680px); padding-block: 65px; }
.hero-picture { left: auto; right: 0; width: 49%; }
.hero-image { object-position: 50% 47%; }
.hero-overlay {
  background: linear-gradient(90deg, #121211 0%, #121211 51%, rgb(18 18 17 / .36) 61%, transparent 81%),
    linear-gradient(0deg, rgb(18 18 17 / .58), transparent 36%);
}
.hero-content { max-width: 57%; }
.hero .eyebrow { margin-bottom: 22px; }
h1 { font-size: clamp(4.9rem, 9vw, 8.75rem); letter-spacing: -.018em; }
.hero-accent { color: var(--cream); }
.hero-motto { margin-top: 24px; color: var(--accent); font-size: clamp(.82rem, 1.65vw, 1.06rem); font-weight: 700; letter-spacing: .26em; text-transform: uppercase; }
.hero-description { margin-top: 13px; color: #e5e0d6; max-width: 38ch; }
.hero-actions { margin-top: 26px; }
.hero-link { white-space: nowrap; }
.eyebrow, .price, .text-link { color: #72572a; }
.hero .eyebrow, .dark .eyebrow { color: var(--accent); }
.service-icon { color: #59441f; background: #efe6d0; }
.hero-photo-button {
  position: absolute; right: clamp(16px, 3vw, 40px); bottom: 24px;
  color: var(--cream); border-color: #998766; background: #171510e8;
}
.hero-photo-button:hover { color: var(--accent); }
.catalog-layout .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.service-card {
  min-height: 222px; padding: clamp(20px, 3vw, 32px); gap: 10px;
  border-top: 2px solid var(--accent);
}
.service-card h3 { font-size: 1.25rem; }
.service-price { width: 100%; min-height: 69px; padding-top: 13px; margin-top: 5px; border-top: 1px solid var(--line); }
.service-price .price { display: inline-flex; align-items: baseline; gap: 8px; margin: 0; font: 800 2.3rem/1 var(--heading); }
.service-price .currency { font: 700 .74rem/1 var(--body); letter-spacing: .08em; }
.price-note, .hours-note { display: block; margin-top: 5px; font-size: .8rem; line-height: 1.4; color: var(--muted); }
.about-text { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.about-copy > p:first-child { margin-top: 0; }
.contact { border-top: 1px solid var(--line); }
.directions-button { min-height: 44px; margin-top: 10px; padding: 8px 12px; color: #5d451e; border-color: #bfb091; }
.directions-button:hover { background: #efe6d0; }
.gallery { background: #171614; }
.gallery-layout:has(.photo:only-child) { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: clamp(20px, 5vw, 84px); align-items: center; }
.gallery-layout:has(.photo:only-child) .section-intro { margin: 0; }
.gallery .photo:only-child .photo-button img { aspect-ratio: 1.45; object-position: 50% 38%; }
.photo-button { border-color: #5c523e; background: #211e19; }
.photo-expand { border-color: #998766; background: #171510e8; }
.site-footer .brand-text strong { font-size: 1.26rem; }
.contact-copy .qr-trigger { display: flex; min-height: 44px; padding: 0; margin-top: 7px; background: transparent; border: 0; cursor: pointer; }
.whatsapp-qr { width: min(100%, 248px); margin-block: 16px; }
.whatsapp-qr svg { display: block; width: 100%; height: auto; background: white; }
.dialog-photo { border-color: #5c523e; }

@media (max-width: 820px) {
  .hero-inner { min-height: 510px; }
  .hero-picture { width: 54%; }
  .hero-content { max-width: 63%; }
  .hero-overlay { background: linear-gradient(90deg, #121211 0%, #121211 44%, rgb(18 18 17 / .55) 61%, transparent 100%); }
  .nav { background: #171614; border-color: #413824; }
}

@media (max-width: 600px) {
  .brand { gap: 9px; }
  .brand-icon { width: 39px; height: 39px; }
  .brand-text strong { font-size: 1.28rem; }
  .hero-inner { min-height: 625px; padding-block: 190px 35px; }
  .hero-content { max-width: min(100%, 410px); }
  .hero-picture { width: 100%; height: 86%; }
  .hero-image { object-position: 50% 40%; }
  .hero-overlay {
    background: linear-gradient(0deg, #121211 0%, #121211 19%, rgb(18 18 17 / .8) 45%, rgb(18 18 17 / .05) 90%),
      linear-gradient(90deg, rgb(18 18 17 / .34), transparent 94%);
  }
  .hero .eyebrow { margin-bottom: 13px; }
  h1 { font-size: clamp(3.75rem, 14vw, 6rem); }
  .hero-motto { margin-top: 16px; }
  .hero-description { margin-top: 10px; }
  .hero-actions { margin-top: 17px; }
  .hero-photo-button { bottom: 16px; }
  .about-text { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .catalog-layout .service-grid, .gallery-layout:has(.photo:only-child) { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .service-card { min-height: 0; }
  .service-price { min-height: 0; }
}
