/* Closing invitation and scroll-led title. */
.contact.portfolio-closing{overflow:clip}
.portfolio-closing .closing-cta{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding-top:var(--section-space);padding-bottom:0;min-height:0;overflow:clip}
.portfolio-closing .closing-invitation{position:relative;z-index:3;margin-bottom:clamp(44px,5vw,80px)}
.portfolio-closing .closing-invitation p{margin-bottom:28px}
.portfolio-closing .closing-title{position:relative;z-index:3;margin-top:clamp(40px,5vw,80px)}
@media(max-width:650px){
 /* One visible screen; the dark footer remains outside this section. */
 .portfolio-closing .closing-cta{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:center;justify-items:center;gap:clamp(16px,4vh,32px);width:100vw;max-width:100%;height:100vh;height:100dvh;min-height:0;padding:clamp(24px,8vh,64px) 0 0}
 .portfolio-closing .closing-invitation{margin-bottom:0;padding-inline:24px}
 .portfolio-closing .closing-title{margin-top:0;align-self:end}
 }

/* Grow the title into its full-width closing line without changing flow. */
.portfolio-closing .closing-cta.closing-title-motion .closing-title{transform:translate3d(var(--cta-title-x,0px),var(--cta-title-y,0px),0) scale(var(--cta-title-scale,.2));transform-origin:50% 50%;opacity:var(--cta-title-opacity,0);will-change:transform,opacity}
@media(prefers-reduced-motion:reduce){.portfolio-closing .closing-cta.closing-title-motion .closing-title{will-change:auto}}
