
:root{--red:#E31E24;--redtx:#B3121A;--ink:#000;--paper:#fff;--grey:#F2F2F2;--mid:#5a5a5a;--line:#d9d9d9}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.6 'Archivo',Arial,sans-serif;color:#1a1a1a;background:var(--paper)}
h1,h2,h3{font-family:'Archivo',Arial,sans-serif;font-weight:800;line-height:1.08;margin:0;letter-spacing:-.01em}
a{color:inherit}img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
header.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.bar img{height:54px;width:auto}
nav.main{display:flex;gap:26px;align-items:center;font-weight:600;font-size:16px}
nav.main a{text-decoration:none;padding:8px 0}nav.main a:hover{color:var(--redtx)}nav.main a.btn{padding:12px 24px;color:#fff}nav.main a.btn:hover{color:#fff}
.dd{position:relative}.dd>div{display:none;position:absolute;left:-16px;top:100%;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);min-width:260px;padding:10px 0;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.dd:hover>div,.dd:focus-within>div{display:block}.dd>div a{display:block;padding:8px 20px;font-weight:500}
.btn{display:inline-block;background:var(--red);color:#fff;padding:14px 26px;font-weight:700;text-decoration:none;border:2px solid var(--red)}
.btn:hover{background:#000;border-color:#000}.btn.alt{background:transparent;color:#fff;border-color:#fff}.btn.alt:hover{background:#fff;color:#000}
.btn.dark{background:#000;border-color:#000}.btn.dark:hover{background:var(--red);border-color:var(--red)}
.burger{display:none}
.slider{background:#000;color:#fff;position:relative;overflow:hidden;min-height:560px}
.slider svg{position:absolute;right:-30px;top:40px;width:min(560px,60%);height:auto}
.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity .6s}
.slide.on{opacity:1;visibility:visible;position:relative;min-height:560px}
.slide .wrap{width:100%}.slide .in{max-width:640px;padding:70px 0 110px}
.slide h1,.slide h2{font-size:clamp(40px,6vw,76px)}.slide p{font-size:20px;color:#e6e6e6;margin:22px 0 30px;max-width:540px}
.slide.on .in>*{animation:rise .7s both}.slide.on .in>*:nth-child(2){animation-delay:.12s}.slide.on .in>*:nth-child(3){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.dots{position:absolute;left:max(28px,calc((100% - 1240px)/2 + 28px));right:28px;bottom:34px;display:flex;gap:10px}
.dots button{width:46px;height:5px;border:0;background:#555;cursor:pointer;padding:0}.dots button.on{background:var(--red)}
section.s{padding:84px 0}section.g{background:var(--grey)}
.s h2{font-size:clamp(30px,4vw,46px);margin-bottom:14px}.lead{max-width:760px;color:var(--mid);font-size:19px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:38px}
.card{background:#fff;border-top:5px solid var(--red);padding:30px;text-decoration:none;display:block}
.card h3{font-size:23px;margin-bottom:8px}.card p{margin:0;color:var(--mid)}.card b{color:var(--redtx);display:block;margin-top:14px}
a.card:hover{background:#000;color:#fff}a.card:hover p{color:#ccc}a.card:hover b{color:#fff}
.stats{display:flex;flex-wrap:wrap;gap:60px;margin-top:34px}.stats div{font-size:15px;color:var(--mid)}.stats strong{display:block;font-size:56px;line-height:1;color:#000;font-weight:900}
.hd{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}.hd h2{margin:0}
.arrows button{width:46px;height:46px;border:2px solid #000;background:#fff;font-size:20px;cursor:pointer}.arrows button:hover{background:#000;color:#fff}
.car{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px}
.pc{flex:0 0 260px;scroll-snap-align:start;background:#fff;text-decoration:none;border:1px solid var(--line);display:flex;flex-direction:column}
.pc .im{aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:14px}.pc img{max-height:100%;object-fit:contain}
.pc span{padding:16px 18px 20px;font-weight:600;font-size:15px;line-height:1.35;border-top:1px solid var(--line);flex:1}
.pc:hover span{color:var(--redtx)}
.lg{flex:0 0 190px;height:100px;display:flex;align-items:center;justify-content:center;padding:0 20px}
.lg img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.lg:hover img{filter:none;opacity:1}
.marq{overflow:hidden}.track{display:flex;width:max-content}.track.run{animation:mq var(--d,60s) linear infinite}.marq:hover .track,.marq:focus-within .track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.logos .track{background:#fff}.logos.g .track{background:var(--grey)}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 8px;margin-top:26px}.lgrid .lg{flex:none;padding:0 14px}
.cta{background:var(--red);color:#fff;padding:64px 0}.cta .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}.cta h2{font-size:clamp(28px,3.5vw,42px);max-width:620px}
footer{background:#000;color:#cfcfcf;padding:56px 0 30px;font-size:15px}footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
footer h3{color:#fff;font-size:17px;margin-bottom:12px}footer a{text-decoration:none;display:block;padding:3px 0}footer a:hover{color:#fff;text-decoration:underline}
.copy{grid-column:1/-1;border-top:1px solid #333;padding-top:20px;margin-top:10px;color:#888}
.page{background:#000;color:#fff;padding:56px 0 50px}.page h1{font-size:clamp(34px,5vw,58px)}
.crumb{font-size:14px;color:#aaa;margin-bottom:12px}.crumb a{text-decoration:none}.crumb a:hover{color:#fff}
.prose{max-width:780px}.prose p{margin:0 0 16px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}.chips a{border:2px solid #000;padding:8px 16px;text-decoration:none;font-weight:600;font-size:15px}.chips a:hover,.chips a.on{background:#000;color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.grid .pc{flex:none}
.q{width:100%;max-width:520px;padding:14px 16px;font:inherit;border:2px solid #000;margin-bottom:26px}
.prod{display:grid;grid-template-columns:minmax(260px,1fr) 1.2fr;gap:48px;align-items:start}
.prod .im{background:#fff;border:1px solid var(--line);padding:24px}.prod .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.fm{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:820px}.fm .full{grid-column:1/-1}
.fm label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}.fm input,.fm select,.fm textarea{width:100%;padding:13px 14px;font:inherit;border:2px solid #000;background:#fff;border-radius:0}
.fm textarea{min-height:150px;resize:vertical}.fm small{color:var(--mid);display:block;margin-top:6px}.fm .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
#st{margin-top:16px;font-weight:600}#st.ok{color:#146c2e}#st.err{color:var(--redtx)}
.menu-m{display:none}
@media(max-width:900px){nav.main{display:none}.burger{display:block;border:2px solid #000;background:#fff;padding:10px 14px;font-weight:700;cursor:pointer}
.menu-m.open{display:block;background:#fff;border-bottom:1px solid var(--line)}.menu-m a{display:block;padding:12px 28px;border-top:1px solid var(--line);text-decoration:none;font-weight:600}
.prod{grid-template-columns:1fr}.slider svg{opacity:.5}}
@media(prefers-reduced-motion:reduce){.track.run{animation:none}.marq{overflow-x:auto}.slide,.slide.on .in>*{animation:none;transition:none}html{scroll-behavior:auto}}

.contact-list{list-style:none;padding:0;margin:0 0 16px}.contact-list li{display:flex;align-items:flex-start;gap:10px;margin:10px 0}
.ico{width:20px;height:20px;flex:none;margin-top:2px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:#E31E24}
footer .contact-list a{display:inline;padding:0}
.map-wrap{margin:20px 0;border-radius:12px;overflow:hidden;border:1px solid #ddd}.map-wrap iframe{display:block;width:100%}
