.elementor-42 .elementor-element.elementor-element-58b3f159{--display:flex;--min-height:80px;--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;--justify-content:space-between;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2rem;--padding-bottom:1rem;--padding-left:3rem;--padding-right:3rem;}.elementor-42 .elementor-element.elementor-element-58b3f159.e-con{--align-self:center;}.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 );color:var( --e-global-color-primary );}.elementor-42 .elementor-element.elementor-element-2fbc8d2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 15px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-42 .elementor-element.elementor-element-2fbc8d2.elementor-element{--align-self:center;}.elementor-42 .elementor-element.elementor-element-2fbc8d2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;color:var( --e-global-color-588d295 );}.elementor-42 .elementor-element.elementor-element-7c26512{--display:flex;--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:center;--align-items:center;--gap:3rem 3rem;--row-gap:3rem;--column-gap:3rem;--flex-wrap:nowrap;--padding-top:0rem;--padding-bottom:0rem;--padding-left:3.5rem;--padding-right:3.5rem;}.elementor-42 .elementor-element.elementor-element-7c26512.e-con{--align-self:flex-start;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-42 .elementor-element.elementor-element-462514b{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;text-transform:lowercase;letter-spacing:0.14em;color:#6E6862;}.elementor-42 .elementor-element.elementor-element-462514b a{color:#6E6862;}.elementor-42 .elementor-element.elementor-element-5a2a385{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;text-transform:lowercase;letter-spacing:0.14em;color:#6E6862;}.elementor-42 .elementor-element.elementor-element-5a2a385 a{color:#6E6862;}.elementor-42 .elementor-element.elementor-element-9ba1a11{font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;text-transform:lowercase;letter-spacing:0.14em;color:#6E6862;}.elementor-42 .elementor-element.elementor-element-9ba1a11 a{color:#6E6862;}.elementor-42 .elementor-element.elementor-element-3ff003a{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;text-transform:lowercase;letter-spacing:0.14em;color:#6E6862;}.elementor-42 .elementor-element.elementor-element-3ff003a.elementor-element{--align-self:flex-start;}.elementor-42 .elementor-element.elementor-element-3ff003a p{margin-block-end:0px;}.elementor-42 .elementor-element.elementor-element-3ff003a a{color:#6E6862;}.elementor-42 .elementor-element.elementor-element-86ca37f{font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;text-transform:lowercase;letter-spacing:0.14em;color:#6E6862;}.elementor-42 .elementor-element.elementor-element-86ca37f a{color:#6E6862;}.elementor-42 .elementor-element.elementor-element-5fff299{font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;text-transform:lowercase;letter-spacing:0.14em;color:#6E6862;}.elementor-42 .elementor-element.elementor-element-5fff299 a{color:#6E6862;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );--n-menu-divider-color:var( --e-global-color-text );}.elementor-42 .elementor-element.elementor-element-648de0b{--display:flex;}.elementor-42 .elementor-element.elementor-element-d7da2fd{--display:flex;}.elementor-42 .elementor-element.elementor-element-d83fe9a{--display:flex;}.elementor-42 .elementor-element.elementor-element-7a4a5f1{--display:flex;}.elementor-42 .elementor-element.elementor-element-236ea49{--display:flex;}.elementor-42 .elementor-element.elementor-element-8eafa3d{--display:flex;}.elementor-42 .elementor-element.elementor-element-ff45170{--n-menu-dropdown-content-max-width:fit-content;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-font-size:48px;--n-menu-title-color-normal:#8E8880;--n-menu-divider-content:"";--n-menu-divider-style:solid;--n-menu-divider-width:1px;--n-menu-divider-color:#6E68624F;--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-color:#989187;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-color-active:#B8832E;--n-menu-toggle-icon-distance-from-dropdown:0px;--n-menu-title-active-color-dropdown:#B8832ECF;}.elementor-42 .elementor-element.elementor-element-ff45170 > .e-n-menu[data-layout='dropdown'] > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:not( .e-current ){background:#0F0D0AD6;}.elementor-42 .elementor-element.elementor-element-ff45170 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-42 .elementor-element.elementor-element-ff45170 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-42 .elementor-element.elementor-element-ff45170 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Inter", Sans-serif;font-weight:400;text-transform:lowercase;--n-menu-title-line-height:1.8;}.elementor-42 .elementor-element.elementor-element-ff45170 {--n-menu-title-color-hover:#B8832E;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-42 .elementor-element.elementor-element-58b3f159{--content-width:1600px;}}@media(max-width:1024px){.elementor-42 .elementor-element.elementor-element-58b3f159{--gap:48px 48px;--row-gap:48px;--column-gap:48px;}.elementor-42 .elementor-element.elementor-element-7c26512{--justify-content:space-between;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-42 .elementor-element.elementor-element-58b3f159{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:1.5rem;--padding-bottom:1.5rem;--padding-left:1.5rem;--padding-right:1.5rem;}.elementor-42 .elementor-element.elementor-element-2fbc8d2{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:1px 43px 0px 0px;}.elementor-42 .elementor-element.elementor-element-2fbc8d2 .elementor-heading-title{font-size:14px;line-height:0.3em;}.elementor-42 .elementor-element.elementor-element-7c26512{--width:1144px;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:1rem 1rem;--row-gap:1rem;--column-gap:1rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-42 .elementor-element.elementor-element-7c26512.e-con{--align-self:center;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-42 .elementor-element.elementor-element-462514b{font-size:0.6rem;letter-spacing:0.1em;}.elementor-42 .elementor-element.elementor-element-5a2a385{font-size:0.6rem;letter-spacing:0.1em;}.elementor-42 .elementor-element.elementor-element-9ba1a11{text-align:center;font-size:0.6rem;}.elementor-42 .elementor-element.elementor-element-3ff003a{font-size:0.6rem;letter-spacing:0.1em;}.elementor-42 .elementor-element.elementor-element-86ca37f{text-align:center;font-size:0.6rem;}.elementor-42 .elementor-element.elementor-element-5fff299{text-align:center;font-size:0.6rem;}.elementor-widget-mega-menu{--n-menu-title-font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{--n-menu-title-line-height:var( --e-global-typography-accent-line-height );}.elementor-42 .elementor-element.elementor-element-ff45170{--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;margin:0px 35px calc(var(--kit-widget-spacing, 0px) + 0px) 35px;--n-menu-title-font-size:12px;--n-menu-title-padding:0px 0px 12px 0px;}.elementor-42 .elementor-element.elementor-element-ff45170.elementor-element{--align-self:center;--order:99999 /* order end hack */;}.elementor-42 .elementor-element.elementor-element-ff45170 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-42 .elementor-element.elementor-element-ff45170 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-42 .elementor-element.elementor-element-ff45170 > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{letter-spacing:0.5px;}}/* Start custom CSS for text-editor, class: .elementor-element-3ff003a */.elementor-42 .elementor-element.elementor-element-3ff003a {
  background: transparent !important;
  transition: background-color 0.8s ease, backdrop-filter 0.8s ease;
}

.elementor-42 .elementor-element.elementor-element-3ff003a.famo-nav-solid {
  background-color: rgba(15, 13, 10, 0.9) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7c26512 */@media (max-width: 768px) {
  .famo-header .elementor-widget-container {
    display: flex;
    align-items: center;
  }
  
  .famo-header .elementor-nav-menu--dropdown {
    text-align: center;
  }
}/* End custom CSS */
/* Start custom CSS for mega-menu, class: .elementor-element-ff45170 *//* ========== موبایل — همبرگر کامل ========== */
@media (max-width: 768px) {

  /* پنهان کردن منوی افقی */
  .elementor-widget-nav-menu .elementor-nav-menu--main {
    display: none !important;
  }

  /* نمایش تاگل */
  .elementor-widget-nav-menu .elementor-menu-toggle {
    display: flex !important;
  }

  /* دکمه همبرگر */
  .elementor-menu-toggle {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 6px !important;
    align-self: center !important;
    justify-content: center !important;
  }

  .elementor-menu-toggle .eicon-menu-bar,
  .elementor-menu-toggle .eicon-close {
    color: #8E8880 !important;
    font-size: 22px !important;
    transition: color 0.3s ease !important;
  }

  .elementor-menu-toggle:hover .eicon-menu-bar,
  .elementor-menu-toggle:hover .eicon-close {
    color: #B8832E !important;
  }

  /* منوی باز شده */
  .elementor-nav-menu--dropdown {
    background: rgba(15, 13, 10, 0.92) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 1px solid rgba(110, 104, 98, 0.1) !important;
    margin-top: 10px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* آیتم‌های منو */
  .elementor-nav-menu--dropdown a {
    font-family: 'Inter', 'Helvetica Neue', sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 350 !important;
    text-transform: lowercase !important;
    letter-spacing: 0.15em !important;
    color: #B0AAA4 !important;
    background: transparent !important;
    padding: 14px 24px !important;
    border: none !important;
    border-bottom: 1px solid rgba(110, 104, 98, 0.06) !important;
    transition: all 0.3s ease !important;
  }

  .elementor-nav-menu--dropdown a:hover,
  .elementor-nav-menu--dropdown a.highlighted {
    color: #B8832E !important;
    background: rgba(184, 131, 46, 0.04) !important;
    padding-left: 30px !important;
  }

  .elementor-nav-menu--dropdown li:last-child a {
    border-bottom: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-58b3f159 *//* ============================================================
   Famo.me — Header & Footer

   HEADER  transparent over the hero, frosts on scroll
   FOOTER  mid khaki #B8A894, solid

   WHERE: Appearance → Customize → Additional CSS

   CLASSES (Elementor → Advanced → CSS Classes)
     header container/section  → famo-header
     footer container/section  → famo-foot

   For the scroll effect the header must be sticky:
     Elementor Pro → header section → Advanced → Motion Effects
       → Sticky: Top   → Effects Offset: 40
   Elementor then adds .elementor-sticky--effects once you scroll,
   which is what triggers the frosted state below.
   ============================================================ */


/* ------------------------------------------------------------
   HEADER — state 1: at the top, fully transparent
   ------------------------------------------------------------ */

.famo-header,
.famo-header.e-con,
.elementor .famo-header {
  /* NOTE: position is deliberately NOT !important.
     Elementor's sticky sets position:fixed inline; an !important
     here would override it and the header would stop sticking. */
  position: relative;

  /* a whisper of warm frost — enough to read as a bar, not a panel */
  background-color: rgba(240, 233, 221, 0.16) !important;
  background-image: none !important;

  -webkit-backdrop-filter: blur(7px) saturate(105%) !important;
  backdrop-filter: blur(7px) saturate(105%) !important;

  border-bottom: 1px solid rgba(124, 102, 78, 0.07) !important;
  box-shadow: none !important;
  transition:
    background-color 320ms ease,
    border-color 320ms ease,
    box-shadow 320ms ease,
    padding 320ms ease !important;
}

/* a soft scrim so dark logo/menu text stays legible on the artwork.
   Delete this block if your header text is light. */
.famo-header::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    to bottom,
    rgba(232, 223, 208, 0.22) 0%,
    rgba(232, 223, 208, 0.10) 60%,
    rgba(232, 223, 208, 0.00) 100%
  ) !important;
  transition: opacity 320ms ease !important;
}


/* ------------------------------------------------------------
   HEADER — state 2: scrolled, frosted glass
   ------------------------------------------------------------ */

.famo-header.elementor-sticky--effects,
.famo-header.elementor-sticky--effects.e-con {
  background-color: rgba(238, 231, 219, 0.72) !important;

  -webkit-backdrop-filter: blur(16px) saturate(112%) !important;
  backdrop-filter: blur(16px) saturate(112%) !important;

  border-bottom: 1px solid rgba(124, 102, 78, 0.14) !important;

  box-shadow: 0 6px 24px rgba(124, 102, 78, 0.10) !important;
}

/* the gradient scrim is no longer needed once the bar is frosted */
.famo-header.elementor-sticky--effects::before {
  opacity: 0 !important;
}

/* OPTIONAL slimmer bar on scroll.
   Commented out because it overrides the padding you set in Elementor.
   Uncomment if you want the bar to shrink as you scroll.

.famo-header.elementor-sticky--effects,
.famo-header.elementor-sticky--effects.e-con {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
*/

/* keep header contents above the scrim layer */
.famo-header > * {
  position: relative !important;
  z-index: 1 !important;
}

/* fallback where backdrop-filter is unsupported */
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) {
  .famo-header {
    background-color: rgba(240, 233, 221, 0.30) !important;
  }
  .famo-header.elementor-sticky--effects {
    background-color: rgba(238, 231, 219, 0.96) !important;
  }
}


/* ------------------------------------------------------------
   FOOTER — mid khaki, solid
   ------------------------------------------------------------ */

.famo-foot,
.famo-foot.e-con,
.elementor .famo-foot {
  position: relative !important;
  background-color: #B8A894 !important;
  background-image: none !important;

  /* hairline that reads as a fold in paper, not a border */
  border-top: 1px solid rgba(124, 102, 78, 0.22) !important;
}

/* very soft vertical shading so a tall footer isn't a flat slab */
.famo-foot::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(
    to bottom,
    rgba(255, 252, 246, 0.10) 0%,
    rgba(255, 252, 246, 0.00) 42%,
    rgba(92, 74, 56, 0.07) 100%
  ) !important;
}

.famo-foot > * {
  position: relative !important;
  z-index: 1 !important;
}


/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media (max-width: 767px) {
  /* phones: blur is expensive, lean on opacity instead */
  .famo-header.elementor-sticky--effects,
  .famo-header.elementor-sticky--effects.e-con {
    background-color: rgba(238, 231, 219, 0.90) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
  }

  /* the hero art is tight on small screens — strengthen the top scrim */
  .famo-header,
  .famo-header.e-con {
    background-color: rgba(240, 233, 221, 0.26) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
  }

  .famo-header::before {
    background: linear-gradient(
      to bottom,
      rgba(232, 223, 208, 0.34) 0%,
      rgba(232, 223, 208, 0.16) 60%,
      rgba(232, 223, 208, 0.00) 100%
    ) !important;
  }
}


/* ------------------------------------------------------------
   PALETTE — everything above comes from your artwork

     #EEE7DB   header glass      paper highlight
     #E8DFD0   header scrim      paper mid
     #B8A894   footer            mid khaki
     #7C664E   shadows/borders   warm brown, never grey

   TUNING
     TOP state (over the hero)
       invisible   0.16   ← current
       just there  0.24
       noticeable  0.34
       fully clear 0  and delete the ::before block

     SCROLLED state
       more opaque 0.72 → 0.85
     footer lighter        #C6B8A6
     footer deeper         #A8987F
   ------------------------------------------------------------ */


/* ============================================================
   MENU ALIGNMENT FIX
   One item ("thread") sits ~10px lower than the rest. The text
   height is identical, so this is not a font-size difference —
   the items are baseline-aligned inline-blocks and one of them
   carries an extra wrapper, an empty submenu arrow, or its own
   padding. Forcing flex + centre alignment neutralises all of it.
   ------------------------------------------------------------ */

/* the row that holds the items */
.famo-header .elementor-nav-menu,
.famo-header .elementor-nav-menu--main .elementor-nav-menu,
.famo-header ul.elementor-nav-menu {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* each <li> — no stray vertical offsets */
.famo-header .elementor-nav-menu > li,
.famo-header ul.elementor-nav-menu > li {
  display: flex !important;
  align-items: center !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle !important;
  line-height: normal !important;
}

/* each link — one shared line-height is what actually locks the row */
.famo-header .elementor-nav-menu a,
.famo-header .elementor-nav-menu > li > a,
.famo-header ul.elementor-nav-menu > li > a.elementor-item {
  display: flex !important;
  align-items: center !important;
  height: 40px !important;          /* identical box for every item */
  line-height: 1 !important;        /* the usual culprit */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

/* Elementor adds this on items with a submenu and it shifts the text */
.famo-header .elementor-nav-menu .sub-arrow,
.famo-header .elementor-nav-menu .fa-caret-down,
.famo-header .elementor-nav-menu a .sub-arrow {
  display: none !important;
}

/* if the items are plain widgets in a flex container rather than a
   nav menu, this catches them too */
.famo-header .elementor-widget-container > a,
.famo-header .elementor-button-wrapper,
.famo-header .elementor-widget-text-editor p {
  margin: 0 !important;
  line-height: 1 !important;
}

/* keep every direct child of the header row centred on one axis */
.famo-header .e-con-inner,
.famo-header > .elementor-container {
  align-items: center !important;
}


/* ============================================================
   STICKY NOT WORKING? Checklist.

   1. THIS CSS NO LONGER BLOCKS IT
      Earlier versions set  position: relative !important  which
      overrode Elementor's inline  position: fixed  and silently
      disabled sticky. That !important is now removed.

   2. TURN STICKY ON (Elementor Pro only)
      Header section/container → Advanced → Motion Effects
        Sticky:         Top
        Sticky On:      Desktop, Tablet, Mobile
        Effects Offset: 40

   3. THE FROSTED STATE NEEDS THE OFFSET
      Elementor only adds .elementor-sticky--effects once you
      scroll past Effects Offset. If it is 0, the class never
      appears and the header never changes appearance.

   4. FREE ELEMENTOR HAS NO STICKY
      Motion Effects is a Pro feature. On free Elementor use a
      Theme Builder header with "Sticky" in the theme options, or
      set the header container to position: fixed manually.

   5. AN ANCESTOR WITH transform / filter / overflow BREAKS FIXED
      A parent carrying transform, filter, or overflow:hidden traps
      position:fixed inside itself. The header must not sit inside
      an animated or clipped wrapper.
   ============================================================ *//* End custom CSS */