/* M&N — shared site layout/components, used by every page in /en/ and /ru/.
   Language-specific type rules (Cyrillic has no glyphs in the display font)
   are isolated in the [lang="ru"] block at the bottom — everything above is
   shared so editing one file updates every page. */

:root{ --container: 1160px; }
html{ scroll-behavior: smooth; }
/* keeps anchor targets from landing under the sticky header */
#main, #research, #new-market, #smm{ scroll-margin-top: 90px; }
body{ background: var(--white); color: var(--ink); margin: 0; }

.wrap{ max-width: var(--container); margin: 0 auto; padding: 0 32px; }
@media (max-width: 640px){ .wrap{ padding: 0 24px; } }

/* ---------- scroll reveal + hover motion ----------
   .reveal elements are visible by default — JS adds .pre-reveal only after
   confirming it can run and observe, then removes it on scroll-into-view.
   If JS is blocked or fails, content never gets hidden in the first place. */
.reveal.pre-reveal{ opacity: 0; transform: translateY(28px); }
.reveal{ transition: opacity 0.7s ease, transform 0.7s ease; }
@media (prefers-reduced-motion: reduce){
  .reveal.pre-reveal{ opacity: 1; transform: none; }
}

.service-teaser-card, .value-card, .founder-card, .case-card, .catalog-card, .service-card{
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.service-teaser-card:hover, .value-card:hover, .founder-card:hover{ transform: translateY(-6px); }
.case-card:hover{ transform: translateY(-4px); }
.catalog-card{ transition: transform 0.25s ease, border-color 0.25s ease; }
.catalog-card:hover{ transform: translateY(-4px); border-color: rgba(249,247,245,0.35); }
.service-card:hover{ z-index: 1; position: relative; }

/* ---------- accessibility ---------- */
.skip-link{
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--ink); color: var(--white); padding: 14px 20px;
  font-family: var(--font-body); font-weight: 600; text-decoration: none;
}
.skip-link:focus{ left: 16px; top: 16px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline: 2px solid var(--rose); outline-offset: 3px;
}

/* ---------- shared type ---------- */
.eyebrow{
  font-family: var(--font-body); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.22em; font-size: 11px; margin: 0 0 20px;
}
.section-title{
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  letter-spacing: -0.045em; line-height: 0.92; margin: 0 0 32px;
  font-size: clamp(36px, 5.6vw, 64px);
}
.body-text{ font-family: var(--font-body); font-weight: 400; line-height: 1.65; font-size: 17px; }
.body-text + .body-text{ margin-top: 18px; }

/* ---------- buttons ---------- */
/* 14px/700, not 13px/600 — white-on-rose measures 4.48:1, just under the
   4.5:1 normal-text minimum. At 14px+/bold it qualifies as WCAG "large
   text" (3:1 threshold), which the same 4.48:1 clears comfortably. */
.btn{
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-body); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1em; font-size: 14px; padding: 18px 36px; border-radius: 2px;
  text-decoration: none; cursor: pointer; border: 1px solid transparent;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.btn-primary{ background: var(--rose); color: var(--white); }
.btn-primary:hover{ background: var(--ink); }
.btn-ghost-dark{ background: transparent; color: var(--white); border-color: rgba(249,247,245,0.4); }
.btn-ghost-dark:hover{ background: rgba(249,247,245,0.1); border-color: var(--white); }
.btn-ghost-light{ background: transparent; color: var(--ink); border-color: var(--stone); }
.btn-ghost-light:hover{ background: var(--ink); color: var(--white); border-color: var(--ink); }
.btn-row{ display: flex; gap: 16px; flex-wrap: wrap; }
.hero .btn-row .btn{ min-width: 200px; }

/* ---------- site logo (header/footer) ---------- */
.site-logo{ font-family: var(--font-display); font-weight: 900; letter-spacing: -0.03em; line-height: 1; display: inline-flex; text-decoration: none; }
.site-logo .amp{ font-family: var(--font-body); font-weight: 700; color: var(--rose); }
.site-logo.on-dark .m, .site-logo.on-dark .n{ color: var(--white); }
.site-logo.on-light .m, .site-logo.on-light .n{ color: var(--ink); }

/* ---------- header ---------- */
header{ position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--ivory); }
header .bar{ display: flex; align-items: center; justify-content: space-between; padding: 20px 0; }
header .site-logo{ font-size: 24px; }
nav{ display: flex; align-items: center; gap: 28px; }
nav a{
  font-family: var(--font-body); font-weight: 500; font-size: 14px; color: var(--charcoal);
  text-decoration: none; letter-spacing: 0.02em;
}
/* hover/current use the accent color only once it's bold enough to count as
   "large text" under WCAG (14px+/700) — that's what lets the brand rose
   clear the 3:1 large-text threshold instead of failing 4.5:1 as regular text. */
nav a:hover{ color: var(--rose); font-weight: 700; }
.nav-links{ display: flex; gap: 28px; }
.nav-links a[aria-current="page"]{ color: var(--rose); font-weight: 700; }
.lang-switch{ font-weight: 700 !important; letter-spacing: 0.06em; }
.lang-switch[aria-current="page"]{ color: var(--rose); }

/* ---------- mobile menu toggle ---------- */
.menu-toggle{
  display: none; background: none; border: none; cursor: pointer; padding: 8px;
  flex-direction: column; gap: 5px; margin-left: 12px;
}
.menu-toggle span{ width: 22px; height: 2px; background: var(--ink); display: block; }
header.on-dark .menu-toggle span{ background: var(--white); }
.cta-mobile-menu{ display: none; }
@media (max-width: 860px){
  header .bar{ position: relative; padding: 14px 0; }
  .menu-toggle{ display: flex; }
  .cta-header{ display: none; }
  .cta-mobile-menu{ display: inline-flex; margin-top: 12px; justify-content: center; }
  .nav-links{
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; gap: 4px; background: var(--white);
    border-bottom: 1px solid var(--ivory); padding: 8px 32px 20px;
    box-shadow: 0 12px 24px rgba(21,25,27,0.08);
  }
  .nav-links.is-open{ display: flex; }
  .nav-links a{ padding: 10px 0; border-bottom: 1px solid var(--ivory); }
  .nav-links a:last-child{ border-bottom: none; }
  .nav-links .cta-mobile-menu{ padding: 14px 22px; border-bottom: none; }
}

/* ---------- page header (non-hero pages) ---------- */
.page-header{ padding: 90px 0 64px; border-bottom: 1px solid var(--ivory); }
.page-header .eyebrow{ color: var(--olive-gray); }
.page-header h1{
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  letter-spacing: -0.045em; line-height: 0.92; margin: 0 0 20px;
  font-size: clamp(36px, 5.6vw, 64px);
}
.page-header .lede{ font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--charcoal); max-width: 62ch; margin: 0; }
.breadcrumb{ font-family: var(--font-body); font-size: 13px; color: var(--olive-gray); margin: 0 0 20px; }
.breadcrumb a{ color: var(--olive-gray); text-decoration: underline; }
.breadcrumb a:hover{ color: var(--rose); }

/* ---------- hero (home only) ---------- */
.hero{ background: linear-gradient(165deg, var(--charcoal), var(--ink) 70%); color: var(--white); padding: 150px 0 130px; position: relative; overflow: hidden; }
.hero .lines{ position: absolute; inset: 0; opacity: 0.5; }
.hero-inner{ position: relative; z-index: 2; max-width: 780px; }
.hero .eyebrow{ color: var(--stone); }
.hero h1{ font-family: var(--font-display); font-weight: 900; letter-spacing: -0.03em; line-height: 0.98; margin: 0 0 28px; font-size: clamp(34px, 5.2vw, 68px); }
.hero .lede{ font-family: var(--font-body); font-size: 19px; line-height: 1.6; color: var(--ivory); max-width: 58ch; margin: 0 0 44px; }

/* ---------- about ---------- */
.about{ padding: 150px 0; }
.about .grid{ display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 72px; align-items: start; }
@media (max-width: 900px){ .about .grid{ grid-template-columns: 1fr; gap: 48px; } }
.about .eyebrow{ color: var(--olive-gray); }
.about-visual{ aspect-ratio: 4/5; overflow: hidden; position: relative; background: var(--olive); display: flex; align-items: flex-end; padding: 28px; }
.about-visual .shadow{ position: absolute; inset: 0; opacity: 0.5; }
.about-visual span{ position: relative; z-index: 2; font-family: var(--font-body); font-weight: 500; font-size: 13px; color: var(--white); background: var(--ink); padding: 8px 12px; border-radius: 2px; }

/* ---------- founders (replaces the single about-visual photo) ---------- */
.founders-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--ivory); }
.founder-card{ margin: 0; position: relative; }
.founder-card img{ display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.founder-card figcaption{
  font-family: var(--font-body); font-weight: 600; font-size: 13px; color: var(--white);
  background: var(--ink); position: absolute; left: 12px; bottom: 12px; padding: 8px 12px; border-radius: 2px;
}
.founders-label{
  font-family: var(--font-body); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.14em; font-size: 12px; color: var(--olive-gray); margin: 0 0 12px;
}
.process{ display: flex; gap: 28px; margin-top: 48px; flex-wrap: wrap; }
.process .step{ flex: 1; min-width: 160px; }
.process .step .bar{ height: 2px; background: var(--ivory); position: relative; margin-bottom: 18px; }
.process .step .bar::before{ content: ""; position: absolute; left: 0; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--ink); }
.process .step .num{ font-family: var(--font-display); font-weight: 900; color: var(--stone); font-size: 15px; letter-spacing: 0.02em; }
.process .step .label{ font-family: var(--font-body); font-weight: 600; font-size: 15px; color: var(--ink); margin-top: 6px; }

/* ---------- about teaser (home) ---------- */
.about-teaser{ padding: 150px 0; }
.about-teaser .grid{ display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 72px; align-items: start; }
@media (max-width: 900px){ .about-teaser .grid{ grid-template-columns: 1fr; gap: 48px; } }
.about-teaser .eyebrow{ color: var(--olive-gray); }
/* weight 700, not 600 — at 14px this is what qualifies as WCAG "large text"
   (14px+/bold), letting rose clear the relaxed 3:1 threshold; at 600 weight
   it measured 4.48:1, just under the 4.5:1 normal-text minimum. */
.about-teaser .more-link{ display: inline-block; margin-top: 28px; font-family: var(--font-body); font-weight: 700; font-size: 14px; color: var(--rose); text-decoration: none; }
.about-teaser .more-link:hover{ opacity: 0.75; }

/* ---------- services ---------- */
.services{ padding: 120px 0 130px; background: var(--white); }
.services.on-page{ border-top: none; }
.services.teaser{ border-top: 1px solid var(--ivory); }
.services .intro{ max-width: 62ch; margin-bottom: 48px; }
.services .intro .body-text{ color: var(--charcoal); }
.service-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--ivory); }
@media (max-width: 860px){ .service-grid{ grid-template-columns: 1fr; } }
.service-card{ background: var(--white); padding: 36px 32px; display: flex; flex-direction: column; }
.service-card .num{ font-family: var(--font-display); font-weight: 900; font-size: 36px; color: var(--ink); letter-spacing: -0.03em; margin-bottom: 16px; }
.service-card h2, .service-card h3{ font-family: var(--font-body); font-weight: 700; font-size: 19px; line-height: 1.3; margin: 0 0 14px; color: var(--ink); }
.service-card p{ font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--charcoal); margin: 0 0 20px; }
.service-card .yield{ margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--ivory); }
.service-card .yield .lbl{ font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: 11px; color: var(--olive-gray); margin-bottom: 8px; }
.service-card .yield .val{ font-family: var(--font-body); font-weight: 500; font-size: 14px; color: var(--ink); line-height: 1.5; }
.service-visual{ height: 68px; margin-bottom: 20px; display: flex; align-items: flex-end; gap: 6px; }
.sv-research{ align-items: center; }
.sv-research svg{ width: 100%; height: 100%; }
.sv-market{ align-items: flex-end; }
.sv-market .swatch{ flex: 1; border-radius: 1px; }
.sv-market .swatch:nth-child(1){ background: var(--ink); height: 100%; }
.sv-market .swatch:nth-child(2){ background: var(--rose); height: 74%; }
.sv-market .swatch:nth-child(3){ background: var(--olive); height: 88%; }
.sv-market .swatch:nth-child(4){ background: var(--ivory); height: 60%; border: 1px solid var(--stone); }
.sv-smm{ gap: 8px; }
.sv-smm .post{ flex: 1; height: 100%; border-radius: 1px; position: relative; overflow: hidden; }
.sv-smm .post:nth-child(1){ background: var(--ink); }
.sv-smm .post:nth-child(2){ background: var(--olive); }
.sv-smm .post:nth-child(3){ background: var(--ivory); border: 1px solid var(--stone); }
.sv-smm .post::after{ content:""; position:absolute; left:10%; bottom:16%; width:40%; height: 3px; background: rgba(249,247,245,0.6); }
.sv-smm .post:nth-child(3)::after{ background: rgba(21,25,27,0.35); }

/* ---------- services teaser (home, compact cards) ---------- */
.service-teaser-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--ivory); margin-top: 48px; }
@media (max-width: 860px){ .service-teaser-grid{ grid-template-columns: 1fr; } }
.service-teaser-card{ background: var(--white); padding: 32px 28px; text-decoration: none; display: block; transition: background-color 0.15s ease; }
.service-teaser-card:hover{ background: var(--white); }
.service-teaser-card:hover h3{ color: var(--rose); }
.service-teaser-card .num{ font-family: var(--font-display); font-weight: 900; font-size: 28px; color: var(--ink); letter-spacing: -0.03em; margin-bottom: 14px; }
.service-teaser-card h3{ font-family: var(--font-body); font-weight: 700; font-size: 17px; line-height: 1.3; margin: 0 0 14px; color: var(--ink); }
.service-teaser-card .yield-lbl{ font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: 11px; color: var(--olive-gray); margin: 0 0 6px; }
.service-teaser-card p{ font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 1.5; margin: 0; color: var(--charcoal); }

/* ---------- case study (full detail) ---------- */
.case{ padding: 150px 0; background: var(--olive); color: var(--white); }
.case .eyebrow{ color: var(--ivory); }
.case h1, .case h2{ font-family: var(--font-body); font-weight: 700; font-size: clamp(24px, 3vw, 32px); margin: 0 0 24px; max-width: 22ch; }
.case .body-text{ color: var(--ivory); max-width: 62ch; }
.stats{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(249,247,245,0.25); }
.stats > div{ padding-left: 32px; border-left: 1px solid rgba(249,247,245,0.25); }
.stats > div:first-child{ padding-left: 0; border-left: none; }
@media (max-width: 700px){
  .stats{ grid-template-columns: 1fr; gap: 24px; }
  .stats > div{ padding-left: 0; border-left: none; padding-top: 20px; border-top: 1px solid rgba(249,247,245,0.25); }
  .stats > div:first-child{ padding-top: 0; border-top: none; }
}
.stats .stat-num{ font-family: var(--font-display); font-weight: 900; font-size: clamp(48px, 6vw, 76px); letter-spacing: -0.03em; color: var(--white); line-height: 1; }
/* white, not rose — rose-on-olive measured 1.72:1, nowhere near the 3:1
   large-text minimum (the two muted tones are too close in luminance). */
.stats .stat-num .accent{ color: var(--white); }
.stats .stat-lbl{ font-family: var(--font-body); font-size: 14px; color: var(--ivory); margin-top: 12px; line-height: 1.4; max-width: 22ch; }
.case-visual{ margin-top: 64px; }
.case-visual .row{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 700px){ .case-visual .row{ grid-template-columns: 1fr; } }
.case-visual .frame{ aspect-ratio: 9/16; background: var(--charcoal); border: 1px solid rgba(249,247,245,0.2); display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px; overflow: hidden; }
.case-visual .frame span{ font-family: var(--font-body); font-size: 13px; color: var(--ivory); opacity: 0.8; }
.case-visual .frame img{ width: 100%; height: 100%; object-fit: cover; }

/* ---------- case mosaic (proof-of-work screenshot plaque) ---------- */
.mosaic-title{
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  letter-spacing: -0.02em; line-height: 1; color: var(--white);
  font-size: clamp(28px, 4.5vw, 48px); margin: 0 0 28px;
}
html[lang="ru"] .mosaic-title{ font-family: var(--font-body); letter-spacing: -0.005em; }
.case-visual{ position: relative; }
.case-mosaic{
  display: flex; align-items: flex-start; gap: 10px;
  overflow-x: auto; padding-bottom: 4px;
  scrollbar-width: none; -ms-overflow-style: none;
  scroll-snap-type: x proximity; scroll-padding-left: 0;
}
.case-mosaic::-webkit-scrollbar{ display: none; }
.case-mosaic .tile{
  flex: 0 0 auto; display: block; height: clamp(240px, 40vw, 520px);
  border: 1px solid rgba(249,247,245,0.15); transition: opacity 0.2s ease, transform 0.35s ease;
  cursor: pointer; overflow: hidden; scroll-snap-align: start;
}
/* edge fade hinting there's more to scroll */
.case-visual::before, .case-visual::after{
  content: ""; position: absolute; top: 0; bottom: 4px; width: 64px; z-index: 3; pointer-events: none;
}
.case-visual::before{ left: 0; background: linear-gradient(90deg, var(--olive), transparent); }
.case-visual::after{ right: 0; background: linear-gradient(270deg, var(--olive), transparent); }
.mosaic-nav{
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
  width: 48px; height: 48px; border: 1px solid rgba(249,247,245,0.35); background: rgba(21,25,27,0.55);
  color: var(--white); font-size: 20px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background-color 0.15s ease;
}
.mosaic-nav:hover{ background: rgba(21,25,27,0.85); }
.mosaic-prev{ left: 12px; } .mosaic-next{ right: 12px; }
@media (max-width: 640px){ .mosaic-nav{ display: none; } }
.case-mosaic .tile:hover{ opacity: 0.92; transform: translateY(-6px); }
.case-mosaic .tile img{ display: block; height: 100%; width: auto; max-width: none; transition: transform 0.5s ease; }
.case-mosaic .tile:hover img{ transform: scale(1.05); }

