/* Oksana Luxury Homes — design-consistency layer (2026-09-03).
 * Presentation only. Selector prefixes match existing home-redesign / kit layers
 * so these rules win without editing those files. */

:root {
  --ok-type-h1: 72px;
  --ok-type-h1-mobile: 50px;
  --ok-type-h2: 48px;
  --ok-type-h3: 32px;
  --ok-type-body: 16px;
  --ok-type-body-min: 15px;
  --ok-type-card-title: 28px;
  --ok-type-price: 20px;
  --ok-scrim-ink: 17, 25, 18;
}

/* -------------------------------------------------------------------------- */
/* Overlay scrim                                                              */
/* -------------------------------------------------------------------------- */

body.oksana-home-redesign .elementor.elementor-17 #home-hero {
  background-image:
    linear-gradient(
      to top,
      rgba(var(--ok-scrim-ink), 0.72) 0%,
      rgba(var(--ok-scrim-ink), 0.35) 40%,
      transparent 70%
    ),
    url("homepage-redesign/home-redesign-hero.webp") !important;
}

@media (max-width: 767px) {
  body.oksana-home-redesign .elementor.elementor-17 #home-hero {
    background-image:
      linear-gradient(
        to top,
        rgba(var(--ok-scrim-ink), 0.78) 0%,
        rgba(var(--ok-scrim-ink), 0.4) 42%,
        transparent 72%
      ),
      url("homepage-redesign/home-redesign-hero.webp") !important;
  }
}

body.elementor-page-17 .oksana-community-hero,
.oksana-community-hero {
  position: relative;
}

body .oksana-community-hero::before,
body.elementor-page-33 .oksana-community-hero::before,
body.elementor-page-34 .oksana-community-hero::before,
body.elementor-page-35 .oksana-community-hero::before,
body.elementor-page-36 .oksana-community-hero::before,
body.elementor-page-37 .oksana-community-hero::before,
body.elementor-page-38 .oksana-community-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  opacity: 1 !important;
  background-color: transparent !important;
  background-image: linear-gradient(
    to top,
    rgba(var(--ok-scrim-ink), 0.72) 0%,
    rgba(var(--ok-scrim-ink), 0.35) 40%,
    transparent 70%
  ) !important;
}

.oksana-community-hero > * {
  position: relative;
  z-index: 2;
}

body:is(
  .elementor-page-775,
  .elementor-page-774,
  .elementor-page-773,
  .elementor-page-772,
  .elementor-page-637,
  .elementor-page-40
) .elementor[data-elementor-type="wp-page"] > .e-con:first-child {
  position: relative;
}

body:is(
  .elementor-page-775,
  .elementor-page-774,
  .elementor-page-773,
  .elementor-page-772,
  .elementor-page-637,
  .elementor-page-40
) .elementor[data-elementor-type="wp-page"] > .e-con:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background: linear-gradient(
    to top,
    rgba(var(--ok-scrim-ink), 0.72) 0%,
    rgba(var(--ok-scrim-ink), 0.35) 40%,
    transparent 70%
  ) !important;
}

body:is(
  .elementor-page-775,
  .elementor-page-774,
  .elementor-page-773,
  .elementor-page-772,
  .elementor-page-637,
  .elementor-page-40
) .elementor[data-elementor-type="wp-page"] > .e-con:first-child > * {
  position: relative;
  z-index: 2;
}

/* -------------------------------------------------------------------------- */
/* Type scale                                                                 */
/* -------------------------------------------------------------------------- */

body.oksana-typography-normalized.elementor-page-17 .elementor.elementor-17 :is(
  #home-flagship,
  #home-difference,
  #home-sales,
  #home-paths,
  #home-about,
  #home-final-cta,
  .elementor-element-41215d7,
  .elementor-element-htestwrap,
  .elementor-element-3a93e98,
  .elementor-element-46de82c,
  .elementor-element-ceed6aa,
  .elementor-element-0641d3d,
  .elementor-element-bd01a00
) h2.elementor-heading-title,
body.oksana-home-redesign .elementor.elementor-17 #home-about .elementor-element-8874160 .elementor-heading-title,
body.oksana-home-redesign .elementor.elementor-17 #home-flagship .elementor-element-7beef58 .elementor-heading-title,
body.oksana-home-redesign .elementor.elementor-17 #home-difference .elementor-element-e80c7e0 .elementor-heading-title,
body.oksana-typography-normalized main h2.elementor-heading-title {
  font-family: "Cormorant Garamond", "Iowan Old Style", Georgia, serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.008em !important;
}

