/* Shared family heritage and guest recognition, on every page. */
.kve-footer{--footer-ink:#3c3025;--footer-muted:#6b5b49;--footer-gold:#86623b;box-sizing:border-box;background:#eee5d6;color:var(--footer-ink);border-top:1px solid #d9c8ae;padding:65px max(6%,calc((100% - 1230px)/2)) 25px;font:400 13px/1.8 'DM Sans',Arial,sans-serif;isolation:isolate}
.kve-footer *{box-sizing:border-box}
.kve-footer p,.kve-footer h2,.kve-footer h3{margin:0}
.kve-footer a{color:inherit;text-decoration:none;text-underline-offset:5px}
.kve-footer a:hover{text-decoration:underline}
.kve-footer a:focus-visible,.kve-footer button:focus-visible{outline:2px solid var(--footer-gold);outline-offset:5px}
.kve-footer-main{display:grid;grid-template-columns:1.12fr 1fr;gap:75px;align-items:start;padding-bottom:42px;border-bottom:1px solid #cdbda680}
.kve-footer-heritage,.kve-footer-recognition{display:flex;flex-direction:column;align-items:start;gap:17px;min-width:0}
.kve-footer-wordmark{font:400 italic 34px/1.25 'Playfair Display',Georgia,serif;letter-spacing:-.035em}
.kve-footer-heritage p{max-width:430px;color:#5f5041;font-size:14px;line-height:1.85}
.kve-footer-recognition{padding-left:34px;border-left:1px solid #cdbda680;gap:15px}
.kve-footer-rating{display:inline-flex;align-items:center;gap:15px;min-height:60px;color:var(--footer-ink)}
.kve-footer-rating-number{font:400 47px/1 'Playfair Display',Georgia,serif;letter-spacing:-.04em}
.kve-footer-rating-star{font-size:19px;color:#a77d43;line-height:1;align-self:center}
.kve-footer-rating-copy{display:flex;flex-direction:column;gap:2px;padding-left:2px;line-height:1.6}
.kve-footer-rating-copy strong{font-size:14px;letter-spacing:.01em;font-weight:500}
.kve-footer-rating-copy span{font-size:12px;color:var(--footer-muted)}
.kve-footer-recognition h2{font:400 24px/1.4 'Playfair Display',Georgia,serif;letter-spacing:-.025em;max-width:380px}
.kve-footer-recognition small{font-size:12px;line-height:1.7;color:var(--footer-muted);max-width:350px}
.kve-footer-details{display:grid;grid-template-columns:1.15fr 1.1fr .85fr 1fr;gap:36px;padding:35px 0 38px}
.kve-footer-column{display:flex;flex-direction:column;align-items:start;gap:10px;min-width:0}
.kve-footer-column h3{font:500 12px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--footer-gold)}
.kve-footer-column p,.kve-footer-column a{font-size:13px;line-height:1.8;color:#5f5041;max-width:100%;overflow-wrap:break-word}
.kve-footer-column nav{display:flex;flex-direction:column;align-items:start;gap:3px}
.kve-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid #cdbda680;font-size:12px;color:var(--footer-muted)}
.kve-footer-bottom em{font:400 italic 17px/1.4 'Playfair Display',Georgia,serif;color:#836748}
.kve-footer-bottom-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.kve-footer-album-button{appearance:none;border:0;background:none;color:inherit;padding:8px 0;min-height:44px;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.kve-footer{padding-top:48px}.kve-footer-main{gap:35px}.kve-footer-recognition{padding-left:25px}.kve-footer-details{grid-template-columns:1fr 1fr;gap:27px 30px}.kve-footer-wordmark{font-size:31px}}
@media(max-width:600px){.kve-footer{padding:40px 6% 23px}.kve-footer-main{grid-template-columns:minmax(0,1fr);gap:29px;padding-bottom:30px}.kve-footer-heritage{gap:13px}.kve-footer-heritage p{font-size:13px}.kve-footer-recognition{border-left:0;border-top:1px solid #cdbda680;padding:24px 0 0;gap:12px}.kve-footer-rating{gap:13px}.kve-footer-rating-number{font-size:43px}.kve-footer-recognition h2{font-size:25px;max-width:340px}.kve-footer-details{padding:29px 0 28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 23px}.kve-footer-column{gap:7px}.kve-footer-column p,.kve-footer-column a{font-size:13px}.kve-footer-column a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}.kve-footer-column nav{gap:0;width:100%}.kve-footer-bottom{align-items:start;flex-direction:column;gap:14px}.kve-footer-bottom-actions{width:100%;justify-content:space-between;gap:12px}.kve-footer-wordmark{font-size:30px}}
@media(max-width:350px){.kve-footer-details{gap:24px 16px}.kve-footer-column h3{letter-spacing:.08em}.kve-footer-wordmark{font-size:28px}.kve-footer-bottom-actions{align-items:start;flex-direction:column;gap:8px}}
