/* Stack the legal links below the existing heart and retain measured bar clearance. */
#home .heartwing-footer{flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-bottom:calc(var(--bar-clearance129,100px) + 24px);overflow:visible;flex-shrink:0}
#home .heartwing-footer>.hw-web-legal-r4{flex:0 0 auto;align-self:center;width:100%;max-width:880px;margin:0 auto;padding:4px 12px 0;text-align:center}
.hw-web-legal-r4{box-sizing:border-box;width:100%;margin:18px auto 0;padding:16px 12px;text-align:center;font:14px/1.6 system-ui,sans-serif;color:#45365c}
.hw-web-legal-r4 nav{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px 16px;position:static!important;background:transparent!important;padding:0!important}
.hw-web-legal-r4 a,.hw-storage-notice-r4 a{color:#65418b;text-decoration:underline;text-underline-offset:3px}
.hw-web-legal-r4 p{margin:12px 0 6px;font-size:13px}
.hw-web-legal-r4 .hw-storage-settings{font:inherit;min-height:44px;border:0;background:transparent;color:#65418b;text-decoration:underline;cursor:pointer;padding:8px 12px;box-shadow:none}
.hw-storage-notice-r4{box-sizing:border-box;position:fixed;z-index:1500;bottom:max(16px,env(safe-area-inset-bottom));right:16px;width:min(440px,calc(100vw - 32px));max-height:70dvh;overflow:auto;padding:22px;border:1px solid #d9c8e6;border-radius:20px;background:linear-gradient(135deg,#f0f9ff,#fff2f9);box-shadow:0 8px 35px #35224c30;color:#35294c;text-align:left;font:15px/1.55 system-ui,sans-serif}
.hw-storage-notice-r4[hidden],#home:not(.active) .hw-storage-notice-r4,#home:not(.active) .hw-web-legal-r4{display:none!important}
.hw-storage-notice-r4 h2{font-size:20px;line-height:1.3;color:#563579;margin:0 0 12px}
.hw-storage-notice-r4 p{font-size:14px;line-height:1.55;margin:10px 0}
.hw-storage-notice-r4 .hw-storage-continue{display:block;min-height:44px;width:100%;padding:12px 14px;border:0;border-radius:14px;background:#79549b;color:white;font:600 14px/1.4 system-ui,sans-serif;cursor:pointer;white-space:normal}
.hw-web-legal-r4 a:focus-visible,.hw-web-legal-r4 button:focus-visible,.hw-storage-notice-r4 a:focus-visible,.hw-storage-notice-r4 button:focus-visible{outline:3px solid #c24085;outline-offset:3px}
@media(max-width:480px){.hw-storage-notice-r4{padding:16px;bottom:max(10px,env(safe-area-inset-bottom));right:10px;width:calc(100vw - 20px)}.hw-storage-notice-r4 p{font-size:13px}.hw-web-legal-r4 nav{gap:8px 12px}}
@media print{.hw-storage-notice-r4,.hw-storage-settings{display:none!important}}

/* R6: keep the entire notice above the fixed navigation on every viewport. */
#home .hw-storage-notice-r4{
 --hw-notice-bottom:calc(max(var(--bar-clearance129,100px),env(safe-area-inset-bottom,0px)) + 12px);
 bottom:var(--hw-notice-bottom);
 max-height:calc(100vh - var(--hw-notice-bottom) - 16px);
 max-height:calc(100dvh - var(--hw-notice-bottom) - 16px);
 z-index:2100;
 overflow-y:auto;
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 scroll-padding-bottom:72px;
}
#home .hw-storage-notice-r4 .hw-storage-continue{
 position:sticky;
 bottom:0;
 z-index:1;
 flex-shrink:0;
 box-shadow:0 -8px 0 4px #f8f4fc;
 margin-top:16px;
}
@media(max-height:500px){
 #home .hw-storage-notice-r4{padding:12px 16px;border-radius:14px}
 #home .hw-storage-notice-r4 h2{font-size:18px;margin-bottom:8px}
}