body.oksana-typography-normalized:not(.elementor-page-17) main h2.elementor-heading-title {
  font-family: "Cormorant Garamond", "Iowan Old Style", Georgia, serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}

body.oksana-typography-normalized.elementor-page-17 .elementor.elementor-17 #home-hero h1.elementor-heading-title,
body.oksana-typography-normalized main h1.elementor-heading-title {
  font-family: "Cormorant Garamond", "Iowan Old Style", Georgia, serif !important;
  font-size: 72px !important;
  line-height: 1.05 !important;
}

body.oksana-typography-normalized main h3.elementor-heading-title {
  font-family: "Cormorant Garamond", "Iowan Old Style", Georgia, serif !important;
  font-size: 32px !important;
  line-height: 1.2 !important;
}

body.oksana-typography-normalized.elementor-page-17 .elementor.elementor-17 :is(
  .elementor-element-8e89154,
  .elementor-element-032e192,
  .ok-repsales-item,
  .elementor-element-e54668f
) :is(h2, h3).elementor-heading-title,
body.oksana-typography-normalized :is(
  .elementor-element-aab60e1,
  .elementor-element-23b3b27
) :is(h2, h3).elementor-heading-title {
  font-size: 28px !important;
  line-height: 1.2 !important;
}

@media (max-width: 767px) {
  body.oksana-typography-normalized.elementor-page-17 .elementor.elementor-17 #home-hero h1.elementor-heading-title,
  body.oksana-typography-normalized main h1.elementor-heading-title,
  body.oksana-home-redesign .elementor.elementor-17 #home-hero .elementor-element-63eeaf9 .elementor-heading-title {
    font-size: 50px !important;
    line-height: 1.08 !important;
  }

  body.oksana-typography-normalized.elementor-page-17 .elementor.elementor-17 :is(
    #home-flagship,
    #home-difference,
    #home-sales,
    #home-paths,
    #home-about,
    #home-final-cta,
    .elementor-element-41215d7,
    .elementor-element-htestwrap,
    .elementor-element-3a93e98
  ) h2.elementor-heading-title,
  body.oksana-home-redesign .elementor.elementor-17 #home-about .elementor-element-8874160 .elementor-heading-title {
    font-size: 36px !important;
    line-height: 1.15 !important;
  }
}

/* Body minimum */
body.oksana-typography-normalized main .elementor-widget-text-editor,
body.oksana-typography-normalized main .elementor-widget-text-editor p,
body.oksana-home-redesign .elementor.elementor-17 .ok-repsales-item .elementor-widget-text-editor p,
body.oksana-home-redesign .elementor.elementor-17 #home-sales [data-id="032e192"] .elementor-widget-text-editor p {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

body.oksana-typography-normalized main :is(.oksana-privacy-note, .oksana-privacy-note p, .oksana-privacy-note a),
body.oksana-typography-normalized .elementor-location-footer :is(p, li, span) {
  font-size: 12px !important;
}

