/* ГРАНИТ ГАББРО. Все ссылки на картинки и иконки меняйте в HTML, в src. */
:root {
  --ggopt-anchor-offset:130px
}

body.ggopt-page {
  --ggopt-green:#2e5745;
  --ggopt-ink:#17211d;
  --ggopt-muted:#606b65;
  --ggopt-line:#dce2dd;
  margin:0!important;
  padding:0!important;
  background:#fff;
  color:var(--ggopt-ink);
  font-family:'Golos Text',Arial,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}

.ggopt-page *,
.ggopt-page *::before,
.ggopt-page *::after {
  box-sizing:border-box
}

.ggopt-page #wrapper.ggopt-wrapper {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:clip;
  background:#fff;
  min-height:100vh
}

.ggopt-page #loader {
  display:none!important
}

.ggopt-page h2,
.ggopt-page h3,
.ggopt-page p,
.ggopt-page ul,
.ggopt-page ol {
  margin:0;
  padding:0;
  float:none;
  text-transform:none
}

.ggopt-page a {
  color:inherit;
  text-decoration:none;
  transition:background .18s,color .18s,border-color .18s
}

.ggopt-page button {
  font:inherit;
  cursor:pointer
}

.ggopt-page img {
  display:block;
  max-width:100%;
  border:0
}

.ggopt-page a:focus-visible,
.ggopt-page button:focus-visible {
  outline:3px solid #b28531;
  outline-offset:5px
}

.ggopt-page [id] {
  scroll-margin-top:var(--ggopt-anchor-offset)
}

.ggopt-page .ggopt-container {
  width:calc(100% - 96px);
  max-width:1440px;
  margin-inline:auto
}

.ggopt-page h2 {
  font-family:'Prata',Georgia,serif;
  font-weight:400;
  letter-spacing:-.035em;
  color:inherit
}

.ggopt-page h2 {
  font-size:clamp(28px,2.55vw,43px);
  line-height:1.22
}

.ggopt-page h3 {
  font-family:'Golos Text',Arial,sans-serif;
  font-size:20px;
  line-height:1.3;
  font-weight:600;
  color:inherit
}

.ggopt-page .ggopt-eyebrow {
  font-size:12px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ggopt-green);
  margin-bottom:13px
}

.ggopt-page .ggopt-section {
  padding-block:44px
}

.ggopt-page .ggopt-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-height:52px;
  padding:14px 25px;
  border:1px solid var(--ggopt-green);
  border-radius:5px;
  background:var(--ggopt-green);
  color:#fff;
  font-size:14px;
  font-weight:600;
  line-height:1.45;
  text-align:center;
  box-shadow:0 5px 16px #132c1912
}

.ggopt-page .ggopt-btn:hover {
  background:#1d3e30;
  border-color:#1d3e30
}

.ggopt-page .ggopt-btn span {
  font-size:23px;
  line-height:1
}

.ggopt-page .ggopt-btn-outline {
  background:#101b1866;
  border-color:#bac8be;
  box-shadow:none
}

.ggopt-page .ggopt-btn-outline:hover {
  background:#ffffff18;
  border-color:#fff
}

.ggopt-page .ggopt-skip {
  position:fixed;
  z-index:200;
  top:10px;
  left:10px;
  transform:translateY(-160%);
  padding:12px;
  background:white;
  color:#17211d
}

.ggopt-page .ggopt-skip:focus {
  transform:none
}

/* Иконки — обычные img, ссылки меняются только в HTML. */
.ggopt-page .ggopt-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:0;
  border-radius:4px;
  color:inherit;
  opacity:.8
}

.ggopt-page .ggopt-reliability {
  background:#f3f5f2
}

.ggopt-page .ggopt-trust-grid {
  display:grid;
  grid-template-columns:1.12fr 1fr 1fr 1fr;
  margin-top:27px;
  border:1px solid #d4ddd5;
  border-radius:8px;
  overflow:hidden
}

.ggopt-page .ggopt-trust-card {
  position:relative;
  background:#fff;
  padding:25px 27px 30px;
  border-right:1px solid var(--ggopt-line)
}

.ggopt-page .ggopt-trust-card:last-child {
  border:0
}

.ggopt-page .ggopt-trust-card:first-child {
  background:#254e3e;
  color:#fff
}

.ggopt-page .ggopt-number {
  display:block;
  font-family:'Prata',Georgia,serif;
  font-size:42px;
  line-height:1;
  color:#789181;
  margin-bottom:30px
}

.ggopt-page .ggopt-trust-card:first-child .ggopt-number {
  color:#b4c9b8
}

.ggopt-page .ggopt-trust-card h3 {
  max-width:220px;
  margin-bottom:12px
}

.ggopt-page .ggopt-trust-card p {
  font-size:15px;
  color:var(--ggopt-muted)
}

.ggopt-page .ggopt-trust-card:first-child p {
  color:#e1ebe4
}

.ggopt-page .ggopt-section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px
}

.ggopt-page .ggopt-mixed {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
  border-radius:30px;
  padding:12px 18px;
  background:#eef3ef;
  font-size:13px;
  font-weight:500
}

.ggopt-page .ggopt-mixed .ggopt-icon {
  color:var(--ggopt-green);
  width:25px;
  height:25px;
  flex-basis:25px
}

.ggopt-page .ggopt-products {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:15px
}

.ggopt-page .ggopt-product {
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid #e1e5e1;
  border-radius:6px;
  overflow:hidden;
  background:#f5f6f5
}

.ggopt-page .ggopt-product:hover {
  border-color:#6e8c78
}

.ggopt-page .ggopt-product-image {
  aspect-ratio:4/5;
  overflow:hidden
}

/* cover заполняет всю область карточки, как запрошено. */
.ggopt-page .ggopt-product-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s
}

.ggopt-page .ggopt-product:hover img {
  transform:scale(1.035)
}

.ggopt-page .ggopt-product-caption {
  display:grid;
  grid-template-columns:1fr 16px;
  gap:8px;
  background:#fff;
  padding:14px 13px;
  flex:1
}

.ggopt-page .ggopt-product-caption h3 {
  font-size:15px;
  font-weight:500;
  line-height:1.35
}

.ggopt-page .ggopt-product-caption>span {
  color:var(--ggopt-green)
}

.ggopt-page .ggopt-product-caption p {
  grid-column:1/-1;
  color:#657067;
  font-size:12px;
  line-height:1.45
}

.ggopt-page .ggopt-benefits {
  color:#fff;
  background-color:#182722;
  background-size:cover;
  background-position:center;
  padding-block:32px
}

.ggopt-page .ggopt-benefits-inner {
  display:grid;
  grid-template-columns:1.5fr 3.5fr;
  gap:34px;
  align-items:center
}

.ggopt-page .ggopt-benefits h2 {
  font-size:clamp(26px,2.3vw,38px)
}

.ggopt-page .ggopt-benefits .ggopt-eyebrow {
  color:#adbfaf
}

.ggopt-page .ggopt-benefits ul {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px;
  text-align:center
}

.ggopt-page .ggopt-benefits li p {
  font-size:14px;
  line-height:1.45;
  margin-top:12px
}

.ggopt-page .ggopt-benefits .ggopt-icon {
  width:38px;
  height:38px
}

.ggopt-page .ggopt-production {
  padding:35px 0 24px;
  background-color:#c1c9c4;
  background-size:cover;
  background-position:center
}

.ggopt-page .ggopt-production-copy {
  width:40%;
  max-width:490px;
  min-height:290px;
  padding-bottom:25px
}

.ggopt-page .ggopt-production-copy>p:not(.ggopt-eyebrow) {
  margin-top:16px;
  font-size:15px;
  color:#56625a;
  max-width:425px
}

.ggopt-page .ggopt-production-copy .ggopt-btn {
  margin-top:22px
}

.ggopt-page .ggopt-process {
  padding-block:30px 34px
}

.ggopt-page .ggopt-process-inner {
  display:grid;
  grid-template-columns:4fr 1fr;
  gap:70px;
  margin-top:23px;
  align-items:center
}

.ggopt-page .ggopt-process ol {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:23px;
  list-style:none;
  counter-reset:steps
}

.ggopt-page .ggopt-process li {
  position:relative;
  counter-increment:steps
}

.ggopt-page .ggopt-process li:not(:last-child):after {
  content:'→';
  position:absolute;
  top:8px;
  left:58px;
  right:0;
  border-bottom:1px solid #86a391;
  height:15px;
  line-height:29px;
  text-align:right;
  color:var(--ggopt-green)
}

.ggopt-page .ggopt-process li p {
  font-size:14px;
  line-height:1.5;
  margin-top:10px
}

.ggopt-page .ggopt-handwriting {
  font-family:Georgia,serif;
  font-style:italic;
  font-size:22px;
  line-height:1.45;
  color:var(--ggopt-green)
}

.ggopt-page .ggopt-footer {
  border-top:1px solid #dbe2dc;
  background:#f7f8f6;
  padding:28px 0 17px
}

.ggopt-page .ggopt-footer-top {
  display:grid;
  grid-template-columns:1.2fr 1.1fr 1fr 1fr;
  gap:35px;
  align-items:start
}

.ggopt-page .ggopt-footer-contact h2 {
  font:600 13px/1.5 'Golos Text',sans-serif;
  letter-spacing:0;
  margin-bottom:6px
}

.ggopt-page .ggopt-footer-contact>a {
  display:block;
  font-size:16px;
  font-weight:600;
  line-height:1.8;
  white-space:nowrap
}

.ggopt-page .ggopt-footer-contact p {
  font-size:12px;
  color:#626e65;
  margin-top:8px
}

.ggopt-page .ggopt-footer nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  font-size:13px
}

.ggopt-page .ggopt-footer-location {
  font-size:13px;
  color:#657067
}

.ggopt-page .ggopt-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid #e3e8e2;
  margin-top:22px;
  padding-top:14px;
  font-size:11px;
  color:#707a73
}

@media(max-width:1250px) {
  .ggopt-page .ggopt-container {
    width:calc(100% - 56px)
  }

  .ggopt-page .ggopt-products {
    gap:10px
  }

  .ggopt-page .ggopt-section-heading {
    align-items:flex-start
  }

  .ggopt-page .ggopt-mixed {
    max-width:260px;
    font-size:12px
  }

  .ggopt-page .ggopt-trust-card {
    padding:24px 20px
  }

  .ggopt-page .ggopt-production-copy {
    width:46%
  }

  .ggopt-page .ggopt-footer-top {
    grid-template-columns:1.2fr 1fr 1fr
  }

  .ggopt-page .ggopt-footer-location {
    display:none
  }

}

