/* ════════════════════════════════════════════════════════════
   ПОКОЛЕНИЕ · v2 — страница «Геммологическая экспертиза»
   Доп. стили поверх pokolenie.styles.css. Тема — лаборатория,
   точность, оптика. JetBrains Mono задействован активнее:
   названия методов, тех-метки, коды ГОСТ, караты, суммы.
   ════════════════════════════════════════════════════════════ */

/* активный пункт меню «Геммологическая экспертиза» */
.header-nav a.is-active { opacity: 1; color: var(--c-champagne); }
.header-nav a.is-active::after { transform: scaleX(1); }
.mobile-menu nav a.is-active { color: var(--c-champagne); }

/* иконки мессенджеров через <use> наследуют заливку */
.msg-ic { fill: currentColor; }

/* левый заголовок секции (eyebrow → h2 → лид) */
.sec-head--left {
  text-align: left; align-items: flex-start;
  margin: 0 0 clamp(48px, 6vw, 80px); max-width: 780px;
}
.sec-head--left .eyebrow { justify-content: flex-start; }
.sec-head--left .eyebrow::after { display: none; }
.sec-head--left .eyebrow::before { display: inline-block; }
.sec-head--left .lede { margin-top: 8px; }
.light .sec-head--left .lede { color: var(--ink-65); }
.dark  .sec-head--left .lede { color: var(--milk-70); }

/* подряд идущие светлые секции: глубже тоном + тонкая граница */
.block.light.tone-sand { background: var(--c-sand); border-top: 1px solid var(--hair-dark); }

/* hero: микро-факты строкой */
.hero__facts {
  margin-top: 60px; padding-top: 28px;
  border-top: 1px solid var(--hair-champ);
  display: flex; flex-wrap: wrap; gap: 14px 0; align-items: center;
}
.hero__facts .f {
  display: inline-flex; align-items: center;
  font-family: var(--font-mono); font-size: 13px; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-champagne);
  padding: 0 26px;
}
.hero__facts .f:first-child { padding-left: 0; }
.hero__facts .f:not(:last-child) { border-right: 1px solid var(--hair-light); }
@media (max-width: 768px) {
  .hero__facts { gap: 10px 0; margin-top: 44px; }
  .hero__facts .f { padding: 0 16px; font-size: 11px; }
}

/* ════════ HERO · декоративный оптический crosshair-маркер ════════ */
.hero__photo--lab { background:
  radial-gradient(ellipse 64% 56% at 80% 30%, rgba(200,179,138,0.20), transparent 60%),
  radial-gradient(ellipse 90% 80% at 6% 98%, rgba(120,128,140,0.16), transparent 62%),
  repeating-linear-gradient(118deg, rgba(244,241,234,0.018) 0 2px, transparent 2px 9px),
  linear-gradient(150deg, #23262b 0%, #181a1d 46%, #121214 100%); }
.hero__optic {
  position: absolute; top: 50%; right: -4vw; transform: translateY(-50%);
  width: min(640px, 52vw); aspect-ratio: 1; z-index: 1;
  color: var(--c-champagne); opacity: 0.30;
  pointer-events: none; user-select: none;
}
.hero__optic svg { width: 100%; height: 100%; display: block; }
@media (max-width: 1024px) { .hero__optic { opacity: 0.18; right: -16vw; } }
@media (max-width: 768px)  { .hero__optic { display: none; } }

/* ════════ BLOCK 2 · Услуги — карточки 2×2 (light) ════════ */
.gserv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gserv {
  background: var(--c-milk);
  border: 1px solid var(--hair-champ);
  padding: clamp(32px, 3.4vw, 48px);
  display: flex; flex-direction: column; gap: 18px;
  transition: border-color 0.4s var(--ease), transform 0.4s var(--ease);
}
.gserv:hover { border-color: var(--c-champagne); transform: translateY(-3px); }
.gserv__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.gserv__icon { width: 48px; height: 48px; color: var(--c-champagne); flex-shrink: 0; }
.gserv__no { font-family: var(--font-mono); font-size: 13px; color: var(--ink-45); letter-spacing: 0.06em; }
.gserv h3 { font-size: 20px; font-weight: 500; margin: 0; letter-spacing: -0.005em; }
.gserv p { margin: 0; font-size: 16px; line-height: 1.66; color: var(--ink-80); }
.gserv .mono { color: var(--c-bronze); font-weight: 500; }
@media (max-width: 760px) { .gserv-grid { grid-template-columns: 1fr; } }

/* ════════ BLOCK 3 · Какие камни проверяем (dark) ════════ */
.stone-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 clamp(40px, 5vw, 60px); }
.stone-tags .tag {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em;
  color: var(--milk-85); padding: 9px 16px;
  border: 1px solid var(--hair-light);
  transition: border-color 0.3s var(--ease), color 0.3s var(--ease);
}
.stone-tags .tag:hover { border-color: var(--c-champagne); color: var(--c-champagne); }

.stones-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 72px; }
.stone {
  display: grid; grid-template-columns: 52px 1fr; gap: 26px; align-items: start;
  padding: 30px 0; border-bottom: 1px solid var(--hair-light);
}
.stones-grid .stone:nth-last-child(2):nth-child(odd),
.stones-grid .stone:last-child:nth-child(even) { } /* keep flow */
.stone--wide { grid-column: 1 / -1; border-bottom: 0; }
.stone__icon { width: 44px; height: 44px; color: var(--c-champagne); margin-top: 2px; }
.stone__body h3 { font-size: 18px; font-weight: 500; color: var(--c-milk); margin: 0 0 7px; letter-spacing: -0.005em; }
.stone__body p { margin: 0; font-size: 15px; line-height: 1.62; color: var(--milk-70); }
.stones-note { margin: 40px 0 0; font-size: 14px; color: var(--milk-55); }
.stones-note a { color: var(--c-champagne); border-bottom: 1px solid transparent; transition: border-color 0.3s; }
.stones-note a:hover { border-color: var(--c-champagne); }
@media (max-width: 760px) {
  .stones-grid { grid-template-columns: 1fr; gap: 0; }
  .stone--wide { border-bottom: 1px solid var(--hair-light); }
  .stone--wide:last-child { border-bottom: 0; }
}
@media (max-width: 440px) { .stone { grid-template-columns: 40px 1fr; gap: 18px; } }

