/* Презентация Мосэнерго — стили слайдов */

deck-stage:not(:defined){visibility:hidden}
html,body{margin:0;background:#111;}

/* =================== BASE =================== */
.slide{width:100%;height:100%;position:relative;overflow:hidden;font-family:var(--font-body);}
.pad{position:absolute;inset:0;padding:140px 130px 100px;display:flex;flex-direction:column;}
.light{background:var(--n-0);color:var(--n-800);}
.dark{background:var(--prostor-charcoal);color:#fff;}
.orange{background:var(--prostor-orange);color:#fff;}

/* =================== CHROME =================== */
.logo-tl{position:absolute;top:56px;left:130px;height:42px;}
.logo-br{position:absolute;bottom:52px;right:130px;height:36px;opacity:.9;}
.pageno{position:absolute;bottom:52px;left:130px;font-family:var(--font-mono);font-size:20px;color:var(--n-400);}
.dark .pageno{color:rgba(255,255,255,.35);}
.orange .pageno{color:rgba(255,255,255,.6);}
.watermark{position:absolute;right:-100px;bottom:-100px;width:560px;opacity:.045;pointer-events:none;}

/* =================== TYPOGRAPHY =================== */
.eyebrow{
  font-family:var(--font-display);font-weight:600;font-size:26px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--prostor-orange);
}
.dark .eyebrow,.orange .eyebrow{color:rgba(255,255,255,.8);}
.disp{
  font-family:var(--font-display);font-weight:600;text-transform:uppercase;
  line-height:.96;letter-spacing:.005em;
}
.sub{font-size:30px;color:var(--n-500);max-width:1200px;margin-top:32px;line-height:1.5;}
.dark .sub{color:rgba(255,255,255,.6);}
.accentline{width:100px;height:7px;background:var(--prostor-orange);margin:0 0 32px;}
.body-lg{font-size:24px;line-height:1.5;}
.body{font-size:20px;line-height:1.5;}
.body-sm{font-size:17px;line-height:1.45;}
.caption{
  font-family:var(--font-display);font-size:14px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:500;color:var(--n-400);
}
.dark .caption{color:rgba(255,255,255,.45);}
.mono{font-family:var(--font-mono);}
.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:600;}

/* =================== LAYOUT HELPERS =================== */
.row{display:flex;}.col{display:flex;flex-direction:column;}
.gap-8{gap:8px;}.gap-12{gap:12px;}.gap-16{gap:16px;}.gap-20{gap:20px;}
.gap-24{gap:24px;}.gap-32{gap:32px;}.gap-40{gap:40px;}.gap-48{gap:48px;}
.gap-64{gap:64px;}.grow{flex:1;}.center{align-items:center;justify-content:center;}
.spacer{flex:1;}

/* =================== TITLE SLIDE =================== */
.s-title .disp{font-size:120px;margin:14px 0 0;max-width:1500px;}

/* =================== SECTION DIVIDER =================== */
.s-sec .idx{
  font-family:var(--font-display);font-weight:300;font-size:260px;
  line-height:.8;color:var(--prostor-orange);
}
.s-sec .disp{font-size:84px;margin-top:6px;max-width:1400px;}

/* =================== STATS =================== */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.stat .n{
  font-family:var(--font-display);font-weight:600;font-size:110px;
  line-height:.9;color:var(--prostor-orange);font-variant-numeric:tabular-nums;
}
.stat .l{font-size:24px;color:var(--n-500);margin-top:14px;line-height:1.4;max-width:400px;}

/* =================== PRODUCT CARDS =================== */
.pcard{
  padding:36px;border:1px solid var(--n-200);border-radius:10px;
  background:var(--n-0);display:flex;flex-direction:column;gap:14px;
  transition:box-shadow .2s;
}
.pcard:hover{box-shadow:var(--sh-2);}
.pcard .pcard-num{
  font-family:var(--font-display);font-size:56px;font-weight:300;
  color:var(--prostor-orange);line-height:1;
}
.pcard .pcard-title{
  font-family:var(--font-display);font-size:28px;font-weight:600;
  text-transform:uppercase;letter-spacing:.02em;line-height:1.1;
}
.pcard .pcard-desc{font-size:19px;color:var(--n-500);line-height:1.45;}
.pcard .pcard-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-mono);font-size:13px;padding:5px 12px;
  border-radius:999px;border:1px solid var(--n-200);color:var(--n-500);
  width:fit-content;
}
.pcard .pcard-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--prostor-orange);}

