.elementor-244 .elementor-element.elementor-element-47903a92{--display:flex;}.elementor-244 .elementor-element.elementor-element-47903a92:not(.elementor-motion-effects-element-type-background), .elementor-244 .elementor-element.elementor-element-47903a92 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0A0A0A;background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-244 .elementor-element.elementor-element-66b1e117{--display:flex;}.elementor-244 .elementor-element.elementor-element-786623e2{--display:flex;}.elementor-244 .elementor-element.elementor-element-786623e2:not(.elementor-motion-effects-element-type-background), .elementor-244 .elementor-element.elementor-element-786623e2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-244 .elementor-element.elementor-element-3f5c3bb4{--display:flex;}.elementor-244 .elementor-element.elementor-element-525546d8{text-align:center;}.elementor-244 .elementor-element.elementor-element-525546d8 .elementor-heading-title{font-family:"Oswald", Sans-serif;color:#0B0B0B;}.elementor-244 .elementor-element.elementor-element-194a0bc2{--display:flex;}.elementor-244 .elementor-element.elementor-element-194a0bc2:not(.elementor-motion-effects-element-type-background), .elementor-244 .elementor-element.elementor-element-194a0bc2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0A0A0A;}.elementor-244 .elementor-element.elementor-element-2e0a0dd5{--display:flex;}.elementor-244 .elementor-element.elementor-element-43eb9046{text-align:center;}.elementor-244 .elementor-element.elementor-element-43eb9046 .elementor-heading-title{font-family:"DM Sans", Sans-serif;color:#E0B84C;}.elementor-244 .elementor-element.elementor-element-62334885{--display:flex;}.elementor-244 .elementor-element.elementor-element-62334885:not(.elementor-motion-effects-element-type-background), .elementor-244 .elementor-element.elementor-element-62334885 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-244 .elementor-element.elementor-element-7c0ed803{--display:flex;}.elementor-244 .elementor-element.elementor-element-774038a3{text-align:center;}.elementor-244 .elementor-element.elementor-element-774038a3 .elementor-heading-title{font-family:"DM Sans", Sans-serif;color:#9C7414;}.elementor-244 .elementor-element.elementor-element-1b9bda69{color:#5B5B5B;font-family:"DM Sans", Sans-serif;}.elementor-244 .elementor-element.elementor-element-10e2a2a6{--display:flex;}.elementor-244 .elementor-element.elementor-element-10e2a2a6:not(.elementor-motion-effects-element-type-background), .elementor-244 .elementor-element.elementor-element-10e2a2a6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0A0A0A;}.elementor-244 .elementor-element.elementor-element-b92adcc{--display:flex;}.elementor-244 .elementor-element.elementor-element-125b3463{text-align:center;}.elementor-244 .elementor-element.elementor-element-125b3463 .elementor-heading-title{font-family:"DM Sans", Sans-serif;color:#E0B84C;}.elementor-244 .elementor-element.elementor-element-2d91f40{--display:flex;}.elementor-244 .elementor-element.elementor-element-2d91f40:not(.elementor-motion-effects-element-type-background), .elementor-244 .elementor-element.elementor-element-2d91f40 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-244 .elementor-element.elementor-element-56f27419{--display:flex;}.elementor-244 .elementor-element.elementor-element-b627dc9{text-align:center;}.elementor-244 .elementor-element.elementor-element-b627dc9 .elementor-heading-title{font-family:"DM Sans", Sans-serif;color:#9C7414;}.elementor-244 .elementor-element.elementor-element-53e6a76e{text-align:center;}.elementor-244 .elementor-element.elementor-element-53e6a76e .elementor-heading-title{font-family:"Oswald", Sans-serif;color:#0B0B0B;}.elementor-244 .elementor-element.elementor-element-12fcbce4{--display:flex;--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;}.elementor-244 .elementor-element.elementor-element-6d758ea3 .elementor-button{background-color:#E0B84C;font-family:"DM Sans", Sans-serif;fill:#0A0A0A;color:#0A0A0A;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E0B84C;border-radius:0px 0px 0px 0px;}.elementor-244 .elementor-element.elementor-element-3bb186f8 .elementor-button{background-color:#FFFFFF;font-family:"DM Sans", Sans-serif;fill:#0B0B0B;color:#0B0B0B;border-style:solid;border-width:1px 1px 1px 1px;border-color:#0B0B0B;border-radius:0px 0px 0px 0px;}.elementor-244 .elementor-element.elementor-element-2e43eab1{--display:flex;}.elementor-244 .elementor-element.elementor-element-62d64c38 .elementor-button{background-color:#25D366;font-family:"DM Sans", Sans-serif;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#25D366;border-radius:0px 0px 0px 0px;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,700&display=swap');

:root{
  --wd-black:#0A0A0A; --wd-black2:#121212; --wd-black3:#1A1A1A;
  --wd-white:#FFFFFF; --wd-ink:#0B0B0B; --wd-ink-soft:#5B5B5B;
  --wd-line-d:rgba(224,184,76,.22); --wd-line-l:rgba(11,11,11,.12);
  --wd-gold:#E0B84C; --wd-gold-l:#F7E08A; --wd-gold-d:#9C7414;
  --wd-gold-grad:linear-gradient(100deg,#9C7414 0%,#E0B84C 22%,#F7E08A 45%,#C9992F 68%,#F2D77E 88%,#A87B18 100%);
  --wd-wa:#25D366;
  --wd-fd:'Oswald',Impact,sans-serif;
  --wd-fb:'DM Sans',system-ui,sans-serif;
  --wd-ease:cubic-bezier(.16,1,.3,1);
  --wd-pad:clamp(20px,5vw,90px);
  --wd-sec:clamp(80px,11vw,170px);
}

/* ==========================================================================
   WIND DECOR - SINGLE PORTFOLIO
   Template for the "portfolio" custom post type (Elementor Theme Builder >
   Single Post). Shared tokens, section shells and word-reveal first, then the
   single-portfolio rules.
   ========================================================================== */

/* ---------- section shells ---------- */
.wd-sec.e-con{position:relative;overflow:hidden;margin-block:0;
  --display:block;display:block!important;padding:var(--wd-sec) var(--wd-pad)!important}
.wd-dark.e-con{background-color:var(--wd-black)!important}
.wd-light.e-con{background-color:var(--wd-white)!important}
.wd-wrap.e-con{position:relative;z-index:2;width:100%;max-width:1360px;margin-inline:auto;
  padding:0!important;--display:block;display:block!important}
.wd-sec .elementor-widget{margin-block-end:0}
.wd-sec ::selection{background:var(--wd-gold);color:#000}

/* ---------- gold shimmer + masked word reveal ---------- */
.wd-gold-txt{background-image:var(--wd-gold-grad);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent!important;color:transparent!important;
  background-size:220% 100%;animation:wdShine 7s linear infinite;display:inline-block}
@keyframes wdShine{0%{background-position:0% 50%}100%{background-position:220% 50%}}
.wd-anim .wd-line{display:block;overflow:hidden;padding-bottom:.06em}
.wd-anim .wd-word{display:inline-block}
.wd-anim.animated .wd-word{animation:wdWord 1.15s var(--wd-ease) both}
@keyframes wdWord{from{transform:translateY(115%) rotate(4deg)}to{transform:none}}
.wd-anim.animated .wd-word:nth-child(1){animation-delay:.05s}
.wd-anim.animated .wd-word:nth-child(2){animation-delay:.13s}


/* ==========================================================================
   SINGLE PORTFOLIO
   Section order: hero (featured image) / title + details / before-after /
   editor text / gallery / CTA. The slider, gallery, details row and breadcrumb
   are shortcodes from the "Wind Decor - Portfolio Components" plugin (their
   structure is styled by that plugin; this sheet adds the page around them
   and the entrance animations). Sections with .wd-opt hide themselves when the
   portfolio has no data for them.
   ========================================================================== */
@keyframes wdFadeUp{from{opacity:0;transform:translateY(34px)}}
@keyframes wdLineGrow{to{width:96px}}
@keyframes wdTitleIn{from{opacity:0;transform:translateY(64px);clip-path:inset(0 0 100% 0)}
  to{opacity:1;transform:none;clip-path:inset(-30% -10% -30% -10%)}}
@keyframes wdStageIn{from{opacity:0;clip-path:inset(0 50% 0 50%)}
  to{opacity:1;clip-path:inset(-80px -80px -120px -80px)}}
@keyframes wdSpin{to{transform:rotate(360deg)}}
@keyframes wdShine{0%{background-position:0% 50%}100%{background-position:220% 50%}}

/* ---------- 1. HERO : featured image as background, breadcrumb only ---------- */
.wd-sp-hero.e-con{min-height:64svh;isolation:isolate;
  padding:clamp(140px,16vw,210px) var(--wd-pad) clamp(40px,5vw,72px)!important;
  display:flex!important;--display:flex;flex-direction:column!important;
  justify-content:flex-end!important;background-color:var(--wd-black)!important;
  background-size:cover!important;background-position:50% 50%!important;background-repeat:no-repeat!important}
.wd-sp-hero.e-con::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse at 12% 100%,rgba(224,184,76,.22),transparent 55%),
    linear-gradient(to top,rgba(10,10,10,.93) 0%,rgba(10,10,10,.5) 36%,rgba(10,10,10,.26) 66%,rgba(10,10,10,.6) 100%)}
.wd-sp-hero.e-con::before{content:"";position:absolute;z-index:1;pointer-events:none;
  top:-12vh;right:-12vw;left:auto;bottom:auto;width:min(52vw,700px);height:auto;aspect-ratio:1/1;
  border:1px solid rgba(224,184,76,.2);border-radius:50%;
  background:radial-gradient(circle at 50% 5px,#E0B84C 0 4.5px,transparent 5.5px) no-repeat;
  filter:drop-shadow(0 0 8px rgba(224,184,76,.6));animation:wdSpin 60s linear infinite}
.wd-sp-hero .wd-hero-in.e-con{position:relative;z-index:3;width:100%;max-width:1360px;margin-inline:auto;
  padding:0!important;--display:block;display:block!important}
.wd-sp-hero .wd-hero-in.e-con::after{content:"";display:block;height:2px;width:0;margin-top:18px;
  background:var(--wd-gold-grad);animation:wdLineGrow 1.4s .5s var(--wd-ease) forwards}
.wd-sp-crumb .elementor-shortcode{display:block}

/* ---------- 2. TITLE + DETAILS ---------- */
.wd-sp-title.e-con{padding:clamp(70px,8vw,124px) var(--wd-pad) clamp(54px,6vw,96px)!important;text-align:center}
.wd-kick{text-align:center;margin-bottom:clamp(16px,2vw,26px)}
.wd-kick .elementor-heading-title{display:inline-flex;align-items:center;gap:16px;
  font-family:var(--wd-fb)!important;font-size:11px;font-weight:700;letter-spacing:.34em;
  text-transform:uppercase;line-height:1.4;margin:0}
.wd-kick .elementor-heading-title::before,.wd-kick .elementor-heading-title::after{content:"";
  width:36px;height:1px;background:currentColor;opacity:.7}
.wd-sp-h1{text-align:center}
.wd-sp-h1 .elementor-heading-title{font-family:var(--wd-fd)!important;font-weight:400;
  text-transform:uppercase;letter-spacing:-.02em;line-height:1;text-align:center;
  font-size:clamp(38px,7vw,104px);color:var(--wd-ink)!important;margin:0 auto;max-width:18ch;
  overflow-wrap:anywhere}
.wd-sp-h1.animated .elementor-heading-title{animation:wdTitleIn 1.25s var(--wd-ease) both}
.wd-sp-h1::after{content:"";display:block;width:96px;height:3px;margin:clamp(22px,2.6vw,34px) auto 0;
  background:var(--wd-gold-grad);background-size:220% 100%;animation:wdShine 7s linear infinite}
.wd-sp-meta{margin-top:clamp(22px,2.6vw,34px)}
.wd-sp-meta.animated .wd-meta-i{animation:wdFadeUp 1s var(--wd-ease) backwards}
.wd-sp-meta.animated .wd-meta-i:nth-child(1){animation-delay:.1s}
.wd-sp-meta.animated .wd-meta-i:nth-child(2){animation-delay:.25s}
.wd-sp-meta.animated .wd-meta-i:nth-child(3){animation-delay:.4s}

/* ---------- 3. BEFORE / AFTER ---------- */
.wd-sp-ba.e-con,.wd-sp-gal.e-con{padding:clamp(70px,8vw,130px) var(--wd-pad)!important}
.wd-sp-ba.e-con::before,.wd-sp-gal.e-con::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 55% at 50% 0%,rgba(224,184,76,.13),transparent 70%)}
.wd-sp-ba .wd-kick,.wd-sp-gal .wd-kick{margin-bottom:clamp(30px,3.6vw,54px)}
.wd-ba-w.animated .wd-ba-stage{animation:wdStageIn 1.7s var(--wd-ease) both}
.wd-gal-w.animated .wd-gal-viewport{animation:wdStageIn 1.6s var(--wd-ease) both}
.wd-gal-w.animated .wd-gal-thumb{animation:wdFadeUp .9s var(--wd-ease) backwards}
.wd-gal-w.animated .wd-gal-thumb:nth-child(1){animation-delay:.45s}
.wd-gal-w.animated .wd-gal-thumb:nth-child(2){animation-delay:.55s}
.wd-gal-w.animated .wd-gal-thumb:nth-child(3){animation-delay:.65s}
.wd-gal-w.animated .wd-gal-thumb:nth-child(4){animation-delay:.75s}
.wd-gal-w.animated .wd-gal-thumb:nth-child(n+5){animation-delay:.85s}
.wd-ba-w.animated .wd-ba-hint{animation:wdFadeUp 1s 1.3s var(--wd-ease) backwards}

