#zoe-welcome {
  box-sizing:border-box; width:min(32rem,calc(100% - 24px)); max-width:none;
  max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px);
  padding:0; margin:auto; border:1px solid #c9dddd; border-top:6px solid #367079;
  border-radius:18px; box-shadow:0 14px 64px #12333d40; background:#fff; color:#213b4b;
  font:16px/1.55 Arial,Helvetica,sans-serif;
}
#zoe-welcome[open] {display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden}
#zoe-welcome::backdrop { background:rgba(26,49,59,.4); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
#zoe-welcome .zw-top {display:flex;justify-content:flex-end;padding:4px 8px 0;}
#zoe-welcome button {font:600 16px/1.3 Arial,sans-serif;min-height:44px;border:0;cursor:pointer}
#zoe-welcome .zw-close {display:inline-flex;align-items:center;gap:.45rem;background:white;color:#254651;border-radius:.5rem;padding:.5rem .75rem}
#zoe-welcome .zw-close span {font-size:24px;line-height:1}
#zoe-welcome .zw-copy {overflow:auto;overscroll-behavior:contain;padding:0 clamp(16px,5vw,32px) 3px}
#zoe-welcome h2 {font:600 clamp(26px,5vw,38px)/1.13 Georgia,serif;color:#213b4b;margin:0 0 .75rem}
#zoe-welcome p {font:inherit;color:inherit;margin:0 0 .85rem}
#zoe-welcome .zw-contact {color:#245864;text-decoration:underline;text-underline-offset:.16em}
#zoe-welcome .zw-actions {padding:10px clamp(16px,5vw,32px) 18px}
#zoe-welcome .zw-continue {background:#245864;color:#fff;border-radius:30px;padding:10px 20px}
#zoe-welcome :focus-visible {outline:2px solid #245864;outline-offset:2px}
@media(max-width:600px){#zoe-welcome .zw-continue{width:100%}}
@media(max-height:410px){#zoe-welcome .zw-actions{padding-block:4px}#zoe-welcome .zw-top{padding-top:0}}

