/* Shared MIKO structure, with Hopper's warm paper, ink and gold palette. */
.site-footer.miko-footer { padding:0; background:#29252b; color:#f4f0e8; border-top:3px solid #d9bc99; }
.miko-footer-inner { max-width:1700px; margin-inline:auto; padding:clamp(3rem,6vw,5rem) var(--pad) 1.5rem; }
.miko-footer-grid { display:grid; grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr)); gap:clamp(1.7rem,3vw,3.5rem); }
.miko-footer-grid>* { min-width:0; }
.miko-footer-brand { max-width:26rem; }
.miko-footer-logo { display:inline-block; color:#f4f0e8; }
.miko-footer-logo .hopper-name { font-size:3.3rem; letter-spacing:.07em; }
.miko-footer-logo .hopper-suffix { color:#d9bc99; font-size:.7rem; letter-spacing:.035em; }
.miko-footer-claim { font-size:.85rem; line-height:1.8; color:#ded5cb; margin-top:1.3rem; max-width:37ch; }
.miko-footer-membership { font-size:.81rem; line-height:1.85; color:#c6bbae; margin-top:.8rem; max-width:41ch; }
.miko-footer-membership a { color:#e3c6a3; text-decoration:underline; text-underline-offset:3px; }
.miko-footer-contact { display:flex; flex-direction:column; align-items:start; gap:.3rem; margin-top:1.5rem; font-style:normal; font-size:.8rem; line-height:1.7; color:#c6bbae; }
.miko-footer-contact .miko-footer-company { font-weight:500; color:#f4f0e8; }
.miko-footer-contact>a { display:inline-flex; align-items:center; min-height:44px; margin-top:.25rem; font-size:.82rem; color:#e3c6a3; }
.miko-footer-contact .miko-footer-location { font-size:.7rem; color:#bdb0a0; }
.miko-footer-column h2 { font:500 .6875rem/1.6 Plex,Arial,sans-serif; text-transform:none; letter-spacing:0; margin:0; padding:0; color:#d9bc99; }
.miko-footer-column ul { list-style:none; margin:1rem 0 0; padding:0; display:flex; flex-direction:column; gap:.4rem; }
.miko-footer-column li { min-width:0; }
.miko-footer-column a { display:inline-block; font-size:.82rem; line-height:1.7; color:#ded5cb; padding:.3rem 0; overflow-wrap:anywhere; text-underline-offset:4px; }
.miko-footer a:hover { color:#f4f0e8; text-decoration:underline; text-underline-offset:4px; }
.miko-footer-column a[aria-current=page] { color:#e3c6a3; text-decoration:underline; }
.miko-footer-pending { display:inline-flex; align-items:center; flex-wrap:wrap; gap:.4rem; font-size:.82rem; line-height:1.7; color:#c6bbae; padding:.3rem 0; }
.miko-footer-badge { display:inline-block; flex-shrink:0; border:1px solid #a18b73; padding:.05rem .3rem; font-size:.8125rem; line-height:1.5; letter-spacing:0; text-transform:none; white-space:nowrap; color:#d6c5b1; }
.miko-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; border-top:1px solid #d9bc9940; margin-top:clamp(2.5rem,5vw,4rem); padding-top:1.4rem; color:#c6bbae; font-size:.69rem; }
.miko-footer-disclosure { font-size:.6875rem; }
.miko-footer-top { display:inline-flex; align-items:center; gap:.75rem; min-height:44px; color:#e3c6a3; font-size:.72rem; }
.miko-footer-top>span { font-size:1rem; }
.miko-footer :focus-visible { outline:2px solid #d9bc99; outline-offset:5px; }
@media(max-width:1050px) {
 .miko-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem 3rem; }
 .miko-footer-brand { max-width:30rem; }
 .miko-footer-column ul { gap:.3rem; }
}
@media(max-width:550px) {
 .miko-footer-grid { grid-template-columns:minmax(0,1fr); gap:2.2rem; }
 .miko-footer-brand { max-width:none; }
 .miko-footer-logo .hopper-name { font-size:3.1rem; }
 .miko-footer-claim,.miko-footer-membership { max-width:42ch; }
 .miko-footer-column h2 { font-size:.7rem; }
 .miko-footer-column ul { gap:.1rem; }
 .miko-footer-column a,.miko-footer-pending { display:flex; align-items:center; min-height:44px; font-size:.85rem; }
 .miko-footer-badge { font-size:.6875rem; }
 .miko-footer-bottom { display:grid; grid-template-columns:minmax(0,1fr); gap:.8rem; }
 .miko-footer-top { justify-self:start; }
}
@media print {
 .site-footer.miko-footer { background:white; color:black; border-color:#999; }
 .miko-footer p,.miko-footer a,.miko-footer span,.miko-footer h2 { color:black!important; }
 .miko-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .miko-footer-top { display:none; }
}
