/* Pitch deck styles extracted from downloaded HTML.
   Note: this is intentionally standalone (applies to html/body). */

:root{
  --bg:        #F5F2EB;
  --bg-2:      #EBE6D8;
  --paper:     #FFFFFF;
  --ink:       #0F0F0F;
  --ink-2:     #2A2A2A;
  --muted:     #6B6B66;
  --muted-2:   #888880;
  --rule:      #D9D2BF;
  --rule-soft: #E5DFCB;
  --green:     #0F4D2E;
  --green-2:   #1A6A42;
  --green-soft:#E8F0EA;
  --dark:      #1A1A1A;
  --dark-2:    #0F0F0F;
  --on-dark:   #F5F2EB;
  --on-dark-2: #B5B0A2;
  --warn-bg:   #FFF6DD;
  --warn-line: #C8A05E;

  --sans: 'Manrope', system-ui, -apple-system, sans-serif;
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0}
html,body{
  width:100%; height:100%; height:100dvh;
  overflow:hidden; background:var(--bg); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
  overscroll-behavior:none;
}
::selection{background:var(--green); color:var(--on-dark)}
a{color:inherit; text-decoration:none}

/* ============== PRESENTATION SHELL ============== */
.presentation{position:relative; width:100vw; height:100vh; height:100dvh; overflow:hidden}
.slide{
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0; pointer-events:none;
  transition:opacity .55s ease;
  padding:64px clamp(40px, 5vw, 88px) calc(120px + env(safe-area-inset-bottom));
  display:flex; flex-direction:column;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-x pan-y;
  background:var(--bg);
}
.slide.active{opacity:1; pointer-events:all}
.anim-up{opacity:0; transform:translateY(16px); transition:opacity .8s cubic-bezier(.2,.65,.2,1), transform .8s cubic-bezier(.2,.65,.2,1)}
.slide.active .anim-up.visible{opacity:1; transform:none}

/* ============== TYPOGRAPHY ============== */
h1,h2,h3,h4{margin:0; color:var(--ink); font-weight:800; letter-spacing:-.02em; line-height:1}
h1{font-size:clamp(56px, 7vw, 112px); letter-spacing:-.03em}
h2{font-size:clamp(34px, 4.4vw, 64px); line-height:1.04}
h3{font-size:22px; line-height:1.2; font-weight:700}
h4{font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--muted)}
p{font-size:17px; line-height:1.55; color:var(--ink-2); font-weight:400}
.lead{font-size:clamp(18px, 1.6vw, 22px); line-height:1.5; color:var(--ink-2); font-weight:400; max-width:60ch}
.small{font-size:13px; color:var(--muted)}
.eyebrow{font-size:11px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--green)}
/* Safer wrapping on narrow screens */
p, .lead, .menu-title, .menu-list li button .ttl{overflow-wrap:anywhere}
/* Make numbers align nicely */
.stat .v, .s-stages .sum, .s-fin .value, .counter, .s-econ td.num{font-variant-numeric:tabular-nums}

.accent{color:var(--green)}

/* ============== TOPBAR ============== */
.topbar{
  position:fixed; top:0; left:0; right:0; z-index:80;
  display:flex; align-items:center; justify-content:space-between;
  padding:max(20px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) 18px max(24px, env(safe-area-inset-left));
  pointer-events:none;
}
.topbar > *{pointer-events:auto}
/* Menu trigger removed */
.brand{
  display:flex; align-items:center; gap:10px;
  font-size:14px; font-weight:700; letter-spacing:-.005em;
  color:var(--ink);
}
.brand svg{width:22px; height:22px; flex:none}
.brand .pitch__brand-icon{font-size:20px; line-height:1; color:var(--green); flex:none}

.exit-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  cursor:pointer;
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:999px;
  color:var(--ink);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  transition:all .25s ease;
  white-space:nowrap;
}
.exit-link:hover{border-color:var(--green); color:var(--green)}
.exit-link .fa-solid{font-size:14px; line-height:1}
.exit-link--bottom{
  padding:10px 14px;
}

/* Slide-out menu removed (pitch deck is embedded) */

