/* ============================================================
   КОЛОДЕЦ-АЛМАЗ — концепция «Геологический разрез»
   Идея: сайт читается как инженерный разрез грунта —
   слои почвы сверху, вода снизу, всё размечено как
   полевой чертёж (глубины, координаты, отметки).
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

:root{
  --bg:        #F4EEDF;
  --bg-2:      #ECE3CC;
  --panel:     #EAE0C6;
  --line:      #D6C9A6;
  --ink:       #1E150C;
  --ink-dim:   #5C4E38;
  --ink-faint: #8C7F60;
  --soil:      #6B4226;
  --clay:      #A85320;
  --clay-dim:  #7A3D18;
  --water:     #0E7A86;
  --water-dim: #0B5F68;
  --water-ink: #F4EEDF;

  --font-display: 'Oswald', 'Arial Narrow', sans-serif;
  --font-body:    'IBM Plex Sans', -apple-system, sans-serif;
  --font-mono:    'IBM Plex Mono', 'Courier New', monospace;

  --container: 1180px;
  --radius: 2px;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--water);color:var(--water-ink);}

.container{max-width:var(--container);margin:0 auto;padding:0 28px;}

/* background texture: faint grid + grain, like blueprint paper */
.grid-bg{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(30,21,12,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30,21,12,.055) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 90%);
}

/* ===================== EYEBROW / LABELS ===================== */
.eyebrow{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--water);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:'';
  width:22px; height:1px;
  background:var(--water);
}

.h2{
  font-family:var(--font-display);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.01em;
  font-size:clamp(1.9rem, 3.4vw, 3rem);
  line-height:1.05;
  color:var(--ink);
  margin:0 0 14px;
  text-wrap:balance;
}
.lede{
  font-size:16px;
  color:var(--ink-dim);
  max-width:56ch;
  margin:0 0 44px;
}

.section{
  position:relative;
  padding:88px 0;
  border-bottom:1px solid var(--line);
}
.section--tight{padding:64px 0;}

/* strata seam divider between sections */
.seam{
  position:relative;
  height:0;
}
.seam svg{position:absolute; top:-1px; left:0; width:100%; height:24px; display:block;}

/* ===================== TOPBAR ===================== */
.topbar{
  position:sticky; top:0; z-index:100;
  background:rgba(23,17,11,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.topbar__row{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{
  display:flex; align-items:center; gap:12px;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:20px;
  letter-spacing:.03em;
  font-weight:600;
}
.brand__mark{
  width:34px; height:34px;
  flex:none;
}
.brand small{
  display:block;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.1em;
  color:var(--ink-faint);
  text-transform:none;
  font-weight:400;
  margin-top:2px;
}

.nav{
  display:flex; gap:32px;
  font-size:14px;
  color:var(--ink-dim);
}
.nav a{position:relative; padding:4px 0; transition:color .2s;}
.nav a:hover{color:var(--ink);}
.nav a::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--water); transition:right .25s ease;
}
.nav a:hover::after{right:0;}

.topbar__right{display:flex; align-items:center; gap:20px;}
.tel{
  font-family:var(--font-mono);
  font-size:15px;
  color:var(--ink);
}
.tel span{color:var(--ink-faint); font-size:11px; display:block;}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:13px 22px;
  border:1px solid var(--water);
  color:var(--water);
  background:transparent;
  border-radius:var(--radius);
  transition:background .2s, color .2s, transform .2s;
  white-space:nowrap;
}
.btn:hover{background:var(--water); color:var(--water-ink); transform:translateY(-1px);}
.btn--solid{background:var(--water); color:var(--water-ink);}
.btn--solid:hover{background:var(--ink); border-color:var(--ink); color:var(--bg);}
.btn--ghost{border-color:var(--line); color:var(--ink-dim);}
.btn--ghost:hover{border-color:var(--ink-dim); background:transparent; color:var(--ink);}

