


.hero-video{ position:relative; overflow:hidden; background-image:none; }
.hero-video .video-layer{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-video .video-layer{ pointer-events:none; }
.hero-video .video-layer video{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:100%; height:100%; object-fit:cover; }
.hero-video .video-tint{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg, oklch(12% .025 230 / .78) 0 26%,
                                      oklch(12% .025 230 / .52) 58%,
                                      oklch(12% .025 230 / .28) 100%); }
.hero-video > .container{ position:relative; z-index:2; }

.hero-video h1{ text-shadow:0 2px 24px oklch(10% .02 230 / .75), 0 1px 4px oklch(10% .02 230 / .5); }
.hero-dark.hero-video h1{ text-transform:uppercase; letter-spacing:-.01em;
  text-shadow:0 2px 24px oklch(10% .02 230 / .75), 0 1px 4px oklch(10% .02 230 / .5); }
.hero-dark.hero-video h1 .mark{ background:var(--accent); color:var(--ink); padding:.02em .14em; box-shadow:none;
  text-shadow:none; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.hero-video .lede, .hero-video .hero-note{
  text-shadow:0 1px 12px oklch(10% .02 230 / .8); }

@media (min-width:961px){
  .hero-dark.hero-video{ min-height:95vh; display:grid; align-content:center; } }   

@media (max-width:760px){
  .hero-video .video-tint{ background:oklch(12% .025 230 / .72); } }


.hero-usluga{ padding-block:clamp(2.5rem,5vw,4.25rem) clamp(3rem,6vw,4.75rem); }
.hero-usluga .hero-grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.hero-usluga .hero-copy .lede{ margin-top:1.35rem; font-size:var(--fs-17); color:var(--on-dark); max-width:52ch; }
.hero-usluga .hero-copy .lede a{ color:var(--on-dark-strong); border-bottom:1px solid var(--dark-line); }

.hero-fakty{ list-style:none; margin:1.35rem 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem 1.25rem; max-width:52ch; }
.hero-fakty li{ display:grid; grid-template-columns:2.25rem minmax(0,1fr); column-gap:.7rem; align-content:start; }
.hero-fakty li:last-child:nth-child(odd){ grid-column:1 / -1; }
.hero-fakty svg{ grid-row:span 2; width:2.25rem; height:2.25rem; padding:.42rem; color:var(--accent); border:1px solid var(--dark-line); border-radius:50%; }
.hero-fakty b{ font-family:var(--ff-text); font-weight:700; font-size:var(--fs-16); color:var(--on-dark-strong); line-height:1.2; }
.hero-fakty span{ font-size:var(--fs-13); color:var(--on-dark-dim); line-height:1.3; }
@media (max-width:359px){ .hero-fakty{ grid-template-columns:minmax(0,1fr); } }
.hero-usluga .hero-actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2rem; }
.hero-usluga .hero-note{ margin-top:1.1rem; font-size:var(--fs-14); color:var(--on-dark-dim); }
.hero-usluga .hero-note a{ color:var(--on-dark-strong); border-bottom:1px solid var(--dark-line); padding-block:.35rem; }
.hero-usluga .hero-form{ position:relative; }
.hero-usluga.hero-solo .hero-grid{ grid-template-columns:1fr; }
.hero-usluga.hero-solo .hero-copy{ max-width:860px; }
.hero-usluga .article-meta{ margin-top:.9rem; }
.hero-usluga h1{ text-transform:uppercase; letter-spacing:-.01em; }
.hero-usluga h1 .mark{ background:var(--accent); color:var(--ink); padding:.02em .14em; box-shadow:none;
  text-shadow:none; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
@media (max-width:960px){ .hero-usluga .hero-grid{ grid-template-columns:1fr; } }

.equip-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.equip-card{ padding:1.8rem 1.6rem 1.7rem; display:flex; flex-direction:column; gap:.55rem; overflow:hidden; container-type:inline-size; }
.equip-photo{ margin:-1.8rem -1.6rem 1rem; aspect-ratio:16/10; overflow:hidden; background:var(--photo-well); }
.equip-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform var(--dur-3) var(--ease); }
.equip-card:hover .equip-photo img{ transform:scale(1.03); }
.equip-head{ display:flex; align-items:center; justify-content:space-between; gap:.6rem;
             font-size:.6875rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); }
