/* Small, isolated additions. Existing type tokens and page compositions stay intact. */
.footer-brand .footer-description{text-align:center}
.footer-meta{max-width:240px;text-align:right;font-size:var(--font-size-copyright);color:var(--text-muted)}
.footer-meta .copyright{max-width:none}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:3px 7px;width:max-content;max-width:calc(100vw - 40px);margin-top:6px;margin-left:auto;font-size:inherit;line-height:var(--line-secondary)}
.footer-links>span{white-space:nowrap}
.footer-link-separator{opacity:.55;margin-right:7px}
.footer-links a{font-weight:var(--weight-regular);text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.back-to-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:90;display:grid;place-items:center;width:48px;height:48px;border:1px solid #996125;border-radius:4px;background:var(--gold);color:#fff;box-shadow:0 4px 15px #0002;transition:background .18s,transform .18s}
.back-to-top .icon{transform:rotate(-90deg)}
.back-to-top:hover{background:#8e571b;transform:translateY(-2px)}
.back-to-top[hidden]{display:none}
.contact-popup{position:fixed;inset:0;height:fit-content;width:calc(100% - 32px);max-width:760px;max-height:90vh;max-height:90dvh;margin:auto;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--cream);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 90px #0005}
.contact-popup:not([open]){display:none}
.contact-popup::backdrop{background:#171a1bd1}
.contact-popup[open]{animation:contact-popup-in .18s ease-out}
.contact-popup.contact-page .contact-form-card{position:relative;border:0;padding:28px}
.contact-popup h2{padding-right:46px}
.contact-popup-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:3px;z-index:2}
.contact-popup-close:hover{background:#f0e7d9}
.contact-page .contact-request-form.is-ready .contact-upload input[type=file]{position:absolute;width:1px!important;height:1px;min-height:0;opacity:0;clip-path:inset(50%);padding:0!important}
.contact-file-picker{font:inherit;font-size:var(--font-size-secondary);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:3px;min-height:44px;padding:8px 14px;margin:6px 0 10px}
.contact-file-picker:hover{border-color:var(--gold)}
.contact-recaptcha{font-size:var(--font-size-hint);line-height:var(--line-secondary);margin:0 0 20px;overflow-wrap:anywhere}
.contact-recaptcha p{font-size:inherit;margin:8px 0}
.contact-recaptcha a{color:inherit;text-decoration:underline}
/* Google's current badge alternative: a visible disclosure is present in both forms. */
.sp-recaptcha-active .grecaptcha-badge{visibility:hidden}
.contact-popup-open{overflow:hidden}
.contact-popup-open body{position:fixed;top:var(--contact-popup-scroll-top);width:var(--contact-popup-body-width)}
.privacy-page .entry-content{overflow-wrap:anywhere}
.privacy-page .policy-draft{border-left:3px solid var(--gold);padding:18px;background:#f3e9d8;font-size:var(--font-size-secondary)}
@keyframes contact-popup-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){.footer-meta{max-width:100%;text-align:left}.footer-links{justify-content:flex-start;margin-left:0}.contact-popup.contact-page .contact-form-card{padding:20px}.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.back-to-top,.contact-popup{animation:none!important;transition:none!important}}
