/* ==========
   CASPIANWIND — FARMS page
   Вся графика ≤350px, адаптив, уникальные блоки
   ========== */

:root {
  --cw-band-tilt: -6deg;
}

/* Общие */
.farms-band__grid, .farms-gen__grid, .farms-morph__grid { 
  display: grid; gap: clamp(14px, 3vw, 24px);
}
.farms-band__copy h2,
.farms-gen__head h2,
.farms-morph__copy h2 {
  margin: 0 0 8px; font-size: clamp(22px, 3.2vw, 34px);
}
.farms-band__copy p, .farms-gen__head p, .farms-morph__copy p { margin: 0 0 10px; color: var(--cw-ink-dim); }
img { width: min(100%, 350px); height: auto; display: block; }

/* ===== SECTION 1 — Atlas Bandı */
.farms-band__grid {
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
}
@media (max-width: 900px){ .farms-band__grid { grid-template-columns: 1fr; } }

.farms-band__bullets { margin: 8px 0 0; padding-left: 18px; color: var(--cw-ink-dim); }
.farms-band__bullets li { margin: 4px 0; }

.farms-band__strip {
  position: relative; height: 180px; border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden; box-shadow: var(--cw-shadow);
}
.farms-band__mask {
  position: absolute; inset: -60% -10% -60% -10%;
  background: radial-gradient(90% 70% at 50% 50%, rgba(26,166,166,.15), transparent 60%);
  transform: rotate(var(--cw-band-tilt));
}
.farms-band__path path {
  fill: none; stroke: color-mix(in srgb, var(--cw-teal) 70%, #fff 0%); stroke-width: 2;
  stroke-dasharray: 900; stroke-dashoffset: 900; 
  animation: farms-draw 1.2s ease forwards;
}
@keyframes farms-draw { to { stroke-dashoffset: 0; } }

.farms-band__dots { position: absolute; inset: 0; pointer-events: none; }
.farms-band__dots span {
  position: absolute; width: 10px; height: 10px; border-radius: 50%;
  background: var(--cw-lime); filter: drop-shadow(0 2px 8px rgba(0,0,0,.35));
  transform: translate(-50%,-50%);
}
.farms-band__dots [data-i="0"] { left: 18%; top: 62%; }
.farms-band__dots [data-i="1"] { left: 50%; top: 36%; }
.farms-band__dots [data-i="2"] { left: 88%; top: 20%; }

.farms-band__pins {
  display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 12px;
}
.farms-pin {
  border: 1px solid rgba(255,255,255,.06); border-radius: 16px; padding: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.farms-pin:hover { transform: translateY(-4px) rotate(-.3deg); border-color: rgba(167,255,75,.28); box-shadow: 0 18px 42px rgba(0,0,0,.45); }
.farms-pin figcaption { margin-top: 6px; font-size: 13px; color: var(--cw-ink-dim); }

@media (max-width: 900px){ .farms-band__pins { grid-template-columns: 1fr; } }

/* ===== SECTION 2 — Türbin Nesilleri */
.farms-gen__grid { grid-template-columns: 1.1fr .9fr; align-items: center; }
@media (max-width: 900px){ .farms-gen__grid { grid-template-columns: 1fr; } }

.farms-gen__spine {
  position: relative; border-radius: 16px; padding: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.06); box-shadow: var(--cw-shadow);
  overflow: hidden;
}
.farms-gen__ticks { list-style: none; margin: 0; padding: 0; position: absolute; left: 12px; top: 12px; bottom: 12px; width: 64px; display: grid; align-content: space-between; }
.farms-gen__ticks li { color: var(--cw-ink-dim); font-size: 12px; }
.farms-gen__ticks span { background: rgba(255,255,255,.06); padding: 2px 6px; border-radius: 8px; display: inline-block; }

.farms-gen__bars { margin-left: 76px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; align-items: end; min-height: 180px; }
.farms-gen__bars .bar {
  position: relative; height: 12px; border-radius: 10px;
  background: linear-gradient(180deg, var(--cw-teal), color-mix(in srgb, var(--cw-lime) 60%, var(--cw-teal)));
  transform: translateY(160px); /* старт снизу */
}
.farms-gen__bars .bar b { position: absolute; left: 50%; bottom: calc(100% + 4px); transform: translateX(-50%); font-size: 12px; color: var(--cw-ink); }
.farms-gen__shot { margin: 0; }
.farms-gen__shot figcaption { margin-top: 6px; font-size: 13px; color: var(--cw-ink-dim); }

.farms-gen__aside { display: grid; gap: 12px; justify-items: start; }

/* ===== SECTION 3 — Morfoloji Matrisi */
.farms-morph__grid { grid-template-columns: 1fr 1fr; align-items: center; }
@media (max-width: 960px){ .farms-morph__grid { grid-template-columns: 1fr; } }

.farms-morph__diagram {
  border: 1px solid rgba(255,255,255,.06); border-radius: 16px; padding: 8px; box-shadow: var(--cw-shadow);
  background: radial-gradient(80% 80% at 50% 0%, rgba(120,224,255,.08), transparent 60%);
}
.farms-morph__svg { width: 100%; height: auto; display: block; }
.m-line { fill: none; stroke-width: 2; stroke-dasharray: 700; stroke-dashoffset: 700; animation: farms-draw 1.2s ease forwards; }
.m-dot { fill: var(--cw-lime); filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); }