/* ---------- 4. EDITOR TEXT ---------- */
.wd-sp-text.e-con{padding:clamp(70px,8vw,124px) var(--wd-pad)!important}
.wd-narrow.e-con{max-width:880px!important}
.wd-sp-text .wd-kick{margin-bottom:clamp(26px,3vw,44px)}
.wd-sp-content{text-align:left;color:var(--wd-ink-soft)}
.wd-sp-content>.elementor-widget-container>*:first-child{margin-top:0}
.wd-sp-content p{font-family:var(--wd-fb);font-size:clamp(16px,1.2vw,18.5px);line-height:1.95;
  color:var(--wd-ink-soft);margin:0 0 1.5em}
.wd-sp-content p:first-of-type{font-size:clamp(18px,1.5vw,22px);line-height:1.8;color:var(--wd-ink)}
.wd-sp-content h2,.wd-sp-content h3,.wd-sp-content h4{font-family:var(--wd-fd);font-weight:500;
  text-transform:uppercase;line-height:1.1;letter-spacing:-.005em;color:var(--wd-ink);margin:1.9em 0 .6em}
.wd-sp-content h2{font-size:clamp(28px,3vw,44px)}.wd-sp-content h3{font-size:clamp(23px,2.3vw,32px)}
.wd-sp-content h4{font-size:clamp(19px,1.7vw,24px)}
.wd-sp-content a{color:var(--wd-gold-d);text-decoration:underline;text-decoration-color:rgba(156,116,20,.4);
  text-underline-offset:3px;transition:color .4s var(--wd-ease)}
