.elementor-17 .elementor-element.elementor-element-f76c34a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-17 .elementor-element.elementor-element-8c4f465{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-17 .elementor-element.elementor-element-e3be0d1{--display:flex;--gap:25px 25px;--row-gap:25px;--column-gap:25px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17 .elementor-element.elementor-element-8e13663{--display:flex;}.elementor-widget-image .widget-image-caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-17 .elementor-element.elementor-element-45c28c5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-17 .elementor-element.elementor-element-d8b89ad .elementor-blockquote:before{font-size:calc(1px * 100);}.elementor-17 .elementor-element.elementor-element-b87c64a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-17 .elementor-element.elementor-element-45e5ec7{--display:flex;}.elementor-17 .elementor-element.elementor-element-d3c72f8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-17 .elementor-element.elementor-element-d8b89ad{padding:15px 15px 15px 15px;}}/* Start custom CSS *//* =========================================
   RUBA CHARINA — BACKGROUND PAGE FIX
========================================= */

.rc-bg-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 74% 16%, rgba(216,176,157,.055), transparent 34%),
    #080809;
  color: #e8e1d8;
}

/* Force Elementor containers to behave */
.rc-bg-page .e-con {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
}

.rc-bg-page .elementor-widget,
.rc-bg-page .elementor-widget-container,
.rc-bg-page .elementor-heading-title,
.rc-bg-page .elementor-widget-text-editor p {
  margin: 0 !important;
}

/* Shared width */

.rc-bg-section {
  width: min(1120px, calc(100% - 72px));
  margin-inline: auto;
}

/* HERO */

.rc-bg-hero {
  min-height: auto;

  display: grid !important;
  grid-template-columns: minmax(340px, .82fr) minmax(520px, 1.18fr);
  align-items: center;
  gap: clamp(72px, 8vw, 130px);

  padding-top: clamp(170px, 16vw, 230px);
  padding-bottom: clamp(130px, 11vw, 170px);
}

.rc-bg-hero-text {
  max-width: 460px;
}

.rc-bg-kicker {
  margin: 0 0 18px !important;

  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .32em;
  text-transform: uppercase;

  color: #d8b09d;
}

.rc-bg-title {
  margin: 0 0 24px !important;

  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: clamp(62px, 5.6vw, 96px);
  font-weight: 300;
  line-height: .94;
  letter-spacing: -.04em;

  color: #e8e1d8;
}

.rc-bg-intro {
  max-width: 390px;

  font-size: 13px;
  font-weight: 400;
  line-height: 1.7;

  color: rgba(232,225,216,.68);
}

.rc-bg-hero-image {
  width: 100%;
  max-width: 620px;
  justify-self: end;
}

.rc-bg-hero-image img,
.rc-bg-hero-image .rc-bg-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;

  filter: grayscale(12%) contrast(1.06);
}

/* ABOUT */

.rc-bg-about {
  display: grid !important;
  grid-template-columns: minmax(300px, .78fr) minmax(460px, 1.22fr);
  align-items: start;
  gap: clamp(72px, 9vw, 140px);

  padding-top: clamp(84px, 8vw, 120px);
  padding-bottom: clamp(120px, 12vw, 180px);

  border-top: 1px solid rgba(232,225,216,.12);
}

.rc-bg-portrait {
  width: 100%;
  max-width: 360px;
}

.rc-bg-portrait img,
.rc-bg-portrait .rc-bg-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  min-height: 500px !important;

  filter: grayscale(100%) contrast(1.06);
}

.rc-bg-about-text {
  max-width: 560px;
  padding-top: 0;
}

.rc-bg-about-text .rc-bg-kicker {
  margin-bottom: 28px !important;
  color: rgba(232,225,216,.58);
}

.rc-bg-body {
  max-width: 560px;

  font-size: 14px;
  line-height: 1.85;

  color: rgba(232,225,216,.68);
}

.rc-bg-body p {
  margin: 0 0 24px !important;
}

.rc-bg-body p:last-child {
  margin-bottom: 0 !important;
}

/* Tablet */