/* =================== FEATURE ROWS =================== */
.feat-row{
  display:flex;gap:20px;align-items:flex-start;
  padding:20px 0;border-bottom:1px solid var(--n-100);
}
.feat-row:last-child{border-bottom:none;}
.feat-ico{
  width:48px;height:48px;border-radius:10px;flex-shrink:0;
  background:rgba(247,95,54,.08);color:var(--prostor-orange);
  display:flex;align-items:center;justify-content:center;
}
.feat-ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.feat-body b{display:block;font-size:21px;color:var(--n-800);margin-bottom:4px;}
.feat-body span{font-size:17px;color:var(--n-500);line-height:1.4;}

/* =================== METRIC STRIP =================== */
.mstrip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.mstrip .m{
  border-top:3px solid var(--prostor-orange);padding-top:20px;
}
.mstrip .m .mv{
  font-family:var(--font-display);font-size:64px;font-weight:600;
  line-height:1;letter-spacing:-.02em;color:var(--n-800);
}
.mstrip .m .mv small{font-size:28px;color:var(--n-400);margin-left:4px;}
.mstrip .m .ml{font-size:18px;color:var(--n-500);margin-top:10px;line-height:1.35;}

/* =================== HIGHLIGHT BOX =================== */
.hbox{
  padding:24px 30px;border-left:4px solid var(--prostor-orange);
  background:rgba(247,95,54,.04);border-radius:0 8px 8px 0;
}
.hbox b{color:var(--prostor-orange);font-weight:600;}
.dark .hbox{background:rgba(247,95,54,.1);border-color:var(--prostor-orange);}
.dark .hbox,.dark .hbox b{color:#fff;}

/* =================== ROI CALCULATOR =================== */
.roi-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
.roi-card{
  background:var(--n-50);border:1px solid var(--n-200);border-radius:10px;
  padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0;
}
.roi-card .roi-label{
  font-family:var(--font-display);font-size:16px;font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;color:var(--n-400);
}
.roi-card .roi-title{
  font-family:var(--font-display);font-size:22px;font-weight:600;
  text-transform:uppercase;color:var(--n-800);line-height:1.1;
}
.roi-card .roi-total{
  font-family:var(--font-display);font-size:48px;font-weight:600;
  color:var(--prostor-orange);line-height:1;margin-top:auto;
}
.roi-card .roi-total small{font-size:20px;color:var(--n-400);}
.roi-slider{display:flex;flex-direction:column;gap:6px;}
.roi-slider label{font-size:14px;color:var(--n-500);display:flex;justify-content:space-between;}
.roi-slider label b{color:var(--n-700);font-family:var(--font-mono);}
.roi-slider input[type="range"]{
  -webkit-appearance:none;width:100%;height:6px;border-radius:3px;outline:none;
  background:var(--n-200);cursor:pointer;accent-color:var(--prostor-orange);
}
.roi-slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;border-radius:50%;
  background:var(--prostor-orange);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.roi-effects{display:flex;flex-direction:column;gap:10px;margin-top:4px;}
.roi-eff{display:flex;justify-content:space-between;font-size:16px;color:var(--n-600);padding:6px 0;border-bottom:1px solid var(--n-100);}
.roi-eff b{font-family:var(--font-mono);color:var(--n-800);}

/* =================== ARCHITECTURE =================== */
.arch-flow{display:flex;align-items:stretch;gap:16px;}
.arch-box{
  flex:1;padding:24px;border-radius:10px;display:flex;flex-direction:column;gap:8px;
}
.arch-box.existing{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.arch-box.new{background:rgba(247,95,54,.1);border:1px solid rgba(247,95,54,.3);}
.arch-arrow{display:flex;align-items:center;color:var(--prostor-orange);font-size:28px;flex-shrink:0;}
.arch-label{font-family:var(--font-display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.6;}
.arch-title{font-size:22px;font-weight:600;}
.arch-desc{font-size:16px;opacity:.7;line-height:1.4;}

/* =================== TIMELINE =================== */
.tl-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:auto;}
.tl-item{
  padding:28px;border:1px solid var(--n-200);border-radius:10px;background:var(--n-0);
  display:flex;flex-direction:column;gap:10px;position:relative;
}
.tl-item .tl-n{
  font-family:var(--font-display);font-size:44px;font-weight:300;
  color:var(--prostor-orange);line-height:1;
}
.tl-item .tl-t{font-family:var(--font-display);font-size:21px;font-weight:600;text-transform:uppercase;line-height:1.1;}
.tl-item .tl-d{font-size:16px;color:var(--n-500);line-height:1.4;}
.tl-item .tl-dur{
  font-family:var(--font-mono);font-size:13px;color:var(--n-400);
  margin-top:auto;padding-top:10px;border-top:1px solid var(--n-100);
}

/* =================== QUOTE =================== */
.s-quote .q{
  font-family:var(--font-display);font-weight:500;text-transform:uppercase;
  font-size:80px;line-height:1.06;letter-spacing:.01em;max-width:1450px;
}
.s-quote .q .or{color:var(--prostor-orange);}
.s-quote .by{font-size:26px;margin-top:48px;color:rgba(255,255,255,.6);}

/* =================== CLOSING =================== */
.s-close .disp{font-size:100px;}
.s-close .contacts{display:flex;gap:56px;margin-top:52px;font-size:28px;}
.s-close .contacts b{
  font-family:var(--font-display);display:block;font-size:17px;
  letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-bottom:8px;font-weight:600;
}

/* =================== PILLS =================== */
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;border-radius:999px;font-size:20px;font-weight:500;
  background:rgba(0,0,0,.04);color:var(--n-600);border:1px solid var(--n-200);
}
.pill.or{background:rgba(247,95,54,.08);color:var(--prostor-orange);border-color:rgba(247,95,54,.25);}
.pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor;}

