:root {
  /* Brand Colors */
  --color-primary: #ffca06;
  --color-secondary: #6A4E38;
  --color-accent: #2F9FB0;

  /* Text & Neutral Colors */
  --color-headline: #1c2826;
  --color-body: #4a4a4a;
  --color-dark-neutral: #24332D;
  --color-light-neutral: #F4F0EB;
  --color-white: #FFFFFF;

  /* System Colors */
  --color-info: #0b7aa8;
  --color-warning: #FF9800;
  --color-error: #d63333;
  --color-success: #4caf50;

  /* --- Font Sizes (Based on the clamp structure) --- */
    --fs-h1: clamp(2.5rem, 6vw + 1rem, 3.6rem);
    --fs-h2: clamp(2rem, 4vw + 1rem, 3rem);
    --fs-h3: clamp(1.5rem, 3vw + 1rem, 2.5rem);
    --fs-h4: clamp(1.25rem, 2.5vw + 0.5rem, 2rem);
    --fs-h5: clamp(1.1rem, 2vw + 0.5rem, 1.5rem);
    --fs-h6: clamp(1rem, 1.5vw + 0.5rem, 1.25rem);
    --fs-p: clamp(1rem, 0.5vw + 1rem, 1.125rem);
    --fs-small-1: clamp(0.875rem, 0.5vw + 0.8rem, 1rem);
    --fs-small-2: clamp(0.75rem, 0.4vw + 0.7rem, 0.875rem);

}

/* --- Font Size Utilities --- */

/* H1: clamp(2.5rem, 6vw + 1rem, 3.6rem) */
.fs-h1 {
    font-size: var(--fs-h1);
}

/* H2: clamp(2rem, 4vw + 1rem, 3rem) */
.fs-h2 {
    font-size: var(--fs-h2);
}

/* H3: clamp(1.5rem, 3vw + 1rem, 2.5rem) */
.fs-h3 {
    font-size: var(--fs-h3);
}

/* H4: clamp(1.25rem, 2.5vw + 0.5rem, 2rem) */
.fs-h4 {
    font-size: var(--fs-h4);
}

/* H5: clamp(1.1rem, 2vw + 0.5rem, 1.5rem) */
.fs-h5 {
    font-size: var(--fs-h5);
}

/* H6: clamp(1rem, 1.5vw + 0.5rem, 1.25rem) */
.fs-h6 {
    font-size: var(--fs-h6);
}

/* P (Body Text): clamp(1rem, 0.5vw + 1rem, 1.125rem) */
.fs-p {
    font-size: var(--fs-p);
}

/* Small 1: clamp(0.875rem, 0.5vw + 0.8rem, 1rem) */
.fs-small-1 {
    font-size: var(--fs-small-1);
}

/* Small 2: clamp(0.75rem, 0.4vw + 0.7rem, 0.875rem) */
.fs-small-2 {
    font-size: var(--fs-small-2);
}

/* Home CSS */
/* ===== MAIN CONTAINER - GRID ===== */
.hero-wrapper .vc_column-inner > .wpb_wrapper {
  display: grid !important;
  grid-template-columns: 1fr !important;
  min-height: 80vh;
}

/* Both children occupy same grid cell = overlay effect */
.hero-wrapper .hero-inner-wrapper,
.hero-wrapper .hero-inner-content-wrapper {
  grid-column: 1;
  grid-row: 1;
}

/* ===== SLIDER WRAPPER - GRID ===== */
.hero-wrapper .hero-inner-wrapper {
  display: grid !important;
  grid-template-columns: 1fr !important;
  z-index: 1;
}

/* Both sliders occupy same grid cell */
.hero-wrapper .hero-inner-wrapper > * {
  grid-column: 1;
  grid-row: 1;
}

/* Portrait slider - visible on mobile/tablet */
.hero-wrapper .hide_on_default.hide_on_laptops {
  display: block;
  width: 100%;
}

/* Desktop slider - hidden on mobile/tablet */
.hero-wrapper .hide_on_tablets.hide_on_mobiles {
  display: none;
}

.w-toplink:not(.w-btn) {
    background-color: var(--color-accent, #2F9FB0)!important;
}

/* ===== CONTENT WRAPPER - FLEX FOR COLUMN ===== */
.hero-inner-content-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-self: center;
  z-index: 10;
}

/* ===== TABLET 1024px ===== */
@media (min-width: 1024px) {
  .hero-inner-content-wrapper {
    justify-self: center;
    max-width: 700px;
    /* padding: 2rem; */
  }
}

/* ===== DESKTOP 1280px ===== */
@media (min-width: 1280px) {
  .hero-wrapper .vc_column-inner > .wpb_wrapper {
    height: 80vh;
  }
  
  /* Hide portrait slider */
  .hero-wrapper .hide_on_default.hide_on_laptops {
    display: none;
  }
  
  /* Show desktop slider */
  .hero-wrapper .hide_on_tablets.hide_on_mobiles {
    display: block;
    width: 100vw;
  }
  
  /* Content centered at 1280px */
  .hero-inner-content-wrapper {
    justify-self: center;
    max-width: 1280px;
    width: 100%;
    /* padding: 0 2rem 3rem;*/
    gap: 1.5rem;
  }
}

.hero-inner-content-wrapper .wpb_text_column {
    margin-bottom: 0!important;
}

h1.home-main-headline {
    color: var(--color-white);
    font-size: var(--fs-h1);
    line-height: 1.1;
    margin-bottom: 0!important;
    font-weight: 800;
}

div.home-main-tagline {
    color: var(--color-white);
    font-size: var(--fs-h4);
    line-height: 1.1;
    margin-bottom: 0!important;
    font-weight: 300;
}

    .home-hero .l-section-h,
    .home-hero .g-cols,
    .home-hero .vc_col-sm-12,
    .home-hero .vc_column-inner {
        padding: 0 !important;
        margin: 0 !important;
    }

@media (max-width: 1024px) {
    .home-hero .l-section-h,
    .home-hero .g-cols,
    .home-hero .vc_col-sm-12,
    .home-hero .vc_column-inner {
        padding: 0 !important;
        margin: 0 !important;
    }
}

.inner-wrapper-column-5-3 .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  align-items: flex-start;
}

@media (min-width: 1025px) {
  .inner-wrapper-column-5-3 .vc_column-inner > .wpb_wrapper {
    display: grid;
    grid-template-columns: 5fr 3fr;
    gap: 3rem;
    padding-top: 4rem;
    padding-bottom: 4rem;
    align-items: center;
}
}

.main-intro-text {
  font-size: var(--fs-h3);
  font-weight: 300;
  grid-column-end: span 8;
  grid-column-start: 4;
  letter-spacing: .03em;
  line-height: 110%;
}

.main-intro-media {
  border-radius: 1.2rem;
}

/* Footer CSS */
.inner-footer-wrapper-column-3 .vc_column-inner > .wpb_wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  
}

@media (min-width: 1025px) {
  .inner-footer-wrapper-column-3 .vc_column-inner > .wpb_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    
  }
}