/* ════════ BLOCK 4 · Технологии — таблица методов (dark, тех) ════════ */
.tech-table { border-top: 1px solid var(--hair-light); }
.tech-row {
  display: grid; grid-template-columns: 240px 1fr; gap: 48px; align-items: baseline;
  padding: 30px 0; border-bottom: 1px solid var(--hair-light);
  transition: background 0.35s var(--ease);
}
.tech-row:hover { background: rgba(200,179,138,0.04); }
.tech-row__method {
  font-family: var(--font-mono); font-size: 19px; font-weight: 500;
  letter-spacing: 0.01em; color: var(--c-champagne);
  display: inline-flex; align-items: baseline; gap: 14px;
}
.tech-row__method .idx { font-size: 12px; font-weight: 400; color: var(--milk-55); letter-spacing: 0.1em; }
.tech-row__desc { margin: 0; font-size: 16px; line-height: 1.72; color: var(--milk-85); }
@media (max-width: 760px) {
  .tech-row { grid-template-columns: 1fr; gap: 10px; padding: 26px 0; }
}

.tech-note {
  margin-top: clamp(40px, 5vw, 60px);
  border: 1px solid var(--c-champagne);
  padding: clamp(26px, 3vw, 36px) clamp(28px, 3.4vw, 44px);
  display: flex; align-items: center; gap: 28px;
}
.tech-note__ic { width: 44px; height: 44px; color: var(--c-champagne); flex-shrink: 0; }
.tech-note p { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.55; color: var(--c-milk); }
.tech-note p .mono { color: var(--c-champagne); font-weight: 500; }
@media (max-width: 600px) { .tech-note { flex-direction: column; align-items: flex-start; gap: 20px; } }