/* ============== PROGRESS BAR ============== */
.progress{position:fixed; top:0; left:0; height:2px; background:var(--green); transition:width .45s ease; z-index:100}

/* ============== BOTTOM CONTROLS ============== */
.controls{
  position:fixed; left:0; right:0; z-index:80;
  bottom:max(20px, env(safe-area-inset-bottom));
  display:flex; align-items:center; justify-content:space-between;
  padding:0 max(28px, env(safe-area-inset-right)) 0 max(28px, env(safe-area-inset-left));
  pointer-events:none;
}
.controls > *{pointer-events:auto}
.counter{
  font-size:13px; font-weight:600; color:var(--muted); letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
}
.counter b{color:var(--green); font-weight:800}
.dots{display:flex; gap:8px}
.dot{
  width:28px; height:28px; border-radius:999px; cursor:pointer;
  background:transparent; border:none; padding:0;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .2s ease;
}
.dot::before{
  content:"";
  width:6px; height:6px;
  border-radius:50%;
  background:var(--rule);
  transition:all .3s ease;
}
.dot:hover::before{background:var(--muted)}
.dot.active::before{width:24px; height:6px; border-radius:3px; background:var(--green)}
.dot:focus-visible{outline:2px solid var(--green); outline-offset:2px}
.arrows{display:flex; gap:8px}
.arrow{
  width:42px; height:42px; border-radius:50%; cursor:pointer;
  border:1px solid var(--rule); background:var(--paper);
  color:var(--ink);
  display:flex; align-items:center; justify-content:center;
  transition:all .25s ease;
}
.arrow:hover{border-color:var(--green); color:var(--green); background:var(--green-soft)}
.arrow:disabled{opacity:.35; cursor:not-allowed}
.arrow:focus-visible{outline:2px solid var(--green); outline-offset:2px}
.arrow svg{width:14px; height:14px}
.arrow .fa-solid{font-size:14px; line-height:1}

/* ============== SLIDE LABEL ============== */
.slide-label{
  font-size:11px; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color:var(--green); margin-bottom:24px;
}

/* ============== COMMON COMPONENTS ============== */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:24px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.grid-6{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}

.stat .v{font-size:clamp(32px,3.5vw,52px); line-height:1; color:var(--ink); letter-spacing:-.025em; font-weight:800}
.stat .v .u{font-size:14px; font-weight:500; color:var(--muted); margin-left:4px; letter-spacing:.01em}
.stat .l{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:12px; font-weight:600}

.card{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:14px;
  padding:24px;
}
.card-dark{
  background:var(--dark);
  color:var(--on-dark);
  border-radius:14px;
  padding:28px;
}
.card-dark h3{color:var(--on-dark)}
.card-dark h4{color:var(--on-dark-2)}
.card-dark p{color:var(--on-dark-2)}
.card-dark .pill{background:rgba(245,242,235,.1); color:var(--on-dark); border-color:rgba(245,242,235,.18)}

.pill{display:inline-flex; align-items:center; gap:8px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; padding:6px 12px; border-radius:999px; background:var(--green-soft); color:var(--green); font-weight:700}
.pill.dark{background:var(--dark); color:var(--on-dark)}
.pill.outline{background:transparent; border:1px solid var(--rule); color:var(--ink-2)}

.row-list{list-style:none; border-top:1px solid var(--rule)}
.row-list li{display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:14px 0; border-bottom:1px solid var(--rule); font-size:15px}
.row-list li b{font-weight:700; color:var(--ink); font-size:16px}
.row-list li span{color:var(--muted); letter-spacing:.04em; font-size:13px; font-weight:500; align-self:center; text-align:right}

