.svg-library{position:absolute}
.copy-buffer{position:fixed;left:-9999px;top:0;opacity:0}
.hero__figure>img{object-position:center 40%}
.videos{display:block}
.videos .thumb{aspect-ratio:16/9;width:100%}
.speech-preview{margin:12px 0}
.speech-preview img{width:100%;aspect-ratio:16/9;object-fit:cover}
.poll-label{fill:#e7dfe0;font:13px Archivo,Arial,sans-serif}
.poll-track{fill:#392427}
.poll-bar{fill:#f25760}
.panel__note a{color:inherit;text-decoration:underline}
.real-feed>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#f68c93}
.real-feed>a{font-weight:700;font-size:1.1rem;line-height:1.5;color:#fff}
.pd__box,.pt__thumb{aspect-ratio:1}
.pd__box>img,.pt__thumb>img{width:100%;height:100%;object-fit:contain;display:block}
.pd__box>img.original-photo{object-fit:cover}
.mobile-notice{border:0;border-top:6px solid var(--red);border-radius:14px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:30px 26px 18px;overflow:auto;background:#fff;color:var(--ink);box-shadow:0 30px 100px #0006}
.mobile-notice::backdrop{background:#140a0bb8;backdrop-filter:blur(6px)}
.mobile-brand{display:block;font-weight:900;font-size:.88rem;letter-spacing:.1em;padding-right:24px}
.mobile-brand>span{display:block;font-size:.62rem;letter-spacing:.18em;color:var(--muted);margin-top:4px}
.mobile-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;background:transparent;font-size:30px;cursor:pointer;color:var(--muted)}
.mobile-icon{margin:25px 0 18px;width:60px;height:60px;border-radius:16px;background:#fce8e9;display:grid;place-items:center;color:var(--red)}
.mobile-icon .ico{width:32px;height:32px}
.mobile-notice .eyebrow{font-size:.64rem;letter-spacing:.1em;margin-bottom:10px}
.mobile-notice h2{font-size:clamp(26px,7vw,34px);line-height:1.1;font-weight:900;letter-spacing:-.03em;margin:0 0 18px}
#mobile-title:focus{outline:none}
.mobile-notice p:not(.eyebrow){font-size:.92rem;line-height:1.55;color:var(--muted);margin-bottom:14px}
.mobile-notice .btn{width:100%;min-height:48px;margin-top:10px;justify-content:center}
.mobile-notice .mobile-status{font-size:.78rem;min-height:1.55em;margin:10px 0 0}
body:has(dialog[open]){overflow:hidden}
@media (prefers-reduced-motion:no-preference){.mobile-notice[open]{animation:notice-in .22s ease-out}@keyframes notice-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