/* -------------------------------------------------------------------------- */
/* Homepage community cards → index pattern                                   */
/* -------------------------------------------------------------------------- */

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px 24px !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con {
  aspect-ratio: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  isolation: auto !important;
  position: relative !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image,
body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image .elementor-widget-container,
body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image a,
body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image img {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image,
body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image .elementor-widget-container,
body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image a {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  height: auto !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .elementor-widget-image img {
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .e-con {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  padding: 16px 2px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  z-index: 1 !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .e-con .elementor-heading-title {
  color: #17211a !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .e-con .elementor-widget-text-editor,
body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .e-con .elementor-widget-text-editor p {
  color: #59604f !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 > .e-con > .e-con .elementor-button {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #7a5f2e !important;
  min-height: 32px !important;
  padding: 8px 0 0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

@media (max-width: 900px) {
  body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.oksana-home-redesign .elementor.elementor-17 .elementor-element-8e89154 {
    grid-template-columns: 1fr !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Portfolio price                                                            */
/* -------------------------------------------------------------------------- */

body.oksana-typography-normalized.elementor-page-26:not(.elementor-page-17) main
  .elementor-element-23b3b27
  .elementor-widget-heading:not(.elementor-element-p33price):not(.elementor-element-4a25cdb):not(.elementor-element-6e7fc11)
  > .elementor-heading-title:not(h1, h2, h3, h4, h5, h6) {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: #c8a76e !important;
}

body.elementor-page-26 .elementor-element-23b3b27 > .e-con-inner > .e-con > .elementor-element:nth-child(3) .elementor-heading-title {
  font-size: 28px !important;
  line-height: 1.2 !important;
  color: #17211a !important;
}

/* -------------------------------------------------------------------------- */
/* About second portrait                                                      */
/* -------------------------------------------------------------------------- */

body.elementor-page-318 .ok-about-lifestyle-break > .e-con-inner {
  display: flex !important;
  justify-content: center !important;
  width: min(100%, 920px) !important;
  max-width: 920px !important;
}

body.elementor-page-318 .ok-about-lifestyle-break .elementor-widget-image {
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  margin-inline: auto !important;
}

/* -------------------------------------------------------------------------- */
/* Lead forms                                                                 */
/* -------------------------------------------------------------------------- */

body.oksana-home-redesign .elementor.elementor-17 #home-final-cta .oksana-forminator-home,
body.elementor-page-699 .elementor-element-dc699card,
body.elementor-page-636 .elementor-element-6c85379,
body.elementor-page-700 .ok-mkb-formsec .elementor-widget-shortcode .elementor-widget-container {
  background: #fbf8f0 !important;
  border: 1px solid #ddd6c5 !important;
  padding: 36px 32px !important;
  max-width: 760px;
  margin-inline: auto;
}

body.oksana-home-redesign .elementor.elementor-17 #home-final-cta .forminator-label,
body.elementor-page-699 .elementor-element-dc699card .forminator-label,
body.elementor-page-636 .elementor-element-6c85379 .forminator-label,
body.elementor-page-700 .ok-mkb-formsec .forminator-label {
  color: #59604f !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.oksana-home-redesign .elementor.elementor-17 #home-final-cta :where(.forminator-input, .forminator-textarea, .forminator-select2 + .select2 .select2-selection),
body.elementor-page-699 .elementor-element-dc699card :where(.forminator-input, .forminator-textarea, .select2-selection),
body.elementor-page-636 .elementor-element-6c85379 :where(.forminator-input, .forminator-textarea, .select2-selection),
body.elementor-page-700 .ok-mkb-formsec :where(.forminator-input, .forminator-textarea, .select2-selection) {
  background: #fff !important;
  border: 1px solid #ddd6c5 !important;
  border-radius: 0 !important;
  color: #17211a !important;
  font-size: 15px !important;
  min-height: 48px !important;
  box-shadow: none !important;
}

body.oksana-home-redesign .elementor.elementor-17 #home-final-cta :is(.select2-selection__rendered, .select2-selection__placeholder) {
  color: #17211a !important;
}

body.oksana-home-redesign .elementor.elementor-17 #home-final-cta .forminator-button-submit,
body.elementor-page-699 .forminator-button-submit,
body.elementor-page-636 .oksana-forminator-consult .forminator-button-submit,
body.elementor-page-636 button.forminator-button,
body.elementor-page-700 .forminator-button-submit,
body.oksana-forminator-consult :is(.forminator-button-submit, button.forminator-button) {
  background: #c8a76e !important;
  border: 1px solid #c8a76e !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #111912 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  min-height: 52px !important;
  padding: 16px 28px !important;
}

body.oksana-home-redesign .elementor.elementor-17 #home-final-cta .oksana-privacy-note,
body.oksana-home-redesign .elementor.elementor-17 #home-final-cta .oksana-privacy-note a {
  color: #59604f !important;
}

/* -------------------------------------------------------------------------- */
/* Journal topic links                                                        */
/* -------------------------------------------------------------------------- */

.ok-jcats a {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 8px 18px !important;
  border: 0 !important;
  border-right: 1px solid rgba(23, 33, 26, 0.22) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #17211a !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.ok-jcats a:last-child {
  border-right: 0 !important;
}

.ok-jcats a:hover {
  background: transparent !important;
  color: #7a5f2e !important;
}

.ok-jcats a .c {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #59604f !important;
}

.ok-jcats .row {
  gap: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* No leftover min-height bands                                               */
/* -------------------------------------------------------------------------- */

body.elementor-page-17 :is(
  .elementor-element-htestwrap,
  .elementor-element-3a93e98,
  #home-about
) {
  min-height: 0 !important;
}

@media (max-width: 767px) {
  body.oksana-home-redesign .elementor.elementor-17 #home-about > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}