/* ============== SLIDE: HERO (1) ============== */
.s-hero{padding:0; background:var(--dark)}
.s-hero .hero-bg{
  position:absolute; inset:0;
  background-image:url('https://podushkin-les.s3-website.cloud.ru/img/hero-cafe.jpg');
  background-size:cover; background-position:center; opacity:.95;
}
.s-hero .hero-tint{
  position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,15,15,.10) 0%, rgba(15,15,15,.50) 55%, rgba(15,15,15,.88) 100%);
}
.s-hero .hero-content{
  position:relative; z-index:2;
  width:100%; height:100%;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:72px clamp(40px,5vw,88px) 110px;
  color:var(--on-dark);
}
.s-hero h1{color:var(--on-dark); max-width:18ch}
.s-hero h1 .accent{color:#7DBF8E}
.s-hero .pitch__eyebrow{color:rgba(245,242,235,.78)}
.s-hero .hero-lead{font-size:18px; color:rgba(245,242,235,.85); margin-top:20px; max-width:54ch; line-height:1.5}
.s-hero .hero-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  margin-top:48px; padding-top:32px;
  border-top:1px solid rgba(245,242,235,.2);
  max-width:920px;
}
.s-hero .hero-stats .item{padding-right:24px}
.s-hero .hero-stats .v{font-size:clamp(22px,2.4vw,34px); font-weight:800; line-height:1; letter-spacing:-.02em}
.s-hero .hero-stats .l{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,242,235,.6); margin-top:8px; font-weight:600}

/* ============== SLIDE: CONCEPT (2) ============== */
.s-concept .body{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:start; margin-top:8px; flex:1}
.s-concept .feat-list{list-style:none; margin-top:24px}
.s-concept .feat-list li{display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-top:1px solid var(--rule-soft)}
.s-concept .feat-list li:first-child{border-top:none}
.s-concept .feat-list li .num{font-size:18px; font-weight:800; color:var(--green); min-width:38px; flex:none; padding-top:2px}
.s-concept .feat-list li b{display:block; font-size:17px; font-weight:700; color:var(--ink); margin-bottom:4px}
.s-concept .feat-list li span{font-size:14px; color:var(--ink-2); line-height:1.5}
.s-concept .renders{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  height:auto;
  align-content:start;
}
.s-concept .render-tile{
  background-size:cover;
  background-position:center;
  border-radius:12px;
  aspect-ratio:4/3;
}

