/* New Benefits Block — strict technological redesign */
/* Uses project variables and typography (Exo 2 for headings/UI, IBM Plex Sans for text) */

.benefits-block{max-width:1120px;margin:18px auto 28px;padding:0 6px;font-family:'IBM Plex Sans',sans-serif}
/* Мобильное выравнивание: фабрика и льготы в одном контейнере с одинаковыми внутренними полями */
@media (max-width:767px){
  .benefits-block{padding:0 6px}
  .benefits-grid-new{gap:14px}
}


.benefits-grid-new{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:stretch}
@media (max-width:991px){.benefits-grid-new{grid-template-columns:1fr;gap:14px}}

/* Factory hero card */
.factory-hero-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02));
  border:1px solid rgba(4,170,159,.35);border-radius:20px;padding:18px 16px 16px;overflow:hidden;align-self:stretch;height:100%;
  box-shadow:0 12px 32px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}
@media (max-width:767px){
  /* визуальное выравнивание карусели и фабрики по краям */
  .factory-hero-card{margin:0}
  .benefits-block{padding:0 6px}
  .benefit-carousel-mobile{padding:0 6px}
}
.factory-hero-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:
   linear-gradient(0deg,rgba(4,170,159,.55),rgba(4,170,159,.12)) left/2px 100% no-repeat,
   radial-gradient(80% 60% at 10% 0%,rgba(4,170,159,.16),transparent 70%);
  opacity:.9}
.factory-hero-card::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:.14;
  background:conic-gradient(from 0deg, rgba(4,170,159,.0), rgba(4,170,159,.18), rgba(4,170,159,.0));
  mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  mask-composite:exclude; -webkit-mask-composite:xor; padding:1px}