.burger{display:none; background:none; border:none; color:var(--ink); font-size:26px;}

/* ===================== HERO ===================== */
.hero{
  position:relative;
  padding:64px 0 0;
  overflow:hidden;
}
.hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.hero__col-text{padding-bottom:70px;}

.hero__kicker{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--clay);
  margin-bottom:22px;
  display:flex; align-items:center; gap:10px;
}
.hero__kicker::before{content:'●'; color:var(--water); font-size:8px;}

.hero__title{
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  font-size:clamp(2.6rem, 5.4vw, 4.6rem);
  line-height:.98;
  letter-spacing:.005em;
  margin:0 0 26px;
  text-wrap:balance;
}
.hero__title em{
  font-style:normal;
  color:var(--water);
}

.hero__sub{
  font-size:17px;
  color:var(--ink-dim);
  max-width:46ch;
  margin:0 0 38px;
}

.hero__actions{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:52px;}

.hero__readout{
  display:flex;
  gap:0;
  border-top:1px solid var(--line);
}
.hero__stat{
  flex:1;
  padding:18px 20px 0;
  border-right:1px solid var(--line);
}
.hero__stat:last-child{border-right:none;}
.hero__stat b{
  display:block;
  font-family:var(--font-mono);
  font-size:26px;
  color:var(--water);
  font-weight:500;
}
.hero__stat span{
  font-size:12px;
  color:var(--ink-faint);
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* ---- cross-section illustration ---- */
.strata{
  position:relative;
  height:640px;
}
.strata svg{width:100%; height:100%; display:block;}
.strata__label{
  font-family:var(--font-mono);
  font-size:10.5px;
  fill:var(--ink-faint);
  letter-spacing:.03em;
}
.strata__depth{
  font-family:var(--font-mono);
  font-size:10.5px;
  fill:var(--ink-faint);
}
.strata__water-label{
  font-family:var(--font-mono);
  font-size:11px;
  fill:var(--water);
  letter-spacing:.04em;
}

/* ===================== MARQUEE STRIP ===================== */
.strip{
  background:var(--panel);
  border-bottom:1px solid var(--line);
  border-top:1px solid var(--line);
  overflow:hidden;
  padding:14px 0;
}
.strip__track{
  display:flex;
  gap:48px;
  width:max-content;
  animation:marquee 32s linear infinite;
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
.strip__track span{display:flex; align-items:center; gap:10px;}
.strip__track span::before{content:'—'; color:var(--clay);}
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@media (prefers-reduced-motion: reduce){ .strip__track{animation:none;} }

/* ===================== SERVICES — CORE SAMPLES ===================== */
.cores{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.core{
  background:var(--bg);
  padding:32px 26px 28px;
  position:relative;
  transition:background .25s;
}
.core:hover{background:var(--panel);}
.core__idx{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--clay);
  letter-spacing:.06em;
  margin-bottom:22px;
}
.core__tube{
  width:100%; height:64px;
  margin-bottom:22px;
  border-radius:3px;
  overflow:hidden;
  display:flex;
}
.core__tube i{flex:1; display:block;}
.core__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:19px;
  letter-spacing:.01em;
  margin:0 0 10px;
}
.core__text{
  font-size:14px;
  color:var(--ink-dim);
  margin:0 0 20px;
  min-height:44px;
}
.core__price{
  display:flex; align-items:baseline; justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:16px;
  font-family:var(--font-mono);
  font-size:13px;
}
.core__price b{font-size:16px; color:var(--water); font-weight:500;}
.core__price span{color:var(--ink-faint); text-transform:uppercase; font-size:11px;}

/* ===================== ABOUT / LOG ===================== */
.log{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:64px;
  align-items:start;
}
.log__figure{
  position:relative;
  border:1px solid var(--line);
  aspect-ratio:4/5;
  overflow:hidden;
}
.log__figure svg{width:100%;height:100%;}
.log__caption{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--ink-faint);
  margin-top:12px;
  display:flex; justify-content:space-between;
  letter-spacing:.03em;
}