/* ---------- lightbox (case screenshot viewer) ---------- */
.lightbox{ position: fixed; inset: 0; background: rgba(21,25,27,0.96); z-index: 200; display: flex; align-items: center; justify-content: center; padding: 64px 24px; }
.lightbox[hidden]{ display: none; }
.lightbox img{ max-width: 90vw; max-height: 84vh; width: auto; height: auto; object-fit: contain; display: block; user-select: none; }
.lightbox-close, .lightbox-nav{
  position: absolute; border: 1px solid rgba(249,247,245,0.3); background: rgba(21,25,27,0.5); color: var(--white);
  cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color 0.15s ease; line-height: 1;
}
.lightbox-close:hover, .lightbox-nav:hover{ background: rgba(249,247,245,0.15); }
.lightbox-close{ top: 20px; right: 20px; width: 44px; height: 44px; font-size: 22px; }
.lightbox-nav{ top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 24px; }
.lightbox-prev{ left: 20px; }
.lightbox-next{ right: 20px; }
.lightbox-counter{
  position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%);
  font-family: var(--font-body); font-size: 13px; letter-spacing: 0.05em; color: var(--stone);
}
@media (max-width: 640px){
  .lightbox{ padding: 48px 12px; }
  .lightbox-nav{ width: 40px; height: 40px; font-size: 18px; }
  .lightbox-prev{ left: 8px; } .lightbox-next{ right: 8px; }
}
/* full-opacity ivory, not dimmed — at 0.8 opacity over the olive background
   this measured 4.42:1, just under the 4.5:1 normal-text minimum. */
.case .breadcrumb, .case .breadcrumb a{ color: var(--ivory); }
.case .breadcrumb a:hover{ color: var(--white); }

/* ---------- research teaser (home) ---------- */
.research-teaser{ position: relative; overflow: hidden; color: var(--white); background: var(--ink); border-top: 1px solid rgba(249,247,245,0.1); }
.research-teaser-bg{ position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 1200px; z-index: 0; }
.research-teaser-bg img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.research-teaser-bg::after{
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, var(--ink) 0%, rgba(21,25,27,0.88) 28%, rgba(21,25,27,0.3) 60%, rgba(21,25,27,0.02) 84%);
}
.research-teaser .wrap{
  position: relative; z-index: 2; min-height: 640px;
  display: flex; flex-direction: column; justify-content: space-between;
  padding-top: 36px; padding-bottom: 64px;
}
@media (max-width: 640px){ .research-teaser .wrap{ min-height: 520px; padding-top: 28px; padding-bottom: 48px; } }
.research-teaser-content{ max-width: 640px; }

/* ---------- photo mark (recurring signature on original photography) ---------- */
.photo-mark{
  position: absolute; z-index: 2; left: 16px; bottom: 16px;
  display: inline-flex; align-items: baseline;
  font-family: var(--font-display); font-weight: 900; font-size: 15px; letter-spacing: -0.02em; line-height: 1;
  background: var(--ink); color: var(--white); padding: 8px 11px;
}
.photo-mark .amp{ font-family: var(--font-body); font-weight: 700; color: var(--rose); margin: 0 1px; }
.photo-mark.static-mark{ position: static; align-self: flex-start; }
.research-teaser .eyebrow{ color: var(--stone); }
.research-teaser h2{
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  letter-spacing: -0.025em; line-height: 1.02; margin: 0 0 24px; font-size: clamp(30px, 4.4vw, 54px); color: var(--white);
}
html[lang="ru"] .research-teaser h2{ font-family: var(--font-body); letter-spacing: -0.005em; }
.research-teaser .body-text{ font-size: 18px; color: var(--ivory); max-width: 52ch; margin-bottom: 32px; }
.research-teaser .status-row{ margin-bottom: 36px; }

/* ---------- case teaser (home) ---------- */
.case-teaser{
  position: relative; background: var(--olive); color: var(--white);
  margin-top: -48px; padding: 128px 0 120px;
  clip-path: polygon(0 48px, 100% 0, 100% 100%, 0 100%);
}
.case-teaser .eyebrow{ color: var(--ivory); }
.case-teaser h2{ font-family: var(--font-body); font-weight: 700; font-size: clamp(24px, 3vw, 32px); margin: 0 0 20px; max-width: 22ch; }
.case-teaser .body-text{ color: var(--ivory); max-width: 62ch; }
.case-teaser .more-link{ display: inline-block; margin-top: 24px; font-family: var(--font-body); font-weight: 700; font-size: 14px; color: var(--white); text-decoration: none; }
.case-teaser .more-link:hover{ opacity: 0.75; }

.case-teaser .grid{ display: grid; grid-template-columns: 1fr 1.05fr; gap: 48px; align-items: stretch; }
@media (max-width: 900px){ .case-teaser .grid{ grid-template-columns: 1fr; gap: 40px; align-items: initial; } }

.stat-hero{ font-family: var(--font-display); font-weight: 900; font-size: clamp(64px, 9vw, 116px); line-height: 0.88; letter-spacing: -0.03em; color: var(--white); margin: 4px 0 10px; }
.stat-hero .accent{ color: var(--white); }
.stat-hero-label{ font-family: var(--font-body); font-weight: 600; font-size: 20px; color: var(--ivory); margin: 0 0 32px; max-width: 26ch; }
html[lang="ru"] .stat-hero{ font-family: var(--font-body); letter-spacing: -0.01em; }

.stats-mini{ display: flex; gap: 28px; margin-bottom: 8px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid rgba(249,247,245,0.25); }
.stats-mini > div{ padding-left: 28px; border-left: 1px solid rgba(249,247,245,0.25); }
.stats-mini > div:first-child{ padding-left: 0; border-left: none; }
.stats-mini .stat-num{ font-family: var(--font-display); font-weight: 900; font-size: 26px; color: var(--white); }
.stats-mini .stat-lbl{ font-family: var(--font-body); font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; font-size: 11px; color: var(--ivory); margin-top: 6px; max-width: 16ch; }

.case-mini-mosaic{
  display: block; height: 100%; position: relative; overflow: hidden;
  border: 1px solid rgba(249,247,245,0.18); text-decoration: none; background: var(--ivory);
}
.case-mini-mosaic img{ display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 0.5s ease; }
.case-mini-mosaic:hover img{ transform: scale(1.04); }
.mosaic-badge{
  position: absolute; z-index: 2; right: 0; bottom: 0;
  background: var(--ink); padding: 14px 20px; text-align: right;
}
.mosaic-badge .num{ display: block; font-family: var(--font-display); font-weight: 900; font-size: 30px; line-height: 1; color: var(--white); letter-spacing: -0.02em; }
.mosaic-badge .lbl{ display: block; font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: 10px; color: var(--stone); margin-top: 6px; }
html[lang="ru"] .mosaic-badge .num{ font-family: var(--font-body); letter-spacing: -0.005em; }
@media (max-width: 900px){ .case-mini-mosaic{ height: clamp(320px, 78vw, 460px); } }

/* ---------- cases list ---------- */
.cases-list{ padding: 150px 0; }
.case-card{ display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: center; background: var(--olive); color: var(--white); padding: 48px; text-decoration: none; }
@media (max-width: 760px){ .case-card{ grid-template-columns: 1fr; gap: 28px; padding: 32px; } }
.case-card .stats{ margin-top: 0; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 700px){ .case-card .stats{ grid-template-columns: 1fr; } }
.case-card h2{ font-family: var(--font-body); font-weight: 700; font-size: clamp(22px, 2.6vw, 28px); margin: 0 0 16px; color: var(--white); }
.case-card p{ font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--ivory); margin: 0; }
.case-card .more-link{ display: inline-block; margin-top: 20px; font-family: var(--font-body); font-weight: 700; font-size: 14px; color: var(--white); text-decoration: none; }

/* ---------- research hero ---------- */
.research-hero{ position: relative; overflow: hidden; color: var(--white); background: var(--ink); }
.research-hero-bg{ position: absolute; top: 0; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 1200px; z-index: 0; }
.research-hero-bg img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.research-hero-bg::after{
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, var(--ink) 0%, rgba(21,25,27,0.9) 32%, rgba(21,25,27,0.32) 62%, rgba(21,25,27,0.02) 86%);
}
.research-hero .wrap{
  position: relative; z-index: 2; min-height: 680px;
  display: flex; flex-direction: column; justify-content: space-between;
  padding-top: 36px; padding-bottom: 72px;
}
@media (max-width: 640px){ .research-hero .wrap{ min-height: 560px; padding-top: 28px; padding-bottom: 48px; } }
.research-hero-content{ max-width: 680px; }
.research-hero .eyebrow{ color: var(--stone); }
.research-hero h1{ font-family: var(--font-display); font-weight: 900; letter-spacing: -0.03em; line-height: 0.98; margin: 0 0 24px; font-size: clamp(32px, 5vw, 58px); }
.research-hero .lede{ font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--ivory); max-width: 56ch; margin: 0 0 36px; }
.status-row{ display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 36px; }
.status-badge{ display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: 12px; color: var(--stone); border: 1px solid rgba(249,247,245,0.3); padding: 8px 14px; border-radius: 2px; }
.status-badge::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rose); }
.price-tag{ font-family: var(--font-display); font-weight: 900; font-size: 28px; color: var(--white); letter-spacing: -0.02em; }

/* ---------- contents placeholder ---------- */
.contents-section{ padding: 120px 0; }
.contents-note{
  border: 1px dashed var(--stone); padding: 32px 36px; margin-top: 32px;
  font-family: var(--font-body); font-style: italic; font-size: 15px; color: var(--olive-gray); line-height: 1.6;
}

/* ---------- value grid (what the research gives you) ---------- */
.value-section{ padding: 120px 0; background: var(--white); border-top: 1px solid var(--ivory); }
.value-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--ivory); margin-top: 48px; }
@media (max-width: 860px){ .value-grid{ grid-template-columns: 1fr; } }
.value-card{ background: var(--white); padding: 40px 32px; }
.value-card .num{ font-family: var(--font-display); font-weight: 900; font-size: 28px; color: var(--ink); letter-spacing: -0.03em; margin-bottom: 14px; }
html[lang="ru"] .value-card .num{ font-family: var(--font-body); letter-spacing: -0.005em; }
.value-card h3{ font-family: var(--font-body); font-weight: 700; font-size: 18px; margin: 0 0 14px; color: var(--ink); }
.value-card p{ font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--charcoal); margin: 0; }

/* ---------- methodology flow ---------- */
.method-section{ padding: 120px 0; }
.method-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 40px; }
.method-flow .step{ font-family: var(--font-body); font-weight: 600; font-size: 14px; color: var(--ink); background: var(--ivory); padding: 10px 18px; border-radius: 2px; }
.method-flow .arrow{ font-family: var(--font-body); color: var(--olive-gray); font-size: 16px; }
.method-note{ margin-top: 24px; max-width: 62ch; }

/* ---------- catalog card (our research) ---------- */
.catalog-section{ padding: 120px 0; background: var(--olive); color: var(--white); }
.catalog-card{ background: rgba(249,247,245,0.06); border: 1px solid rgba(249,247,245,0.18); padding: 40px; margin-top: 40px; }
.catalog-card h3{ font-family: var(--font-body); font-weight: 700; font-size: 22px; margin: 0 0 14px; color: var(--white); }
.catalog-card p{ font-family: var(--font-body); font-size: 15px; line-height: 1.6; color: var(--ivory); max-width: 62ch; margin: 0 0 28px; }

/* ---------- final CTA (home) ---------- */
.final{ padding: 160px 0 130px; background: var(--ink); color: var(--white); position: relative; overflow: hidden; }
.final .lines{ position: absolute; inset: 0; opacity: 0.45; }
.final-inner{ position: relative; z-index: 2; text-align: center; }
.final-inner .wrap{ max-width: 720px; }
.final .eyebrow::after{ content: ""; display: block; width: 48px; height: 2px; background: var(--rose); margin: 16px auto 0; }
.final h2{ font-family: var(--font-display); font-weight: 900; text-transform: uppercase; letter-spacing: -0.035em; line-height: 0.94; margin: 24px 0 24px; font-size: clamp(34px, 5.6vw, 62px); }
.final .lede{ font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--ivory); max-width: 56ch; margin: 0 auto 40px; }
.final .btn-row{ justify-content: center; }

/* ---------- contact page (form + form-page layout) ---------- */
.contact-section{ padding: 130px 0 130px; background: var(--ink); color: var(--white); position: relative; overflow: hidden; }
.contact-section .lines{ position: absolute; inset: 0; opacity: 0.45; }
.contact-inner{ position: relative; z-index: 2; }
.contact-inner .grid{ display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 72px; align-items: start; }
@media (max-width: 900px){ .contact-inner .grid{ grid-template-columns: 1fr; gap: 56px; } }

.contact-inner .lede{ font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--ivory); margin: 0 0 40px; }

.contact-form{ display: flex; flex-direction: column; gap: 20px; }
.field label{ display: block; font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: 12px; color: var(--stone); margin-bottom: 8px; }
.field input, .field textarea{
  width: 100%; background: transparent; border: 1px solid rgba(249,247,245,0.3); border-radius: 2px;
  padding: 14px 16px; font-family: var(--font-body); font-size: 15px; color: var(--white); box-sizing: border-box;
}
.field input::placeholder, .field textarea::placeholder{ color: var(--olive-gray); }
.field textarea{ resize: vertical; min-height: 96px; }

.contact-grid{ display: flex; flex-direction: column; gap: 40px; }
.contact-grid .lbl{ font-family: var(--font-body); font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; font-size: 12px; color: var(--stone); margin-bottom: 16px; }
.contact-grid .item{ font-family: var(--font-body); font-weight: 500; font-size: 16px; color: var(--white); text-decoration: none; display: block; margin-bottom: 10px; }
.contact-grid .item:hover{ color: var(--rose); font-weight: 700; text-decoration: underline; }
/* stone, not olive-gray — olive-gray on ink measured 3.05:1, below the 4.5:1
   text minimum; stone clears it at 8.95:1. */
.contact-grid .placeholder{ color: var(--stone); font-style: normal; }

