/* ==========================================================================
   Sogand shared capabilities on native Elementor elements.
   Inheritance:  element variable  →  site default (--sgk-*)  →  fallback here.
   ========================================================================== */
:root{--sg-adminbar:0px;--sg-header-h:0px}
.admin-bar{--sg-adminbar:32px}
@media (max-width:782px){.admin-bar{--sg-adminbar:46px}}

/* ---------------- Glass ---------------- */
.sg-glass-on,.sg-glass-card,.sg-glass-deep{
  --_t1:var(--sg-gl-tint,var(--sgk-gl-tint,color-mix(in srgb,var(--sg-ox2) 34%,transparent)));
  --_t2:var(--sg-gl-tint2,var(--sg-gl-tint,var(--sgk-gl-tint2,color-mix(in srgb,var(--sg-ox2) 26%,transparent))));
  --_edge:var(--sg-gl-edge,var(--sgk-gl-edge,color-mix(in srgb,var(--sg-hi) 14%,transparent)));
  --_blur:var(--sg-gl-blur,var(--sgk-gl-blur,18px));
  --_sh:var(--sg-gl-shadow,var(--sgk-gl-shadow,.45));
  background-image:linear-gradient(var(--sg-gl-angle,115deg),var(--_t1),var(--_t2));
  -webkit-backdrop-filter:blur(var(--_blur)) saturate(var(--sg-gl-sat,var(--sgk-gl-sat,140%))) brightness(var(--sg-gl-bri,100%));
  backdrop-filter:blur(var(--_blur)) saturate(var(--sg-gl-sat,var(--sgk-gl-sat,140%))) brightness(var(--sg-gl-bri,100%));
  box-shadow:inset 0 0 0 var(--sg-gl-edge-w,1px) var(--_edge),inset 0 1px 0 rgba(255,255,255,calc(.07 * var(--sg-gl-hl,1))),0 30px 80px rgba(0,0,0,var(--_sh)),0 0 26px var(--sg-gl-glow,transparent);
  border-radius:var(--sg-gl-r,var(--sgk-gl-r,36px));
  transition:background-image .5s,box-shadow .5s,translate .6s cubic-bezier(.16,1,.3,1);
}
.sg-glass-card{--_t1:var(--sg-gl-tint,color-mix(in srgb,var(--sg-hi) 10%,transparent));--_t2:var(--sg-gl-tint2,var(--sg-gl-tint,color-mix(in srgb,var(--sg-hi) 5%,transparent)));--_blur:var(--sg-gl-blur,14px);--_sh:var(--sg-gl-shadow,.35);--_edge:var(--sg-gl-edge,color-mix(in srgb,var(--sg-hi) 16%,transparent));border-radius:var(--sg-gl-r,28px)}
.sg-glass-deep{--_t1:var(--sg-gl-tint,color-mix(in srgb,var(--sg-ox2) 70%,var(--sg-deep)));--_t2:var(--sg-gl-tint2,var(--sg-gl-tint,color-mix(in srgb,color-mix(in srgb,var(--sg-ox2) 30%,var(--sg-deep)) 94%,transparent)));--_blur:var(--sg-gl-blur,20px);--_sh:var(--sg-gl-shadow,.55)}
.sg-glass-on:hover,.sg-glass-card:hover,.sg-glass-deep:hover{background-image:linear-gradient(var(--sg-gl-angle,115deg),var(--sg-gl-tint-h,var(--_t1)),var(--sg-gl-tint-h,var(--_t2)));box-shadow:inset 0 0 0 var(--sg-gl-edge-w,1px) var(--sg-gl-edge-h,var(--_edge)),inset 0 1px 0 rgba(255,255,255,calc(.07 * var(--sg-gl-hl,1))),0 30px 80px rgba(0,0,0,var(--_sh)),0 0 26px var(--sg-gl-glow,transparent)}
:is(.sg-glass-on,.sg-glass-card,.sg-glass-deep):not([class*="sg-loop-"]):hover{translate:0 var(--sg-gl-lift,0px)}
.sg-glass-reflect-yes{background-image:linear-gradient(115deg,transparent 42%,color-mix(in srgb,var(--sg-hi) 11%,transparent) 50%,transparent 58%),linear-gradient(var(--sg-gl-angle,115deg),var(--_t1),var(--_t2));background-size:260% 100%,100% 100%;background-repeat:no-repeat;animation:sgGlassReflect calc(9s / var(--sgk-speed,1)) ease-in-out infinite}
@keyframes sgGlassReflect{0%{background-position:150% 0,0 0}60%,100%{background-position:-60% 0,0 0}}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .sg-glass-on,.sg-glass-card,.sg-glass-deep{background-color:color-mix(in srgb,var(--sg-deep) 94%,transparent)}
}