.farms-morph__shots { display: grid; grid-template-columns: repeat(2, minmax(160px, 1fr)); gap: 12px; }
.farms-morph__shots figcaption { margin-top: 6px; font-size: 13px; color: var(--cw-ink-dim); }
@media (max-width: 700px){ .farms-morph__shots { grid-template-columns: 1fr; } }

/* Reveal fallback for reduced motion */
@media (prefers-reduced-motion: reduce){
  .reveal { opacity: 1; transform: none; }
}
/* ====== SECTION 4 — LOJISTIK ====== */
.farms-logi__grid{
  display:grid; gap:14px;
  grid-template-columns: 1fr 1.1fr 0.9fr; /* metin | rota | foto-çift */
  align-items:center;
}
@media (max-width: 1000px){ .farms-logi__grid{ grid-template-columns: 1fr; } }

.farms-logi__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-logi__copy p{ margin:0; color: var(--cw-ink-dim); }

.farms-logi__route{
  border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:8px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow); overflow:hidden;
}
.logi-svg{ width:100%; height:auto; display:block; }
.logi-path{
  fill:none; stroke-width:2.5;
  stroke-dasharray: 900; stroke-dashoffset: 900;
  animation: farms-draw 1.1s ease forwards;
}
.logi-stops circle{ fill: var(--cw-lime); filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); }
.logi-dot{ fill: #78e0ff; filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); }

.farms-logi__chips{
  display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px;
}
.farms-logi__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-logi__chips{ grid-template-columns: 1fr; } }

/* Фото-лимит для новых секций */
.farms-logi img, .farms-subsea img, .farms-maint img { width: min(100%, 350px); height: auto; display: block; }

/* ====== SECTION 5 — SUBSEA ====== */
.farms-subsea__grid{
  display:grid; gap:14px;
  grid-template-columns: 1.1fr .9fr; align-items:center;
}
@media (max-width: 960px){ .farms-subsea__grid{ grid-template-columns: 1fr; } }

.farms-subsea__scene{
  position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:8px;
  background: radial-gradient(80% 80% at 50% 0%, rgba(120,224,255,.08), transparent 60%);
  box-shadow: var(--cw-shadow); overflow:hidden;
}
.subsea-contours{
  position:absolute; inset:-10% -10% -10% -10%;
  background:
    radial-gradient(60% 60% at 30% 40%, rgba(26,166,166,.14), transparent 55%),
    radial-gradient(60% 60% at 70% 70%, rgba(167,255,75,.08), transparent 55%);
  animation: subsea-drift 14s ease-in-out infinite;
}
@keyframes subsea-drift{
  0%,100%{ transform: translate(0,0) scale(1); }
  50%{ transform: translate(4px,-6px) scale(1.02); }
}
.subsea-svg{ width:100%; height:auto; display:block; position:relative; z-index:1; }
.subsea-cable{
  fill:none; stroke-width: 2.5;
  stroke-dasharray: 900; stroke-dashoffset: 900; animation: farms-draw 1.2s ease forwards .2s;
}
.subsea-buoys circle{ fill: var(--cw-lime); filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); }