.hero-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:10px}
/* prevent badge from stretching full width */
.factory-hero-card .kpi-label{max-width:max-content}
/* hero-badge removed per request */
.hero-badge{display:none}
.hero-title{margin:0;color:#e7f2ef;font-family:'IBM Plex Sans',sans-serif;font-weight:800;letter-spacing:.2px;line-height:1.1;font-size:20px;padding-left:0}

.hero-metric{display:flex;align-items:baseline;gap:10px;margin:10px 0 8px}
.hero-metric .value{font-family:'IBM Plex Sans',sans-serif;font-weight:800;letter-spacing:.2px;line-height:1;font-size:40px;background:linear-gradient(45deg,var(--primary-accent),#88f0e8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-fill-color:transparent;text-shadow:0 0 22px rgba(4,170,159,.35)}
.hero-metric .unit{color:#bcd6d2;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}

.hero-kpis{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:6px 0 10px}
.hero-kpis .kpi{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.hero-kpis .num{font-family:'IBM Plex Sans',sans-serif;color:var(--primary-accent);font-size:16px;font-weight:800;line-height:1}
.hero-kpis .desc{font-size:12px;color:#c1c9d4;font-weight:600}
/* make mission block feel organic inside card */
.factory-hero-card{display:flex;flex-direction:column}
.factory-hero-card .hero-header{margin-bottom:12px}
.factory-hero-card .hero-kpis{margin-bottom:12px}
.factory-hero-card .hero-features{margin-top:12px}
.factory-hero-card .hero-metric{margin:12px 0 10px}
/* tighten mission blend */
.factory-hero-card .hero-mission{color:rgba(184,217,212,.78)}

.hero-actions{display:flex;justify-content:flex-start;margin-top:2px}
.btn-outline{appearance:none;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;
  background:transparent;border:1.5px solid var(--primary-accent);color:var(--primary-accent);
  font-weight:700;font-family:'Exo 2',sans-serif;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.btn-outline:hover{transform:translateY(-1px);background:var(--primary-accent);color:#0f1420;
  box-shadow:0 10px 22px rgba(4,170,159,.35)}
.btn-outline:active{transform:translateY(0)}

/* KPI label (accent badge) — compact pill */
.kpi-label{display:inline-flex;align-items:center;align-self:flex-start;white-space:nowrap;width:auto;margin:2px 0 6px 0;padding:3px 10px;border-radius:999px;border:1px solid rgba(4,170,159,.35);background:rgba(4,170,159,.08);color:var(--primary-accent);font-size:10.5px;font-weight:700;letter-spacing:.35px;text-transform:none}
/* Mission text — tablet/desktop only, solid color with left light track (no top divider) */
.hero-mission{
  display:none;
  position:relative;
  margin:28px 0 0;
  padding-left:14px;
  color:#b8d9d4;
  font-size:12.8px;
  line-height:1.55;
  letter-spacing:.02px;
  font-family:'IBM Plex Sans',sans-serif;
  font-weight:400;
  max-width:60ch;
}
.hero-mission .mission-accent{color:var(--primary-accent);font-weight:600;position:relative}
.hero-mission .mission-accent::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;
  background:linear-gradient(90deg,rgba(4,170,159,.0),rgba(4,170,159,.6),rgba(4,170,159,.0));opacity:.35;animation:missionUnderline 5s ease-in-out infinite}

@keyframes missionTrackGlow{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes missionUnderline{0%,100%{opacity:.25}50%{opacity:.6}}

@media (prefers-reduced-motion: reduce){
  .hero-mission::before{animation:none}
  .hero-mission .mission-accent::after{animation:none}
  .benefit-line, .benefit-line:hover{transition:none}
  .benefit-line::before{animation:none}
  .benefit-line:hover .line-icon{animation:none;box-shadow:none}
  .benefit-line:hover::after{transform:none}
}
.hero-mission::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:2px;opacity:.95;
  background:linear-gradient(180deg,rgba(4,170,159,.7),rgba(4,170,159,.15));
  animation:missionTrackGlow 6s ease-in-out infinite;
}
@media (min-width:768px){
  .hero-mission{display:block}
}
@media (min-width:1200px){
  .hero-mission{font-size:13.5px;line-height:1.6;margin-top:30px}
  .factory-hero-card{padding:24px 22px 22px}
  .factory-hero-card .hero-title{font-size:24px}
  .factory-hero-card .hero-metric .value{font-size:48px}
}
/* Hero features list */
.hero-features{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
/* дополнительный отступ для второй фичи по запросу */
.hero-features .feature:nth-child(2){margin-top:6px}
@media (min-width:1200px){.hero-features .feature:nth-child(2){margin-top:8px}}
.feature{display:flex;align-items:flex-start;gap:8px}
.feature .dot{width:6px;height:6px;border-radius:50%;background:var(--primary-accent);margin-top:6px;box-shadow:0 0 8px rgba(4,170,159,.6)}
.feature-text{font-size:13px;color:#cfe6e2}

/* Compact inline benefits list */
.benefit-list{display:grid;grid-template-columns:1fr;gap:12px;padding:0;position:relative;overflow:visible;border-radius:16px}

@media (max-width:767px){
  .benefit-list{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-left:6px; /* выравнивание по левому полю контейнера */
    -webkit-overflow-scrolling:touch;
    gap:12px;
    padding:0 6px 2px; /* те же поля, что и у контейнера benefits-block */
    position:relative;
    touch-action:pan-y;
    -ms-overflow-style:none; scrollbar-width:none;
  }
  .benefit-list::-webkit-scrollbar{display:none}
}

/* Equal height columns via grid auto-rows */
.benefit-list{grid-auto-rows:1fr}
@media (min-width:992px){
  /* tile grid with equal heights for desktop */
  .benefit-list{grid-auto-rows:1fr;gap:14px}
}
.benefit-line{--acc: var(--primary-accent);--tx: calc(100% - 22px);--ty: 50%;display:grid;grid-template-columns:36px 1fr 14px;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.10);transition:background .25s ease,transform .2s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;position:relative;backdrop-filter:saturate(110%) blur(0px);overflow:hidden;isolation:isolate;will-change:transform,box-shadow;-webkit-tap-highlight-color:transparent}
.benefit-line *{will-change:auto}
.benefit-line:hover{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));box-shadow:0 8px 24px rgba(0,0,0,.25),0 0 0 1px rgba(4,170,159,.25)}
.benefit-line:focus{outline:2px solid var(--primary-accent);outline-offset:2px}
/* Touch pulse cue at right side (replaces arrow) */
.benefit-line::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
  background:radial-gradient(170px 170px at var(--tx) var(--ty), rgba(4,170,159,.22), transparent 62%);
  transition:opacity .2s ease;animation:none}
.benefit-line.is-pressing::after{opacity:.95}
.benefit-line:active::after{opacity:.95}
@media (hover:none) and (pointer:coarse){
  /* Ограничиваем пульсацию только на тач-девайсах; на десктопе по умолчанию анимация выключена */
  .benefit-line::after{animation:ripplePulse 2.4s ease-in-out infinite}
}
@media (hover:hover) and (pointer:fine){
  .benefit-line::after{animation:none}
}
@keyframes ripplePulse{0%,100%{opacity:.12}50%{opacity:.28}}
@media (prefers-reduced-motion: reduce){.benefit-line::after{animation:none;opacity:.12}}
.line-icon{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;border:none;transition:border-color .25s ease, box-shadow .25s ease, transform .2s ease;position:relative;overflow:hidden}
.line-icon svg{width:20px;height:20px;color:#dfe7e5;opacity:.9;transition:color .25s ease, opacity .25s ease, filter .25s ease;display:block;margin:auto;flex-shrink:0;overflow:visible}
#benefit-links .benefit-line:nth-child(1){--acc:#35e0dc}
#benefit-links .benefit-line:nth-child(2){--acc:#54d5c9}
#benefit-links .benefit-line:nth-child(3){--acc:#3fcdaf}
#benefit-links .benefit-line:nth-child(4){--acc:#37c3b5}
#benefit-links .benefit-line:nth-child(5){--acc:#2ab2a6}
#benefit-links .benefit-line:nth-child(6){--acc:#22a79a}

/* ширина карточек под ширину фабрики: у benefits-block общий padding 0 6px, карточки становятся равной ширины визуально */
.benefits-block{padding:0 6px}

/* subtle glowing contour on hover (toned down) */
.benefit-line:hover{box-shadow:0 8px 24px rgba(0,0,0,.25),0 0 0 1px rgba(4,170,159,.25)}
.benefit-line:hover::before{opacity:1}
.line-icon svg{width:20px;height:20px;color:#dfe7e5;opacity:.9;transition:color .25s ease, opacity .25s ease, filter .25s ease;display:block;margin:auto;flex-shrink:0;overflow:visible}
.line-text{display:flex;flex-direction:column;gap:3px}
.line-title{font-size:14px;font-weight:800;color:#eaf3f1;font-family:'IBM Plex Sans',sans-serif;letter-spacing:.2px} /* title stays IBM Plex; badges use Exo 2 */
.line-desc{display:none}

/* Desktop refinements and animations */
@media (min-width:992px){
  .benefits-grid-new{grid-template-columns:1.2fr 1fr}
}
@media (min-width:1200px){
  .benefits-grid-new{grid-template-columns:1.25fr 1fr}
}

/* Use full width, equal visual rhythm */
.benefit-list{align-items:stretch}
.benefit-list::before{display:none}
.benefit-list::after{display:none}

/* Lines: simplified baseline with per-card contour glow (stronger) */
.benefit-line{grid-template-columns:36px 1fr 14px;align-items:flex-start}
.benefit-line::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.65;padding:1px;
  background:linear-gradient(180deg,var(--acc),rgba(4,170,159,.38));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  box-shadow:0 0 22px rgba(4,170,159,.28);
  transition:opacity .25s ease, box-shadow .25s ease;
}
.benefit-line:hover::before{opacity:.95;box-shadow:0 0 30px rgba(4,170,159,.36)}

/* Touch cue is implemented via ::after. Arrows removed. Keep it subtle by default; stronger only on touch (.is-pressing). */
.benefit-line::after{opacity:.18}

/* Text polishing */
.line-title{font-weight:800;letter-spacing:.2px}
.line-desc{display:none}
/* KPI блоки для лаконичных карточек */
.kpi-block{display:grid;grid-template-columns:1fr;gap:6px;margin-top:4px}
.kpi-main{font-family:'IBM Plex Sans',sans-serif;font-size:24px;font-weight:800;line-height:1;color:var(--acc)}
.kpi-sub{font-size:12px;color:#c9d6d3}
.kpi-divider{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0));margin:4px 0}
.kpi-note{font-size:12px;color:#a9b6b3}
.kpi-note .accent{color:var(--acc);font-weight:800}
.line-metrics{display:none}
.metric-chip{display:none}
.metric-chip .m-num{display:none}
.metric-chip .m-unit{display:none}
@media (prefers-reduced-motion: reduce){.metric-chip{transition:none}}
@media (min-width:1200px){
  .benefit-line{min-height:auto}
}

/* Спокойная подсветка карточек (без мигания) */
@keyframes cardSoftGlow{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.25),0 0 0 1px rgba(4,170,159,.18)}50%{box-shadow:0 10px 26px rgba(0,0,0,.3),0 0 0 1px rgba(4,170,159,.3)}}
.benefit-line:focus-visible{outline:2px solid var(--primary-accent);outline-offset:2px}
@media (hover:hover){
  .benefit-line:hover{animation:cardSoftGlow 2.6s ease-in-out infinite}
}
@media (prefers-reduced-motion: reduce){
  .benefit-line:hover{animation:none}
}

/* Icon micro-motion */
@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
/* Rotating border for mono-outline cards */
@keyframes borderSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.benefit-line:hover .line-icon{animation:none;box-shadow:0 0 0 1px rgba(4,170,159,.25), 0 6px 16px rgba(4,170,159,.15)}
.benefit-line:hover .line-icon svg{color:var(--acc);opacity:1}
.benefit-line:hover .line-title{color:var(--acc)}
/* accent shifts on hover for mono scheme */
.benefit-line:hover .line-icon svg{color:var(--acc);opacity:1}
.benefit-line:hover .line-title{color:var(--acc)}

/* Staggered entrance */
@keyframes benefitEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
#benefit-links .benefit-line{opacity:0;animation:benefitEnter .45s ease both;-webkit-user-select:none;user-select:none}
#benefit-links .benefit-line:nth-child(1){animation-delay:.05s}
#benefit-links .benefit-line:nth-child(2){animation-delay:.1s}
#benefit-links .benefit-line:nth-child(3){animation-delay:.15s}
#benefit-links .benefit-line:nth-child(4){animation-delay:.2s}
#benefit-links .benefit-line:nth-child(5){animation-delay:.25s}
#benefit-links .benefit-line:nth-child(6){animation-delay:.3s}

/* Mobile: вертикальный список, карусель отключена */
.benefit-carousel-mobile{display:none!important}
@media (max-width:767px){
  #benefit-links{display:grid !important;grid-template-columns:1fr;gap:12px;padding:0;margin:0}
}

/* removed collapsible panel styles (rollback) */

/* Hide legacy benefits grid and carousel (kept in DOM for rollback; remove after approval) */
.benefits-tech-grid,.benefits-carousel-wrapper,.carousel-indicators{display:none!important}

/* Desktop text clamp adjustments and arrow column narrowing */
.line-desc{overflow-wrap:anywhere;hyphens:auto}
@media (min-width:992px){
  .benefit-line{grid-template-columns:36px 1fr 14px;align-items:flex-start;padding:14px 16px;border-radius:14px;border:none;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015))}
  .line-title{font-size:14px;font-weight:800}
  /* .line-desc скрыта, карточки собраны в компактный KPI-формат */
}
@media (min-width:1200px){
  .line-desc{font-size:13px;line-height:1.5}
  .line-title{font-size:15px}
}
/* SVG normalization inside icon box */
.line-icon svg, .line-icon svg *{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50% 50%}
.line-icon svg path,.line-icon svg line,.line-icon svg rect,.line-icon svg circle{stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