@media(max-width:960px) {
  .ggopt-page .ggopt-products {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px
  }

  .ggopt-page .ggopt-product-image {
    aspect-ratio:1/1
  }

  .ggopt-page .ggopt-product-caption h3 {
    font-size:17px
  }

  .ggopt-page .ggopt-trust-grid {
    grid-template-columns:repeat(2,1fr)
  }

  .ggopt-page .ggopt-trust-card:nth-child(2) {
    border-right:0
  }

  .ggopt-page .ggopt-trust-card:nth-child(-n+2) {
    border-bottom:1px solid var(--ggopt-line)
  }

  .ggopt-page .ggopt-number {
    margin-bottom:20px
  }

  .ggopt-page .ggopt-benefits-inner {
    grid-template-columns:1fr;
    gap:25px
  }

  .ggopt-page .ggopt-benefits h2 br {
    display:none
  }

  .ggopt-page .ggopt-production-copy {
    width:57%
  }

  .ggopt-page .ggopt-process-inner {
    gap:30px;
    grid-template-columns:4fr 1.2fr
  }

  .ggopt-page .ggopt-handwriting {
    font-size:19px
  }

  .ggopt-page .ggopt-footer-top {
    grid-template-columns:1fr 1fr
  }

  .ggopt-page .ggopt-footer nav {
    grid-column:1/-1
  }

}

@media(max-width:640px) {
  .ggopt-page .ggopt-container {
    width:calc(100% - 32px)
  }

  .ggopt-page .ggopt-eyebrow {
    font-size:10px;
    letter-spacing:.14em;
    margin-bottom:12px
  }

  .ggopt-page .ggopt-icon {
    width:26px;
    height:26px;
    flex-basis:26px
  }

  .ggopt-page .ggopt-btn {
    min-height:50px;
    padding:13px 17px
  }

  .ggopt-page .ggopt-section {
    padding-block:30px
  }

  .ggopt-page h2 {
    font-size:28px;
    line-height:1.25
  }

  .ggopt-page .ggopt-trust-grid {
    margin-top:21px
  }

  .ggopt-page .ggopt-trust-card {
    padding:20px 15px
  }

  .ggopt-page .ggopt-number {
    font-size:32px;
    margin-bottom:20px
  }

  .ggopt-page .ggopt-trust-card h3 {
    font-size:17px;
    overflow-wrap:anywhere
  }

  .ggopt-page .ggopt-trust-card p {
    font-size:14px
  }

  .ggopt-page .ggopt-section-heading {
    display:block
  }

  .ggopt-page .ggopt-mixed {
    max-width:none;
    width:fit-content;
    font-size:12px;
    margin-top:15px;
    padding:9px 12px
  }

  .ggopt-page .ggopt-products {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }

  .ggopt-page .ggopt-product-image {
    aspect-ratio:4/5
  }

  .ggopt-page .ggopt-product-caption {
    padding:12px 10px;
    gap:6px
  }

  .ggopt-page .ggopt-product-caption h3 {
    font-size:15px
  }

  .ggopt-page .ggopt-product-caption p {
    font-size:12px
  }

  .ggopt-page .ggopt-benefits {
    padding-block:27px
  }

  .ggopt-page .ggopt-benefits h2 {
    font-size:28px
  }

  .ggopt-page .ggopt-benefits ul {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:25px 20px
  }

  .ggopt-page .ggopt-benefits li:last-child {
    grid-column:1/-1;
    max-width:240px;
    justify-self:center
  }

  .ggopt-page .ggopt-benefits li p {
    font-size:14px
  }

  .ggopt-page .ggopt-production {
    padding-top:29px;
    background-position:65% center
  }

  .ggopt-page .ggopt-production-copy {
    width:100%;
    min-height:0;
    max-width:none;
    padding-bottom:28px
  }

  .ggopt-page .ggopt-production-copy>p:not(.ggopt-eyebrow) {
    font-size:15px
  }

  .ggopt-page .ggopt-process-inner {
    display:block
  }

  .ggopt-page .ggopt-process ol {
    grid-template-columns:1fr 1fr;
    gap:25px 20px
  }

  .ggopt-page .ggopt-process li:nth-child(2):after {
    display:none
  }

  .ggopt-page .ggopt-handwriting {
    font-size:21px;
    line-height:1.4;
    margin-top:24px;
    padding-left:18px;
    border-left:2px solid #96ad9d
  }

  .ggopt-page .ggopt-handwriting br {
    display:none
  }

  .ggopt-page .ggopt-footer-top {
    gap:22px;
    grid-template-columns:1fr
  }

  .ggopt-page .ggopt-footer nav {
    grid-column:auto
  }

  .ggopt-page .ggopt-footer-contact>a {
    font-size:19px;
    line-height:2.2
  }

  .ggopt-page .ggopt-footer-contact h2 {
    font-size:14px
  }

  .ggopt-page .ggopt-footer-bottom {
    display:grid;
    gap:6px
  }

  .ggopt-page .ggopt-footer-location {
    display:block
  }

  .ggopt-page .ggopt-footer {
    padding-top:24px
  }

}

/* ================= ФИНАЛЬНАЯ КОМПАКТНАЯ КОМПОНОВКА =================
   Шапка не прилипает к экрану. Контакты собраны в две короткие колонки:
   телефон + почта и телефон + MAX.
*/
.ggopt-page .ggopt-header {
  position:relative;
  top:auto;
  z-index:20;
  backdrop-filter:none;
}

.ggopt-page .ggopt-header-inner {
  min-height:86px;
  padding-block:10px;
  gap:18px;
  flex-wrap:nowrap;
}

.ggopt-page .ggopt-phones {
  display:grid;
  grid-template-columns:repeat(2,minmax(174px,1fr));
  align-items:start;
  gap:9px;
}

.ggopt-page .ggopt-contact-pair {
  display:grid;
  grid-template-rows:auto 25px;
  gap:3px;
  min-width:0;
}

.ggopt-page .ggopt-call {
  min-width:0;
  min-height:59px;
  padding:8px 12px;
  border-radius:9px;
  gap:4px;
}

.ggopt-page .ggopt-call strong {
  font-size:15px;
  letter-spacing:-.01em;
}

.ggopt-page .ggopt-header-meta {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:25px;
  padding:2px 7px;
  font-size:12px;
  font-weight:650;
  line-height:1.2;
}

.ggopt-page .ggopt-header-email {
  grid-column:auto;
  justify-self:stretch;
  color:#2e5745;
  text-decoration:none;
  border-radius:6px;
}

.ggopt-page .ggopt-header-email:hover {
  background:#eef3ef;
  color:#173a2b;
}

/* Единый спокойный вид MAX: без псевдологотипа, без золота и резкой анимации. */
.ggopt-page .ggopt-max-button,
.ggopt-page .ggopt-price-call>a.ggopt-max-button {
  min-height:34px;
  padding:7px 15px;
  border:1px solid #7e55ff;
  border-radius:8px;
  background:linear-gradient(115deg,#591fff 0%,#7135ff 58%,#16aaf2 100%);
  color:#fff!important;
  font-size:13px;
  font-weight:750;
  line-height:1.2;
  letter-spacing:.08em;
  box-shadow:0 5px 14px rgba(89,31,255,.16);
  animation:none;
  transform:none;
  filter:none;
  transition:box-shadow .18s ease,border-color .18s ease,opacity .18s ease;
}

.ggopt-page .ggopt-max-button>span {
  display:none;
}

.ggopt-page .ggopt-max-button:hover,
.ggopt-page .ggopt-price-call>a.ggopt-max-button:hover {
  background:linear-gradient(115deg,#591fff 0%,#7135ff 58%,#16aaf2 100%);
  border-color:#946fff;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(89,31,255,.24);
  transform:none;
  filter:none;
}

.ggopt-page .ggopt-max-header {
  grid-column:auto;
  justify-self:stretch;
  width:100%;
  min-height:25px;
  padding:3px 10px;
  border-radius:6px;
  font-size:11px;
  box-shadow:none;
}

.ggopt-page .ggopt-price-call>a.ggopt-max-button {
  min-height:44px;
  width:100%;
}

.ggopt-page .ggopt-max-footer {
  width:72px;
  min-height:30px;
  margin-top:7px;
  padding:5px 11px;
  font-size:11px!important;
}

/* Витрина камня: карточки приблизительно вдвое ниже прежних. */
.ggopt-page .ggopt-stones {
  padding:34px 0 27px;
}

.ggopt-page .ggopt-stones-heading {
  margin-bottom:18px;
}

.ggopt-page .ggopt-stones-track {
  gap:12px;
}

.ggopt-page .ggopt-stone-card {
  flex:0 0 calc((100% - 48px)/5);
  height:245px;
  border-radius:8px;
}

.ggopt-page .ggopt-stone-card>img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}

.ggopt-page .ggopt-stone-card-copy {
  left:13px;
  right:13px;
  bottom:12px;
}

.ggopt-page .ggopt-stone-card-copy>span {
  margin-bottom:5px;
  font-size:10px;
}

.ggopt-page .ggopt-stone-card h3 {
  font-size:14px;
}

/* Внешняя плашка формы без собственной дублирующей подписи. */
.ggopt-page .ggopt-ucoz-form {
  padding:12px;
}

@media(max-width:1180px) {
  .ggopt-page .ggopt-header-inner {
    flex-wrap:wrap;
  }

  .ggopt-page .ggopt-nav {
    order:3;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 36px)/4);
    height:230px;
  }
}

@media(max-width:960px) {
  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 24px)/3);
    height:215px;
  }
}

@media(max-width:700px) {
  .ggopt-page .ggopt-header-inner {
    min-height:auto;
    gap:9px;
    padding-block:9px;
  }

  .ggopt-page .ggopt-phones {
    order:2;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .ggopt-page .ggopt-contact-pair {
    grid-template-rows:auto 27px;
  }

  .ggopt-page .ggopt-call {
    min-height:55px;
    padding:7px 9px;
  }

  .ggopt-page .ggopt-call-label {
    font-size:9px;
  }

  .ggopt-page .ggopt-call strong {
    font-size:13px;
  }

  .ggopt-page .ggopt-header-meta {
    min-height:27px;
    font-size:11px;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 12px)/2);
    height:205px;
  }
}

