/* All visual changes are scoped to the footer; preserve the preceding section's curve. */
.re-footer-social-label{display:none}
.re-site-footer{--fd-background:#0c0c10;--fd-accent:#d8a5ed;--fd-text:#c4becd;--fd-heading:#fff;--fd-tile:#19191e;--fd-divider:#38333e;--fd-line-speed:3000ms;--fd-line-glow:7px;--fd-speed:300ms;--fd-lift:5px;--fd-tilt:6deg;--fd-radius:15px;--fd-tile-height:96px;--fd-columns-gap:32px;--fd-balanced-gap:var(--fd-columns-gap);--fd-social-gap:16px;--fd-link-gap:14px;--fd-links-width:240px;--fd-icon-size:36px}
.re-site-footer .e-con.re-footer-shell,.re-site-footer .e-con.re-footer-columns,.re-site-footer .e-con.re-footer-copyright{background:var(--fd-background);color:var(--fd-text)}
.re-site-footer .e-con.re-footer-columns,.re-site-footer .re-footer-columns>.e-con-inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);column-gap:var(--fd-balanced-gap);align-items:stretch}
.re-site-footer .re-footer-columns>.re-footer-column,.re-site-footer .re-footer-columns>.e-con-inner>.re-footer-column{width:100%;--width:100%;justify-self:stretch;min-width:0}
.re-site-footer .elementor .e-con.re-footer-column{position:relative;overflow:visible}
.re-site-footer .elementor .e-con.re-footer-column+.re-footer-column{border-left:0;padding-left:0;--padding-left:0}
.re-site-footer .re-footer-heading:after{display:none}
.re-site-footer .re-footer-name .elementor-heading-title,.re-site-footer .re-footer-heading .elementor-heading-title{color:var(--fd-heading)}
.re-site-footer .re-footer-role.elementor-widget-text-editor,.re-site-footer .re-footer-bio.elementor-widget-text-editor,.re-site-footer .re-footer-follow.elementor-widget-text-editor{color:var(--fd-text)}
.re-site-footer .re-footer-bio{margin-bottom:12px}
.re-site-footer .re-footer-contact,.re-site-footer .re-footer-quick-links{color:var(--fd-text)}
.re-site-footer .re-footer-contact{gap:18px}
.re-site-footer .re-footer-contact svg{color:var(--fd-accent);width:22px;height:22px;flex-basis:22px}
.re-site-footer .re-footer-contact a{transition:color var(--fd-speed)}
.re-site-footer .re-footer-contact a:hover{color:var(--fd-accent);text-decoration:none}
.re-site-footer .re-footer-contact .re-contact-contact>svg{display:none}
.re-site-footer .re-contact-contact :is(a,span){display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--fd-accent);border-radius:40px;min-height:46px;padding:10px 26px;color:var(--fd-heading);transition:background var(--fd-speed),color var(--fd-speed),transform var(--fd-speed)}
.re-site-footer .re-contact-contact :is(a,span):hover,.re-site-footer .re-contact-contact :is(a,span):focus-visible{background:var(--fd-accent);color:var(--fd-background);transform:translateY(-2px)}
.re-site-footer .re-footer-quick-links{gap:var(--fd-link-gap);margin-top:4px}
.re-site-footer .re-footer-quick-links a{position:relative;display:block;padding:9px 28px 9px 0;text-decoration:none!important;transition:color var(--fd-speed),transform var(--fd-speed)}
.re-site-footer .re-footer-quick-links a:after{content:"";height:1px;position:absolute;bottom:2px;left:0;right:0;background:var(--fd-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--fd-speed)}
.re-site-footer .re-footer-quick-links a:before{content:"→";position:absolute;right:2px;opacity:0;transform:translateX(-8px);transition:opacity var(--fd-speed),transform var(--fd-speed)}
.re-site-footer .re-footer-quick-links a:hover,.re-site-footer .re-footer-quick-links a:focus-visible{color:var(--fd-accent);transform:translateX(3px)}
.re-site-footer .re-footer-quick-links a:is(:hover,:focus-visible):after{transform:scaleX(1)}
.re-site-footer .re-footer-quick-links a:is(:hover,:focus-visible):before{transform:none;opacity:1}
.re-site-footer .re-social-grid{gap:var(--fd-social-gap);max-width:none}
.re-site-footer .elementor .re-social-tile{position:relative;flex-direction:column;gap:0;min-height:var(--fd-tile-height);background:var(--fd-tile);border:1px solid var(--fd-divider);border-radius:var(--fd-radius);color:var(--fd-heading);padding:12px 6px;transform:perspective(550px) rotateX(var(--fd-rx,0deg)) rotateY(var(--fd-ry,0deg));transition:transform var(--fd-speed),border-color var(--fd-speed),box-shadow var(--fd-speed)}
.re-site-footer .re-social-logo{--re-social-icon-size:var(--fd-icon-size);width:var(--re-social-icon-size);height:var(--re-social-icon-size)}
.re-site-footer .re-social-x-twitter,.re-site-footer .re-social-tiktok,.re-site-footer .re-social-threads,.re-site-footer .re-social-github{color:var(--fd-heading)}
.re-site-footer .re-footer-social-label{display:block;max-width:100%;text-align:center;font-size:11px;line-height:1.4;overflow:hidden;max-height:0;opacity:0;color:var(--fd-heading);transform:translateY(5px);transition:opacity var(--fd-speed),max-height var(--fd-speed),transform var(--fd-speed),margin var(--fd-speed)}
.re-site-footer .elementor .re-social-tile:is(:hover,:focus-visible){transform:perspective(550px) rotateX(var(--fd-rx,0deg)) rotateY(var(--fd-ry,0deg)) translateY(calc(-1 * var(--fd-lift)));background:var(--fd-tile);border-color:var(--fd-accent);box-shadow:0 6px 24px color-mix(in srgb,var(--fd-accent) 23%,transparent)}
.re-site-footer .re-social-tile:is(:hover,:focus-visible) .re-footer-social-label{max-height:32px;opacity:1;transform:none;margin-top:6px}
.re-site-footer .e-con.re-footer-copyright{position:relative;border-top:0!important}
.re-site-footer .re-footer-copyright:before{content:"";position:absolute;top:0;left:4%;width:92%;height:1px;background:linear-gradient(90deg,var(--fd-divider),var(--fd-accent),var(--fd-divider));transform:scaleX(1)}
.re-site-footer.fd-ready:not(.fd-entered) .re-footer-column{opacity:0;transform:translateY(16px)}
.re-site-footer.fd-ready .re-footer-column{transition:opacity .65s ease,transform .65s ease}
.re-site-footer.fd-ready .re-footer-column:nth-child(2){transition-delay:.1s}.re-site-footer.fd-ready .re-footer-column:nth-child(3){transition-delay:.2s}
.re-site-footer.fd-ready:not(.fd-entered) .re-footer-copyright:before{transform:scaleX(0)}
.re-site-footer.fd-ready .re-footer-copyright:before{transition:transform .8s .3s ease}
@media(max-width:1024px){.re-site-footer{--fd-balanced-gap:min(var(--fd-columns-gap),24px)}}
@media(max-width:767px){.re-site-footer .re-footer-column+.re-footer-column{border-left:0;padding-left:0;--padding-left:0}.re-site-footer .e-con.re-footer-columns,.re-site-footer .re-footer-columns>.e-con-inner{grid-template-columns:minmax(0,1fr);row-gap:30px}.re-site-footer .re-social-grid{max-width:360px}.re-site-footer .re-footer-quick-links a{min-height:44px}}
@media(hover:none){.re-site-footer .re-footer-social-label{max-height:32px;opacity:1;transform:none;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.re-site-footer .re-footer-column,.re-site-footer .re-footer-copyright:before,.re-site-footer .re-social-tile,.re-site-footer .re-footer-social-label,.re-site-footer .re-footer-quick-links a,.re-site-footer .re-footer-quick-links a:before,.re-site-footer .re-footer-quick-links a:after{transition:none!important;transform:none!important;opacity:1!important}}

/* Override the older footer-only contrast layer, preserving its rounded shell. */
.re-site-footer{background:var(--fd-background)}
.re-site-footer .e-con{background:var(--fd-background)!important}
.re-site-footer .re-footer-name .elementor-heading-title,.re-site-footer .re-footer-heading .elementor-heading-title{color:var(--fd-heading)!important}
.re-site-footer .elementor-widget-text-editor,.re-site-footer .re-footer-contact,.re-site-footer .re-footer-contact a,.re-site-footer .re-footer-quick-links,.re-site-footer .re-footer-quick-links a{color:var(--fd-text)!important}
.re-site-footer .re-footer-quick-links a:is(:hover,:focus-visible),.re-site-footer .re-footer-contact a:is(:hover,:focus-visible){color:var(--fd-accent)!important}
.re-site-footer .re-contact-contact :is(a,span){color:var(--fd-heading)!important}
.re-site-footer .re-contact-contact :is(a,span):is(:hover,:focus-visible){color:var(--fd-background)!important}

/* Keep the logo and revealed name inside a stable tile, even with old aspect-ratio rules. */
.re-site-footer .elementor .elementor-widget-reza-social .re-social-grid{gap:var(--fd-social-gap)!important;align-items:stretch;grid-auto-rows:auto}
.re-site-footer .elementor .re-footer-contact .re-contact-contact :is(a,span){border:1px solid var(--fd-accent);border-radius:40px;padding:10px 26px;min-height:46px;text-decoration:none!important}
.re-site-footer .elementor .re-social-grid .re-social-tile{aspect-ratio:auto;min-height:var(--fd-tile-height);padding:18px 8px;overflow:visible;isolation:isolate}
.re-site-footer .elementor .re-social-grid .re-social-logo{flex-shrink:0;width:min(var(--fd-icon-size),100%);height:var(--fd-icon-size);transition:transform var(--fd-speed)}
.re-site-footer .elementor .re-social-grid .re-footer-social-label{position:absolute;bottom:10px;left:4px;right:4px;max-height:none;margin:0;font-size:12px;line-height:1.3;opacity:0;transform:translateY(4px);pointer-events:none}
.re-site-footer .elementor .re-social-grid .re-social-tile:is(:hover,:focus-visible){border-color:var(--fd-accent);box-shadow:0 0 0 1px var(--fd-accent),0 5px 24px color-mix(in srgb,var(--fd-accent) 25%,transparent)}
.re-site-footer .elementor .re-social-grid .re-social-tile:is(:hover,:focus-visible) .re-social-logo{transform:translateY(-9px)}
.re-site-footer .elementor .re-social-grid .re-social-tile:is(:hover,:focus-visible) .re-footer-social-label{opacity:1;transform:none}
@media(hover:none){.re-site-footer .elementor .re-social-grid .re-social-logo{transform:translateY(-9px)}.re-site-footer .elementor .re-social-grid .re-footer-social-label{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.re-site-footer .elementor .re-social-grid .re-social-logo,.re-site-footer .elementor .re-social-grid .re-footer-social-label{transition:none}}

/* Centre the link block without shortening its full-height column divider. */
@media(min-width:768px){
 .re-site-footer .elementor .e-con.re-footer-links-column{width:100%;--width:100%;max-width:none;justify-self:stretch;align-items:center;--align-items:center}
 .re-site-footer .re-footer-links-column>.elementor-widget,.re-site-footer .re-footer-links-column>.e-con-inner>.elementor-widget{width:100%;max-width:var(--fd-links-width);align-self:center;text-align:left}
}
/* The divider flashes softly at its centre, then sends light toward both ends. */
.re-site-footer .e-con.re-footer-copyright:after{content:"";position:absolute;pointer-events:none;top:-1px;left:4%;width:92%;height:3px;background-image:radial-gradient(ellipse at center,var(--fd-accent) 0%,var(--fd-accent) 15%,transparent 70%),radial-gradient(ellipse at center,var(--fd-accent) 0%,var(--fd-accent) 15%,transparent 70%);background-repeat:no-repeat;background-size:15% 100%;background-position:50% 50%,50% 50%;filter:drop-shadow(0 0 var(--fd-line-glow) var(--fd-accent));animation:fd-divider-travel var(--fd-line-speed) ease-in-out infinite}
/* Fade before the edges, then reset during an invisible pause. */
@keyframes fd-divider-travel{0%{background-position:50% 50%,50% 50%;opacity:0}12%{background-position:50% 50%,50% 50%;opacity:1}20%{background-position:50% 50%,50% 50%;opacity:1}62%{background-position:8% 50%,92% 50%;opacity:0}76%,100%{background-position:0% 50%,100% 50%;opacity:0}}
.re-site-footer.fd-ready:not(.fd-entered) .e-con.re-footer-copyright:after{animation-play-state:paused;opacity:0}
@media(prefers-reduced-motion:reduce){.re-site-footer .e-con.re-footer-copyright:after{animation:none;opacity:.45}}

/* Equal space on both sides of each divider; no duplicate column padding. */
@media(min-width:768px){
 .re-site-footer .re-footer-social-column .re-social-grid{width:100%;max-width:340px}
 .re-site-footer .elementor .e-con.re-footer-column+.re-footer-column:before{content:"";position:absolute;inset:0 auto 0 calc(-.5 * var(--fd-balanced-gap));width:1px;background:var(--fd-divider);pointer-events:none}
 .re-site-footer .elementor .e-con.re-footer-column+.re-footer-column:after{content:"";position:absolute;inset:0 auto 0 calc(-.5 * var(--fd-balanced-gap) - 1px);width:3px;background-image:radial-gradient(ellipse at center,var(--fd-accent) 0%,var(--fd-accent) 15%,transparent 70%),radial-gradient(ellipse at center,var(--fd-accent) 0%,var(--fd-accent) 15%,transparent 70%);background-repeat:no-repeat;background-size:100% 15%;background-position:50% 50%,50% 50%;filter:drop-shadow(0 0 var(--fd-line-glow) var(--fd-accent));animation:fd-column-travel var(--fd-line-speed) ease-in-out infinite;pointer-events:none}
}
@keyframes fd-column-travel{0%{background-position:50% 50%,50% 50%;opacity:0}12%,20%{background-position:50% 50%,50% 50%;opacity:1}62%{background-position:50% 8%,50% 92%;opacity:0}76%,100%{background-position:50% 0%,50% 100%;opacity:0}}
.re-site-footer.fd-ready:not(.fd-entered) .elementor .e-con.re-footer-column+.re-footer-column:after{animation-play-state:paused;opacity:0}
@media(max-width:767px){.re-site-footer .elementor .e-con.re-footer-column+.re-footer-column:before,.re-site-footer .elementor .e-con.re-footer-column+.re-footer-column:after{display:none}}
@media(prefers-reduced-motion:reduce){.re-site-footer .elementor .e-con.re-footer-column+.re-footer-column:after{animation:none;opacity:.45}}
