.elementor-77 .elementor-element.elementor-element-fbf85b1{--display:flex;--position:relative;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:rgba(0,0,0,0);--border-color:rgba(0,0,0,0);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;}.elementor-77 .elementor-element.elementor-element-fbf85b1:not(.elementor-motion-effects-element-type-background), .elementor-77 .elementor-element.elementor-element-fbf85b1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F4EA;}body:not(.rtl) .elementor-77 .elementor-element.elementor-element-fbf85b1{left:0px;}body.rtl .elementor-77 .elementor-element.elementor-element-fbf85b1{right:0px;}.elementor-77 .elementor-element.elementor-element-c98798e{--display:flex;--position:relative;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:14px;--padding-bottom:14px;--padding-left:0px;--padding-right:0px;top:0px;--z-index:2;}body:not(.rtl) .elementor-77 .elementor-element.elementor-element-c98798e{left:0px;}body.rtl .elementor-77 .elementor-element.elementor-element-c98798e{right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-77 .elementor-element.elementor-element-6abd3ce{text-align:start;}.elementor-77 .elementor-element.elementor-element-6abd3ce img{width:200px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-menu-toggle{margin-left:auto;}.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu .elementor-item{font-family:"Archivo", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1.7px;}.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--main .elementor-item{color:#003D26;fill:#003D26;padding-left:15px;padding-right:15px;}.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--main .elementor-item:focus{color:#C22E1B;fill:#C22E1B;}.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#003D26;}.elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--dropdown .elementor-item, .elementor-77 .elementor-element.elementor-element-d478e47 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Roboto Slab", Sans-serif;font-size:22px;font-weight:700;text-transform:none;}.elementor-77 .elementor-element.elementor-element-d478e47 div.elementor-menu-toggle{color:#003D26;}.elementor-77 .elementor-element.elementor-element-d478e47 div.elementor-menu-toggle svg{fill:#003D26;}.elementor-77 .elementor-element.elementor-element-d478e47 div.elementor-menu-toggle:hover, .elementor-77 .elementor-element.elementor-element-d478e47 div.elementor-menu-toggle:focus{color:#C22E1B;}.elementor-77 .elementor-element.elementor-element-d478e47 div.elementor-menu-toggle:hover svg, .elementor-77 .elementor-element.elementor-element-d478e47 div.elementor-menu-toggle:focus svg{fill:#C22E1B;}.elementor-77 .elementor-element.elementor-element-d478e47{--nav-menu-icon-size:22px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-77 .elementor-element.elementor-element-22a1de8 .elementor-button{background-color:#C22E1B;font-family:"Archivo", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.3px;fill:#FFFFFF;color:#FFFFFF;border-radius:999px 999px 999px 999px;}.elementor-77 .elementor-element.elementor-element-22a1de8 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-77 .elementor-element.elementor-element-22a1de8 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-77 .elementor-element.elementor-element-22a1de8 .elementor-button:hover, .elementor-77 .elementor-element.elementor-element-22a1de8 .elementor-button:focus{color:#FFFFFF;}.elementor-77 .elementor-element.elementor-element-22a1de8 .elementor-button:hover svg, .elementor-77 .elementor-element.elementor-element-22a1de8 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-77 .elementor-element.elementor-element-c98798e{--padding-top:12px;--padding-bottom:12px;--padding-left:24px;--padding-right:24px;}}@media(min-width:768px){.elementor-77 .elementor-element.elementor-element-c98798e{--content-width:1200px;}}@media(max-width:767px){.elementor-77 .elementor-element.elementor-element-c98798e{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:18px;--padding-right:18px;}.elementor-77 .elementor-element.elementor-element-6abd3ce img{width:140px;}}/* Start custom CSS *//* === Header background ===
   Elementor's sticky implementation toggles `elementor-sticky--effects` on
   scroll, but it is also present at scroll=0 once `position:fixed` engages,
   so we cannot reliably switch styles based on it. We pick one calibrated
   state (cream .92 alpha + hairline border) — between the design's rest
   (.88, transparent border) and scrolled (.96, line border) — which reads
   the same in both contexts and keeps the header visually consistent. */
.vtv-site-header{
  background:rgba(246,244,234,.92) !important;
  backdrop-filter:saturate(120%) blur(10px);
  -webkit-backdrop-filter:saturate(120%) blur(10px);
  border-bottom:1px solid #E2DFD0 !important;
  transition:background .2s ease, border-color .2s ease;
}

/* === Logo === */
.vtv-site-logo img{
  height:56px !important;width:auto !important;display:block;
}
@media(min-width:980px){
  .vtv-site-logo img{height:64px !important}
}

/* === Nav menu — typography fallback (design-system §2.2 "Nav link":
       Archivo 600 12px UPPERCASE letter-spacing .14em, color --green-900).
       Also overrides any global typography that leaks into menu links. === */
.vtv-nav-menu .elementor-nav-menu a.elementor-item{
  font-family:'Archivo', sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:.14em !important;
  color:#003D26;
  position:relative;
  padding-top:10px !important;padding-bottom:10px !important;
}
.vtv-nav-menu .elementor-nav-menu a.elementor-item:hover{
  color:#C22E1B;
}
.vtv-nav-menu .elementor-nav-menu a.elementor-item.elementor-item-active{
  color:#003D26;
}

/* Custom lime underline that animates from-center on hover/active. Elementor
   ships its own ::after rule on nav-menu items with `background-color:
   var(--e-nav-menu-pointer-color)` (= the hover/active link color, which is
   tomato in our case) — we override with !important to keep lime. */
.vtv-nav-menu .elementor-nav-menu a.elementor-item::before{
  display:none !important;
}
.vtv-nav-menu .elementor-nav-menu a.elementor-item::after{
  content:"" !important;
  display:block !important;
  position:absolute;
  left:50%;right:50%;bottom:4px;
  height:3px !important;
  background:#C5D76A !important;
  background-color:#C5D76A !important;
  border-radius:2px;
  transition:left .25s ease,right .25s ease;
}
.vtv-nav-menu .elementor-nav-menu a.elementor-item:hover::after,
.vtv-nav-menu .elementor-nav-menu a.elementor-item.elementor-item-active::after{
  left:8px !important;right:8px !important;
}

/* === CTA button — design-system §3.2 btn-primary spec ===
   Elementor's button widget uses the `size` preset (md = 15×30 padding) and
   the `button_text_padding` JSON key from the helper doesn't always apply,
   so we enforce the canonical 14×24 padding + ~48px intrinsic height here. */
.vtv-cta-button .elementor-button{
  padding:14px 24px !important;
  transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.vtv-cta-button .elementor-button:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px -8px rgba(194,46,27,.6);
}

/* === CTA button: hide on mobile (the hamburger replaces it visually) === */
@media(max-width:767px){
  .vtv-site-header .vtv-cta-button{display:none !important}
}

/* === Hamburger toggle === */
.vtv-nav-menu .elementor-menu-toggle{
  background:transparent;
  border-radius:8px;
}/* End custom CSS */