@media(max-width:430px) {
  .ggopt-page .ggopt-call strong {
    font-size:12px;
  }

  .ggopt-page .ggopt-header-email {
    font-size:10px;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:72%;
    height:195px;
  }
}

/* ==========================================================
   ФИНАЛЬНАЯ ШАПКА, ГРАФИК РАБОТЫ И КОМПАКТНАЯ ВИТРИНА КАМНЯ
   ========================================================== */
/* Эти правила намеренно имеют повышенную точность: старые стили темы uCoz
   и предыдущие адаптивные блоки не смогут снова закрепить шапку или
   растянуть карточки пород. */
body.ggopt-page #wrapper header.ggopt-header {
  position:static!important;
  inset:auto!important;
  transform:none!important;
}

body.ggopt-page .ggopt-header-inner {
  display:grid;
  grid-template-columns:auto minmax(390px,1fr) auto;
  min-height:78px;
  padding-block:8px;
  gap:18px;
  flex-wrap:nowrap;
}

body.ggopt-page .ggopt-stones {
  padding:27px 0 22px;
}

body.ggopt-page .ggopt-stones-heading {
  margin-bottom:14px;
}

body.ggopt-page .ggopt-stones-track {
  gap:10px;
}

body.ggopt-page .ggopt-stone-card {
  flex:0 0 176px!important;
  width:176px!important;
  min-width:176px!important;
  height:205px!important;
}

body.ggopt-page .ggopt-stone-card>img {
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
}

body.ggopt-page .ggopt-footer-top {
  grid-template-columns:1.05fr .8fr 1fr .75fr .8fr;
  gap:28px;
}

@media(max-width:1500px) {
  body.ggopt-page .ggopt-header-inner {
    grid-template-columns:auto minmax(350px,1fr) auto;
    gap:13px;
  }
}

@media(max-width:1180px) {
  body.ggopt-page .ggopt-header-inner {
    grid-template-columns:auto 1fr;
    min-height:0;
  }

  body.ggopt-page .ggopt-footer-top {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px) {
  body.ggopt-page .ggopt-header-inner {
    grid-template-columns:1fr auto;
    padding-block:8px;
  }

  body.ggopt-page .ggopt-stone-card {
    flex-basis:150px!important;
    width:150px!important;
    min-width:150px!important;
    height:182px!important;
  }

  body.ggopt-page .ggopt-footer-top {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px) {
  body.ggopt-page .ggopt-stone-card {
    flex-basis:138px!important;
    width:138px!important;
    min-width:138px!important;
    height:170px!important;
  }

  body.ggopt-page .ggopt-footer-top {
    grid-template-columns:1fr;
  }
}

html .ggopt-page .ggopt-header,
body.ggopt-page .ggopt-header,
.ggopt-page #wrapper .ggopt-header {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  min-height:0!important;
  background:#fff;
  backdrop-filter:none!important;
  box-shadow:none!important;
}

.ggopt-page .ggopt-header-inner {
  display:grid;
  grid-template-columns:auto minmax(390px,1fr) auto;
  align-items:center;
  min-height:78px;
  padding-block:8px;
  gap:18px;
}

.ggopt-page .ggopt-header .ggopt-brand {
  gap:9px;
  font-size:16px;
}

.ggopt-page .ggopt-header .ggopt-brand img {
  width:47px;
  height:39px;
}

.ggopt-page .ggopt-header .ggopt-brand small {
  margin-top:3px;
  font-size:8px;
}

.ggopt-page .ggopt-header .ggopt-nav {
  justify-content:center;
  width:auto;
  gap:15px;
  order:initial;
}

.ggopt-page .ggopt-header .ggopt-nav a {
  padding-block:7px;
  font-size:12px;
}

.ggopt-page .ggopt-header-side {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:17px;
  min-width:0;
}

.ggopt-page .ggopt-worktime {
  width:146px;
  flex:0 0 146px;
  color:#23352d;
}

.ggopt-page .ggopt-worktime-label {
  display:block;
  margin-bottom:2px;
  color:#78827d;
  font-size:9px;
  font-weight:600;
  line-height:1.15;
}

.ggopt-page .ggopt-worktime strong {
  display:block;
  font-family:'Golos Text',Arial,sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.15;
}

.ggopt-page .ggopt-week {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:3px;
  margin-top:6px;
}

.ggopt-page .ggopt-week span {
  position:relative;
  padding-top:6px;
  color:#69766f;
  font-size:7px;
  font-weight:700;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
}

.ggopt-page .ggopt-week span::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  border-radius:3px;
  background:#36835d;
}

.ggopt-page .ggopt-week span.is-closed {
  color:#bd4949;
}

.ggopt-page .ggopt-week span.is-closed::before {
  background:#cf4c4c;
}

.ggopt-page .ggopt-header .ggopt-phones {
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,1fr));
  align-items:center;
  width:325px;
  gap:4px 13px;
}

.ggopt-page .ggopt-header .ggopt-call {
  display:block;
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:#244b3b;
}

.ggopt-page .ggopt-header .ggopt-call:hover {
  border:0;
  background:none;
  box-shadow:none;
  color:#173a2b;
}

.ggopt-page .ggopt-header .ggopt-call-secondary,
.ggopt-page .ggopt-header .ggopt-call-secondary:hover {
  color:#6c7771;
}

.ggopt-page .ggopt-header .ggopt-call-label {
  display:block;
  margin-bottom:2px;
  color:#87908b;
  font-size:8px;
  font-weight:600;
  line-height:1.15;
}

.ggopt-page .ggopt-header .ggopt-call-primary .ggopt-call-label {
  color:#567365;
}

.ggopt-page .ggopt-header .ggopt-call strong {
  display:block;
  color:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.015em;
  white-space:nowrap;
}

.ggopt-page .ggopt-header .ggopt-header-meta {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:auto;
  min-width:0;
  min-height:22px;
  padding:2px 0;
  font-size:11px;
  line-height:1.15;
}

.ggopt-page .ggopt-header .ggopt-header-email {
  grid-column:auto;
  justify-self:start;
  color:#315c49;
  text-decoration:underline;
  text-underline-offset:3px;
  white-space:nowrap;
}

.ggopt-page .ggopt-header .ggopt-max-header {
  justify-self:start;
  width:62px;
  min-height:22px;
  padding:3px 11px;
  border:0!important;
  border-radius:6px;
  font-size:10px;
  letter-spacing:.075em;
  box-shadow:none;
}

/* Карточки пород имеют фиксированный небольшой размер и больше не растягиваются. */
.ggopt-page .ggopt-stones {
  padding:27px 0 22px;
}

.ggopt-page .ggopt-stones-heading {
  align-items:end;
  margin-bottom:14px;
}

.ggopt-page .ggopt-stones h2 {
  font-size:clamp(27px,2.4vw,38px);
}

.ggopt-page .ggopt-stones-heading>p {
  max-width:360px;
  font-size:13px;
}

.ggopt-page .ggopt-stones-controls button {
  width:36px;
  height:36px;
  font-size:17px;
}

.ggopt-page .ggopt-stones-track {
  gap:10px;
}

.ggopt-page .ggopt-stone-card {
  flex:0 0 176px!important;
  width:176px!important;
  height:205px!important;
  min-width:176px!important;
  border-radius:7px;
}

.ggopt-page .ggopt-stone-card>img {
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}

.ggopt-page .ggopt-stone-card-copy {
  left:11px;
  right:9px;
  bottom:10px;
}

.ggopt-page .ggopt-stone-card-copy>span {
  gap:5px;
  margin-bottom:4px;
  font-size:8px;
}

.ggopt-page .ggopt-stone-card h3 {
  font-size:12px;
  line-height:1.2;
}

/* График и способы связи в подвале. */
.ggopt-page .ggopt-footer-top {
  grid-template-columns:1.05fr .8fr 1fr .75fr .8fr;
  gap:28px;
}

.ggopt-page .ggopt-footer-hours .ggopt-worktime {
  width:155px;
}

.ggopt-page .ggopt-footer-contact {
  display:grid;
  justify-items:start;
  gap:4px;
}

.ggopt-page .ggopt-footer-contact h2 {
  margin-bottom:2px;
}

.ggopt-page .ggopt-footer-secondary {
  color:#768079!important;
}

.ggopt-page .ggopt-footer-secondary small {
  font-size:10px;
  font-weight:500;
}

@media(max-width:1500px) {
  .ggopt-page .ggopt-header-inner {
    grid-template-columns:auto minmax(350px,1fr) auto;
    gap:13px;
  }

  .ggopt-page .ggopt-header-side {
    gap:12px;
  }

  .ggopt-page .ggopt-worktime {
    width:132px;
    flex-basis:132px;
  }

  .ggopt-page .ggopt-header .ggopt-phones {
    width:302px;
    grid-template-columns:repeat(2,minmax(140px,1fr));
    gap:4px 10px;
  }

  .ggopt-page .ggopt-header .ggopt-nav {
    gap:11px;
  }

  .ggopt-page .ggopt-header .ggopt-nav a {
    font-size:11px;
  }
}

