:root {
  --color-primary: #0F233B;
  --color-secondary: #C8B297;
  --color-accent: #2E495B;
  --color-bg: #FAF9F7;
  --color-white: #FAF9F7;
  --font-ui: 'Jost', sans-serif;
  --font-heading: 'Instrument Serif', serif;
  --font-decor: 'Ballet', serif;
  --font-accent: 'Forum', serif;

  --container-padding: 10px;
  --container-xl: 1440px;
  --container-lg: 1360px;
  --container-md: 1260px;
  --container-sm: 1230px;
  --container-xs: 891px;
  --container-xxs: 800px;
  --space-section-xl: 180px;
  --space-section-lg: 100px;
  --space-section-lm: 80px;
  --space-section-md: 60px;

  --gap-base: 20px;

  --align-items: center;

  --content-width: 100%;


  --h1-size: 90px;
  --h1-lh: 95%;

  --h2-size: 48px;
  --h2-lh: 1.1;

  --h3-size: 32px;
  --h3-lh: 1;

  --h4-size: 24px;
  --h4-lh: 1.2;

  --h5-size: 20px;
  --h5-lh: 1.2;

  --h6-size: 18px;
  --h6-lh: 1.3;

  
  --e-global-typography-text-font-family: var(--font-ui);
  --fluentform-border-radius: 0 !important;
  --fluentform-primary: var(--color-primary) !important;

  --decor-size: 180px;

}

body {
  font-family: var(--font-ui);
  color: var(--color-primary);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
}
.elementor-widget-heading h1 {
    font-size: var(--h1-size) !important;
    line-height: var(--h1-lh) !important;
}

.elementor-widget-heading h2 {
    font-size: var(--h2-size) !important;
    line-height: var(--h2-lh) !important;
}

.elementor-widget-heading h3 {
    font-size: var(--h3-size) !important;
    line-height: var(--h3-lh) !important;
}

.elementor-widget-heading h4 {
    font-size: var(--h4-size) !important;
    line-height: var(--h4-lh) !important;
}

.elementor-widget-heading h5 {
    font-size: var(--h5-size) !important;
    line-height: var(--h5-lh) !important;
}

.elementor-widget-heading h6 {
    font-size: var(--h6-size) !important;
    line-height: var(--h6-lh) !important;
}

.elementor-widget-heading .elementor-heading-title {
    font-family: var(--font-heading);
}
.text-accent {
  font-family: var(--font-accent);
}
.text-decor, 
.text-decor * {
  font-family: var(--font-decor);
  color: var(--color-secondary);
  font-size: var(--decor-size);
  text-align: center;
  line-height: 1.2;
}
.home-review .text-decor, 
.home-review .text-decor *{
  text-align: left !important;
  align-self: flex-start !important;
}
.layout {
  margin-inline: auto;
  padding-inline: var(--container-padding);
}
.layout-full { --content-width: 100%; --container-max-width: 100%; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.layout-xl {
  --width: var(--container-xl);
}

.layout-lg {
  --width: var(--container-lg);
}

.layout-md {
  --width: var(--container-md);
}

.layout-sm {
  --width: var(--container-sm);
}

.layout-xs {
  --width: var(--container-xs);
}

.layout-xxs {
  --width: var(--container-xxs);
}

.layout-sm, .layout-md, .layout-lg, .layout-xl, .layout-xs, .layout-xxs {
    --content-width: var(--width);
    --container-max-width: var(--width);
    max-width:100% !important;
}

.woocommerce .site-main {
  max-width: var(--container-lg);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}
.woocommerce,
.woocommerce-page {
  font-family: var(--font-ui);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4,
.woocommerce h5,
.woocommerce h6 {
  font-family: var(--font-heading);
}
.woocommerce section {
  margin-bottom: var(--space-section-md);
}
.mb-0 { margin-bottom: 0 !important; }
.mb-sm, .mb-60 { margin-bottom: var(--space-section-md); }
.mb-lm, .mb-80 { margin-bottom: var(--space-section-lm); }
.mb-lg, .mb-100 { margin-bottom: var(--space-section-lg); }
.mb-xl, .mb-180 { margin-bottom: var(--space-section-xl); }

.text-center { text-align: center; }

footer .layout-xl{
  --width: 1440px !important;
  margin:0 auto;
}
footer .e-con {
    --padding-top: 0;
    --padding-bottom: 0;
    --padding-left: 0;
    --padding-right: 0;
}
.label-xl{
  font-size: 140px;
  line-height: 1.2;
}

@media (max-width: 1440px){
  .layout-xl{
    padding-left:20px;
    padding-right:20px;
  }
  .planning-images.layout-xl{
    padding-left:0;
    padding-right:0;
  }
  footer .layout-xl{
    padding-left:0;
    padding-right:0;
  }
}

@media (max-width: 1024px) {
  :root {
    --h1-size: clamp(50px, 8vw, 90px);
    --h2-size: clamp(26px, 6vw, 48px);
    --decor-size: clamp(60px, 12vw, 120px);
    --space-section-xl: 160px;
    --space-section-lm: 60px;
    --space-section-lg: 60px;
    --space-section-md: 40px;
    --space-section-sm: 20px;
  }
  .n2-ss-control-bullet{
    --widget-offset: 0px !important;
  }
  .my-custom-decor div{
    font-size:140px !important;
  }
  .main-heading div p{
    font-size: 96px !important;
  }
}
@media (max-width:768px){
  :root{
    --space-section-xl: 140px;
  }
  .layout-xxs{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .my-custom-decor div{
    font-size:96px !important;
  }
  .home-review .text-decor * {
    text-align: center !important;
    align-self: center !important;
  }
  
}