*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Golos Text',sans-serif;color:#17140F;background:#F7F5F2;-webkit-font-smoothing:antialiased;}
a{color:#E8871C;text-decoration:none;}
a:hover{color:#C9720F;}
h1,h2,h3{margin:0;}
::selection{background:#E8871C;color:#fff;}
@keyframes sp-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes sp-pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.55);opacity:0.35;}}
@keyframes sp-rise{from{transform:translateY(8px);}to{transform:translateY(-8px);}}

/* ── Preloader ── */
#preloader {
  position: fixed; inset: 0; z-index: 99999;
  background: #17140F;
  display: flex; align-items: center; justify-content: center;
  transition: opacity .4s ease;
}
.pl-logo {
  display: flex; align-items: center; gap: 10px;
  font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 24px; letter-spacing: .5px;
  color: #F7F5F2;
  animation: pl-logo-in .4s ease both, pl-pulse 1.4s ease-in-out .4s infinite;
}
.pl-logo-mark {
  width: 12px; height: 21px; background: #E8871C; display: inline-block;
  transform: skewX(-14deg);
}
.pl-logo-accent { color: #E8871C; }
@keyframes pl-logo-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pl-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
#preloader.pl-exit { opacity: 0; }

@media (max-width: 480px) {
  .pl-logo { font-size: 19px; }
}

/* ── Responsive ── */
@media (max-width: 860px) {
  h1 { font-size: 38px !important; line-height: 1.08 !important; }
  h2 { font-size: 30px !important; }
  .sp-header-inner { padding: 0 20px !important; }
  .sp-nav { display: none !important; }
  .sp-header-phone { font-size: 13px !important; padding: 10px 14px !important; }
  .sp-ghost { font-size: 90px !important; }
  .sp-hero1-grid, .sp-hero2-grid {
    grid-template-columns: 1fr !important;
    padding: 48px 20px 56px !important;
    gap: 36px !important;
  }
  .sp-hero3-grid { grid-template-columns: 1fr !important; min-height: 0 !important; }
  .sp-hero3-grid > div { padding: 48px 20px !important; margin-left: 0 !important; max-width: none !important; }
  .sp-reviews-section { padding: 48px 20px 56px !important; }
  .sp-reviews-grid { column-count: 2 !important; }
  .sp-services-section, .sp-advantages-section { padding: 56px 20px 32px !important; }
  .sp-services-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .sp-advantages-box { padding: 36px 24px !important; }
  .sp-advantages-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .sp-gallery-section { padding: 0 20px 56px !important; }
  .sp-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .sp-prices-grid, .sp-about-grid, .sp-contacts-grid {
    grid-template-columns: 1fr !important;
    padding: 48px 20px !important;
    gap: 32px !important;
  }
  .sp-footer-inner { padding: 32px 20px !important; text-align: center; justify-content: center !important; }
}

@media (max-width: 600px) {
  h1 { font-size: 30px !important; }
  h2 { font-size: 25px !important; }
  .sp-ghost { display: none !important; }
  .sp-services-grid, .sp-advantages-grid, .sp-gallery-grid { grid-template-columns: 1fr !important; }
  .sp-reviews-grid { column-count: 1 !important; }
  .sp-header-phone-text { display: none !important; }
  .sp-header-phone-icon { display: inline-block !important; }
  .sp-header-phone { padding: 12px !important; }
}
