/* Public invitation, above the OS lock screen and reachable without a PIN. */
.oh-apply-invitation{position:fixed;right:24px;bottom:24px;z-index:10001;width:420px;height:174px;max-width:calc(100vw - 32px);overflow:hidden;isolation:isolate;border:1px solid #c7c7c7;border-radius:24px;background:#f4f4f4;box-shadow:0 8px 32px #0000000d;font-family:'Space Grotesk',Arial,sans-serif;transition:box-shadow .25s,border-color .25s}
.oh-apply-invitation__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.oh-apply-invitation:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f6f6f6f5 0%,#f6f6f6d9 36%,#f6f6f61a 100%);pointer-events:none}
.oh-apply-invitation__link{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:100%;box-sizing:border-box;padding:24px;text-decoration:none;color:#101112}
.oh-apply-invitation__copy{display:flex;flex-direction:column;gap:14px;min-width:0}
.oh-apply-invitation__title{font-size:34px;font-weight:500;line-height:1.05;letter-spacing:-.045em}
.oh-apply-invitation__title em{font-family:'Newsreader',Georgia,serif;font-size:1.16em;font-weight:400;letter-spacing:-.04em;color:#1f3aff}
.oh-apply-invitation__note{font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.4;color:#41434a}
.oh-apply-invitation__arrow{display:flex;align-items:center;justify-content:center;flex:none;width:46px;height:46px;margin-bottom:22px;border-radius:50%;background:#101112;color:#fff;transition:background .2s,transform .2s}
.oh-apply-invitation__arrow svg{width:19px;height:19px}
.oh-apply-invitation__motion{position:absolute;right:23px;bottom:5px;z-index:3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:transparent;color:#46484e;cursor:pointer}
.oh-apply-invitation__motion svg{width:17px;height:17px}
.oh-apply-invitation__play{display:none}
.oh-apply-invitation[data-paused="true"] .oh-apply-invitation__pause{display:none}
.oh-apply-invitation[data-paused="true"] .oh-apply-invitation__play{display:block}
.oh-apply-invitation__link:focus-visible{outline:2px solid #1f3aff;outline-offset:-5px;border-radius:24px}
.oh-apply-invitation__motion:focus-visible{outline:2px solid #1f3aff;outline-offset:-4px;border-radius:50%}
body:has(.lock.hidden) .oh-apply-invitation{display:none}
@media(hover:hover){.oh-apply-invitation:hover{box-shadow:0 12px 36px #00000016;border-color:#b7b7b7}.oh-apply-invitation__link:hover .oh-apply-invitation__arrow{background:#1f3aff;transform:translate(2px,-2px)}}
/* Reserve real space for the banner; it must never cover the PIN controls. */
@media(max-width:1100px){
  .oh-apply-invitation{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:none;height:146px;border-radius:22px}
  .oh-apply-invitation__link{padding:20px;gap:10px}
  .oh-apply-invitation__copy{gap:10px}
  .oh-apply-invitation__title{font-size:30px}
  .oh-apply-invitation__note{font-size:11px}
  .oh-apply-invitation__motion{right:19px;bottom:1px}
  .lock{gap:14px;justify-content:safe center;padding:16px 14px calc(174px + env(safe-area-inset-bottom));height:100dvh;overflow-y:auto}
  .lock .lock-logo{width:140px;flex-shrink:0}
  .lock .access{flex-shrink:0}
  .lock .lock-rock{position:static;width:108px;flex-shrink:0}
  .lock-cta,.lock-text{display:none}
}
@media(min-width:761px) and (max-width:1100px) and (max-height:900px){
  .lock .surveil{height:100px}
  .lock .access .abody{padding:16px 18px 14px;gap:14px}
  .lock .pad{gap:10px}
  .lock .key{width:52px;height:52px;font-size:18px}
}
@media(max-width:1100px) and (max-height:760px){
  .lock{gap:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:calc(170px + env(safe-area-inset-bottom))}
  .lock .surveil{height:88px}
  .lock .access .abody{padding:12px 18px;gap:10px}
  .lock .pad{gap:8px}
  .lock .key{width:46px;height:46px}
}
@media(max-width:1100px) and (max-height:610px){
  .lock{gap:10px}
  .lock .surveil{display:none}
  .lock .access{width:min(300px,90vw)}
  .lock .key{width:44px;height:44px}
  .lock .lock-rock{width:90px}
}
@media(prefers-reduced-motion:reduce){.oh-apply-invitation,.oh-apply-invitation__arrow{transition:none}}

@media(min-width:761px) and (max-width:1100px){.oh-apply-invitation{left:50%;right:auto;transform:translateX(-50%);width:min(600px,calc(100vw - 32px))}}
@media(min-width:1101px){.lock-rock{bottom:216px;right:24px}}