.log__entries{border-top:1px solid var(--line);}
.log__entry{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:24px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.log__entry b{
  font-family:var(--font-mono);
  font-size:28px;
  color:var(--water);
  font-weight:500;
}
.log__entry p{margin:6px 0 0; color:var(--ink-dim); font-size:14.5px;}
.log__entry h4{
  margin:0;
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:16px;
  letter-spacing:.02em;
}

/* ===================== WORKS — FIELD PHOTOS ===================== */
.plates{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.plate{
  border:1px solid var(--line);
  background:var(--panel);
  padding:10px;
  transform:rotate(var(--r,0deg));
  transition:transform .25s;
}
.plate:nth-child(1){--r:-1.4deg;}
.plate:nth-child(2){--r:1deg;}
.plate:nth-child(3){--r:-.6deg;}
.plate:nth-child(4){--r:1.6deg;}
.plate:hover{transform:rotate(0deg) translateY(-4px);}
.plate__img{aspect-ratio:4/3; overflow:hidden; margin-bottom:10px;}
.plate__img svg{width:100%;height:100%;}
.plate__cap{
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--ink-faint);
  padding:0 2px 4px;
  display:flex; justify-content:space-between;
}

/* ===================== FIELD REPORTS (REVIEWS) ===================== */
.reports{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.report{background:var(--bg); padding:30px 26px;}
.report__head{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--ink-faint);
  margin-bottom:16px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.report__head b{color:var(--clay);}
.report__text{
  font-size:15px;
  color:var(--ink);
  line-height:1.65;
  margin:0 0 18px;
}
.report__author{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--ink-dim);
  border-top:1px solid var(--line);
  padding-top:14px;
}

/* ===================== SURVEY (FAQ) ===================== */
.survey{max-width:820px;}
.survey__item{border-bottom:1px solid var(--line);}
.survey__q{
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:20px;
  padding:24px 0;
  background:none; border:none; color:var(--ink);
  text-align:left;
  font-size:17px;
  font-family:var(--font-body);
  font-weight:500;
}
.survey__idx{
  font-family:var(--font-mono);
  color:var(--ink-faint);
  font-size:13px;
  margin-right:16px;
}
.survey__plus{
  position:relative;
  width:16px; height:16px; flex:none;
}
.survey__plus::before,.survey__plus::after{
  content:''; position:absolute; background:var(--ink-faint);
  transition:transform .25s, background .25s;
}
.survey__plus::before{top:50%; left:0; width:100%; height:1px; transform:translateY(-50%);}
.survey__plus::after{left:50%; top:0; height:100%; width:1px; transform:translateX(-50%);}
.survey__item.is-open .survey__plus::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
.survey__item.is-open .survey__plus::before{background:var(--water);}
.survey__a{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
  font-size:15px;
  color:var(--ink-dim);
}
.survey__a-in{padding:0 0 26px 40px; max-width:60ch;}
.survey__item.is-open .survey__a{max-height:300px;}

/* ===================== CTA ===================== */
.cta{
  position:relative;
  background:var(--water);
  color:var(--water-ink);
  padding:80px 0;
  overflow:hidden;
}
.cta::before{
  content:'';
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(6,22,26,.08) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(6,22,26,.08) 1px, transparent 1px);
  background-size:40px 40px;
}
.cta__inner{position:relative; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.cta__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:700;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.02;
  max-width:16ch;
  margin:0 0 16px;
}
.cta__sub{font-size:15px; max-width:40ch; opacity:.75;}
.cta__right{display:flex; flex-direction:column; align-items:flex-start; gap:16px;}
.cta .btn{border-color:var(--water-ink); color:var(--water-ink);}
.cta .btn:hover{background:var(--water-ink); color:var(--water);}
.cta__phone{
  font-family:var(--font-mono);
  font-size:24px;
  font-weight:500;
}