.equip-num{ --equip-num-fs:clamp(1.5rem,1.3rem + 1vw,2.125rem); align-self:flex-start; font-family:var(--ff-display); font-weight:900; font-size:var(--equip-num-fs);
  color:var(--ink); line-height:1.1; box-shadow:inset 0 -5px 0 var(--accent); padding-bottom:3px; }
.equip-card h3{ font-size:1rem; line-height:1.35; }

.equip-num.equip-num--long{ font-size:min(var(--equip-num-fs), 9.5cqi); }
.equip-specs{ margin-top:.4rem; display:flex; flex-direction:column; gap:.5rem; list-style:none; padding:0; }
.equip-specs li{ display:flex; align-items:baseline; gap:.55rem; font-size:.8125rem; color:var(--muted); }
.equip-specs li i{ flex:1; border-bottom:1px dotted var(--line-strong); transform:translateY(-3px); }
.equip-specs li span:last-child{ color:var(--ink); font-weight:600; text-align:right; }
@media (max-width:960px){ .equip-grid{ grid-template-columns:repeat(2,1fr); } }

@media (max-width:600px){ .hero-usluga .hero-actions .btn{ width:100%; } .hero-usluga .hero-copy, .hero-usluga .hero-form{ min-width:0; } }
  
  .service-card h3, .hero-usluga h1{ overflow-wrap:anywhere; }


.header-row{ gap:1.25rem; }
nav.main-nav > ul{ gap:1.35rem; }
.header-actions{ gap:.75rem; }
.header-contact{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.25;
  font-size:var(--fs-12); color:var(--on-dark-dim); margin-right:.35rem; white-space:nowrap; }
.header-contact .tel-link{ padding:0; min-height:0; font-size:var(--fs-15); font-weight:700; color:var(--on-dark-strong); gap:0; }
.header-contact .header-mail{ color:var(--on-dark-dim); }
.header-contact .header-mail:hover{ color:var(--on-dark-strong); }
.icon-link{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50%; border:1px solid var(--dark-line); color:var(--on-dark-strong); transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease); }
.icon-link:hover{ border-color:var(--accent); background:oklch(100% 0 0 / .06); }
.header-cta{ white-space:nowrap; }
@media (max-width:1240px){ .header-contact .header-hours, .header-contact .header-mail{ display:none; } }
@media (max-width:1100px){ .header-contact{ display:none; } }
@media (max-width:600px){
  .header-cta{ display:none; }
  .icon-link{ width:44px; height:44px; }
  .icon-link--tel{ display:inline-flex; } }


.faq-panel{ box-shadow:var(--shadow-figure); }   



.blue-block, .perf-block{ position:relative;
  background-color:var(--dark);
  background-image:var(--perf-dots);
  background-size:var(--perf-dots-size); }
.blue-block::before, .perf-block::before{ content:''; position:absolute; inset:0;
  z-index:0; pointer-events:none;
  background:linear-gradient(180deg, transparent, rgb(var(--c-deep-rgb) / .92)); }
.blue-block > .container, .perf-block > .container{ position:relative; z-index:2; }

.has-photo-bg::before{ content:none; }


:root{ color-scheme:light; }


@media (max-width:700px){
  .factory-figure .frame-tag{ position:static; display:inline-flex; margin-top:.7rem; }
  .factory-figure .frame-caption{ margin-top:.5rem; }
}

