*{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;
  overflow: hidden;
}
.pl-scene {
  position: relative; width: 300px; height: 180px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px;
}
.pl-road {
  position: absolute; left: -30%; right: -30%; top: 56%; height: 3px;
  background: repeating-linear-gradient(90deg, rgba(232,135,28,.5) 0 22px, transparent 22px 40px);
  opacity: 0;
  animation: pl-road-in .4s ease .7s forwards;
}
@keyframes pl-road-in { to { opacity: 1; } }

.pl-truck {
  position: relative; z-index: 2; width: 210px; height: auto;
  transform: translateX(-170%);
  animation:
    pl-drive-in 1.05s cubic-bezier(.2,.66,.3,1) .15s forwards,
    pl-motion-blur 1.05s linear .15s forwards;
}
@keyframes pl-drive-in {
  0%   { transform: translateX(-170%) translateY(0); }
  60%  { transform: translateX(-6%) translateY(-5px); }
  78%  { transform: translateX(3%) translateY(2px); }
  92%  { transform: translateX(-1%) translateY(-1px); }
  100% { transform: translateX(0) translateY(0); }
}
@keyframes pl-motion-blur {
  0%   { filter: blur(3px); }
  45%  { filter: blur(1.5px); }
  60%  { filter: blur(0); }
  100% { filter: blur(0); }
}

.pl-wheel { animation: pl-spin .4s linear infinite; }
@keyframes pl-spin { to { transform: rotate(360deg); } }

.pl-smoke {
  opacity: 0;
  transform-origin: center;
}
.pl-smoke-1 { animation: pl-smoke-rise 1.7s ease-out 1.3s infinite; }
.pl-smoke-2 { animation: pl-smoke-rise 1.7s ease-out 2.15s infinite; }
.pl-smoke-3 { animation: pl-smoke-rise 1.5s ease-out 1.75s infinite; }
@keyframes pl-smoke-rise {
  0%   { opacity: 0; transform: translate(0,0) scale(.5); }
  25%  { opacity: .5; }
  100% { opacity: 0; transform: translate(5px,-16px) scale(1.9); }
}

.pl-speed {
  position: absolute; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, transparent, rgba(232,135,28,.7));
  opacity: 0;
}
.pl-speed-1 { width: 36px; bottom: 62px; left: 6%; animation: pl-speed .5s ease .15s 3; }
.pl-speed-2 { width: 26px; bottom: 50px; left: 2%; animation: pl-speed .5s ease .32s 3; }
.pl-speed-3 { width: 20px; bottom: 74px; left: 10%; animation: pl-speed .45s ease .48s 3; }
@keyframes pl-speed {
  0%   { opacity: 0; transform: translateX(36px); }
  45%  { opacity: 1; }
  100% { opacity: 0; transform: translateX(-46px); }
}

.pl-logo {
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 9px;
  font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 21px; letter-spacing: .5px;
  color: #F7F5F2;
  opacity: 0; transform: translateY(14px);
  animation: pl-logo-in .5s ease 1.05s forwards;
}
.pl-logo-mark {
  width: 11px; height: 19px; background: #E8871C; display: inline-block;
  transform: skewX(-14deg);
}
.pl-logo-accent { color: #E8871C; }
@keyframes pl-logo-in { to { opacity: 1; transform: translateY(0); } }

#preloader.pl-exit .pl-truck {
  transition: transform .75s cubic-bezier(.55,0,.85,.35);
  transform: translateX(160%);
}
#preloader.pl-exit .pl-logo,
#preloader.pl-exit .pl-road {
  transition: opacity .3s ease;
  opacity: 0;
}
#preloader.pl-exit {
  transition: opacity .5s ease .35s;
  opacity: 0;
}

@media (max-width: 480px) {
  .pl-scene { width: 230px; height: 150px; gap: 20px; }
  .pl-truck { width: 160px; }
  .pl-logo { font-size: 17px; }
}

/* ── 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; }
}