@media (max-width: 1024px) {
  .rc-bg-section {
    width: min(860px, calc(100% - 48px));
  }

  .rc-bg-hero,
  .rc-bg-about {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .rc-bg-hero {
    padding-top: 140px;
    padding-bottom: 90px;
  }

  .rc-bg-hero-image {
    justify-self: start;
    max-width: 680px;
  }

  .rc-bg-portrait {
    max-width: 420px;
  }
}

/* Mobile */

@media (max-width: 700px) {
  .rc-bg-section {
    width: calc(100% - 40px);
  }

  .rc-bg-hero {
    padding-top: 118px;
    padding-bottom: 72px;
    gap: 42px;
  }

  .rc-bg-title {
    font-size: clamp(46px, 14vw, 66px);
    line-height: .98;
  }

  .rc-bg-hero-image img,
  .rc-bg-hero-image .rc-bg-image {
    aspect-ratio: 4 / 5;
  }

  .rc-bg-about {
    gap: 38px;
    padding-top: 64px;
    padding-bottom: 92px;
  }

  .rc-bg-body {
    font-size: 13px;
    line-height: 1.75;
  }
}

/* =========================================
   RUBA BACKGROUND — ELEMENTOR GRID HARD FIX
========================================= */

/* Main about row must be grid */
.rc-bg-about {
  display: grid !important;
  grid-template-columns: 320px minmax(0, 560px) !important;
  justify-content: start !important;
  align-items: start !important;
  column-gap: 72px !important;

  width: min(1120px, calc(100% - 72px)) !important;
  margin-inline: auto !important;

  padding-top: 90px !important;
  padding-bottom: 140px !important;
}

/* Stop Elementor flex from shrinking children */
.rc-bg-about > .e-con-inner {
  display: contents !important;
}

.rc-bg-about .rc-bg-portrait,
.rc-bg-about .rc-bg-about-text {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
}

/* Image */
.rc-bg-portrait {
  grid-column: 1 !important;
}

.rc-bg-portrait img {
  width: 320px !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Text */
.rc-bg-about-text {
  grid-column: 2 !important;
  max-width: 560px !important;
}

.rc-bg-about-text .rc-bg-kicker {
  margin-bottom: 28px !important;
}

.rc-bg-body,
.rc-bg-body p {
  max-width: 560px !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  color: rgba(232,225,216,.68) !important;
}

/* Mobile */
@media (max-width: 800px) {
  .rc-bg-about {
    grid-template-columns: 1fr !important;
    row-gap: 36px !important;
  }

  .rc-bg-portrait,
  .rc-bg-about-text {
    grid-column: 1 !important;
  }

  .rc-bg-portrait img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
}

/* =========================================
   RUBA — BLOCKQUOTE WIDGET
========================================= */

.rc-quote {
  width: min(920px, 100%);
  margin: clamp(96px, 10vw, 150px) auto;
  padding: clamp(48px, 5vw, 72px) 0;

  border-top: 1px solid rgba(232,225,216,.12);
  border-bottom: 1px solid rgba(232,225,216,.12);
}

/* remove Elementor quote box styling */
.rc-quote blockquote,
.rc-quote .elementor-blockquote,
.rc-quote .elementor-blockquote__content {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* quote mark */
.rc-quote blockquote::before,
.rc-quote .elementor-blockquote::before {
  content: "“";
  display: block;

  margin-bottom: 22px;

  font-family: "Cormorant Garamond", serif;
  font-size: clamp(64px, 7vw, 96px);
  font-weight: 300;
  line-height: .65;

  color: #d8b09d;
}

/* quote text */
.rc-quote blockquote,
.rc-quote blockquote p,
.rc-quote .elementor-blockquote__content,
.rc-quote .elementor-blockquote__content p {
  max-width: 820px;

  font-family: "Cormorant Garamond", serif !important;
  font-size: clamp(32px, 4vw, 54px) !important;
  font-weight: 300 !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;

  color: rgba(232,225,216,.9) !important;
}

/* optional author */
.rc-quote .elementor-blockquote__author {
  margin-top: 34px !important;

  font-family: "Inter", sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .26em !important;
  text-transform: uppercase !important;

  color: rgba(232,225,216,.46) !important;
}

/* Mobile */

@media (max-width:700px) {
  .rc-quote {
    margin: 72px auto;
    padding: 42px 0;
  }

  .rc-quote blockquote,
  .rc-quote blockquote p,
  .rc-quote .elementor-blockquote__content,
  .rc-quote .elementor-blockquote__content p {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
}/* End custom CSS */