/* ---------------- Glow & halo (::after layer, never touches the element background) ---------------- */
.sg-glow-halo,.sg-glow-ring,.sg-glow-front{isolation:isolate}
.sg-glow-halo::after,.sg-glow-ring::after,.sg-glow-front::after{
  --_g1:var(--sg-glow-c1,var(--tone,var(--sgk-glow-c1,#b3263f)));
  --_g2:var(--sg-glow-c2,var(--_g1));
  content:"";position:absolute;left:50%;top:50%;z-index:-1;pointer-events:none;
  width:var(--sg-glow-w,100%);height:var(--sg-glow-h,100%);
  translate:calc(-50% + var(--sg-glow-x,0%)) calc(-50% + var(--sg-glow-y,0%));
  border-radius:var(--sg-glow-r,50%);
  background:radial-gradient(closest-side,color-mix(in srgb,var(--_g1) var(--sg-glow-int,60%),transparent),color-mix(in srgb,var(--_g2) 28%,transparent) 55%,transparent var(--sg-glow-spread,74%));
  filter:blur(var(--sg-glow-blur,var(--sgk-glow-blur,30px)));
  opacity:var(--sg-glow-op,var(--sgk-glow-op,.75));
  mix-blend-mode:var(--sg-glow-blend,normal);
  transition:opacity .8s,scale 1.2s cubic-bezier(.16,1,.3,1);
}
.sg-glow-ring::after{background:radial-gradient(closest-side,transparent 58%,color-mix(in srgb,var(--_g1) var(--sg-glow-int,70%),transparent) 66%,color-mix(in srgb,var(--_g2) 30%,transparent) 72%,transparent 80%)}
.sg-glow-front::after{z-index:3;mix-blend-mode:var(--sg-glow-blend,screen)}
.sg-glow-a-breathe::after{animation:sgGlowBreathe calc(var(--sg-glow-dur,7s) / var(--sgk-speed,1)) ease-in-out infinite}
.sg-glow-a-pulse::after{animation:sgGlowPulse calc(var(--sg-glow-dur,3s) / var(--sgk-speed,1)) ease-in-out infinite}
.sg-glow-a-drift::after{animation:sgGlowDrift calc(var(--sg-glow-dur,14s) / var(--sgk-speed,1)) ease-in-out infinite alternate}
.sg-glow-a-spin::after{background:conic-gradient(from 0deg,color-mix(in srgb,var(--_g1) 70%,transparent),color-mix(in srgb,var(--_g2) 60%,transparent),transparent,color-mix(in srgb,var(--_g1) 70%,transparent));animation:sgGlowSpin calc(var(--sg-glow-dur,18s) / var(--sgk-speed,1)) linear infinite}
.sg-glow-hv-yes:hover::after{opacity:1;scale:1.15}
@keyframes sgGlowBreathe{50%{scale:1.08;opacity:calc(var(--sg-glow-op,var(--sgk-glow-op,.75)) * 1.25)}}
@keyframes sgGlowPulse{50%{scale:.9;opacity:calc(var(--sg-glow-op,var(--sgk-glow-op,.75)) * .55)}}
@keyframes sgGlowDrift{to{translate:calc(-50% + var(--sg-glow-x,0%) + 8%) calc(-50% + var(--sg-glow-y,0%) - 6%);scale:1.1}}
@keyframes sgGlowSpin{to{rotate:360deg}}

/* ---------------- Loop motion (individual transform properties: Elementor's own transform stays free) ---------------- */
[class*="sg-loop-"]{animation-duration:calc(var(--sg-loop-dur,7s) / var(--sgk-speed,1));animation-delay:var(--sg-loop-delay,0s);animation-iteration-count:infinite;animation-direction:var(--sg-loop-dir,normal);animation-timing-function:ease-in-out}
.sg-loop-float{animation-name:sgLoopFloat}
.sg-loop-drift{animation-name:sgLoopDrift;animation-duration:calc(var(--sg-loop-dur,14s) / var(--sgk-speed,1));animation-direction:alternate}
.sg-loop-sway{animation-name:sgLoopSway;animation-duration:calc(var(--sg-loop-dur,9s) / var(--sgk-speed,1));transform-origin:50% 0}
.sg-loop-pulse{animation-name:sgLoopPulse;animation-duration:calc(var(--sg-loop-dur,4s) / var(--sgk-speed,1))}
.sg-loop-zoom{animation-name:sgLoopZoom;animation-duration:calc(var(--sg-loop-dur,16s) / var(--sgk-speed,1));animation-direction:alternate}
.sg-loop-spin{animation-name:sgLoopSpin;animation-duration:calc(var(--sg-loop-dur,40s) / var(--sgk-speed,1));animation-timing-function:linear}
.sg-loop-swing{animation-name:sgLoopSwing;animation-duration:calc(var(--sg-loop-dur,8s) / var(--sgk-speed,1));transform-origin:50% -40px}
@keyframes sgLoopFloat{50%{translate:0 calc(-12px * var(--sg-loop-amp,1))}}
@keyframes sgLoopDrift{from{translate:calc(-2.5% * var(--sg-loop-amp,1)) 0}to{translate:calc(2.5% * var(--sg-loop-amp,1)) 0}}
@keyframes sgLoopSway{0%,100%{rotate:calc(-1.4deg * var(--sg-loop-amp,1))}50%{rotate:calc(1.4deg * var(--sg-loop-amp,1))}}
@keyframes sgLoopPulse{50%{scale:calc(1 + .025 * var(--sg-loop-amp,1))}}
@keyframes sgLoopZoom{to{scale:calc(1 + .08 * var(--sg-loop-amp,1))}}
@keyframes sgLoopSpin{to{rotate:360deg}}
@keyframes sgLoopSwing{0%,100%{rotate:calc(-1.6deg * var(--sg-loop-amp,1))}50%{rotate:calc(1.6deg * var(--sg-loop-amp,1))}}

/* ---------------- Pointer & scroll parallax (JS writes the variables) ---------------- */
.sg-fxt{transform:perspective(900px) translate3d(var(--sg-ptr-x,0px),calc(var(--sg-ptr-y,0px) + var(--sg-par-y,0px)),0) rotateX(var(--sg-ptr-rx,0deg)) rotateY(var(--sg-ptr-ry,0deg));transition:transform .6s cubic-bezier(.16,1,.3,1);will-change:transform}
.sg-fxt.sg-par-live{transition:transform .08s linear}
.sg-glare-yes{overflow:hidden}
.sg-glare-yes>.sg-glare{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at var(--sg-gx,50%) var(--sg-gy,50%),color-mix(in srgb,var(--sg-hi) 16%,transparent),transparent 55%);opacity:0;transition:opacity .4s;border-radius:inherit}
.sg-glare-yes:hover>.sg-glare{opacity:1}

/* ---------------- Scroll-progress border (layer injected by fx.js) ---------------- */
.sg-pb-layer{position:absolute;inset:var(--sg-pb-inset,0px);pointer-events:none;z-index:4;border-radius:inherit}
.sg-pb-layer i{position:absolute;display:block;overflow:hidden;background:var(--sg-pb-track,transparent);border-radius:var(--sg-pb-cap,0)}
.sg-pb-layer i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--sg-pb-fill,#b8955a),var(--sg-pb-fill2,var(--sg-pb-fill,#f3e4bd)) 45%,var(--sg-pb-fill,#c9a35c) 70%,var(--sg-pb-fill2,var(--sg-pb-fill,#e9ecf0)));background-size:200% 100%}
.sg-pb-layer i[data-e=top],.sg-pb-layer i[data-e=bottom]{left:0;right:0;height:var(--sg-pb-w,1px)}
.sg-pb-layer i[data-e=top]{top:0}.sg-pb-layer i[data-e=bottom]{bottom:0}
.sg-pb-layer i[data-e=left],.sg-pb-layer i[data-e=right]{top:0;bottom:0;width:var(--sg-pb-w,1px)}
.sg-pb-layer i[data-e=left]{left:0}.sg-pb-layer i[data-e=right]{right:0}
.sg-pb-layer i[data-e=top]::after,.sg-pb-layer i[data-e=bottom]::after{transform:scaleX(var(--p,0));transform-origin:left center}
.sg-pb-layer i[data-e=left]::after,.sg-pb-layer i[data-e=right]::after{transform:scaleY(var(--p,0));transform-origin:center top}
.sg-pb-layer[data-dir=end] i[data-e=top]::after,.sg-pb-layer[data-dir=end] i[data-e=bottom]::after{transform-origin:right center}
.sg-pb-layer[data-dir=end] i[data-e=left]::after,.sg-pb-layer[data-dir=end] i[data-e=right]::after{transform-origin:center bottom}
.sg-pb-layer[data-dir=center] i::after{transform-origin:center center!important}
/* clockwise sequence: right goes down, bottom goes right→left, left goes up */
.sg-pb-layer[data-seq=sequential] i[data-e=bottom]::after{transform-origin:right center}
.sg-pb-layer[data-seq=sequential] i[data-e=left]::after{transform-origin:center bottom}

/* ---------------- Sticky inside the parent ---------------- */
.sg-sticky-yes.sg-sticky-live{position:sticky!important;top:calc(var(--sg-sticky-top,24px) + var(--sg-adminbar,0px) + var(--sg-sticky-hdr,0) * var(--sg-header-h,0px));z-index:var(--sg-sticky-z,2);margin-bottom:var(--sg-sticky-bottom,0px)}
.sg-sticky-yes.sg-sticky-live.sg-sticky-row{align-self:flex-start}

/* ---------------- Header behaviour ---------------- */
.sg-hdr-fixed,.sg-hdr-smart{position:fixed!important;top:var(--sg-adminbar,0px);left:0;right:0;width:100%;z-index:999;transition:transform .6s cubic-bezier(.16,1,.3,1),background-color .5s,backdrop-filter .5s,box-shadow .5s}
.sg-hdr-stick{position:sticky!important;top:var(--sg-adminbar,0px);z-index:999}
.sg-hdr-fixed,.sg-hdr-smart,.sg-hdr-stick{background-color:var(--sg-hdr-top-bg,transparent)}
.sg-hdr-fixed.is-scrolled,.sg-hdr-smart.is-scrolled,.sg-hdr-stick.is-scrolled,.sg-hdr-fixed.is-open,.sg-hdr-smart.is-open{background-color:var(--sg-hdr-bg,rgba(26,13,15,.78))}
.sg-hdr-smart.is-hidden:not(.is-open):not(:focus-within){transform:translateY(-100%)}
.sg-hdr-gs-yes:not(.is-scrolled):not(.is-open):is(.sg-glass-on,.sg-glass-card,.sg-glass-deep){background-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.elementor-editor-active .sg-hdr-fixed,.elementor-editor-active .sg-hdr-smart{position:relative!important;top:auto}
.sg-collapse-yes{transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .4s,padding .5s;max-height:var(--sg-collapse-h,120px);overflow:hidden}
.is-scrolled .sg-collapse-yes{max-height:0!important;opacity:0;padding-top:0!important;padding-bottom:0!important;border-color:transparent!important}
.elementor-editor-active .is-scrolled .sg-collapse-yes{max-height:none!important;opacity:1}

/* ---------------- Text reveal ---------------- */
.sg-tr-words .sg-w,.sg-tr-letters .sg-w,.sg-tr-blur .sg-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.sg-tr-words .sg-i,.sg-tr-letters .sg-i{display:inline-block;transform:translate3d(0,108%,0);transition:transform 1.25s cubic-bezier(.16,1,.3,1) var(--d,0ms)}
.sg-tr-blur .sg-i{display:inline-block;opacity:0;filter:blur(12px);transition:opacity 1s ease var(--d,0ms),filter 1.2s ease var(--d,0ms)}
.sg-tr-in .sg-i{transform:none;opacity:1;filter:none}
.sg-tr-type .sg-tr-target{white-space:pre-wrap}
.sg-tr-type .sg-caret{display:inline-block;width:1px;height:1em;margin-left:2px;background:currentColor;vertical-align:-.12em;animation:sgCaret 1s steps(1) infinite}
@keyframes sgCaret{50%{opacity:0}}
.sg-tr-shimmer :is(.elementor-heading-title,p,span){background:linear-gradient(100deg,#b8955a 0%,#f3e4bd 22%,#c9a35c 38%,#e9ecf0 55%,#aab1bb 68%,#f7ecd0 82%,#b8955a 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sgMetal 8s linear infinite}
@keyframes sgMetal{to{background-position:-300% 0}}
.sg-accent{color:var(--e-global-color-secondary,#dce0c3)}

/* ---------------- Image effects (Image widget) ---------------- */
.elementor-widget-image{
  --sg-fmask:linear-gradient(to right,transparent 0,rgba(0,0,0,var(--sg-fsoft,var(--sgk-fsoft,.3))) calc(var(--sg-fl,0%) * .5),#000 var(--sg-fl,0%)),linear-gradient(to left,transparent 0,rgba(0,0,0,var(--sg-fsoft,var(--sgk-fsoft,.3))) calc(var(--sg-fr,0%) * .5),#000 var(--sg-fr,0%)),linear-gradient(to bottom,transparent 0,rgba(0,0,0,var(--sg-fsoft,var(--sgk-fsoft,.3))) calc(var(--sg-ft,0%) * .5),#000 var(--sg-ft,0%)),linear-gradient(to top,transparent 0,rgba(0,0,0,var(--sg-fsoft,var(--sgk-fsoft,.3))) calc(var(--sg-fb,0%) * .5),#000 var(--sg-fb,0%));
}
.elementor-widget-image img{translate:var(--sg-ix,0) var(--sg-iy,0);rotate:var(--sg-ir,0deg);scale:calc(var(--sg-is,1) * var(--sg-ifx,1)) calc(var(--sg-is,1) * var(--sg-ify,1));-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;transition:-webkit-mask-image .6s,mask-image .6s,translate .6s,scale .6s}
.sg-fh-yes:hover img{-webkit-mask-image:none!important;mask-image:none!important}
.sg-fh-yes.sg-fm-color:hover::before{opacity:0}
/* colour fade: an overlay of the chosen colour over the image box */
.elementor-widget-image.sg-fm-color{position:relative}
.elementor-widget-image.sg-fm-color::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;transition:opacity .6s;
  background:linear-gradient(to right,var(--sg-fcol,var(--sg-bg)) 0,transparent var(--sg-fl,0%)),linear-gradient(to left,var(--sg-fcol,var(--sg-bg)) 0,transparent var(--sg-fr,0%)),linear-gradient(to bottom,var(--sg-fcol,var(--sg-bg)) 0,transparent var(--sg-ft,0%)),linear-gradient(to top,var(--sg-fcol,var(--sg-bg)) 0,transparent var(--sg-fb,0%))}
/* shapes */
.sg-mask-circle img{border-radius:50%!important;aspect-ratio:1/1;object-fit:cover}
.sg-mask-arch img{border-radius:999px 999px 24px 24px!important}
.sg-mask-pill img{border-radius:999px!important}
.sg-mask-diamond{--sg-shape:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.sg-mask-octagon{--sg-shape:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
.sg-mask-hexagon{--sg-shape:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%)}
.sg-mask-blob img{border-radius:42% 58% 63% 37% / 41% 44% 56% 59%!important;animation:sgBlob calc(16s / var(--sgk-speed,1)) ease-in-out infinite alternate}
.sg-mask-slant{--sg-shape:polygon(18% 0,100% 0,100% 100%,0 100%)}
/* polygon shapes live in --sg-shape so entrance reveals and reduced motion keep them */
:is(.sg-mask-diamond,.sg-mask-octagon,.sg-mask-hexagon,.sg-mask-slant) img{clip-path:var(--sg-shape)}
@keyframes sgBlob{to{border-radius:58% 42% 37% 63% / 54% 61% 39% 46%}}
/* entrance reveal (fx.js adds .is-in when visible; in the editor it is shown at once) */
.sg-rv-wipe img{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1)}
.sg-rv-side img{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1)}
.sg-rv-iris img{clip-path:circle(0% at 50% 50%);transition:clip-path 1.5s cubic-bezier(.16,1,.3,1)}
.sg-rv-diamond img{clip-path:polygon(50% 50%,50% 50%,50% 50%,50% 50%);transition:clip-path 1.4s cubic-bezier(.16,1,.3,1)}
.sg-rv-blur img{opacity:0;filter:blur(16px);transition:opacity 1.2s,filter 1.4s}
.sg-rv-wipe.is-in img,.sg-rv-side.is-in img{clip-path:var(--sg-shape,inset(0 0 0 0))}
.sg-rv-iris.is-in img{clip-path:var(--sg-shape,circle(75% at 50% 50%))}
.sg-rv-diamond.is-in img{clip-path:var(--sg-shape,polygon(50% -50%,150% 50%,50% 150%,-50% 50%))}
.sg-rv-blur.is-in img{opacity:1;filter:none}
.sg-rv-blinds,.sg-rv-curtain{position:relative;overflow:hidden}
.sg-rv-blinds::after,.sg-rv-curtain::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none}
.sg-rv-blinds::after{background:repeating-linear-gradient(90deg,var(--sg-rv-c,var(--sg-bg)) 0 16.6667%,transparent 16.6667% 16.6667%);transition:background-size 1.2s cubic-bezier(.16,1,.3,1);background-size:100% 100%}
.sg-rv-blinds.is-in::after{background:repeating-linear-gradient(90deg,var(--sg-rv-c,var(--sg-bg)) 0 0%,transparent 0% 16.6667%);opacity:0;transition:opacity .2s 1s}
.sg-rv-curtain::after{background:linear-gradient(90deg,var(--sg-ox2) 0 50%,var(--sg-ox2) 50% 100%);clip-path:inset(0 0 0 0);transition:clip-path 1.6s cubic-bezier(.7,0,.2,1) .2s}
.sg-rv-curtain.is-in::after{clip-path:inset(0 50% 0 50%)}
.elementor-editor-active [class*="sg-rv-"] img,.sg-calm [class*="sg-rv-"] img{clip-path:var(--sg-shape,none)!important;opacity:1!important;filter:none!important}
.elementor-editor-active .sg-rv-blinds::after,.elementor-editor-active .sg-rv-curtain::after,.sg-calm .sg-rv-blinds::after,.sg-calm .sg-rv-curtain::after{display:none}
/* frames */
.sg-frame-line img{outline:1px solid var(--sg-frame-c,color-mix(in srgb,var(--sg-gold) 55%,transparent));outline-offset:var(--sg-frame-gap,10px)}
.sg-frame-double img{outline:1px solid var(--sg-frame-c,color-mix(in srgb,var(--sg-gold) 55%,transparent));outline-offset:var(--sg-frame-gap,10px);box-shadow:0 0 0 calc(var(--sg-frame-gap,10px) + 8px) transparent,0 0 0 calc(var(--sg-frame-gap,10px) + 9px) color-mix(in srgb,var(--sg-frame-c,var(--sg-gold)) 45%,transparent)}
.sg-frame-gilt img{border:10px solid transparent;border-image:linear-gradient(135deg,#f1dcae,#8d6b35,var(--sg-gold),#6b4f24) 1;box-shadow:0 40px 70px rgba(0,0,0,.5),inset 0 0 40px rgba(0,0,0,.6)}
.sg-frame-corner img{padding:var(--sg-frame-gap,12px);--_c:var(--sg-frame-c,var(--sg-gold));background:linear-gradient(var(--_c),var(--_c)) left top/22px 1px no-repeat,linear-gradient(var(--_c),var(--_c)) left top/1px 22px no-repeat,linear-gradient(var(--_c),var(--_c)) right top/22px 1px no-repeat,linear-gradient(var(--_c),var(--_c)) right top/1px 22px no-repeat,linear-gradient(var(--_c),var(--_c)) left bottom/22px 1px no-repeat,linear-gradient(var(--_c),var(--_c)) left bottom/1px 22px no-repeat,linear-gradient(var(--_c),var(--_c)) right bottom/22px 1px no-repeat,linear-gradient(var(--_c),var(--_c)) right bottom/1px 22px no-repeat}
.sg-reflect-yes img{-webkit-box-reflect:below 4px linear-gradient(transparent 55%,rgba(0,0,0,.22))}

/* ---------------- Buttons: shine, magnetic, sparkles ---------------- */
:is(.sgk-shine-on .elementor-widget-button:not(.sg-shine-off),.elementor-widget-button.sg-shine-on) .elementor-button{position:relative;overflow:hidden;isolation:isolate}
:is(.sgk-shine-on .elementor-widget-button:not(.sg-shine-off),.elementor-widget-button.sg-shine-on) .elementor-button::after{
  content:"";position:absolute;inset:-2px;z-index:-1;pointer-events:none;
  background:linear-gradient(var(--sg-sh-a,115deg),transparent calc(50% - var(--sg-sh-w,16) * 1%),var(--sg-sh-c,var(--sgk-sh-c,rgba(255,244,214,.85))) calc(50% - var(--sg-sh-w,16) * .3%),var(--sg-sh-c2,var(--sgk-sh-c2,rgba(230,234,240,.9))) 50%,var(--sg-sh-c,var(--sgk-sh-c,rgba(255,236,190,.6))) calc(50% + var(--sg-sh-w,16) * .3%),transparent calc(50% + var(--sg-sh-w,16) * 1%));
  filter:blur(var(--sg-sh-blur,0px));opacity:var(--sg-sh-op,1);mix-blend-mode:var(--sg-sh-blend,soft-light);
  translate:var(--sg-sh-x0,-120%) 0;
}
/* hover / keyboard focus (element choice, or the site default when the element inherits) */
:is(.elementor-widget-button.sg-st-hover,.sgk-st-hover .elementor-widget-button:not(.sg-st-continuous):not(.sg-st-click)) .elementor-button:is(:hover,:focus-visible)::after{translate:var(--sg-sh-x1,120%) 0;transition:translate var(--sg-sh-dur,var(--sgk-sh-dur,1100ms)) cubic-bezier(.16,1,.3,1) var(--sg-sh-delay,0ms)}
:is(.sgk-shine-on .elementor-widget-button:not(.sg-shine-off),.elementor-widget-button.sg-shine-on) .elementor-button:is(:hover,:focus-visible){box-shadow:0 0 var(--sg-sh-spread,0px) color-mix(in srgb,var(--sg-sh-c,#e9cd8c) 45%,transparent)}
/* continuous */
:is(.elementor-widget-button.sg-st-continuous,.sgk-st-continuous .elementor-widget-button:not(.sg-st-hover):not(.sg-st-click)) .elementor-button::after{animation:sgShineLoop var(--sg-sh-every,var(--sgk-sh-every,5s)) cubic-bezier(.16,1,.3,1) var(--sg-sh-delay,0ms) infinite}
@keyframes sgShineLoop{0%{translate:var(--sg-sh-x0,-120%) 0}28%,100%{translate:var(--sg-sh-x1,120%) 0}}
/* click: a strong sweep + soft gold ring, in every mode */
.elementor-button.is-shining::after{animation:sgSweep .85s cubic-bezier(.16,1,.3,1) both!important;opacity:1}
.elementor-button.is-shining{box-shadow:0 0 0 1px rgba(233,205,140,.5),0 0 28px rgba(233,205,140,.35),0 12px 28px rgba(0,0,0,.32)!important}
@keyframes sgSweep{from{translate:var(--sg-sh-x0,-120%) 0}to{translate:var(--sg-sh-x1,120%) 0}}
@media (hover:none){.sg-stouch-none .elementor-button::after{display:none}}
.sg-mag-live{transition:translate .5s cubic-bezier(.16,1,.3,1)}
.sg-sparkle-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:99980}

/* ---------------- Site extras ---------------- */
.sg-cursor-light{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(var(--sgk-cl-s,520px) circle at var(--mx,50%) var(--my,50%),var(--sgk-cl-c,rgba(220,224,195,.09)),transparent 60%);opacity:0;transition:opacity .6s}
.sg-cursor-light.is-on{opacity:1}
.sg-readbar{position:fixed;left:0;right:0;top:var(--sg-adminbar,0px);height:var(--sgk-pg-h,2px);z-index:100000;pointer-events:none}
.sg-readbar i{display:block;height:100%;background:var(--sgk-pg-c,linear-gradient(100deg,#b8955a 0%,#f3e4bd 22%,#c9a35c 38%,#e9ecf0 55%,#aab1bb 68%,#f7ecd0 82%,#b8955a 100%));transform-origin:left;transform:scaleX(var(--p,0))}
.sg-grain{position:fixed;inset:-50%;pointer-events:none;z-index:99970;opacity:var(--sgk-grain,.05);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:sgGrain 1.2s steps(6) infinite}
@keyframes sgGrain{0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}100%{transform:translate(0,0)}}
.sg-preloader{position:fixed;inset:0;z-index:100001;display:grid;place-items:center;background:var(--sgk-pl-bg,var(--sg-bg));transition:opacity .7s,visibility .7s}
.sg-preloader img{width:120px;height:auto;animation:sgCtPulseL 1.6s ease-in-out infinite}
@keyframes sgCtPulseL{50%{opacity:.6;transform:scale(.94)}}
html.sg-pre-done .sg-preloader,html.sg-pre-seen .sg-preloader{opacity:0;visibility:hidden}
html.sg-pre-seen .sg-preloader{transition:none}

/* ---------------- Reduced motion & editor ---------------- */
@media (prefers-reduced-motion:reduce){
  [class*="sg-loop-"],.sg-glow-halo::after,.sg-glow-ring::after,.sg-glow-front::after,.sg-glass-reflect-yes,.sg-mask-blob img,.sg-tr-shimmer :is(.elementor-heading-title,p,span),.sg-grain{animation:none!important}
  .sg-fxt{transform:none!important}
  :is(.sgk-shine-on .elementor-widget-button,.elementor-widget-button.sg-shine-on) .elementor-button::after{animation:none!important;transition:none!important}
  .sg-tr-words .sg-i,.sg-tr-letters .sg-i,.sg-tr-blur .sg-i{transform:none!important;opacity:1!important;filter:none!important;transition:none!important}
  [class*="sg-rv-"] img{clip-path:var(--sg-shape,none)!important;opacity:1!important;filter:none!important}
  .sg-rv-blinds::after,.sg-rv-curtain::after{display:none}
}
.sg-calm [class*="sg-loop-"],.sg-calm .sg-glow-halo::after,.sg-calm .sg-glow-ring::after,.sg-calm .sg-glass-reflect-yes,.sg-calm .sg-grain{animation:none!important}
.sg-calm .sg-fxt{transform:none!important}
