/* Более светлая и объёмная версия исходной тёмной темы */
body::before{background:rgba(40,40,40,.32)}
.hero{background:linear-gradient(180deg,rgba(30,30,30,.28),rgba(24,24,24,.42)),url('../images/svarka60-fone_big.webp') center/cover}
.section:nth-child(even){background:linear-gradient(180deg,rgba(45,45,45,.12),rgba(20,20,20,.22))}
.section-heading h2{border:1px solid rgba(255,104,104,.24);background:linear-gradient(145deg,rgba(36,36,36,.88),rgba(7,7,7,.82));box-shadow:0 18px 55px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.05)}
.section-heading h2::after{content:"";display:block;width:72px;height:2px;margin:10px auto -5px;background:linear-gradient(90deg,transparent,var(--red),transparent);box-shadow:0 0 16px var(--red)}
.button{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(255,94,94,.5);box-shadow:0 9px 25px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.09);transition:transform .25s ease,box-shadow .25s ease,color .25s ease}
.button::before{content:"";position:absolute;z-index:-1;inset:0;translate:-105% 0;background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transition:translate .55s ease}
.button:hover::before,.button:focus-visible::before{translate:105% 0}
.button:hover,.button:focus-visible{transform:translateY(-3px) scale(1.015);box-shadow:0 14px 32px rgba(255,75,75,.18),0 9px 25px rgba(0,0,0,.3)}
.button--phone{border-color:#ff7777;background:linear-gradient(135deg,#ff6565,#f14a4a);box-shadow:0 12px 32px rgba(255,75,75,.25),inset 0 1px rgba(255,255,255,.36)}
.button svg{width:24px;height:24px;fill:currentColor}
.hero__logo{filter:drop-shadow(0 18px 32px rgba(0,0,0,.4)) drop-shadow(0 0 22px rgba(255,75,75,.15))}
.hero__promise,.callout{border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(28,28,28,.84),rgba(5,5,5,.78));box-shadow:0 22px 60px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.05)}
.service-card{position:relative;overflow:hidden;border-color:rgba(255,92,92,.3);background:linear-gradient(145deg,rgba(38,38,38,.84),rgba(6,6,6,.78));box-shadow:0 24px 65px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.06);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.service-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.7}.service-card:hover{transform:translateY(-7px);border-color:rgba(255,100,100,.58);box-shadow:0 32px 75px rgba(0,0,0,.36),0 0 35px rgba(255,75,75,.07)}
.service-card img{padding:5px;border:1px solid rgba(255,95,95,.32);background:rgba(255,255,255,.03);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.gallery__item{border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 45px rgba(0,0,0,.3)}
.process__list li{border:1px solid rgba(255,91,91,.2);background:linear-gradient(155deg,rgba(38,38,38,.88),rgba(5,5,5,.8));box-shadow:0 18px 50px rgba(0,0,0,.25);transition:transform .25s ease,border-color .25s ease}.process__list li:hover{transform:translateY(-5px);border-color:rgba(255,91,91,.5)}
.faq details{background:linear-gradient(145deg,rgba(38,38,38,.86),rgba(5,5,5,.8));box-shadow:0 10px 28px rgba(0,0,0,.18)}
.contacts a{border:1px solid rgba(255,92,92,.18);background:linear-gradient(145deg,rgba(35,35,35,.82),rgba(4,4,4,.75));transition:transform .2s,border-color .2s}.contacts a:hover{transform:translateX(4px);border-color:rgba(255,92,92,.55)}
.modal{animation:modalFade .18s ease both}.modal__panel{border-color:rgba(255,99,99,.65);background:#171717 url('../images/svarka60-fone_big.webp') center/cover;box-shadow:0 35px 110px rgba(0,0,0,.72),0 0 50px rgba(255,75,75,.1);animation:modalRise .28s cubic-bezier(.2,.8,.2,1) both}.modal__panel::before{background:linear-gradient(155deg,rgba(41,41,41,.87),rgba(5,5,5,.9))}.modal__panel>img{filter:drop-shadow(0 8px 18px #000)}
.modal__close{display:grid;place-items:center;width:40px;height:40px;top:12px;right:12px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(0,0,0,.38);transition:rotate .25s,background .25s}.modal__close:hover{rotate:90deg;background:var(--red)}.modal__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.modal__arrow{display:inline-grid;place-items:center;width:34px;height:34px;margin:4px auto;color:var(--red);animation:arrowFloat 1.6s ease-in-out infinite}.modal__arrow svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.button--contact{display:grid;grid-template-columns:42px 1fr auto;gap:10px;min-height:58px;padding:8px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(25,25,25,.95),rgba(5,5,5,.92));text-align:left}.button--contact .contact-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,75,75,.12);color:var(--red)}.button--contact .contact-icon svg{width:23px;height:23px;fill:currentColor}.button--contact i{color:#969696;font-size:12px;font-style:normal}.button--contact:hover i{color:inherit}.button--contact:hover .contact-icon{background:rgba(255,255,255,.2);color:inherit}
@keyframes modalFade{from{opacity:0}to{opacity:1}}@keyframes modalRise{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes arrowFloat{50%{transform:translateY(5px)}}
@media(max-width:700px){body::before{background:rgba(40,40,40,.28)}.hero{background:linear-gradient(180deg,rgba(30,30,30,.24),rgba(24,24,24,.38)),url('../images/svarka60-fone_big.webp') center/cover}.service-card:hover,.process__list li:hover{transform:none}.button--contact{grid-template-columns:38px 1fr auto}.button--contact i{font-size:11px}}
@media(prefers-reduced-motion:reduce){.modal,.modal__panel,.modal__arrow{animation:none}.service-card,.process__list li,.contacts a{transition:none}}

/* Unified red / graphite interaction palette. */
:root{color-scheme:dark;--accent-light:#ff9292;--accent-wash:rgba(255,75,75,.13)}
::selection{background:#ff9292;color:#171717}
a,button,summary{-webkit-tap-highlight-color:rgba(255,75,75,.2)}
:where(a,button,summary):focus-visible{outline:2px solid var(--accent-light);outline-offset:4px}
.button{transition:transform .25s ease,box-shadow .25s ease,color .25s ease,background .25s ease,border-color .25s ease}
.button:hover,.button:focus-visible{background:linear-gradient(135deg,#ff7979,#ff4b4b);border-color:#ff9292;color:#171717}
.button:active{transform:translateY(0);background:#e94545;color:#111;box-shadow:inset 0 2px 8px rgba(0,0,0,.18)}
.button--contact:hover .contact-icon,.button--contact:focus-visible .contact-icon{background:rgba(0,0,0,.08);color:inherit}
.button--contact:focus-visible i{color:inherit}
.gallery__arrow,.gallery__pause,.lightbox button{border:1px solid rgba(255,100,100,.35);transition:background .2s,color .2s,border-color .2s}
.gallery__arrow:hover,.gallery__arrow:focus-visible,.gallery__pause:hover,.gallery__pause:focus-visible,.lightbox button:hover,.lightbox button:focus-visible{background:#ff7979;color:#171717;border-color:#ff9292}
.gallery__arrow:active,.gallery__pause:active,.lightbox button:active,.modal__close:active{background:#df4141;color:#111}
.modal__close:focus-visible{background:var(--red);color:#111}
.gallery__track.is-looping{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none}
.gallery__item:focus-visible{outline-offset:-4px;outline-width:3px}
.gallery__controls{display:flex;justify-content:center;margin-top:8px}
.gallery__pause{border-radius:30px;padding:9px 18px;background:rgba(25,25,25,.88);color:var(--muted);font:inherit;font-size:14px;cursor:pointer}
.gallery__pause[hidden]{display:none}
.faq details{overflow-anchor:none}
.faq summary{border-bottom:1px solid transparent;transition:color .25s,background .25s,border-color .25s}
.faq summary:hover,.faq summary:focus-visible{color:var(--accent-light);background:rgba(255,75,75,.06)}
.faq summary:active{background:var(--accent-wash)}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:21px;top:50%;width:16px;height:2px;border-radius:2px;background:var(--red);transition:transform .32s ease,opacity .25s}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{content:"";transform:rotate(0deg);opacity:0}
.faq details.is-closing summary::after{transform:rotate(90deg);opacity:1}
.faq details.is-closing summary{color:var(--text);border-bottom-color:transparent}
.faq__content{padding:0 24px 22px;display:flow-root;color:#ddd}
.faq__content>p,.faq__content>ul{margin:18px 0 0}
.faq__content>ul{padding-left:22px}
.contacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.contacts .contact-card{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;align-items:center;gap:12px;padding:18px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(53,46,46,.94),rgba(27,27,27,.94));box-shadow:0 8px 22px rgba(0,0,0,.14);transition:background .25s,transform .25s,border-color .25s,box-shadow .25s}
.contacts .contact-card--phone{grid-column:1/-1;border-color:rgba(255,100,100,.4)}
.contacts .contact-card__icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,100,100,.2);border-radius:14px;background:var(--accent-wash);color:var(--accent-light)}
.contact-card__icon svg{width:24px;height:24px;fill:currentColor}
.contact-card--instagram .contact-card__icon svg{fill:none}
.contacts .contact-card__copy{display:grid;gap:3px;min-width:0}
.contacts b{font-size:17px;color:var(--accent-light);font-weight:500}
.contacts .contact-card__copy>span{font-size:14px;overflow-wrap:anywhere;color:#ddd}
.contacts .contact-card--phone .contact-card__copy>span{font-size:21px;color:#f5f5f5}
.contacts .contact-card__arrow{color:var(--accent-light);font-size:19px}
.contacts .contact-card:hover,.contacts .contact-card:focus-visible{transform:translateY(-3px);border-color:rgba(255,146,146,.7);background:linear-gradient(135deg,#553333,#302525);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.contacts .contact-card:active{transform:translateY(0);background:#462929}
.footer{position:relative;padding:0;background:radial-gradient(ellipse at 10% 0,rgba(255,75,75,.1),transparent 60%),linear-gradient(145deg,#292727,#171717 70%);border-top:1px solid rgba(255,100,100,.32)}
.footer::before{content:"";position:absolute;top:-1px;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#ff9292,transparent)}
.footer__top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.footer a{color:#ddd;text-decoration:none;transition:color .2s,background .2s,border-color .2s}
.footer a:hover,.footer a:focus-visible{color:var(--accent-light)}
.footer a:active{color:var(--red)}
.footer__brand{display:flex;align-items:center;gap:18px}
.footer__brand img{object-fit:contain;filter:drop-shadow(0 5px 14px rgba(0,0,0,.3))}
.footer__brand strong{display:block;font-size:30px;line-height:1.2;font-weight:600;color:#eee}
.footer__brand strong span{color:var(--red)}
.footer__brand small{display:block;margin-top:8px;font-size:14px}
.footer__invitation{text-align:right}
.footer__invitation p{font-size:16px;color:#bbb;margin-bottom:6px}
.footer a.footer__phone{color:var(--accent-light);font-size:26px;white-space:nowrap}
.footer a.footer__phone:hover{color:#fff}
.footer__grid{grid-template-columns:.85fr 1.1fr 1.1fr;gap:40px;padding:36px 0 40px;text-align:left}
.footer h3{font-size:17px;color:#f0e7e7;margin-bottom:18px}
.footer__navigation{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer__navigation h3{margin-bottom:8px}
.footer__navigation>a{font-size:15px}
.footer__links{justify-content:flex-start;gap:8px;margin:0}
.footer .button{padding:10px 16px;font-size:14px;color:var(--accent-light)}
.footer .button:hover,.footer .button:focus-visible,.footer .button:active{color:#171717}
.footer__recommend{display:grid;gap:10px}
.footer__recommend>a{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;font-size:14px;background:rgba(255,255,255,.025)}
.footer__recommend>a:hover,.footer__recommend>a:focus-visible{background:var(--accent-wash);border-color:rgba(255,100,100,.4)}
.footer__recommend span{color:var(--red)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.09);font-size:13px;color:#aaa}
.footer small{color:#aaa}.footer__bottom small{font-size:13px}
@media(max-width:1100px) and (min-width:701px){.contacts{grid-template-columns:1fr}}
@media(max-width:850px){.footer__grid{grid-template-columns:1fr 1fr;gap:30px}.footer__navigation{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:14px 24px}.footer__navigation h3{width:100%;margin-bottom:0}}
@media(max-width:700px){.contacts{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{padding-bottom:54px}.gallery__arrow{display:grid;place-items:center;top:auto;bottom:0;translate:none;font-size:32px;width:44px;height:44px}.gallery__arrow--prev{left:calc(50% - 52px)}.gallery__arrow--next{right:calc(50% - 52px)}.gallery__item img{height:390px}.footer__top{align-items:flex-start;flex-direction:column;padding:30px 0;gap:22px}.footer__invitation{text-align:left}.footer__grid{grid-template-columns:1fr;padding:28px 0;gap:28px}.footer__navigation{grid-column:auto}.footer__bottom{flex-wrap:wrap;gap:12px}.footer__bottom>span{order:3;width:100%;font-size:12px}.footer__brand img{width:64px;height:64px}.footer__brand strong{font-size:28px}.button--contact{grid-template-columns:34px minmax(0,1fr) auto;gap:7px;padding:9px 10px;font-size:15px}.button--contact .contact-icon{width:32px;height:34px}.button--contact i{font-size:10px}}
@media(max-width:480px){.contacts{grid-template-columns:1fr}.contacts .contact-card{padding:16px;grid-template-columns:44px minmax(0,1fr) 14px}.gallery__item img{height:360px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