/* ===================== FOOTER ===================== */
.footer{padding:64px 0 32px;}
.footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:40px;
  padding-bottom:48px;
  border-bottom:1px solid var(--line);
}
.footer__brand .brand{margin-bottom:16px;}
.footer__desc{color:var(--ink-dim); font-size:14px; max-width:32ch;}
.footer__label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:16px;
}
.footer__list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.footer__list a{color:var(--ink-dim); font-size:14px; transition:color .2s;}
.footer__list a:hover{color:var(--water);}
.footer-phone{font-family:var(--font-mono); font-size:18px; color:var(--water); display:block; margin-bottom:4px;}
.footer__bottom{
  padding-top:24px;
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--font-mono);
  font-size:11.5px;
  color:var(--ink-faint);
  flex-wrap:wrap;
  gap:12px;
}

/* ===================== DOCK (messenger) ===================== */
.dock{
  position:fixed; right:24px; bottom:24px; z-index:200;
  display:flex; flex-direction:column; align-items:flex-end; gap:10px;
}
.dock__items{
  display:flex; flex-direction:column; gap:10px;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .2s, transform .2s, visibility .2s;
}
.dock.active .dock__items{opacity:1; visibility:visible; transform:translateY(0);}
.dock__item{
  width:48px; height:48px;
  border-radius:50%;
  background:var(--panel);
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  transition:transform .2s, border-color .2s;
}
.dock__item:hover{transform:scale(1.08); border-color:var(--water);}
.dock__toggle{
  width:56px; height:56px;
  border-radius:50%;
  background:var(--water);
  border:none;
  display:flex; align-items:center; justify-content:center;
  color:var(--water-ink);
  box-shadow:0 6px 20px rgba(0,0,0,.35);
}

/* ===================== REVEAL ===================== */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.visible{opacity:1; transform:none;}

/* ===================== MOBILE MENU ===================== */
.mmenu{
  position:fixed; inset:0; z-index:300;
  background:var(--bg);
  display:flex; flex-direction:column;
  padding:24px 28px;
  transform:translateX(100%);
  transition:transform .3s ease;
}
.mmenu.show{transform:translateX(0);}
.mmenu__top{display:flex; justify-content:space-between; align-items:center; margin-bottom:48px;}
.mmenu__close{background:none;border:none;color:var(--ink);font-size:28px;}
.mmenu nav{display:flex; flex-direction:column; gap:28px;}
.mmenu nav a{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:28px;
  font-weight:600;
  color:var(--ink);
}

/* ===================== PROCESS ===================== */
.process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  position:relative;
}
.process::before{
  content:'';
  position:absolute; top:22px; left:0; right:0;
  height:1px; background:var(--line);
}
.step{
  padding:0 24px 0 0;
  position:relative;
}
.step__num{
  width:44px; height:44px;
  border-radius:50%;
  background:var(--bg);
  border:1px solid var(--water);
  color:var(--water);
  font-family:var(--font-mono);
  font-size:15px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:22px;
  position:relative; z-index:2;
}
.step__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:17px;
  letter-spacing:.01em;
  margin:0 0 10px;
}
.step__text{font-size:14px; color:var(--ink-dim); margin:0;}
.step__time{
  display:block;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--clay);
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-top:14px;
}