/* ============== SLIDE: SCENARIOS (3) ============== */
.s-scenarios .scen-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px}
.s-scenarios .scen{padding:30px 28px; background:var(--paper); border:1px solid var(--rule); border-radius:14px}
.s-scenarios .scen .icon{
  width:46px; height:46px; border-radius:50%;
  background:var(--green-soft); color:var(--green);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.s-scenarios .scen .icon svg{width:22px; height:22px}
.s-scenarios .scen .icon .fa-solid{font-size:20px; line-height:1}
.s-scenarios .scen h3{font-size:21px; line-height:1.25; margin-bottom:12px; font-weight:700}
.s-scenarios .scen p{font-size:15.5px; line-height:1.55; color:var(--ink-2); font-weight:400}

/* ============== SLIDE: LOCATION (4) ============== */
.s-location .body{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:48px;
  align-items:stretch;
  margin-top:8px;
}
.s-location .body > .anim-up{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.s-location .row-list{
  margin-top:24px !important;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.s-location .row-list li{
  padding:18px 0;
  font-size:18px;
}
.s-location .row-list li b{font-size:18px}
.s-location .row-list li span{font-size:14px}
.s-location .map-frame{
  background:var(--paper); border:1px solid var(--rule); border-radius:14px;
  padding:28px; aspect-ratio:4/3; position:relative; overflow:hidden;
}
.s-location .map-frame svg{width:100%; height:100%}

/* ============== SLIDE: SITE (5) ============== */
.s-site .body{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:24px}

/* ============== SLIDE: STAGES (6) ============== */
.s-stages .stages{margin-top:20px; border-top:2px solid var(--ink)}
.s-stages .stage{
  display:grid; grid-template-columns:64px 1fr 200px 180px;
  gap:24px; padding:18px 0; border-bottom:1px solid var(--rule);
  align-items:baseline;
}
.s-stages .stage .n{font-size:30px; font-weight:800; color:var(--green); line-height:1; letter-spacing:-.02em}
.s-stages .stage .t b{display:block; font-size:18px; font-weight:700; color:var(--ink); margin-bottom:4px}
.s-stages .stage .t span{font-size:13px; color:var(--muted-2)}
.s-stages .stage .d{font-size:13.5px; color:var(--ink-2); line-height:1.5}
.s-stages .stage .c{text-align:right}
.s-stages .stage .c .sum{font-size:22px; font-weight:800; color:var(--ink); letter-spacing:-.02em}
.s-stages .stage .c .term{font-size:12px; color:var(--muted); letter-spacing:.04em; margin-top:4px; font-weight:600; text-transform:uppercase}
.s-stages .total{display:flex; justify-content:space-between; align-items:baseline; padding:18px 0; border-bottom:2px solid var(--ink); margin-top:0}
.s-stages .total .lab{font-size:14px; font-weight:700; color:var(--muted); letter-spacing:.16em; text-transform:uppercase}
.s-stages .total .v{font-size:32px; font-weight:800; letter-spacing:-.02em}

/* ============== SLIDE: MARKET (7) ============== */
.s-market .stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:16px}
.s-market .stat-row .stat{padding:24px; background:var(--paper); border:1px solid var(--rule); border-radius:14px}
.s-market .seg-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:32px}
.s-market .seg{padding:18px 16px; background:var(--bg-2); border-radius:12px}
.s-market .seg .num{font-size:14px; font-weight:800; color:var(--green); margin-bottom:8px}
.s-market .seg h3{font-size:15px; font-weight:700; margin-bottom:6px; line-height:1.25}
.s-market .seg p{font-size:12.5px; color:var(--muted); line-height:1.5}

/* ============== SLIDE: FINANCIAL DATA (8) ============== */
.s-fin{padding-bottom:96px}
.s-fin h2{font-size:clamp(30px, 3.6vw, 52px)}
.s-fin .fin-list{margin-top:8px; border-top:2px solid var(--ink)}
.s-fin .fin-row{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:14px 0; border-bottom:1px solid var(--rule);
}
.s-fin .fin-row .label{font-size:15px; font-weight:500; color:var(--ink-2); flex:1; padding-right:16px}
.s-fin .fin-row .value{
  font-size:clamp(22px,2.5vw,32px);
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.02em;
  flex:0 0 auto;
  white-space:nowrap;
  text-align:right;
}
.s-fin .fin-row.accent .value{color:var(--green)}
.s-fin .source{font-size:12px; color:var(--muted); margin-top:16px; letter-spacing:.04em}

/* ============== SLIDE: ECONOMICS BY STAGE (9) ============== */
.s-econ .table-wrap{
  margin-top:22px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:6px;
  position:relative;
  flex:1;
}
.s-econ .table-wrap::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:28px;
  height:100%;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(245,242,235,0), rgba(245,242,235,1));
}
.s-econ table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}
.s-econ th, .s-econ td{padding:16px 14px; text-align:left; font-size:15px; border-bottom:1px solid var(--rule)}
.s-econ th{font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); border-bottom:2px solid var(--ink)}
.s-econ th.num, .s-econ td.num{white-space:nowrap; text-align:right; font-weight:700; font-variant-numeric:tabular-nums}
.s-econ td.stage-name{font-weight:700; color:var(--ink); font-size:15px}
.s-econ tr.total td{font-weight:800; color:var(--green); font-size:15px; border-top:2px solid var(--ink); border-bottom:none; padding-top:18px}
.s-econ tr.total td.num{font-size:16px}
.s-econ .footnote{font-size:12px; color:var(--muted); margin-top:18px}

