.elementor-28 .elementor-element.elementor-element-fc8dad6{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-28 .elementor-element.elementor-element-47ac0a3{--display:flex;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-28 .elementor-element.elementor-element-7066f34{--display:flex;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-28 .elementor-element.elementor-element-b7afe1a .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-28 .elementor-element.elementor-element-b7afe1a .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-28 .elementor-element.elementor-element-b7afe1a{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-28 .elementor-element.elementor-element-dde96f6{--display:flex;}.elementor-28 .elementor-element.elementor-element-055e61b .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-28 .elementor-element.elementor-element-055e61b .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-28 .elementor-element.elementor-element-055e61b{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-28 .elementor-element.elementor-element-d1f42e9{--display:flex;}.elementor-28 .elementor-element.elementor-element-d7dc729 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-28 .elementor-element.elementor-element-d7dc729 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-28 .elementor-element.elementor-element-d7dc729{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-28 .elementor-element.elementor-element-c8b0ea5{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;margin:5rem 0rem calc(var(--kit-widget-spacing, 0px) + 5rem) 0rem;}/* Start custom CSS for container, class: .elementor-element-47ac0a3 *//* =====================================================================
   MRCH 2026 — Elementor Gallery page override
   Maps the design-system .filters / .gallery styles onto:
   · Nested Tabs widget  (.elementor-widget-n-tabs)  → year filters
   · Gallery widget      (.elementor-widget-gallery) → photo grid
   Requires the design-system :root variables (fallbacks included).
   ===================================================================== */

:root{
  --bone:      #ECE5D6;
  --terra:     #bd5127;
  --ink:       #1E1A15;
  --ink-soft:  #4a4339;
  --rule:      rgba(30,26,21,.22);
}

/* =====================================================================
   1. TABS HEADING → .filters buttons
   ===================================================================== */
.elementor-widget-n-tabs .e-n-tabs-heading{
  display:flex !important;
  flex-wrap:wrap;
  gap:.6rem !important;
  margin-bottom:clamp(28px,3.5vw,44px);
  border:none !important;
  background:transparent !important;
  padding:0 !important;
  justify-content:flex-start !important;
}

/* each tab button → .filter */
.elementor-widget-n-tabs .e-n-tab-title{
  background:transparent !important;
  border:1px solid var(--rule) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:.55em 1.1em !important;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.elementor-widget-n-tabs .e-n-tab-title .e-n-tab-title-text{
  font-family:'Manrope',system-ui,-apple-system,sans-serif !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
  color:var(--ink-soft) !important;
  transition:color .18s ease;
}
.elementor-widget-n-tabs .e-n-tab-title:hover{
  background:transparent !important;
  border-color:var(--ink) !important;
}
.elementor-widget-n-tabs .e-n-tab-title:hover .e-n-tab-title-text{
  color:var(--ink) !important;
}

/* active tab → .filter.active */
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"]:hover{
  background:var(--terra) !important;
  border-color:var(--terra) !important;
}
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text{
  color:#fff !important;
}

/* keyboard focus stays visible */
.elementor-widget-n-tabs .e-n-tab-title:focus-visible{
  outline:2px solid var(--terra) !important;
  outline-offset:2px;
}

/* tab content container: no extra chrome */
.elementor-widget-n-tabs .e-n-tabs-content > .e-con{
  padding:0 !important;
  background:transparent !important;
  border:none !important;
}

/* =====================================================================
   2. GALLERY → .gallery / .gtile
   ===================================================================== */

/* 12px gap like the template (overrides the widget's inline 10px vars) */
.elementor-widget-gallery .e-gallery-container{
  --hgap:12px !important;
  --vgap:12px !important;
}

/* tile: sharp corners, clipped zoom */
.elementor-widget-gallery .e-gallery-item{
  border-radius:0 !important;
  overflow:hidden !important;
  cursor:pointer;
}

/* image zoom on hover — matches .gtile:hover .media */
.elementor-widget-gallery .e-gallery-image{
  border-radius:0 !important;
  transition:transform .4s ease !important;
}
.elementor-widget-gallery .e-gallery-item:hover .e-gallery-image{
  transform:scale(1.05);
}

/* overlay: bottom gradient, revealed on hover — matches .gcap backdrop */
.elementor-widget-gallery .elementor-gallery-item__overlay{
  background:linear-gradient(0deg,rgba(20,17,13,.85),transparent 60%) !important;
  mix-blend-mode:normal !important;
  opacity:0 !important;
  transition:opacity .25s ease !important;
}
.elementor-widget-gallery .e-gallery-item:hover .elementor-gallery-item__overlay{
  opacity:1 !important;
}

/* caption (enable Overlay → Title in the widget) — matches .gcap */
.elementor-widget-gallery .elementor-gallery-item__content{
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end !important;
  align-items:flex-start !important;
  padding:.9rem !important;
}
.elementor-widget-gallery .elementor-gallery-item__title,
.elementor-widget-gallery .elementor-gallery-item__description{
  font-family:'Manrope',system-ui,-apple-system,sans-serif !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  line-height:1.4 !important;
  color:var(--bone) !important;
  text-align:left !important;
  margin:0 !important;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .25s ease,transform .25s ease;
}
.elementor-widget-gallery .e-gallery-item:hover .elementor-gallery-item__title,
.elementor-widget-gallery .e-gallery-item:hover .elementor-gallery-item__description{
  opacity:1;
  transform:none;
}

/* =====================================================================
   3. RESPONSIVE + MOTION — mirrors the template breakpoints
   ===================================================================== */
@media(max-width:940px){
  .elementor-widget-gallery .e-gallery-container{
    --hgap:6px !important;
    --vgap:6px !important;
  }
  .elementor-widget-gallery .elementor-gallery-item__title,
  .elementor-widget-gallery .elementor-gallery-item__description{
    font-size:.62rem !important;
  }
  .elementor-widget-gallery .elementor-gallery-item__content{
    padding:.5rem !important;
  }
}
@media(max-width:560px){
  .elementor-widget-gallery .e-gallery-container{
    --hgap:4px !important;
    --vgap:4px !important;
  }
  /* template hides captions at this size */
  .elementor-widget-gallery .elementor-gallery-item__content{
    display:none !important;
  }
}
@media(prefers-reduced-motion:reduce){
  .elementor-widget-gallery .e-gallery-image,
  .elementor-widget-gallery .elementor-gallery-item__overlay,
  .elementor-widget-gallery .elementor-gallery-item__title,
  .elementor-widget-gallery .elementor-gallery-item__description,
  .elementor-widget-n-tabs .e-n-tab-title{
    transition:none !important;
  }
  .elementor-widget-gallery .e-gallery-item:hover .e-gallery-image{
    transform:none;
  }
}/* End custom CSS */