/* лазерная гравировка */
.hero.gv{background:radial-gradient(ellipse 45% 60% at 76% 52%,rgba(255,59,59,.28),rgba(255,59,59,0) 65%),radial-gradient(ellipse 35% 40% at 76% 56%,rgba(34,227,255,.16),rgba(34,227,255,0) 70%),linear-gradient(180deg,#060a18,#0d0a18 60%,var(--bg))}
.lz{position:relative;width:540px;height:440px}
.lz-in{position:absolute;left:0;top:0;width:540px;height:440px;transform-origin:0 0}
.lz-rail{position:absolute;left:30px;right:30px;top:38px;height:10px;border-radius:5px;background:linear-gradient(180deg,#2a3142,#141925);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.lz-head{position:absolute;z-index:5;top:22px;left:0;width:0;animation:lzhead 6s linear infinite}
.lz-head:before{content:"";position:absolute;left:-26px;top:0;width:52px;height:46px;border-radius:8px;background:linear-gradient(180deg,#3a4254,#1c2230);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 6px 18px rgba(0,0,0,.6)}
.lz-head:after{content:"";position:absolute;left:-8px;top:44px;width:16px;height:10px;border-radius:0 0 6px 6px;background:#0d1018;box-shadow:0 2px 0 #ff3b3b}
.lz-beam{position:absolute;left:-1px;top:54px;width:2px;height:188px;background:linear-gradient(180deg,rgba(255,80,80,.3),#ff3b3b 60%,#fff);box-shadow:0 0 10px 2px rgba(255,59,59,.7);animation:lzbeam 6s linear infinite}
.lz-dot{position:absolute;left:-14px;top:228px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,#fff 0 12%,#ffb3a8 25%,rgba(255,59,59,.6) 45%,rgba(255,59,59,0) 70%);animation:lzbeam 6s linear infinite,lzflick .12s steps(2) infinite}
.lz-smoke{position:absolute;left:-10px;top:210px;width:20px;height:30px;border-radius:50%;background:radial-gradient(circle,rgba(200,210,230,.35),rgba(200,210,230,0) 70%);filter:blur(3px);animation:lzbeam 6s linear infinite,lzsmoke 1.2s ease-out infinite}
@keyframes lzhead{0%{transform:translateX(40px)}83%{transform:translateX(500px)}100%{transform:translateX(40px)}}
@keyframes lzbeam{0%,83%{opacity:1}84%,100%{opacity:0}}
@keyframes lzflick{50%{transform:scale(.8)}}
@keyframes lzsmoke{0%{transform:translateY(0) scale(.6);opacity:.8}100%{transform:translateY(-40px) scale(1.6);opacity:0}}
.lz-plates{position:absolute;left:40px;top:150px;width:460px;height:200px}
.pl{position:absolute;inset:0;border-radius:14px;opacity:0;animation:lzpl 24s linear infinite;box-shadow:0 20px 50px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;overflow:hidden}
.pl b{position:relative;display:block;width:100%;text-align:center;font-family:var(--uf);font-size:25px;letter-spacing:.02em;white-space:nowrap;clip-path:inset(0 100% 0 0);animation:lztxt 24s linear infinite}
.pl:after{content:"";position:absolute;inset:10px;border-radius:8px;border:1px solid rgba(0,0,0,.18)}
.p2,.p2 b{animation-delay:6s}.p3,.p3 b{animation-delay:12s}.p4,.p4 b{animation-delay:18s}
@keyframes lzpl{0%{opacity:1;z-index:2}24.9%{opacity:1;z-index:2}25%,100%{opacity:0;z-index:1}}
@keyframes lztxt{0%{clip-path:inset(0 100% 0 0)}20.8%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
.p1{background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,rgba(0,0,0,.05) 1px 3px),linear-gradient(100deg,#8d95a3,#eef1f6 30%,#b9c0cc 55%,#f4f6fb 75%,#8d95a3)}
.p1 b{color:#3a3f48;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.p2{background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,rgba(0,0,0,.05) 1px 3px),linear-gradient(100deg,#7a5410,#ffe29a 30%,#c8961e 55%,#fff1c2 75%,#8a6214)}
.p2 b{color:#4a3208;font-weight:400;text-shadow:0 1px 0 rgba(255,241,194,.7)}
.p3{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.08),transparent 50%),repeating-radial-gradient(circle at 20% 40%,rgba(0,0,0,.08) 0 1px,transparent 1px 4px),linear-gradient(135deg,#8a5230,#6b3f22 50%,#4d2c17)}
.p3:after{border:1.5px dashed rgba(255,220,180,.35)}
.p3 b{color:#2a1407;font-weight:700;text-shadow:0 0 6px rgba(255,120,40,.35),0 1px 0 rgba(255,200,150,.25)}
.p4{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px),linear-gradient(135deg,#2a2f38,#15181e 60%,#0d0f13)}
.p4 b{color:#f2f5fa;font-weight:400;text-shadow:0 0 10px rgba(255,255,255,.5)}
.lz-lbls{position:absolute;left:0;right:0;top:372px;height:24px;text-align:center;font-family:var(--uf);font-weight:700;font-size:16px;letter-spacing:.14em;text-transform:uppercase}
.lz-lbls span{position:absolute;left:0;right:0;opacity:0;animation:lzpl 24s linear infinite}
.lz-lbls .q2{animation-delay:6s}.lz-lbls .q3{animation-delay:12s}.lz-lbls .q4{animation-delay:18s}
.lz-cap{position:absolute;left:0;right:0;top:406px;text-align:center;font-size:12px;letter-spacing:.2em;color:rgba(207,233,255,.6);text-transform:uppercase}
/* что гравируем */
.items{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.neo .it{position:relative;display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--card);color:var(--tx);text-decoration:none;transition:border-color .25s,transform .25s}
.it img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.it:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,13,0) 45%,rgba(5,7,13,.9))}
.it span{position:absolute;left:12px;right:12px;bottom:10px;z-index:1;font-weight:700;font-size:15px}
.neo .it:hover{border-color:rgba(255,107,90,.8);transform:translateY(-3px);color:var(--tx)}
.it:hover img{transform:scale(1.08)}
.mats{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:24px;--c:255,107,90}
.mats em{font-style:normal;font-weight:600;color:rgb(var(--c));margin-right:4px}
.mats a,.mats span{padding:6px 13px;border-radius:999px;border:1px solid rgba(var(--c),.4);background:rgba(var(--c),.07);font-size:14px;color:#dbe5f3;text-decoration:none}
.neo .mats a{color:#fff;border-color:rgba(var(--c),.8)}
.neo .mats a:hover{background:rgba(var(--c),.25);color:#fff}
/* цены */
.prices3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pc{padding:28px;border-radius:14px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.pc.hl{border-color:rgba(255,107,90,.6);background:radial-gradient(circle at 100% 0,rgba(255,107,90,.18),transparent 55%),var(--card)}
.pc i{font-style:normal;font-size:13px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase}
.pc b{font-family:var(--uf);font-weight:700;font-size:20px}
.pc strong{font-family:var(--uf);font-weight:800;font-size:34px;color:#ff8a7d;margin:8px 0}
.pc strong small{font-size:16px;font-weight:400;color:var(--tx2)}
.pc .btn{margin-top:auto}
.pnote{margin-top:18px;font-size:14px;color:var(--mute);line-height:1.6}
.how-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.how-c{padding:32px;border-radius:14px;background:linear-gradient(160deg,rgba(var(--c),.15),rgba(var(--c),0) 60%),var(--card);border:1px solid rgba(var(--c),.35);display:flex;flex-direction:column;gap:14px}
.how-c i{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.24em;color:rgb(var(--c));text-transform:uppercase}
.how-c b{font-family:var(--uf);font-weight:700;font-size:24px;line-height:1.25}
.how-c span{font-size:16px;color:var(--tx2)}
.c-rd{--c:255,107,90}.c-rd h3{color:#ff8a7d}
@media (max-width:1200px){.lz{width:400px;height:326px}.lz-in{transform:scale(.74)}.items{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){
 .lz{width:350px;height:285px;margin:4px auto 10px;order:3}.lz-in{transform:scale(.648)}
 .items{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.it span{font-size:12px;left:8px;bottom:7px}
 .mats a,.mats span{font-size:12px;padding:4px 10px}
 .prices3{grid-template-columns:1fr;gap:12px}.pc{padding:20px 18px}.pc strong{font-size:28px}
 .how-cards{grid-template-columns:1fr;gap:14px}.how-c{padding:22px 18px}.how-c b{font-size:18px}.how-c span{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.lz-head,.lz-beam,.lz-dot,.lz-smoke,.pl,.pl b,.lz-lbls span{animation:none}.lz-beam,.lz-dot,.lz-smoke{display:none}.lz-head{transform:translateX(270px)}.pl.p2,.lz-lbls .q2{opacity:1}.pl b{clip-path:none}}
/* js: гравировка по буквам */
.pl .lc{font-style:normal;display:inline-block}
.lz.js .lz-head,.lz.js .lz-beam,.lz.js .pl,.lz.js .pl b,.lz.js .lz-lbls span{animation:none}
.lz.js .lz-dot{animation:lzflick .12s steps(2) infinite}.lz.js .lz-smoke{animation:lzsmoke 1.2s ease-out infinite}
.lz.js .lz-beam,.lz.js .lz-dot,.lz.js .lz-smoke{transition:opacity .15s}
.lz.js.off .lz-beam,.lz.js.off .lz-dot,.lz.js.off .lz-smoke{opacity:0}
.lz.js .pl,.lz.js .lz-lbls span{opacity:0;transition:opacity .45s}
.lz.js .pl.on,.lz.js .lz-lbls span.on{opacity:1;z-index:2}
.lz.js .pl b{clip-path:none}
.lz.js .lc{clip-path:inset(0 0 100% 0)}
.lz.js .lc.hot{text-shadow:0 0 6px rgba(255,150,90,.95),0 0 14px rgba(255,59,59,.6)}
.lz.js .lc.done{transition:text-shadow 1s}
/* внутренние страницы гравировки */
.lz-plates .pl.sh-round{left:130px;right:130px;border-radius:50%}
.lz-plates .pl.sh-round b{font-size:15px}
.lz-plates .pl.sh-tag{top:30px;bottom:30px;left:40px;right:40px;border-radius:70px}
.lz-plates .pl.sh-blade{border-radius:0;clip-path:polygon(0 30%,72% 18%,100% 50%,72% 82%,0 70%)}
.lz-plates .pl.sh-blade:after{display:none}
.gv-types div{background:radial-gradient(circle at 85% 15%,rgba(255,107,90,.16),transparent 55%),var(--card)}
.neo .gv-rel a{border-color:rgba(255,107,90,.4);background:rgba(255,107,90,.07)}
.neo .gv-rel a:hover{background:rgba(255,107,90,.2);border-color:rgba(255,107,90,.85);color:#fff}
