/* ===== Журнал: базовая раскладка ===== */
.journal-hero, .field-notes, .interview-block { padding-block: 44px; }

/* ===== S1 Герой журнала ===== */
.jh-grid{ display:grid; grid-template-columns: 1.15fr .85fr; gap:28px; align-items:start; }
.jh-copy h1{
  font-family:"Playfair Display",serif; font-weight:700;
  font-size:clamp(26px,3.2vw,44px); line-height:1.15; margin:0 0 10px;
}
.jh-copy .lead{ color:#dfe7de; margin:0 0 10px; }
.jh-bullets{ margin:8px 0 0; padding-left:18px; color:#cbd6cb; }
.jh-mosaic{
  display:grid; gap:12px;
  grid-template-areas: "s1 s2" "s1 s3";
  grid-template-columns: 1fr 1fr;
}
.jh-shot{ position:relative; background:var(--c-panel); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.jh-shot img{ display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; transition: transform .6s var(--ease), filter .6s var(--ease); }
.jh-shot:hover img{ transform: scale(1.05); }
.jh-shot figcaption{
  position:absolute; inset-inline:10px; inset-block-end:8px; font-size:12px;
  background:rgba(15,18,15,.55); border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:6px 8px;
}
.jh-shot.s1{ grid-area:s1; transform: rotate(-1deg); }
.jh-shot.s2{ grid-area:s2; transform: rotate(1deg); }
.jh-shot.s3{ grid-area:s3; transform: rotate(-.5deg); }
.jh-shot:hover{ transform: rotate(0deg) scale(1.01); }

/* ===== S2 Полевые записки ===== */
.fn-grid{ display:grid; grid-template-columns: 1.05fr .95fr; gap:28px; align-items:start; }
.fn-copy h2{ font-family:"Playfair Display",serif; margin:0 0 8px; font-size:clamp(22px,2.4vw,34px); }
.fn-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.fn-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition: background .25s var(--ease), transform .25s var(--ease);
}
.fn-tab:hover{ transform: translateY(-1px); }
.fn-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.fn-notes{ display:grid; gap:12px; margin-top:6px; }
.note{
  background:var(--c-panel); border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:12px; box-shadow:var(--shadow);
}
.note h3{ margin:0 0 6px; font-size:18px; }
.note p{ margin:0; color:#cbd6cb; }

.fn-photos{
  display:grid; gap:12px;
  grid-template-columns: repeat(2, minmax(0, 350px));
  justify-content:start;
}
.fn-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.fn-shot img{ aspect-ratio:4/3; object-fit:cover; display:block; }
.fn-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* Состояния месяцев */
.month-april{}
.month-may .note:first-child p{ color:#dfe7de; }
.month-june .note:last-child p{ color:#dfe7de; }

/* ===== S3 Интервью ===== */
.iv-grid{ display:grid; grid-template-columns: 1.05fr .95fr; gap:28px; align-items:start; }
.iv-copy h2{ font-family:"Playfair Display",serif; margin:0 0 8px; font-size:clamp(22px,2.4vw,34px); }

.iv-faq{ display:grid; gap:10px; margin-top:8px; }
.qa{ background:var(--c-panel); border:1px solid rgba(255,255,255,.06); border-radius:16px; box-shadow:var(--shadow); overflow:hidden; }
.q{
  width:100%; text-align:left; background:transparent; color:var(--c-text); cursor:pointer; border:0;
  padding:12px 14px; font-weight:600; display:flex; justify-content:space-between; align-items:center;
}
.q::after{
  content:"+"; font-weight:700; transition: transform .25s var(--ease);
}
.q[aria-expanded="true"]::after{ transform: rotate(45deg); }
.a{ padding:0 14px 14px; color:#cbd6cb; }

.iv-photos{
  display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0, 350px)); justify-content:start;
}
.iv-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.iv-shot img{ aspect-ratio:4/3; object-fit:cover; display:block; }
.iv-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== Адаптив: на мобилке текст сверху ===== */
@media (max-width: 1100px){
  .jh-grid, .fn-grid, .iv-grid{ grid-template-columns: 1fr; }
  .jh-copy, .fn-copy, .iv-copy{ order:1; }
  .jh-mosaic, .fn-photos, .iv-photos{ order:2; }
}
@media (max-width: 720px){
  .jh-mosaic{ grid-template-areas: "s1" "s2" "s3"; }
  .jh-shot.s1,.jh-shot.s2,.jh-shot.s3{ transform:none; }
  .fn-photos, .iv-photos{ grid-template-columns: 1fr; }
}
/* ===== S4 Мастерская света ===== */
.light-lab{ padding-block: 44px; }
.ll-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.ll-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }
.ll-controls{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.ll-btn{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.ll-btn:hover{ transform: translateY(-1px); }
.ll-btn.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.ll-diagram{
  margin-top:10px; position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px; overflow:hidden;
  background:var(--c-panel); min-block-size:160px;
}
.beam{ position:absolute; inset:0; opacity:0; transition:opacity .35s var(--ease); pointer-events:none; }
.beam.nav{
  background:
    linear-gradient(0deg, rgba(255,230,180,.2) 0 50%, transparent 50% 100%),
    radial-gradient(220px 60px at 50% 90%, rgba(255,230,180,.3), transparent 70%);
  mix-blend-mode:screen;
}
.beam.accent{
  background:
    linear-gradient(20deg, rgba(255,225,170,.22), transparent 60%),
    radial-gradient(280px 100px at 20% 80%, rgba(255,225,170,.28), transparent 60%);
  mix-blend-mode:screen;
}
.beam.safe{
  background:
    radial-gradient(120px 40px at 30% 85%, rgba(255,220,150,.28), transparent 60%),
    radial-gradient(120px 40px at 70% 85%, rgba(255,220,150,.28), transparent 60%);
  mix-blend-mode:screen;
}
.ll-diagram.mode-nav .beam.nav{ opacity:1; }
.ll-diagram.mode-accent .beam.accent{ opacity:1; }
.ll-diagram.mode-safety .beam.safe{ opacity:1; }

.ll-points{ margin:10px 0 0; padding-left:18px; color:#cbd6cb; }
.ll-photos{
  display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0, 350px)); justify-content:start;
}
.ll-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.ll-shot img{ aspect-ratio:4/3; object-fit:cover; }
.ll-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== S5 Сезонный ритм ===== */
.coastal-rhythm{ padding-block: 44px; }
.cr-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.cr-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }
.cr-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.cr-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.cr-tab:hover{ transform: translateY(-1px); }
.cr-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.cr-notes{ display:grid; gap:12px; margin-top:6px; }
.cr-note{
  background:var(--c-panel); border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:12px; box-shadow:var(--shadow);
}
.cr-note h3{ margin:0 0 6px; font-size:18px; }
.cr-note p{ margin:0; color:#cbd6cb; }

.cr-photos{ display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0, 350px)); justify-content:start; }
.cr-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.cr-shot img{ aspect-ratio:4/3; object-fit:cover; }
.cr-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== S6 Ошибки и правки ===== */
.fixes-cases{ padding-block: 44px; }
.fx-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.fx-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }
.fx-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.fx-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.fx-tab:hover{ transform: translateY(-1px); }
.fx-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.fx-explain p{ margin:0; color:#dfe7de; }
.fx-points{ margin:10px 0 0; padding-left:18px; color:#cbd6cb; }

.fx-photos{
  display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0, 350px)); justify-content:start;
}
.fx-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.fx-shot img{ aspect-ratio:4/3; object-fit:cover; }
.fx-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* фильтр показа */
#fxPhotos .fx-shot{ display:none; }
#fxPhotos.show-water  .fx-shot[data-case="water"]{ display:block; }
#fxPhotos.show-edge   .fx-shot[data-case="edge"]{ display:block; }
#fxPhotos.show-light  .fx-shot[data-case="light"]{ display:block; }

/* ===== Адаптив: текст сверху ===== */
@media (max-width: 1100px){
  .ll-grid, .cr-grid, .fx-grid{ grid-template-columns: 1fr; }
  .ll-copy, .cr-copy, .fx-copy{ order:1; }
  .ll-photos, .cr-photos, .fx-photos{ order:2; }
}
@media (max-width: 720px){
  .ll-photos{ grid-template-columns: 1fr; }
  .cr-photos{ grid-template-columns: 1fr; }
  .fx-photos{ grid-template-columns: 1fr; }
}
/* ===== S7 Мастерская растений ===== */
.plant-lab{ padding-block: 44px; }
.pl-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.pl-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }

.pl-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.pl-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.pl-tab:hover{ transform: translateY(-1px); }
.pl-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.pl-diagram{
  margin-top:10px; position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px; overflow:hidden;
  background:var(--c-panel); min-block-size:160px;
}
.marker{ position:absolute; width:16px; height:16px; border-radius:50%; opacity:.25; transform: translate(-50%,-50%); }
.m-root{ left:20%; top:78%; background:linear-gradient(180deg, var(--c-moss), var(--c-meadow)); }
.m-leaf{ left:56%; top:36%; background:#8fb48a; }
.m-plume{ left:80%; top:22%; background:#b9d3a2; }
.pl-diagram.mode-roots .m-root{ opacity:1; animation: pulse 1.6s infinite; }
.pl-diagram.mode-leaves .m-leaf{ opacity:1; animation: pulse 1.6s infinite; }
.pl-diagram.mode-plumes .m-plume{ opacity:1; animation: pulse 1.6s infinite; }
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(155,207,135,.35); }
  100%{ box-shadow:0 0 0 12px rgba(155,207,135,0); }
}

.pl-explain{ margin-top:8px; color:#dfe7de; }

.pl-photos{
  display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0, 350px)); justify-content:start;
}
.pl-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.pl-shot img{ aspect-ratio:4/3; object-fit:cover; }
.pl-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== S8 Вода на участке ===== */
.water-practice{ padding-block: 44px; }
.wp-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.wp-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }

.wp-controls{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.wp-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.wp-tab:hover{ transform: translateY(-1px); }
.wp-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.wp-scheme{
  margin-top:10px; position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px; overflow:hidden;
  background:var(--c-panel); min-block-size:160px;
}
.jet{
  position:absolute; left:10%; right:10%; height:4px; border-radius:999px;
  background: linear-gradient(90deg, var(--c-moss), var(--c-meadow));
  opacity:.9; animation: flow 1.4s linear infinite;
}
@keyframes flow{ 0%{ transform: translateX(-4%);} 100%{ transform: translateX(4%);} }
.j1{ top:36px; } .j2{ top:80px; } .j3{ top:124px; }
.wp-scheme.mode-drip .j1,.wp-scheme.mode-drip .j2,.wp-scheme.mode-drip .j3{ height:4px; }
.wp-scheme.mode-rain .j1,.wp-scheme.mode-rain .j2,.wp-scheme.mode-rain .j3{ height:8px; opacity:1; }

.wp-photos{ display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0, 350px)); justify-content:start; }
.wp-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.wp-shot img{ aspect-ratio:4/3; object-fit:cover; }
.wp-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

.wp-points{ margin:10px 0 0; padding-left:18px; color:#cbd6cb; }

/* ===== S9 Редкие ошибки ===== */
.rare-errors{ padding-block: 44px; }
.re-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.re-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }

.re-faq{ display:grid; gap:10px; margin-top:8px; }
.re-photos{ display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0, 350px)); justify-content:start; }
.re-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.re-shot img{ aspect-ratio:4/3; object-fit:cover; }
.re-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* Кнопки FAQ (как в интервью) */
.re-faq .qa{ background:var(--c-panel); border:1px solid rgba(255,255,255,.06); border-radius:16px; box-shadow:var(--shadow); overflow:hidden; }
.re-faq .q{
  width:100%; text-align:left; background:transparent; color:var(--c-text); cursor:pointer; border:0;
  padding:12px 14px; font-weight:600; display:flex; justify-content:space-between; align-items:center;
}
.re-faq .q::after{ content:"+"; font-weight:700; transition: transform .25s var(--ease); }
.re-faq .q[aria-expanded="true"]::after{ transform: rotate(45deg); }
.re-faq .a{ padding:0 14px 14px; color:#cbd6cb; }

/* ===== Адаптив: текст сверху ===== */
@media (max-width: 1100px){
  .pl-grid, .wp-grid, .re-grid{ grid-template-columns: 1fr; }
  .pl-copy, .wp-copy, .re-copy{ order:1; }
  .pl-photos, .wp-photos, .re-photos{ order:2; }
}
@media (max-width: 720px){
  .pl-photos{ grid-template-columns: 1fr; }
  .wp-photos{ grid-template-columns: 1fr; }
  .re-photos{ grid-template-columns: 1fr; }
}
/* ===== S10 Посадочный календарь ===== */
.planting-calendar{ padding-block: 44px; }
.pc-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.pc-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }

.pc-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.pc-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.pc-tab:hover{ transform: translateY(-1px); }
.pc-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.pc-table{
  margin-top:8px; background:var(--c-panel); border:1px solid rgba(255,255,255,.06);
  border-radius:16px; padding:12px; box-shadow:var(--shadow); display:grid; gap:10px;
}
.pc-row{ display:grid; grid-template-columns: 1.2fr repeat(8, minmax(0, 1fr)); gap:6px; align-items:center; }
.pc-plant{ font-weight:600; }
.pc-bar{
  display:block; inline-size:100%; block-size:10px; border-radius:999px;
  background:#2a2f2a; box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.s-spring .bar-mar, .s-spring .bar-apr, .s-spring .bar-may{ background: linear-gradient(90deg, var(--c-moss), var(--c-meadow)); }
.s-autumn .bar-sep, .s-autumn .bar-oct{ background: linear-gradient(90deg, var(--c-moss), var(--c-meadow)); }
.s-winter .bar-nov, .s-winter .bar-dec{ background: linear-gradient(90deg, var(--c-moss), var(--c-meadow)); }

.pc-photos{ display:grid; gap:12px; grid-template-columns: repeat(3, minmax(0, 350px)); justify-content:start; }
.pc-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.pc-shot img{ aspect-ratio:4/3; object-fit:cover; }
.pc-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }
.pc-note{ margin-top:8px; color:#cbd6cb; }

/* ===== S11 Микроклимат у стены ===== */
.wall-climate{ padding-block: 44px; }
.wc-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.wc-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }
.wc-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.wc-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.wc-tab:hover{ transform: translateY(-1px); }
.wc-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.wc-map{
  margin-top:8px; position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px;
  background: linear-gradient(180deg, #101510, #0d110d); min-block-size:160px; overflow:hidden;
}
.wc-map .wind{
  position:absolute; width:6px; height:30px; border-radius:6px; left:12%; background: linear-gradient(180deg, var(--c-moss), var(--c-meadow));
  animation: wind 1.4s ease-in-out infinite;
}
.wc-map .w1{ top:26px; } .w2{ top:74px; animation-delay:.2s; }
@keyframes wind{ 0%,100%{ transform: translateX(0) scaleY(.8);} 50%{ transform: translateX(6px) scaleY(1);} }
.wc-map .sun{
  position:absolute; right:10%; top:16px; width:40px; height:40px; border-radius:50%;
  background: radial-gradient(circle at 50% 50%, rgba(255,220,150,.3), transparent 60%);
  opacity:.6;
}
.wc-map.side-south{ background: linear-gradient(180deg, #141914, #0d110d); }
.wc-map.side-south .sun{ right:12%; top:10px; width:52px; height:52px; opacity:.8; }

.wc-photos{ display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0, 350px)); justify-content:start; }
.wc-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.wc-shot img{ aspect-ratio:4/3; object-fit:cover; }
.wc-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }
.wc-points{ margin:10px 0 0; padding-left:18px; color:#cbd6cb; }

/* ===== S12 Регламент ухода ===== */
.care-regimen{ padding-block: 44px; }
.crg-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:28px; align-items:start; }
.crg-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }
.crg-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.crg-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.crg-tab:hover{ transform: translateY(-1px); }
.crg-tab.is-active{ background: rgba(155,207,135,.14); border-color: rgba(155,207,135,.35); }

.crg-list{
  margin-top:8px; background:var(--c-panel); border:1px solid rgba(255,255,255,.06);
  border-radius:16px; padding:12px; box-shadow:var(--shadow);
}
.crg-list ul{ margin:0; padding-left:18px; color:#dfe7de; }

.crg-photos{ display:grid; gap:12px; grid-template-columns: repeat(2, minmax(0, 350px)); justify-content:start; }
.crg-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.crg-shot img{ aspect-ratio:4/3; object-fit:cover; }
.crg-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== Адаптив 10–12: текст сверху ===== */
@media (max-width: 1100px){
  .pc-grid, .wc-grid, .crg-grid{ grid-template-columns: 1fr; }
  .pc-copy, .wc-copy, .crg-copy{ order:1; }
  .pc-photos, .wc-photos, .crg-photos{ order:2; }
}
@media (max-width: 720px){
  .pc-photos{ grid-template-columns: 1fr; }
  .wc-photos, .crg-photos{ grid-template-columns: 1fr; }
}
/* ===== S13 Глоссарий ===== */
.garden-glossary{ padding-block:44px; }
.gg-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:start; }
.gg-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }
.gg-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.gg-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.25s var(--ease);
}
.gg-tab:hover{ transform:translateY(-1px); }
.gg-tab.is-active{ background:rgba(155,207,135,.14); border-color:rgba(155,207,135,.35); }

