:root { color-scheme:light; --cream:#faf7ef; --gold:#a67e38; --forest:#2d493e; --line:#d4bd8b; }
* { box-sizing:border-box; }
html,body { margin:0; width:100%; height:100%; background:transparent; overflow:hidden; }
#frame { width:1920px; height:1080px; position:relative; transform-origin:top left; }
.badge { position:absolute; background:linear-gradient(145deg,#fffdf8,#f6f0e3); border:1.5px solid var(--line); box-shadow:0 0 22px #fff5,0 3px 16px #392a121c,inset 0 1px 0 #fff; }
.logo-badge { left:50px; top:50px; width:255px; height:240px; display:grid; place-items:center; border-radius:30px; }
.logo-badge img { width:228px; height:228px; object-fit:contain; }
.signup-card { right:40px; top:50px; width:500px; height:220px; padding:18px 22px; display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:20px; align-items:center; border-radius:22px; text-decoration:none; color:var(--forest); }
.signup-copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; text-align:left; }
.signup-kicker { display:block; font:600 14px/18px Arial,sans-serif; letter-spacing:2.6px; margin-bottom:10px; }
.signup-invitation { display:block; font:italic 29px/34px Georgia,serif; margin-bottom:10px; color:#8c6d38; white-space:nowrap; }
.signup-audience { display:block; font:400 16px/22px Arial,sans-serif; white-space:nowrap; margin-bottom:12px; }
.signup-website { display:block; font:600 21px/26px Arial,sans-serif; }
.signup-qr { display:flex; flex-direction:column; align-items:center; gap:6px; }
.signup-card img { display:block; width:160px; height:160px; border-radius:9px; }
.signup-label { display:block; font:600 12px/14px Arial,sans-serif; letter-spacing:2.1px; text-align:center; }
/* A slim stationery-style footer; the broadcast encoder supplies the crawl. */
.ticker { position:absolute; bottom:0; left:0; width:100%; height:32px; overflow:hidden; background-color:var(--cream); background-image:linear-gradient(90deg,#f4eddd80,#fffdf780 32%,#faf6ec80 72%,#f3ebdb80),repeating-linear-gradient(0deg,#b08c4510 0,#b08c4510 1px,transparent 1px,transparent 4px); border-top:1px solid #b39157; box-shadow:0 -2px 10px #2c221310,inset 0 1px 0 #fff9; }
.ticker-track { position:absolute; left:100%; top:0; white-space:nowrap; font:400 22px/32px "DejaVu Serif",Georgia,serif; color:#9a762e; letter-spacing:.5px; text-shadow:0 1px 0 #fff9; animation:crawl var(--ticker-duration,100s) linear infinite; }
@keyframes crawl { to { transform:translateX(calc(-100% - 1920px)); } }
.broadcast .ticker-track { visibility:hidden; }
@media (prefers-reduced-motion:reduce) { .ticker-track { animation:none; left:25px; } }
