/* Final density and composition layer shared by every route. */
:root {
  --polish-section-space: clamp(64px, 5.7vw, 90px);
  --polish-section-space-mobile: clamp(48px, 12vw, 66px);
}

body[data-page="home"] main > .section {
  padding-top: clamp(56px, 4.65vw, 76px);
  padding-bottom: clamp(58px, 4.85vw, 80px);
}

body[data-page="home"] .section-copy {
  row-gap: 18px;
}

body[data-page="home"] .section.home-idea-section > .home-idea-flow,
body[data-page="home"] .section.home-smart-section > .smart-composition {
  margin-top: clamp(34px, 3vw, 48px);
}

body[data-page="home"] .home-hero.editorial-hero .hero-float {
  height: clamp(430px, 36vw, 510px);
}

body[data-page="home"] .home-idea-outcome article { min-height: 220px; }
body[data-page="home"] .home-logic-section .logic-route li {
  min-height: 238px;
}

body[data-page="home"] .home-smart-section .smart-composition-body { min-height: 450px; }
body[data-page="home"] .home-templates-section > .template-gallery { min-height: 420px; }
body[data-page="home"] .template-report { height: 365px; }
body[data-page="home"] .template-product,
body[data-page="home"] .template-plan { height: 285px; }
body[data-page="home"] .home-type-section > .type-editorial { min-height: 440px; }
body[data-page="home"] .type-editorial-slide { min-height: 390px; }
body[data-page="home"] .data-editorial-grid { min-height: 390px; }
body[data-page="home"] .data-editorial-chart { min-height: 320px; }
body[data-page="home"] .scenario-editorial li { min-height: 165px; }
body[data-page="home"] .export-preview { min-height: 285px; }

body[data-layout="footer-guide"] main > .section {
  padding-top: clamp(68px, 6vw, 94px);
  padding-bottom: clamp(68px, 6vw, 94px);
}

body[data-layout="footer-guide"] main > .section .section-copy {
  row-gap: 17px;
}

body[data-layout="footer-guide"] main > .section > div:last-child {
  margin-top: 0;
}

body[data-page="oformlenie-slaydov"] main > .section,
body[data-page="prezentaciya-kompanii"] main > .section,
body[data-page="kommercheskoe-predlozhenie"] main > .section {
  padding-top: clamp(66px, 6vw, 92px);
  padding-bottom: clamp(66px, 6vw, 92px);
}

body[data-page="kommercheskoe-predlozhenie"] main > .section {
  padding-top: clamp(58px, 4.9vw, 72px);
  padding-bottom: clamp(58px, 4.9vw, 72px);
}

body[data-page="kommercheskoe-predlozhenie"] .problem-solution > div {
  min-height: 210px;
}

body[data-page="kommercheskoe-predlozhenie"] .design-rules > div {
  min-height: 120px;
}

body[data-page="oformlenie-slaydov"] main > .section:nth-of-type(3n + 2),
body[data-page="prezentaciya-kompanii"] main > .section:nth-of-type(3n + 2),
body[data-page="kommercheskoe-predlozhenie"] main > .section:nth-of-type(3n + 2) {
  background: #fffdfa;
}

body[data-page="oformlenie-slaydov"] main > .section:nth-of-type(3n),
body[data-page="prezentaciya-kompanii"] main > .section:nth-of-type(3n),
body[data-page="kommercheskoe-predlozhenie"] main > .section:nth-of-type(3n) {
  background: #f0eef9;
}

body[data-page="oformlenie-slaydov"] main > .section:nth-of-type(3n + 1),
body[data-page="prezentaciya-kompanii"] main > .section:nth-of-type(3n + 1),
body[data-page="kommercheskoe-predlozhenie"] main > .section:nth-of-type(3n + 1) {
  background: #fff5ef;
}

body[data-page="oformlenie-slaydov"] main > .section .section-copy,
body[data-page="prezentaciya-kompanii"] main > .section .section-copy,
body[data-page="kommercheskoe-predlozhenie"] main > .section .section-copy {
  grid-template-columns: 110px minmax(0, 1fr) minmax(250px, .5fr);
  column-gap: clamp(24px, 3vw, 48px);
}

