/* Official app launch: bounded additions; preserve existing route layouts. */
.header-app-link{font-size:13px;font-weight:700;white-space:nowrap;color:#fff;border-bottom:2px solid #ef3654;padding:10px 2px;text-decoration:none}
.app-home-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin:20px auto;background:#151820;border-left:3px solid #ed2545}
.app-home-notice p{margin:0;line-height:1.5}.app-home-notice strong{display:block;font-size:20px}.app-home-notice p span{display:block;font-size:14px;color:#ddd;margin-top:4px}
.app-register{white-space:normal;text-align:center;line-height:1.5;min-height:44px;flex-shrink:0;font-size:15px}
.app-introduction.app-intro-live{grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);align-items:center;gap:40px;padding:28px 36px;margin:36px auto}
.app-intro-live .app-intro-heading{grid-column:2;grid-row:1;padding:0;min-width:0}
.app-intro-live .app-intro-heading h2{font-size:clamp(27px,3vw,40px);line-height:1.35;margin:10px 0 18px}
.app-intro-live .app-intro-heading>p{font-size:17px;line-height:1.85;color:#eee}
.app-intro-live .app-intro-heading .eyebrow{font-size:12px;color:#efb4bd}
.app-live-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:20px}.app-login{font-size:14px;color:#eee;text-underline-offset:4px}
.app-intro-live .app-intro-heading .app-browser-note{font-size:13px;line-height:1.7;color:#ccc;margin:14px 0}
.app-intro-video{grid-column:1;grid-row:1;margin:0;justify-self:center;width:min(100%,280px)}
.app-intro-video video{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:#050505;border:1px solid #484848;border-radius:4px}
.app-intro-video figcaption{font-size:12px;color:#ccc;margin-top:8px;text-align:center}
.app-qr{display:flex;gap:14px;align-items:center;margin-top:20px;font-size:13px;line-height:1.6;color:#ddd}.app-qr img{width:96px;height:96px;background:white}
.app-release-live{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:14px 18px}.app-release-live strong{font-size:17px}.app-release-live span{font-size:14px}.app-release-live .app-register{margin-left:auto}
.app-photo-register{margin-top:20px}.app-program-action{margin:18px 0}.app-visit-prep{margin:24px 0;padding:20px;border-left:3px solid #ed2545;background:#161a22}.app-visit-prep h3{font-size:23px;line-height:1.4;margin:0 0 12px}.app-visit-prep p{font-size:16px;line-height:1.8;color:#eee}
/* Duo uses the two sides for the video and registration information. */
.duo .app-introduction.app-intro-live{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:24px}.duo .app-intro-video{width:min(100%,240px)}.duo .app-qr{display:none}.duo .app-home-notice{width:100%;flex-direction:column;align-items:stretch;margin:16px 0;padding:16px}
@media(max-width:1199px){.app-introduction.app-intro-live{gap:24px;padding:24px}.app-intro-video{width:min(100%,240px)}.app-qr{display:none}}
@media(max-width:599px){.header-app-link{font-size:12px;padding:10px 0}.header-right{gap:9px}.app-home-notice{flex-direction:column;align-items:stretch;padding:16px;margin:16px auto}.app-home-notice strong{font-size:19px}.app-home-notice .app-register{align-self:flex-start}.app-introduction.app-intro-live{display:flex;flex-direction:column;gap:20px;padding:22px 18px;margin:24px auto}.app-intro-live .app-intro-heading h2{font-size:29px}.app-intro-live .app-intro-heading>p{font-size:16px}.app-intro-video{width:210px}.app-live-actions{gap:16px}.app-release-live{align-items:flex-start}.app-release-live .app-register{margin-left:0}.app-release-live>span:last-child{width:auto}.app-visit-prep{padding:16px}.app-visit-prep h3{font-size:21px}}