@media (max-width:600px){
  .equip-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  
  .service-card .idx{ display:none; }
  .service-card h3, .service-card p, .service-card .more{ padding-inline:.65rem; }
  .service-card p{ line-height:1.4; }
  
  .service-card .svc-facts{ padding-inline:.65rem; gap:.3rem; }
  .service-card .svc-facts li{ flex-wrap:wrap; gap:.1rem .4rem; font-size:var(--fs-12); }
  .service-card .svc-facts li i{ display:none; }
  .service-card .svc-facts li b{ flex-basis:100%; text-align:left; overflow-wrap:anywhere; }
  .equip-card{ padding:.75rem .7rem .8rem; gap:.3rem; }
  .equip-photo{ margin:-.75rem -.7rem .5rem; aspect-ratio:4/3; }
  .equip-head{ flex-wrap:wrap; gap:.1rem .4rem; }
  .equip-num{ --equip-num-fs:1.25rem; }
  .equip-card h3{ font-size:var(--fs-14); line-height:1.3; }
  .equip-specs{ gap:.3rem; margin-top:.2rem; }
  .equip-specs li{ flex-direction:column; align-items:flex-start; gap:0; font-size:var(--fs-12); }
  .equip-specs li i{ display:none; }
  .equip-specs li span:last-child{ text-align:left; }
}


.footer-logo img{ height:var(--logo-h-footer); width:auto; }
.footer-brand{ gap:0; }
.footer-brand > p{ margin:1.1rem 0 .7rem; }
.footer-meta{ min-height:2.5rem; }                      
.footer-meta svg{ width:20px; height:20px; flex-shrink:0; }
.footer-meta a{ padding-block:0; display:inline-flex; align-items:center; min-height:2.5rem; }
.footer-col ul{ gap:0; }
.footer-col a{ padding-block:.3rem; }                   
@media (max-width:960px){ .footer-col a{ padding-block:.55rem; } }   

footer.site{ position:relative;
  background-image:var(--perf-dots); background-size:var(--perf-dots-size); }
footer.site::before{ content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(0deg, transparent, rgb(var(--c-deep-rgb) / .92)); }
footer.site > .container, footer.site > *{ position:relative; z-index:2; }


.price-strip{ margin-top:1.6rem; display:flex; align-items:center; flex-wrap:wrap;
  gap:1.1rem 2.2rem; padding:1.15rem 1.5rem;
  background:var(--plate-grad); border:1px solid var(--line-strong);
  border-left:3px solid var(--accent); box-shadow:var(--shadow-card); }
.price-title{ flex:1 1 100%; margin:0; font-family:var(--ff-text); font-weight:700;
  font-size:var(--fs-18); color:var(--ink); line-height:1.2; }
.price-item b{ display:block; font-family:var(--ff-display); font-weight:800;
  font-size:var(--fs-num); color:var(--ink); line-height:1.05; white-space:nowrap; }
.price-item span{ font-size:var(--fs-12); font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; color:var(--faint); }
.price-hint{ flex:1 1 16rem; margin:0; font-size:var(--fs-14); color:var(--muted);
  border-left:1px solid var(--line); padding-left:1.5rem; }
@media (max-width:700px){
  .price-strip{ gap:.9rem 1.6rem; padding:1rem 1.15rem; }
  .price-hint{ border-left:0; padding-left:0; flex-basis:100%; } }


.has-photo-bg{ position:relative; overflow:hidden; background-image:none; }
.has-photo-bg > .bg-photo{ position:absolute; inset:0; z-index:0; }
.has-photo-bg > .bg-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.has-photo-bg > .bg-photo .bg-tint{ position:absolute; inset:0;
  background:linear-gradient(180deg, oklch(11% .022 230 / .90) 0%,
                                      oklch(11% .022 230 / .78) 45%,
                                      oklch(11% .022 230 / .92) 100%); }
.has-photo-bg > .container{ position:relative; z-index:2; }


.service-card .svc-photo{ position:relative; }
.service-card .svc-photo::after{ content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 42%, oklch(12% .02 230 / .86) 100%); }
.service-card .svc-photo h3{ position:absolute; left:1.2rem; right:1.2rem; bottom:.85rem;
  z-index:2; color:var(--on-dark-strong); font-size:1.0625rem; line-height:1.25; margin:0; }