footer{ background: var(--ink); border-top: 1px solid rgba(249,247,245,0.12); padding: 32px 0; }
footer .bar{ display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
footer .site-logo{ font-size: 18px; }
/* beige, not olive-gray — olive-gray on ink measured 3.05:1, below the 4.5:1
   text minimum; beige clears it at 6.6:1 while staying suitably quiet. */
footer .copy{ font-family: var(--font-body); font-size: 12px; color: var(--beige); }
footer nav{ gap: 20px; }
footer nav a{ color: var(--ivory); font-size: 13px; }
footer nav a:hover{ color: var(--rose); }

/* ============================================================
   Russian — Trade Gothic has zero Cyrillic glyphs, so Russian
   headlines use Inter Black at matching density instead.
   ============================================================ */
html[lang="ru"] .section-title,
html[lang="ru"] .page-header h1{
  font-family: var(--font-body); letter-spacing: -0.005em;
}
html[lang="ru"] .hero h1{
  font-family: var(--font-body); font-weight: 900; letter-spacing: -0.005em; line-height: 1.0;
  font-size: clamp(34px, 5.2vw, 64px);
}
html[lang="ru"] .final h2{
  font-family: var(--font-body); letter-spacing: -0.005em;
}
html[lang="ru"] .research-hero h1{
  font-family: var(--font-body); letter-spacing: -0.005em;
}
/* ============================================================
   M&N — Editorial system for internal site pages
   Visual-only layer. Existing copy and content order stay intact.
   ============================================================ */

body.editorial-site{
  --editorial-max: 1500px;
  --editorial-gutter: clamp(24px,4.2vw,72px);
  --line-dark: rgba(21,25,27,.14);
  --line-light: rgba(249,247,245,.16);
  background: var(--white);
  overflow-x: clip;
}
body.editorial-site .wrap{
  max-width: var(--editorial-max);
  padding-left: var(--editorial-gutter);
  padding-right: var(--editorial-gutter);
}

/* ---------- shared navigation ---------- */
body.editorial-site header{
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(249,247,245,.92);
  border-bottom: 1px solid rgba(21,25,27,.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.editorial-site header .bar{
  padding-top: 16px;
  padding-bottom: 16px;
}
body.editorial-site header .site-logo{ font-size:29px; }
body.editorial-site header nav{ gap:22px; }
body.editorial-site header .nav-links{ gap:clamp(16px,2vw,30px); }
body.editorial-site header nav a{ font-size:13px; }
body.editorial-site .cta-header{
  padding:11px 19px !important;
  background:var(--ink);
  color:var(--white);
}
body.editorial-site .cta-header:hover{ background:var(--rose); color:var(--white); }

/* ---------- shared editorial typography ---------- */
body.editorial-site .eyebrow{
  font-size:10px;
  letter-spacing:.21em;
}
body.editorial-site .section-title{
  font-size:clamp(50px,6vw,90px);
  line-height:.87;
  letter-spacing:-.048em;
}
html[lang="ru"] body.editorial-site .section-title{
  font-family:var(--font-body);
  font-weight:900;
  letter-spacing:-.025em;
  line-height:.92;
}
body.editorial-site .body-text{
  font-size:clamp(16px,1.1vw,18px);
  line-height:1.72;
}
body.editorial-site .more-link{
  display:inline-flex !important;
  align-items:center;
  gap:14px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px !important;
  font-weight:700 !important;
}
body.editorial-site .more-link::after{
  content:"→";
  width:36px;
  height:36px;
  border:1px solid currentColor;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  transition:transform .25s ease,background-color .25s ease;
}
body.editorial-site .more-link:hover::after{ transform:translateX(5px); }

/* ---------- page title treatment ---------- */
body.editorial-site .page-header{
  position:relative;
  padding:clamp(100px,11vw,158px) 0 clamp(76px,8vw,112px);
  border-bottom:1px solid var(--line-dark) !important;
  background:
    radial-gradient(circle at 85% 10%, rgba(159,98,96,.08), transparent 28%),
    var(--white);
  overflow:hidden;
}
body.editorial-site .page-header::after{
  content:"";
  position:absolute;
  right:var(--editorial-gutter);
  bottom:0;
  width:min(37vw,560px);
  height:1px;
  background:var(--rose);
  opacity:.7;
}
body.editorial-site .page-header .eyebrow{ color:var(--olive-gray); margin-bottom:24px; }
body.editorial-site .page-header h1{
  max-width:12ch;
  margin:0 0 28px;
  font-size:clamp(60px,8vw,120px);
  line-height:.84;
  letter-spacing:-.052em;
}
html[lang="ru"] body.editorial-site .page-header h1{
  max-width:15ch;
  font-family:var(--font-body);
  font-size:clamp(48px,6.6vw,94px);
  line-height:.9;
  letter-spacing:-.032em;
}
body.editorial-site .page-header .lede{
  max-width:52ch;
  font-size:clamp(16px,1.2vw,19px);
  line-height:1.68;
}

/* ---------- about ---------- */
body.editorial-site .about{
  padding:clamp(110px,12vw,180px) 0;
  background:var(--white);
  overflow:hidden;
}
body.editorial-site .about .grid{
  grid-template-columns:minmax(320px,.82fr) minmax(520px,1.18fr);
  gap:clamp(68px,8vw,132px);
}
body.editorial-site .about .grid > div:first-child{
  position:sticky;
  top:130px;
  align-self:start;
}
body.editorial-site .about .section-title{ max-width:7ch; margin-bottom:36px; }
body.editorial-site .about .body-text{ max-width:43ch; color:var(--charcoal); }
body.editorial-site .about .body-text + .body-text{ margin-top:22px; }
body.editorial-site .about .process{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin-top:52px;
  border-top:1px solid var(--line-dark);
}
body.editorial-site .about .process .step{
  display:grid;
  grid-template-columns:62px 1fr;
  align-items:center;
  min-width:0;
  padding:20px 0;
  border-bottom:1px solid var(--line-dark);
}
body.editorial-site .about .process .step .bar{ display:none; }
body.editorial-site .about .process .step .num{
  color:var(--rose);
  font-size:18px;
}
body.editorial-site .about .process .step .label{
  margin:0;
  font-size:15px;
}
body.editorial-site .about .founders-label{
  margin:0 0 20px;
  font-size:10px;
  letter-spacing:.2em;
}
body.editorial-site .about .founders-grid{
  gap:clamp(14px,1.8vw,28px);
  align-items:start;
  background:transparent;
}
body.editorial-site .about .founder-card{
  overflow:hidden;
  background:var(--ivory);
}
body.editorial-site .about .founder-card:nth-child(2){ margin-top:clamp(64px,7vw,112px); }
body.editorial-site .about .founder-card img{
  aspect-ratio:3/4;
  object-position:center top;
  filter:saturate(.86) contrast(1.02);
  transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .4s ease;
}
body.editorial-site .about .founder-card:hover{ transform:none; box-shadow:none; }
body.editorial-site .about .founder-card:hover img{ transform:scale(1.025); filter:saturate(.98); }
body.editorial-site .about .founder-card figcaption{
  left:0;
  bottom:0;
  border-radius:0;
  padding:10px 13px;
  background:rgba(21,25,27,.88);
  backdrop-filter:blur(8px);
}

/* ---------- services ---------- */
body.editorial-site .services.on-page{
  padding:clamp(105px,11vw,160px) 0 clamp(110px,12vw,176px);
  background:var(--ink);
  color:var(--white);
  border-top:0;
}
body.editorial-site .services.on-page .eyebrow{ color:var(--stone) !important; }
body.editorial-site .services.on-page .section-title{ color:var(--white); margin-bottom:34px; }
body.editorial-site .services.on-page .intro{ max-width:60ch; }
body.editorial-site .services.on-page .intro .body-text{ color:var(--ivory); }
body.editorial-site .service-grid{
  display:flex;
  gap:2px;
  margin-top:clamp(52px,6vw,86px);
  background:rgba(249,247,245,.12);
  overflow:hidden;
}
body.editorial-site .service-card{
  isolation:isolate;
  position:relative;
  flex:1 1 0;
  min-width:0;
  min-height:clamp(620px,58vw,760px);
  padding:32px;
  overflow:hidden;
  background:var(--charcoal);
  color:var(--white);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:flex .65s cubic-bezier(.2,.7,.2,1);
}
body.editorial-site .service-card::before,
body.editorial-site .service-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
body.editorial-site .service-card::before{
  z-index:-2;
  background-size:cover;
  background-position:center;
  transform:scale(1.025);
  filter:saturate(.78) contrast(1.04);
  transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s ease;
}
body.editorial-site .service-card:nth-child(1)::before{
  background-image:url("assets/images/service-research.webp");
  background-position:center 46%;
}
body.editorial-site .service-card:nth-child(2)::before{
  background-image:url("assets/images/service-market-entry.webp");
  background-position:center 50%;
}
body.editorial-site .service-card:nth-child(3)::before{
  background-image:url("assets/images/service-social-media.webp");
  background-position:center 48%;
}
body.editorial-site .service-card::after{
  z-index:-1;
  background:linear-gradient(180deg,rgba(21,25,27,.08) 12%,rgba(21,25,27,.27) 48%,rgba(21,25,27,.94) 100%);
}
body.editorial-site .service-card:hover{ flex:1.32 1 0; transform:none; }
body.editorial-site .service-card:hover::before{ transform:scale(1.075); filter:saturate(.92); }
body.editorial-site .service-card .service-visual{ display:none; }
body.editorial-site .service-card .num{
  position:absolute;
  left:30px;
  top:28px;
  margin:0;
  color:var(--white);
  font-size:35px;
  text-shadow:0 2px 24px rgba(21,25,27,.4);
}
body.editorial-site .service-card h2{
  max-width:16ch;
  margin:0 0 18px;
  color:var(--white);
  font-family:var(--font-display);
  font-size:clamp(30px,2.6vw,46px);
  line-height:.94;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
html[lang="ru"] body.editorial-site .service-card h2{
  font-family:var(--font-body);
  font-size:clamp(27px,2.2vw,39px);
  line-height:1;
  letter-spacing:-.025em;
}
body.editorial-site .service-card > p{
  max-width:38ch;
  margin:0 0 24px;
  color:var(--ivory);
  font-size:14px;
  line-height:1.62;
}
body.editorial-site .service-card .yield{
  margin-top:0;
  padding-top:18px;
  border-top:1px solid rgba(249,247,245,.18);
}
body.editorial-site .service-card .yield .lbl{ color:var(--stone); }
body.editorial-site .service-card .yield .val{ color:var(--white); }

/* ---------- research hero ---------- */
body.editorial-site .research-hero{
  min-height:92svh;
  background:var(--ink);
}
body.editorial-site .research-hero-bg{
  left:0;
  transform:none;
  width:100%;
  max-width:none;
}
body.editorial-site .research-hero-bg img{
  height:110%;
  object-position:center 42%;
  filter:saturate(.76) contrast(1.04) brightness(.84);
}
body.editorial-site .research-hero-bg::after{
  background:
    linear-gradient(90deg,rgba(21,25,27,.84) 0%,rgba(21,25,27,.58) 46%,rgba(21,25,27,.14) 76%),
    linear-gradient(0deg,rgba(21,25,27,.92) 0%,rgba(21,25,27,.2) 48%,rgba(21,25,27,.08) 100%);
}
body.editorial-site .research-hero .wrap{
  min-height:92svh;
  max-width:var(--editorial-max);
  padding-top:clamp(36px,5vh,56px);
  padding-bottom:clamp(68px,8vh,96px);
}
body.editorial-site .research-hero-content{ max-width:min(820px,66vw); }
body.editorial-site .research-hero h1{
  margin-bottom:30px;
  font-size:clamp(52px,6.6vw,100px);
  line-height:.87;
  letter-spacing:-.047em;
}
html[lang="ru"] body.editorial-site .research-hero h1{
  font-family:var(--font-body);
  font-size:clamp(45px,5.7vw,78px);
  line-height:.94;
  letter-spacing:-.03em;
}
body.editorial-site .research-hero .lede{
  max-width:58ch;
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.68;
}
body.editorial-site .research-hero .status-badge,
body.editorial-site .research-hero .price-tag{ border-radius:0; }
body.editorial-site .research-hero .btn-primary{ background:var(--white); color:var(--ink); }
body.editorial-site .research-hero .btn-primary:hover{ background:var(--rose); color:var(--white); }

/* ---------- research body ---------- */
body.editorial-site .contents-section,
body.editorial-site .value-section,
body.editorial-site .method-section,
body.editorial-site .catalog-section{
  padding:clamp(105px,11vw,158px) 0;
}
body.editorial-site .contents-section{
  background:var(--white);
  border-bottom:1px solid var(--line-dark);
}
body.editorial-site .contents-note{
  margin-top:48px;
  padding:30px 0;
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
  color:var(--olive-gray);
  font-size:14px;
  letter-spacing:.02em;
}
body.editorial-site .research-hero + .contents-section .section-title{ max-width:12ch; }
body.editorial-site .research-hero ~ .about{
  background:var(--ivory);
  color:var(--ink);
}
body.editorial-site .research-hero ~ .about > .wrap{
  max-width:var(--editorial-max);
}
body.editorial-site .research-hero ~ .about .section-title{ max-width:11ch; }
body.editorial-site .research-hero ~ .about .body-text{ max-width:64ch; }
body.editorial-site .value-section{
  background:var(--white);
  border-top:1px solid var(--line-dark) !important;
}
body.editorial-site .value-section:nth-of-type(5){ background:#f1eeea; }
body.editorial-site .value-grid{
  gap:1px;
  margin-top:56px;
  background:var(--ink);
}
body.editorial-site .value-card{
  min-height:310px;
  padding:38px 34px;
  background:var(--white);
  display:flex;
  flex-direction:column;
}
body.editorial-site .value-card:hover{ transform:none; }
body.editorial-site .value-card .num{
  margin-bottom:auto;
  padding-bottom:52px;
  color:var(--rose);
  font-size:31px;
}
body.editorial-site .value-card h3{
  max-width:18ch;
  font-size:20px;
  line-height:1.2;
}
body.editorial-site .value-card p{ max-width:37ch; line-height:1.65; }
body.editorial-site .method-section{
  background:var(--ink);
  color:var(--white);
}
body.editorial-site .method-section .eyebrow{ color:var(--stone) !important; }
body.editorial-site .method-section .section-title{ color:var(--white); max-width:10ch; }
body.editorial-site .method-flow{
  display:grid;
  grid-template-columns:repeat(9,auto);
  align-items:center;
  justify-content:start;
  gap:14px;
  margin-top:56px;
}
body.editorial-site .method-flow .step{
  padding:14px 17px;
  border:1px solid rgba(249,247,245,.24);
  background:rgba(249,247,245,.035);
  color:var(--white);
  border-radius:0;
}
body.editorial-site .method-flow .arrow{ color:var(--rose); }
body.editorial-site .method-note{ margin-top:38px; color:var(--ivory); max-width:60ch; }
body.editorial-site .catalog-section{
  background:var(--olive);
  color:var(--white);
}
body.editorial-site .catalog-section .section-title{ color:var(--white); }
body.editorial-site .catalog-card{
  position:relative;
  margin-top:50px;
  padding:clamp(34px,4vw,58px);
  overflow:hidden;
  border:1px solid rgba(249,247,245,.2);
  background:rgba(21,25,27,.16);
}
body.editorial-site .catalog-card::after{
  content:"";
  position:absolute;
  right:-8%;
  top:-30%;
  width:42%;
  aspect-ratio:1;
  border:1px solid rgba(249,247,245,.12);
  transform:rotate(22deg);
}
body.editorial-site .catalog-card:hover{ transform:none; }
body.editorial-site .catalog-card h3{
  max-width:19ch;
  font-family:var(--font-display);
  font-size:clamp(32px,3.2vw,50px);
  line-height:.95;
  text-transform:uppercase;
}
html[lang="ru"] body.editorial-site .catalog-card h3{
  font-family:var(--font-body);
  font-size:clamp(28px,2.8vw,43px);
  line-height:1;
}
body.editorial-site .catalog-card p{ max-width:58ch; line-height:1.7; }
body.editorial-site .catalog-card .btn-primary{ background:var(--white); color:var(--ink); }
body.editorial-site .catalog-card .btn-primary:hover{ background:var(--rose); color:var(--white); }

/* ---------- cases listing ---------- */
body.editorial-site .cases-list{
  padding:clamp(96px,10vw,150px) 0 clamp(120px,12vw,180px);
  background:var(--white);
}
body.editorial-site .case-card{
  isolation:isolate;
  position:relative;
  min-height:520px;
  grid-template-columns:minmax(300px,.78fr) minmax(440px,1.22fr);
  gap:clamp(48px,6vw,96px);
  overflow:hidden;
  padding:clamp(42px,5vw,72px);
  border:1px solid rgba(249,247,245,.14);
  background:var(--olive);
}
body.editorial-site .case-card::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0 0 0 52%;
  background-image:linear-gradient(90deg,rgba(77,80,68,.98),rgba(77,80,68,.34)),url("assets/images/case-collage-en.jpg");
  background-size:cover;
  background-position:center;
  opacity:.82;
}
html[lang="ru"] body.editorial-site .case-card::before{
  background-image:linear-gradient(90deg,rgba(77,80,68,.98),rgba(77,80,68,.34)),url("assets/images/case-collage-ru.jpg");
}
body.editorial-site .case-card::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,rgba(77,80,68,1) 0%,rgba(77,80,68,.96) 43%,rgba(77,80,68,.38) 72%,rgba(21,25,27,.12) 100%);
}
body.editorial-site .case-card:hover{ transform:none; }
body.editorial-site .case-card h2{
  max-width:14ch;
  margin-bottom:22px;
  font-family:var(--font-display);
  font-size:clamp(38px,4vw,62px);
  line-height:.91;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
html[lang="ru"] body.editorial-site .case-card h2{
  font-family:var(--font-body);
  font-size:clamp(34px,3.4vw,52px);
  line-height:.96;
}
body.editorial-site .case-card p{ max-width:40ch; line-height:1.7; }
body.editorial-site .case-card .more-link{ color:var(--white); }
body.editorial-site .case-card .stats{
  align-self:end;
  padding:28px;
  border:1px solid rgba(249,247,245,.2);
  background:rgba(21,25,27,.54);
  backdrop-filter:blur(12px);
}
body.editorial-site .case-card .stat-num{ font-size:clamp(40px,4vw,62px); }

/* ---------- single case ---------- */
body.editorial-site .case{
  padding:clamp(98px,10vw,150px) 0 clamp(115px,12vw,180px);
  background:var(--olive);
  color:var(--white);
}
body.editorial-site .case .breadcrumb{ margin-bottom:48px; }
body.editorial-site .case .breadcrumb a{ color:var(--ivory); }
body.editorial-site .case .eyebrow{ color:var(--stone); }
body.editorial-site .case h1{
  max-width:15ch;
  margin:0 0 30px;
  font-family:var(--font-display);
  font-size:clamp(58px,7.2vw,106px);
  line-height:.84;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
html[lang="ru"] body.editorial-site .case h1{
  max-width:18ch;
  font-family:var(--font-body);
  font-size:clamp(46px,5.7vw,78px);
  line-height:.92;
  letter-spacing:-.03em;
}
body.editorial-site .case > .wrap > .body-text{ max-width:66ch; color:var(--ivory); }
body.editorial-site .case .stats{
  margin-top:64px;
  padding:34px 0;
  border-top:1px solid rgba(249,247,245,.2);
  border-bottom:1px solid rgba(249,247,245,.2);
}
body.editorial-site .case .stat-num{ font-size:clamp(52px,6vw,84px); }
body.editorial-site .case-visual{
  margin-top:clamp(74px,8vw,118px);
}
body.editorial-site .mosaic-title{
  margin:0 0 30px;
  font-family:var(--font-display);
  font-size:clamp(34px,4vw,58px);
  line-height:.95;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
html[lang="ru"] body.editorial-site .mosaic-title{
  font-family:var(--font-body);
  letter-spacing:-.02em;
}
body.editorial-site .case-mosaic{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:72px;
  gap:14px;
  overflow:visible;
  scroll-snap-type:none;
  padding:0;
}
body.editorial-site .case-mosaic .tile{
  width:auto;
  height:auto;
  min-width:0;
  scroll-snap-align:none;
  border:1px solid rgba(249,247,245,.18);
  background:var(--ink);
  box-shadow:0 20px 54px rgba(21,25,27,.22);
}
body.editorial-site .case-mosaic .tile:nth-child(1){ grid-column:span 5; grid-row:span 7; }
body.editorial-site .case-mosaic .tile:nth-child(2){ grid-column:span 7; grid-row:span 5; }
body.editorial-site .case-mosaic .tile:nth-child(3){ grid-column:span 3; grid-row:span 3; }
body.editorial-site .case-mosaic .tile:nth-child(4){ grid-column:span 4; grid-row:span 6; }
body.editorial-site .case-mosaic .tile:nth-child(5){ grid-column:span 4; grid-row:span 5; }
body.editorial-site .case-mosaic .tile:nth-child(6){ grid-column:span 4; grid-row:span 4; }
body.editorial-site .case-mosaic .tile:nth-child(7){ grid-column:span 4; grid-row:span 6; }
body.editorial-site .case-mosaic .tile:nth-child(8){ grid-column:span 4; grid-row:span 5; }
body.editorial-site .case-mosaic .tile img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:top center;
}
body.editorial-site .case-mosaic .tile:hover{ transform:translateY(-4px); }
body.editorial-site .case-mosaic .tile:hover img{ transform:scale(1.025); }
body.editorial-site .case-visual::before,
body.editorial-site .case-visual::after,
body.editorial-site .mosaic-nav{ display:none; }

/* ---------- blog ---------- */
body.editorial-site .page-header + .contents-section{
  min-height:46svh;
}
body.editorial-site .page-header + .contents-section .contents-note{
  max-width:760px;
  margin-top:0;
  padding:44px 0;
  font-size:16px;
}

/* ---------- contact ---------- */
body.editorial-site .contact-section{
  min-height:calc(100svh - 68px);
  padding:clamp(96px,10vw,148px) 0 clamp(110px,11vw,160px);
  background-image:
    linear-gradient(90deg,rgba(21,25,27,.93) 0%,rgba(21,25,27,.84) 50%,rgba(21,25,27,.63) 100%),
    url("assets/images/home-secondary.webp");
  background-size:cover;
  background-position:center;
}
body.editorial-site .contact-section .lines{ display:none; }
body.editorial-site .contact-inner{ max-width:var(--editorial-max); }
body.editorial-site .contact-section .eyebrow{ color:var(--stone) !important; }
body.editorial-site .contact-section h1{
  max-width:13ch !important;
  margin-bottom:30px !important;
  font-family:var(--font-display) !important;
  font-size:clamp(58px,7.2vw,106px) !important;
  line-height:.84 !important;
  letter-spacing:-.05em !important;
}
html[lang="ru"] body.editorial-site .contact-section h1{
  max-width:16ch !important;
  font-family:var(--font-body) !important;
  font-size:clamp(48px,5.8vw,78px) !important;
  line-height:.92 !important;
  letter-spacing:-.03em !important;
}
body.editorial-site .contact-section .lede{
  max-width:54ch !important;
  margin-bottom:60px !important;
  color:var(--ivory);
  font-size:17px;
  line-height:1.7;
}
body.editorial-site .contact-section .grid{
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:clamp(42px,7vw,110px);
  align-items:start;
}
body.editorial-site .contact-form{
  gap:0;
  padding:clamp(28px,3.5vw,48px);
  border:1px solid rgba(249,247,245,.2);
  background:rgba(21,25,27,.46);
  backdrop-filter:blur(16px);
}
body.editorial-site .contact-form .field{
  padding:0 0 22px;
  margin-bottom:22px;
  border-bottom:1px solid rgba(249,247,245,.16);
}
body.editorial-site .contact-form label{
  font-size:10px;
  letter-spacing:.17em;
  color:var(--stone);
}
body.editorial-site .contact-form input,
body.editorial-site .contact-form textarea{
  padding:12px 0 4px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--white);
  font-size:17px;
}
body.editorial-site .contact-form input::placeholder,
body.editorial-site .contact-form textarea::placeholder{ color:rgba(223,216,210,.52); }
body.editorial-site .contact-form textarea{ min-height:120px; }
body.editorial-site .contact-form .btn-primary{ background:var(--white); color:var(--ink); }
body.editorial-site .contact-form .btn-primary:hover{ background:var(--rose); color:var(--white); }
body.editorial-site .contact-grid{
  padding:36px 0 0;
  gap:48px;
}
body.editorial-site .contact-grid .lbl{ color:var(--stone); }
body.editorial-site .contact-grid .item{ font-size:16px; }

/* ---------- final CTA used on research ---------- */
body.editorial-site .final{
  min-height:72svh;
  padding:clamp(120px,14vw,200px) 0;
  display:grid;
  place-items:center;
  background-image:
    linear-gradient(90deg,rgba(21,25,27,.84),rgba(21,25,27,.56) 58%,rgba(21,25,27,.46)),
    url("assets/images/home-secondary.webp");
  background-size:cover;
  background-position:center;
}
body.editorial-site .final .lines{ display:none; }
body.editorial-site .final-inner{
  width:100%;
  max-width:980px;
  text-align:left;
}
body.editorial-site .final .eyebrow{ color:var(--stone) !important; }
body.editorial-site .final .eyebrow::after{ margin:16px 0 0; height:1px; }
body.editorial-site .final h2{
  max-width:12ch;
  margin-top:34px;
  font-size:clamp(58px,7.6vw,112px);
  line-height:.84;
  letter-spacing:-.05em;
}
html[lang="ru"] body.editorial-site .final h2{
  max-width:15ch;
  font-family:var(--font-body);
  font-size:clamp(46px,5.8vw,82px);
  line-height:.92;
  letter-spacing:-.03em;
}
body.editorial-site .final .lede{ margin:0 0 38px; color:var(--ivory); }
body.editorial-site .final .btn-row{ justify-content:flex-start; }
body.editorial-site .final .btn-primary{ background:var(--white); color:var(--ink); }
body.editorial-site .final .btn-primary:hover{ background:var(--rose); color:var(--white); }

/* ---------- footer ---------- */
body.editorial-site footer{
  padding:0;
  background:#101315;
  border-top:1px solid rgba(249,247,245,.12);
}
body.editorial-site footer .bar{ padding-top:42px; padding-bottom:42px; }

/* ---------- utility pages ---------- */
body.editorial-utility{
  min-height:100svh !important;
  padding:32px !important;
  background-image:
    linear-gradient(90deg,rgba(21,25,27,.9),rgba(21,25,27,.66)),
    url("assets/images/home-secondary.webp") !important;
  background-size:cover !important;
  background-position:center !important;
}
body.editorial-utility .box{
  width:min(680px,100%);
  max-width:none !important;
  padding:clamp(36px,5vw,68px);
  border:1px solid rgba(249,247,245,.18);
  background:rgba(21,25,27,.62);
  backdrop-filter:blur(16px);
}
body.editorial-utility .mn-logo{ margin-bottom:54px !important; font-size:34px !important; }
body.editorial-utility h1{
  margin-bottom:24px !important;
  font-family:var(--font-display) !important;
  font-size:clamp(50px,7vw,82px) !important;
  line-height:.86 !important;
  letter-spacing:-.045em !important;
}
html[lang="ru"] body.editorial-utility h1{
  font-family:var(--font-body) !important;
  font-size:clamp(44px,6vw,68px) !important;
  line-height:.92 !important;
  letter-spacing:-.025em !important;
}
body.editorial-utility p:not(.mn-logo){ max-width:48ch; margin:0 auto 38px !important; }
body.editorial-utility .btn{ background:var(--white) !important; color:var(--ink) !important; }
body.editorial-utility .btn:hover{ background:var(--rose) !important; color:var(--white) !important; }

/* ---------- responsive ---------- */
@media (max-width:1080px){
  body.editorial-site .about .grid{ grid-template-columns:.82fr 1.18fr; gap:56px; }
  body.editorial-site .service-card{ min-height:620px; }
  body.editorial-site .case-card{ grid-template-columns:1fr 1fr; }
  body.editorial-site .method-flow{ grid-template-columns:repeat(5,auto); }
  body.editorial-site .method-flow .arrow:nth-of-type(4){ display:none; }
}

@media (max-width:860px){
  body.editorial-site header .bar{ padding-top:13px; padding-bottom:13px; }
  body.editorial-site .nav-links{ background:rgba(249,247,245,.98); padding-left:24px; padding-right:24px; }
  body.editorial-site .page-header h1{ font-size:clamp(54px,10vw,86px); }
  html[lang="ru"] body.editorial-site .page-header h1{ font-size:clamp(44px,8vw,70px); }
  body.editorial-site .about .grid{ grid-template-columns:1fr; gap:58px; }
  body.editorial-site .about .grid > div:first-child{ position:static; }
  body.editorial-site .about .section-title{ max-width:none; }
  body.editorial-site .about .body-text{ max-width:52ch; }
  body.editorial-site .service-grid{ display:grid; grid-template-columns:1fr; gap:2px; }
  body.editorial-site .service-card{ min-height:560px; }
  body.editorial-site .service-card:hover{ flex:none; }
  body.editorial-site .research-hero-content{ max-width:86%; }
  body.editorial-site .method-flow{ display:flex; flex-wrap:wrap; }
  body.editorial-site .case-card{ grid-template-columns:1fr; min-height:620px; }
  body.editorial-site .case-card::before{ inset:40% 0 0 0; }
  body.editorial-site .case-card::after{ background:linear-gradient(180deg,rgba(77,80,68,1) 0%,rgba(77,80,68,.98) 46%,rgba(77,80,68,.34) 82%,rgba(21,25,27,.15) 100%); }
  body.editorial-site .case-card .stats{ margin-top:180px; }
  body.editorial-site .case-mosaic{ grid-auto-rows:60px; }
  body.editorial-site .contact-section .grid{ grid-template-columns:1fr; }
}

@media (max-width:640px){
  body.editorial-site{ --editorial-gutter:22px; }
  body.editorial-site .page-header{ padding:82px 0 66px; }
  body.editorial-site .page-header h1{ font-size:clamp(48px,14vw,68px); line-height:.87; }
  html[lang="ru"] body.editorial-site .page-header h1{ font-size:clamp(39px,11vw,56px); line-height:.94; }
  body.editorial-site .about{ padding:92px 0; }
  body.editorial-site .about .founders-grid{ grid-template-columns:1fr 1fr; gap:8px; }
  body.editorial-site .about .founder-card:nth-child(2){ margin-top:38px; }
  body.editorial-site .about .founder-card figcaption{ font-size:10px; padding:7px 8px; }
  body.editorial-site .services.on-page{ padding:90px 0; }
  body.editorial-site .service-grid{ margin-top:42px; }
  body.editorial-site .service-card{ min-height:510px; padding:24px; }
  body.editorial-site .service-card .num{ top:22px; left:22px; }
  body.editorial-site .service-card h2{ font-size:34px; }
  html[lang="ru"] body.editorial-site .service-card h2{ font-size:29px; }
  body.editorial-site .research-hero,
  body.editorial-site .research-hero .wrap{ min-height:78svh; }
  body.editorial-site .research-hero-bg img{ object-position:56% center; }
  body.editorial-site .research-hero-bg::after{ background:linear-gradient(0deg,rgba(21,25,27,.96) 0%,rgba(21,25,27,.72) 48%,rgba(21,25,27,.15) 100%); }
  body.editorial-site .research-hero-content{ max-width:100%; }
  body.editorial-site .research-hero h1{ font-size:clamp(42px,12vw,62px); }
  html[lang="ru"] body.editorial-site .research-hero h1{ font-size:clamp(37px,10vw,52px); }
  body.editorial-site .contents-section,
  body.editorial-site .value-section,
  body.editorial-site .method-section,
  body.editorial-site .catalog-section{ padding:90px 0; }
  body.editorial-site .value-grid{ grid-template-columns:1fr; }
  body.editorial-site .value-card{ min-height:260px; }
  body.editorial-site .method-flow{ gap:8px; }
  body.editorial-site .method-flow .arrow{ display:none; }
  body.editorial-site .case-card{ min-height:650px; padding:28px; }
  body.editorial-site .case-card h2{ font-size:40px; }
  html[lang="ru"] body.editorial-site .case-card h2{ font-size:35px; }
  body.editorial-site .case-card .stats{ grid-template-columns:1fr; margin-top:190px; padding:22px; }
  body.editorial-site .case h1{ font-size:clamp(48px,13vw,68px); }
  html[lang="ru"] body.editorial-site .case h1{ font-size:clamp(40px,11vw,58px); }
  body.editorial-site .case .stats{ grid-template-columns:1fr; gap:22px; }
  body.editorial-site .case-mosaic{
    display:flex;
    overflow-x:auto;
    gap:12px;
    padding-bottom:12px;
    scroll-snap-type:x mandatory;
  }
  body.editorial-site .case-mosaic .tile{
    flex:0 0 78vw;
    height:72vw;
    scroll-snap-align:start;
  }
  body.editorial-site .case-mosaic .tile:nth-child(n){ grid-column:auto; grid-row:auto; }
  body.editorial-site .contact-section{ padding:88px 0 104px; background-position:62% center; }
  body.editorial-site .contact-section h1{ font-size:clamp(48px,13vw,68px) !important; }
  html[lang="ru"] body.editorial-site .contact-section h1{ font-size:clamp(40px,11vw,58px) !important; }
  body.editorial-site .contact-form{ padding:24px; }
  body.editorial-site .final{ min-height:68svh; padding:105px 0; background-position:62% center; }
  body.editorial-site .final h2{ font-size:clamp(52px,14vw,72px); }
  html[lang="ru"] body.editorial-site .final h2{ font-size:clamp(40px,11vw,58px); }
  body.editorial-site footer .bar{ flex-direction:column; align-items:flex-start; gap:22px; }
  body.editorial-site footer nav{ width:100%; flex-wrap:wrap; gap:12px 18px; }
  body.editorial-site footer nav a{ font-size:12px; }
}

@media (prefers-reduced-motion:reduce){
  body.editorial-site .service-card,
  body.editorial-site .service-card::before,
  body.editorial-site .founder-card img{ transition:none; }
}
/* ============================================================
   M&N — Editorial Home v2
   Visual-only layer for /en/ home.
   Existing content and section order are intentionally untouched.
   ============================================================ */

.home-editorial-v2{
  --home-max: 1500px;
  --home-gutter: clamp(24px, 4.2vw, 72px);
  --hairline-dark: rgba(21,25,27,.16);
  --hairline-light: rgba(249,247,245,.18);
  background: var(--white);
  overflow-x: clip;
}

.home-editorial-v2 .wrap{
  max-width: var(--home-max);
  padding-left: var(--home-gutter);
  padding-right: var(--home-gutter);
}

/* ---------- navigation ---------- */
.home-editorial-v2 header{
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(249,247,245,.91);
  border-bottom: 1px solid rgba(21,25,27,.1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: background-color .3s ease, box-shadow .3s ease;
}
.home-editorial-v2 header.is-scrolled{
  background: rgba(249,247,245,.97);
  box-shadow: 0 12px 34px rgba(21,25,27,.055);
}
.home-editorial-v2 header .bar{ padding-top: 16px; padding-bottom: 16px; }
.home-editorial-v2 header .site-logo{ font-size: 29px; }
.home-editorial-v2 header nav{ gap: 22px; }
.home-editorial-v2 header .nav-links{ gap: clamp(16px,2vw,30px); }
.home-editorial-v2 header nav a{ font-size: 13px; }
.home-editorial-v2 .cta-header{ padding: 11px 19px !important; background: var(--ink); color: var(--white); }
.home-editorial-v2 .cta-header:hover{ background: var(--rose); color: var(--white); }

/* ---------- shared typography ---------- */
.home-editorial-v2 .eyebrow{
  font-size: 10px;
  letter-spacing: .21em;
}
.home-editorial-v2 .section-title{
  font-size: clamp(52px,6.2vw,92px);
  line-height: .86;
  letter-spacing: -.05em;
}
.home-editorial-v2 .body-text{
  font-size: clamp(16px,1.15vw,18px);
  line-height: 1.68;
}
.home-editorial-v2 .more-link{
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.home-editorial-v2 .more-link::after{
  content: "→";
  width: 36px;
  height: 36px;
  border: 1px solid currentColor;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  transition: transform .25s ease, background-color .25s ease;
}
.home-editorial-v2 .more-link:hover::after{ transform: translateX(5px); }

/* ---------- 01 / hero ---------- */
.home-editorial-v2 .hero{
  --hero-shift: 0px;
  min-height: min(900px, calc(100svh - 68px));
  padding: 0;
  color: var(--ink);
  background: var(--white);
  border-bottom: 1px solid var(--hairline-dark);
  isolation: isolate;
}
.home-editorial-v2 .hero::before{
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -2;
  width: 44%;
  background-image:
    linear-gradient(180deg, rgba(21,25,27,.04), rgba(21,25,27,.13)),
    url("assets/images/home-hero.webp");
  background-size: cover;
  background-position: 54% calc(50% + var(--hero-shift));
  border-left: 1px solid rgba(21,25,27,.15);
  transition: background-position .08s linear;
}
.home-editorial-v2 .hero::after{
  content: "";
  position: absolute;
  left: 0;
  right: 44%;
  bottom: 0;
  height: 1px;
  background: var(--hairline-dark);
  pointer-events: none;
}
.home-editorial-v2 .hero .lines{ display: none; }
.home-editorial-v2 .hero-inner{
  min-height: min(900px, calc(100svh - 68px));
  max-width: var(--home-max);
  padding-top: clamp(80px,11vh,136px);
  padding-bottom: clamp(62px,9vh,110px);
  padding-right: calc(44% + clamp(48px,5vw,78px));
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-editorial-v2 .hero .eyebrow{
  color: var(--olive-gray);
  margin-bottom: clamp(28px,4vh,48px);
}
.home-editorial-v2 .hero h1{
  margin: 0 0 clamp(28px,4vh,44px);
  max-width: 12.7ch;
  color: var(--ink);
  font-size: clamp(54px,6.65vw,112px);
  line-height: .84;
  letter-spacing: -.052em;
  text-transform: uppercase;
  text-wrap: balance;
}
.home-editorial-v2 .hero .lede{
  max-width: 52ch;
  margin-bottom: clamp(30px,5vh,48px);
  color: var(--charcoal);
  font-size: clamp(16px,1.2vw,19px);
  line-height: 1.65;
}
.home-editorial-v2 .hero .btn-row{ gap: 12px; }
.home-editorial-v2 .hero .btn-row .btn{
  min-width: 0;
  padding: 15px 22px;
  font-size: 12px;
  letter-spacing: .1em;
}
.home-editorial-v2 .hero .btn-primary{ background: var(--ink); }
.home-editorial-v2 .hero .btn-primary:hover{ background: var(--rose); }
.home-editorial-v2 .hero .btn-ghost-dark{
  color: var(--ink);
  border-color: rgba(21,25,27,.35);
}
.home-editorial-v2 .hero .btn-ghost-dark:hover{
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}

/* ---------- 02 / research ---------- */
.home-editorial-v2 .research-teaser{
  min-height: 92svh;
  border-top: 0;
  background: var(--ink);
}
.home-editorial-v2 .research-teaser-bg{
  left: 0;
  transform: none;
  width: 100%;
  max-width: none;
}
.home-editorial-v2 .research-teaser-bg img{
  height: 112%;
  object-position: center 42%;
  transform: translate3d(0,var(--research-y,0px),0) scale(1.025);
  filter: saturate(.76) contrast(1.04) brightness(.86);
  will-change: transform;
}
.home-editorial-v2 .research-teaser-bg::after{
  background:
    linear-gradient(90deg, rgba(21,25,27,.78) 0%, rgba(21,25,27,.52) 42%, rgba(21,25,27,.08) 72%),
    linear-gradient(0deg, rgba(21,25,27,.9) 0%, rgba(21,25,27,.2) 48%, rgba(21,25,27,.08) 100%);
}
.home-editorial-v2 .research-teaser .wrap{
  min-height: 92svh;
  padding-top: clamp(34px,5vh,54px);
  padding-bottom: clamp(60px,8vh,92px);
}
.home-editorial-v2 .research-teaser .photo-mark.static-mark{
  border: 1px solid rgba(249,247,245,.2);
  background: rgba(21,25,27,.48);
  backdrop-filter: blur(10px);
}
.home-editorial-v2 .research-teaser-content{
  max-width: min(720px, 62vw);
}
.home-editorial-v2 .research-teaser h2{
  font-size: clamp(48px,6vw,92px);
  line-height: .88;
  letter-spacing: -.045em;
  margin-bottom: 28px;
  text-wrap: balance;
}
.home-editorial-v2 .research-teaser .body-text{
  max-width: 49ch;
  font-size: clamp(16px,1.2vw,19px);
}
.home-editorial-v2 .research-teaser .status-row{
  display: flex;
  align-items: center;
  gap: 18px;
}
.home-editorial-v2 .research-teaser .status-badge,
.home-editorial-v2 .research-teaser .price-tag{
  border-radius: 0;
}
.home-editorial-v2 .research-teaser .btn-primary{
  background: var(--white);
  color: var(--ink);
}
.home-editorial-v2 .research-teaser .btn-primary:hover{
  background: var(--rose);
  color: var(--white);
}

/* ---------- 03 / about + founders ---------- */
.home-editorial-v2 .about-teaser{
  padding: clamp(110px,13vw,190px) 0;
  background: var(--white);
  overflow: hidden;
}
.home-editorial-v2 .about-teaser .grid{
  grid-template-columns: minmax(300px,.82fr) minmax(500px,1.18fr);
  gap: clamp(64px,8vw,132px);
  align-items: start;
}
.home-editorial-v2 .about-teaser .grid > div:first-child{
  position: sticky;
  top: 130px;
  padding-top: 16px;
}
.home-editorial-v2 .about-teaser .section-title{
  max-width: 6.4ch;
  margin-bottom: 34px;
}
.home-editorial-v2 .about-teaser .body-text{
  max-width: 33ch;
  color: var(--charcoal);
}
.home-editorial-v2 .about-teaser .more-link{
  margin-top: 36px;
  color: var(--ink);
}
.home-editorial-v2 .founders-label{
  margin-bottom: 18px;
  font-size: 10px;
  letter-spacing: .2em;
}
.home-editorial-v2 .founders-grid{
  gap: clamp(14px,1.8vw,28px);
  background: transparent;
  align-items: start;
}
.home-editorial-v2 .founder-card{
  overflow: visible;
  background: var(--ivory);
}
.home-editorial-v2 .founder-card:nth-child(2){ margin-top: clamp(62px,7vw,110px); }
.home-editorial-v2 .founder-card img{
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.86) contrast(1.02);
  transition: transform .7s cubic-bezier(.2,.75,.2,1), filter .4s ease;
}
.home-editorial-v2 .founder-card:hover{
  transform: none;
  box-shadow: none;
}
.home-editorial-v2 .founder-card:hover img{
  transform: scale(1.025);
  filter: saturate(.96) contrast(1.02);
}
.home-editorial-v2 .founder-card figcaption{
  left: 0;
  right: auto;
  bottom: 0;
  border-radius: 0;
  padding: 10px 13px;
  background: rgba(21,25,27,.88);
  backdrop-filter: blur(8px);
}

/* ---------- 04 / services ---------- */
.home-editorial-v2 .services.teaser{
  padding: clamp(100px,11vw,160px) 0 clamp(90px,10vw,140px);
  background: var(--ink);
  border-top: 0;
  color: var(--white);
}
.home-editorial-v2 .services.teaser .eyebrow{ color: var(--stone) !important; }
.home-editorial-v2 .services.teaser .section-title{
  color: var(--white);
  margin-bottom: 34px;
}
.home-editorial-v2 .services .intro{
  max-width: 58ch;
  margin-bottom: 0;
}
.home-editorial-v2 .services .intro .body-text{ color: var(--ivory); }
.home-editorial-v2 .service-teaser-grid{
  display: flex;
  gap: 2px;
  margin-top: clamp(48px,6vw,82px);
  background: rgba(249,247,245,.14);
  overflow: hidden;
}
.home-editorial-v2 .service-teaser-card{
  isolation: isolate;
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  min-height: clamp(500px,57vw,700px);
  padding: 30px;
  overflow: hidden;
  background: var(--charcoal);
  color: var(--white);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: flex .65s cubic-bezier(.2,.7,.2,1), transform .4s ease;
}
.home-editorial-v2 .service-teaser-card::before,
.home-editorial-v2 .service-teaser-card::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.home-editorial-v2 .service-teaser-card::before{
  z-index: -2;
  background-size: cover;
  background-position: center;
  transform: scale(1.025);
  transition: transform .8s cubic-bezier(.2,.75,.2,1), filter .5s ease;
  filter: saturate(.78) contrast(1.04);
}
.home-editorial-v2 .service-teaser-card:nth-child(1)::before{
  background-image: url("assets/images/service-research.webp");
  background-position: center 46%;
}
.home-editorial-v2 .service-teaser-card:nth-child(2)::before{
  background-image: url("assets/images/service-market-entry.webp");
  background-position: center 50%;
}
.home-editorial-v2 .service-teaser-card:nth-child(3)::before{
  background-image: url("assets/images/service-social-media.webp");
  background-position: center 48%;
}
.home-editorial-v2 .service-teaser-card::after{
  z-index: -1;
  background: linear-gradient(180deg, rgba(21,25,27,.1) 15%, rgba(21,25,27,.22) 48%, rgba(21,25,27,.91) 100%);
  transition: background .4s ease;
}
.home-editorial-v2 .service-teaser-card:hover{
  flex: 1.35 1 0;
  transform: none;
  background: var(--charcoal);
}
.home-editorial-v2 .service-teaser-card:hover::before{
  transform: scale(1.075);
  filter: saturate(.9) contrast(1.03);
}
.home-editorial-v2 .service-teaser-card:hover::after{
  background: linear-gradient(180deg, rgba(21,25,27,.04) 10%, rgba(21,25,27,.13) 46%, rgba(21,25,27,.88) 100%);
}
.home-editorial-v2 .service-teaser-card .num{
  position: absolute;
  top: 26px;
  left: 28px;
  margin: 0;
  color: var(--white);
  font-size: 34px;
  text-shadow: 0 2px 24px rgba(21,25,27,.35);
}
.home-editorial-v2 .service-teaser-card h3{
  color: var(--white);
  margin: 0 0 16px;
  max-width: 16ch;
  font-family: var(--font-display);
  font-size: clamp(28px,2.35vw,43px);
  line-height: .94;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.home-editorial-v2 .service-teaser-card:hover h3{ color: var(--white); }
.home-editorial-v2 .service-teaser-card .yield-lbl{
  color: var(--stone);
  margin-bottom: 7px;
}
.home-editorial-v2 .service-teaser-card p{
  max-width: 31ch;
  color: var(--ivory);
  font-size: 13px;
  line-height: 1.55;
}

/* ---------- 05 / case ---------- */
.home-editorial-v2 .case-teaser{
  margin-top: 0;
  padding: clamp(110px,12vw,176px) 0;
  clip-path: none;
  background: var(--olive);
}
.home-editorial-v2 .case-teaser .grid{
  grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr);
  gap: clamp(56px,7vw,110px);
  align-items: center;
}
.home-editorial-v2 .case-mini-mosaic{
  min-height: clamp(540px,58vw,760px);
  border-color: rgba(249,247,245,.2);
  background: var(--ivory);
}
.home-editorial-v2 .case-mini-mosaic img{
  object-fit: cover;
  object-position: center;
}
.home-editorial-v2 .case-mini-mosaic:hover img{ transform: scale(1.025); }
.home-editorial-v2 .case-teaser .eyebrow{ color: var(--ivory); }
.home-editorial-v2 .case-teaser h2{
  max-width: 15ch;
  margin-bottom: 24px;
  font-family: var(--font-display);
  font-size: clamp(40px,4.6vw,70px);
  line-height: .9;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.home-editorial-v2 .case-teaser .body-text{
  max-width: 42ch;
  font-size: 16px;
  line-height: 1.65;
}
.home-editorial-v2 .stat-hero{
  margin-top: 44px;
  font-size: clamp(76px,8vw,126px);
}
.home-editorial-v2 .stat-hero-label{
  font-size: 17px;
  margin-bottom: 28px;
}
.home-editorial-v2 .stats-mini{
  gap: 0;
  margin-top: 0;
  margin-bottom: 8px;
}
.home-editorial-v2 .stats-mini > div{
  flex: 1;
  min-width: 0;
  padding: 16px 24px 0;
}
.home-editorial-v2 .stats-mini > div:first-child{ padding-left: 0; }
.home-editorial-v2 .stats-mini .stat-num{ font-size: 34px; }
.home-editorial-v2 .case-teaser .more-link{ color: var(--white); }
.home-editorial-v2 .mosaic-badge{
  padding: 16px 22px;
  background: rgba(21,25,27,.92);
}

/* ---------- 06 / final CTA ---------- */
.home-editorial-v2 .final{
  --final-shift: 0px;
  min-height: 78svh;
  padding: clamp(130px,15vw,210px) 0;
  display: grid;
  place-items: center;
  background-image:
    linear-gradient(90deg, rgba(21,25,27,.82), rgba(21,25,27,.58) 58%, rgba(21,25,27,.48)),
    url("assets/images/home-secondary.webp");
  background-size: cover;
  background-position: center calc(50% + var(--final-shift));
  border-top: 1px solid rgba(249,247,245,.12);
  transition: background-position .08s linear;
}
.home-editorial-v2 .final .lines{ display: none; }
.home-editorial-v2 .final-inner{
  width: 100%;
  max-width: 980px;
  text-align: left;
}
.home-editorial-v2 .final .eyebrow{ color: var(--stone) !important; }
.home-editorial-v2 .final .eyebrow::after{
  margin: 16px 0 0;
  height: 1px;
}
.home-editorial-v2 .final h2{
  max-width: 10ch;
  margin-top: 34px;
  font-size: clamp(62px,8.4vw,124px);
  line-height: .82;
  letter-spacing: -.052em;
}
.home-editorial-v2 .final .lede{
  max-width: 52ch;
  margin: 0 0 38px;
  color: var(--ivory);
}
.home-editorial-v2 .final .btn-row{ justify-content: flex-start; }
.home-editorial-v2 .final .btn-primary{
  background: var(--white);
  color: var(--ink);
}
.home-editorial-v2 .final .btn-primary:hover{
  background: var(--rose);
  color: var(--white);
}

/* ---------- footer ---------- */
.home-editorial-v2 footer{
  background: #101315;
  border-top: 1px solid rgba(249,247,245,.12);
}
.home-editorial-v2 footer .bar{ padding-top: 42px; padding-bottom: 42px; }

/* ---------- motion ---------- */
.home-editorial-v2 .reveal{
  transition: opacity .85s cubic-bezier(.2,.75,.2,1), transform .85s cubic-bezier(.2,.75,.2,1);
}
.home-editorial-v2 .reveal.pre-reveal{ transform: translateY(42px); }
.home-editorial-v2 .hero-inner > *{
  animation: mnHeroIn .9s cubic-bezier(.2,.75,.2,1) both;
}
.home-editorial-v2 .hero-inner > h1{ animation-delay: .08s; }
.home-editorial-v2 .hero-inner > .lede{ animation-delay: .14s; }
.home-editorial-v2 .hero-inner > .btn-row{ animation-delay: .2s; }
@keyframes mnHeroIn{
  from{ opacity:0; transform: translateY(24px); }
  to{ opacity:1; transform:none; }
}

/* ---------- responsive ---------- */
@media (max-width: 1080px){
  .home-editorial-v2 .hero::before{ width: 40%; }
  .home-editorial-v2 .hero::after{ right: 40%; }
  .home-editorial-v2 .hero-inner{ padding-right: calc(40% + 42px); }
  .home-editorial-v2 .hero h1{ font-size: clamp(48px,7vw,82px); }
  .home-editorial-v2 .about-teaser .grid{ grid-template-columns: .8fr 1.2fr; gap: 56px; }
  .home-editorial-v2 .case-teaser .grid{ grid-template-columns: 1fr 1fr; gap: 48px; }
}

@media (max-width: 860px){
  .home-editorial-v2 header .bar{ padding-top: 13px; padding-bottom: 13px; }
  .home-editorial-v2 .nav-links{ background: rgba(249,247,245,.98); padding-left: 24px; padding-right: 24px; }

  .home-editorial-v2 .hero{
    min-height: auto;
    padding-top: 0;
    display: block;
  }
  .home-editorial-v2 .hero::before{
    position: relative;
    display: block;
    inset: auto;
    width: 100%;
    height: min(72vw,620px);
    background-position: center 55%;
    border-left: 0;
    border-bottom: 1px solid var(--hairline-dark);
  }
  .home-editorial-v2 .hero::after{ display:none; }
  .home-editorial-v2 .hero-inner{
    min-height: auto;
    padding-top: clamp(68px,10vw,92px);
    padding-bottom: clamp(72px,11vw,104px);
    padding-right: var(--home-gutter);
  }
  .home-editorial-v2 .hero h1{
    max-width: 13ch;
    font-size: clamp(52px,10.6vw,88px);
  }
  .home-editorial-v2 .research-teaser-content{ max-width: 86%; }
  .home-editorial-v2 .about-teaser .grid{
    grid-template-columns: 1fr;
    gap: 58px;
  }
  .home-editorial-v2 .about-teaser .grid > div:first-child{
    position: static;
    padding-top: 0;
  }
  .home-editorial-v2 .about-teaser .section-title{ max-width: none; }
  .home-editorial-v2 .about-teaser .body-text{ max-width: 42ch; }
  .home-editorial-v2 .service-teaser-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .home-editorial-v2 .service-teaser-card{
    min-height: 520px;
  }
  .home-editorial-v2 .service-teaser-card:hover{ flex: none; }
  .home-editorial-v2 .case-teaser .grid{
    grid-template-columns: 1fr;
    gap: 56px;
  }
  .home-editorial-v2 .case-mini-mosaic{ min-height: clamp(420px,78vw,620px); }
}

@media (max-width: 640px){
  .home-editorial-v2{
    --home-gutter: 22px;
  }
  .home-editorial-v2 .hero::before{
    height: 66svh;
    min-height: 420px;
    background-position: 61% center;
  }
  .home-editorial-v2 .hero-inner{
    padding-top: 58px;
    padding-bottom: 74px;
  }
  .home-editorial-v2 .hero .eyebrow{ margin-bottom: 26px; }
  .home-editorial-v2 .hero h1{
    font-size: clamp(46px,14vw,72px);
    line-height: .86;
    margin-bottom: 28px;
  }
  .home-editorial-v2 .hero .lede{ font-size: 16px; }
  .home-editorial-v2 .hero .btn-row{ display: grid; grid-template-columns: 1fr; }
  .home-editorial-v2 .hero .btn-row .btn{ width: 100%; }

  .home-editorial-v2 .research-teaser,
  .home-editorial-v2 .research-teaser .wrap{ min-height: 78svh; }
  .home-editorial-v2 .research-teaser-bg img{ object-position: 56% center; }
  .home-editorial-v2 .research-teaser-bg::after{
    background: linear-gradient(0deg, rgba(21,25,27,.95) 0%, rgba(21,25,27,.72) 44%, rgba(21,25,27,.16) 100%);
  }
  .home-editorial-v2 .research-teaser-content{ max-width: 100%; }
  .home-editorial-v2 .research-teaser h2{
    font-size: clamp(42px,12vw,62px);
  }

  .home-editorial-v2 .about-teaser{ padding: 96px 0; }
  .home-editorial-v2 .founders-grid{ grid-template-columns: 1fr 1fr; gap: 8px; }
  .home-editorial-v2 .founder-card:nth-child(2){ margin-top: 38px; }
  .home-editorial-v2 .founder-card figcaption{
    font-size: 10px;
    padding: 7px 8px;
  }

  .home-editorial-v2 .services.teaser{ padding: 92px 0; }
  .home-editorial-v2 .service-teaser-grid{ margin-top: 42px; }
  .home-editorial-v2 .service-teaser-card{
    min-height: 470px;
    padding: 24px;
  }
  .home-editorial-v2 .service-teaser-card .num{ left: 22px; top: 22px; }
  .home-editorial-v2 .service-teaser-card h3{ font-size: 35px; }

  .home-editorial-v2 .case-teaser{ padding: 96px 0; }
  .home-editorial-v2 .case-mini-mosaic{ min-height: 390px; }
  .home-editorial-v2 .case-teaser h2{ font-size: 44px; }
  .home-editorial-v2 .stat-hero{ font-size: 86px; }
  .home-editorial-v2 .stats-mini > div{ padding-left: 16px; padding-right: 8px; }

  .home-editorial-v2 .final{
    min-height: 72svh;
    padding: 110px 0;
    background-position: 62% center;
  }
  .home-editorial-v2 .final h2{ font-size: clamp(54px,15vw,76px); }
}

@media (prefers-reduced-motion: reduce){
  .home-editorial-v2 .hero-inner > *{ animation: none; }
  .home-editorial-v2 .hero::before,
  .home-editorial-v2 .final,
  .home-editorial-v2 .research-teaser-bg img{ transition: none; transform: none; }
  .home-editorial-v2 .service-teaser-card,
  .home-editorial-v2 .service-teaser-card::before{ transition: none; }
}

@media (max-width: 640px){
  .home-editorial-v2 footer .bar{
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
  }
  .home-editorial-v2 footer nav{
    width: 100%;
    flex-wrap: wrap;
    gap: 12px 18px;
  }
  .home-editorial-v2 footer nav a{ font-size: 12px; }
}

/* ---------- v3 refinements / hero + case ---------- */
.home-editorial-v2 .hero-inner{
  padding-top: clamp(72px,9vh,118px);
}
.home-editorial-v2 .hero .eyebrow{
  margin-bottom: clamp(18px,2.8vh,30px);
}
.home-editorial-v2 .hero h1{
  max-width: 16.1ch;
  font-size: clamp(44px,5.1vw,84px);
  line-height: .88;
  letter-spacing: -.046em;
  text-wrap: pretty;
}
.home-editorial-v2 .hero .lede{
  max-width: 44ch;
}

.home-editorial-v2 .case-mini-mosaic.case-visual-board{
  position: relative;
  min-height: clamp(560px,60vw,790px);
  overflow: hidden;
  border: 1px solid rgba(249,247,245,.18);
  background:
    radial-gradient(circle at 16% 18%, rgba(249,247,245,.18), transparent 36%),
    linear-gradient(180deg, rgba(249,247,245,.12), rgba(249,247,245,.04)),
    linear-gradient(135deg, rgba(21,25,27,.22), rgba(21,25,27,.06));
  box-shadow: 0 28px 70px rgba(21,25,27,.18);
}
.home-editorial-v2 .case-visual-board::before{
  content:"";
  position:absolute;
  inset: 16px;
  border:1px solid rgba(249,247,245,.10);
  pointer-events:none;
}
.home-editorial-v2 .case-shot{
  position:absolute;
  overflow:hidden;
  background: rgba(249,247,245,.92);
  border: 1px solid rgba(21,25,27,.10);
  box-shadow: 0 24px 60px rgba(21,25,27,.17);
  transition: transform .55s cubic-bezier(.2,.75,.2,1), box-shadow .35s ease;
}
.home-editorial-v2 .case-shot::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height: 24px;
  background: linear-gradient(180deg, rgba(249,247,245,.96), rgba(240,237,233,.92));
  border-bottom: 1px solid rgba(21,25,27,.08);
  z-index: 2;
}
.home-editorial-v2 .case-shot::after{
  content:"";
  position:absolute;
  left:12px;
  top:8px;
  width:34px;
  height:8px;
  border-radius:99px;
  background: radial-gradient(circle at 4px 4px, rgba(166,119,122,.9) 0 2.4px, transparent 2.8px),
              radial-gradient(circle at 17px 4px, rgba(102,111,92,.95) 0 2.4px, transparent 2.8px),
              radial-gradient(circle at 30px 4px, rgba(21,25,27,.6) 0 2.4px, transparent 2.8px);
  z-index:3;
}
.home-editorial-v2 .case-shot img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position: top center;
  display:block;
  transform: scale(1.01);
}
.home-editorial-v2 .case-shot-main{
  inset: 7% 25% 18% 6%;
}
.home-editorial-v2 .case-shot-main img{
  object-position: top left;
}
.home-editorial-v2 .case-shot-linkedin{
  width: 41%;
  height: 36%;
  right: 6%;
  top: 8%;
}
.home-editorial-v2 .case-shot-linkedin img{
  object-position: top center;
}
.home-editorial-v2 .case-shot-telegram{
  width: 36%;
  height: 30%;
  right: 10%;
  bottom: 12%;
  background: #121419;
  border-color: rgba(249,247,245,.14);
  box-shadow: 0 28px 66px rgba(10,12,13,.34);
}
.home-editorial-v2 .case-shot-telegram::before{
  background: linear-gradient(180deg, rgba(29,32,35,.98), rgba(21,24,27,.94));
  border-bottom-color: rgba(249,247,245,.08);
}
.home-editorial-v2 .case-shot-telegram::after{
  background: radial-gradient(circle at 4px 4px, rgba(166,119,122,.95) 0 2.4px, transparent 2.8px),
              radial-gradient(circle at 17px 4px, rgba(102,111,92,.95) 0 2.4px, transparent 2.8px),
              radial-gradient(circle at 30px 4px, rgba(249,247,245,.55) 0 2.4px, transparent 2.8px);
}
.home-editorial-v2 .case-shot-analytics{
  width: 26%;
  height: 29%;
  left: 12%;
  bottom: 8%;
}
.home-editorial-v2 .case-shot-analytics img{
  object-position: center center;
}
.home-editorial-v2 .case-visual-board:hover .case-shot-main{
  transform: translateY(-4px);
}
.home-editorial-v2 .case-visual-board:hover .case-shot-linkedin{
  transform: translate(4px,-6px);
}
.home-editorial-v2 .case-visual-board:hover .case-shot-telegram{
  transform: translate(-2px,-4px);
}
.home-editorial-v2 .case-visual-board:hover .case-shot-analytics{
  transform: translate(2px,4px);
}
.home-editorial-v2 .case-visual-board:hover .case-shot{
  box-shadow: 0 34px 78px rgba(21,25,27,.22);
}
.home-editorial-v2 .case-visual-board .photo-mark{
  top: 20px;
  left: 20px;
}
.home-editorial-v2 .mosaic-badge{
  z-index: 5;
}

@media (max-width: 1080px){
  .home-editorial-v2 .hero h1{
    max-width: 15.6ch;
    font-size: clamp(44px,5.7vw,72px);
  }
}

@media (max-width: 860px){
  .home-editorial-v2 .hero h1{
    max-width: 15.2ch;
    font-size: clamp(44px,8vw,70px);
  }
  .home-editorial-v2 .case-mini-mosaic.case-visual-board{
    min-height: 520px;
  }
  .home-editorial-v2 .case-shot-main{
    inset: 10% 20% 20% 5%;
  }
  .home-editorial-v2 .case-shot-linkedin{
    width: 46%;
    height: 33%;
    right: 5%;
    top: 9%;
  }
  .home-editorial-v2 .case-shot-telegram{
    width: 42%;
    height: 28%;
    right: 7%;
    bottom: 10%;
  }
  .home-editorial-v2 .case-shot-analytics{
    width: 29%;
    height: 24%;
    left: 11%;
    bottom: 8%;
  }
}

@media (max-width: 640px){
  .home-editorial-v2 .hero .eyebrow{
    margin-bottom: 18px;
  }
  .home-editorial-v2 .hero h1{
    max-width: 14.4ch;
    font-size: clamp(42px,11.2vw,60px);
    line-height: .9;
  }
  .home-editorial-v2 .case-mini-mosaic.case-visual-board{
    min-height: 420px;
  }
  .home-editorial-v2 .case-visual-board::before{
    inset: 10px;
  }
  .home-editorial-v2 .case-shot::before{
    height: 20px;
  }
  .home-editorial-v2 .case-shot::after{
    left:10px;
    top:7px;
    transform: scale(.9);
    transform-origin: left top;
  }
  .home-editorial-v2 .case-shot-main{
    inset: 10% 10% 37% 4%;
  }
  .home-editorial-v2 .case-shot-linkedin{
    width: 56%;
    height: 27%;
    right: 4%;
    top: 8%;
  }
  .home-editorial-v2 .case-shot-telegram{
    width: 50%;
    height: 23%;
    right: 4%;
    bottom: 8%;
  }
  .home-editorial-v2 .case-shot-analytics{
    width: 39%;
    height: 20%;
    left: 7%;
    bottom: 8%;
  }
}

/* ---------- Russian home typography ---------- */
html[lang="ru"] .home-editorial-v2 .hero h1{
  max-width:18ch;
  font-family:var(--font-body);
  font-weight:900;
  font-size:clamp(40px,4.5vw,70px);
  line-height:.94;
  letter-spacing:-.03em;
}
html[lang="ru"] .home-editorial-v2 .service-teaser-card h3,
html[lang="ru"] .home-editorial-v2 .case-teaser h2{
  font-family:var(--font-body);
  font-weight:900;
  letter-spacing:-.025em;
}
html[lang="ru"] .home-editorial-v2 .service-teaser-card h3{
  font-size:clamp(26px,2vw,37px);
  line-height:1;
}
html[lang="ru"] .home-editorial-v2 .case-teaser h2{
  font-size:clamp(36px,3.8vw,58px);
  line-height:.96;
}
@media (max-width:640px){
  html[lang="ru"] .home-editorial-v2 .hero h1{
    max-width:17ch;
    font-size:clamp(38px,10.5vw,54px);
  }
  html[lang="ru"] .home-editorial-v2 .service-teaser-card h3{ font-size:29px; }
}

/* ============================================================
   M&N EDITORIAL V6 — FINAL OVERRIDES
   One stylesheet for EN + RU. 2026-09-16
   ============================================================ */

/* Desktop home hero: deliberate editorial line composition. */
@media (min-width: 861px){
  .home-editorial-v2 .hero::before{ width:40%; }
  .home-editorial-v2 .hero::after{ right:40%; }
  .home-editorial-v2 .hero-inner{
    padding-right:calc(40% + clamp(44px,4vw,64px));
    padding-top:clamp(68px,8vh,104px);
    padding-bottom:clamp(60px,7vh,92px);
  }
  .home-editorial-v2 .hero .eyebrow{
    margin-bottom:clamp(18px,2.2vh,26px);
  }
  .home-editorial-v2 .hero h1.hero-title-lines{
    max-width:none;
    width:max-content;
    margin-bottom:clamp(24px,3vh,34px);
    font-size:clamp(50px,3.9vw,68px);
    line-height:.91;
    letter-spacing:-.045em;
    text-wrap:initial;
  }
  .home-editorial-v2 .hero-title-lines .hero-line{
    display:block;
    white-space:nowrap;
  }
  html[lang="ru"] .home-editorial-v2 .hero h1.hero-title-lines{
    max-width:none;
    width:max-content;
    font-family:var(--font-body);
    font-weight:900;
    font-size:clamp(43px,3.25vw,56px);
    line-height:.98;
    letter-spacing:-.035em;
  }
}

/* Tablet/mobile: let titles wrap naturally rather than forcing desktop lines. */
@media (max-width:860px){
  .home-editorial-v2 .hero h1.hero-title-lines,
  html[lang="ru"] .home-editorial-v2 .hero h1.hero-title-lines{
    width:auto;
    max-width:15ch;
  }
  .home-editorial-v2 .hero-title-lines .hero-line{
    display:inline;
    white-space:normal;
  }
}

/* Make the shared EN/RU editorial layer explicit on every internal page. */
.editorial-site{
  background:var(--white);
  color:var(--ink);
  overflow-x:clip;
}
.editorial-site header{
  background:rgba(249,247,245,.94);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

/* ============================================================
   M&N EDITORIAL V7 — POLISH PASS
   Hero redesign + Cyrillic-safe display typography.
   Copy and section order remain unchanged.
   ============================================================ */

/* ----- Global display safeguards: no collisions, no broken words ----- */
.home-editorial-v2 h1,
.home-editorial-v2 h2,
.editorial-site h1,
.editorial-site h2,
.editorial-site h3{
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}

/* Cyrillic needs more breathing room than the Latin display face. */
html[lang="ru"] :is(
  .section-title,
  .page-header h1,
  .research-teaser h2,
  .case-teaser h2,
  .final h2,
  .research-hero h1,
  .service-card h2,
  .catalog-card h3,
  .case h1,
  .case h2,
  .mosaic-title,
  .contact-section h1,
  .value-card h3
){
  font-family: var(--font-body) !important;
  font-weight: 900;
  letter-spacing: -0.018em !important;
  line-height: 1.04 !important;
}

/* Home section headings: large, but not poster-scale. */
html[lang="ru"] .home-editorial-v2 .section-title{
  font-size: clamp(44px, 4.6vw, 72px);
}
html[lang="ru"] .home-editorial-v2 .research-teaser h2{
  max-width: 14ch;
  font-size: clamp(46px, 4.4vw, 72px);
  line-height: 1.02 !important;
}
html[lang="ru"] .home-editorial-v2 .case-teaser h2{
  font-size: clamp(38px, 3.4vw, 56px);
  line-height: 1.04 !important;
}
html[lang="ru"] .home-editorial-v2 .final h2{
  max-width: 13ch;
  font-size: clamp(48px, 5vw, 78px);
  line-height: 1.01 !important;
}

/* English can stay tighter, but never overlap vertically. */
html[lang="en"] .home-editorial-v2 .section-title{
  line-height: .94;
  letter-spacing: -.035em;
}
html[lang="en"] .home-editorial-v2 .research-teaser h2{
  line-height: .94;
  letter-spacing: -.03em;
}
html[lang="en"] .home-editorial-v2 .final h2{
  line-height: .92;
  letter-spacing: -.035em;
}

/* ----- Home hero: image-led editorial cover ----- */
.home-editorial-v2 .hero{
  position: relative;
  min-height: min(900px, calc(100svh - 68px));
  padding: clamp(54px, 6vh, 84px) 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--ink);
  background: var(--ink);
  border-bottom: 0;
  isolation: isolate;
}
.home-editorial-v2 .hero::before{
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  z-index: -3;
  background-image: url("assets/images/home-hero.webp");
  background-size: cover;
  background-position: 62% calc(50% + var(--hero-shift, 0px));
  border: 0;
  transition: background-position .08s linear;
}
.home-editorial-v2 .hero::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(21,25,27,.30) 0%, rgba(21,25,27,.12) 52%, rgba(21,25,27,.08) 100%),
    linear-gradient(180deg, rgba(21,25,27,.04), rgba(21,25,27,.20));
  pointer-events: none;
}
.home-editorial-v2 .hero .lines{ display: none; }
.home-editorial-v2 .hero-inner{
  position: relative;
  z-index: 2;
  width: min(820px, 57vw);
  max-width: none;
  min-height: 0;
  margin: 0 auto 0 max(32px, calc((100vw - var(--home-max))/2 + var(--home-gutter)));
  padding: clamp(46px, 5vw, 72px) clamp(42px, 4.5vw, 68px);
  display: block;
  background: rgba(249,247,245,.95);
  border: 1px solid rgba(249,247,245,.58);
  border-top: 4px solid var(--rose);
  box-shadow: 0 34px 90px rgba(21,25,27,.24);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.home-editorial-v2 .hero-inner::after{
  content: "";
  position: absolute;
  right: -18px;
  bottom: -18px;
  width: 92px;
  height: 92px;
  border-right: 1px solid rgba(249,247,245,.72);
  border-bottom: 1px solid rgba(249,247,245,.72);
  pointer-events: none;
}
.home-editorial-v2 .hero .eyebrow{
  color: var(--olive-gray);
  margin: 0 0 clamp(20px,2.3vh,28px);
}
.home-editorial-v2 .hero h1.hero-title-lines{
  width: auto;
  max-width: none;
  margin: 0 0 clamp(24px,3vh,34px);
  color: var(--ink);
  font-size: clamp(52px, 3.75vw, 68px);
  line-height: .94;
  letter-spacing: -.032em;
  text-wrap: initial;
}
.home-editorial-v2 .hero-title-lines .hero-line{
  display: block;
  white-space: normal;
}
html[lang="ru"] .home-editorial-v2 .hero h1.hero-title-lines{
  font-family: var(--font-body);
  font-weight: 900;
  font-size: clamp(43px, 3.1vw, 54px);
  line-height: 1.03;
  letter-spacing: -.022em;
}
.home-editorial-v2 .hero .lede{
  max-width: 47ch;
  margin: 0 0 clamp(28px,3.5vh,40px);
  color: var(--charcoal);
  font-size: clamp(16px,1.05vw,18px);
  line-height: 1.65;
}
.home-editorial-v2 .hero .btn-row{
  gap: 12px;
}
.home-editorial-v2 .hero .btn-row .btn{
  min-width: 0;
  padding: 15px 21px;
  font-size: 12px;
}
.home-editorial-v2 .hero .btn-primary{
  background: var(--ink);
  color: var(--white);
}
.home-editorial-v2 .hero .btn-primary:hover{
  background: var(--rose);
}
.home-editorial-v2 .hero .btn-ghost-dark{
  color: var(--ink);
  border-color: rgba(21,25,27,.34);
  background: rgba(249,247,245,.28);
}
.home-editorial-v2 .hero .btn-ghost-dark:hover{
  background: var(--ink);
  color: var(--white);
  border-color: var(--ink);
}

/* ----- Internal pages: calmer editorial headline scale ----- */
body.editorial-site .page-header h1{
  max-width: 18ch;
  line-height: .96;
  letter-spacing: -.032em;
  font-size: clamp(48px,5.2vw,82px);
}
html[lang="ru"] body.editorial-site .page-header h1{
  max-width: 22ch;
  font-size: clamp(42px,4.7vw,72px);
  line-height: 1.04 !important;
}
html[lang="ru"] body.editorial-site .research-hero h1,
html[lang="ru"] body.editorial-site .contact-section h1,
html[lang="ru"] body.editorial-site .case h1{
  font-size: clamp(44px,5vw,76px) !important;
  line-height: 1.04 !important;
}
html[lang="ru"] body.editorial-site .service-card h2{
  font-size: clamp(31px,3vw,46px);
  line-height: 1.08 !important;
}
html[lang="ru"] body.editorial-site .catalog-card h3{
  font-size: clamp(30px,3vw,44px);
  line-height: 1.07 !important;
}
html[lang="ru"] body.editorial-site .mosaic-title{
  font-size: clamp(34px,4vw,58px);
  line-height: 1.04 !important;
}

/* Give long display titles a little extra air beneath them. */
.home-editorial-v2 .research-teaser h2,
.home-editorial-v2 .final h2,
body.editorial-site .page-header h1,
body.editorial-site .research-hero h1,
body.editorial-site .contact-section h1{
  margin-bottom: clamp(24px,3vw,38px);
}

/* ----- Responsive hero ----- */
@media (max-width: 1180px){
  .home-editorial-v2 .hero-inner{
    width: min(760px, 64vw);
    margin-left: var(--home-gutter);
  }
  .home-editorial-v2 .hero h1.hero-title-lines{
    font-size: clamp(48px,4.4vw,62px);
  }
  html[lang="ru"] .home-editorial-v2 .hero h1.hero-title-lines{
    font-size: clamp(40px,3.65vw,49px);
  }
}

@media (max-width: 860px){
  .home-editorial-v2 .hero{
    min-height: auto;
    padding: 0;
    display: block;
    background: var(--white);
  }
  .home-editorial-v2 .hero::before{
    position: relative;
    display: block;
    height: min(68vw, 580px);
    min-height: 390px;
    background-position: 62% center;
  }
  .home-editorial-v2 .hero::after{
    display: none;
  }
  .home-editorial-v2 .hero-inner{
    width: auto;
    margin: -54px var(--home-gutter) 0;
    padding: clamp(38px,7vw,56px) clamp(28px,6vw,48px) clamp(48px,8vw,66px);
    background: var(--white);
    border: 1px solid rgba(21,25,27,.12);
    border-top: 4px solid var(--rose);
    box-shadow: 0 18px 48px rgba(21,25,27,.12);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .home-editorial-v2 .hero-inner::after{ display:none; }
  .home-editorial-v2 .hero h1.hero-title-lines,
  html[lang="ru"] .home-editorial-v2 .hero h1.hero-title-lines{
    max-width: none;
    width: auto;
  }
  .home-editorial-v2 .hero h1.hero-title-lines{
    font-size: clamp(45px,8.6vw,64px);
    line-height: .95;
  }
  html[lang="ru"] .home-editorial-v2 .hero h1.hero-title-lines{
    font-size: clamp(37px,7.4vw,52px);
    line-height: 1.04;
  }
}

@media (max-width: 640px){
  .home-editorial-v2 .hero::before{
    height: 52svh;
    min-height: 360px;
    background-position: 66% center;
  }
  .home-editorial-v2 .hero-inner{
    margin: -34px 14px 0;
    padding: 34px 24px 46px;
  }
  .home-editorial-v2 .hero h1.hero-title-lines{
    font-size: clamp(40px,11vw,52px);
    line-height: .97;
  }
  html[lang="ru"] .home-editorial-v2 .hero h1.hero-title-lines{
    font-size: clamp(34px,9.4vw,44px);
    line-height: 1.06;
    letter-spacing: -.018em;
  }
  html[lang="ru"] .home-editorial-v2 .research-teaser h2{
    font-size: clamp(38px,10.5vw,50px);
    line-height: 1.05 !important;
  }
  html[lang="ru"] .home-editorial-v2 .final h2{
    font-size: clamp(40px,11vw,54px);
    line-height: 1.05 !important;
  }
  html[lang="ru"] body.editorial-site .page-header h1,
  html[lang="ru"] body.editorial-site .research-hero h1,
  html[lang="ru"] body.editorial-site .contact-section h1,
  html[lang="ru"] body.editorial-site .case h1{
    font-size: clamp(36px,10vw,48px) !important;
    line-height: 1.07 !important;
  }
}

/* Final scale calibration after desktop review. */
html[lang="en"] .home-editorial-v2 .hero h1.hero-title-lines{
  font-size: clamp(50px, 3.5vw, 64px);
}
html[lang="ru"] .home-editorial-v2 .research-teaser h2{
  font-size: clamp(44px, 4vw, 64px);
}
html[lang="ru"] .home-editorial-v2 .final h2{
  font-size: clamp(46px, 4.4vw, 68px);
}
html[lang="ru"] body.editorial-site .research-hero-content{
  max-width: min(760px, 60vw);
}
html[lang="ru"] body.editorial-site .research-hero h1{
  max-width: 15ch;
  font-size: clamp(44px, 4.4vw, 68px) !important;
}

/* ============================================================
   M&N v8 — selected home refinements
   Founders: editorial asymmetry (Natalya primary, Mariia secondary)
   Case: one primary screenshot + one supporting detail
   ============================================================ */

/* ---------- founders / editorial asymmetry ---------- */
.home-editorial-v2 .about-teaser .grid{
  grid-template-columns:minmax(290px,.72fr) minmax(560px,1.28fr);
  gap:clamp(64px,8vw,128px);
}
.home-editorial-v2 .about-teaser .grid > div:last-child{
  min-width:0;
}
.home-editorial-v2 .founders-label{
  margin:0 0 18px;
}
.home-editorial-v2 .founders-grid{
  position:relative;
  display:block;
  min-height:clamp(610px,48vw,760px);
  background:transparent;
  overflow:visible;
}
.home-editorial-v2 .founder-card{
  position:absolute;
  margin:0 !important;
  overflow:hidden;
  background:var(--ivory);
  box-shadow:none;
  border:0;
}
.home-editorial-v2 .founder-card img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center top;
}
.home-editorial-v2 .founder-natalya{
  z-index:1;
  top:0;
  right:0;
  width:clamp(390px,67%,610px);
  height:clamp(520px,44vw,690px);
}
.home-editorial-v2 .founder-mariia{
  z-index:3;
  left:0;
  bottom:0;
  width:clamp(230px,38%,345px);
  height:clamp(300px,28vw,430px);
  outline:14px solid var(--white);
}
.home-editorial-v2 .founder-mariia img{
  object-position:center top;
}
.home-editorial-v2 .founder-card figcaption{
  left:14px;
  right:auto;
  bottom:14px;
  padding:9px 12px;
  background:rgba(21,25,27,.88);
  border:1px solid rgba(249,247,245,.15);
  font-size:11px;
  letter-spacing:.04em;
}
.home-editorial-v2 .founder-natalya::after{
  content:"";
  position:absolute;
  left:-32px;
  bottom:42px;
  width:76px;
  height:1px;
  background:var(--rose);
  z-index:4;
}

/* ---------- case / primary screenshot + support detail ---------- */
.home-editorial-v2 .case-teaser .grid{
  grid-template-columns:minmax(520px,1.12fr) minmax(360px,.88fr);
  gap:clamp(64px,7vw,112px);
}
.home-editorial-v2 .case-mini-mosaic.case-visual-board{
  position:relative;
  min-height:clamp(500px,49vw,680px);
  overflow:visible;
  border:1px solid rgba(249,247,245,.16);
  background:rgba(249,247,245,.055);
  box-shadow:none;
  padding:clamp(28px,3.2vw,48px);
}
.home-editorial-v2 .case-visual-board::before{
  inset:14px;
  border-color:rgba(249,247,245,.08);
}
.home-editorial-v2 .case-visual-board::after{
  content:"";
  position:absolute;
  inset:auto 7% 7% auto;
  width:36%;
  height:32%;
  background:rgba(21,25,27,.12);
  filter:blur(28px);
  z-index:0;
  pointer-events:none;
}
.home-editorial-v2 .case-shot{
  position:absolute;
  overflow:hidden;
  border:1px solid rgba(21,25,27,.13);
  transition:transform .5s cubic-bezier(.2,.75,.2,1), box-shadow .35s ease;
}
.home-editorial-v2 .case-shot-main{
  z-index:1;
  inset:7% 15% 9% 5%;
  background:#f7f5f2;
  box-shadow:0 24px 52px rgba(21,25,27,.18);
}
.home-editorial-v2 .case-shot-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top left;
  transform:none;
}
.home-editorial-v2 .case-shot-support{
  z-index:3;
  right:4%;
  bottom:7%;
  width:38%;
  height:34%;
  background:#111318;
  border-color:rgba(249,247,245,.18);
  box-shadow:0 24px 56px rgba(10,12,13,.34);
}
.home-editorial-v2 .case-shot-support img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:none;
}
.home-editorial-v2 .case-shot::before,
.home-editorial-v2 .case-shot::after{
  display:none;
}
.home-editorial-v2 .case-visual-board:hover .case-shot-main{
  transform:translateY(-4px);
}
.home-editorial-v2 .case-visual-board:hover .case-shot-support{
  transform:translate(4px,-5px);
}
.home-editorial-v2 .case-visual-board:hover .case-shot{
  box-shadow:0 30px 68px rgba(21,25,27,.23);
}
.home-editorial-v2 .case-visual-arrow{
  position:absolute;
  z-index:5;
  right:24px;
  top:24px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(249,247,245,.48);
  border-radius:50%;
  color:var(--white);
  background:rgba(21,25,27,.42);
  backdrop-filter:blur(8px);
  font-size:22px;
  transition:transform .25s ease, background .25s ease;
}
.home-editorial-v2 .case-visual-board:hover .case-visual-arrow{
  transform:translate(3px,-3px);
  background:var(--rose);
}
.home-editorial-v2 .case-visual-board .photo-mark,
.home-editorial-v2 .case-visual-board .mosaic-badge,
.home-editorial-v2 .case-shot-linkedin,
.home-editorial-v2 .case-shot-telegram,
.home-editorial-v2 .case-shot-analytics{
  display:none !important;
}

@media (max-width:1080px){
  .home-editorial-v2 .about-teaser .grid{
    grid-template-columns:minmax(260px,.68fr) minmax(480px,1.32fr);
    gap:56px;
  }
  .home-editorial-v2 .founder-natalya{
    width:66%;
  }
  .home-editorial-v2 .founder-mariia{
    width:39%;
  }
  .home-editorial-v2 .case-teaser .grid{
    grid-template-columns:1fr 1fr;
    gap:48px;
  }
}

@media (max-width:860px){
  .home-editorial-v2 .about-teaser .grid{
    grid-template-columns:1fr;
    gap:58px;
  }
  .home-editorial-v2 .founders-grid{
    min-height:680px;
    max-width:720px;
  }
  .home-editorial-v2 .founder-natalya{
    width:70%;
    height:610px;
  }
  .home-editorial-v2 .founder-mariia{
    width:38%;
    height:330px;
  }
  .home-editorial-v2 .case-teaser .grid{
    grid-template-columns:1fr;
    gap:56px;
  }
  .home-editorial-v2 .case-mini-mosaic.case-visual-board{
    min-height:560px;
  }
}

@media (max-width:640px){
  .home-editorial-v2 .founders-label{
    margin-bottom:14px;
  }
  .home-editorial-v2 .founders-grid{
    min-height:520px;
  }
  .home-editorial-v2 .founder-natalya{
    width:78%;
    height:460px;
  }
  .home-editorial-v2 .founder-mariia{
    left:0;
    bottom:0;
    width:43%;
    height:240px;
    outline-width:8px;
  }
  .home-editorial-v2 .founder-card figcaption{
    left:8px;
    bottom:8px;
    padding:7px 8px;
    font-size:9px;
  }
  .home-editorial-v2 .case-mini-mosaic.case-visual-board{
    min-height:430px;
    padding:18px;
  }
  .home-editorial-v2 .case-shot-main{
    inset:6% 7% 15% 4%;
  }
  .home-editorial-v2 .case-shot-support{
    width:43%;
    height:31%;
    right:3%;
    bottom:5%;
  }
  .home-editorial-v2 .case-visual-arrow{
    width:42px;
    height:42px;
    top:16px;
    right:16px;
  }
}

/* ============================================================
   M&N v8.1 — RU hero hierarchy + Natalya caption visibility
   ============================================================ */

/* Natalya's caption must stay clear of Mariia's overlapping portrait */
.home-editorial-v2 .founder-natalya figcaption{
  left:auto !important;
  right:14px !important;
  bottom:14px !important;
  z-index:7;
  max-width:calc(100% - 28px);
  white-space:nowrap;
}

/* RU home hero: three primary words + quieter descriptor */
html[lang="ru"] .home-editorial-v2 .hero-title-ru{
  margin:0 0 clamp(28px,4vh,44px);
  max-width:100%;
  display:flex;
  flex-direction:column;
  gap:clamp(16px,1.5vw,24px);
  color:var(--ink);
  text-transform:uppercase;
}
html[lang="ru"] .home-editorial-v2 .hero-title-main{
  display:flex;
  flex-direction:column;
  gap:0;
}
html[lang="ru"] .home-editorial-v2 .hero-title-main > span{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(54px,5.25vw,84px);
  line-height:.92;
  letter-spacing:-.025em;
}
html[lang="ru"] .home-editorial-v2 .hero-title-sub{
  display:block;
  max-width:22ch;
  font-family:var(--font-display);
  font-size:clamp(27px,2.35vw,39px);
  line-height:1.02;
  letter-spacing:-.012em;
}

@media (max-width:1080px){
  html[lang="ru"] .home-editorial-v2 .hero-title-main > span{
    font-size:clamp(48px,5.7vw,72px);
  }
  html[lang="ru"] .home-editorial-v2 .hero-title-sub{
    font-size:clamp(25px,2.8vw,34px);
  }
}

@media (max-width:640px){
  .home-editorial-v2 .founder-natalya figcaption{
    right:8px !important;
    bottom:8px !important;
    max-width:calc(100% - 16px);
    white-space:normal;
  }
  html[lang="ru"] .home-editorial-v2 .hero-title-ru{
    gap:14px;
  }
  html[lang="ru"] .home-editorial-v2 .hero-title-main > span{
    font-size:clamp(38px,11.2vw,56px);
    line-height:.94;
  }
  html[lang="ru"] .home-editorial-v2 .hero-title-sub{
    max-width:100%;
    font-size:clamp(22px,6.2vw,30px);
    line-height:1.04;
  }
}

/* ============================================================
   M&N v8.2 — hard RU hero visual fix
   CSS-only so it works even if /ru/index.html was not overwritten.
   ============================================================ */

/* Hide whatever legacy RU hero title markup is currently on the server,
   but keep the actual H1 element in the document. */
html[lang="ru"] body.home-editorial-v2 .hero h1{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 clamp(28px,3.2vh,38px) !important;
  padding:0 !important;
  font-size:0 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  color:transparent !important;
  text-transform:none !important;
  overflow:visible !important;
}
html[lang="ru"] body.home-editorial-v2 .hero h1 > *{
  display:none !important;
}

html[lang="ru"] body.home-editorial-v2 .hero h1::before{
  content:"ИССЛЕДОВАНИЯ\AСТРАТЕГИЯ\AПРОДВИЖЕНИЕ";
  display:block;
  white-space:pre-line;
  max-width:100%;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:clamp(54px,4.65vw,78px);
  font-weight:700;
  line-height:.90;
  letter-spacing:-.018em;
  text-transform:uppercase;
}
html[lang="ru"] body.home-editorial-v2 .hero h1::after{
  content:"ДЛЯ КОМПАНИЙ В НЕДВИЖИМОСТИ";
  display:block;
  max-width:21ch;
  margin-top:clamp(16px,1.6vw,23px);
  color:var(--ink);
  font-family:var(--font-display);
  font-size:clamp(27px,2.25vw,37px);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.008em;
  text-transform:uppercase;
}

@media (max-width:1180px){
  html[lang="ru"] body.home-editorial-v2 .hero h1::before{
    font-size:clamp(49px,5.2vw,68px);
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::after{
    max-width:22ch;
    font-size:clamp(25px,2.65vw,33px);
  }
}

@media (max-width:860px){
  html[lang="ru"] body.home-editorial-v2 .hero h1::before{
    font-size:clamp(42px,8.8vw,62px);
    line-height:.92;
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::after{
    max-width:100%;
    font-size:clamp(23px,4.5vw,31px);
  }
}

@media (max-width:640px){
  html[lang="ru"] body.home-editorial-v2 .hero h1::before{
    font-size:clamp(36px,10.7vw,49px);
    line-height:.94;
    letter-spacing:-.012em;
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::after{
    margin-top:14px;
    font-size:clamp(21px,5.8vw,27px);
    line-height:1.06;
  }
}

/* ============================================================
   M&N v9 — final visual polish
   Safer display typography, stronger hero, refined founders/case.
   Text content and section order remain unchanged.
   ============================================================ */

/* ---------- typography safety ---------- */
html[lang="ru"] body :is(
  .section-title,
  .research-teaser h2,
  .case-teaser h2,
  .final h2,
  .page-header h1,
  .research-hero h1,
  .contact-section h1,
  .case h1,
  .service-card h2,
  .catalog-card h3,
  .mosaic-title,
  .service-teaser-card h3,
  .value-card h3
){
  letter-spacing:-.01em !important;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
html[lang="ru"] body :is(
  .section-title,
  .research-teaser h2,
  .case-teaser h2,
  .final h2,
  .page-header h1,
  .research-hero h1,
  .contact-section h1,
  .case h1
){
  line-height:1.06 !important;
}
html[lang="ru"] body :is(
  .service-card h2,
  .catalog-card h3,
  .mosaic-title,
  .service-teaser-card h3,
  .value-card h3
){
  line-height:1.10 !important;
}
html[lang="en"] body :is(
  .section-title,
  .research-teaser h2,
  .case-teaser h2,
  .final h2,
  .page-header h1,
  .research-hero h1,
  .contact-section h1,
  .case h1
){
  line-height:.98 !important;
  letter-spacing:-.028em !important;
}

/* ---------- hero: cleaner editorial composition ---------- */
.home-editorial-v2 .hero{
  min-height:min(920px, calc(100svh - 68px));
  padding:clamp(48px,5.5vh,78px) 0;
}
.home-editorial-v2 .hero::before{
  background-position:67% calc(50% + var(--hero-shift,0px));
  filter:saturate(.88) contrast(1.01);
}
.home-editorial-v2 .hero::after{
  background:
    linear-gradient(90deg, rgba(21,25,27,.35) 0%, rgba(21,25,27,.16) 46%, rgba(21,25,27,.03) 80%),
    linear-gradient(180deg, rgba(21,25,27,.02), rgba(21,25,27,.16));
}
.home-editorial-v2 .hero-inner{
  width:min(760px,48vw);
  margin-left:max(36px,calc((100vw - var(--home-max))/2 + var(--home-gutter)));
  padding:clamp(42px,4.2vw,62px) clamp(40px,4vw,60px) clamp(44px,4.5vw,66px);
  background:rgba(249,247,245,.975);
  border:1px solid rgba(21,25,27,.08);
  border-top:4px solid var(--rose);
  box-shadow:0 28px 80px rgba(21,25,27,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.home-editorial-v2 .hero-inner::after{
  right:-14px;
  bottom:-14px;
  width:74px;
  height:74px;
  border-color:rgba(249,247,245,.68);
}
.home-editorial-v2 .hero .eyebrow{
  margin-bottom:clamp(18px,2vh,24px);
}
.home-editorial-v2 .hero .lede{
  max-width:43ch;
  margin-bottom:clamp(26px,3vh,34px);
}

/* RU headline is intentionally hierarchical: 3 display lines + smaller descriptor. */
html[lang="ru"] body.home-editorial-v2 .hero h1::before{
  font-size:clamp(50px,4.15vw,70px);
  line-height:.96;
  letter-spacing:-.004em;
}
html[lang="ru"] body.home-editorial-v2 .hero h1::after{
  max-width:24ch;
  margin-top:clamp(17px,1.6vw,22px);
  font-size:clamp(24px,1.85vw,31px);
  line-height:1.08;
  letter-spacing:0;
}

/* EN headline stays bold but more composed. */
html[lang="en"] .home-editorial-v2 .hero h1.hero-title-lines{
  max-width:14ch;
  font-size:clamp(46px,3.1vw,58px);
  line-height:.98 !important;
  letter-spacing:-.022em !important;
}

/* ---------- founders: deliberate editorial asymmetry ---------- */
.home-editorial-v2 .about-teaser{
  overflow:hidden;
}
.home-editorial-v2 .about-teaser .grid{
  grid-template-columns:minmax(300px,.76fr) minmax(560px,1.24fr);
  gap:clamp(68px,8vw,126px);
  align-items:center;
}
.home-editorial-v2 .about-teaser .grid > div:first-child{
  align-self:center;
}
.home-editorial-v2 .founders-label{
  margin-bottom:16px;
}
.home-editorial-v2 .founders-grid{
  min-height:clamp(640px,47vw,750px);
  max-width:850px;
  margin-left:auto;
}
.home-editorial-v2 .founder-natalya{
  top:0;
  right:0;
  width:69%;
  height:clamp(540px,42vw,680px);
  box-shadow:0 28px 70px rgba(21,25,27,.10);
}
.home-editorial-v2 .founder-mariia{
  left:2%;
  bottom:1%;
  width:35%;
  height:clamp(305px,25vw,395px);
  outline:12px solid var(--white);
  box-shadow:0 20px 56px rgba(21,25,27,.14);
}
.home-editorial-v2 .founder-natalya::after{
  left:-28px;
  bottom:54px;
  width:58px;
  background:var(--rose);
}
.home-editorial-v2 .founder-card figcaption{
  font-size:11px;
  padding:9px 12px;
  letter-spacing:.025em;
}
.home-editorial-v2 .founder-natalya figcaption{
  left:auto !important;
  right:14px !important;
  bottom:14px !important;
}
.home-editorial-v2 .founder-mariia figcaption{
  left:12px !important;
  right:auto !important;
  bottom:12px !important;
}

/* ---------- case: one clear main proof + one supporting proof ---------- */
.home-editorial-v2 .case-teaser .grid{
  grid-template-columns:minmax(520px,1.08fr) minmax(360px,.92fr);
  gap:clamp(64px,7vw,108px);
  align-items:center;
}
.home-editorial-v2 .case-mini-mosaic.case-visual-board{
  min-height:clamp(520px,47vw,660px);
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}
.home-editorial-v2 .case-visual-board::before{
  content:"";
  position:absolute;
  inset:3% 8% 5% 2%;
  z-index:0;
  background:rgba(249,247,245,.14);
  border:1px solid rgba(249,247,245,.17);
}
.home-editorial-v2 .case-visual-board::after{
  display:none;
}
.home-editorial-v2 .case-shot-main{
  z-index:1;
  inset:7% 12% 8% 5%;
  background:#f8f6f3;
  border:1px solid rgba(21,25,27,.12);
  box-shadow:0 28px 68px rgba(21,25,27,.20);
}
.home-editorial-v2 .case-shot-main img{
  object-fit:cover;
  object-position:top left;
}
.home-editorial-v2 .case-shot-support{
  z-index:3;
  width:31%;
  height:28%;
  right:2%;
  bottom:8%;
  border:1px solid rgba(249,247,245,.25);
  box-shadow:0 24px 54px rgba(10,12,13,.32);
}
.home-editorial-v2 .case-visual-arrow{
  top:22px;
  right:22px;
  width:46px;
  height:46px;
  border-color:rgba(249,247,245,.55);
  background:rgba(21,25,27,.68);
}
.home-editorial-v2 .case-teaser .more-link{
  margin-top:30px;
  padding:13px 16px 13px 18px;
  border:1px solid rgba(249,247,245,.34);
  color:var(--white);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.home-editorial-v2 .case-teaser .more-link:hover{
  background:rgba(249,247,245,.10);
  border-color:rgba(249,247,245,.62);
  transform:translateY(-1px);
}
.home-editorial-v2 .case-teaser .more-link::after{
  width:32px;
  height:32px;
  border-color:rgba(249,247,245,.50);
}
.home-editorial-v2 .case-teaser .stat-hero{
  margin-top:38px;
}

/* ---------- tablet/mobile ---------- */
@media (max-width:1180px){
  .home-editorial-v2 .hero-inner{
    width:min(710px,57vw);
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::before{
    font-size:clamp(46px,4.7vw,62px);
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::after{
    font-size:clamp(23px,2.3vw,29px);
  }
  .home-editorial-v2 .about-teaser .grid{
    grid-template-columns:minmax(270px,.7fr) minmax(500px,1.3fr);
    gap:56px;
  }
}

@media (max-width:860px){
  .home-editorial-v2 .hero-inner{
    width:auto;
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::before{
    font-size:clamp(40px,8vw,56px);
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::after{
    max-width:100%;
    font-size:clamp(22px,4vw,28px);
  }
  .home-editorial-v2 .about-teaser .grid{
    grid-template-columns:1fr;
    gap:54px;
  }
  .home-editorial-v2 .founders-grid{
    min-height:650px;
    max-width:700px;
    margin-left:0;
  }
  .home-editorial-v2 .founder-natalya{
    width:72%;
    height:580px;
  }
  .home-editorial-v2 .founder-mariia{
    width:37%;
    height:320px;
  }
  .home-editorial-v2 .case-teaser .grid{
    grid-template-columns:1fr;
    gap:52px;
  }
  .home-editorial-v2 .case-mini-mosaic.case-visual-board{
    min-height:540px;
    max-width:760px;
  }
}

@media (max-width:640px){
  .home-editorial-v2 .hero-inner{
    margin:-30px 14px 0;
    padding:32px 22px 42px;
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::before{
    font-size:clamp(34px,10.2vw,46px);
    line-height:.98;
  }
  html[lang="ru"] body.home-editorial-v2 .hero h1::after{
    font-size:clamp(19px,5.2vw,25px);
    line-height:1.10;
  }
  .home-editorial-v2 .founders-grid{
    min-height:505px;
  }
  .home-editorial-v2 .founder-natalya{
    width:80%;
    height:445px;
  }
  .home-editorial-v2 .founder-mariia{
    width:44%;
    height:235px;
    outline-width:7px;
  }
  .home-editorial-v2 .founder-card figcaption{
    font-size:9px;
    padding:6px 7px;
  }
  .home-editorial-v2 .case-mini-mosaic.case-visual-board{
    min-height:410px;
  }
  .home-editorial-v2 .case-shot-main{
    inset:5% 7% 11% 3%;
  }
  .home-editorial-v2 .case-shot-support{
    width:38%;
    height:27%;
    right:1%;
    bottom:5%;
  }
  .home-editorial-v2 .case-visual-arrow{
    width:40px;
    height:40px;
    top:12px;
    right:12px;
  }
}

/* ============================================================
   M&N PRODUCT LINE — SEPTEMBER 2026
   Five-product system for Home + Services, RU + EN
   ============================================================ */

/* ---------- HOME: five-product editorial grid ---------- */
.home-editorial-v2 .product-teaser-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:2px;
  margin-top:clamp(48px,6vw,82px);
  background:rgba(249,247,245,.14);
  border:1px solid rgba(249,247,245,.10);
}
.home-editorial-v2 .product-teaser-card{
  position:relative;
  min-height:290px;
  padding:clamp(24px,2.2vw,34px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  text-decoration:none;
  color:var(--white);
  background:var(--charcoal);
  transition:transform .35s ease,background-color .35s ease,color .35s ease;
}
.home-editorial-v2 .product-teaser-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.9;
  background:
    radial-gradient(circle at 82% 18%, rgba(249,247,245,.11), transparent 34%),
    linear-gradient(145deg, transparent 0 52%, rgba(249,247,245,.045) 52% 53%, transparent 53% 100%);
}
.home-editorial-v2 .product-teaser-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:var(--rose);
  transform:scaleX(.18);
  transform-origin:left;
  transition:transform .4s cubic-bezier(.2,.75,.2,1);
}
.home-editorial-v2 .product-teaser-card:hover{
  transform:translateY(-3px);
  background:#2a2e2d;
}
.home-editorial-v2 .product-teaser-card:hover::after{ transform:scaleX(1); }
.home-editorial-v2 .product-teaser-1{ grid-column:span 5; }
.home-editorial-v2 .product-teaser-2{ grid-column:span 3; }
.home-editorial-v2 .product-teaser-3{ grid-column:span 4; background:var(--olive); }
.home-editorial-v2 .product-teaser-4{ grid-column:span 4; background:#2f3331; }
.home-editorial-v2 .product-teaser-5{ grid-column:span 8; background:#242827; }
.home-editorial-v2 .product-teaser-3::after{ background:var(--stone); }
.home-editorial-v2 .product-teaser-5::after{ background:var(--olive-gray); }
.home-editorial-v2 .product-teaser-card .num{
  position:absolute;
  top:24px;
  left:26px;
  z-index:1;
  margin:0;
  font-family:var(--font-display);
  font-size:30px;
  line-height:1;
  color:rgba(249,247,245,.82);
}
.home-editorial-v2 .product-teaser-arrow{
  position:absolute;
  top:22px;
  right:24px;
  z-index:1;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(249,247,245,.30);
  border-radius:50%;
  font-size:18px;
  color:var(--white);
  transition:transform .3s ease,background .3s ease;
}
.home-editorial-v2 .product-teaser-card:hover .product-teaser-arrow{
  transform:translate(2px,-2px);
  background:rgba(249,247,245,.10);
}
.home-editorial-v2 .product-teaser-card h3{
  position:relative;
  z-index:1;
  max-width:17ch;
  margin:0 0 18px;
  color:var(--white);
  font-family:var(--font-display);
  font-size:clamp(27px,2.15vw,40px);
  line-height:.98;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
html[lang="ru"] .home-editorial-v2 .product-teaser-card h3{
  max-width:20ch;
  font-family:var(--font-body);
  font-weight:900;
  font-size:clamp(24px,1.8vw,33px);
  line-height:1.04;
  letter-spacing:-.015em;
  text-transform:none;
}
.home-editorial-v2 .product-teaser-card .yield-lbl{
  position:relative;
  z-index:1;
  margin:0 0 7px;
  color:var(--stone);
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.home-editorial-v2 .product-teaser-copy{
  position:relative;
  z-index:1;
  max-width:43ch;
  margin:0;
  color:var(--ivory);
  font-size:13px;
  line-height:1.55;
}

/* ---------- SERVICES PAGE: readable editorial product rows ---------- */
body.editorial-site .product-services-intro{
  max-width:76ch !important;
  margin-bottom:0;
}
body.editorial-site .product-service-list{
  margin-top:clamp(54px,6vw,86px);
  border-top:1px solid rgba(249,247,245,.22);
}
body.editorial-site .product-service-card{
  --product-accent:var(--rose);
  position:relative;
  display:grid;
  grid-template-columns:92px minmax(280px,.78fr) minmax(360px,1.22fr);
  gap:clamp(28px,4vw,66px);
  align-items:start;
  padding:clamp(42px,5vw,70px) clamp(26px,4vw,56px);
  color:var(--ink);
  background:var(--white);
  border-bottom:2px solid var(--ink);
  overflow:hidden;
}
body.editorial-site .product-service-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--product-accent);
}
body.editorial-site .product-service-card::after{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:250px;
  height:250px;
  border:1px solid rgba(21,25,27,.07);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(21,25,27,.018),0 0 0 84px rgba(21,25,27,.012);
  pointer-events:none;
}
body.editorial-site .product-tone-2{ --product-accent:var(--olive-gray); background:#f2f0ec; }
body.editorial-site .product-tone-3{ --product-accent:var(--stone); background:var(--olive); color:var(--white); border-bottom-color:rgba(249,247,245,.28); }
body.editorial-site .product-tone-4{ --product-accent:var(--rose); background:#ece8e3; }
body.editorial-site .product-tone-5{ --product-accent:var(--olive-gray); background:var(--white); }
body.editorial-site .product-service-number{
  position:relative;
  z-index:1;
  font-family:var(--font-display);
  font-size:clamp(48px,4.1vw,68px);
  line-height:.9;
  letter-spacing:-.045em;
  color:var(--product-accent);
}
body.editorial-site .product-service-main,
body.editorial-site .product-service-yield{ position:relative; z-index:1; }
body.editorial-site .product-service-main h2{
  max-width:18ch;
  margin:0 0 22px;
  color:inherit;
  font-family:var(--font-display);
  font-size:clamp(34px,3.35vw,54px);
  line-height:.96;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
html[lang="ru"] body.editorial-site .product-service-main h2{
  max-width:22ch;
  font-family:var(--font-body);
  font-weight:900;
  font-size:clamp(31px,2.8vw,45px);
  line-height:1.03;
  letter-spacing:-.015em;
  text-transform:none;
}
body.editorial-site .product-service-description{
  max-width:58ch;
  margin:0;
  color:var(--charcoal);
  font-size:15px;
  line-height:1.72;
}
body.editorial-site .product-tone-3 .product-service-description{ color:var(--ivory); }
body.editorial-site .product-service-yield{
  align-self:center;
  padding:25px 26px 27px;
  background:rgba(249,247,245,.72);
  border:1px solid rgba(21,25,27,.10);
  box-shadow:0 18px 44px rgba(21,25,27,.055);
}
body.editorial-site .product-tone-3 .product-service-yield{
  color:var(--ink);
  background:rgba(249,247,245,.94);
  border-color:rgba(249,247,245,.18);
}
body.editorial-site .product-service-yield-label{
  margin-bottom:11px;
  color:var(--olive-gray);
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.editorial-site .product-service-yield p{
  margin:0;
  color:var(--ink);
  font-size:14px;
  line-height:1.62;
  font-weight:500;
}

@media (max-width:1100px){
  body.editorial-site .product-service-card{
    grid-template-columns:72px minmax(240px,.88fr) minmax(300px,1.12fr);
    gap:30px;
  }
  .home-editorial-v2 .product-teaser-1,
  .home-editorial-v2 .product-teaser-3,
  .home-editorial-v2 .product-teaser-5{ grid-column:span 7; }
  .home-editorial-v2 .product-teaser-2,
  .home-editorial-v2 .product-teaser-4{ grid-column:span 5; }
}

@media (max-width:860px){
  .home-editorial-v2 .product-teaser-grid{ grid-template-columns:1fr 1fr; }
  .home-editorial-v2 .product-teaser-card,
  .home-editorial-v2 .product-teaser-1,
  .home-editorial-v2 .product-teaser-2,
  .home-editorial-v2 .product-teaser-3,
  .home-editorial-v2 .product-teaser-4,
  .home-editorial-v2 .product-teaser-5{ grid-column:auto; min-height:270px; }
  .home-editorial-v2 .product-teaser-5{ grid-column:1 / -1; }

  body.editorial-site .product-service-card{
    grid-template-columns:64px 1fr;
    gap:22px 26px;
  }
  body.editorial-site .product-service-yield{
    grid-column:2;
    align-self:start;
  }
}

@media (max-width:640px){
  .home-editorial-v2 .product-teaser-grid{ grid-template-columns:1fr; }
  .home-editorial-v2 .product-teaser-card,
  .home-editorial-v2 .product-teaser-5{ grid-column:auto; min-height:245px; }
  .home-editorial-v2 .product-teaser-card h3{ font-size:30px; }
  html[lang="ru"] .home-editorial-v2 .product-teaser-card h3{ font-size:27px; }

  body.editorial-site .product-service-list{ margin-top:42px; }
  body.editorial-site .product-service-card{
    grid-template-columns:1fr;
    gap:18px;
    padding:34px 24px 38px 28px;
  }
  body.editorial-site .product-service-number{ font-size:48px; }
  body.editorial-site .product-service-main h2{ font-size:34px; }
  html[lang="ru"] body.editorial-site .product-service-main h2{ font-size:30px; }
  body.editorial-site .product-service-yield{ grid-column:auto; padding:21px 20px 23px; }
}
body.editorial-site .product-service-card{ scroll-margin-top:100px; }
