/* Shared across all Veritess pages: logo, cursor, keyboard focus, the waiting-list dialog.
   Loaded after each page's own <style>, so it wins where they overlap. Design rules: ../../DESIGN.md */

/* official logo from the brand kit (brand/README.txt) */
.brand img{display:block;height:30px;width:auto}

/* one frame on every page, so nothing jumps when you move between them:
   same header height and width, same content width, scrollbar space always reserved */
html{scrollbar-gutter:stable}
header nav{max-width:1120px!important;margin:0 auto!important;padding:0 16px!important;min-height:56px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap!important}
header nav .btn,header nav a{white-space:nowrap}
header nav .btn{padding-top:10px!important;padding-bottom:10px!important}
@media (max-width:900px){header .links{display:none!important}}
@media (max-width:380px){header nav .btn{font-size:13.5px!important;padding-left:12px!important;padding-right:12px!important}}
.wrap{max-width:1120px;padding-left:16px;padding-right:16px}
footer > div{max-width:1120px!important;padding-left:16px!important;padding-right:16px!important}

/* everything you can press shows a hand; text fields show a caret */
a,button,summary,select,label[for],[data-waitlist],input[type=checkbox],input[type=file]{cursor:pointer}
.inp input,input[type=email],input[type=text],input:not([type]){cursor:text}

/* visible focus for keyboard users only */
:focus{outline:none}
:focus-visible{outline:3px solid #A5B4FC;outline-offset:2px;border-radius:8px}
.inp:focus-within :focus-visible{outline:none}

/* tap targets on phones */
@media (pointer:coarse){summary{min-height:44px;display:flex;align-items:center}}

/* video cover: a designed image + play button; the player appears only after a click */
.vcover{all:unset;box-sizing:border-box;position:absolute;inset:0;cursor:pointer;display:block;background:#F8FAFC}
.vcover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vcover .vplay{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:#2448D8;box-shadow:0 14px 40px rgba(36,72,216,.45);display:grid;place-items:center;transition:transform .2s ease}
.vcover .vplay::after{content:"";border-left:24px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent;margin-left:7px}
.vcover:hover .vplay{transform:scale(1.07)}
.vcover .vmeta{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;gap:2px;background:rgba(17,24,39,.78);color:#fff;border-radius:12px;padding:10px 14px;text-align:left;font-family:'Instrument Sans',sans-serif}
.vcover .vmeta b{font-size:15px}
.vcover .vmeta small{font-size:12.5px;color:#C7D2FE}
.vcover .vlen{position:absolute;right:14px;top:14px;background:rgba(17,24,39,.78);color:#fff;border-radius:999px;padding:6px 12px;font:600 12.5px 'Instrument Sans',sans-serif}
.vcover:focus-visible{outline:3px solid #A5B4FC;outline-offset:3px}
@media (max-width:520px){.vcover .vplay{width:64px;height:64px;margin:-32px 0 0 -32px}.vcover .vmeta{left:10px;bottom:10px;padding:8px 10px}}

/* waiting-list dialog (built by assets/site.js) */
dialog.wlm{border:0;padding:0;border-radius:24px;width:min(460px,calc(100vw - 32px));box-shadow:0 30px 80px rgba(17,24,39,.35);color:#111827;font-family:'Instrument Sans',system-ui,sans-serif}
.wlm [hidden]{display:none!important}
dialog.wlm::backdrop{background:rgba(17,24,39,.6);backdrop-filter:blur(3px)}
.wlm .in{padding:28px 26px 24px;display:flex;flex-direction:column;gap:14px;position:relative}
.wlm .x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:0;background:#F3F4F6;color:#374151;font-size:20px;line-height:1}
.wlm .x:hover{background:#E5E7EB}
.wlm .k{font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#2448D8}
.wlm h2{margin:0;font-size:26px;line-height:1.1;letter-spacing:-.03em;font-weight:700;padding-right:36px}
.wlm p{margin:0;font-size:15px;line-height:1.5;color:#4B5563}
.wlm form{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.wlm input[type=email]{border:1px solid #D1D5DB;border-radius:12px;padding:14px;font:500 16px 'Instrument Sans',sans-serif;color:#111827;width:100%;box-sizing:border-box}
.wlm input[type=email]:focus{border-color:#2448D8;box-shadow:0 0 0 4px #EEF2FF}
.wlm .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.wlm button.go{border:0;border-radius:12px;padding:14px 18px;background:#2448D8;color:#fff;font:600 16px 'Instrument Sans',sans-serif}
.wlm button.go:hover{background:#1A36A8}
.wlm button.go[disabled]{opacity:.6;cursor:wait}
.wlm .fine{font-size:13px;color:#6B7280}
.wlm .err{font-size:14px;color:#B91C1C;font-weight:600}
.wlm .done{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.wlm .done .ok{width:44px;height:44px;border-radius:50%;background:#ECFDF5;color:#065F46;display:grid;place-items:center;font-size:22px;font-weight:700}