body[data-page="oformlenie-slaydov"] main > .section > div:last-child,
body[data-page="prezentaciya-kompanii"] main > .section > div:last-child,
body[data-page="kommercheskoe-predlozhenie"] main > .section > div:last-child {
  max-width: 1040px;
}

body[data-page="oformlenie-slaydov"] .type-board,
body[data-page="prezentaciya-kompanii"] .note-card,
body[data-page="kommercheskoe-predlozhenie"] .problem-solution > div {
  border: 1px solid #d7d0c8;
  box-shadow: 14px 16px 0 #1717190d;
}

/* Visible-by-default motion: JS only starts an animation; it never unlocks content. */
@keyframes polish-copy-in {
  from { opacity: .18; translate: 0 18px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes polish-scene-in {
  from { opacity: .28; translate: 0 24px; scale: .988; }
  to { opacity: 1; translate: 0 0; scale: 1; }
}

@keyframes polish-item-in {
  from { opacity: .16; translate: 0 14px; }
  to { opacity: 1; translate: 0 0; }
}

.site-motion main > .section.is-visible .section-copy {
  animation: polish-copy-in .52s cubic-bezier(.2, .72, .2, 1) both;
}

.site-motion main > .section.is-visible > :not(.section-copy),
.site-motion .final-cta.is-visible > * {
  animation: polish-scene-in .68s .08s cubic-bezier(.2, .72, .2, 1) both;
}

body[data-page="neyroset-dlya-prezentaciy"] main > .section.is-visible .ai-composer-chips span,
body[data-page="neyroset-dlya-prezentaciy"] main > .section.is-visible .edit-bento > article,
body[data-page="neyroset-dlya-prezentaciy"] main > .section.is-visible .context-dossier > article,
body[data-page="neyroset-dlya-prezentaciy"] main > .section.is-visible .review-journey > article {
  animation: polish-item-in .46s ease-out both;
}

body[data-page="sozdat-prezentaciyu"] main > .section.is-visible .creation-steps span,
body[data-page="sozdat-prezentaciyu"] main > .section.is-visible .usecase-grid > div,
body[data-page="sozdat-prezentaciyu"] main > .section.is-visible .export-check span {
  animation: polish-item-in .46s ease-out both;
}

body[data-page="struktura-prezentacii"] main > .section.is-visible .structure-middle > div,
body[data-page="struktura-prezentacii"] main > .section.is-visible .sequence-board > div {
  animation: polish-item-in .5s ease-out both;
}

body[data-page="shablony-prezentaciy"] main > .section.is-visible .template-grid .slide,
body[data-page="shablony-prezentaciy"] main > .section.is-visible .template-tags span {
  animation: polish-item-in .52s ease-out both;
}

body[data-page="diagrammy-i-grafiki"] main > .section.is-visible .chart-gallery .slide,
body[data-page="diagrammy-i-grafiki"] main > .section.is-visible .data-table > div {
  animation: polish-item-in .5s ease-out both;
}

body[data-page="diagrammy-i-grafiki"] main > .section.is-visible .chart-bars i {
  animation: guide-bar .72s cubic-bezier(.2, .75, .2, 1) both;
  transform-origin: bottom;
}

body[data-page="oformlenie-slaydov"] main > .section.is-visible .design-rules > div,
body[data-page="oformlenie-slaydov"] main > .section.is-visible .slide-pair .slide {
  animation: polish-item-in .5s ease-out both;
}

body[data-page="prezentaciya-kompanii"] main > .section.is-visible .scenario-list > div,
body[data-page="prezentaciya-kompanii"] main > .section.is-visible .edit-stack > div {
  animation: polish-item-in .5s ease-out both;
}

body[data-page="kommercheskoe-predlozhenie"] main > .section.is-visible .problem-solution > div,
body[data-page="kommercheskoe-predlozhenie"] main > .section.is-visible .timeline-visual > div,
body[data-page="kommercheskoe-predlozhenie"] main > .section.is-visible .design-rules > div {
  animation: polish-item-in .5s ease-out both;
}

body[data-page="export-pptx-pdf"] main > .section.is-visible .export-check span,
body[data-page="export-pptx-pdf"] main > .section.is-visible .file-detail,
body[data-page="export-pptx-pdf"] main > .section.is-visible .problem-solution > div {
  animation: polish-item-in .5s ease-out both;
}

main > .section.is-visible :is(.prompt-chips span, .creation-steps span, .usecase-grid > div, .structure-middle > div, .sequence-board > div, .template-grid .slide, .template-tags span, .chart-gallery .slide, .data-table > div, .design-rules > div, .scenario-list > div, .problem-solution > div, .timeline-visual > div, .export-check span):nth-child(2) { animation-delay: .09s; }
main > .section.is-visible :is(.prompt-chips span, .creation-steps span, .usecase-grid > div, .structure-middle > div, .sequence-board > div, .template-grid .slide, .template-tags span, .chart-gallery .slide, .data-table > div, .design-rules > div, .scenario-list > div, .problem-solution > div, .timeline-visual > div, .export-check span):nth-child(3) { animation-delay: .18s; }
main > .section.is-visible :is(.prompt-chips span, .creation-steps span, .usecase-grid > div, .structure-middle > div, .sequence-board > div, .template-grid .slide, .template-tags span, .chart-gallery .slide, .data-table > div, .design-rules > div, .scenario-list > div, .problem-solution > div, .timeline-visual > div, .export-check span):nth-child(4) { animation-delay: .27s; }
main > .section.is-visible :is(.creation-steps span, .sequence-board > div):nth-child(5) { animation-delay: .36s; }

.motion-settled .float-sheet,
.motion-settled .float-prompt,
.motion-settled .float-outline,
.motion-settled .float-graphic i,
.motion-settled .home-idea-cursor {
  animation-play-state: paused !important;
}

@media (max-width: 767px) {
  body[data-page="home"] main > .section,
  body[data-layout="footer-guide"] main > .section,
  body[data-page="oformlenie-slaydov"] main > .section,
  body[data-page="prezentaciya-kompanii"] main > .section,
  body[data-page="kommercheskoe-predlozhenie"] main > .section {
    padding-top: var(--polish-section-space-mobile);
    padding-bottom: var(--polish-section-space-mobile);
  }

  main > .section .section-copy > p,
  main > .section p {
    font-size: 16px;
  }

  body[data-page="home"] .home-logic-section .logic-route li { min-height: 0; }
  body[data-page="home"] .home-idea-outcome article { min-height: 0; }
  body[data-page="home"] .home-smart-section .smart-composition-body { min-height: 0; }
  body[data-page="home"] .home-templates-section > .template-gallery { min-height: 0; }
  body[data-page="home"] .home-type-section > .type-editorial { min-height: 0; }
  body[data-page="home"] .data-editorial-grid { min-height: 0; }
  body[data-page="home"] .template-report { height: 305px; }
  body[data-page="home"] .template-product,
  body[data-page="home"] .template-plan { height: 238px; }
  body[data-page="home"] .type-editorial-slide { min-height: 330px; }
  body[data-page="home"] .data-editorial-chart { min-height: 255px; }
  body[data-page="home"] .scenario-editorial li { min-height: 0; }
  body[data-page="home"] .export-preview { min-height: 250px; }

  body[data-page="oformlenie-slaydov"] main > .section .section-copy,
  body[data-page="prezentaciya-kompanii"] main > .section .section-copy,
  body[data-page="kommercheskoe-predlozhenie"] main > .section .section-copy {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-motion main > .section.is-visible *,
  .site-motion .final-cta.is-visible *,
  body main > .section.is-visible * {
    animation: none !important;
    transition: none !important;
    translate: none !important;
    scale: none !important;
  }
}