.wd-sp-content a:hover{color:var(--wd-ink)}
.wd-sp-content ul,.wd-sp-content ol{font-family:var(--wd-fb);color:var(--wd-ink-soft);line-height:1.9;margin:0 0 1.5em;padding-left:1.3em}
.wd-sp-content li::marker{color:var(--wd-gold-d)}
.wd-sp-content blockquote{margin:2em 0;padding:6px 0 6px 26px;border-left:3px solid var(--wd-gold);
  font-family:var(--wd-fd);font-size:clamp(20px,2vw,28px);line-height:1.4;color:var(--wd-ink)}
.wd-sp-content img{max-width:100%;height:auto}
.wd-sp-content strong,.wd-sp-content b{color:var(--wd-ink);font-weight:700}

/* ---------- 6. CTA ---------- */
.wd-sp-cta.e-con{padding:clamp(80px,9vw,140px) var(--wd-pad)!important;text-align:center}
.wd-sp-cta-h .elementor-heading-title{font-family:var(--wd-fd)!important;font-weight:400;text-transform:uppercase;
  letter-spacing:-.02em;line-height:.98;text-align:center;font-size:clamp(34px,6vw,88px);
  color:var(--wd-ink)!important;margin:0}
.wd-sp-cta-h .wd-gold-txt{padding-bottom:.08em}
.wd-anim .wd-line:nth-child(2) .wd-word{animation-delay:.22s!important}
.wd-cta-row.e-con{display:flex!important;--display:flex;flex-direction:row!important;flex-wrap:wrap;
  justify-content:center!important;align-items:center;gap:14px;width:100%;
  margin-top:clamp(30px,3.4vw,50px);padding:0!important}
