.elementor-812 .elementor-element.elementor-element-3f43d629{padding:0px 0px 0px 0px;}.elementor-812 .elementor-element.elementor-element-2a279b66{padding:0px 0px 60px 0px;}.elementor-widget-portfolio a .elementor-portfolio-item__overlay{background-color:var( --e-global-color-accent );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-portfolio .elementor-portfolio__filter{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-portfolio .elementor-portfolio__filter.elementor-active{color:var( --e-global-color-primary );}.elementor-812 .elementor-element.elementor-element-13cc4959 .elementor-post__thumbnail__link{padding-bottom:calc( 1.46 * 100% );}.elementor-812 .elementor-element.elementor-element-13cc4959:after{content:"1.46";position:absolute;color:transparent;}body.elementor-page-812:not(.elementor-motion-effects-element-type-background), body.elementor-page-812 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1E2818;}body.elementor-page-812{padding:0px 0px 0px 0px;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Montserrat:wght@300;400;500;600&display=swap');

:root {
  --sns-primary: #3B4A2A;
  --sns-primary-deeper: #1E2818;
  --sns-secondary: #E8DFC4;
  --sns-secondary-dim: rgba(232, 223, 196, 0.6);
  --sns-accent: #F0A83D;
  --sns-accent-glow: rgba(240, 168, 61, 0.3);
  --sns-white: #FAFAF5;
  --sns-font-serif: 'Playfair Display', serif;
  --sns-font-sans: 'Montserrat', sans-serif;
  --sns-transition: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body {
  background-color: var(--sns-primary-deeper) !important;
}

/* ══ HERO OVERRIDES ══ */
.sns-work-hero { 
  position: relative; 
  padding: 120px 24px 60px; 
  text-align: center; 
  background: linear-gradient(180deg, var(--sns-primary-deeper) 0%, rgba(42,54,32,0.4) 100%); 
  overflow: hidden; 
}
.sns-work-hero::before { 
  content: ''; position: absolute; top: 50%; left: 50%; width: 600px; height: 600px; 
  transform: translate(-50%, -50%); 
  background: radial-gradient(circle, var(--sns-accent-glow) 0%, transparent 70%); 
  opacity: 0.15; pointer-events: none; 
}
.sns-hero-label { 
  font-family: var(--sns-font-sans); font-size: 0.65rem; font-weight: 600; 
  letter-spacing: 0.3em; text-transform: uppercase; color: var(--sns-accent); 
  margin-bottom: 20px; animation: snsFadeUp 0.8s var(--sns-transition) 0.2s forwards; opacity: 0; 
}
.sns-hero-title { 
  font-family: var(--sns-font-serif); font-size: clamp(3rem, 7vw, 6rem); 
  font-weight: 400; font-style: italic; color: var(--sns-secondary); 
  line-height: 1.05; margin: 0 0 24px 0; animation: snsFadeUp 0.8s var(--sns-transition) 0.4s forwards; opacity: 0; 
}
.sns-hero-title span { color: var(--sns-accent); }
.sns-hero-sub { 
  font-family: var(--sns-font-sans); font-size: 0.85rem; font-weight: 300; 
  color: var(--sns-secondary-dim); max-width: 560px; margin: 0 auto; 
  line-height: 1.8; letter-spacing: 0.03em; animation: snsFadeUp 0.8s var(--sns-transition) 0.6s forwards; opacity: 0; 
}
@keyframes snsFadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* film grain */
.sns-work-hero::after { 
  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0.04; z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ══ ELEMENTOR PORTFOLIO WIDGET CUSTOMIZATION ══ */

/* FILTER BAR */
.elementor-portfolio__filters {
  position: sticky;
  top: 70px;
  z-index: 500;
  background: rgba(30,40,24,0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid rgba(232,223,196,0.06);
  border-bottom: 1px solid rgba(232,223,196,0.06);
  padding: 0 24px;
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scrollbar-width: none;
  justify-content: center !important;
  margin-bottom: 8px !important;
}
.elementor-portfolio__filters::-webkit-scrollbar { display: none; }

.elementor-portfolio__filter {
  font-family: var(--sns-font-sans) !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--sns-secondary-dim) !important;
  background: none !important;
  padding: 20px 28px !important;
  position: relative !important;
  white-space: nowrap !important;
  transition: color 0.3s ease !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.elementor-portfolio__filter::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 28px !important;
  right: 28px !important;
  height: 2px !important;
  background: var(--sns-accent) !important;
  transform: scaleX(0) !important;
  transition: transform 0.4s var(--sns-transition) !important;
}
.elementor-portfolio__filter.elementor-active, 
.elementor-portfolio__filter:hover {
  color: var(--sns-accent) !important;
}
.elementor-portfolio__filter.elementor-active::after {
  transform: scaleX(1) !important;
}

/* GRID & CARDS */
.elementor-portfolio {
  padding: 8px !important;
}
.elementor-portfolio .elementor-portfolio-item {
  padding: 4px !important;
}
.elementor-portfolio-item__inner {
  border-radius: 4px !important;
  overflow: hidden !important;
}
.elementor-portfolio-item__img {
  transition: transform 0.8s var(--sns-transition) !important;
}
.elementor-portfolio-item:hover .elementor-portfolio-item__img {
  transform: scale(1.05) !important;
}

/* OVERLAY & TEXT */
.elementor-portfolio-item__overlay {
  background: linear-gradient(0deg, rgba(10,13,7,0.85) 0%, rgba(10,13,7,0.1) 50%, transparent 100%) !important;
  opacity: 0 !important;
  transition: opacity 0.5s var(--sns-transition) !important;
  padding: 32px !important;
  display: flex !important;
  align-items: flex-end !important;
}
.elementor-portfolio-item:hover .elementor-portfolio-item__overlay {
  opacity: 1 !important;
}
.elementor-portfolio-item__title {
  font-family: var(--sns-font-serif) !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--sns-white) !important;
  margin: 0 !important;
  transform: translateY(12px) !important;
  transition: transform 0.5s var(--sns-transition) 0.05s !important;
}
.elementor-portfolio-item:hover .elementor-portfolio-item__title {
  transform: translateY(0) !important;
}

@media (max-width: 768px) {
  .elementor-portfolio__filters { justify-content: flex-start !important; }
  .elementor-portfolio-item__overlay { opacity: 1 !important; padding: 20px !important; }
  .elementor-portfolio-item__title { transform: translateY(0) !important; }
}/* End custom CSS */