.gg-terms{
  margin-top:8px; display:grid; gap:10px; background:var(--c-panel);
  border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:12px; box-shadow:var(--shadow);
}
.gg-terms .row{ display:grid; gap:4px; }
.gg-terms dt{ font-weight:700; }
.gg-terms dd{ margin:0; color:#cbd6cb; }
.gg-terms.kind-drain dt:nth-child(1), .gg-terms.kind-light dt:nth-child(1){ color:var(--c-accent); }

.gg-photos{
  display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0, 350px)); justify-content:start;
}
.gg-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.gg-shot img{ aspect-ratio:4/3; object-fit:cover; }
.gg-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== S14 День на объекте ===== */
.site-day{ padding-block:44px; }
.sd-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:start; }
.sd-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }

.sd-steps{ display:flex; gap:10px; flex-wrap:wrap; margin:10px 0; }
.sd-step{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.2s var(--ease);
}
.sd-step:hover{ transform:translateY(-1px); }
.sd-step.is-active{ background:rgba(155,207,135,.14); border-color:rgba(155,207,135,.35); }
.sd-progress{
  margin-top:8px; background:var(--c-panel); border:1px solid rgba(255,255,255,.06);
  border-radius:16px; padding:10px; display:grid; grid-template-columns:repeat(5,1fr); gap:8px;
}
.sd-progress .p{
  block-size:10px; border-radius:999px; background:#2a2f2a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.sd-progress.s1 .p1,
.sd-progress.s2 .p1, .sd-progress.s2 .p2,
.sd-progress.s3 .p1, .sd-progress.s3 .p2, .sd-progress.s3 .p3,
.sd-progress.s4 .p1, .sd-progress.s4 .p2, .sd-progress.s4 .p3, .sd-progress.s4 .p4,
.sd-progress.s5 .p1, .sd-progress.s5 .p2, .sd-progress.s5 .p3, .sd-progress.s5 .p4, .sd-progress.s5 .p5{
  background:linear-gradient(90deg, var(--c-moss), var(--c-meadow));
}

.sd-explain{ margin-top:8px; color:#dfe7de; }

.sd-photos{
  display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0, 350px)); justify-content:start;
}
.sd-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.sd-shot img{ aspect-ratio:4/3; object-fit:cover; }
.sd-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== S15 Лаборатория pinco ===== */
.pinco-lab{ padding-block:44px; }
.plb-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:start; }
.plb-copy h2{ font-family:"Playfair Display",serif; margin:0 0 10px; font-size:clamp(22px,2.4vw,34px); }

.plb-tabs{ display:flex; gap:10px; margin:10px 0; flex-wrap:wrap; }
.plb-tab{
  padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.1);
  background:var(--c-panel); color:var(--c-text); cursor:pointer; transition:.2s var(--ease);
}
.plb-tab:hover{ transform:translateY(-1px); }
.plb-tab.is-active{ background:rgba(155,207,135,.14); border-color:rgba(155,207,135,.35); }

.plb-scheme{
  margin-top:8px; position:relative; border:1px solid rgba(255,255,255,.06); border-radius:16px;
  background:var(--c-panel); min-block-size:160px; overflow:hidden;
}
.dot{ position:absolute; width:12px; height:12px; border-radius:50%; background:#7aa77a; opacity:.25; transform:translate(-50%,-50%); }
.d1{ left:30%; top:30%; } .d2{ left:50%; top:60%; } .d3{ left:72%; top:42%; }
.plb-scheme.t-joint .d1, .plb-scheme.t-joint .d2{ opacity:1; }
.plb-scheme.t-mulch .d2{ opacity:1; box-shadow:0 0 0 10px rgba(155,207,135,.18); }
.plb-scheme.t-light .d3{ opacity:1; box-shadow:0 0 0 10px rgba(155,207,135,.18); }

.plb-explain{ margin-top:8px; color:#dfe7de; }

.plb-photos{
  display:grid; gap:12px; grid-template-columns:repeat(2, minmax(0, 350px)); justify-content:start;
}
.plb-shot{ background:var(--c-panel); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); }
.plb-shot img{ aspect-ratio:4/3; object-fit:cover; }
.plb-shot figcaption{ padding:8px 10px; font-size:13px; color:#cfd8cf; }

/* ===== Адаптив 13–15: текст сверху ===== */
@media (max-width:1100px){
  .gg-grid, .sd-grid, .plb-grid{ grid-template-columns:1fr; }
  .gg-copy, .sd-copy, .plb-copy{ order:1; }
  .gg-photos, .sd-photos, .plb-photos{ order:2; }
}
@media (max-width:720px){
  .gg-photos, .sd-photos, .plb-photos{ grid-template-columns:1fr; }
}