.farms-subsea__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-subsea__copy p{ margin:0 0 10px; color: var(--cw-ink-dim); }
.farms-subsea__chips{
  display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px;
}
.farms-subsea__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-subsea__chips{ grid-template-columns: 1fr; } }

/* ====== SECTION 6 — MAINT ====== */
.farms-maint__grid{
  display:grid; gap:14px;
  grid-template-columns: .9fr 1.1fr; align-items:start;
}
@media (max-width: 960px){ .farms-maint__grid{ grid-template-columns: 1fr; } }

.farms-maint__aside h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.maint-quarters{
  margin:0 0 10px; padding-left: 18px; color: var(--cw-ink-dim);
}
.maint-bar{ position:relative; height: 10px; background: rgba(255,255,255,.06); border-radius: 999px; overflow:hidden; }
.maint-fill{ position:absolute; left:0; top:0; height:100%; width:0%; background: linear-gradient(90deg, var(--cw-teal), var(--cw-lime)); }

.farms-maint__stack{ display:grid; gap:12px; }
.maint-step{
  border:1px solid rgba(255,255,255,.06); border-radius:16px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow); padding:12px;
}
.maint-step h3{ margin:0 0 6px; font-size:18px; color: var(--cw-ink); }
.maint-step p{ margin:0; color: var(--cw-ink-dim); }

.farms-maint__shots{
  display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px;
}
.farms-maint__shots figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-maint__shots{ grid-template-columns: 1fr; } }
/* ===== SECTION 7 — WAKE GRID ===== */
.farms-wake__grid{
  display:grid; gap:14px;
  grid-template-columns: 1.1fr .9fr; align-items:center;
}
@media (max-width: 960px){ .farms-wake__grid{ grid-template-columns: 1fr; } }

.farms-wake__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-wake__copy p{ margin:0 0 8px; color: var(--cw-ink-dim); }