@media(max-width:1180px) {
  .ggopt-page .ggopt-header-inner {
    grid-template-columns:auto 1fr;
    min-height:0;
  }

  .ggopt-page .ggopt-header .ggopt-nav {
    grid-column:1/-1;
    grid-row:2;
    order:initial;
    width:100%;
    padding-top:1px;
  }

  .ggopt-page .ggopt-header-side {
    grid-column:2;
    grid-row:1;
  }

  .ggopt-page .ggopt-footer-top {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px) {
  .ggopt-page .ggopt-header-inner {
    grid-template-columns:1fr auto;
    padding-block:8px;
  }

  .ggopt-page .ggopt-header-side {
    grid-column:1/-1;
    grid-row:2;
    display:grid;
    grid-template-columns:130px minmax(0,1fr);
    width:100%;
    gap:12px;
    padding-top:6px;
    border-top:1px solid #e4e9e6;
  }

  .ggopt-page .ggopt-header .ggopt-nav {
    grid-column:1/-1;
    grid-row:3;
  }

  .ggopt-page .ggopt-header .ggopt-phones {
    width:100%;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:150px!important;
    width:150px!important;
    min-width:150px!important;
    height:182px!important;
  }

  .ggopt-page .ggopt-footer-top {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px) {
  .ggopt-page .ggopt-header-side {
    grid-template-columns:112px minmax(0,1fr);
    gap:9px;
  }

  .ggopt-page .ggopt-worktime {
    width:112px;
    flex-basis:112px;
  }

  .ggopt-page .ggopt-worktime strong {
    font-size:13px;
  }

  .ggopt-page .ggopt-header .ggopt-phones {
    grid-template-columns:1fr 1fr;
    gap:4px 7px;
  }

  .ggopt-page .ggopt-header .ggopt-call strong {
    font-size:11px;
  }

  .ggopt-page .ggopt-header .ggopt-call-label {
    font-size:7px;
  }

  .ggopt-page .ggopt-header .ggopt-header-email {
    font-size:9px;
  }

  .ggopt-page .ggopt-header .ggopt-max-header {
    width:52px;
    font-size:9px;
  }

  .ggopt-page .ggopt-stones {
    padding:23px 0 18px;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:138px!important;
    width:138px!important;
    min-width:138px!important;
    height:170px!important;
  }

  .ggopt-page .ggopt-footer-top {
    grid-template-columns:1fr;
  }
}

@media(min-width:1181px) and (max-width:1390px) {
  .ggopt-page .ggopt-header-inner {
    flex-wrap:nowrap;
  }

  .ggopt-page .ggopt-nav {
    order:initial;
    width:auto;
    gap:15px;
  }

  .ggopt-page .ggopt-nav a {
    font-size:12px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ggopt-page * {
    transition:none!important;
    scroll-behavior:auto!important
  }

}

@media print {
  .ggopt-page .ggopt-btn {
    color:#17211d;
    background:#fff
  }

  .ggopt-page .ggopt-container {
    width:100%
  }

}

/* Фотографии и иконки: все src находятся в HTML. */
.ggopt-page .ggopt-benefits,
.ggopt-page .ggopt-production {
  position:relative;
  isolation:isolate
}

.ggopt-page img.ggopt-section-bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  z-index:0;
  pointer-events:none
}

.ggopt-page .ggopt-benefits::before,
.ggopt-page .ggopt-production::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none
}

.ggopt-page .ggopt-benefits::before {
  background:linear-gradient(#0e1b17c7,#0e1b17c7)
}

.ggopt-page .ggopt-production::before {
  background:linear-gradient(90deg,#f5f6f4 0%,#f5f6f4fa 30%,#f5f6f488 48%,#f5f6f400 67%)
}

.ggopt-page .ggopt-benefits>.ggopt-container,
.ggopt-page .ggopt-production>.ggopt-container {
  position:relative;
  z-index:2
}

.ggopt-page img.ggopt-icon {
  object-fit:contain;
  border:0;
  border-radius:0;
  opacity:1
}

.ggopt-page img.ggopt-step-image {
  display:block;
  width:44px;
  height:44px;
  object-fit:contain
}

.ggopt-page img.ggopt-handwriting {
  display:block;
  width:100%;
  height:auto;
  max-width:280px;
  object-fit:contain
}

@media(max-width:640px) {
  .ggopt-page .ggopt-production::before {
    background:linear-gradient(180deg,#f5f6f4 0%,#f5f6f4f0 57%,#f5f6f440 100%)
  }

  .ggopt-page .ggopt-production>img.ggopt-section-bg {
    object-position:65% center
  }

  .ggopt-page img.ggopt-handwriting {
    padding:0;
    border:0;
    margin-top:24px;
    max-width:280px
  }

}

@media print {
  .ggopt-page .ggopt-section-bg {
    display:none
  }

}

/* ================= ШАПКА И ПЕРВЫЙ ЭКРАН =================
   Все картинки по-прежнему меняются только в HTML, через src.
   Фон hero вписывается целиком, а не увеличивается с обрезкой.
*/
.ggopt-page .ggopt-header {
  position:sticky;
  top:0;
  z-index:50;
  background:#fffffff5;
  border-bottom:1px solid #e2e9e3;
  backdrop-filter:blur(16px);
}

.ggopt-page .ggopt-header-inner {
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding-block:16px;
}

.ggopt-page .ggopt-brand {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
  font-size:18px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.015em;
}

.ggopt-page .ggopt-brand img {
  width:56px;
  height:46px;
  object-fit:contain;
}

.ggopt-page .ggopt-brand small {
  display:block;
  margin-top:6px;
  font-size:10px;
  font-weight:500;
  letter-spacing:.13em;
  color:#66786e;
}

.ggopt-page .ggopt-nav {
  display:flex;
  align-items:center;
  gap:19px;
}

.ggopt-page .ggopt-nav a {
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  white-space:nowrap;
  padding-block:10px;
  border-bottom:2px solid transparent;
}

.ggopt-page .ggopt-nav a:hover {
  color:#2e5745;
  border-bottom-color:#2e5745;
}

.ggopt-page .ggopt-phones {
  display:flex;
  align-items:stretch;
  gap:9px;
  flex-shrink:0;
}

.ggopt-page .ggopt-call {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  min-height:67px;
  min-width:181px;
  padding:11px 14px;
  border-radius:10px;
  border:1px solid #cbd8cf;
  transition:background .18s,border-color .18s,box-shadow .18s;
}

.ggopt-page .ggopt-call-primary {
  background:#254e3e;
  border-color:#254e3e;
  color:#fff;
  box-shadow:0 5px 15px #153c2820;
}

.ggopt-page .ggopt-call-secondary {
  background:#fff;
  color:#203c2e;
}

.ggopt-page .ggopt-call-primary:hover {
  background:#173a2b;
  border-color:#173a2b;
  box-shadow:0 6px 20px #153c2830;
}

.ggopt-page .ggopt-call-secondary:hover {
  background:#edf4ef;
  border-color:#789c86;
}

.ggopt-page .ggopt-call-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:10px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:.025em;
}

.ggopt-page .ggopt-call-label>span {
  font-size:17px;
  line-height:1;
}

.ggopt-page .ggopt-call strong {
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.025em;
}

.ggopt-page .ggopt-menu-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 13px;
  min-height:42px;
  background:#fff;
  border:1px solid #cad8ce;
  border-radius:8px;
  color:#234734;
}

.ggopt-page .ggopt-hero {
  position:relative;
  isolation:isolate;
  background:#0b1713;
  color:#fff;
}

.ggopt-page .ggopt-hero-scene {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

/* Маска привязана к краю самой фотографии, а не ко всей ширине HERO.
   Поэтому левый край плавно растворяется при любой ширине монитора. */
.ggopt-page .ggopt-hero-scene>img.ggopt-section-bg {
  position:absolute;
  top:0;
  right:0;
  bottom:auto;
  left:auto;
  width:auto;
  max-width:none;
  height:100%;
  object-fit:contain;
  object-position:right center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 100%);
}

.ggopt-page .ggopt-hero-scene::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#0b1713 0%,#0b1713f5 25%,#0b1713ba 43%,#0b171340 60%,#0b171300 77%),linear-gradient(0deg,#0b1713 0%,#0b171300 23%);
}

.ggopt-page .ggopt-hero-inner {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  padding-block:43px 25px;
  gap:30px;
  min-height:610px;
}

.ggopt-page .ggopt-hero-copy {
  width:52%;
  max-width:660px;
}

.ggopt-page .ggopt-hero .ggopt-eyebrow {
  color:#b9cdc0;
  font-size:11px;
  letter-spacing:.14em;
  margin-bottom:20px;
}

.ggopt-page h1 {
  font-family:'Golos Text',Arial,sans-serif;
  font-size:clamp(34px,2.65vw,48px);
  font-weight:600;
  line-height:1.16;
  letter-spacing:-.045em;
  color:inherit;
}

.ggopt-page .ggopt-title-origin {
  display:block;
  font-size:.72em;
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.3;
  margin-top:12px;
  color:#cbded2;
}

.ggopt-page .ggopt-lead {
  margin-top:20px;
  font-size:16px;
  line-height:1.55;
  color:#e0e8e2;
}

.ggopt-page .ggopt-hero-list {
  display:grid;
  gap:9px;
  list-style:none;
  margin-top:23px;
}

.ggopt-page .ggopt-hero-list li {
  display:flex;
  align-items:center;
  gap:13px;
  font-size:14px;
  line-height:1.45;
  color:#f2f6f3;
}

.ggopt-page .ggopt-icon-frame {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:1px solid #c6e2d21c;
  border-radius:9px;
  background:#c4dfce0c;
}

.ggopt-page .ggopt-hero img.ggopt-icon {
  display:block;
  width:42px;
  height:42px;
  flex:none;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:1;
  border:0;
}

.ggopt-page .ggopt-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px;
}

.ggopt-page .ggopt-hero .ggopt-btn {
  min-height:50px;
  padding:13px 20px;
  border-radius:7px;
}

.ggopt-page .ggopt-hero .ggopt-btn-outline {
  background:#0b17135c;
  border-color:#acc6b475;
  color:#fff;
}

.ggopt-page .ggopt-hero .ggopt-btn-outline:hover {
  background:#ffffff12;
  border-color:#c6ddcf;
}

.ggopt-page .ggopt-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-self:end;
  justify-self:end;
  width:min(100%, 820px);
  padding:14px 8px;
  background:#0a1714f2;
  border:1px solid #90b6a035;
  border-radius:12px;
  box-shadow:0 14px 35px #00000024;
  backdrop-filter:blur(12px);
}

.ggopt-page .ggopt-stats>div {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:3px 10px;
  border-right:1px solid #c2dbcd25;
  min-width:0;
}

.ggopt-page .ggopt-stats>div:last-child {
  border-right:0;
}

.ggopt-page .ggopt-stats .ggopt-icon-frame {
  width:48px;
  height:48px;
  flex-basis:48px;
  border-radius:11px;
  background:#b1d2bc10;
}

.ggopt-page .ggopt-stats img.ggopt-icon {
  width:48px;
  height:48px;
}

.ggopt-page .ggopt-stats strong {
  display:block;
  font-family:'Golos Text',Arial,sans-serif;
  font-size:28px;
  font-weight:500;
  letter-spacing:-.04em;
  line-height:1.15;
  white-space:nowrap;
}