/* ===================== GUARANTEE BAND ===================== */
.assure{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.assure__main{
  background:var(--panel);
  padding:44px 40px;
  display:flex; flex-direction:column; justify-content:center;
}
.assure__main .eyebrow{margin-bottom:16px;}
.assure__main h3{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:26px;
  margin:0 0 14px;
}
.assure__main p{color:var(--ink-dim); font-size:14.5px; max-width:44ch; margin:0;}
.assure__list{background:var(--bg); display:flex; flex-direction:column;}
.assure__row{
  flex:1;
  display:flex; align-items:center; gap:18px;
  padding:20px 32px;
  border-bottom:1px solid var(--line);
}
.assure__row:last-child{border-bottom:none;}
.assure__row i{
  width:8px; height:8px; border-radius:50%;
  background:var(--water); flex:none;
}
.assure__row span{font-size:14.5px; color:var(--ink);}

/* ===================== PRICE TABLE ===================== */
.pricebox{border:1px solid var(--line);}
.pricebox__head{
  display:grid; grid-template-columns:1fr 140px 160px;
  padding:16px 28px;
  font-family:var(--font-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--ink-faint);
  border-bottom:1px solid var(--line);
}
.pricerow{
  display:grid; grid-template-columns:1fr 140px 160px;
  padding:20px 28px;
  border-bottom:1px solid var(--line);
  align-items:center;
  transition:background .2s;
}
.pricerow:hover{background:var(--panel);}
.pricerow:last-child{border-bottom:none;}
.pricerow__name{font-size:15px;}
.pricerow__name small{display:block; color:var(--ink-faint); font-size:12.5px; margin-top:3px;}
.pricerow__unit{font-family:var(--font-mono); font-size:12.5px; color:var(--ink-faint);}
.pricerow__val{font-family:var(--font-mono); font-size:17px; color:var(--water); text-align:right;}
.pricebox__foot{
  padding:18px 28px;
  font-size:12.5px;
  color:var(--ink-faint);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
}

/* ===================== ZONES / COVERAGE ===================== */
.zones{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center;
}
.zones__map{
  position:relative;
  border:1px solid var(--line);
  aspect-ratio:1/1;
}
.zones__map svg{width:100%;height:100%;}
.zones__list{columns:2; column-gap:28px;}
.zones__item{
  break-inside:avoid;
  display:flex; align-items:baseline; gap:10px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
  font-size:14px;
  color:var(--ink-dim);
}
.zones__item b{color:var(--water); font-family:var(--font-mono); font-size:11px;}
a.zones__item{transition:color .2s;}
a.zones__item:hover{color:var(--water);}

/* ===================== GEAR (equipment) ===================== */
.gear{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.gear__item{background:var(--bg); padding:26px 24px;}
.gear__item svg{margin-bottom:18px;}
.gear__item h4{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:15px;
  margin:0 0 8px;
  letter-spacing:.01em;
}
.gear__item p{font-size:13px; color:var(--ink-dim); margin:0;}

/* ===================== SERVICE PAGE ===================== */
.breadcrumb{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--ink-faint);
  display:flex; gap:8px; align-items:center;
  padding:24px 0 0;
}
.breadcrumb a{color:var(--ink-faint); transition:color .2s;}
.breadcrumb a:hover{color:var(--water);}
.breadcrumb span{color:var(--ink-dim);}

.shero{
  padding:36px 0 0;
}
.shero__grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:56px;
  align-items:start;
}
.shero__tag{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--clay);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:18px;
}
.shero__title{
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  font-size:clamp(2.2rem,4.6vw,3.6rem);
  line-height:1.0;
  margin:0 0 22px;
}
.shero__title em{font-style:normal; color:var(--water);}
.shero__sub{font-size:16.5px; color:var(--ink-dim); max-width:52ch; margin:0 0 32px;}
.shero__facts{display:flex; gap:0; border-top:1px solid var(--line); margin-bottom:34px;}
.shero__fact{flex:1; padding:16px 20px 0; border-right:1px solid var(--line);}
.shero__fact:last-child{border-right:none;}
.shero__fact b{display:block; font-family:var(--font-mono); font-size:22px; color:var(--water); font-weight:500;}
.shero__fact span{font-size:11.5px; color:var(--ink-faint); text-transform:uppercase;}

.shero__panel{
  border:1px solid var(--line);
  background:var(--panel);
  padding:32px 30px;
}
.shero__panel h3{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-size:18px;
  font-weight:600;
  margin:0 0 6px;
}
.shero__panel p{font-size:13.5px; color:var(--ink-dim); margin:0 0 22px;}
.shero__panel .btn{width:100%; justify-content:center; margin-bottom:12px;}
.shero__panel__note{font-size:11.5px; color:var(--ink-faint); text-align:center;}