.farms-wake__scene{
  border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:10px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow); overflow:hidden;
}
.wake-grid{
  --cells: 60;
  --ang: 0deg; /* JS меняет под указатель */
  display:grid;
  grid-template-columns: repeat(10, 1fr);
  grid-auto-rows: 24px;
  gap: 6px;
}
.wake-cell{
  position:relative; border-radius:8px; background: rgba(255,255,255,.03);
  overflow:hidden; isolation:isolate;
}
.wake-cell::before{
  content:""; position:absolute; inset:10px; border-radius:6px;
  background:
    linear-gradient(var(--ang), transparent 40%, color-mix(in srgb, var(--cw-teal) 70%, #78e0ff 30%) 42% 58%, transparent 60%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  transition: transform .2s ease, background .2s ease;
}
.wake-cell:hover::before{ transform: scale(1.06); }

.farms-wake__chips{
  display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px;
}
.farms-wake__chips img{ width:min(100%, 350px); height:auto; display:block; border-radius: var(--cw-radius); }
.farms-wake__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-wake__chips{ grid-template-columns: 1fr; } }

/* ===== SECTION 8 — COAST BAND ===== */
.farms-coast__grid{
  display:grid; gap:14px;
  grid-template-columns: 1.1fr .9fr; align-items:center;
}
@media (max-width: 960px){ .farms-coast__grid{ grid-template-columns: 1fr; } }

.farms-coast__band{
  position:relative; height:220px; border-radius:16px; overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
  background: radial-gradient(80% 80% at 50% 0%, rgba(120,224,255,.08), transparent 60%);
  box-shadow: var(--cw-shadow);
}
.coast-layer{
  position:absolute; left:-10%; right:-10%; height:40%;
  filter: blur(0.2px); opacity:.8;
}
.coast-layer--sea{ bottom:0; background: linear-gradient(180deg, #78e0ff, #1aa6a6); }
.coast-layer--shore{ bottom:28%; background: linear-gradient(180deg, #9ddc7a, #688c3a); clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 100%); }
.coast-layer--buffer{ bottom:46%; background: repeating-linear-gradient(90deg, rgba(167,255,75,.18) 0 8px, transparent 8px 16px); height:10%; }

.coast-wave{
  position:absolute; left:-50%; right:-50%; bottom:10%;
  height: 18px; opacity:.7;
  background: radial-gradient(100% 100% at 50% 50%, rgba(255,255,255,.5), transparent 60%);
  animation: coast-wave 8s linear infinite;
}
@keyframes coast-wave{
  0%{ transform: translateX(-10%) }
  100%{ transform: translateX(10%) }
}

.farms-coast__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-coast__copy p{ margin:0 0 10px; color: var(--cw-ink-dim); }
.farms-coast__chips{ display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px; }
.farms-coast__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-coast__chips{ grid-template-columns: 1fr; } }

/* ===== SECTION 9 — SCADA STRIP ===== */
.farms-scada__grid{
  display:grid; gap:14px;
  grid-template-columns: .9fr 1.1fr; align-items:start;
}
@media (max-width: 960px){ .farms-scada__grid{ grid-template-columns: 1fr; } }

.farms-scada__aside h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.scada-rail{
  position:relative; height: 10px; border-radius:999px;
  background: rgba(255,255,255,.06); overflow:hidden; margin-bottom:8px;
}
.scada-progress{
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background: linear-gradient(90deg, var(--cw-teal), var(--cw-lime));
}

.farms-scada__stream{ display:grid; gap:12px; }
.scada-item{
  border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:12px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01)); box-shadow: var(--cw-shadow);
}
.scada-item h3{ margin:0 0 6px; font-size:18px; color: var(--cw-ink); }
.scada-item p{ margin:0; color: var(--cw-ink-dim); }

.farms-scada__shots{
  display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px;
}
.farms-scada__shots figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-scada__shots{ grid-template-columns: 1fr; } }
/* ===== SECTION 10 — NODE RING ===== */
.farms-node__grid{
  display:grid; gap:14px;
  grid-template-columns: 1.1fr .9fr 1fr; align-items:center;
}
@media (max-width: 1000px){ .farms-node__grid{ grid-template-columns: 1fr; } }

.farms-node__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-node__copy p{ margin:0 0 8px; color: var(--cw-ink-dim); }

.farms-node__ring{
  border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:8px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow); display:grid; place-items:center; gap:10px;
}
.node-svg{ width:min(100%, 260px); height:auto; display:block; }
.node-arc{
  fill:none; stroke-width:14; stroke-linecap:round;
  stroke-dasharray: 600; stroke-dashoffset: 600;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.35));
  transition: stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1);
}
.node-legend{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin:0; padding:0; list-style:none; }
.leg{ display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:6px; vertical-align:middle; }
.leg--gen{ background:#78e0ff; }
.leg--store{ background:#a7ff4b; }
.leg--load{ background:color-mix(in srgb, var(--cw-teal) 60%, var(--cw-lime) 40%); }

.farms-node__chips{ display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px; }
.farms-node__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-node__chips{ grid-template-columns: 1fr; } }

/* ===== SECTION 11 — FOUNDATION GEO-RADAR ===== */
.farms-foundation__grid{
  display:grid; gap:14px;
  grid-template-columns: 1.1fr .9fr; align-items:center;
}
@media (max-width: 960px){ .farms-foundation__grid{ grid-template-columns: 1fr; } }

.farms-foundation__scene{
  position:relative; height:220px; border-radius:16px; overflow:hidden;
  border:1px solid rgba(255,255,255,.06); box-shadow: var(--cw-shadow);
  background: radial-gradient(80% 80% at 50% 0%, rgba(120,224,255,.08), transparent 60%);
}
.geo-terrain{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    repeating-linear-gradient(180deg, rgba(255,255,255,.06) 0 2px, transparent 2px 10px);
  clip-path: polygon(0 55%, 18% 52%, 34% 58%, 52% 46%, 68% 50%, 100% 40%, 100% 100%, 0 100%);
}
.geo-scan{
  position:absolute; top:0; bottom:0; left:-20%;
  width: 40%; opacity:.9;
  background: linear-gradient(90deg, transparent, rgba(167,255,75,.25), transparent);
  filter: blur(1px);
  animation: geo-sweep 3.6s linear infinite;
}
@keyframes geo-sweep{
  0% { transform: translateX(0); }
  100% { transform: translateX(300%); }
}

.farms-foundation__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-foundation__copy p{ margin:0 0 10px; color: var(--cw-ink-dim); }
.farms-foundation__chips{ display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px; }
.farms-foundation__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-foundation__chips{ grid-template-columns: 1fr; } }

