/* Shared footer presentation; markup source: footer-template.html. */
footer#contact{position:relative;z-index:2;color:#101720;font-family:Geist,Arial,sans-serif;min-height:0;isolation:isolate}
footer#contact .composition{position:relative;display:block;height:100svh;min-height:650px;padding:0;opacity:1;pointer-events:auto}
footer#contact .title{position:absolute;left:4.8vw;top:calc(86px + 6.5svh);width:40vw;max-width:530px;margin:0}
footer#contact .eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 25px}
footer#contact h2{font-size:clamp(42px,4.15vw,76px);font-weight:400;line-height:1.03;letter-spacing:-.058em;margin:0}
footer#contact a{color:inherit;text-decoration:none}
footer#contact .email{display:flex;align-items:center;justify-content:space-between;gap:25px;width:fit-content;min-width:200px;margin-top:28px;font-size:18px;line-height:1.4;padding:12px 0;border-bottom:1px solid currentColor}
footer#contact .email:hover{padding:12px 0;border-bottom-width:1px}footer#contact .email:hover span{color:#59ee79}
footer#contact .footer-bottom{position:absolute;left:4.8vw;right:4.8vw;bottom:8svh}
footer#contact .footer-mark{display:block;font-size:clamp(48px,9.2vw,178px);line-height:1;letter-spacing:-.07em;white-space:nowrap}
footer#contact .dot{color:#ff493d}footer#contact .underscore{color:#59ee79}
footer#contact .footer-meta{display:flex;justify-content:space-between;gap:25px;margin-top:26px;font-size:13px}
footer#contact .contact-legal-links{position:absolute;left:4.8vw;bottom:18px;display:flex;gap:20px;font-size:11px;z-index:3}
footer#contact .iris-footer-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;mask-image:linear-gradient(transparent,#000 23svh)}
footer#contact .iris-footer-scene video{width:100%;height:100%;object-fit:cover;filter:blur(var(--iris-frost-blur,44px))}
footer#contact .iris-footer-scene::after{content:"";position:absolute;inset:0;background:rgb(203 214 223 / var(--iris-frost-veil,.42))}
footer#contact .iris-footer-motion{position:absolute;right:4.8vw;bottom:12px;padding:6px 0;background:none;border:0;color:inherit;font:inherit;font-size:12px;z-index:3;cursor:pointer}
@media(max-width:700px){footer#contact .title{top:126px;width:88vw;max-width:none}footer#contact h2{font-size:clamp(34px,9.4vw,42px);max-width:220px}footer#contact .email{font-size:17px;margin-top:40px;min-width:0;width:100%;max-width:310px}footer#contact .footer-bottom{bottom:76px}footer#contact .footer-mark{font-size:9vw}footer#contact .footer-meta{font-size:11px;gap:15px;margin-top:24px}footer#contact .contact-legal-links{bottom:20px;gap:14px}}
@media(max-height:550px) and (orientation:landscape){footer#contact .composition{min-height:600px}footer#contact .title{top:100px}footer#contact .footer-bottom{bottom:75px}footer#contact .footer-mark{font-size:8vw}}

/* Keep legal links inside the existing footer, without an extra scroll tail. */
footer#contact{padding-bottom:0;margin-bottom:0}
footer#contact .contact-legal-links{bottom:26px;margin:0;padding:0}
@media(max-width:700px){footer#contact .contact-legal-links{bottom:26px}}

footer#contact .footer-dash{color:#59ee79}

/* Legal links align right, beside the background controls. */
footer#contact .contact-legal-links{left:auto;right:calc(4.8vw + 130px);justify-content:flex-end;text-align:right}
footer#contact.site-contact .contact-legal-links{right:calc(4.8vw + 70px)}
@media(max-width:700px){footer#contact .contact-legal-links{right:calc(4.8vw + 100px);gap:12px}footer#contact.site-contact .contact-legal-links{right:calc(4.8vw + 60px)}}