/* =================== TWO COLUMN =================== */
.two{display:grid;grid-template-columns:1fr 1fr;gap:80px;flex:1;align-content:start;}

/* =================== BULLET LIST =================== */
.blist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px;}
.blist li{display:flex;gap:18px;font-size:22px;line-height:1.45;color:var(--n-600);}
.blist .mk{flex:none;width:14px;height:14px;background:var(--prostor-orange);margin-top:10px;}

/* =================== CONCEPT DIAGRAM =================== */
.concept-ring{
  width:320px;height:320px;border:3px solid var(--prostor-orange);border-radius:50%;
  display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;
}
.concept-ring .inner{text-align:center;padding:40px;}
.concept-ring .inner b{
  font-family:var(--font-display);font-size:28px;text-transform:uppercase;
  display:block;color:var(--n-800);
}
.concept-ring .inner span{font-size:17px;color:var(--n-500);margin-top:6px;display:block;line-height:1.4;}
.concept-nodes{display:flex;flex-direction:column;gap:20px;flex:1;}
.concept-node{
  display:flex;gap:18px;align-items:flex-start;padding:18px 22px;
  border:1px solid var(--n-200);border-radius:10px;background:var(--n-0);
}
.concept-node .cn-n{
  font-family:var(--font-display);font-size:36px;font-weight:300;
  color:var(--prostor-orange);line-height:1;flex-shrink:0;width:40px;
}
.concept-node b{font-size:19px;display:block;color:var(--n-800);margin-bottom:3px;}
.concept-node span{font-size:16px;color:var(--n-500);line-height:1.4;}
