/* Content typography shared by the current service landings.
   Header, footer, forms, cards and the individual hero artwork stay page-owned. */

/* The organic landing uses an unclassed body, so anchor every rule to its main. */
.organic-page main {
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

.organic-page main > .hero h1 {
  font-family: Manrope, Inter, Arial, sans-serif;
  font-size: clamp(56px, 4.8vw, 72px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.organic-page main > .hero .lead {
  font-size: 20px;
  line-height: 1.5;
}

.organic-page main > .hero .organic-mark {
  color: #418af2;
}

.organic-page main > .section > .wrap > h2,
.organic-page main > .section > .container > h2,
.organic-page main #process .wrap.split > div > h2,
.organic-page main #contact .contact-grid > div > h2,
.organic-page main #price .price-banner .wrap > h2,
.organic-page main #documents .sgr-document-pack__intro h2 {
  font-family: Manrope, Inter, Arial, sans-serif;
  font-size: clamp(32px, 3.6vw, 52px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
  max-width: 100%;
  overflow-wrap: normal;
}

.organic-page main > .section :is(p, li) {
  line-height: 1.55;
}

.organic-page main > :is(#compare, #process, #faq, #price) .intro,
.organic-page main #contact .contact-grid > div > .intro,
.organic-page main #process .steps p,
.organic-page main #compare .compare :is(p, dd),
.organic-page main #faq .faq p,
.organic-page main #price .price-list,
.organic-page main #price .price-body p,
.organic-page main #documents .sgr-document-pack__copy p {
  font-size: 16px;
  line-height: 1.55;
}

.organic-page main #faq .faq summary {
  font-size: 20px;
  line-height: 1.4;
}

.organic-page main > .section > .wrap,
.organic-page main #price .price-banner .wrap {
  width: calc(100% - 112px);
  max-width: 1280px;
  margin-inline: auto;
}

/* Four service pages share the container/hero-grid structure; PBHP has a
   scoped main class but the same editorial grid. */
:is(main:has(> .hero > .container.hero-grid), main.pb-page) > .hero > .container,
:is(main:has(> .hero > .container.hero-grid), main.pb-page) > .section > .container {
  width: calc(100% - 112px);
  max-width: 1280px;
  margin-inline: auto;
}

:is(main:has(> .hero > .container.hero-grid), main.pb-page) > .hero h1 {
  font-family: Manrope, Inter, Arial, sans-serif;
  font-size: clamp(48px, 4.6vw, 65px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

:is(main:has(> .hero > .container.hero-grid), main.pb-page) > .section > .container > h2,
:is(main:has(> .hero > .container.hero-grid), main.pb-page) > .section > .container > .section-head > h2,
main:has(> .hero > .container.hero-grid) > .section .section-title > h2,
main:has(> .hero > .container.hero-grid) > .section .dossier-content > h2,
main:has(> .hero > .container.hero-grid) > .trts-combined-section .trts-price-head > h2,
main.pb-page > .pb-full:not(.pb-quiz) :is(.container, .pb-obligation-copy, .pb-risk-heading, .pb-audit-copy) > h2 {
  font-family: Manrope, Inter, Arial, sans-serif;
  font-size: clamp(32px, 3.6vw, 52px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

main:has(> .hero > .container.hero-grid) > section:not(.hero):not(#quiz) :is(p, li, dd),
main.pb-page > section:not(.hero):not(.pb-quiz) :is(p, li, dd) {
  font-size: 16px;
  line-height: 1.55;
}

/* Other published landing families retain their own hero layouts. */
:is(.cn-page, #sgr26-main, main:has(> .hc-hero)) {
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

:is(.cn-page, #sgr26-main, main:has(> .hc-hero)) :is(.cn-wrap, .sgr26-shell, .hc-container) {
  max-width: 1280px;
}

:is(.cn-page, #sgr26-main, main:has(> .hc-hero)) section:not(.cn-hero):not(.sgr26-hero):not(.hc-hero):not(#quiz):not(.sgr26-quiz) :is(p, li, dd) {
  font-size: 16px;
  line-height: 1.55;
}

.cn-page > .cn-section:not(#quiz) :is(.cn-wrap, .cn-heading, .sgr-document-pack__intro-main) > h2,
#sgr26-main > section:not(.sgr26-quiz) :is(.sgr26-shell, .sgr26-applicability__head-copy, .sgr-document-pack__intro-main, .trts-price-head) > h2,
main:has(> .hc-hero) > .hc-section:not(.hc-hero) .hc-heading,
main:has(> .hc-hero) > .hc-section:not(.hc-hero) > .hc-container > h2 {
  font-family: Manrope, Inter, Arial, sans-serif;
  font-size: clamp(32px, 3.6vw, 52px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

@media (max-width: 900px) {
  .organic-page main > .hero h1 {
    font-size: clamp(40px, 5.5vw, 54px);
  }
}

@media (max-width: 650px) {
  .organic-page main > .hero h1 {
    font-size: clamp(35px, 9.6vw, 48px);
    line-height: 1.12;
  }

  .organic-page main > .section > :is(.wrap, .container) > h2,
  .organic-page main #process .wrap.split > div > h2,
  .organic-page main #contact .contact-grid > div > h2,
  .organic-page main #price .price-banner .wrap > h2,
  .organic-page main #documents .sgr-document-pack__intro h2,
  :is(main:has(> .hero > .container.hero-grid), main.pb-page) > .section > .container > h2,
  :is(main:has(> .hero > .container.hero-grid), main.pb-page) > .section > .container > .section-head > h2,
  main:has(> .hero > .container.hero-grid) > .section .section-title > h2,
  main:has(> .hero > .container.hero-grid) > .section .dossier-content > h2,
  main.pb-page > .pb-full:not(.pb-quiz) :is(.container, .pb-obligation-copy, .pb-risk-heading, .pb-audit-copy) > h2,
  .cn-page > .cn-section:not(#quiz) :is(.cn-wrap, .cn-heading, .sgr-document-pack__intro-main) > h2,
  #sgr26-main > section:not(.sgr26-quiz) :is(.sgr26-shell, .sgr26-applicability__head-copy, .sgr-document-pack__intro-main, .trts-price-head) > h2,
  main:has(> .hc-hero) > .hc-section:not(.hc-hero) .hc-heading {
    font-size: 33px;
  }

  :is(main:has(> .hero > .container.hero-grid), main.pb-page) > .hero > .container,
  :is(main:has(> .hero > .container.hero-grid), main.pb-page) > .section > .container {
    width: calc(100% - 40px);
  }

  .organic-page main > .section > .wrap,
  .organic-page main #price .price-banner .wrap {
    width: calc(100% - 40px);
  }
}


/* Site CTA standard: the homepage gradient, lower edge, radius and shadow.
   Only visual tokens override page-owned CTA styles. Width and placement stay local. */
@font-face {
  font-family: GothamPro;
  src: url("/wp-content/themes/gk/landings/glavnaya/assets/fonts/gotham-pro-bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root body :is(.btn, .btn-blue, .btn--blue, .hc-button, .sgr26-button, .trts-btn, .cn-button,
  .wp-block-button__link, .wp-element-button, .elementor-button, .button-primary,
  .wpcf7-submit, input[type="submit"], button[type="submit"]):not(#gk-home *):not(.quiz-ghost) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 68px !important;
  padding: 24px 36px 21px !important;
  gap: 12px;
  border: 0 !important;
  border-bottom: 3px solid #1a54a8 !important;
  border-radius: 15px !important;
  color: #fff !important;
  background-color: #428bf4 !important;
  background-image: linear-gradient(to top, #3175d6 0, #428bf4 100%) !important;
  box-shadow: 0 30px 15px -20px rgba(26, 84, 168, .7) !important;
  font-family: Manrope, Inter, Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  text-align: center;
  text-decoration: none !important;
  transition: box-shadow .2s, transform .2s, opacity .2s;
}
:root body :is(.btn, .btn-blue, .btn--blue, .hc-button, .sgr26-button, .trts-btn, .cn-button,
  .wp-block-button__link, .wp-element-button, .elementor-button, .button-primary,
  .wpcf7-submit, input[type="submit"], button[type="submit"]):not(#gk-home *):not(:disabled):not([aria-disabled="true"]):hover {
  opacity: .96;
  filter: none !important;
  box-shadow: 0 30px 15px -15px rgba(26, 84, 168, .6) !important;
  transform: translateY(-2px);
}
:root body :is(.btn, .hc-button, .sgr26-button, .trts-btn, .cn-button,
  .wp-block-button__link, .wp-element-button, .elementor-button, .button-primary,
  .wpcf7-submit, input[type="submit"], button[type="submit"]):not(#gk-home *):focus-visible {
  outline: 3px solid #8bd0df;
  outline-offset: 4px;
}
:root body :is(.btn, .hc-button, .sgr26-button, .trts-btn, .cn-button,
  .wpcf7-submit, input[type="submit"], button[type="submit"]):not(#gk-home *):is(:disabled, [aria-disabled="true"]) {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}
:root body :is(.wpcf7-submit, .wpcf7 .btn, .wpcf7 input[type="submit"], .wpcf7 button[type="submit"]):not(#gk-home *) {
  font-family: GothamPro, Inter, Arial, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 1.3px !important;
  text-transform: uppercase !important;
}
:root body :is(.hc-button-outline, .pb-btn-outline, .cn-button-secondary):not(#gk-home *) {
  color: #3175d6 !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid #428bf4 !important;
  border-bottom: 3px solid #1a54a8 !important;
  box-shadow: none !important;
}
.organic-page main > .hero > .wrap { padding-top: 16px; }
.organic-page main > .hero .actions { row-gap: 16px; }
@media (max-width: 1200px) {
  .organic-page main > .hero > .wrap { padding-top: 24px; }
}
@media (max-width: 650px) {
  :root body :is(.btn, .btn-blue, .btn--blue, .hc-button, .sgr26-button, .trts-btn, .cn-button,
    .wp-block-button__link, .wp-element-button, .elementor-button, .button-primary,
    .wpcf7-submit, input[type="submit"], button[type="submit"]):not(#gk-home *):not(.quiz-ghost) {
    min-height: 64px !important;
    padding: 22px 24px 19px !important;
    font-size: 16px !important;
  }
  :root body :is(.wpcf7-submit, .wpcf7 .btn, .wpcf7 input[type="submit"], .wpcf7 button[type="submit"]):not(#gk-home *) {
    font-size: 12px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root body :is(.btn, .hc-button, .sgr26-button, .trts-btn, .cn-button,
    .wp-block-button__link, .wp-element-button, .elementor-button, .button-primary,
    .wpcf7-submit, input[type="submit"], button[type="submit"]):not(#gk-home *) { transition: none; }
}
