/* Shared type scale: one Cyrillic family, readable body text, restrained headings. */
:root {
  --type-body: 1rem;
  --type-small: .875rem;
  --type-caption: .8125rem;
  --type-title: clamp(2rem, 1.4rem + 2vw, 3rem);
  --type-card: clamp(1.375rem, 1.2rem + .6vw, 1.75rem);
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: var(--type-body); line-height: 1.65; }
h1, h2, h3 { font-family: Golos, Arial, sans-serif; font-weight: 500; letter-spacing: -.025em; text-wrap: balance; }
h2, .intro-row h2, .download-heading h2 { font-size: var(--type-title); line-height: 1.2; letter-spacing: -.025em; }
em { font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
.eyebrow, .hero-intro, .download-heading > .eyebrow {
  font-size: .75rem; line-height: 1.5; letter-spacing: .1em; font-weight: 500;
}
.brand { font-size: 1.125rem; line-height: 1; letter-spacing: -.02em; flex-shrink: 0; }
.nav { font-size: var(--type-small); gap: 28px; letter-spacing: 0; }
.button, .hero-actions .button, .download-main > span {
  font-size: 1rem; line-height: 1.4; font-weight: 500; letter-spacing: 0;
}
.button-header { font-size: var(--type-small); min-height: 44px; padding: 11px 18px; gap: 16px; }
.mobile-menu a { font-size: 1rem; }
.hero { height: auto; min-height: 800px; max-height: none; }
.hero-content {
  min-height: 800px; height: auto; display: grid; grid-template-columns: minmax(0, 1fr) 310px;
  gap: 48px; align-items: center; padding-top: 170px; padding-bottom: 145px;
}
.hero-copy { width: 100%; max-width: 740px; min-width: 0; }
.hero h1 { font-size: clamp(2.5rem, 1.7rem + 3.4vw, 4.75rem); line-height: 1.1; letter-spacing: -.035em; margin-bottom: 28px; }
.hero-description { font-size: 1.125rem; line-height: 1.65; max-width: 39rem; margin-bottom: 30px; }
.hero-actions { flex-wrap: wrap; gap: 20px 24px; }
.hero-discover { font-size: var(--type-small); gap: 10px; }
.hero-copy .version-note, .version-note { font-size: var(--type-caption); line-height: 1.6; }
.hero-note { position: relative; inset: auto; align-self: end; max-width: none; padding: 22px; gap: 14px; }
.hero-note strong { font-size: var(--type-small); line-height: 1.5; }
.hero-note .tiny-label { font-size: .6875rem; letter-spacing: .08em; line-height: 1.5; margin-bottom: 7px; }
.hero-bottom { font-size: .75rem; line-height: 1.5; letter-spacing: .06em; flex-wrap: wrap; }
.hero-edition, .scroll-cue { font-size: var(--type-caption); letter-spacing: 0; }
.intro-row { grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: center; }
.intro-row > p, .section-top > p, .knowledge-heading > p:not(.eyebrow),
.step p, .faq-heading > p:not(.eyebrow), .faq-list details p, .download-info > p,
.download-heading > p:not(.eyebrow):not(.download-version):not(.device-message) {
  font-size: var(--type-body); line-height: 1.65; max-width: 40rem;
}
.intro-row > p, .section-top > p, .knowledge-heading > p:not(.eyebrow),
.step p, .faq-heading > p:not(.eyebrow), .faq-list details p { color: #5a6856; }
.section-top { gap: 48px; }
.section-top > p { max-width: 26rem; }
.benefit-line { flex-wrap: wrap; gap: 20px 28px; }
.benefit-line > span { font-size: var(--type-small); line-height: 1.5; gap: 10px; }
.text-link, .knowledge-heading .text-link { font-size: var(--type-body); line-height: 1.5; }
.muted { color: #68725e; }
.feature-experience { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.feature-tab { gap: 16px; padding: 26px 0; }
.tab-number { font-size: var(--type-caption); line-height: 1.5; color: #65705b; }
.tab-title { font-size: 1.375rem; line-height: 1.35; letter-spacing: -.015em; font-weight: 500; }
.tab-description { font-size: var(--type-body); line-height: 1.65; color: #5a6856; max-width: 36rem; }
.feature-tab.is-active .tab-description { max-height: none; padding-top: 12px; }
.product-stage { min-height: 710px; padding: 40px 20px 90px; }
.phone { width: 310px; max-width: 100%; transform: rotate(-3deg); }
.product-stage:hover .phone { transform: rotate(0); }
.phone-frame { min-height: 560px; }
.phone-status { font-size: .6875rem; }
.phone-status > span:last-child { font-size: .625rem; }
.phone-app { padding: 14px 15px 0; }
.phone-app-top { font-size: .8125rem; margin-bottom: 20px; }
.demo-view { min-height: 410px; }
.demo-view h3 { font-size: 1.5rem; line-height: 1.2; letter-spacing: -.02em; }
.demo-kicker { font-size: .6875rem; letter-spacing: .06em; line-height: 1.5; }
.demo-label, .demo-mini-title, .demo-entry strong { font-size: .8125rem; line-height: 1.4; }
.demo-season strong, .demo-task strong { font-size: .8125rem; line-height: 1.4; }
.demo-season span, .demo-task small, .demo-tip, .demo-photo-label,
.demo-guide-card span, .demo-journal-header small, .demo-entry span { font-size: .6875rem; line-height: 1.5; }
.demo-tip { max-width: none; }
.demo-season span, .demo-task small, .demo-tip, .demo-guide-card span,
.demo-journal-header small, .demo-entry span { color: #58694b; }
.demo-task { gap: 8px; padding: 11px 9px; min-height: 62px; }
.demo-task > span:nth-child(2) { min-width: 0; }
.task-check { flex-shrink: 0; }
.demo-task img { width: 27px; height: 27px; flex-shrink: 0; }
.demo-info, .demo-guide-card, .demo-entry { font-size: .75rem; line-height: 1.5; }
.demo-journal-header strong { font-size: .875rem; }
.phone-navigation { font-size: .625rem; color: #5b6e50; }
.stage-caption { font-size: var(--type-caption); line-height: 1.5; color: #536548; bottom: 20px; }
.stage-word { font-family: Golos, Arial, sans-serif; font-style: normal; letter-spacing: -.04em; }
.garden-card h3 { font-size: var(--type-card); line-height: 1.25; letter-spacing: -.02em; margin-bottom: 14px; }
.garden-card p { font-size: var(--type-small); line-height: 1.6; max-width: none; }
.photo-category { font-size: .75rem; line-height: 1.5; letter-spacing: .08em; }
.circle-arrow { top: 62px; }
.garden-card-shade { background: linear-gradient(180deg, #0e241f70, transparent 25%, #0b2118ec 100%); }
.knowledge-grid { gap: 80px; }
.counter { font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem); line-height: 1.1; letter-spacing: -.03em; min-width: 3ch; }
.number-row { gap: 22px; }
.number-row p { font-size: var(--type-body); line-height: 1.6; color: #546449; }
.numbers-note { font-size: var(--type-caption); line-height: 1.6; color: #5a6850; }
.step h3, .download-info h3 { font-size: var(--type-card); line-height: 1.3; letter-spacing: -.02em; }
.step-no { font-size: var(--type-caption); color: #667454; }
.steps { gap: 40px; }
.step p { max-width: none; }
.download-content { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 72px; }
.download-heading h2 { margin-bottom: 24px; }
.download-main { min-width: 0; max-width: 100%; gap: 20px; }
.download-main small { font-size: var(--type-caption); line-height: 1.5; letter-spacing: 0; }
.download-version { font-size: var(--type-caption); line-height: 1.6; }
.download-info > p { color: #d2dacb; }
.download-details summary { font-size: var(--type-small); line-height: 1.5; padding-block: 18px; }
.download-details p, .download-details ol, .download-details dl { font-size: var(--type-small); line-height: 1.65; color: #d2dacb; }
.download-details dt { font-size: var(--type-caption); color: #b5c5a8; }
.checksum { font-size: .75rem; }
.device-message { font-size: var(--type-small); line-height: 1.6; max-width: none; }
.faq-section { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 72px; }
.faq-list summary { font-size: 1.125rem; line-height: 1.5; font-weight: 500; }
.faq-list details p { max-width: none; }
.footer-main > p { font-family: Golos, Arial, sans-serif; font-style: normal; font-size: 1.125rem; line-height: 1.5; letter-spacing: 0; }
.footer-bottom { font-size: var(--type-caption); line-height: 1.6; letter-spacing: 0; flex-wrap: wrap; }
.motion-toggle { font-size: .75rem; min-height: 40px; }
.motion-toggle > span:first-child { font-size: .875rem; }
@media (max-width: 1100px) {
  .hero-content { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 155px; padding-bottom: 125px; }
  .hero-note { justify-self: start; max-width: 360px; }
  .hero-copy { max-width: 740px; }
  .hero h1 { font-size: clamp(2.5rem, 6.2vw, 4.25rem); }
  .feature-experience, .knowledge-grid { gap: 40px; }
  .download-content, .faq-section { gap: 40px; }
}
@media (max-width: 950px) {
  .nav { display: none; }
  .menu-button { display: flex; }
  .button-header { margin-left: auto; }
  .intro-row { grid-template-columns: 1fr; gap: 24px; }
  .intro-row > p { max-width: 42rem; }
  .feature-experience { grid-template-columns: 1fr; gap: 36px; }
  .feature-tabs { width: 100%; }
  .product-stage { width: 100%; min-height: 710px; }
  .section-top { align-items: start; }
  .section-top > p { max-width: 22rem; }
  .garden-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .garden-card-copy { left: 18px; right: 18px; }
  .garden-card h3 { font-size: 1.375rem; }
  .garden-card p { font-size: .875rem; }
  .steps { gap: 28px; }
  .download-content { grid-template-columns: 1fr; }
  .download-info { max-width: 640px; }
}
@media (max-width: 650px) {
  :root { --type-title: clamp(2rem, 7vw, 2.5rem); }
  .container { width: calc(100% - 40px); }
  .header-inner { gap: 12px; }
  .brand { font-size: 1rem; gap: 8px; }
  .brand-emblem.app-logo { width: 38px; height: 38px; }
  .button-header { padding: 10px 12px; gap: 9px; font-size: .875rem; }
  .hero { min-height: 0; height: auto; max-height: none; }
  .hero-content { min-height: 0; padding-top: 132px; padding-bottom: 112px; gap: 32px; }
  .hero h1 { font-size: clamp(2.375rem, 9.5vw, 3.5rem); margin-bottom: 24px; line-height: 1.12; letter-spacing: -.03em; }
  .hero-intro { font-size: .75rem; letter-spacing: .06em; margin-bottom: 24px; }
  .hero-description { font-size: 1rem; line-height: 1.65; max-width: none; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .hero-actions .button { padding: 16px 20px; min-height: 54px; }
  .hero-discover { font-size: .875rem; }
  .hero-note { width: 100%; max-width: 360px; padding: 18px; }
  .hero-note strong { font-size: .875rem; }
  .hero-note .tiny-label { font-size: .6875rem; }
  .hero-bottom { font-size: .6875rem; letter-spacing: .02em; gap: 14px; }
  .scroll-cue { font-size: .75rem; }
  .hero-edition { display: none; }
  .section-top > p { margin-top: 22px; max-width: none; }
  .intro-row > p { margin-top: 24px; }
  .benefit-line { grid-template-columns: 1fr 1fr; gap: 20px 14px; }
  .benefit-line > span { font-size: .875rem; align-items: flex-start; }
  .benefit-line svg { margin-top: 3px; }
  .feature-experience { display: flex; flex-direction: column; }
  .feature-tabs { display: flex; flex-direction: column; gap: 0; order: 1; }
  .feature-tab { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; min-height: 0; padding: 23px 0; gap: 14px; }
  .feature-tab.is-active { background: transparent; }
  .tab-title { font-size: 1.25rem; line-height: 1.4; }
  .tab-number { font-size: .8125rem; }
  .tab-description { display: block; font-size: 1rem; }
  .feature-tab.is-active .tab-description { max-height: none; }
  .product-stage { order: 2; min-height: 0; padding: 32px 16px 85px; }
  .phone { width: 310px; transform: none; }
  .product-stage:hover .phone { transform: none; }
  .phone-app { padding-inline: 12px; }
  .stage-caption { font-size: .8125rem; left: 18px; right: 18px; }
  .garden-card h3 { font-size: 1.75rem; }
  .garden-card p { font-size: 1rem; }
  .photo-category { font-size: .75rem; }
  .garden-card-copy { left: 24px; right: 24px; }
  .knowledge-grid, .download-content, .faq-section { display: block; }
  .number-row { gap: 18px; }
  .number-row p { font-size: 1rem; }
  .counter { font-size: 3rem; min-width: 3ch; }
  .numbers-note { font-size: .8125rem; }
  .step { padding: 24px 32px 0 32px; }
  .step h3 { font-size: 1.5rem; }
  .step p { font-size: 1rem; }
  .download-info { padding: 26px 22px; max-width: none; }
  .download-info h3 { font-size: 1.5rem; }
  .download-main { min-width: 0; gap: 16px; padding: 18px; }
  .download-main > span { font-size: 1rem; }
  .download-main .download-arrow { margin-left: 0; }
  .download-version { font-size: .8125rem; }
  .faq-list { margin-top: 32px; }
  .faq-list summary { font-size: 1rem; }
  .footer-main > p { font-size: 1.125rem; }
  .footer-bottom { font-size: .8125rem; gap: 16px; }
  .footer-bottom > span:nth-child(2) { max-width: none; }
  .motion-toggle { min-width: 40px; min-height: 40px; }
}
@media (max-width: 360px) {
  .container { width: calc(100% - 32px); }
  .header-inner { gap: 8px; }
  .brand { font-size: .9375rem; gap: 7px; }
  .brand-emblem.app-logo { width: 34px; height: 34px; }
  .button-header { padding-inline: 9px; }
  .hero-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
  .hero-content { padding-bottom: 135px; }
  .benefit-line { grid-template-columns: 1fr; }
  .product-stage { padding-inline: 10px; }
  .download-main { width: 100%; gap: 12px; padding-inline: 14px; }
  .download-main .download-arrow { display: none; }
  .number-row svg { display: none; }
}