.prose{max-width:74ch; font-size:15.5px; color:var(--ink-dim); line-height:1.75;}
.prose p{margin:0 0 18px;}
.prose strong{color:var(--ink);}

.related{
  display:flex; flex-wrap:wrap; gap:12px;
}
.related a{
  font-family:var(--font-mono);
  font-size:13px;
  padding:10px 18px;
  border:1px solid var(--line);
  color:var(--ink-dim);
  border-radius:20px;
  transition:border-color .2s, color .2s;
}
.related a:hover{border-color:var(--water); color:var(--water);}

/* ===================== ANATOMY (well construction diagram) ===================== */
.anatomy{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:60px;
  align-items:center;
}
.anatomy__figure{
  position:relative;
  border:1px solid var(--line);
  background:var(--panel);
}
.anatomy__figure svg{width:100%;height:100%;display:block;}
.anatomy__legend{display:flex; flex-direction:column;}
.anatomy__row{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}
.anatomy__row:first-child{padding-top:0;}
.anatomy__row b{
  width:32px; height:32px;
  border-radius:50%;
  border:1px solid var(--water);
  color:var(--water);
  font-family:var(--font-mono);
  font-size:13px;
  display:flex; align-items:center; justify-content:center;
}
.anatomy__row h4{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:600;
  font-size:15.5px;
  letter-spacing:.01em;
  margin:0 0 5px;
}
.anatomy__row p{font-size:13.5px; color:var(--ink-dim); margin:0;}

/* ===================== COMPARE (колодец vs скважина) ===================== */
.compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.compare__col{background:var(--bg); padding:38px 34px;}
.compare__col--featured{background:var(--panel);}
.compare__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line);
}
.compare__head h3{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:700;
  font-size:22px;
  margin:0;
}
.compare__tag{
  font-family:var(--font-mono);
  font-size:10.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:5px 10px;
  border:1px solid var(--water);
  color:var(--water);
  border-radius:20px;
}
.compare__row{
  display:flex; gap:12px; align-items:flex-start;
  padding:12px 0;
  font-size:14.5px;
  color:var(--ink-dim);
}
.compare__row i{
  flex:none; width:16px; height:16px; margin-top:2px;
  border:1px solid var(--ink-faint);
  border-radius:50%;
  position:relative;
}
.compare__col--featured .compare__row i{border-color:var(--water); background:var(--water);}
.compare__col--featured .compare__row i::after{
  content:''; position:absolute; left:4px; top:1px; width:4px; height:8px;
  border-right:1.5px solid var(--water-ink); border-bottom:1.5px solid var(--water-ink);
  transform:rotate(45deg);
}
.compare__col--featured .compare__row{color:var(--ink);}