.service-card .idx{ padding-top:.9rem; }





h1, h2, h3, .lead-card h3{ text-transform:none; letter-spacing:-.005em; }


.mark{ background:none; color:inherit; padding:0;
  box-shadow:inset 0 -.16em 0 var(--accent); }


.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; position:relative; z-index:1; }
.service-card{ display:flex; flex-direction:column; }
.service-card .idx{ font-size:var(--fs-11); font-weight:700; letter-spacing:.1em; color:var(--faint); }
.service-card h3{ font-size:var(--fs-16); }
.service-card p{ font-size:var(--fs-15); color:var(--muted); }
.service-card .more{ margin-top:auto; padding-top:.4rem; font-size:var(--fs-14); font-weight:600; color:var(--ink); display:inline-flex; align-items:center; gap:.4rem; }
.service-card .more::after{ content:"→"; transition:transform var(--dur-1) var(--ease); }
.service-card:hover .more::after{ transform:translateX(4px); }
.svc-facts{ list-style:none; margin:0; padding:0 1.5rem; display:flex; flex-direction:column; gap:.45rem; }
.svc-facts li{ display:flex; align-items:baseline; gap:.55rem; font-size:var(--fs-13); color:var(--muted); }
.svc-facts li i{ flex:1; border-bottom:1px dotted var(--line-strong); transform:translateY(-3px); }
.svc-facts li b{ color:var(--ink); font-weight:600; text-align:right; }
@media (max-width:960px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }


.service-card{ padding:0 0 1.5rem; gap:.55rem; }
.service-card .svc-photo{ aspect-ratio:16/10; overflow:hidden; margin-bottom:.75rem;
  background:var(--photo-well); border-bottom:1px solid var(--line); }
.service-card .svc-photo img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform var(--dur-3) var(--ease); }
.service-card:hover .svc-photo img{ transform:scale(1.03); }
.service-card .idx, .service-card h3, .service-card p, .service-card .more{
  padding-inline:1.5rem; }

@media (max-width:600px){ .service-card .idx, .service-card h3, .service-card p, .service-card .more{ padding-inline:.65rem; } }

@media (max-width:600px){ .service-card .svc-photo h3{ left:.65rem; right:.65rem; bottom:.5rem; padding-inline:0; font-size:.875rem; line-height:1.2; } }


.contact-fab{ position:fixed; right:32px; bottom:calc(32px + env(safe-area-inset-bottom, 0px)); z-index:60;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
  pointer-events:none; }      
.cf-main{ pointer-events:auto; position:relative; width:60px; height:60px; border-radius:50%; border:0; cursor:pointer; padding:0;
  display:grid; place-items:center; color:var(--ink);
  background:linear-gradient(145deg, oklch(93% 0.19 96), var(--accent) 55%, oklch(80% 0.17 92));
  box-shadow:0 10px 26px -8px oklch(80% 0.17 92 / .75), 0 2px 6px oklch(0% 0 0 / .25), inset 0 1px 0 oklch(100% 0 0 / .55);
  transition:transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease); }
.cf-main:hover{ transform:translateY(-2px); box-shadow:0 16px 32px -10px oklch(80% 0.17 92 / .85), 0 3px 8px oklch(0% 0 0 / .28), inset 0 1px 0 oklch(100% 0 0 / .55); }
.cf-main:focus-visible{ outline:2px solid var(--paper); outline-offset:3px; }
.cf-ring{ position:absolute; inset:-3px; border-radius:50%; border:2px solid var(--accent); opacity:0; pointer-events:none;
  animation:cf-breathe 6s ease-out infinite 2s; }
