/* Original transparent PSD smart object, without the clipped layer effects. */
body .ts-footer .ts-footer-socials{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;margin:14px 0 0;padding:0}
body .ts-footer .ts-footer-socials .ts-footer-social{display:inline-grid;place-items:center;flex:0 0 auto;margin:0;padding:0}
/* The accessible text node forms an anonymous grid item. Position the graphic
   independently so that extra grid row cannot push it above the circle centre. */
body .ts-footer .ts-footer-socials .ts-footer-social::before{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%)}
body .ts-footer .ts-footer-character{right:1.5%;top:12px;width:25.5%;height:auto;filter:drop-shadow(2px 0 0 #fff8df) drop-shadow(-2px 0 0 #fff8df) drop-shadow(0 2px 0 #fff8df) drop-shadow(0 -2px 0 #fff8df)}
@media(max-width:1050px){body .ts-footer .ts-footer-character{width:27%;right:1.5%;top:5vw}}
@media(max-width:620px){body .ts-footer .ts-footer-character{width:36%;right:12px;top:12px;max-height:150px;object-fit:contain;object-position:right top}}
/* Refined vector contour: open highlight avoids a seam along the bottom edge. */
body .ts-footer .ts-footer-wave{background:url("footer-wave-refined.svg?ver=27.3.6") center bottom/100% 100% no-repeat;aspect-ratio:1600/220;height:auto;overflow:visible}
body .ts-footer .ts-footer-wave>path{opacity:0}
body .ts-footer .ts-payment img[alt="American Express"]{object-fit:contain}
@media(min-width:1051px){
 /* Leave room inside the clipped footer for the original mint outline. */
 body .ts-footer{padding-top:16px}
 body .ts-footer .ts-footer-character{width:31.5%;right:1.5%;top:28px;filter:url(#tsp-character-outline)}
 body .ts-home .ts-footer{margin-top:-2vw;background-color:#fefbea}
 body .ts-footer .ts-footer-wave{margin-top:1vw}
 body .ts-footer .ts-footer-content{margin-top:-2vw}
 body .ts-footer .ts-wrap{width:94%;padding-right:0}
 body .ts-footer h4{font-size:clamp(14px,1.55vw,30px);letter-spacing:-.02em}
 body .ts-footer .ts-footer-grid{width:77%;padding:0;grid-template-columns:22% 16.5% 15% 23% 23.5%;gap:0}
 body .ts-footer .ts-footer-grid>div{padding-right:18px}
 body .ts-footer .ts-footer-grid>div:last-child{padding-right:0}
 body .ts-footer .ts-brand img{width:10vw;max-width:205px}
 body .ts-footer .ts-footer-grid>div>a,body .ts-footer .ts-contact-unset{margin:8px 0;font-size:clamp(12px,.95vw,20px);line-height:1.7}
 body .ts-footer .ts-footer-grid>div:last-child p{font-size:clamp(12px,.95vw,20px);max-width:250px;line-height:1.65}
 body .ts-footer .ts-signup{max-width:200px}
 body .ts-footer .ts-footer-socials{justify-content:flex-start;max-width:200px;gap:12px;margin-top:20px}
 body .ts-footer .ts-footer-socials .ts-footer-social{width:34px;height:34px}
 body .ts-footer .ts-footer-socials .ts-footer-social::before{width:23px;height:23px}
 body .ts-footer .ts-footer-grid>div:nth-child(4)>a{max-width:245px}
 body .ts-footer .ts-payment{margin-top:3vw;transform:translateX(-2vw)}
 body .ts-footer .ts-copy{transform:translateX(-2vw)}
 body .ts-footer .ts-footer-grid>div:last-child h4{white-space:nowrap;font-size:clamp(13px,1.4vw,27px)}
}
/* Match the cream at the bottom of the approved homepage artwork. */
body .ts-home .ts-footer{background-color:#fefbea}