/* ===================== POPUP FORM ===================== */
.popup{
  position:fixed; inset:0; z-index:10000;
  display:none;
  align-items:center; justify-content:center;
  padding:24px;
}
.popup.active{display:flex;}
.popup__overlay{
  position:absolute; inset:0;
  background:rgba(6,4,2,.6);
}
:root[data-theme-light] .popup__overlay{ background:rgba(30,21,12,.45); }
.popup__box{
  position:relative;
  background:var(--bg);
  border:1px solid var(--line);
  max-width:440px; width:100%;
  padding:40px 34px;
}
.popup__close{
  position:absolute; top:16px; right:16px;
  width:32px; height:32px;
  background:none; border:1px solid var(--line);
  color:var(--ink-dim);
  font-size:18px; line-height:1;
  cursor:pointer;
  transition:border-color .2s, color .2s;
}
.popup__close:hover{border-color:var(--water); color:var(--water);}
.popup__title{
  font-family:var(--font-display);
  text-transform:uppercase;
  font-weight:700;
  font-size:24px;
  margin:0 0 8px;
}
.popup__text{font-size:13.5px; color:var(--ink-dim); margin:0 0 24px;}
.popup__box form p{margin:0 0 12px;}
.popup__box input,
.popup__box textarea,
.popup__box select{
  width:100%;
  background:var(--panel);
  border:1px solid var(--line);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:14px;
  padding:12px 14px;
}
.popup__box input:focus,
.popup__box textarea:focus{outline:none; border-color:var(--water);}
.popup__box textarea{min-height:90px; resize:vertical;}
.popup__box input[type="submit"],
.popup__box button[type="submit"]{
  background:var(--water);
  color:var(--water-ink);
  border:none;
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:.03em;
  font-weight:600;
  font-size:14px;
  padding:14px 20px;
  cursor:pointer;
  transition:background .2s;
  width:100%;
}
.popup__box input[type="submit"]:hover,
.popup__box button[type="submit"]:hover{background:var(--water-dim);}
.popup .poly{font-size:11px; color:var(--ink-faint); margin-top:14px; line-height:1.5;}

/* ===================== TOAST ===================== */
.form-toast{
  position:fixed; bottom:28px; left:50%;
  transform:translateX(-50%) translateY(20px);
  z-index:10001;
  background:var(--panel);
  border:1px solid var(--line);
  color:var(--ink);
  font-size:13.5px;
  padding:14px 22px;
  opacity:0; visibility:hidden;
  transition:opacity .25s, transform .25s, visibility .25s;
}
.form-toast.show{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.form-toast.success{border-color:var(--water);}
.form-toast.error{border-color:var(--clay);}

/* ===================== PRICE TOGGLE / HIDDEN ROWS ===================== */
.pricerow.is-hidden{display:none;}
.pricebox__toggle{
  background:none;
  border:1px solid var(--line);
  color:var(--ink-dim);
  font-family:var(--font-mono);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:9px 16px;
  cursor:pointer;
  transition:border-color .2s, color .2s;
}
.pricebox__toggle:hover{border-color:var(--water); color:var(--water);}

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .nav{display:none;}
  .burger{display:block;}
  .hero__grid{grid-template-columns:1fr;}
  .strata{height:420px; order:-1;}
  .hero__col-text{padding-bottom:0;}
  .cores{grid-template-columns:1fr 1fr;}
  .reports{grid-template-columns:1fr;}
  .plates{grid-template-columns:1fr 1fr;}
  .log{grid-template-columns:1fr; gap:36px;}
  .footer__grid{grid-template-columns:1fr 1fr; gap:32px;}
  .process{grid-template-columns:1fr 1fr; gap:32px 24px;}
  .process::before{display:none;}
  .assure{grid-template-columns:1fr;}
  .zones{grid-template-columns:1fr; gap:32px;}
  .gear{grid-template-columns:1fr 1fr;}
  .shero__grid{grid-template-columns:1fr;}
  .pricebox__head{display:none;}
  .pricerow{grid-template-columns:1fr; gap:6px;}
  .pricerow__unit,.pricerow__val{text-align:left;}
  .anatomy{grid-template-columns:1fr; gap:32px;}
  .compare{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .container{padding:0 18px;}
  .cores{grid-template-columns:1fr;}
  .plates{grid-template-columns:1fr;}
  .hero__readout{flex-wrap:wrap;}
  .hero__stat{flex:1 1 50%; border-bottom:1px solid var(--line); padding-bottom:14px;}
  .footer__grid{grid-template-columns:1fr;}
  .topbar__right .tel{display:none;}
  .process{grid-template-columns:1fr;}
  .gear{grid-template-columns:1fr;}
  .zones__list{columns:1;}
  .shero__facts{flex-wrap:wrap;}
  .shero__fact{flex:1 1 50%; border-bottom:1px solid var(--line); padding-bottom:12px;}
}
