/* Painting closes the narrative; contact details remain on a solid reading surface. */
.journey-end {background:#12162a;color:#f2edde}
.footer-invitation {
 position:relative;
 isolation:isolate;
 overflow:hidden;
 min-height:340px;
 min-height:38svh;
 display:flex;
 align-items:center;
 padding-block:72px;
 background:#12162a;
}
.footer-art {
 position:absolute;
 inset:0;
 z-index:-1;
 pointer-events:none;
 background:linear-gradient(90deg,rgba(18,22,42,.64),rgba(18,22,42,.15)),url('assets/pintura-tall.jpg') center bottom/cover no-repeat;
}
.footer-invitation::after {content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(0deg,#12162a,rgba(18,22,42,.65) 16%,transparent 55%)}
.footer-invitation>.frame {position:relative;z-index:1}
.footer-invitation h2 {margin:0;font-family:'Spectral',Georgia,serif;font-weight:500;font-size:clamp(34px,4.2vw,56px);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
.footer-invitation h2 a {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.footer-invitation h2 a:hover {color:#ccc5ff}
.footer-information {position:relative;background:#12162a;padding-block:44px 32px}
.footer-information-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px 10%;align-items:start}
.footer-brand {min-width:0;max-width:360px}
.footer-brand img {display:block;width:180px;height:auto}
.footer-brand p {margin:20px 0 0;font-size:16px;line-height:1.65;color:#c3c6dd}
.footer-contact {min-width:0}
.footer-contact h3 {margin:0 0 12px;font:600 16px/1.5 'Hanken Grotesk',Arial,sans-serif}
.footer-contact address {display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-style:normal;font-size:16px;line-height:1.6}
.footer-contact address a {display:inline-flex;align-items:center;min-height:44px;max-width:100%;text-decoration:underline;text-decoration-color:rgba(242,237,222,.35);text-underline-offset:5px;overflow-wrap:anywhere}
.footer-contact address a:hover,.footer-legal a:hover {color:#ccc5ff;text-decoration-color:currentColor}
.footer-contact address p {margin:0;color:#c3c6dd}
.footer-legal {display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid rgba(242,237,222,.16);font-size:14px;line-height:1.6;color:#b7bcd6}
.footer-legal a {display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-decoration:underline;text-decoration-color:rgba(242,237,222,.35);text-underline-offset:5px}
@supports(clip-path:inset(0)){
 .footer-invitation {clip-path:inset(0)}
 .footer-art {position:fixed;inset:0;height:100vh;height:100lvh}
 body.paused .footer-art {position:absolute;height:auto}
}
@media(max-width:600px){
 .footer-invitation {padding-block:56px}
 .footer-information {padding-block:32px 24px}
 .footer-information-grid {grid-template-columns:minmax(0,1fr);gap:36px}
 .footer-legal {margin-top:32px;gap:12px}
}
@media(prefers-reduced-motion:reduce){.footer-art {position:absolute;height:auto}}

/* Opening painting continues through the documentary statement, ending at services. */
.opening-painting {position:relative;isolation:isolate;clip-path:inset(0);overflow:hidden}
.opening-painting .hero {clip-path:none;isolation:auto;overflow:visible}
.opening-painting .banner {isolation:auto}
.opening-painting #om-anim {background:transparent!important;min-height:90svh;display:flex;align-items:center;border:0!important}
.opening-painting #om-anim>div {width:100%;padding-block:100px}
.opening-painting #om-anim :is(h2,p){margin:0}
.footer-invitation h2 {font-family:'Hanken Grotesk',Arial,sans-serif;font-size:20px;letter-spacing:0}
@media(max-width:600px){.footer-invitation{min-height:280px}.opening-painting #om-anim>div{padding-block:80px}}
