/* article-7.css — sections in-flow (mirrors art-page--6); absolute only inside blocks
   (hero title, photo crop, midphoto overlay, CTA decor). Figma web=4389:1306. */

body.article-7-page {
  background: #D2D2D2;
  margin: 0;
}

/* Burger icon is white by default (designed for dark-hero pages like index/experience).
   Article 7 has a light hero, so the burger needs to be dark. Same pattern as .art-page--4. */
body.article-7-page>.header-burger__icon svg path {
  fill: #2F2F2F;
}

.article-7-frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  height: auto;
  min-height: 0;
  margin: 0 auto;
  overflow: visible;
  background: #D2D2D2;
  font-family: 'Golos', 'Golos Text', system-ui, sans-serif;
  color: #272727;
}

.article-7-frame > * {
  flex-shrink: 0;
  width: 100%;
}

/* === INTRO (hero + lead + quote) — desktop mirrors .art6-hero layout === */
.article-7-intro {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Mirrors .art6-hero__cover */
.article-7-hero {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: rgba(210, 210, 210, 1);
}

.article-7-hero picture {
  display: block;
  width: 100%;
}

/* Mirrors .art6-hero__cover img — desktop: 100vw × auto height (see min-width below) */
.article-7-hero__main {
  display: block;
  width: 100%;
  height: auto;
}

/* Title on hero — overlay on image (internal absolute) */
.article-7-title {
  position: absolute;
  left: 50%;
  top: auto;
  bottom: 132px;
  transform: translateX(-50%);
  box-sizing: border-box;
  width: 820px;
  height: 251px;
  max-width: 90%;
  margin: 0;
  padding: 0;
  font-family: 'SangBleu Sunrise', 'SangBleu', 'Times New Roman', serif;
  font-weight: 500;
  font-style: normal;
  font-size: 70px;
  leading-trim: none;
  line-height: 0.9;
  letter-spacing: -0.03em;
  text-align: center;
  color: #FFFFFF;
  mix-blend-mode: difference;
  pointer-events: none;
  z-index: 1;
}

.article-7-title .sb {
  font-family: inherit;
  font-weight: inherit;
}

.article-7-intro__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
}

.article-7-intro__content > .article-7-lead,
.article-7-intro__content > .article-7-quote-block {
  position: static;
}

/* Mirrors .art6-hero__lead */
.article-7-lead {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin: 50px auto 0;
  padding: 0;
  font-weight: 500;
  font-size: 25px;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #272727;
  text-align: center;
}

.article-7-lead .sb {
  font-family: 'SangBleu Sunrise', 'SangBleu', serif;
  font-weight: 500;
}

/* Vertical divider between lead and pull-quote — hidden (was showing as phantom line) */
.article-7-quote-divider {
  display: none;
}

/* Mirrors .art6-hero__quote + __author */
.article-7-quote-block {
  position: static;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin: 108px auto 0;
  padding: 0;
}

.article-7-quote {
  position: static;
  margin: 0;
  font-weight: 500;
  font-size: 70px;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: #272727;
  text-align: center;
}

.article-7-byline {
  position: static;
  margin: 20px auto 0;
  padding: 0;
  font-family: 'SangBleu Sunrise', 'SangBleu', serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #272727;
  text-align: center;
}

