/* Главная: анимированная часть под первым экраном (блок .ve26). Все правила ограничены .ve26 / .ve-*,
   чтобы не задевать первый экран и общие стили сайта. */
.ve26{--v-orange:#f88319;--v-orange2:#ffb15c;--v-green:#7ed957;--v-muted:#9fb0a2;
  --v-display:"Arial Black","Helvetica Neue",Arial,sans-serif;position:relative;color:#f2f5ef;overflow-x:clip}
.ve26 img{display:block;max-width:100%}
.ve26 .v-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.ve26 .v-eyebrow{margin:0 0 14px;font:700 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--v-orange2)}
.ve26 .v-big{margin:0;font-family:var(--v-display);font-weight:900;font-size:clamp(40px,7vw,120px);line-height:.95;letter-spacing:-.03em;color:#fff}
.ve26 .v-big em,.ve26 .v-ring-title em{font-style:normal;color:var(--v-green)}
.ve26 .v-btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 28px;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.04);color:#fff;text-decoration:none;font:800 16px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;transition:background .25s,border-color .25s;will-change:transform}
.ve26 .v-btn:hover{border-color:#fff}
.ve26 .v-btn.is-orange{background:linear-gradient(135deg,var(--v-orange2),var(--v-orange));border-color:transparent;color:#1b0e02;box-shadow:0 18px 40px -16px rgba(248,131,25,.9)}
.ve26 .v-cta{display:flex;flex-wrap:wrap;gap:14px}

/* Искры за курсором и прогресс прокрутки (на всю страницу) */
.ve-sparks{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:100}
@media (pointer:coarse){.ve-sparks{display:none}}
.ve-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none}
.ve-progress i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#7ed957,#f88319)}

/* Подсказка «листайте» внизу первого экрана */
.ve-scroll{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 auto 6px;color:#9fb0a2;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.ve-scroll::after{content:"";width:1px;height:34px;background:linear-gradient(#f88319,transparent);animation:veHint 1.8s ease-in-out infinite}
@keyframes veHint{0%{transform:scaleY(0);transform-origin:0 0}50%{transform:scaleY(1);transform-origin:0 0}51%{transform-origin:0 100%}100%{transform:scaleY(0);transform-origin:0 100%}}

/* 1. Частицы */
.ve26 .v-hero{height:220vh}
.ve26 .v-hero canvas{position:absolute;inset:0;width:100%;height:100%}
.ve26 .v-hero-copy{position:absolute;left:clamp(16px,6vw,96px);bottom:clamp(90px,14vh,150px);max-width:min(760px,90vw);will-change:transform,opacity}
.ve26 .v-kin{margin:0 0 30px;font-family:var(--v-display);font-weight:900;font-size:clamp(40px,6.4vw,100px);line-height:.98;letter-spacing:-.03em;color:#fff}
.ve26 .v-kin-line{display:block}
.ve26 .v-kin-rot{display:block;min-height:1.05em;color:var(--v-orange2);perspective:600px}
.ve26 .v-kin-rot .w{display:inline-block;white-space:nowrap}
.ve26 .v-kin-rot .l{display:inline-block;transform-origin:50% 100%;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .4s}
.ve26 .v-kin-rot .l.out{transform:translateY(-30%) rotateX(90deg);opacity:0}
.ve26 .v-kin-rot .l.pre{transform:translateY(30%) rotateX(-90deg);opacity:0;transition:none}

/* 2. Манифест */
.ve26 .v-say{height:260vh}
.ve26 .v-say .v-sticky{display:flex;align-items:center;padding:0 clamp(16px,8vw,140px)}
.ve26 .v-say-text{margin:0;font-family:var(--v-display);font-weight:900;font-size:clamp(32px,5.2vw,84px);line-height:1.08;letter-spacing:-.02em;color:#fff}
.ve26 .v-say-text .w{display:inline-block;opacity:.12;transition:opacity .15s linear,color .3s;margin-right:.24em}
.ve26 .v-say-text .w.hot{color:var(--v-orange2)}

/* 3. Кофемашина */
.ve26 .v-mach{height:380vh}
.ve26 .v-mach-stage{position:absolute;left:50%;top:54%;width:min(560px,80vw);aspect-ratio:494/498;perspective:1600px;transform:translate(-50%,-50%)}
.ve26 .m-open,.ve26 .m-front{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform,opacity}
.ve26 .m-open{opacity:0}
.ve26 .m-front{transform-origin:56% 50%}
.ve26 .v-orb{position:absolute;left:50%;top:50%;width:clamp(70px,8vw,120px);aspect-ratio:1;border-radius:50%;background:#fff;border:3px solid var(--v-orange);
  object-fit:contain;padding:10px;box-shadow:0 20px 50px -16px rgba(0,0,0,.9);opacity:0;will-change:transform,opacity}
.ve26 .v-orb-l{position:absolute;left:50%;top:50%;font:800 13px/1.2 -apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#e8eee6;white-space:nowrap;opacity:0;will-change:transform,opacity;text-shadow:0 2px 10px rgba(0,0,0,.9)}
.ve26 .v-mach-title{position:absolute;left:0;right:0;top:clamp(80px,12vh,120px);text-align:center;will-change:transform,opacity}
.ve26 .v-mach-title .v-big{font-size:clamp(32px,4.6vw,72px)}
.ve26 .v-stats{position:absolute;left:0;right:0;top:clamp(84px,12vh,124px);display:flex;justify-content:center;gap:clamp(16px,6vw,90px);opacity:0;will-change:opacity,transform}
.ve26 .v-stats div{display:grid;justify-items:center;text-align:center}
.ve26 .v-stats b{font:900 clamp(34px,4.6vw,68px)/1 var(--v-display);color:var(--v-orange2)}
.ve26 .v-stats span{color:var(--v-muted);font-size:14px}

/* 4. Кольцо кофеен */
.ve26 .v-ring{height:320vh}
.ve26 .v-ring .v-sticky{display:grid;place-items:center}
.ve26 .v-ring-title{position:absolute;margin:0;text-align:center;font-family:var(--v-display);font-weight:900;font-size:clamp(54px,11vw,190px);line-height:.9;letter-spacing:-.04em;color:rgba(255,255,255,.95);will-change:transform,opacity}
.ve26 .v-ring-stage{position:absolute;inset:0;perspective:1500px;display:grid;place-items:center}
.ve26 .v-ring-rot{position:relative;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.ve26 .v-ring-rot img{max-width:none;position:absolute;left:-130px;top:-170px;width:260px;height:340px;object-fit:cover;border-radius:20px;border:2px solid rgba(255,255,255,.18);
  box-shadow:0 30px 60px -24px rgba(0,0,0,.9);backface-visibility:hidden}
.ve26 .v-ring-cta{position:absolute;bottom:clamp(24px,7vh,70px)}
@media (max-width:700px){.ve26 .v-ring-rot img{left:-90px;top:-118px;width:180px;height:236px}}

/* 5. Финал */
.ve26 .v-fin{position:relative;padding:12vh 0 6vh;overflow:hidden}
.ve26 .v-marquee{overflow:hidden;border-block:1px solid rgba(255,255,255,.1);padding:18px 0;margin-bottom:10vh}
.ve26 .v-mq{display:flex;width:max-content;animation:veMq 26s linear infinite}
.ve26 .v-mq span{font:900 clamp(30px,4vw,60px)/1 var(--v-display);white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(255,177,92,.8);padding-right:.4em}
@keyframes veMq{to{transform:translateX(-50%)}}
.ve26 .v-fin-grid{display:grid;grid-template-columns:minmax(220px,420px) 1fr;gap:clamp(24px,5vw,80px);align-items:center;padding:0 clamp(16px,6vw,96px)}
.ve26 .vfox{position:relative;width:100%;aspect-ratio:890/1129}
.ve26 .vfox img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.ve26 .vfox-head{transform-origin:42.5% 55.2%;transition:transform .15s linear}
.ve26 .v-fin-url{font-size:clamp(54px,9vw,150px)}
.ve26 .v-fin-url em{color:var(--v-orange2)}
.ve26 .v-fin-sub{color:var(--v-muted);margin:16px 0 26px}
@media (max-width:760px){.ve26 .v-fin-grid{grid-template-columns:1fr;justify-items:center;text-align:center}.ve26 .vfox{max-width:260px}.ve26 .v-cta{justify-content:center}}
@media (max-width:700px){.ve26 .v-kin-rot{min-height:2.05em}.ve26 .v-kin-rot .w{white-space:normal}.ve26 .v-hero-copy{bottom:70px}}

.ve26 .rv{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.ve26 .rv.in{opacity:1;transform:none}

/* Первый экран остаётся ровно на высоту окна, дальше страница прокручивается */
@media (min-width:981px) and (min-height:620px){
  body.is-landing.is-long{height:auto;overflow:visible;display:block}
  body.is-landing.is-long>.wrap{height:100vh;height:100dvh;display:flex;flex-direction:column}
  body.is-landing.is-long .site-foot{padding:40px 0 28px}
  body.is-landing.is-long .sf-channel{display:flex}
  body.is-landing.is-long .sf-row{margin-top:18px}
}

@media (prefers-reduced-motion:reduce){
  .ve26 .v-hero,.ve26 .v-say,.ve26 .v-mach,.ve26 .v-ring{height:auto}
  .ve26 .v-sticky{position:relative;height:auto;min-height:100vh}
  .ve26 .v-mq,.ve-scroll::after{animation:none}
  .ve26 .v-say-text .w{opacity:1}
}