.ggopt-page .ggopt-stats>div:nth-child(2) strong {
  font-size:16px;
  font-weight:600;
  letter-spacing:-.025em;
  white-space:normal;
}

.ggopt-page .ggopt-stats p span {
  display:block;
  font-size:12px;
  line-height:1.4;
  margin-top:5px;
  color:#d4dfd8;
}

.ggopt-page .ggopt-footer .ggopt-brand {
  font-size:16px;
}

@media(max-width:1390px) {
  .ggopt-page .ggopt-header-inner {
    flex-wrap:wrap;
    gap:10px 24px;
    padding-block:12px;
  }

  .ggopt-page .ggopt-nav {
    order:3;
    width:100%;
    justify-content:center;
    gap:32px;
  }

  .ggopt-page .ggopt-nav a {
    padding-block:6px;
  }

  .ggopt-page .ggopt-hero-inner {
    min-height:590px;
    padding-top:32px;
  }

  .ggopt-page .ggopt-hero-copy {
    width:55%;
  }

}

@media(max-width:960px) {
  .ggopt-page .ggopt-hero-inner {
    gap:26px;
    min-height:580px;
  }

  .ggopt-page .ggopt-hero-copy {
    width:64%;
  }

  .ggopt-page h1 {
    font-size:34px;
  }

  .ggopt-page .ggopt-stats>div {
    gap:10px;
    padding-inline:10px;
  }

  .ggopt-page .ggopt-stats .ggopt-icon-frame {
    width:48px;
    height:48px;
    flex-basis:48px;
  }

  .ggopt-page .ggopt-stats img.ggopt-icon {
    width:48px;
    height:48px;
  }

  .ggopt-page .ggopt-stats strong {
    font-size:27px;
  }

  .ggopt-page .ggopt-stats>div:nth-child(2) strong {
    font-size:16px;
  }

  .ggopt-page .ggopt-stats p span {
    font-size:12px;
  }

}

@media(max-width:700px) {
  .ggopt-page .ggopt-header-inner {
    gap:10px;
  }

  .ggopt-page .ggopt-brand {
    font-size:16px;
    gap:8px;
  }

  .ggopt-page .ggopt-brand img {
    width:43px;
    height:36px;
  }

  .ggopt-page .ggopt-brand small {
    font-size:9px;
    letter-spacing:.09em;
    margin-top:5px;
  }

  .ggopt-js .ggopt-page .ggopt-menu-toggle {
    display:flex;
    font-size:13px;
  }

  .ggopt-page .ggopt-phones {
    order:2;
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .ggopt-page .ggopt-call {
    min-width:0;
    min-height:61px;
    padding:9px 11px;
    gap:5px;
    border-radius:8px;
  }

  .ggopt-page .ggopt-call strong {
    font-size:clamp(12px,3.8vw,17px);
    letter-spacing:-.045em;
  }

  .ggopt-page .ggopt-call-label {
    font-size:9px;
    gap:5px;
    letter-spacing:0;
  }

  .ggopt-page .ggopt-call-label>span {
    font-size:14px;
  }

  .ggopt-page .ggopt-nav {
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:4px 20px;
  }

  .ggopt-page .ggopt-nav a {
    font-size:14px;
    padding-block:10px;
  }

  .ggopt-js .ggopt-page .ggopt-nav {
    display:none;
  }

  .ggopt-js .ggopt-page .ggopt-nav.is-open {
    display:flex;
  }

/* На узком экране фото целиком между текстом и показателями. */
  .ggopt-page .ggopt-hero {
    display:flex;
    flex-direction:column;
  }

  .ggopt-page .ggopt-hero-inner {
    display:contents;
  }

  .ggopt-page .ggopt-hero-copy {
    order:1;
    width:calc(100% - 32px);
    max-width:none;
    margin-inline:auto;
    padding-top:29px;
    padding-bottom:20px;
  }

  .ggopt-page .ggopt-hero-scene {
    position:relative;
    inset:auto;
    order:2;
    width:100%;
    aspect-ratio:16/9;
  }

  .ggopt-page .ggopt-hero-scene>img.ggopt-section-bg {
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .ggopt-page .ggopt-hero-scene::after {
    background:linear-gradient(180deg,#0b1713 0%,#0b171300 15%,#0b171300 88%,#0b1713 100%);
  }

  .ggopt-page h1 {
    font-size:clamp(29px,7.5vw,42px);
    line-height:1.17;
    letter-spacing:-.045em;
  }

  .ggopt-page .ggopt-title-break {
    display:none;
  }

  .ggopt-page .ggopt-title-origin {
    font-size:.72em;
    margin-top:10px;
  }

  .ggopt-page .ggopt-hero .ggopt-eyebrow {
    font-size:10px;
    letter-spacing:.1em;
    margin-bottom:17px;
  }

  .ggopt-page .ggopt-lead {
    font-size:15px;
    margin-top:16px;
  }

  .ggopt-page .ggopt-hero-list {
    gap:10px;
    margin-top:20px;
  }

  .ggopt-page .ggopt-hero-list li {
    font-size:14px;
    gap:11px;
  }

  .ggopt-page .ggopt-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:22px;
  }

  .ggopt-page .ggopt-stats {
    position:relative;
    z-index:2;
    order:3;
    width:calc(100% - 32px);
    margin:10px auto 23px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:5px 10px;
    gap:0;
    align-self:auto;
  }

  .ggopt-page .ggopt-stats>div {
    justify-content:flex-start;
    gap:10px;
    padding:15px 8px;
  }

  .ggopt-page .ggopt-stats>div:nth-child(2) {
    border-right:0;
  }

  .ggopt-page .ggopt-stats>div:nth-child(-n+2) {
    border-bottom:1px solid #c2dbcd25;
  }

  .ggopt-page .ggopt-stats .ggopt-icon-frame {
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .ggopt-page .ggopt-stats img.ggopt-icon {
    width:46px;
    height:46px;
  }

  .ggopt-page .ggopt-stats strong {
    font-size:26px;
  }

  .ggopt-page .ggopt-stats>div:nth-child(2) strong {
    font-size:15px;
  }

  .ggopt-page .ggopt-stats p span {
    font-size:11px;
  }

}

@media(max-width:360px) {
  .ggopt-page .ggopt-stats>div {
    padding-inline:5px;
    gap:8px;
  }

  .ggopt-page .ggopt-stats .ggopt-icon-frame {
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .ggopt-page .ggopt-stats img.ggopt-icon {
    width:38px;
    height:38px;
  }

  .ggopt-page .ggopt-stats strong {
    font-size:23px;
  }

}

@media print {
  .ggopt-page .ggopt-header {
    position:static;
  }

  .ggopt-page .ggopt-hero {
    background:#fff;
    color:#17211d;
  }

  .ggopt-page .ggopt-hero-scene {
    display:none;
  }

  .ggopt-page .ggopt-stats {
    background:#eee;
    color:#17211d;
  }

  .ggopt-page .ggopt-stats p span {
    color:#17211d;
  }

}


/* Компактная панель справа внизу HERO, как в исходной компоновке.
   На меньшей ширине остаётся отдельной строкой, чтобы не перекрывать кнопки. */
@media (min-width:1251px) {
  .ggopt-page .ggopt-hero-inner {
    display:block;
  }

  .ggopt-page .ggopt-stats {
    position:absolute;
    right:0;
    bottom:25px;
    width:58%;
    max-width:820px;
  }
}

/* ================= MAX, ПОРОДЫ КАМНЯ, ФОРМА И HOVER ================= */

/* Фирменная кнопка MAX: цвета взяты из официальной палитры MAX. */
.ggopt-page .ggopt-max-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:8px 14px;
  border:0;
  border-radius:9px;
  background:linear-gradient(125deg,#471aff 0%,#6e1aff 52%,#00bfff 100%);
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.055em;
  box-shadow:0 7px 18px #471aff2c;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.ggopt-page .ggopt-max-button>span {
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border:1px solid #ffffff99;
  border-radius:7px;
  font-size:12px;
  line-height:1;
}

.ggopt-page .ggopt-max-button:hover {
  color:#fff;
  transform:translateY(-2px);
  filter:saturate(1.08);
  box-shadow:0 10px 24px #471aff3d;
}

.ggopt-page .ggopt-header-email {
  grid-column:1;
  justify-self:start;
  align-self:center;
  padding:3px 4px;
}

.ggopt-page .ggopt-max-header {
  grid-column:2;
  justify-self:stretch;
  min-height:31px;
  padding:5px 12px;
  border-radius:7px;
}

.ggopt-page .ggopt-price-call {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
}

.ggopt-page .ggopt-price-call>span,
.ggopt-page .ggopt-price-call>a.ggopt-price-email {
  grid-column:1/-1;
}

.ggopt-page .ggopt-price-call>a.ggopt-max-button {
  min-height:52px;
  padding:12px 17px;
  border:0;
  border-radius:9px;
  background:linear-gradient(125deg,#471aff 0%,#6e1aff 52%,#00bfff 100%);
  color:#fff;
  font-size:14px;
  font-weight:700;
  box-shadow:0 8px 20px #471aff30;
  animation:none;
  white-space:nowrap;
}

.ggopt-page .ggopt-price-call>a.ggopt-max-button::after {
  content:none;
}

.ggopt-page .ggopt-max-footer {
  width:fit-content;
  min-height:34px;
  margin-top:7px;
  padding:6px 13px;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.2!important;
}

/* Плавное оживление карточек надёжности. */
.ggopt-page .ggopt-trust-card,
.ggopt-page .ggopt-trust-card .ggopt-number,
.ggopt-page .ggopt-trust-card h3,
.ggopt-page .ggopt-trust-card p {
  transition:background-color .28s ease,color .28s ease,border-color .28s ease;
}

@media(hover:hover) {
  .ggopt-page .ggopt-trust-card:not(:first-child):hover {
    background:#254e3e;
    border-color:#254e3e;
    color:#fff;
  }

  .ggopt-page .ggopt-trust-card:not(:first-child):hover .ggopt-number {
    color:#b4c9b8;
  }

  .ggopt-page .ggopt-trust-card:not(:first-child):hover h3 {
    color:#fff;
  }

  .ggopt-page .ggopt-trust-card:not(:first-child):hover p {
    color:#e1ebe4;
  }
}

/* Горизонтальная витрина пород. */
.ggopt-page .ggopt-stones {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:45px 0 38px;
  background:#0e1b17;
  color:#fff;
}

.ggopt-page .ggopt-stones::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#0b1713e8,#13251fd9);
  pointer-events:none;
}

.ggopt-page .ggopt-stones>.ggopt-section-bg {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}

.ggopt-page .ggopt-stones>.ggopt-container {
  position:relative;
  z-index:2;
}

.ggopt-page .ggopt-stones-heading {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr) auto;
  align-items:end;
  gap:35px;
  margin-bottom:25px;
}

.ggopt-page .ggopt-stones .ggopt-eyebrow {
  color:#a9c7b6;
}

.ggopt-page .ggopt-stones h2 {
  color:#fff;
}

.ggopt-page .ggopt-stones-heading>p {
  max-width:420px;
  padding-bottom:3px;
  color:#c7d4cc;
  font-size:15px;
  line-height:1.55;
}

.ggopt-page .ggopt-stones-controls {
  display:flex;
  gap:8px;
}

.ggopt-page .ggopt-stones-controls button {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid #ffffff51;
  border-radius:50%;
  background:#ffffff0c;
  color:#fff;
  font-size:20px;
  line-height:1;
  transition:background .18s,border-color .18s,opacity .18s;
}

.ggopt-page .ggopt-stones-controls button:hover {
  background:#ffffff1f;
  border-color:#ffffff9c;
}

.ggopt-page .ggopt-stones-controls button:disabled {
  opacity:.28;
  cursor:default;
}

.ggopt-page .ggopt-stones-track {
  display:flex;
  gap:16px;
  overflow-x:auto;
  padding:1px 1px 9px;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}

.ggopt-page .ggopt-stones-track::-webkit-scrollbar {
  display:none;
}

.ggopt-page .ggopt-stone-card {
  position:relative;
  flex:0 0 calc((100% - 48px)/4);
  min-width:0;
  overflow:hidden;
  border:1px solid #ffffff2e;
  border-radius:9px;
  background:#14241e;
  scroll-snap-align:start;
}

.ggopt-page .ggopt-stone-card>img {
  width:100%;
  aspect-ratio:1.48/1;
  object-fit:cover;
  opacity:.92;
  transition:transform .32s ease,opacity .32s ease;
}

.ggopt-page .ggopt-stone-card::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 38%,#07100dc7 78%,#07100df0 100%);
}

.ggopt-page .ggopt-stone-card-copy {
  position:absolute;
  z-index:1;
  left:17px;
  right:17px;
  bottom:15px;
}

.ggopt-page .ggopt-stone-card-copy>span {
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  color:#c5d7cc;
  font-size:11px;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ggopt-page .ggopt-stone-card-copy i {
  width:7px;
  height:7px;
  border-radius:50%;
  background:#89b99c;
  box-shadow:0 0 0 4px #89b99c1f;
}

.ggopt-page .ggopt-stone-card h3 {
  color:#fff;
  font-size:17px;
  line-height:1.28;
}

@media(hover:hover) {
  .ggopt-page .ggopt-stone-card:hover>img {
    transform:scale(1.035);
    opacity:1;
  }
}

.ggopt-page .ggopt-stones-hint {
  display:none;
  margin-top:8px;
  color:#aebfb5;
  font-size:12px;
}

/* Небольшой финальный блок заявки. $MFORM_4$ остаётся штатной формой uCoz. */
.ggopt-page .ggopt-contact-section {
  padding:38px 0;
  background:#edf1ee;
  border-top:1px solid #dce4df;
}

.ggopt-page .ggopt-contact-inner {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);
  align-items:center;
  gap:60px;
}

.ggopt-page .ggopt-contact-copy>p:not(.ggopt-eyebrow) {
  max-width:530px;
  margin-top:13px;
  color:#5b6860;
  font-size:15px;
}

.ggopt-page .ggopt-contact-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px 17px;
  margin-top:20px;
}

.ggopt-page .ggopt-contact-links>a:not(.ggopt-max-button) {
  color:#254e3e;
  font-size:15px;
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:4px;
}

.ggopt-page .ggopt-contact-links .ggopt-max-button {
  min-height:36px;
  padding:6px 13px;
}

.ggopt-page .ggopt-ucoz-form {
  padding:19px 22px 15px;
  border:1px solid #d2dcd5;
  border-radius:10px;
  background:#fff;
  box-shadow:0 8px 25px #1d392a0b;
}

.ggopt-page .ggopt-form-title {
  margin-bottom:11px;
  color:#1d382c;
  font-size:16px;
  font-weight:650;
}

.ggopt-page .ggopt-ucoz-form form,
.ggopt-page .ggopt-ucoz-form table,
.ggopt-page .ggopt-ucoz-form tbody {
  width:100%!important;
  max-width:none!important;
}

.ggopt-page .ggopt-ucoz-form table {
  border-collapse:collapse;
}

.ggopt-page .ggopt-ucoz-form td {
  padding:4px!important;
  border:0!important;
  color:#56645b;
  font-size:13px;
}

.ggopt-page .ggopt-ucoz-form input[type="text"],
.ggopt-page .ggopt-ucoz-form input[type="email"],
.ggopt-page .ggopt-ucoz-form input[type="tel"],
.ggopt-page .ggopt-ucoz-form select,
.ggopt-page .ggopt-ucoz-form textarea {
  width:100%!important;
  min-height:42px;
  padding:9px 11px!important;
  border:1px solid #ccd8d0!important;
  border-radius:6px!important;
  background:#fbfcfb!important;
  color:#17211d!important;
  font:14px/1.4 'Golos Text',Arial,sans-serif!important;
  box-shadow:none!important;
}

.ggopt-page .ggopt-ucoz-form textarea {
  min-height:62px!important;
  max-height:95px;
  resize:vertical;
}

.ggopt-page .ggopt-ucoz-form input[type="submit"],
.ggopt-page .ggopt-ucoz-form button[type="submit"] {
  min-height:43px;
  padding:10px 20px!important;
  border:0!important;
  border-radius:7px!important;
  background:#254e3e!important;
  color:#fff!important;
  font:600 14px/1.3 'Golos Text',Arial,sans-serif!important;
  cursor:pointer;
}

.ggopt-page .ggopt-form-note {
  margin-top:8px;
  color:#78837c;
  font-size:10px;
  line-height:1.4;
}

@media(max-width:1100px) {
  .ggopt-page .ggopt-stones-heading {
    grid-template-columns:1fr auto;
    gap:13px 24px;
  }

  .ggopt-page .ggopt-stones-heading>p {
    grid-column:1;
  }

  .ggopt-page .ggopt-stones-controls {
    grid-column:2;
    grid-row:1/3;
    align-self:end;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 32px)/3);
  }

  .ggopt-page .ggopt-contact-inner {
    grid-template-columns:minmax(0,.8fr) minmax(470px,1.2fr);
    gap:35px;
  }
}