/* ===== SECTION 12 — CALENDAR HEATMAP ===== */
.farms-calendar__grid{
  display:grid; gap:14px;
  grid-template-columns: .9fr 1.1fr; align-items:center;
}
@media (max-width: 960px){ .farms-calendar__grid{ grid-template-columns: 1fr; } }

.farms-calendar__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-calendar__copy p{ margin:0; color: var(--cw-ink-dim); }

.farms-calendar__heat{
  border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:10px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow);
}
.cal-grid{
  display:grid; grid-template-columns: repeat(7, 1fr); gap: 8px;
}
.cal-day{
  width: 100%; aspect-ratio: 1/1; border-radius: 6px;
  background: rgba(120,224,255,.15);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  transition: transform .2s ease, background-color .2s ease, opacity .4s ease;
  opacity:.15; transform: scale(.96);
}
.cal-day.is-on{
  opacity: 1; transform: none;
  background: color-mix(in srgb, var(--cw-lime) calc(var(--v)*100%), rgba(120,224,255,.3));
}

.farms-calendar__chips{ display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px; }
.farms-calendar__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-calendar__chips{ grid-template-columns: 1fr; } }

/* Фото-лимит */
.farms-node img, .farms-foundation img, .farms-calendar img { width:min(100%,350px); height:auto; display:block; border-radius: var(--cw-radius); }
/* ===== SECTION 13 — WIND TUNNEL ===== */
.farms-tunnel__grid{
  display:grid; gap:14px;
  grid-template-columns: 1.1fr .9fr 1fr; align-items:center;
}
@media (max-width: 1100px){ .farms-tunnel__grid{ grid-template-columns: 1fr; } }

.farms-tunnel__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-tunnel__copy p{ margin:0 0 8px; color: var(--cw-ink-dim); }

.farms-tunnel__scene{
  position:relative; height: 220px; border-radius:16px; overflow:hidden;
  border:1px solid rgba(255,255,255,.06); box-shadow: var(--cw-shadow);
  background: radial-gradient(60% 60% at 15% 50%, rgba(120,224,255,.10), transparent 60%);
}
.tunnel-core{
  position:absolute; left:18%; top:50%; width: 54px; height:54px; border-radius:50%;
  transform: translateY(-50%);
  background: linear-gradient(180deg, var(--cw-teal), color-mix(in srgb, var(--cw-lime) 60%, var(--cw-teal)));
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
}
.tunnel-flows{ position:absolute; inset:0; --ang: 0deg; }
.flow{
  position:absolute; left:0; right:0; height: 2px; opacity:.75;
  background: linear-gradient(var(--ang), transparent 35%, rgba(167,255,75,.7) 50%, transparent 65%);
  animation: flow-shift 5s linear infinite;
}
@keyframes flow-shift{
  0%{ transform: translateX(-10%); }
  100%{ transform: translateX(10%); }
}
/* 14 штук на разных высотах */
.farms-tunnel__scene .flow:nth-child(1){ top:16%; }   .farms-tunnel__scene .flow:nth-child(2){ top:22%; }
.farms-tunnel__scene .flow:nth-child(3){ top:28%; }   .farms-tunnel__scene .flow:nth-child(4){ top:34%; }
.farms-tunnel__scene .flow:nth-child(5){ top:40%; }   .farms-tunnel__scene .flow:nth-child(6){ top:46%; }
.farms-tunnel__scene .flow:nth-child(7){ top:52%; }   .farms-tunnel__scene .flow:nth-child(8){ top:58%; }
.farms-tunnel__scene .flow:nth-child(9){ top:64%; }   .farms-tunnel__scene .flow:nth-child(10){ top:70%; }
.farms-tunnel__scene .flow:nth-child(11){ top:76%; }  .farms-tunnel__scene .flow:nth-child(12){ top:82%; }
.farms-tunnel__scene .flow:nth-child(13){ top:12%; }  .farms-tunnel__scene .flow:nth-child(14){ top:86%; }