/* Mobile cards alternative (shown on small screens) */
.s-econ .econ-cards{display:none}
.s-econ .econ-cards{margin-top:18px; gap:12px}
.s-econ .econ-card{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:16px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.s-econ .econ-card__stage{
  font-size:12px;
  font-weight:900;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--green);
}
.s-econ .econ-card__objects{
  font-size:13.5px;
  line-height:1.5;
  color:var(--ink);
  font-weight:800;
  margin-top:6px;
}
.s-econ .econ-card__metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
}
.s-econ .econ-metric{
  border:1px solid var(--rule-soft);
  border-radius:12px;
  padding:12px;
  background:var(--bg);
}
.s-econ .econ-metric__label{
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:900;
}
.s-econ .econ-metric__value{
  margin-top:6px;
  font-size:18px;
  font-weight:900;
  color:var(--ink);
  letter-spacing:-.02em;
  line-height:1.1;
  font-variant-numeric:tabular-nums;
}
.s-econ .econ-metric--accent .econ-metric__value{color:var(--green)}
.s-econ .econ-card__bottom{display:flex; justify-content:flex-start}
.s-econ .econ-chip{
  display:inline-flex;
  align-items:baseline;
  gap:10px;
  padding:10px 12px;
  border-radius:999px;
  background:var(--green-soft);
  border:1px solid rgba(15,77,46,.18);
}
.s-econ .econ-chip__label{
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--green);
  font-weight:900;
}
.s-econ .econ-chip__value{
  font-size:16px;
  font-weight:900;
  color:var(--green);
  font-variant-numeric:tabular-nums;
}
.s-econ .econ-card--total{
  background:var(--dark);
  border-color:rgba(245,242,235,.15);
}
.s-econ .econ-card--total .econ-card__stage{color:#7DBF8E}
.s-econ .econ-card--total .econ-card__objects{color:rgba(245,242,235,.62)}
.s-econ .econ-card--total .econ-metric{background:rgba(245,242,235,.08); border-color:rgba(245,242,235,.15)}
.s-econ .econ-card--total .econ-metric__label{color:rgba(245,242,235,.55)}
.s-econ .econ-card--total .econ-metric__value{color:var(--on-dark)}
.s-econ .econ-card--total .econ-metric--accent .econ-metric__value{color:#7DBF8E}

@media (max-width: 1100px){
  .s-econ .table-wrap{display:none}
  .s-econ .econ-cards{display:flex; flex-direction:column}
}

/* Desktop: make the table fill the slide (no horizontal scroll) */
@media (min-width: 1101px){
  .s-econ .table-wrap{
    overflow:visible;
    padding-bottom:0;
  }
  .s-econ .table-wrap::after{display:none}
  .s-econ table{
    min-width:0;
    table-layout:fixed;
    height:100%;
  }
  .s-econ th, .s-econ td{font-size:18px; padding:26px 16px}
  .s-econ td{vertical-align:top}
  .s-econ thead tr{height:64px}
  .s-econ tbody tr{height:78px}
  .s-econ .table-wrap{margin-top:28px}
  .s-econ .footnote{margin-top:auto}
  .s-econ th:nth-child(1), .s-econ td:nth-child(1){width:11%}
  .s-econ th:nth-child(2), .s-econ td:nth-child(2){width:33%}
  .s-econ th:nth-child(3), .s-econ td:nth-child(3){width:12%}
  .s-econ th:nth-child(4), .s-econ td:nth-child(4){width:12%}
  .s-econ th:nth-child(5), .s-econ td:nth-child(5){width:8%}
  .s-econ th:nth-child(6), .s-econ td:nth-child(6){width:12%}
  .s-econ th:nth-child(7), .s-econ td:nth-child(7){width:12%}
  .s-econ td:nth-child(2){white-space:normal}
}

/* ============== SLIDE: DEAL (10) ============== */
.s-deal .deal-main{
  margin-top:20px; padding:32px;
  background:var(--dark); color:var(--on-dark); border-radius:16px;
  display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center;
}
.s-deal .deal-main .badge-big{
  font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:#7DBF8E; margin-bottom:12px;
}
.s-deal .deal-main h3{
  color:var(--on-dark); font-size:34px; line-height:1.1; font-weight:800; letter-spacing:-.02em;
  max-width:14ch;
}
.s-deal .deal-main p{color:rgba(245,242,235,.78); font-size:15px; line-height:1.55; max-width:48ch}
.s-deal .ways-label{margin-top:24px; font-size:12px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--muted)}
.s-deal .ways{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:14px;
  align-items:stretch;
}
.s-deal .way{
  padding:22px 18px;
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:12px;
  display:flex;
  flex-direction:column;
}
.s-deal .way .num{font-size:11px; font-weight:800; color:var(--green); letter-spacing:.16em; margin-bottom:8px}
.s-deal .way h3{font-size:15px; font-weight:700; line-height:1.3; margin-bottom:6px}
.s-deal .way p{font-size:13px; line-height:1.45; color:var(--muted); margin-top:auto}

/* Desktop: make deal cards fill the slide */
@media (min-width: 1101px){
  .s-deal{
    padding-bottom:96px;
  }
  .s-deal .deal-main{
    padding:44px;
    gap:40px;
  }
  .s-deal .deal-main h3{font-size:40px}
  .s-deal .deal-main p{font-size:16px; line-height:1.65}
  .s-deal .ways{
    grid-auto-rows:1fr;
    margin-top:26px;
    gap:18px;
  }
  .s-deal .way{
    padding:40px 28px;
    min-height:190px;
  }
  .s-deal .way .num{font-size:12px}
  .s-deal .way h3{font-size:18px}
  .s-deal .way p{font-size:15px; line-height:1.55}
}
.s-deal .deal-bottom{display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-top:18px}
.s-deal .deal-bottom .b{padding:18px; background:var(--dark); color:var(--on-dark); border-radius:12px}
.s-deal .deal-bottom .b h4{color:rgba(245,242,235,.6); margin-bottom:8px; font-size:11px}
.s-deal .deal-bottom .b p{color:var(--on-dark); font-size:13.5px; line-height:1.45}

/* ============== SLIDE: TEAM (11) ============== */
.s-team .team-subtitle{
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:14px;
}
.s-team .team-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:12px;
}
.s-team .consultants-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:12px;
  align-items:stretch;
}
.s-team .person{padding:22px 18px; background:var(--paper); border:1px solid var(--rule); border-radius:14px; display:flex; flex-direction:column; align-items:center; text-align:center}
.s-team .person .photo{
  width:78%; aspect-ratio:1/1;
  background-size:cover; background-position:center top;
  border-radius:50%;
  margin-bottom:16px;
  box-shadow:0 0 0 1px var(--rule);
}
.s-team .person .name{font-size:18px; font-weight:800; line-height:1.2; margin-bottom:8px; letter-spacing:-.01em}
.s-team .person .role{font-size:14px; color:var(--green); font-weight:700; margin-bottom:14px; line-height:1.35; min-height:34px}
.s-team .person .bio{font-size:14px; line-height:1.6; color:var(--muted); flex:1}
.s-team .uk-card{
  padding:24px;
  background:var(--dark);
  color:var(--on-dark);
  border-radius:14px;
  border:1px solid rgba(245,242,235,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.s-team .uk-card .uk-logo{font-size:34px; font-weight:900; letter-spacing:-.02em}

@media (min-width: 1101px){
  .s-team .team-grid{gap:18px; margin-top:16px}
  .s-team .consultants-grid{gap:18px; margin-top:14px}
  .s-team .person{padding:26px 20px}
  .s-team .person .photo{margin-bottom:18px}
  .s-team .person .name{font-size:19px}
  .s-team .person .role{font-size:14.5px}
  .s-team .person .bio{font-size:14.5px}
  .s-team .uk-card{padding:30px}
  .s-team .uk-card .uk-logo{font-size:40px}
}

/* ============== SLIDE: STATUS (12) ============== */
.s-status h2{font-size:clamp(30px, 3.6vw, 52px)}
.s-status .body{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:28px;
  margin-top:14px;
  align-items:stretch;
}
.s-status .body > .anim-up{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.s-status .invest-list{border-top:1px solid var(--rule)}
.s-status .invest-list li{
  display:flex; justify-content:space-between; gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--rule-soft);
  font-size:18px;
  line-height:1.2;
}
.s-status .invest-list{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
}
.s-status .invest-list li b{font-weight:650; color:var(--ink-2); font-size:18px}
.s-status .invest-list li span{color:var(--ink); font-weight:800; font-size:18px; font-variant-numeric:tabular-nums; white-space:nowrap}
.s-status .invest-total{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:14px 0; border-top:2px solid var(--ink); margin-top:0;
}
.s-status .invest-total b{font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--muted)}
.s-status .invest-total span{font-size:24px; font-weight:800; color:var(--green); letter-spacing:-.02em}
.s-status .docs-list{display:grid; grid-template-columns:1fr; gap:8px; margin-top:12px}
.s-status .docs-list .doc{
  padding:12px 14px; background:var(--paper); border:1px solid var(--rule); border-radius:10px;
  display:flex; align-items:flex-start; gap:12px;
}
.s-status .docs-list .doc .check{width:18px; height:18px; flex:none; color:var(--green); margin-top:2px}
.s-status .docs-list .doc .check.fa-solid{display:inline-flex; align-items:center; justify-content:center; font-size:16px}
.s-status .docs-list .doc b{display:block; font-size:16px; font-weight:700; margin-bottom:4px}
.s-status .docs-list .doc span{font-size:14px; color:var(--muted); line-height:1.45}

/* ============== SLIDE: SUPPORT/RISKS (13) ============== */
.s-sr h2{font-size:clamp(30px, 3.6vw, 52px)}
.s-sr .body{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto repeat(4, 1fr);
  grid-auto-flow:column;
  gap:28px;
  margin-top:14px;
  align-items:stretch;
}
/* Flatten columns so both sides share the same row tracks */
.s-sr .col{display:contents}
.s-sr .col h3{font-size:22px; margin-bottom:16px}
.s-sr .item{
  padding:16px 18px;
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:14px;
  margin-bottom:0;
  height:100%;
  display:flex;
  flex-direction:column;
}
.s-sr .item b{display:block; font-size:16px; font-weight:750; margin-bottom:6px; color:var(--green)}
.s-sr .item p{font-size:15px; color:var(--ink-2); line-height:1.5}
.s-sr .item--spacer{
  visibility:hidden;
  border-color:transparent;
  background:transparent;
}

@media (min-width: 1101px){
  .s-sr .body{gap:32px}
  .s-sr .col h3{font-size:24px}
  .s-sr .item{padding:18px 20px}
  .s-sr .item b{font-size:17px}
  .s-sr .item p{font-size:15.5px}
}

/* ============== SLIDE: CONTACTS (14) ============== */
.s-contacts{justify-content:center}
.s-contacts .body{
  display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center;
  max-width:1200px; margin:0 auto; width:100%;
}
.s-contacts h2{margin-top:14px}
.s-contacts .lead{margin-top:20px; max-width:48ch}
.s-contacts .info{padding:32px; background:var(--dark); color:var(--on-dark); border-radius:18px}
.s-contacts .info h4{color:rgba(245,242,235,.55); margin-bottom:6px}
.s-contacts .info .name{font-size:26px; font-weight:800; margin-bottom:6px; letter-spacing:-.02em}
.s-contacts .info .role{font-size:12.5px; color:#7DBF8E; font-weight:600; letter-spacing:.06em; margin-bottom:24px}
.s-contacts .info .row{padding:14px 0; border-top:1px solid rgba(245,242,235,.15); font-size:14px; display:flex; justify-content:space-between; gap:16px; align-items:baseline}
.s-contacts .info .row .l{color:rgba(245,242,235,.55); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600}
.s-contacts .info .row b{font-size:16px; font-weight:700; color:var(--on-dark); text-align:right}
.s-contacts .info .row b a{color:#7DBF8E}

/* ============== RESPONSIVE ============== */
@media (max-width: 1100px){
  .s-concept .body, .s-location .body, .s-site .body, .s-status .body, .s-sr .body, .s-contacts .body{grid-template-columns:1fr; gap:24px}
  .s-sr .body{grid-template-rows:none; grid-auto-flow:row}
  .s-stages .stage{grid-template-columns:50px 1fr; gap:8px 16px}
  .s-stages .stage .t{grid-column:2}
  .s-stages .stage .d{grid-column:1 / span 2; padding-top:6px}
  .s-stages .stage .c{grid-column:1 / span 2; text-align:left}
  .s-deal .ways{grid-template-columns:1fr 1fr}
  .s-deal .deal-main{grid-template-columns:1fr; gap:18px}
  .s-deal .deal-main h3{font-size:26px}
  .s-team .team-grid{grid-template-columns:repeat(2,1fr)}
  .s-team .consultants-grid{grid-template-columns:1fr; gap:14px}
  .s-scenarios .scen-grid{grid-template-columns:1fr 1fr}
  .s-market .stat-row, .s-market .seg-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 820px){
  .brand{font-size:13px}
  .arrow{width:46px; height:46px}
  .controls{gap:14px}
}
@media (max-width: 700px){
  .slide{
    padding:calc(80px + env(safe-area-inset-top)) 22px calc(116px + env(safe-area-inset-bottom));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-x pan-y;
  }
  .s-hero .hero-content{
    padding:calc(28px + env(safe-area-inset-top)) 22px calc(116px + env(safe-area-inset-bottom));
    justify-content:flex-start;
  }
  .s-hero h1{margin-top:6px}
  .s-hero .hero-lead{margin-top:14px}
  .s-hero .hero-stats{margin-top:22px; margin-bottom:48px}
  h1{font-size:42px}
  h2{font-size:30px}
  .lead{font-size:16px}
  p{font-size:15px; line-height:1.6}
  .slide-label{margin-bottom:18px; font-size:10px}
  .s-hero .hero-stats{grid-template-columns:1fr 1fr; gap:18px 12px}
  .s-fin .fin-row{padding:14px 0}
  .s-fin .fin-row .label{font-size:14px}
  .s-fin .fin-row .value{font-size:20px}
  .s-fin .source{
    margin-top:16px;
    padding-bottom:44px;
  }
  .s-stages .stage .n{font-size:24px}
  .s-stages .stage .t b{font-size:16px}
  .s-stages .stage .c .sum{font-size:18px}
  .s-econ table{font-size:12px}
  .s-econ th, .s-econ td{padding:10px 6px}
  .s-deal .way{min-height:auto}
  .s-team .person .name{font-size:14px}
  .s-team .uk-card .uk-info{grid-template-columns:1fr}
  .s-contacts .info{padding:24px}
  .s-contacts .info .name{font-size:22px}
  .s-contacts{justify-content:flex-start}
}
@media (max-width: 480px){
  .slide{padding:calc(78px + env(safe-area-inset-top)) 18px calc(116px + env(safe-area-inset-bottom))}
  h1{font-size:36px; line-height:1.05}
  h2{font-size:24px}
  .s-hero h1{font-size:36px}
  .s-hero .hero-content{
    padding:calc(24px + env(safe-area-inset-top)) 18px calc(160px + env(safe-area-inset-bottom));
  }
  .s-hero .hero-stats{grid-template-columns:1fr 1fr; gap:16px 12px}
  .s-hero .hero-stats .v{font-size:20px}
  .s-scenarios .scen-grid, .s-market .stat-row, .s-market .seg-grid, .s-team .team-grid{grid-template-columns:1fr}
  .grid-2, .grid-3, .grid-4{grid-template-columns:1fr}
  .s-deal .ways{grid-template-columns:1fr}
  .s-stages .stage{grid-template-columns:40px 1fr}
  .s-stages .stage{padding:14px 0}
  .s-stages .stage .c{display:flex; gap:10px; align-items:baseline; flex-wrap:wrap}
  .s-stages .stage .c .term{margin-top:0}
  .s-stages .total .v{
    font-size:clamp(18px, 6.2vw, 24px);
    white-space:nowrap;
  }
  .row-list li{flex-direction:column; gap:4px; align-items:flex-start; padding:12px 0}
  .row-list li span{font-size:12px}
  .brand span{display:none}
  .arrow{width:44px; height:44px}
  .dots{display:none}

  .s-team .person{padding:18px 14px}
  .s-team .person .bio{font-size:12px}

  .s-location .map-frame{
    padding:14px;
    aspect-ratio:1/1.05;
  }

  .s-location .map-frame svg text{font-size:12px !important}

  .s-econ table{min-width:720px}

  .s-status .invest-total span{
    font-size:clamp(18px, 6.2vw, 24px);
    white-space:nowrap;
  }

  .s-fin .fin-row{padding:12px 0}
  .s-fin .fin-row .label{font-size:14px}
  .s-fin .fin-row .value{font-size:19px}
  .s-fin .source{
    font-size:12px;
    padding-bottom:56px;
  }
}
@media (max-height: 600px) and (orientation: landscape){
  .slide{padding:60px clamp(28px,4vw,72px) 90px; overflow-y:auto; touch-action:pan-x pan-y}
  h1{font-size:clamp(36px,5.5vw,60px)}
  h2{font-size:clamp(22px,3.4vw,38px)}
  .slide-label{margin-bottom:14px}
}

