html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: #374151; background: #ffffff; font-size: 16px; line-height: 1.7; }
h1, h2, h3, h4, .brand-name { font-family: var(--font-heading); color: #111827; line-height: 1.12; }
h1 { font-size: 35px; }
h2 { font-size: 28px; }
h3, h4 { font-size: 20px; }
p, li, td, th, a, button { font-size: 16px; }
.desktop-nav a { font-size: 18px; color: #211515; }
.brand-name { font-size: 24px; font-weight: 800; letter-spacing: -.02em; color: #111827; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(138,40,40,.14); }
.container-lux { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border-radius: 999px; background: #8A2828; color: #fff !important; font-weight: 800; min-height: 48px; padding: 12px 22px; box-shadow: 0 14px 28px rgba(138,40,40,.24); transition: transform .22s ease, box-shadow .22s ease, background .22s ease; white-space: nowrap; }
.btn-primary:hover { background: #5F1717; transform: translateY(-2px); box-shadow: 0 18px 34px rgba(138,40,40,.34); color: #fff !important; }
.btn-light { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border-radius: 999px; background: #fff; color: #111827 !important; font-weight: 800; min-height: 48px; padding: 12px 22px; border: 1px solid rgba(138,40,40,.18); transition: transform .22s ease, box-shadow .22s ease; white-space: nowrap; }
.btn-light:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(17,24,39,.12); color: #111827 !important; }
.desktop-only { display: none !important; }
.mobile-only { display: flex !important; }
.mobile-menu { display: none; border-top: 1px solid rgba(138,40,40,.16); background: #fff; }
.mobile-menu.is-open { display: block; }
.mobile-menu a { display: block; color: #111827; font-size: 18px; padding: 14px 0; border-bottom: 1px solid rgba(138,40,40,.1); }
.hero-section { background: radial-gradient(circle at 18% 12%, rgba(220,105,105,.28), transparent 30%), linear-gradient(135deg, #fff 0%, #fbf6f1 48%, #f1e5dc 100%); }
.hero-grid { min-height: 680px; }
.hero-panel { border: 1px solid rgba(138,40,40,.18); box-shadow: inset 0 0 0 8px rgba(255,255,255,.64), 0 28px 80px rgba(75,31,31,.15); }
.hero-image-frame { position: relative; aspect-ratio: 1 / 1; background: #1d1111; border-radius: 32px; padding: 14px; box-shadow: 0 32px 80px rgba(29,17,17,.26); }
.hero-image-frame::before { content: ''; position: absolute; inset: 28px; border: 2px solid rgba(214,168,95,.72); border-radius: 22px; pointer-events: none; z-index: 2; }
.hero-image-frame img.hero-photo { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; display: block; }
.stars { color: #D6A85F; letter-spacing: .16em; font-size: 21px; font-weight: 900; }
.trust-icon-row img { width: auto; height: 48px; max-width: 92px; object-fit: contain; border-radius: 12px; border: 1px solid rgba(138,40,40,.18); background: #fff; padding: 6px; }
.marble-card { background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(250,247,244,.95)); border: 1px solid rgba(138,40,40,.14); box-shadow: 0 18px 48px rgba(82,49,49,.09); border-radius: 28px; }
.double-frame { border: 1px solid rgba(138,40,40,.2); box-shadow: inset 0 0 0 7px #fff, 0 20px 48px rgba(17,24,39,.08); }
.section-dark { background: linear-gradient(135deg, #1d1111, #3a1717); color: #F9FAFB; }
.section-dark h2, .section-dark h3, .section-dark h4 { color: #fff !important; }
.section-dark p, .section-dark li { color: #F7EDED; }
.section-dark .marble-card { background: #fff; color: #374151; }
.section-dark .marble-card h3, .section-dark .marble-card h4 { color: #111827 !important; }
.section-dark .marble-card p, .section-dark .marble-card li { color: #374151; }
.eyebrow { color: #8A2828; text-transform: uppercase; letter-spacing: .16em; font-weight: 900; font-size: 12px; }
.section-dark .eyebrow { color: #F5C978; }
.service-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(138,40,40,.14); border-color: rgba(138,40,40,.32); }
.icon-badge { width: 52px; height: 52px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: #fff4f2; color: #8A2828; border: 1px solid rgba(138,40,40,.16); flex: 0 0 auto; }
.icon-badge svg { width: 30px; height: 30px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.split-row { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }
.split-row .split-text { order: 2; }
.split-row .split-media { order: 1; }
.split-media img { width: 100%; border-radius: 28px; object-fit: cover; box-shadow: 0 24px 56px rgba(17,24,39,.16); }
.model-table { overflow-x: auto; border-radius: 24px; border: 1px solid rgba(138,40,40,.14); background: #fff; }
.model-table table { min-width: 920px; width: 100%; border-collapse: collapse; }
.model-table th { background: #8A2828; color: #fff; text-align: left; padding: 16px; }
.model-table td { color: #374151; padding: 16px; border-top: 1px solid rgba(138,40,40,.12); vertical-align: top; }
.number-list li { background: #fff; border: 1px solid rgba(138,40,40,.13); border-radius: 20px; padding: 18px; box-shadow: 0 12px 30px rgba(17,24,39,.06); }
.reviews-shell { overflow: hidden; }
.reviews-track { display: flex; transition: transform .45s ease; }
.review-card { flex: 0 0 100%; padding: 10px; }
.review-card article { height: 100%; }
.review-controls button { width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(138,40,40,.22); background: #fff; color: #8A2828; font-size: 24px; line-height: 1; transition: transform .2s ease; }
.review-controls button:hover { transform: translateY(-2px); }
.faq-item { border-bottom: 1px solid rgba(138,40,40,.14); padding: 22px 0; }
.footer { background: #130c0c; color: #F9FAFB; }
.footer h3, .footer h4, .footer .brand-name { color: #fff; }
.footer a, .footer p, .footer li { color: #F2E7E7; }
.sticky-call { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: none !important; align-items: center; justify-content: center; width: 100%; min-height: 62px; padding: 14px 12px calc(14px + env(safe-area-inset-bottom)); background: #8A2828; color: #fff !important; font-weight: 900; box-shadow: 0 -12px 28px rgba(29,17,17,.2); transform: translateY(105%); opacity: 0; transition: transform .28s ease, opacity .28s ease; white-space: nowrap; }
.sticky-call.is-visible { display: flex !important; transform: translateY(0); opacity: 1; }
.fade-up { opacity: 0; transform: translateY(22px); animation: fadeUp .7s ease forwards; }
.delay-1 { animation-delay: .12s; }
.delay-2 { animation-delay: .24s; }
.delay-3 { animation-delay: .36s; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }
@media (min-width: 768px) {
  h1 { font-size: clamp(52px, 6vw, 76px); }
  h2 { font-size: clamp(34px, 3.4vw, 48px); }
  .desktop-only { display: flex !important; }
  .mobile-only { display: none !important; }
  .mobile-menu { display: none !important; }
  .split-row { grid-template-columns: minmax(0, 65%) minmax(280px, 35%); }
  .split-row.media-left { grid-template-columns: minmax(280px, 35%) minmax(0, 65%); }
  .split-row.media-left .split-text { order: 2; }
  .split-row.media-left .split-media { order: 1; }
  .split-row:not(.media-left) .split-text { order: 1; }
  .split-row:not(.media-left) .split-media { order: 2; }
  .review-card { flex-basis: 33.3333%; }
  .sticky-call { display: none !important; visibility: hidden !important; }
}
@media (max-width: 767px) {
  h1 { font-size: 35px; }
  h2 { font-size: 28px; }
  .hero-grid { min-height: auto; padding-top: 28px; padding-bottom: 34px; }
  .hero-image-frame { border-radius: 24px; }
  .container-lux { width: min(100% - 24px, 1180px); }
  body { padding-bottom: 70px; }
}