/* ════════ BLOCK 5 · Сертификат vs заключение — две карточки (light) ════════ */
.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cmp-card {
  background: var(--c-sand);
  border: 1px solid var(--hair-champ);
  padding: clamp(30px, 3.4vw, 44px);
  display: flex; flex-direction: column;
}
.cmp-card--accent { border-color: var(--c-champagne); }
.cmp-card__kind {
  font-family: var(--font-mono); font-size: 12px; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-bronze);
  display: inline-flex; align-items: center; gap: 12px; margin: 0 0 14px;
}
.cmp-card__kind::before { content: ""; width: 24px; height: 1px; background: var(--c-champagne); }
.cmp-card__title { font-size: 24px; font-weight: 400; letter-spacing: -0.01em; margin: 0 0 8px; color: var(--c-graphite); }
.cmp-rows { margin-top: 22px; display: flex; flex-direction: column; }
.cmp-row { padding: 20px 0; border-top: 1px solid var(--hair-dark); }
.cmp-row .crit {
  font-family: var(--font-mono); font-size: 11px; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-champagne);
  display: block; margin-bottom: 8px;
}
.dark .cmp-row .crit { color: var(--c-champagne); }
.cmp-row .crit { color: var(--c-bronze); }
.cmp-row .val { font-size: 16px; line-height: 1.6; color: var(--c-graphite); }
.cmp-row .val .mono { color: var(--c-bronze); font-weight: 500; }
.compare-foot {
  margin-top: clamp(32px, 4vw, 44px);
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px 40px; flex-wrap: wrap;
}
.compare-foot p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-80); max-width: 620px; }
@media (max-width: 760px) { .compare { grid-template-columns: 1fr; } }

/* ════════ BLOCK 6 · Как работаем — 4 шага (light sand) ════════ */
.proc4 {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 44px;
  position: relative; padding-top: 8px;
}
.proc4::before {
  content: ""; position: absolute; top: 58px; left: 10%; right: 10%;
  height: 1px; background: var(--hair-champ); z-index: 0;
}
.proc4 .pdot {
  position: absolute; top: 54px; width: 8px; height: 8px;
  background: var(--c-sand); border: 1px solid var(--c-champagne);
  transform: rotate(45deg); z-index: 1;
}
.proc4 .pdot.d1 { left: 12.5%; transform: translateX(-50%) rotate(45deg); }
.proc4 .pdot.d2 { left: 37.5%; transform: translateX(-50%) rotate(45deg); }
.proc4 .pdot.d3 { left: 62.5%; transform: translateX(-50%) rotate(45deg); }
.proc4 .pdot.d4 { left: 87.5%; transform: translateX(-50%) rotate(45deg); }
.p4 { position: relative; z-index: 2; }
.p4__num {
  font-family: var(--font-mono); font-weight: 300; font-size: 88px; line-height: 1;
  color: rgba(200,179,138,0.6); display: block; margin-bottom: 26px;
}
.p4 h3 { font-size: 20px; font-weight: 500; margin: 0 0 10px; letter-spacing: -0.005em; }
.p4 p { margin: 0; max-width: 260px; font-size: 15px; line-height: 1.62; color: var(--ink-80); }
.p4 p .mono { color: var(--c-bronze); font-weight: 500; }
@media (max-width: 980px) {
  .proc4 { grid-template-columns: 1fr 1fr; gap: 44px 40px; }
  .proc4::before, .proc4 .pdot { display: none; }
  .p4__num { font-size: 72px; margin-bottom: 14px; }
}
@media (max-width: 560px) { .proc4 { grid-template-columns: 1fr; gap: 40px; } }

/* ════════ BLOCK 8 · Хаб «Экспертиза по категориям» — 4 группы ════════ */
.hub__head { max-width: 720px; margin-bottom: clamp(48px, 6vw, 72px); }
.hub__head .eyebrow { margin-bottom: 24px; }
.hub__head h2 { color: var(--c-milk); }
.hub__head .lede { margin-top: 20px; color: var(--milk-70); font-size: 16px; }
.hub-groups { display: grid; grid-template-columns: repeat(4, 1fr); gap: 56px 44px; }
.hub-group__title {
  font-family: var(--font-mono); font-size: 12px; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-champagne);
  margin: 0 0 8px; display: flex; align-items: center; gap: 14px;
}
.hub-group__title::after { content: ""; flex: 1; height: 1px; background: var(--hair-light); }
.hub-links { list-style: none; margin: 0; padding: 0; }
.hub-links li { border-bottom: 1px solid var(--hair-light); }
.hub-links a {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 14px 0; font-size: 15px; color: var(--milk-70); line-height: 1.4;
  transition: color 0.3s var(--ease);
}
.hub-links a:hover { color: var(--c-champagne); }
.hub-links a .arr { color: var(--c-champagne); opacity: 0; transform: translateX(-6px); transition: opacity 0.3s var(--ease), transform 0.3s var(--ease); flex-shrink: 0; }
.hub-links a:hover .arr { opacity: 1; transform: none; }
@media (max-width: 1080px) { .hub-groups { grid-template-columns: repeat(2, 1fr); gap: 48px 40px; } }
@media (max-width: 540px) { .hub-groups { grid-template-columns: 1fr; gap: 40px; } }