.farms-tunnel__chips{
  display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px;
}
.farms-tunnel__chips img{ width:min(100%,350px); height:auto; display:block; border-radius: var(--cw-radius); }
.farms-tunnel__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-tunnel__chips{ grid-template-columns: 1fr; } }

/* ===== SECTION 14 — CONTRACT BOARD ===== */
.farms-contract__grid{ display:grid; gap:14px; }
.farms-contract__head h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-contract__head p{ margin:0 0 8px; color: var(--cw-ink-dim); }

.farms-contract__list{
  counter-reset: cb; list-style:none; padding:0; margin:0;
  display:grid; gap:10px; grid-template-columns: repeat(2, minmax(260px,1fr));
}
@media (max-width: 900px){ .farms-contract__list{ grid-template-columns: 1fr; } }
.farms-contract__list li{
  position:relative; padding:12px 12px 12px 46px;
  border:1px solid rgba(255,255,255,.06); border-radius:16px; box-shadow: var(--cw-shadow);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
}
.farms-contract__list li::before{
  counter-increment: cb; content: counter(cb);
  position:absolute; left:12px; top:12px; width:24px; height:24px; border-radius:50%;
  display:grid; place-items:center; background: linear-gradient(180deg, var(--cw-teal), var(--cw-lime)); color:#001a1a; font-weight:700;
}
.farms-contract__shots{ display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px; margin-top:8px; }
.farms-contract__shots figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-contract__shots{ grid-template-columns: 1fr; } }

/* ===== SECTION 15 — EVAC ROUTE ===== */
.farms-evac__grid{
  display:grid; gap:14px; grid-template-columns: 1.1fr .9fr; align-items:center;
}
@media (max-width: 960px){ .farms-evac__grid{ grid-template-columns: 1fr; } }

.farms-evac__scene{
  position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:8px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow); overflow:hidden;
}
.evac-svg{ width:100%; height:auto; display:block; }
.evac-path{
  fill:none;  stroke-width:2.5;
  stroke-dasharray: 900; stroke-dashoffset: 900;
  animation: farms-draw 1.1s ease forwards;
}
.evac-dot{ fill:#78e0ff; filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); }
.evac-pulse{
  position:absolute; width:14px; height:14px; border-radius:50%;
  left: 14px; bottom: 14px; pointer-events:none;
  background: radial-gradient(100% 100% at 50% 50%, rgba(167,255,75,.9), transparent 60%);
  animation: evac-pulse 1.6s ease-out infinite;
}
@keyframes evac-pulse{
  0%{ transform: scale(.6); opacity:.8; }
  100%{ transform: scale(2.2); opacity:0; }
}

.farms-evac__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-evac__copy p{ margin:0 0 10px; color: var(--cw-ink-dim); }

.farms-evac__chips{ display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px; }
.farms-evac__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-evac__chips{ grid-template-columns: 1fr; } }