.wd-cta-row>.elementor-widget{width:auto!important;flex:0 0 auto;margin:0}

/* ---------- buttons ---------- */
/* ---------- view project button ---------- */
.wd-btn .elementor-button{position:relative;display:inline-flex!important;align-items:center;
  gap:10px;padding:15px 26px!important;border:1px solid var(--wd-gold)!important;
  border-radius:0!important;background-color:transparent!important;
  font-family:var(--wd-fb)!important;font-size:10.5px!important;font-weight:700!important;
  letter-spacing:.22em!important;text-transform:uppercase;color:var(--wd-black)!important;
  overflow:hidden;isolation:isolate;line-height:1.2;white-space:nowrap;
  transition:color .5s var(--wd-ease)}
.wd-btn .elementor-button::before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:var(--wd-gold-grad);transform-origin:bottom;
  transition:transform .65s var(--wd-ease)}
.wd-btn .elementor-button:hover::before{transform:scaleY(0);transform-origin:top}
.wd-btn .elementor-button:hover{color:var(--wd-ink)!important}
.wd-btn .elementor-button-text::after{content:" \2192";transition:padding .4s var(--wd-ease)}
.wd-btn .elementor-button:hover .elementor-button-text::after{padding-left:6px}


.wd-btn-ghost .elementor-button{position:relative;display:inline-flex!important;align-items:center;gap:10px;
  padding:15px 26px!important;border:1px solid var(--wd-ink)!important;border-radius:0!important;
  background-color:transparent!important;font-family:var(--wd-fb)!important;font-size:10.5px!important;
  font-weight:700!important;letter-spacing:.22em!important;text-transform:uppercase;
  color:var(--wd-ink)!important;overflow:hidden;isolation:isolate;line-height:1.2;white-space:nowrap;
  transition:color .5s var(--wd-ease)}
