/* Four owner comments, v4. Page-owned compositions only. */
#tb-banners #banner-config{background:linear-gradient(135deg,#f1eafa,#f7f4fb);border:1px solid #e9e0f3}
#tb-banners #banner-config .tb-config{align-items:start;gap:28px}
#tb-banners #banner-config .tb-config-result{align-self:start;padding:22px;border:1px solid #e8e0f0;box-shadow:0 14px 45px #3b21500a;border-radius:24px}
#tb-banners #banner-config .tb-config-sticky{position:static}
#tb-banners #banner-config .tb-banner-stage{padding:20px 18px 16px;gap:0;border:1px solid #eae4f0;border-radius:17px;background:#f8f6fb;min-height:0;overflow:hidden}
#tb-banners #banner-config .tb-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-size:10px;font-weight:700;letter-spacing:.12em;color:#78628d}
#tb-banners #banner-config .tb-stage-live{display:flex;align-items:center;gap:5px;font-weight:400;letter-spacing:0;font-size:10px;color:#84788e;white-space:nowrap}
#tb-banners #banner-config .tb-stage-live i{width:5px;height:5px;background:#7d51d7;border-radius:50%}
#tb-banners #banner-config .tb-banner-canvas{position:relative;width:100%;height:290px;display:grid;place-items:center;background-image:radial-gradient(#d9cfe4 .75px,transparent .75px);background-size:15px 15px;margin:12px 0 0;border-radius:12px}
#tb-banners #banner-config #banner-model{position:relative;min-width:0;min-height:0;max-width:none;max-height:none!important;display:block;overflow:hidden;background:linear-gradient(135deg,#47227c,#7441be 60%,#9262ce);border-radius:3px;box-shadow:0 16px 24px -12px #40216266,inset 0 0 0 1px #ffffff44;transition:width .15s,height .15s}
#tb-banners #banner-config #banner-model::before{content:"";position:absolute;right:-15%;top:-25%;width:70%;height:150%;border-radius:50%;background:linear-gradient(140deg,#bc95ed40,#ceaff70a);transform:rotate(-30deg)}
#tb-banners #banner-config #banner-model::after{content:"";position:absolute;width:36%;height:9%;bottom:17%;right:-7%;background:#ff8b4d;transform:rotate(-38deg);box-shadow:0 -15px 0 #ffffff13}
#tb-banners #banner-config .tb-model-copy{height:100%;width:100%;position:relative;padding:clamp(12px,2vw,30px);display:flex;justify-content:center;flex-direction:column;gap:10px;z-index:1}
#tb-banners #banner-config #banner-model small{display:block;color:#d9c9ec;font-size:7px;letter-spacing:.11em;line-height:1.2}
#tb-banners #banner-config #banner-model span{padding:0;font-size:clamp(15px,2.5vw,34px);font-weight:800;line-height:1.02;letter-spacing:-.035em;white-space:normal}
#tb-banners #banner-config #banner-model b{position:absolute;right:17px;top:12px;color:#fff;font-size:20px;font-weight:400}
#tb-banners #banner-config #banner-model.is-small .tb-model-copy{padding:9px;gap:3px}
#tb-banners #banner-config #banner-model.is-small small,#tb-banners #banner-config #banner-model.is-small b{display:none}
#tb-banners #banner-config #banner-model.is-small span{font-size:12px}
#tb-banners #banner-config #banner-model.is-tiny .tb-model-copy{visibility:hidden}
#tb-banners #banner-config .tb-eye{width:8px;height:8px;border:2px solid #e6e4ea;background:#544268;box-shadow:0 0 0 1px #35224680;z-index:3}
#tb-banners #banner-config .tb-measure-width,#tb-banners #banner-config .tb-measure-height{position:absolute;color:#79618d;font-size:11px;line-height:1;z-index:2}
#tb-banners #banner-config .tb-measure-width{left:50%;top:10px;transform:translateX(-50%);padding:0 20px}
#tb-banners #banner-config .tb-measure-width:before,#tb-banners #banner-config .tb-measure-width:after{content:"";position:absolute;top:5px;width:25px;border-top:1px solid #bca7d0}
#tb-banners #banner-config .tb-measure-width:before{right:100%}#tb-banners #banner-config .tb-measure-width:after{left:100%}
#tb-banners #banner-config .tb-measure-height{right:0;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);padding:18px 0}
#tb-banners #banner-config .tb-measure-height:before,#tb-banners #banner-config .tb-measure-height:after{content:"";position:absolute;right:5px;height:22px;border-right:1px solid #bca7d0}
#tb-banners #banner-config .tb-measure-height:before{bottom:100%}#tb-banners #banner-config .tb-measure-height:after{top:100%}
#tb-banners #banner-config .tb-stage-footer{display:flex;justify-content:space-between;align-items:center;width:100%;gap:10px;padding-top:10px;border-top:1px solid #e6dfee;color:#8b7d97;font-size:10px}
#tb-banners #banner-config #banner-dimensions{color:#503369;font-size:13px;font-weight:700}
#tb-banners #banner-config .tb-config-result>.tb-caption,#tb-banners #banner-config .tb-config-sticky>.tb-caption{font-size:11px;line-height:1.6}
#tb-banners #banner-config .tb-area{margin-top:20px;padding-top:18px;border-top:1px solid #eee8f4}
#tb-banners #banner-config .tb-area output{font-size:36px;letter-spacing:-.04em;color:#7042bb}
#tb-banners #banner-config .tb-order-summary{border-left:2px solid #bea3e6;padding-left:12px;font-size:12px}
#tb-banners #banner-production.tb-process-v4{display:block;height:auto;min-height:0;padding:70px 0;background:#fff;border-top:0}
#tb-banners #banner-production.tb-process-v4 .container{width:calc(100% - 64px);max-width:1376px;padding:0;margin:0 auto}
#tb-banners #banner-production .tb-process-heading{max-width:850px;margin-bottom:40px}
#tb-banners #banner-production .tb-process-heading .tb-eyebrow{font-size:11px;letter-spacing:.12em;color:#8a62b3;margin-bottom:14px}
#tb-banners #banner-production h2{font-size:clamp(30px,3.5vw,48px);line-height:1.12;letter-spacing:-.04em;margin:0}
#tb-banners #banner-production .tb-process-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
#tb-banners #banner-production .tb-process-photo{position:relative;margin:0;min-width:0;border-radius:28px;background:radial-gradient(ellipse at 25% 20%,#ede1f9,#f8f5fb 70%);overflow:hidden;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border:1px solid #eee6f5}
#tb-banners #banner-production .tb-process-photo img{width:100%;height:auto;display:block;margin:0;object-fit:contain;flex:none}
#tb-banners #banner-production .tb-process-photo figcaption{padding:22px 28px 24px;display:flex;flex-direction:column;gap:5px;border-top:1px solid #e6ddeb;background:#ffffffb0}
#tb-banners #banner-production .tb-process-photo figcaption span{font-size:17px;font-weight:700;color:#4a315d;letter-spacing:-.02em}
#tb-banners #banner-production .tb-process-photo figcaption small{font-size:10px;line-height:1.5;color:#9a8aa6}
#tb-banners #banner-production .tb-process-steps{padding:0;margin:0;list-style:none;display:flex;flex-direction:column}
#tb-banners #banner-production .tb-process-step{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:20px;margin:0;padding:20px 0;border-bottom:1px solid #eee7f3;min-width:0}
#tb-banners #banner-production .tb-process-step:first-child{padding-top:0}
#tb-banners #banner-production .tb-process-step:last-child{border:0;padding-bottom:0}
#tb-banners #banner-production .tb-process-num{font-size:12px;font-weight:700;color:#9065bd;border:1px solid #e4d7f0;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:#faf7fd}
#tb-banners #banner-production .tb-process-step:last-child .tb-process-num{color:#398353;border-color:#d7e8db;background:#f0f7f2;font-size:18px}
#tb-banners #banner-production .tb-process-step h3{font-size:18px;line-height:1.35;margin:0 0 5px;font-weight:700;letter-spacing:-.025em}
#tb-banners #banner-production .tb-process-step p{font-size:13px;line-height:1.6;color:#83728b;margin:0;max-width:410px}
@media(min-width:1500px){#tb-banners #banner-production .tb-process-photo img{width:115%;max-width:none;margin-left:-5%}}
@media(max-width:1000px){#tb-banners #banner-production .tb-process-layout{gap:28px}#tb-banners #banner-production .tb-process-step{gap:10px;padding:17px 0;grid-template-columns:34px minmax(0,1fr)}#tb-banners #banner-production .tb-process-num{width:30px;height:30px}#tb-banners #banner-production .tb-process-step h3{font-size:16px}#tb-banners #banner-production .tb-process-step p{font-size:12px}}
@media(max-width:767px){#tb-banners #banner-config .tb-config{gap:4px}#tb-banners #banner-config .tb-config-result{padding:16px;border-radius:21px}#tb-banners #banner-config .tb-banner-stage{padding:16px 12px 12px}#tb-banners #banner-config .tb-banner-canvas{height:260px}#tb-banners #banner-config .tb-stage-heading{font-size:9px;letter-spacing:.08em}#tb-banners #banner-config .tb-stage-live{font-size:9px}#tb-banners #banner-config #banner-model span{font-size:25px}#tb-banners #banner-config #banner-model.is-small span{font-size:12px}#tb-banners #banner-production.tb-process-v4{padding:46px 0}#tb-banners #banner-production.tb-process-v4 .container{width:calc(100% - 32px)}#tb-banners #banner-production .tb-process-heading{margin-bottom:26px}#tb-banners #banner-production .tb-process-layout{grid-template-columns:1fr;gap:30px}#tb-banners #banner-production .tb-process-photo{border-radius:22px;order:0}#tb-banners #banner-production .tb-process-photo img{width:100%;margin:0}#tb-banners #banner-production .tb-process-photo figcaption{padding:17px 20px}#tb-banners #banner-production .tb-process-photo figcaption span{font-size:16px}#tb-banners #banner-production .tb-process-step{gap:14px;padding:17px 0;grid-template-columns:36px minmax(0,1fr)}#tb-banners #banner-production .tb-process-step h3{font-size:17px}#tb-banners #banner-production .tb-process-step p{font-size:13px}}
@media(prefers-reduced-motion:reduce){#tb-banners #banner-config #banner-model{transition:none}}

/* Keep full service names readable in the tablet related-service grid. */
@media(min-width:601px) and (max-width:900px){#tb-banners .sg-related-links{grid-template-columns:repeat(2,minmax(0,1fr))}#tb-banners .sg-related-name{overflow-wrap:anywhere}}

#tb-banners [data-tb-js-options][hidden]{display:none!important}

/* Page-owned v4: editorial photo/text pairs, retaining all original content and actions. */
#tb-banners #banner-finish {
  padding: clamp(44px, 5.8vw, 84px) 0 !important;
  margin: 0 !important;
  background: transparent;
}
#tb-banners #banner-finish > .container {
  width: 100%;
  max-width: 1440px;
  padding: 0;
}
#tb-banners #banner-finish .an-treat__title {
  max-width: 920px;
  margin: 0 0 clamp(30px, 4vw, 54px);
  color: #30253c;
  font: 750 clamp(29px, 3.2vw, 46px)/1.13 TBBlueprint, Onest, Arial, sans-serif;
  letter-spacing: -.035em;
  text-align: left !important;
}
#tb-banners #banner-finish .an-treat__wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 30px 42px;
  counter-reset: finishing;
}
#tb-banners #banner-finish .an-treat__block {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  grid-template-rows: auto auto 1fr auto;
  align-content: start;
  align-items: start;
  gap: 12px 24px;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 290px;
  margin: 0;
  padding: 24px 0 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid #ded2eb;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  counter-increment: finishing;
}
#tb-banners #banner-finish .an-treat__block::before {
  display: none !important;
  content: none !important;
}
#tb-banners #banner-finish .an-treat__block::after {
  content: "ОБРАБОТКА / 0" counter(finishing);
  position: static;
  z-index: auto;
  inset: auto;
  display: block;
  grid-column: 2;
  grid-row: 1;
  width: auto;
  height: auto;
  padding: 0;
  margin: 2px 0 0;
  border: 0;
  border-radius: 0;
  background: none !important;
  box-shadow: none;
  color: #8753cb;
  font: 650 10px/1.4 TBBlueprint, Onest, Arial, sans-serif;
  letter-spacing: .12em;
  transform: none;
}
#tb-banners #banner-finish .an-treat__block-image {
  display: block;
  grid-column: 1;
  grid-row: 1 / 5;
  align-self: stretch;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 265px;
  aspect-ratio: auto;
  margin: 0;
  border: 0;
  border-radius: 18px;
  object-fit: cover;
  object-position: center;
  background: #f4edf8;
}
#tb-banners #banner-finish .an-treat__block-title {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  min-height: 0;
  margin: 0;
  color: #30253c;
  font: 750 clamp(20px, 1.55vw, 24px)/1.18 TBBlueprint, Onest, Arial, sans-serif;
  letter-spacing: -.03em;
}
#tb-banners #banner-finish .an-treat__block-desc {
  grid-column: 2;
  grid-row: 3;
  margin: 0;
  color: #6d6178;
  font: 400 14px/1.6 TBBlueprint, Onest, Arial, sans-serif;
}
#tb-banners #banner-finish .tb-text-button {
  display: block;
  grid-column: 2;
  grid-row: 4;
  justify-self: start;
  align-self: end;
  width: auto;
  min-height: 44px;
  margin: 3px 0 -6px;
  padding: 9px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #7543bd;
  font: 650 13px/1.4 TBBlueprint, Onest, Arial, sans-serif;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: #c5abdf;
  text-underline-offset: 5px;
  cursor: pointer;
  transition: color .18s ease, text-decoration-color .18s ease;
}
#tb-banners #banner-finish .tb-text-button:hover {
  background: transparent;
  color: #4d207e;
  text-decoration-color: currentColor;
}
#tb-banners #banner-finish .tb-text-button:focus-visible {
  outline: 3px solid #8750db;
  outline-offset: 4px;
  border-radius: 4px;
}
#tb-banners #banner-finish .an-treat__block:focus-within {
  border-color: #aa86ce;
  box-shadow: none;
}
@media (max-width: 1100px) {
  #tb-banners #banner-finish .an-treat__wrap {
    gap: 34px 28px;
  }
  #tb-banners #banner-finish .an-treat__block {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto 1fr auto;
    min-height: 0;
    gap: 13px;
    padding-top: 20px;
  }
  #tb-banners #banner-finish .an-treat__block-image {
    grid-column: 1;
    grid-row: 1;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 11;
    margin-bottom: 5px;
  }
  #tb-banners #banner-finish .an-treat__block::after {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
  }
  #tb-banners #banner-finish .an-treat__block-title {
    grid-column: 1;
    grid-row: 3;
    font-size: 23px;
  }
  #tb-banners #banner-finish .an-treat__block-desc {
    grid-column: 1;
    grid-row: 4;
    font-size: 15px;
  }
  #tb-banners #banner-finish .tb-text-button {
    grid-column: 1;
    grid-row: 5;
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  #tb-banners #banner-finish .an-treat__wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  #tb-banners #banner-finish .an-treat__block-image {
    aspect-ratio: 16 / 10;
  }
  #tb-banners #banner-finish .an-treat__block-title {
    font-size: 24px;
  }
  #tb-banners #banner-finish .tb-text-button {
    min-height: 48px;
    margin-top: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  #tb-banners #banner-finish .tb-text-button {
    transition: none;
  }
}
