/* Original footer composition, adapted to the current page and small screens. */
.site-footer{background:#0b0b0b;color:#fff;border-radius:96px 96px 0 0;padding:110px 60px 105px;margin-top:30px;overflow:hidden}
.footer-inner{max-width:1120px;margin:auto}.footer-invite{text-align:center}.footer-sculpture{display:block;width:165px;height:165px;margin:0 auto 42px;animation:footer-turn 32s linear infinite}
.footer-invite h2{font:400 40px/1.12 DM,Arial,sans-serif;letter-spacing:-1.3px;margin:0 auto;max-width:550px}.footer-invite h2 .footer-accent{color:#dbb6ee}.footer-contact{display:inline-flex;align-items:center;gap:9px;margin-top:36px;padding:12px 18px;border:1px solid #777;border-radius:999px;background:#000;color:white;text-decoration:none;font-size:16px;box-shadow:inset 0 2px 4px #ffffff66,0 2px 2px #0005,0 12px 20px #0005;transition:transform .25s,box-shadow .25s}.footer-contact:hover{transform:translateY(-3px);box-shadow:inset 0 2px 4px #ffffff66,0 12px 25px #0008}.footer-contact .bubble{width:15px;height:15px}
.footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:270px;margin:82px auto 60px}.footer-columns h3{font:400 16px/1.4 DM,Arial,sans-serif;color:#dbb6ee;white-space:nowrap;margin:0 0 20px}.footer-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.footer-columns nav h3{margin-bottom:0}.footer-columns a{color:#fff;text-decoration:none;font-size:16px;line-height:1.4}.footer-columns nav a:hover{text-decoration:underline;text-underline-offset:4px}.footer-social a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;transition:transform .25s}.footer-social a:hover{transform:translateY(-3px)}.footer-bottom{border-top:1px solid #272727;padding-top:15px;color:#777d86;font-size:16px}
@keyframes footer-turn{to{transform:rotate(360deg)}}
@media(max-width:1024px){.site-footer{padding:80px 28px 105px;border-radius:65px 65px 0 0}.footer-sculpture{width:150px;height:150px}.footer-invite h2{font-size:38px}.footer-bottom{font-size:14px}}
@media(max-width:560px){.site-footer{padding:60px 24px 105px;border-radius:42px 42px 0 0;margin-top:10px}.footer-sculpture{width:135px;height:135px;margin-bottom:30px}.footer-invite h2{font-size:30px;letter-spacing:-.8px;max-width:340px}.footer-contact{margin-top:28px}.footer-columns{gap:45px;max-width:265px;margin:58px auto 42px}.footer-columns h3,.footer-columns a{font-size:15px}.footer-bottom{font-size:13px;padding-top:18px}.faq{padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){.footer-sculpture{animation:none}.footer-contact,.footer-social a{transition:none}}

.footer-columns{grid-template-columns:1fr 1.45fr 1fr;max-width:650px;gap:65px}.footer-services a{white-space:nowrap}
@media(max-width:700px){.footer-columns{grid-template-columns:1fr 1.3fr;max-width:390px;gap:38px 28px}.footer-columns .footer-social{grid-column:1/-1}.footer-columns .footer-social h3{margin-bottom:12px}.footer-services a{white-space:normal}}

/* Light moves over the sculpture while its silhouette stays in place. */
.footer-sculpture{animation:none;overflow:visible}
.footer-sculpture .footer-light-field{will-change:transform;transform-origin:100px 100px}
@media(prefers-reduced-motion:reduce){.footer-sculpture .footer-light-field{will-change:auto}}
.footer-invite h2{font-family:Gunday,Georgia,serif;font-weight:400;letter-spacing:-.6px}

.footer-sculpture-wrap{position:relative;width:165px;height:165px;margin:0 auto 42px}
.footer-sculpture-wrap .footer-sculpture{width:100%;height:100%;margin:0}
.footer-fluid-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.footer-sculpture-wrap.has-fluid-light .footer-sculpture{opacity:0}
@media(max-width:1024px){.footer-sculpture-wrap{width:150px;height:150px}}
@media(max-width:560px){.footer-sculpture-wrap{width:135px;height:135px;margin-bottom:30px}}

/* Exact image-based original flower, replacing the procedural approximations. */
.footer-original-fallback{display:block;width:100%;height:100%;object-fit:contain}
.has-fluid-light .footer-original-fallback{opacity:0}
.footer-sculpture-wrap.original-flower{animation:original-flower-turn 20s linear infinite;animation-play-state:paused}
.footer-sculpture-wrap.original-flower.flower-visible{animation-play-state:running}
@keyframes original-flower-turn{to{transform:rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.footer-sculpture-wrap.original-flower{animation:none}}
.footer-contact .bubble{display:block;flex-shrink:0;background:white;border-radius:50% 50% 50% 2px}