.wd-btn-ghost .elementor-button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--wd-black);
  transform:translateY(101%);transition:transform .55s var(--wd-ease)}
.wd-btn-ghost .elementor-button:hover::before{transform:translateY(0)}
.wd-btn-ghost .elementor-button:hover{color:var(--wd-gold)!important}
.wd-btn-ghost .elementor-button-text::before{content:"\2190  ";transition:padding .4s var(--wd-ease)}
.wd-btn-ghost .elementor-button:hover .elementor-button-text::before{padding-right:6px}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1024px){
  .wd-sp-hero.e-con{min-height:56svh}
}
@media(max-width:767px){
  .wd-sp-hero.e-con{min-height:48svh;padding-top:140px!important}
  .wd-kick .elementor-heading-title{letter-spacing:.26em;gap:12px}
  .wd-kick .elementor-heading-title::before,.wd-kick .elementor-heading-title::after{width:22px}
  .wd-cta-row.e-con{flex-direction:column!important;width:100%}
  .wd-cta-row>.elementor-widget{width:100%!important}
  .wd-cta-row .elementor-button{width:100%;justify-content:center}
}

/* ==========================================================================
   4. FLOATING WHATSAPP
   ========================================================================== */
.wd-float.e-con{position:fixed;right:20px;bottom:20px;z-index:880;width:auto!important;
  padding:0!important;background:none!important;overflow:visible}
.wd-float .elementor-button{width:58px;height:58px;padding:0!important;border-radius:50%!important;
  background-color:var(--wd-wa)!important;color:#fff!important;font-size:27px;
  display:grid!important;place-items:center;border:0!important;
  box-shadow:0 12px 34px rgba(37,211,102,.34);transition:transform .5s var(--wd-ease)}
.wd-float .elementor-button:hover{transform:scale(1.12) rotate(6deg)}
.wd-float .elementor-button::after{content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid var(--wd-wa);animation:wdPing2 2.4s infinite}
@keyframes wdPing2{from{transform:scale(1);opacity:.9}to{transform:scale(1.75);opacity:0}}
.wd-float .elementor-button-icon{margin:0}
.wd-float .elementor-button-content-wrapper{justify-content:center}

/* ---------- accessibility ---------- */
.wd-sec a:focus-visible{outline:2px solid var(--wd-gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .wd-sec *,.wd-sec *::before,.wd-sec *::after{animation-duration:.01ms!important;
    animation-iteration-count:1!important;transition-duration:.01ms!important}
}/* End custom CSS */