/* Desktop — hero full width + vertical rule before mid-photo */
@media (min-width: 771px) {
  .article-7-hero {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .article-7-hero__main {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .article-7-mid-vline {
    display: block;
    box-sizing: border-box;
    width: 0;
    height: 141.79101084292796px;
    margin: 98px auto 0;
    padding: 0;
    border: 0;
    border-left: 1px solid rgba(0, 0, 0, 1);
  }
}

/* Vertical rule before mid-photo block — desktop in-flow only */
.article-7-mid-vline {
  display: none;
}

/* === Body paragraphs — in-flow (desktop/default); mobile overrides below === */
.article-7-body {
  position: static;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  font-weight: 500;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.02em;
  color: #272727;
  text-indent: 25px;
}

.article-7-body strong {
  font-weight: 600;
}

.article-7-body--1 {
  margin-top: 45px;
}

.article-7-body--2 {
  margin-top: 45px;
}

.article-7-body--3 {
  margin-top: 80px;
}

.article-7-body--4 {
  margin-top: 80px;
  max-width: 817px;
}

.article-7-body--5 {
  margin-top: 80px;
  max-width: 817px;
}

.article-7-body--6 {
  margin-top: 0;
  max-width: 817px;
}

/* === Mid-page photo block (Figma 4389:1366) — section in-flow, crop/overlay inside === */
.article-7-midphoto {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  height: 414px;
  margin: 35px auto 0;
  padding: 0;
  background: #D2D2D2;
}

.article-7-midphoto__mask {
  position: relative;
  width: 689px;
  max-width: 100%;
  height: 414px;
  margin: 0 auto;
  overflow: hidden;
  background: #F4F4F4;
}

.article-7-midphoto__img {
  position: absolute;
  left: -63px;
  top: -374px;
  width: 794px;
  height: 1191px;
  object-fit: cover;
  /* filter:blur(40px) — main.js clears blur on scroll */
  filter: blur(40px);
}

.article-7-midphoto__text {
  position: absolute;
  left: 0;
  top: 90px;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin: 0;
  padding: 0 30px;
  font-family: 'SangBleu Sunrise', 'SangBleu', serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 130%;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  mix-blend-mode: difference;
  text-align: center;
}

/* === Rule-bound text block (Figma 4389:1358) === */
.article-7-photo1 {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 828px;
  min-height: 301px;
  height: auto;
  margin: 45px auto 0;
  padding: 0;
}

.article-7-photo1__text {
  position: relative;
  width: 100%;
  max-width: 820px;
  margin: 14px auto 0;
  padding: 0;
  font-family: 'SangBleu Sunrise', 'SangBleu', serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 130%;
  letter-spacing: -0.02em;
  color: #272727;
  text-align: center;
}

.article-7-photo1__rule {
  position: absolute;
  display: block;
  box-sizing: border-box;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1.5px solid #000;
}

.article-7-photo1__rule--top {
  left: 404.55px;
  top: 0;
  width: 424px;
  max-width: 52%;
}

.article-7-photo1__rule--bot {
  left: 0.59px;
  top: 301px;
  width: 100%;
  max-width: 826.29px;
}

/* === Big pull-quotes in body (SangBleu 30 left-aligned) === */
.article-7-bigquote {
  display: block;
  position: static;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  box-sizing: border-box;
  width: 100%;
  max-width: 817px;
  margin: 80px auto 0;
  padding: 0;
  font-family: 'SangBleu Sunrise', 'SangBleu', serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 130%;
  letter-spacing: -0.02em;
  color: #272727;
  text-indent: 25px;
}

.article-7-bigquote--2 {
  margin-top: 80px;
}

/* === Big bottom portrait — inline-grid, snap swap via stacked layers (no absolute) === */
.article-7-photo2 {
  display: inline-grid;
  grid-template-columns: 1fr;
  box-sizing: border-box;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 45px auto 0;
  padding: 0;
  overflow: hidden;
  background: none;
  vertical-align: top;
  /* Snap 0|1 when centre crosses viewport mid; js/main.js sets --photo2-progress */
  --photo2-progress: 0;
  isolation: isolate;
}

.article-7-photo2__img {
  grid-area: 1 / 1;
  position: static;
  display: block;
  width: 820px;
  height: 999.294921875px;
  max-width: 100%;
  object-fit: cover;
  object-position: center top;
  pointer-events: none;
}

.article-7-photo2__img--natural {
  opacity: calc(1 - var(--photo2-progress));
  z-index: 1;
}

.article-7-photo2__img--purple {
  opacity: var(--photo2-progress);
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .article-7-photo2__img--natural {
    opacity: 1;
  }

  .article-7-photo2__img--purple {
    display: none;
  }
}

/* === End block: vertical rule + CTA (mirrors .art6-vline + .art-cta) === */
.article-7-end {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: static;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  box-sizing: border-box;
  width: 100%;
  max-width: 820px;
  margin: 80px auto 0;
  padding: 0;
}

.article-7-end .article-7-body--6 {
  margin-top: 0;
}

.article-7-cta-vline {
  display: block;
  position: static;
  transform: none;
  box-sizing: border-box;
  width: 0;
  min-height: 183.00000000000017px;
  height: 183.00000000000017px;
  margin: 97px auto 0;
  padding: 0;
  border: 0;
  border-left: 1px solid rgba(0, 0, 0, 1);
  background: none;
  pointer-events: none;
  flex-shrink: 0;
}

.article-7-cta-vline--bottom {
  display: none;
}

.article-7-end .article-7-cta {
  position: static;
  transform: none;
  margin: 0 auto 90px;
}

.article-7-cta {
  width: 100%;
  max-width: none;
  padding: 0;
  box-sizing: border-box;
  overflow: visible;
  z-index: 1;
  --article-7-cta-progress: 0;
}

.article-7-cta__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.article-7-cta__stage {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 826px;
  height: 858px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.article-7-cta__decor {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(1000px, 130%);
  max-width: 130%;
  height: auto;
  aspect-ratio: 1000 / 1176;
  transform: translate(-50%, -50%) rotate(calc(360deg * var(--article-7-cta-progress, 0)));
  transform-origin: 50% 50%;
  will-change: transform;
  pointer-events: none;
  z-index: 0;
}

.article-7-cta__ellipse {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: none;
  pointer-events: none;
}

.article-7-cta__content {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 571px;
  text-align: center;
}

.article-7-cta__heading {
  margin: 0 auto 58px;
  max-width: 571px;
  font-family: 'Golos', 'Golos Text', sans-serif;
  font-weight: 500;
  font-size: 35px;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: center;
  color: rgba(39, 39, 39, 1);
}

.article-7-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  width: 490px;
  max-width: 100%;
  height: 60px;
  margin: 0;
  padding: 0 24px;
  border: 1px solid #272727;
  border-radius: 30px;
  background-color: #272727;
  color: rgba(255, 255, 255, 1);
  font-family: 'Golos', 'Golos Text', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 48.57px;
  letter-spacing: -0.02em;
  text-align: center;
  text-decoration: none;
  mix-blend-mode: normal;
  transition: background-color 0.18s ease, color 0.18s ease;
}

/* === MOBILE — in-flow column (mirrors .art-page--6), breakpoint aligned to article 6 === */
@media (max-width: 770px) {
  .article-7-mid-vline {
    display: none;
  }

  html,
  body.article-7-page {
    overflow-x: hidden;
  }

  body.article-7-page {
    background: #D2D2D2;
  }

  .article-7-frame {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    transform: none;
    margin-bottom: 0;
    padding-bottom: 100px;
  }

  .article-7-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* Текстовая колонка: 20px от краёв экрана */
  .article-7-intro__content,
  .article-7-body,
  .article-7-bigquote,
  .article-7-end,
  .article-7-photo1 {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding-left: 20px;
    padding-right: 20px;
  }

  .article-7-intro__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    padding-top: 0;
    padding-bottom: 0;
  }

  /* Hero — fixed height, image fills block */
  .article-7-hero {
    position: relative;
    width: 100%;
    min-height: 839.32421875px;
    overflow: hidden;
  }

  .article-7-hero picture {
    width: 100%;
    height: 839.32421875px;
  }

  .article-7-hero__main {
    display: block;
    width: 100%;
    height: 839.32421875px;
    max-width: none;
    aspect-ratio: none;
    object-fit: cover;
    object-position: center top;
  }

  /* Title on hero — 170px from bottom of image (Figma mobile −20) */
  .article-7-title {
    position: absolute;
    left: 20px;
    right: 20px;
    top: auto;
    bottom: 170px;
    transform: none;
    box-sizing: border-box;
    width: auto;
    height: 217px;
    max-width: none;
    margin: 0;
    padding: 0;
    font-family: 'SangBleu Sunrise', 'SangBleu', 'Times New Roman', serif;
    font-weight: 500;
    font-style: normal;
    font-size: 35px;
    leading-trim: none;
    line-height: 0.9;
    letter-spacing: -0.03em;
    text-align: center;
  }

  .article-7-lead {
    position: static;
    left: auto;
    top: auto;
    margin: 40px auto 0;
    padding-left: 0;
    padding-right: 0;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;
  }

  /* Вертикальная палка между lead и цитатой — только мобилка (Figma) */
  .article-7-quote-divider {
    display: block;
    box-sizing: border-box;
    width: 0;
    height: 110.0000000000001px;
    margin: 15px auto 2px;
    padding: 0;
    border: 0;
    border-left: 1px solid rgba(0, 0, 0, 1);
    pointer-events: none;
  }

  .article-7-quote-block {
    position: static;
    left: auto;
    top: auto;
    height: auto;
    margin: 0 auto 0;
    padding-left: 0;
    padding-right: 0;
  }

  .article-7-quote {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    margin: 0;
    font-size: 25px;
    line-height: 1.2;
    text-align: center;
  }

  .article-7-byline {
    position: static;
    left: auto;
    top: auto;
    width: 100%;
    margin: 20px auto 0;
    font-size: 16px;
    text-align: center;
  }

  /* Body paragraphs — боковые 20px из общего правила текстовой колонки */
  .article-7-body {
    position: static;
    margin: 0 auto;
    font-size: 16px;
    line-height: 130%;
    text-indent: 25px;
  }

  .article-7-body--1 {
    margin-top: 45px;
  }

  .article-7-body--2 {
    margin-top: 45px;
  }

  .article-7-body--3 {
    margin-top: 45px;
  }

  .article-7-body--4,
  .article-7-body--5 {
    margin-top: 45px;
  }

  /* Mid-photo block (blur on scroll) — Figma mobile 375×449.6640625 */
  .article-7-midphoto {
    position: relative;
    left: auto;
    width: 100%;
    max-width: none;
    height: 449.6640625px;
    margin: 45px 0 0;
    padding: 0;
    box-sizing: border-box;
  }

  .article-7-midphoto__mask {
    position: relative;
    width: 100%;
    height: 449.6640625px;
    margin: 0;
  }

  .article-7-midphoto__img {
    position: absolute;
    left: 33px;
    top: -198px;
    width: 559px;
    height: 839px;
  }

  .article-7-midphoto__text {
    position: absolute;
    left: 20px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    font-size: 20px;
    line-height: 130%;
    color: #FFFFFF;
    mix-blend-mode: difference;
  }

  /* Rule-bound text block (Figma 613:1697 "Есть и другой") */
  .article-7-photo1 {
    position: relative;
    min-height: 340px;
    height: auto;
    margin: 45px auto 0;
  }

  .article-7-photo1__text {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 14px auto 0;
    font-size: 20px;
    line-height: 130%;
  }

  .article-7-photo1__rule {
    position: absolute;
    border-top-width: 1px;
  }

  .article-7-photo1__rule--top {
    left: 182px;
    top: 0;
    width: 172px;
    max-width: 52%;
  }

  .article-7-photo1__rule--bot {
    left: 0;
    top: 340px;
    width: 100%;
    max-width: 354px;
  }

  /* Big in-body quotes */
  .article-7-bigquote {
    display: block;
    position: static;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    margin: 45px auto 0;
    font-size: 20px;
    line-height: 130%;
    text-indent: 25px;
  }

  .article-7-bigquote--2 {
    margin-top: 45px;
  }

  /* Bottom portrait — та же колонка, что и текст */
  .article-7-photo2 {
    display: inline-grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 45px auto 0;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
    overflow: hidden;
    background: none;
    vertical-align: top;
  }

  .article-7-photo2__img {
    grid-area: 1 / 1;
    position: static;
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .article-7-end {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: static;
    left: auto;
    top: auto;
    margin: 45px auto 0;
  }

  .article-7-end .article-7-body--6 {
    margin-top: 0;
    padding-left: 0;
    padding-right: 0;
  }

  /* Vertical rule before CTA */
  .article-7-cta-vline:not(.article-7-cta-vline--bottom) {
    display: block;
    position: static;
    width: 0;
    min-height: 30px;
    height: 30px;
    margin: 90px auto 0;
    border-left: 0.45px solid rgba(0, 0, 0, 1);
  }

  .article-7-cta-vline--bottom {
    display: block;
    position: static;
    width: 0;
    min-height: 14px;
    height: 14px;
    margin: 100px auto 0;
    border-left: 0.45px solid rgba(0, 0, 0, 1);
  }

  /* CTA */
  .article-7-end .article-7-cta,
  .article-7-cta {
    position: static;
    width: 100vw;
    max-width: 100vw;
    transform: none;
    margin: 0 calc(50% - 50vw) -110px;
    overflow-x: clip;
    overflow-y: visible;
  }

  .article-7-cta__stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .article-7-cta__stage {
    position: relative;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 452 / 467;
    min-height: 0;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
  }

  .article-7-cta__decor {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 452 / 467;
    transform: translate(-50%, -50%) rotate(calc(360deg * var(--article-7-cta-progress, 0)));
  }

  .article-7-cta__ellipse {
    display: block;
    width: 159.12%;
    height: 159.12%;
    object-fit: cover;
    pointer-events: none;
  }

  .article-7-cta__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: none;
    padding: 0 20px;
    text-align: center;
  }

  .article-7-cta__heading {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    font-family: 'Golos', sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0;
    text-align: center;
    color: rgba(39, 39, 39, 1);
  }

  .article-7-cta__btn {
    width: 100%;
    max-width: 303px;
    height: 37.21px;
    margin: 0;
    padding: 0 12px;
    border-radius: 18.61px;
    font-size: 14.88px;
    line-height: 30.12px;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  }

  .article-7-cta__btn:visited {
    color: rgba(255, 255, 255, 1);
  }

  .article-7-cta__btn:hover,
  .article-7-cta__btn:visited:hover,
  .article-7-cta__btn:focus-visible {
    background-color: #ffffff;
    color: #2f2f2f;
    border-color: #272727;
  }
}

/* Site stack (styles.css + main.css): prevent global link/body colors from overriding Arthur CTA. */
body.article-7-page {
  color: #272727;
}

body.article-7-page a.article-7-cta__btn,
body.article-7-page a.article-7-cta__btn:visited {
  color: #ffffff;
  background-color: #272727;
  border-color: #272727;
}

body.article-7-page a.article-7-cta__btn:hover,
body.article-7-page a.article-7-cta__btn:visited:hover,
body.article-7-page a.article-7-cta__btn:focus-visible {
  color: #2f2f2f;
  background-color: #ffffff;
  border-color: #272727;
}

/* In-flow guard: page sections only (not internal crop/overlay/decor) */
body.article-7-page .article-7-frame > .article-7-body,
body.article-7-page .article-7-frame > .article-7-bigquote,
body.article-7-page .article-7-frame > .article-7-bigquote.article-7-bigquote--2,
body.article-7-page .article-7-frame > .article-7-end,
body.article-7-page .article-7-frame > .article-7-mid-vline {
  position: static;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
}