@media(max-width:760px) {
  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 16px)/2);
  }

  .ggopt-page .ggopt-contact-inner {
    grid-template-columns:1fr;
    gap:23px;
  }
}

@media(max-width:640px) {
  .ggopt-page .ggopt-max-header {
    min-height:34px;
  }

  .ggopt-page .ggopt-price-call {
    display:grid;
    grid-template-columns:1fr;
  }

  .ggopt-page .ggopt-price-call>span,
  .ggopt-page .ggopt-price-call>a,
  .ggopt-page .ggopt-price-call>a.ggopt-price-email {
    grid-column:1;
    width:100%;
  }

  .ggopt-page .ggopt-stones {
    padding:32px 0 27px;
  }

  .ggopt-page .ggopt-stones-heading {
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px 16px;
    margin-bottom:18px;
  }

  .ggopt-page .ggopt-stones-heading>div {
    grid-column:1/-1;
  }

  .ggopt-page .ggopt-stones-heading>p {
    grid-column:1;
    font-size:14px;
  }

  .ggopt-page .ggopt-stones-controls {
    grid-column:2;
    grid-row:2;
    align-self:end;
  }

  .ggopt-page .ggopt-stones-controls button {
    width:40px;
    height:40px;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:82%;
  }

  .ggopt-page .ggopt-stones-hint {
    display:block;
  }

  .ggopt-page .ggopt-contact-section {
    padding:29px 0;
  }

  .ggopt-page .ggopt-ucoz-form {
    padding:16px 12px 13px;
  }

  .ggopt-page .ggopt-ucoz-form td {
    display:block;
    width:100%!important;
    padding:3px 0!important;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ggopt-page .ggopt-max-button,
  .ggopt-page .ggopt-trust-card,
  .ggopt-page .ggopt-trust-card *,
  .ggopt-page .ggopt-stone-card>img {
    transition:none!important;
  }

  .ggopt-page .ggopt-stones-track {
    scroll-behavior:auto;
  }
}
/* ФОТО ПРОИЗВОДСТВА. Пять превью вместо старых плашек.
   Высота ряда 135px: всего на 60px больше прежнего ряда.
   Для замены фото меняйте только src в HTML. */
.ggopt-page .ggopt-production-gallery {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
}
.ggopt-page .ggopt-gallery-item {
  position:relative;
  display:block;
  width:100%;
  height:135px;
  padding:0;
  overflow:hidden;
  border:1px solid #ffffffa8;
  border-radius:7px;
  background:#e3e9e4;
  text-align:left;
  cursor:zoom-in;
}
.ggopt-page .ggopt-gallery-item>img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .2s;
}
.ggopt-page .ggopt-gallery-item:hover>img {transform:scale(1.035);}
.ggopt-page .ggopt-gallery-label {
  position:absolute;
  inset:auto 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 12px 9px;
  background:linear-gradient(transparent,#0b2119c9);
  color:#fff;
  font-size:12px;
  font-weight:500;
  pointer-events:none;
}
.ggopt-page .ggopt-gallery-label>span {font-size:23px;line-height:1;}
.ggopt-page dialog.ggopt-lightbox {
  position:fixed;
  inset:0;
  width:min(1320px,96vw);
  max-width:96vw;
  height:auto;
  max-height:94vh;
  margin:auto;
  padding:12px;
  border:1px solid #ffffff30;
  border-radius:12px;
  background:#0e1814;
  color:#fff;
  overflow:auto;
  box-shadow:0 25px 90px #0008;
}
.ggopt-page dialog.ggopt-lightbox:not([open]) {display:none;}
.ggopt-page .ggopt-lightbox::backdrop {background:#050b09e8;}
.ggopt-page .ggopt-lightbox-toolbar {display:flex;align-items:center;justify-content:space-between;padding:0 3px 10px 12px;}
.ggopt-page .ggopt-lightbox-toolbar p {font-size:14px;color:#e2ebe5;}
.ggopt-page .ggopt-lightbox button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid #ffffff40;
  border-radius:50%;
  background:#193126;
  color:#fff;
  font:32px/1 Arial,sans-serif;
  cursor:pointer;
}
.ggopt-page .ggopt-lightbox button:hover {background:#315a45;}
.ggopt-page .ggopt-lightbox-stage {position:relative;display:flex;align-items:center;justify-content:center;min-height:180px;}
.ggopt-page .ggopt-lightbox-stage>img {display:block;width:auto;max-width:100%;height:auto;max-height:calc(94vh - 125px);object-fit:contain;margin:auto;}
.ggopt-page .ggopt-lightbox-prev,.ggopt-page .ggopt-lightbox-next {position:absolute;z-index:1;top:calc(50% - 22px);}
.ggopt-page .ggopt-lightbox-prev {left:10px;}
.ggopt-page .ggopt-lightbox-next {right:10px;}
.ggopt-page .ggopt-lightbox-caption {padding:10px 12px 0;font-size:14px;text-align:center;color:#d8e4dc;}
@media(max-width:700px) {
  .ggopt-page .ggopt-production-gallery {
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:8px;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
    scrollbar-color:#789080 #dce4de;
  }
  .ggopt-page .ggopt-gallery-item {flex:0 0 155px;height:115px;scroll-snap-align:start;}
  .ggopt-page dialog.ggopt-lightbox {width:96vw;max-height:94dvh;padding:8px;border-radius:9px;}
  .ggopt-page .ggopt-lightbox-stage>img {max-height:calc(94dvh - 120px);}
}
@media(prefers-reduced-motion:reduce) {
  .ggopt-page .ggopt-gallery-item>img {transition:none;}
}

/* ================= ЦЕНЫ И ФИНАЛЬНАЯ ПОЛИРОВКА БЛОКОВ ================= */

/* Убираем цветную прозрачную плашку снизу фотографий производства. */
.ggopt-page .ggopt-gallery-label {
  inset:auto 0 0;
  padding:8px 10px;
  background:transparent;
  text-shadow:0 1px 7px #000,0 1px 2px #000;
}

/* Выдержка из оптового прайса. Камни подключены обычными img в HTML. */
.ggopt-page .ggopt-price-showcase {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:54px 0;
  background:linear-gradient(155deg,#f5f6f4 0%,#e8eeea 55%,#dce5df 100%);
  color:#17211d;
}

.ggopt-page .ggopt-price-showcase::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0;
  background-image:none;
  background-size:26px 26px;
}

.ggopt-page .ggopt-price-showcase>.ggopt-container {
  position:relative;
  z-index:2;
}

.ggopt-page .ggopt-price-stone {
  position:absolute;
  z-index:1;
  bottom:-105px;
  width:min(31vw,500px);
  max-width:none;
  height:auto;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 25px 35px #0008);
}

.ggopt-page .ggopt-price-stone-left {
  left:-105px;
}

.ggopt-page .ggopt-price-stone-right {
  right:-105px;
}

.ggopt-page .ggopt-price-card {
  width:min(1120px,100%);
  margin-inline:auto;
  padding:30px;
  border:1px solid #ffffff30;
  border-radius:18px;
  background:#ffffffed;
  box-shadow:0 12px 40px #203c2d0c;
  backdrop-filter:none;
}

.ggopt-page .ggopt-price-heading {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);
  align-items:end;
  gap:45px;
  margin-bottom:24px;
}

.ggopt-page .ggopt-price-heading .ggopt-eyebrow {
  color:#456553;
}

.ggopt-page .ggopt-price-heading h2 {
  color:#17211d;
  letter-spacing:-.025em;
}

.ggopt-page .ggopt-price-heading>p {
  max-width:390px;
  padding-bottom:4px;
  color:#56665c;
  font-size:15px;
  line-height:1.55;
}

.ggopt-page .ggopt-price-table-wrap {
  overflow:hidden;
  border:1px solid #dce7df;
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 35px #03110c38;
}

.ggopt-page .ggopt-price-table {
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
  color:#17211d;
  font-size:15px;
}

.ggopt-page .ggopt-price-table th,
.ggopt-page .ggopt-price-table td {
  padding:15px 18px;
  border-bottom:1px solid #e3e9e4;
  text-align:left;
  vertical-align:middle;
}

.ggopt-page .ggopt-price-table thead th {
  padding-block:12px;
  background:#eaf2ed;
  color:#345847;
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.ggopt-page .ggopt-price-table tbody th {
  width:26%;
  font-weight:650;
}

.ggopt-page .ggopt-price-table td:nth-child(2) {
  width:37%;
  color:#425149;
}

.ggopt-page .ggopt-price-table td:nth-child(3) {
  width:21%;
  color:#425149;
}

.ggopt-page .ggopt-price-table td:last-child {
  width:16%;
  white-space:nowrap;
}

.ggopt-page .ggopt-price-table td strong {
  color:#245c47;
  font-size:18px;
  font-weight:700;
}

.ggopt-page .ggopt-price-table tbody tr:last-child>* {
  border-bottom:0;
}

.ggopt-page .ggopt-price-table tbody tr:hover>* {
  background:#f6f9f7;
}

.ggopt-page .ggopt-price-table .ggopt-price-featured>* {
  background:#edf3ef;
}

.ggopt-page .ggopt-price-table .ggopt-price-featured th {
  color:#193f30;
}

.ggopt-page .ggopt-price-table .ggopt-price-featured td strong {
  color:#245c47;
  font-size:20px;
}

.ggopt-page .ggopt-price-bottom {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px;
  margin-top:22px;
}

.ggopt-page .ggopt-price-note {
  max-width:650px;
  color:#56665c;
  font-size:13px;
  line-height:1.55;
}

.ggopt-page .ggopt-price-call {
  display:flex;
  align-items:center;
  gap:15px;
}

.ggopt-page .ggopt-price-call>span {
  color:#56665c;
  font-size:13px;
}

.ggopt-page .ggopt-price-call>a {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:13px 20px;
  overflow:hidden;
  border:1px solid #ffe0a0;
  border-radius:9px;
  background:linear-gradient(135deg,#ffe0a0,#e7b958);
  color:#203025;
  font-size:17px;
  font-weight:750;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 9px 28px #020a075c,0 0 0 0 #f3c66e4f;
  animation:ggopt-call-pulse 3.2s ease-out infinite;
}

.ggopt-page .ggopt-price-call>a::after {
  content:"";
  position:absolute;
  top:-60%;
  bottom:-60%;
  left:-45%;
  width:28%;
  transform:rotate(18deg);
  background:#fff8;
  filter:blur(2px);
  animation:ggopt-call-shine 4.6s ease-in-out infinite;
}

.ggopt-page .ggopt-price-call>a:hover {
  border-color:#fff0c7;
  background:linear-gradient(135deg,#ffebbb,#efc874);
  color:#132219;
}

@keyframes ggopt-call-pulse {
  0%,55%,100% {box-shadow:0 9px 28px #020a075c,0 0 0 0 #f3c66e00}
  72% {box-shadow:0 9px 28px #020a075c,0 0 0 9px #f3c66e00}
  73% {box-shadow:0 9px 28px #020a075c,0 0 0 0 #f3c66e4f}
}

@keyframes ggopt-call-shine {
  0%,62% {left:-45%}
  80%,100% {left:125%}
}

/* Ровные линии и наконечники между этапами. */
.ggopt-page .ggopt-process-inner {
  grid-template-columns:minmax(0,1fr) 250px;
  gap:48px;
}

.ggopt-page .ggopt-process ol {
  gap:32px;
}

.ggopt-page .ggopt-process li:not(:last-child)::after {
  content:"";
  position:absolute;
  top:21px;
  left:58px;
  right:-17px;
  width:auto;
  height:1px;
  border:0;
  background:#86a391;
}

.ggopt-page .ggopt-process li:not(:last-child)::before {
  content:"";
  position:absolute;
  z-index:1;
  top:17px;
  right:-17px;
  width:9px;
  height:9px;
  border-top:1px solid #527662;
  border-right:1px solid #527662;
  transform:rotate(45deg);
}

.ggopt-page .ggopt-handwriting {
  display:block;
  width:auto;
  max-width:250px;
  height:auto;
  margin:0;
  padding:0 0 2px 21px;
  border-left:2px solid #96ad9d;
  color:var(--ggopt-green);
  font-family:Georgia,serif;
  font-size:21px;
  font-style:italic;
  line-height:1.45;
  overflow:visible;
}

@media(max-width:960px) {
  .ggopt-page .ggopt-price-stone {
    width:390px;
    opacity:.36;
  }

  .ggopt-page .ggopt-price-stone-left {left:-190px}
  .ggopt-page .ggopt-price-stone-right {right:-190px}

  .ggopt-page .ggopt-price-heading {
    grid-template-columns:1fr;
    gap:12px;
  }

  .ggopt-page .ggopt-price-heading>p {
    max-width:650px;
  }

  .ggopt-page .ggopt-price-bottom {
    grid-template-columns:1fr;
    gap:16px;
  }

  .ggopt-page .ggopt-price-call {
    justify-content:space-between;
  }

  .ggopt-page .ggopt-process-inner {
    grid-template-columns:minmax(0,1fr) 205px;
    gap:28px;
  }

  .ggopt-page .ggopt-handwriting {
    max-width:205px;
    font-size:19px;
  }
}

@media(max-width:640px) {
  .ggopt-page .ggopt-price-showcase {
    padding:35px 0;
  }

  .ggopt-page .ggopt-price-stone {
    bottom:-35px;
    width:260px;
    opacity:.22;
  }

  .ggopt-page .ggopt-price-stone-left {left:-155px}
  .ggopt-page .ggopt-price-stone-right {right:-155px}

  .ggopt-page .ggopt-price-card {
    padding:20px 14px 18px;
    border-radius:14px;
  }

  .ggopt-page .ggopt-price-heading {
    margin-bottom:18px;
  }

  .ggopt-page .ggopt-price-heading h2 {
    font-size:29px;
  }

  .ggopt-page .ggopt-price-heading>p {
    font-size:14px;
  }

  .ggopt-page .ggopt-price-table-wrap {
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .ggopt-page .ggopt-price-table,
  .ggopt-page .ggopt-price-table tbody {
    display:block;
  }

  .ggopt-page .ggopt-price-table thead {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }

  .ggopt-page .ggopt-price-table tbody tr {
    display:block;
    margin-bottom:10px;
    overflow:hidden;
    border:1px solid #dce7df;
    border-radius:10px;
    background:#fff;
    box-shadow:0 8px 22px #03110c24;
  }

  .ggopt-page .ggopt-price-table tbody tr:last-child {
    margin-bottom:0;
  }

  .ggopt-page .ggopt-price-table th,
  .ggopt-page .ggopt-price-table td {
    display:grid;
    grid-template-columns:108px minmax(0,1fr);
    width:100%!important;
    gap:10px;
    padding:10px 12px;
    font-size:14px;
    line-height:1.4;
  }

  .ggopt-page .ggopt-price-table th::before,
  .ggopt-page .ggopt-price-table td::before {
    content:attr(data-label);
    color:#6a786f;
    font-size:11px;
    font-weight:650;
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  .ggopt-page .ggopt-price-table td strong,
  .ggopt-page .ggopt-price-table .ggopt-price-featured td strong {
    font-size:17px;
  }

  .ggopt-page .ggopt-price-call {
    display:block;
  }

  .ggopt-page .ggopt-price-call>span {
    display:block;
    margin-bottom:9px;
  }

  .ggopt-page .ggopt-price-call>a {
    width:100%;
    min-height:54px;
    white-space:normal;
  }

  .ggopt-page .ggopt-process li:nth-child(2)::before,
  .ggopt-page .ggopt-process li:nth-child(2)::after {
    display:none;
  }

  .ggopt-page .ggopt-handwriting {
    width:100%;
    max-width:none;
    margin-top:25px;
    padding:12px 0 12px 18px;
    border-left:2px solid #96ad9d;
    font-size:20px;
    line-height:1.45;
  }
}

@media(prefers-reduced-motion:reduce) {
  .ggopt-page .ggopt-price-call>a,
  .ggopt-page .ggopt-price-call>a::after {
    animation:none!important;
  }
}

/* Контакты: почта под двумя телефонами, в прайсе и подвале. */
.ggopt-page .ggopt-phones {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 9px;
}

.ggopt-page .ggopt-header-email {
  grid-column:1/-1;
  justify-self:center;
  padding:3px 12px;
  color:#2e5745;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  text-decoration:underline;
  text-underline-offset:4px;
}

.ggopt-page .ggopt-footer-contact .ggopt-footer-email {
  font-size:16px;
  color:#2e5745;
  text-decoration:underline;
  text-underline-offset:4px;
}

.ggopt-page .ggopt-price-call {
  display:grid;
  grid-template-columns:auto;
  justify-items:stretch;
  gap:8px;
}

.ggopt-page .ggopt-price-call>a.ggopt-price-email {
  min-height:32px;
  padding:5px 0;
  border:0;
  border-radius:0;
  color:#2e5745;
  background:none;
  box-shadow:none;
  animation:none;
  font-size:14px;
  font-weight:500;
  white-space:normal;
  overflow-wrap:anywhere;
  text-decoration:underline;
  text-underline-offset:4px;
}

.ggopt-page .ggopt-price-call>a.ggopt-price-email::after {
  content:none;
}

.ggopt-page .ggopt-price-card {
  border-color:#dce4df;
  border-radius:12px;
}

.ggopt-page .ggopt-price-table-wrap {
  box-shadow:none;
}

/* Мягкий переход от фото цеха к светлому фону прайса. */
.ggopt-page .ggopt-production::after {
  content:"";
  position:absolute;
  z-index:1;
  bottom:0;
  left:0;
  right:0;
  height:55px;
  background:linear-gradient(transparent,#f5f6f4);
  pointer-events:none;
}

/* Компенсируем прозрачные поля исходных PNG без изменения файлов.
   У левого камня нижнее поле заметно больше, чем у правого. */
.ggopt-page .ggopt-price-stone-left {
  bottom:0;
  transform:translateY(24%);
  opacity:1;
}

.ggopt-page .ggopt-price-stone-right {
  bottom:0;
  transform:translateY(7%);
  opacity:1;
}

@media(max-width:960px) {
  .ggopt-page .ggopt-price-stone {
    opacity:.7;
  }
}

@media(max-width:640px) {
  .ggopt-page .ggopt-header-email {
    font-size:14px;
    padding-block:5px;
  }

  .ggopt-page .ggopt-price-stone {
    opacity:.35;
  }

  .ggopt-page .ggopt-price-table th,
  .ggopt-page .ggopt-price-table td {
    display:block;
  }

  .ggopt-page .ggopt-price-table th::before,
  .ggopt-page .ggopt-price-table td::before {
    display:block;
    margin-bottom:3px;
  }
}

/* ==========================================================
   КОМПАКТНАЯ ВЕРСИЯ 2 — итоговые переопределения
   ========================================================== */
.ggopt-page .ggopt-header {
  position:relative!important;
  top:auto!important;
  z-index:20;
  backdrop-filter:none;
}

.ggopt-page .ggopt-header-inner {
  min-height:86px;
  padding-block:10px;
  gap:18px;
  flex-wrap:nowrap;
}

.ggopt-page .ggopt-phones {
  display:grid;
  grid-template-columns:repeat(2,minmax(174px,1fr));
  align-items:start;
  gap:9px;
}

.ggopt-page .ggopt-contact-pair {
  display:grid;
  grid-template-rows:auto 25px;
  gap:3px;
  min-width:0;
}

.ggopt-page .ggopt-call {
  min-width:0;
  min-height:59px;
  padding:8px 12px;
  border-radius:9px;
  gap:4px;
}

.ggopt-page .ggopt-call strong {
  font-size:15px;
  letter-spacing:-.01em;
}

.ggopt-page .ggopt-header-meta {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:25px;
  padding:2px 7px;
  font-size:12px;
  font-weight:650;
  line-height:1.2;
}

.ggopt-page .ggopt-header-email {
  grid-column:auto;
  justify-self:stretch;
  padding:2px 7px;
  color:#2e5745;
  font-size:12px;
  text-decoration:none;
  border-radius:6px;
}

.ggopt-page .ggopt-header-email:hover {
  background:#eef3ef;
  color:#173a2b;
}

.ggopt-page .ggopt-max-button,
.ggopt-page .ggopt-price-call>a.ggopt-max-button {
  min-height:34px;
  padding:7px 15px;
  border:1px solid #7e55ff!important;
  border-radius:8px;
  background:linear-gradient(115deg,#591fff 0%,#7135ff 58%,#16aaf2 100%)!important;
  color:#fff!important;
  font-size:13px;
  font-weight:750;
  line-height:1.2;
  letter-spacing:.08em;
  box-shadow:0 5px 14px rgba(89,31,255,.16);
  animation:none!important;
  transform:none!important;
  filter:none!important;
  transition:box-shadow .18s ease,border-color .18s ease,opacity .18s ease;
}

.ggopt-page .ggopt-max-button>span {
  display:none!important;
}

.ggopt-page .ggopt-max-button:hover,
.ggopt-page .ggopt-price-call>a.ggopt-max-button:hover {
  border-color:#946fff!important;
  background:linear-gradient(115deg,#591fff 0%,#7135ff 58%,#16aaf2 100%)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(89,31,255,.24);
  transform:none!important;
  filter:none!important;
}

.ggopt-page .ggopt-max-header {
  grid-column:auto;
  justify-self:stretch;
  width:100%;
  min-height:25px;
  padding:3px 10px;
  border-radius:6px;
  font-size:11px;
  box-shadow:none;
}

.ggopt-page .ggopt-price-call>a.ggopt-max-button {
  width:100%;
  min-height:44px;
}

.ggopt-page .ggopt-max-footer {
  width:72px;
  min-height:30px;
  margin-top:7px;
  padding:5px 11px;
  font-size:11px!important;
}

.ggopt-page .ggopt-stones {
  padding:34px 0 27px;
}

.ggopt-page .ggopt-stones-heading {
  margin-bottom:18px;
}

.ggopt-page .ggopt-stones-track {
  gap:12px;
}

.ggopt-page .ggopt-stone-card {
  flex:0 0 calc((100% - 48px)/5);
  height:245px;
  border-radius:8px;
}

.ggopt-page .ggopt-stone-card>img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}

.ggopt-page .ggopt-stone-card-copy {
  left:13px;
  right:13px;
  bottom:12px;
}

.ggopt-page .ggopt-stone-card-copy>span {
  margin-bottom:5px;
  font-size:10px;
}

.ggopt-page .ggopt-stone-card h3 {
  font-size:14px;
}

.ggopt-page .ggopt-ucoz-form {
  padding:12px;
}

@media(max-width:1180px) {
  .ggopt-page .ggopt-header-inner {
    flex-wrap:wrap;
  }

  .ggopt-page .ggopt-nav {
    order:3;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 36px)/4);
    height:230px;
  }
}

@media(max-width:960px) {
  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 24px)/3);
    height:215px;
  }
}

@media(max-width:700px) {
  .ggopt-page .ggopt-header-inner {
    min-height:auto;
    gap:9px;
    padding-block:9px;
  }

  .ggopt-page .ggopt-phones {
    order:2;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .ggopt-page .ggopt-contact-pair {
    grid-template-rows:auto 27px;
  }

  .ggopt-page .ggopt-call {
    min-height:55px;
    padding:7px 9px;
  }

  .ggopt-page .ggopt-call-label {
    font-size:9px;
  }

  .ggopt-page .ggopt-call strong {
    font-size:13px;
  }

  .ggopt-page .ggopt-header-meta {
    min-height:27px;
    font-size:11px;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:calc((100% - 12px)/2);
    height:205px;
  }
}

@media(max-width:430px) {
  .ggopt-page .ggopt-call strong {
    font-size:12px;
  }

  .ggopt-page .ggopt-header-email {
    font-size:10px;
  }

  .ggopt-page .ggopt-stone-card {
    flex-basis:72%;
    height:195px;
  }
}