@keyframes cf-breathe{ 0%{ transform:scale(.9); opacity:.8; } 30%{ transform:scale(1.35); opacity:0; } 100%{ transform:scale(1.35); opacity:0; } }
.cf-ico{ grid-area:1/1; display:grid; place-items:center; transition:transform var(--dur-2) var(--ease), opacity var(--dur-1) var(--ease); }
.cf-ico--close{ opacity:0; transform:rotate(-90deg) scale(.6); }
.contact-fab.is-open .cf-ico--chat{ opacity:0; transform:rotate(90deg) scale(.6); }
.contact-fab.is-open .cf-ico--close{ opacity:1; transform:none; }
.contact-fab.is-open .cf-ring{ animation:none; }
.cf-item{ display:flex; flex-direction:row-reverse; align-items:center; gap:10px; opacity:0; pointer-events:none;
  transform:translateY(14px) scale(.7); transform-origin:right center;
  transition:transform var(--dur-2) cubic-bezier(.34,1.56,.64,1), opacity var(--dur-1) var(--ease); }
.contact-fab.is-open .cf-item{ opacity:1; pointer-events:auto; transform:none; }
.contact-fab.is-open .cf-tel{ transition-delay:.04s; }
.contact-fab.is-open .cf-wa{ transition-delay:.1s; }
.cf-btn{ width:52px; height:52px; border-radius:50%; display:grid; place-items:center; color:var(--on-dark-strong);
  box-shadow:0 8px 20px -8px oklch(0% 0 0 / .55), 0 2px 5px oklch(0% 0 0 / .2), inset 0 1px 0 oklch(100% 0 0 / .25);
  transition:transform var(--dur-1) var(--ease); }
.cf-item:hover .cf-btn{ transform:scale(1.06); }
.cf-wa .cf-btn{ background:linear-gradient(145deg, #4ee07f, #25d366 55%, #1aa653); }
.cf-tel .cf-btn{ background:linear-gradient(145deg, oklch(32% 0.03 230), oklch(21% 0.028 230) 60%, oklch(16% 0.025 230)); color:var(--accent); }
.cf-label{ font-size:var(--fs-14); font-weight:600; color:var(--on-dark-strong); background:rgb(var(--c-deep-rgb) / .96);
  padding:.45rem .8rem; border-radius:8px; box-shadow:0 6px 16px -8px oklch(0% 0 0 / .6); white-space:nowrap; position:relative; }
.cf-label::before{ content:''; position:absolute; right:-5px; top:50%; width:10px; height:10px; transform:translateY(-50%) rotate(45deg);
  background:rgb(var(--c-deep-rgb) / .96); border-radius:2px; }
@media (max-width:600px){
  .contact-fab{ right:18px; bottom:calc(18px + env(safe-area-inset-bottom, 0px)); gap:10px; }
  .cf-main{ width:56px; height:56px; } .cf-btn{ width:48px; height:48px; } }
@media (prefers-reduced-motion: reduce){ .cf-ring{ animation:none; } .cf-item, .cf-ico, .cf-main{ transition:none; } }


section.obeshchaniya{ padding-block:0; background:var(--accent); color:var(--ink); }
.obeshchaniya .container{ display:grid; grid-template-columns:repeat(4,1fr); }
.obeshchaniya .it{ display:flex; align-items:center; gap:.8rem; padding:1.2rem 1.25rem; font-size:var(--fs-15); font-weight:600; line-height:1.35; }
.obeshchaniya .it:first-child{ padding-left:0; }
.obeshchaniya .it + .it{ border-left:1px solid rgb(var(--c-deep-rgb) / .2); }
.obeshchaniya .ic{ width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
@media (max-width:960px){
  .obeshchaniya .container{ grid-template-columns:1fr 1fr; }
  .obeshchaniya .it:nth-child(3){ border-left:0; padding-left:0; }
  .obeshchaniya .it:nth-child(n+3){ border-top:1px solid rgb(var(--c-deep-rgb) / .2); } }
@media (max-width:600px){
  .obeshchaniya .container{ grid-template-columns:1fr; }
  .obeshchaniya .it{ padding:.8rem 0; font-size:var(--fs-14); }
  .obeshchaniya .it + .it{ border-left:0; border-top:1px solid rgb(var(--c-deep-rgb) / .2); }
  .obeshchaniya .ic{ width:22px; height:22px; } }