/* Фото-лимит для новых секций */
.farms-tunnel img, .farms-contract img, .farms-evac img { width:min(100%,350px); height:auto; display:block; border-radius: var(--cw-radius); }
/* ===== SECTION 16 — PANORAMA (scroll-snap) ===== */
.farms-pano__head h2{ margin:0 0 8px; font-size:clamp(22px,3.2vw,34px); }
.farms-pano__head p{ margin:0 0 10px; color:var(--cw-ink-dim); }

.farms-pano__rail{
  position:relative;
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px, 1fr);
  gap:12px; padding:10px;
  border:1px solid rgba(255,255,255,.06); border-radius:16px; box-shadow:var(--cw-shadow);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
}
.pano-card{ scroll-snap-align:start; border-radius:16px; padding:8px;
  border:1px solid rgba(255,255,255,.06); background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  box-shadow:var(--cw-shadow);
}
.pano-card img{ width:min(100%,350px); height:auto; display:block; border-radius:var(--cw-radius); }
.pano-card figcaption{ margin-top:6px; font-size:13px; color:var(--cw-ink-dim); }
.farms-pano__rail::-webkit-scrollbar{ height:8px; }
.farms-pano__rail::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.14); border-radius:999px; }

/* ===== SECTION 17 — SHADOW (sun path & flicker fan) ===== */
.farms-shadow__grid{
  display:grid; gap:14px; grid-template-columns: 1.1fr .9fr; align-items:center;
}
@media (max-width: 960px){ .farms-shadow__grid{ grid-template-columns: 1fr; } }

.farms-shadow__scene{
  --ang: 30deg; /* başlangıç açısı; JS günceller */
  position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:8px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  box-shadow: var(--cw-shadow); overflow:hidden;
}

.shadow-svg{ width:100%; height:auto; display:block; }
.sun-path{
  fill:none;  stroke-width:2.5;
  stroke-dasharray: 900; stroke-dashoffset: 900;
  animation: farms-draw 1.1s ease forwards;
}
.sun-dot{ fill:#ffd86b; filter: drop-shadow(0 2px 8px rgba(0,0,0,.35)); }

.tb-mast{ stroke: rgba(255,255,255,.8); stroke-width:2; }
.tb-nacelle{ fill: rgba(255,255,255,.6); }
.tb-blade{ stroke: rgba(255,255,255,.65); stroke-width:2; stroke-linecap:round; }

.shadow-fan{
  position:absolute; left:110px; top:90px; width: 460px; height: 220px;
  transform-origin: 0 90px; /* döndürme pivotu türbine yakın */
  transform: rotate(var(--ang));
  background:
    conic-gradient(from 0deg at 0 90px,
      rgba(167,255,75,.0) 0 20deg,
      rgba(167,255,75,.12) 20deg 34deg,
      rgba(167,255,75,.0) 34deg 360deg);
  pointer-events:none;
  mix-blend-mode: lighten;
  opacity:.9;
}

/* sürgü (drag alanı) */
.shadow-scrub{
  position:absolute; left:8px; right:8px; bottom:8px; height: 16px; border-radius:999px;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  outline:none;
}
.shadow-scrub:focus{ box-shadow:0 0 0 2px rgba(167,255,75,.35), inset 0 0 0 1px rgba(255,255,255,.06); }

/* текст+фото справа */
.farms-shadow__copy h2{ margin:0 0 8px; font-size: clamp(22px,3.2vw,34px); }
.farms-shadow__copy p{ margin:0 0 10px; color: var(--cw-ink-dim); }
.farms-shadow__chips{ display:grid; grid-template-columns: repeat(2, minmax(180px,1fr)); gap:12px; }
.farms-shadow__chips img{ width:min(100%,350px); height:auto; display:block; border-radius: var(--cw-radius); }
.farms-shadow__chips figcaption{ margin-top:6px; font-size:13px; color: var(--cw-ink-dim); }
@media (max-width: 560px){ .farms-shadow__chips{ grid-template-columns: 1fr; } }
.f-pledges__grid,
.pledges__grid,
.cw-accordion-list{ margin-inline: auto; }
