
@font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;src:url(/site/assets/e990806dbc9b.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:300 700;font-display:swap;src:url(/site/assets/6a682eb0234e.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:300 700;font-display:swap;src:url(/site/assets/292223348723.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/site/assets/814fe1615d4d.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/site/assets/6708425c446b.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/site/assets/e71a597e376e.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400 800;font-display:swap;src:url(/site/assets/568184673926.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 800;font-display:swap;src:url(/site/assets/1a4b137019bd.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300 700;font-display:swap;src:url(/site/assets/0a301b6df4c7.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 700;font-display:swap;src:url(/site/assets/5d2835174326.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/site/assets/26082c73a711.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/site/assets/c008db4e8a97.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:300 800;font-display:swap;src:url(/site/assets/101877a7a906.woff2) format('woff2')}
:root{
  --royal:#004BE5;--navy:#052B72;--slate:#95ABBC;
  --f-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --f-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --f-head:var(--f-sans);--f-body:var(--f-sans);
  --fs:16px;--dens:1;--rad:1;
  --r1:calc(4px*var(--rad));--r2:calc(8px*var(--rad));--r3:calc(14px*var(--rad));--r4:calc(22px*var(--rad));--rp:calc(999px*var(--rad));
  --sec:calc(clamp(76px,9vw,136px)*var(--dens));
  --ease:cubic-bezier(.2,.7,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --accent:#004BE5;--btn:#004BE5;--btn-h:#052B72;
  color-scheme:light;
}
html[data-accent="navy"]{--accent:#052B72;--btn:#052B72;--btn-h:#031C4D}
html[data-theme="dark"]{color-scheme:dark;--accent:#6E9BFF;--btn:#2F6BFF;--btn-h:#1F55E0}
html[data-theme="dark"][data-accent="navy"]{--accent:#A9BCF3;--btn:#3A5BB8;--btn-h:#2E4A9A}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
html[data-motion="off"]{scroll-behavior:auto}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs)/1.6 var(--f-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .45s var(--ease),color .45s var(--ease)}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit}
a,button,[role="button"],label,summary,select{cursor:pointer}
input{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}
.ic{width:20px;height:20px;flex:none}
#site{min-height:100vh}
[hidden]{display:none!important}

/* ---------- Nav (structure; each direction styles the look) ---------- */
.nav{position:sticky;top:0;z-index:60;padding-top:env(safe-area-inset-top,0px);transition:background-color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),backdrop-filter .35s}
.nav-in{display:flex;align-items:center;gap:20px;height:74px}
.logo{display:flex;align-items:center;flex:none;margin-right:6px}
.logo img{height:40px;width:auto}
.logo .logo-d{display:none}
html[data-theme="dark"] .logo .logo-l{display:none}
html[data-theme="dark"] .logo .logo-d{display:block}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-link{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:var(--r2);font:500 14.5px/1 var(--f-sans);color:var(--nav-text,var(--muted));transition:color .2s,background-color .2s}
.nav-link:hover,.dd.open>.nav-link{color:var(--text);background:var(--hover)}
.nav-link .ic{width:15px;height:15px;transition:transform .3s var(--ease-out)}
.dd.open>.nav-link .ic{transform:rotate(180deg)}
.nav-act{margin-left:auto;display:flex;align-items:center;gap:8px}
.nav-login{display:inline-flex;align-items:center;height:38px;padding:0 10px;font:500 14.5px/1 var(--f-sans);color:var(--nav-text,var(--muted));transition:color .2s}
.nav-login:hover{color:var(--text)}
.dd{position:relative}
.dd-panel{position:absolute;left:-16px;top:calc(100% + 12px);width:min(660px,86vw);display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;padding:18px;border-radius:var(--r3);background:var(--menu-bg);border:1px solid var(--line);box-shadow:var(--menu-shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s var(--ease),transform .3s var(--ease-out),visibility 0s .3s}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none;transition:opacity .22s var(--ease),transform .3s var(--ease-out),visibility 0s}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd-g h4{font:600 12.5px/1 var(--f-sans);color:var(--muted);margin:6px 10px 10px;letter-spacing:.01em}
.dd-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:10px;border-radius:var(--r2);transition:background-color .2s}
.dd-item:hover{background:var(--hover)}
.dd-ic{width:38px;height:38px;border-radius:var(--r2);display:grid;place-items:center;border:1px solid var(--line);color:var(--accent);background:var(--surface)}
.dd-ic .ic{width:18px;height:18px}
.dd-item b{display:block;font:600 14.5px/1.3 var(--f-sans);color:var(--text)}
.dd-item span{display:block;font:400 13.5px/1.4 var(--f-sans);color:var(--muted);margin-top:2px}
.theme-btn{position:relative;width:38px;height:38px;flex:none;border-radius:var(--rp);display:grid;place-items:center;color:var(--nav-text,var(--muted));transition:color .2s,background-color .2s}
.theme-btn:hover{color:var(--text);background:var(--hover)}
.theme-btn .ic{position:absolute;width:19px;height:19px;transition:transform .55s var(--ease-out),opacity .3s}
.theme-btn .i-moon{opacity:0;transform:rotate(-90deg) scale(.5)}
html[data-theme="dark"] .theme-btn .i-sun{opacity:0;transform:rotate(90deg) scale(.5)}
html[data-theme="dark"] .theme-btn .i-moon{opacity:1;transform:none}
.menu-btn{display:none;width:42px;height:42px;place-items:center;border-radius:var(--r2);color:var(--text)}
.menu-btn:hover{background:var(--hover)}
.mnav{position:fixed;inset:0;z-index:70;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 16px) clamp(20px,5vw,40px) calc(env(safe-area-inset-bottom,0px) + 24px);display:flex;flex-direction:column;gap:18px;overflow:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .35s var(--ease-out),visibility 0s .35s}
.mnav.open{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .35s var(--ease-out),visibility 0s}
.mnav-top{display:flex;align-items:center;justify-content:space-between;height:52px}
.mnav h4{font:600 13px/1 var(--f-sans);color:var(--muted);margin:10px 0 4px}
.mnav a.mi{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font:500 17px/1.3 var(--f-sans);color:var(--text)}
.mnav a.mi .ic{color:var(--accent);width:18px;height:18px}
.mnav-ctas{display:grid;gap:10px;margin-top:8px}
@media (max-width:1120px){.nav-links{display:none}.nav-act .btn--ghost{display:none}.menu-btn{display:grid}}
@media (max-width:600px){.nav-act .btn--primary,.nav-login{display:none}.logo img{height:34px}.nav-in{height:64px}}

/* ---------- Buttons (structure; each direction adds its look) ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 20px;font:600 15px/1 var(--f-sans);letter-spacing:-.005em;white-space:nowrap;isolation:isolate;border:0;border-radius:var(--r2);transition:transform .35s var(--ease-out),color .25s,background-color .25s,border-color .25s,box-shadow .3s}
.btn-txt{display:inline-grid;overflow:hidden;line-height:1.25}
.btn-txt>span{grid-area:1/1;transition:transform .5s var(--ease-out)}
.btn-txt>span+span{transform:translateY(115%)}
.btn-ck{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .5s var(--ease-out),width .35s var(--ease-out),margin .35s var(--ease-out)}
.btn-fx{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none}
.btn--primary{background:var(--btn);color:#fff}
.btn--ghost{color:var(--text)}

/* ---------- Shared section bits ---------- */
.diamond{width:9px;height:9px;flex:none;border-radius:2px;transform:rotate(45deg);background:var(--accent);margin-top:.55em}
.q-mark{font-family:var(--f-serif)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left}
.faq-pm{position:relative;width:16px;height:16px;flex:none}
.faq-pm::before,.faq-pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease-out)}
.faq-pm::after{transform:rotate(90deg)}
.faq-i.open .faq-pm::after{transform:rotate(0deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}
.faq-a>div{overflow:hidden}
.faq-i.open .faq-a{grid-template-rows:1fr}
.disc-cols{columns:2 380px;column-gap:56px}
.disc-cols h3{break-after:avoid}
.disc-cols p{break-inside:auto}
.up-item b{display:block}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease),transform 1.1s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
html[data-motion="off"] .reveal{opacity:1;transform:none}
.hide-insight .sec-insight{display:none!important}
.hide-upcoming .sec-upcoming{display:none!important}

/* ---------- Footer structure ---------- */
.foot{padding-block:calc(64px*var(--dens)) calc(40px + env(safe-area-inset-bottom,0px))}
.foot-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr) 1.4fr;gap:40px}
.foot h4{font:600 13.5px/1 var(--f-sans);margin-bottom:16px;color:var(--text)}
.foot li+li{margin-top:10px}
.foot a.fl{font:400 14.5px/1.4 var(--f-sans);color:var(--muted);transition:color .2s}
.foot a.fl:hover{color:var(--text)}
.foot-news p{font:400 14.5px/1.5 var(--f-sans);color:var(--muted)}
.foot-form{display:flex;gap:8px;margin-top:14px}
.foot-form input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:var(--r2);border:1px solid var(--line);background:var(--surface);color:var(--text);font:400 14.5px/1 var(--f-sans)}
.foot-form input::placeholder{color:var(--muted)}
.foot-form .btn{height:44px}
.foot-note{font:400 12.5px/1.5 var(--f-sans);color:var(--muted);margin-top:10px}
.foot-note a{text-decoration:underline;text-underline-offset:2px}
.foot-bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font:400 13.5px/1.4 var(--f-sans);color:var(--muted)}
.foot-bot nav{display:flex;flex-wrap:wrap;gap:18px}
.foot-bot a:hover{color:var(--text)}
.foot-logo img{height:40px;width:auto}
.foot-logo .logo-d{display:none}
html[data-theme="dark"] .foot-logo .logo-l{display:none}
html[data-theme="dark"] .foot-logo .logo-d{display:block}
.foot-soc{display:flex;gap:8px;margin-top:20px}
.foot-soc a{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r2);border:1px solid var(--line);color:var(--muted);transition:color .2s,border-color .2s}
.foot-soc a:hover{color:var(--text);border-color:var(--text)}
.foot-soc svg{width:16px;height:16px}
@media (max-width:980px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand,.foot-news{grid-column:1/-1}}
/* ================= ProVote window: light and dark product themes ================= */
.pv-host{position:relative}
.pv-frame{position:relative;width:100%;aspect-ratio:1120/680;overflow:hidden;background:#fff;border-radius:calc(12px*var(--rad));box-shadow:var(--win-shadow);isolation:isolate}
html[data-theme="dark"]:not([data-demo="light"]) .pv-frame{background:#0E1626}
.pv-stage{position:absolute;left:0;top:0;width:1120px;height:680px;transform-origin:0 0;transform:scale(var(--s,1))}
.pv{--pv-bg:#fff;--pv-side:#F8FAFC;--pv-bar:#F1F3F7;--pv-line:#E6E9EF;--pv-line2:#EEF1F5;--pv-sep:#D5DAE3;--pv-text:#0F172A;--pv-body:#334155;--pv-muted:#64748B;--pv-faint:#94A3B8;--pv-hover:#F5F7FA;--pv-hover2:#EEF1F5;--pv-sel:#EEF3FE;--pv-sel-line:#BCCCF6;--pv-chip:#F1F5F9;--pv-royal:#004BE5;--pv-royal-h:#0040C4;--pv-ink:#052B72;--pv-flag:#C7D3F3;--pv-ov:rgba(15,23,42,.2);--pv-mshadow:0 30px 70px -20px rgba(15,23,42,.45),0 0 0 1px rgba(15,23,42,.06);--pv-av:#052B72;--pv-ring:#CBD5E1;--pv-wait:#FAFBFC;--pv-code:#0B1324;
  position:absolute;inset:0;display:grid;grid-template-columns:208px 1fr;background:var(--pv-bg);color:var(--pv-text);font:400 13px/1.45 'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased;text-align:left;user-select:none}
html[data-theme="dark"]:not([data-demo="light"]) .pv{--pv-bg:#0E1626;--pv-side:#0B1220;--pv-bar:#0A111E;--pv-line:#1F2A3D;--pv-line2:#182235;--pv-sep:#2A364C;--pv-text:#E8EDF6;--pv-body:#BCC6D8;--pv-muted:#8D99AF;--pv-faint:#66748B;--pv-hover:#142036;--pv-hover2:#1A2740;--pv-sel:#14264A;--pv-sel-line:#2E4C8F;--pv-chip:#1A2438;--pv-royal:#3D7BFF;--pv-royal-h:#5A8FFF;--pv-ink:#A9C2FF;--pv-flag:#34518F;--pv-ov:rgba(2,6,14,.55);--pv-mshadow:0 30px 80px -20px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.07);--pv-av:#2F6BFF;--pv-ring:#3A4760;--pv-wait:#111B2D;--pv-code:#060B14}
.pv *{box-sizing:border-box}
.pv button{font:inherit;color:inherit}
.pv .ic{width:17px;height:17px}
.pl-d{display:none!important}
html[data-theme="dark"]:not([data-demo="light"]) .pv .pl-l,html[data-theme="dark"] .mcp .pl-l{display:none!important}
html[data-theme="dark"]:not([data-demo="light"]) .pv .pl-d,html[data-theme="dark"] .mcp .pl-d{display:block!important}
.pv-side{display:flex;flex-direction:column;gap:2px;padding:16px 10px 14px;background:var(--pv-side);border-right:1px solid var(--pv-line)}
.pv-logo{padding:2px 8px 16px}
.pv-logo img{height:32px;width:auto}
.pv-ni{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:8px;font-weight:500;color:var(--pv-muted);transition:background-color .15s,color .15s}
.pv-ni:hover{background:var(--pv-hover2);color:var(--pv-text)}
.pv-ni.on{background:var(--pv-bg);color:var(--pv-text);box-shadow:0 0 0 1px var(--pv-line),0 1px 2px rgba(15,23,42,.05)}
.pv-ni.dis{opacity:.42;cursor:default}
.pv-ni.dis:hover{background:none;color:var(--pv-muted)}
.pv-ni .pv-cnt{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--pv-muted)}
.pv-dot{width:7px;height:7px;border-radius:50%;background:var(--pv-royal);flex:none}
.pv-side-foot{margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--pv-line);font-size:12px;color:var(--pv-muted);line-height:1.35}
.pv-side-foot b{display:block;color:var(--pv-text);font-weight:600;font-size:12.5px}
.pv-main{position:relative;display:grid;grid-template-rows:56px 1fr;min-width:0}
.pv-top{display:flex;align-items:center;gap:12px;padding:0 18px 0 22px;border-bottom:1px solid var(--pv-line)}
.pv-search{display:flex;align-items:center;gap:8px;width:360px;height:34px;padding:0 10px;border:1px solid var(--pv-line);border-radius:8px;color:var(--pv-faint);font-size:12.5px}
.pv-search .ic{width:16px;height:16px}
.pv-top-r{margin-left:auto;display:flex;align-items:center;gap:6px}
.pv-bell{position:relative;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:var(--pv-muted)}
.pv-bell:hover{background:var(--pv-hover)}
.pv-bell .pv-dot{position:absolute;top:7px;right:8px;box-shadow:0 0 0 2px var(--pv-bg)}
.pv-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--pv-av);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.02em}
.pv-body{position:relative;padding:18px 24px;overflow:hidden;min-height:0}
.pv-ph{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pv-ph h3{font:600 19px/1.1 'Inter',system-ui,sans-serif;letter-spacing:-.012em;color:var(--pv-text)}
.pv-pill{font-size:12px;font-weight:600;color:var(--pv-muted);background:var(--pv-chip);padding:3px 8px;border-radius:999px}
.pv-ph-r{margin-left:auto;display:flex;gap:8px;align-items:center;color:var(--pv-muted);font-size:12px}
.pv-ctabs{display:flex;align-items:flex-end;height:38px;padding:0 10px;background:var(--pv-bar);border-bottom:1px solid var(--pv-line)}
.pv-body>.pv-ctabs{margin:0 -24px;padding:0 20px}
.pv-ct{position:relative;isolation:isolate;height:32px;padding:0 18px;display:inline-flex;align-items:center;gap:7px;font-weight:500;color:var(--pv-muted);border-radius:9px 9px 0 0;transition:color .15s}
.pv-ct:hover{color:var(--pv-text)}
.pv-ct:not(.on):hover::after{content:"";position:absolute;inset:4px 4px 3px;border-radius:7px;background:var(--pv-hover2);z-index:-1}
.pv-ct.on{background:var(--pv-bg);color:var(--pv-text);z-index:1}
.pv-ct.on::before,.pv-ct.on::after{content:"";position:absolute;bottom:0;width:10px;height:10px}
.pv-ct.on::before{left:-10px;background:radial-gradient(circle at 0 0,transparent 9.5px,var(--pv-bg) 10px)}
.pv-ct.on::after{right:-10px;background:radial-gradient(circle at 100% 0,transparent 9.5px,var(--pv-bg) 10px)}
.pv-ct+.pv-ct:not(.on):not(:hover)::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:1px;background:var(--pv-sep)}
.pv-ct.on+.pv-ct::before,.pv-ct:hover+.pv-ct::before{display:none}
.pv-ct .pv-n{font-size:11.5px;color:var(--pv-faint);font-weight:500}
.pv-tools{display:flex;align-items:center;gap:8px;margin:12px 0 8px}
.pv-fb{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border:1px solid var(--pv-line);border-radius:8px;font-size:12.5px;font-weight:500;color:var(--pv-body)}
.pv-fb .ic{width:15px;height:15px}
.pv-chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border:1px solid var(--pv-line);border-radius:999px;font-size:12.5px;font-weight:500;color:var(--pv-body);white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.pv-chip:hover{background:var(--pv-hover)}
.pv-chip b{font-weight:600;color:var(--pv-muted)}
.pv-chip.on{background:var(--pv-sel);border-color:var(--pv-sel-line);color:var(--pv-ink)}
.pv-chip.on b{color:var(--pv-ink)}
.pv-t{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.pv-t th{font-size:11.5px;font-weight:500;color:var(--pv-muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--pv-line);white-space:nowrap}
.pv-t td{padding:6px 10px;line-height:1.3;border-bottom:1px solid var(--pv-line2);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--pv-body)}
.pv-t tr[data-row]{cursor:pointer}
.pv-t tr[data-row]:hover td{background:var(--pv-hover)}
.pv-t tr.pv-in td{animation:pvRow .5s cubic-bezier(.16,1,.3,1) both}
@keyframes pvRow{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.pv-id{font-size:12px;color:var(--pv-muted)!important;font-variant-numeric:tabular-nums}
.pv-co b{font-weight:600;font-size:13px;color:var(--pv-text)}
.pv-co small{display:block;font-size:11.5px;color:var(--pv-muted);margin-top:1px;line-height:1.3}
.pv-flag{display:inline-block;font-size:10.5px;font-weight:600;color:var(--pv-ink);border:1px solid var(--pv-flag);border-radius:5px;padding:0 5px;margin-left:6px;vertical-align:1px;line-height:16px}
.pv-dl small{display:block;font-size:11.5px;color:var(--pv-muted);line-height:1.3}
.pv-pols{display:flex;gap:4px}
.pv-pol{font-size:11px;font-weight:600;color:var(--pv-body);background:var(--pv-chip);border-radius:5px;padding:2px 6px}
.pv-st{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--pv-body);white-space:nowrap}
.pv-st .ic{width:15px;height:15px;color:var(--pv-muted)}
.pv-st .pv-ring{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--pv-faint)}
.pv-st .pv-dash{width:12px;height:12px;border-radius:50%;border:1.5px dashed var(--pv-faint)}
.pv-empty{padding:40px 0;text-align:center;color:var(--pv-muted)}
.pv-mw{position:absolute;inset:0;z-index:5;background:var(--pv-ov);opacity:0;pointer-events:none;transition:opacity .25s ease}
.pv-mw.on{opacity:1;pointer-events:auto}
.pv-m{position:absolute;left:50%;top:50%;width:920px;height:620px;transform:translate(-50%,-47%) scale(.985);transition:transform .4s cubic-bezier(.16,1,.3,1),width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1);background:var(--pv-bg);border-radius:12px;box-shadow:var(--pv-mshadow);display:flex;flex-direction:column;overflow:hidden}
.pv-mw.on .pv-m{transform:translate(-50%,-50%)}
.pv-mw.big .pv-m{width:1100px;height:664px}
.pv-mh{display:flex;align-items:flex-start;gap:16px;padding:16px 16px 12px 22px}
.pv-mh>div:first-child{min-width:0}
.pv-mt{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--pv-text)}
.pv-ms{font-size:12.5px;color:var(--pv-muted);margin-top:2px}
.pv-mh-r{margin-left:auto;display:flex;align-items:center;gap:6px;flex:none}
.pv-pb{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--pv-line);border-radius:999px;font-size:12.5px;font-weight:500;color:var(--pv-body)}
.pv-pb:hover{background:var(--pv-hover)}
.pv-pb .ic{width:15px;height:15px}
.pv-ib{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--pv-muted)}
.pv-ib:hover{background:var(--pv-hover);color:var(--pv-text)}
.pv-mb{flex:1;overflow:auto;padding:18px 22px 22px;scrollbar-width:thin}
.pv-seg{display:inline-flex;background:var(--pv-chip);padding:3px;border-radius:9px;gap:2px}
.pv-seg button{height:27px;padding:0 12px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--pv-muted);transition:background-color .2s,color .2s,box-shadow .2s}
.pv-seg button.on{background:var(--pv-bg);color:var(--pv-text);box-shadow:0 1px 2px rgba(15,23,42,.14)}
.pv-rh{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.pv-rh .pv-note,.pv-note{font-size:12.5px;color:var(--pv-muted)}
.pv-rh .pv-note{margin-left:auto}
.pv-rx{width:100%;border-collapse:collapse}
.pv-rx th{font-size:11.5px;font-weight:500;color:var(--pv-muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--pv-line)}
.pv-rx td{padding:12px 10px;border-bottom:1px solid var(--pv-line2);vertical-align:top}
.pv-it b{display:block;font-weight:600;font-size:13.5px;line-height:1.35;color:var(--pv-text)}
.pv-it small{display:block;color:var(--pv-muted);font-size:12px;margin-top:3px}
.pv-prs{display:grid;min-width:320px}
.pv-pr{display:grid;grid-template-columns:124px 86px 1fr;align-items:center;gap:8px;padding:5px 0}
.pv-pr+.pv-pr{border-top:1px dashed var(--pv-line2)}
.pv-pr .pn{font-size:12.5px;color:var(--pv-body)}
.pv-pr.brd .pn{color:var(--pv-muted)}
.pv-pr.brd .bv{font-size:11.5px;font-weight:600;color:var(--pv-muted);letter-spacing:.02em}
.pv-pr.xtra{animation:pvRow .45s cubic-bezier(.16,1,.3,1) both}
.pv-pr .nb{font-size:11.5px;color:var(--pv-ink);white-space:nowrap}
.vp{display:inline-block;justify-self:start;font-size:11px;font-weight:700;letter-spacing:.03em;padding:3px 8px;border-radius:5px;line-height:1.2}
.vp.for{background:var(--pv-royal);color:#fff}
.vp.against{background:transparent;color:var(--pv-text);box-shadow:inset 0 0 0 1.5px var(--pv-text)}
.vp.none{color:var(--pv-faint);padding:3px 0}
.pv-sub{margin-top:18px}
.pv-sub h5{font-size:12px;font-weight:600;color:var(--pv-muted);margin:0 0 5px}
.pv-sub p{font-size:13px;line-height:1.6;color:var(--pv-body);max-width:660px}
.pv-sub p.k{font-weight:600;color:var(--pv-text)}
.pv-hint2{margin-top:14px;font-size:11.5px;color:var(--pv-faint)}
.pv-tip-t{border-bottom:1px dotted var(--pv-faint);cursor:help}
.pv-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--pv-line);border-radius:10px;overflow:hidden}
.pv-facts div{padding:12px 14px;border-right:1px solid var(--pv-line2);border-bottom:1px solid var(--pv-line2)}
.pv-facts div:nth-child(3n){border-right:0}
.pv-facts div:nth-last-child(-n+3){border-bottom:0}
.pv-facts small{display:block;font-size:11.5px;color:var(--pv-muted)}
.pv-facts b{font-weight:600;font-size:13.5px;color:var(--pv-text)}
.pv-wait{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px dashed var(--pv-ring);border-radius:10px;color:var(--pv-body);background:var(--pv-wait)}
.pv-wait b{color:var(--pv-text)}
.pv-wait .ic{color:var(--pv-muted)}
.pv-vh{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.pv-vh .pv-note{margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pv-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:7px;font-size:12.5px;font-weight:600;background:var(--pv-royal);color:#fff!important;white-space:nowrap;transition:background-color .15s,opacity .15s}
.pv-btn:hover{background:var(--pv-royal-h)}
.pv-btn2{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--pv-body);border:1px solid var(--pv-line);white-space:nowrap}
.pv-btn2:hover{background:var(--pv-hover)}
.pv-btn[disabled],.pv-btn2[disabled]{opacity:.45;cursor:default;pointer-events:none}
.pv-ck{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--pv-faint);display:inline-grid;place-items:center;vertical-align:middle;background:var(--pv-bg);transition:background-color .15s,border-color .15s}
.pv-ck svg{width:11px;height:11px;stroke:#fff;stroke-width:3;fill:none;opacity:0;stroke-linecap:round;stroke-linejoin:round}
.pv-ck.on{background:var(--pv-royal);border-color:var(--pv-royal)}
.pv-ck.on svg{opacity:1}
.pv-acc td{padding:10px 10px}
.pv-acc td:first-child,.pv-acc th:first-child{width:36px;padding-right:0}
.pv-acc tr.flash td{animation:pvFlash 1.2s ease}
@keyframes pvFlash{0%{background:var(--pv-sel)}100%{background:transparent}}
.pv-vote-ok,.pv-vote-ok .ic{color:var(--pv-royal)!important}
.pv-notes{position:absolute;inset:0;pointer-events:none;z-index:8}
.pv-note-pop{pointer-events:auto;position:absolute;top:50px;right:14px;width:320px;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--pv-bg);border:1px solid var(--pv-line);border-radius:10px;box-shadow:var(--pv-mshadow);transform-origin:top right;animation:pvDrop .45s cubic-bezier(.16,1,.3,1) both}
.pv-note-pop .ic{color:var(--pv-royal);margin-top:1px}
.pv-note-pop p{flex:1;font-size:12.5px;line-height:1.45;color:var(--pv-body)}
.pv-note-pop p b{color:var(--pv-text)}
.pv-note-pop button{font-size:12.5px;font-weight:600;color:var(--pv-royal)}
@keyframes pvDrop{from{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:none}}
.pv-npx-meta{display:grid;grid-template-columns:1.2fr 1.2fr 1fr auto;gap:10px;align-items:end;margin-bottom:14px}
.pv-fld small{display:block;font-size:11.5px;color:var(--pv-muted);margin-bottom:4px}
.pv-fld div{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 10px;border:1px solid var(--pv-line);border-radius:8px;font-size:12.5px;font-weight:500;color:var(--pv-text)}
.pv-fld .ic{width:15px;height:15px;color:var(--pv-muted)}
.pv-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--pv-line);border-radius:10px;margin-bottom:12px}
.pv-stats div{padding:10px 14px}
.pv-stats div+div{border-left:1px solid var(--pv-line2)}
.pv-stats small{display:block;font-size:11.5px;color:var(--pv-muted)}
.pv-stats b{font-size:18px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--pv-text)}
.pv-npx-grid{position:relative}
.pv-gen{position:absolute;right:0;top:0;bottom:0;width:360px;background:var(--pv-bg);border-left:1px solid var(--pv-line);padding:16px 18px;animation:pvSlide .45s cubic-bezier(.16,1,.3,1) both;box-shadow:-18px 0 30px -24px rgba(15,23,42,.3)}
@keyframes pvSlide{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.pv-gen h5{font-size:13px;font-weight:600;margin:0 0 12px;color:var(--pv-text)}
.pv-steps li{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12.5px;color:var(--pv-muted)}
.pv-steps li .ic{width:16px;height:16px}
.pv-steps li.done,.pv-steps li.act{color:var(--pv-text)}
.pv-steps li.done .ic{color:var(--pv-royal)}
.pv-spin{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--pv-ring,#CBD5E1);border-top-color:var(--pv-royal,#004BE5);animation:pvSpin .8s linear infinite;margin:0 1px;flex:none}
@keyframes pvSpin{to{transform:rotate(360deg)}}
.pv-prog{height:4px;border-radius:4px;background:var(--pv-line2);margin:12px 0;overflow:hidden}
.pv-prog i{display:block;height:100%;width:var(--p,0%);background:var(--pv-royal);border-radius:4px}
.pv-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--pv-line);border-radius:10px;margin-top:10px}
.pv-file .ic{width:22px;height:22px;color:var(--pv-royal)}
.pv-file b{display:block;font-size:12.5px;font-weight:600;color:var(--pv-text)}
.pv-file small{font-size:11.5px;color:var(--pv-muted)}
.pv-xml{margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--pv-code);color:#C9D6EE;font:400 10.5px/1.55 'IBM Plex Mono',ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;overflow:auto;height:236px}
.pv-xml .t{color:#7FA6FF}.pv-xml .v{color:#F1F5FB}
.pv-an{display:grid;grid-template-columns:1fr 250px;gap:18px}
.pv-card{border:1px solid var(--pv-line);border-radius:10px;padding:14px 16px}
.pv-card h5{font-size:13px;font-weight:600;margin:0;color:var(--pv-text)}
.pv-card .pv-cs{font-size:11.5px;color:var(--pv-muted);margin:2px 0 12px}
.pv-bar{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:12px;margin:9px 0}
.pv-bar span{font-size:12.5px;color:var(--pv-body)}
.pv-bar .tr{position:relative;height:18px}
.pv-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--pv-royal);border-radius:3px;transition:width 1.1s cubic-bezier(.16,1,.3,1)}
.pv-bar em{position:absolute;top:50%;transform:translateY(-50%);font-style:normal;font-size:11.5px;font-weight:600;color:var(--pv-text);font-variant-numeric:tabular-nums;transition:left 1.1s cubic-bezier(.16,1,.3,1);left:0;padding-left:6px}
.pv-big{font-size:28px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--pv-text)}
.pv-kv+.pv-kv{margin-top:14px;padding-top:14px;border-top:1px solid var(--pv-line2)}
.pv-kv small{display:block;font-size:11.5px;color:var(--pv-muted)}
.pv-tip{position:absolute;z-index:30;max-width:250px;padding:8px 10px;background:#fff;color:#0F172A;border:1px solid #E2E8F0;border-radius:8px;box-shadow:0 10px 24px -10px rgba(15,23,42,.3);font-size:12px;line-height:1.45;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .15s,transform .2s}
.pv-tip.on{opacity:1;transform:none}

/* ================= Demo cursor, takeover hint, step progress ================= */
.pv-cursor{position:absolute;left:0;top:0;z-index:20;width:24px;height:24px;pointer-events:none;opacity:0;transform:translate(var(--cx,40px),var(--cy,40px));transition:transform var(--cd,650ms) cubic-bezier(.45,.05,.2,1),opacity .35s}
.pv-cursor.on{opacity:1}
.pv-cursor svg{width:24px;height:24px;filter:drop-shadow(0 2px 3px rgba(15,23,42,.35));transition:transform .12s}
.pv-cursor.down svg{transform:scale(.8)}
.pv-ripple{position:absolute;z-index:19;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:2px solid var(--accent);pointer-events:none;animation:pvRip .6s ease-out forwards}
@keyframes pvRip{from{transform:scale(.25);opacity:.75}to{transform:scale(1.25);opacity:0}}
.pv-hint{position:absolute;left:50%;bottom:16px;z-index:12;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px -12px rgba(5,20,60,.45),inset 0 0 0 1px var(--line);font:500 13px/1 var(--f-sans);color:var(--text);transform:translate(-50%,8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .35s var(--ease-out)}
.pv-hint .ic{width:15px;height:15px;color:var(--accent)}
.pv-host.playing:hover .pv-hint{opacity:1;transform:translate(-50%,0)}
.pv-cap{margin-top:14px}
.pv-segs{display:flex;gap:8px;height:8px;margin-bottom:12px}
.sg{position:relative;flex:1;height:8px}
.sg::before{content:"";position:absolute;left:0;right:0;top:3px;height:2px;border-radius:2px;background:var(--line)}
.sg i{position:absolute;left:0;top:0;height:8px;width:0;background:var(--accent);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M0 4 Q3 .7 6 4 T12 4' fill='none' stroke='black' stroke-width='2.2'/></svg>") repeat-x 0 0/12px 8px;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M0 4 Q3 .7 6 4 T12 4' fill='none' stroke='black' stroke-width='2.2'/></svg>") repeat-x 0 0/12px 8px;animation:sgWave .9s linear infinite}
@keyframes sgWave{to{-webkit-mask-position:12px 0;mask-position:12px 0}}
.sg.done::after{content:"";position:absolute;left:0;right:0;top:2.75px;height:2.5px;border-radius:2px;background:var(--accent)}
.sg.done i,.pv-cap.paused .sg i{display:none}
.pv-cap-row{display:flex;align-items:center;gap:14px;min-height:42px}
.pv-cap-n{flex:none;font:500 12.5px/1 var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums}
.pv-cap-n:empty{display:none}
.pv-cap-t{flex:1;min-width:0;font:500 15px/1.35 var(--f-sans);color:var(--text);transition:opacity .3s}
.pv-cap-t.fade{opacity:0}
.pv-cap-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:var(--r2);border:1px solid var(--line);background:var(--surface);font:600 14px/1 var(--f-sans);color:var(--text);transition:background-color .2s,border-color .2s,transform .3s var(--ease-out),box-shadow .3s;flex:none;white-space:nowrap}
.pv-cap-btn:hover{border-color:var(--accent)}
.pv-cap-btn .ic{width:16px;height:16px}
.pv-cap-btn.go{background:var(--btn);border-color:transparent;color:#fff;box-shadow:0 12px 28px -12px var(--glow),inset 0 1px 0 rgba(255,255,255,.22)}
.pv-cap-btn.go:hover{background:var(--btn-h);transform:translateY(-1px)}

/* ================= MCP conversation ================= */
.mcp{--m-bg:#fff;--m-line:#E6E9EF;--m-text:#0F172A;--m-muted:#64748B;--m-tool:#F6F8FB;--m-user:#052B72;
  position:relative;display:flex;flex-direction:column;height:520px;background:var(--m-bg);color:var(--m-text);border-radius:calc(14px*var(--rad));box-shadow:var(--win-shadow);overflow:hidden;font:400 14px/1.55 'Inter',system-ui,sans-serif}
html[data-theme="dark"] .mcp{--m-bg:#0E1626;--m-line:#22304B;--m-text:#E7ECF5;--m-muted:#93A0B8;--m-tool:#121D33;--m-user:#2F6BFF}
.mcp-top{display:flex;align-items:center;gap:10px;height:54px;padding:0 16px;border-bottom:1px solid var(--m-line)}
.mcp-top b{font-weight:600;font-size:14px}
.mcp-conn{margin-left:auto;display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--m-line);font-size:12px;color:var(--m-muted)}
.mcp-conn .ic{width:14px;height:14px;color:var(--accent)}
.mcp-body{flex:1;overflow:hidden;padding:18px 18px 8px;display:flex;flex-direction:column;gap:12px;justify-content:flex-end}
.mcp-u{align-self:flex-end;max-width:78%;padding:9px 13px;border-radius:14px 14px 4px 14px;background:var(--m-user);color:#fff;font-size:13.5px}
.mcp-a{max-width:92%;font-size:13.5px}
.mcp-tool{display:flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 10px;border-radius:8px;background:var(--m-tool);border:1px solid var(--m-line);font:400 12px/1.4 'IBM Plex Mono',ui-monospace,monospace;color:var(--m-muted)}
.mcp-tool .ic{width:14px;height:14px}
.mcp-tool .pv-spin{width:12px;height:12px}
.mcp-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--m-line);border-radius:12px;max-width:92%;background:var(--m-tool)}
.mcp-card img{height:22px;width:auto}
.mcp-card b{display:block;font-size:13.5px}
.mcp-card small{font-size:12px;color:var(--m-muted)}
.mcp-card span.go{margin-left:auto;display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:7px;background:var(--btn);color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap}
.mcp-in{display:flex;align-items:center;gap:10px;margin:8px 14px 14px;height:46px;padding:0 6px 0 14px;border:1px solid var(--m-line);border-radius:12px;color:var(--m-muted);font-size:13.5px}
.mcp-in span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcp-in i{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--btn);color:#fff}
.mcp-in .ic{width:16px;height:16px}
.mcp-typing{display:inline-flex;gap:4px;padding:6px 0}
.mcp-typing i{width:6px;height:6px;border-radius:50%;background:var(--m-muted);animation:mcpB 1s infinite ease-in-out}
.mcp-typing i:nth-child(2){animation-delay:.15s}.mcp-typing i:nth-child(3){animation-delay:.3s}
@keyframes mcpB{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.mcp-m{animation:pvRow .45s cubic-bezier(.16,1,.3,1) both}
.soon{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;margin-left:8px;border-radius:999px;font:600 11.5px/1 var(--f-sans);letter-spacing:.01em;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);white-space:nowrap;vertical-align:2px}
.soon::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:soonP 1.8s ease-in-out infinite}
@keyframes soonP{50%{opacity:.35}}
.soon.sm{height:18px;padding:0 7px;font-size:10.5px;margin-left:6px}

/* ================= Booking modal ================= */
.book{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:20px}
.book[hidden]{display:none}
.book-ov{position:absolute;inset:0;background:rgba(3,8,20,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:bkF .3s ease both}
.book-pn{position:relative;width:min(1000px,100%);height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;background:var(--surface);color:var(--text);border-radius:var(--r4);box-shadow:0 40px 120px -30px rgba(0,0,0,.6),inset 0 0 0 1px var(--line);overflow:hidden;animation:bkU .45s var(--ease-out) both}
@keyframes bkF{from{opacity:0}}
@keyframes bkU{from{opacity:0;transform:translateY(14px) scale(.98)}}
.book-hd{display:flex;align-items:flex-start;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}
.book-hd h2{font:var(--hw) 26px/1.1 var(--f-head);letter-spacing:var(--hls);color:var(--text)}
.book-hd p{font:400 14.5px/1.5 var(--f-body);color:var(--muted);margin-top:6px}
.book-x{margin-left:auto;width:38px;height:38px;border-radius:var(--r2);display:grid;place-items:center;color:var(--muted)}
.book-x:hover{background:var(--hover);color:var(--text)}
.book-bd{position:relative;flex:1;background:#fff}
html[data-theme="dark"] .book-bd{background:#0B1222}
.book-bd iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.book-load{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;font:500 14px/1 var(--f-sans);color:var(--muted)}
.book-fb{padding:12px 24px 16px;font:400 13px/1.4 var(--f-sans);color:var(--muted);border-top:1px solid var(--line)}
.book-fb a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* ================= Design button and panel (review tool, not part of the live site) ================= */
#dz{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:200;font:500 13px/1.4 'Inter',system-ui,sans-serif;color:#0B1630}
.dz-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 13px;border-radius:999px;background:#0B1630;color:#fff;font-weight:600;font-size:13.5px;box-shadow:0 14px 34px -12px rgba(5,20,60,.55),inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.dz-btn:hover{transform:translateY(-1px)}
.dz-btn .ic{width:17px;height:17px}
html[data-theme="dark"] .dz-btn{background:#fff;color:#0B1630;box-shadow:0 14px 34px -12px rgba(0,0,0,.7)}
.dz-panel{position:absolute;left:0;bottom:54px;width:360px;max-height:calc(100vh - 96px);overflow:auto;background:#fff;color:#0B1630;border-radius:16px;border:1px solid #E3E8F1;box-shadow:0 30px 70px -20px rgba(5,20,60,.4);padding:16px 16px 14px;transform-origin:bottom left;animation:dzIn .3s cubic-bezier(.16,1,.3,1) both;scrollbar-width:thin}
@keyframes dzIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.dz-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.dz-head b{display:block;font-size:14.5px;font-weight:650}
.dz-head span{display:block;font-size:12px;color:#5A6880;font-weight:400}
.dz-x{margin-left:auto;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#5A6880}
.dz-x:hover{background:#F1F4F9}
.dz-sec{padding:12px 0;border-top:1px solid #EEF1F6}
.dz-lbl{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:#5A6880;margin-bottom:8px}
.dz-lbl em{font-style:normal;font-weight:500;color:#94A3B8}
.dz-seg{display:flex;background:#F1F4F9;border-radius:9px;padding:3px;gap:2px}
.dz-seg button{flex:1;min-width:0;height:30px;padding:0 6px;border-radius:7px;font-size:12.5px;font-weight:500;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color .15s,color .15s}
.dz-seg button[aria-pressed="true"]{background:#fff;color:#0B1630;box-shadow:0 1px 2px rgba(15,23,42,.14)}
.dz-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.dz-chips button{height:40px;padding:0 6px;border-radius:9px;border:1px solid #E3E8F1;font-size:15px;color:#0B1630;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s,box-shadow .15s}
.dz-chips button small{display:block;font:500 10px/1 'Inter',sans-serif;color:#5A6880;margin-top:3px}
.dz-chips button[aria-pressed="true"]{border-color:#004BE5;box-shadow:0 0 0 3px rgba(0,75,229,.12)}
.dz-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}
.dz-sw{position:relative;width:38px;height:22px;border-radius:999px;background:#CBD5E1;transition:background-color .2s;flex:none}
.dz-sw::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.dz-sw[aria-checked="true"]{background:#004BE5}
.dz-sw[aria-checked="true"]::after{transform:translateX(16px)}
.dz-foot{display:flex;gap:8px;padding-top:12px;border-top:1px solid #EEF1F6}
.dz-foot button{flex:1;height:34px;border-radius:9px;font-size:12.5px;font-weight:600;border:1px solid #E3E8F1}
.dz-foot button:first-child{background:#004BE5;border-color:#004BE5;color:#fff}
.dz-tag{font-size:11px;color:#5A6880;margin-top:10px;line-height:1.4}
/* ================= Console ================= */
html{--bg:#FFFFFF;--surface:#F6F8FC;--surface2:#EEF2F9;--card:rgba(255,255,255,.72);--text:#0A1428;--body:#2F3B52;--muted:#5B6882;--line:#E3E8F1;--hover:rgba(10,20,40,.05);--nav-text:#3E4A62;--menu-bg:rgba(255,255,255,.86);--menu-shadow:0 30px 70px -28px rgba(10,20,40,.35);--glow:rgba(0,75,229,.18);--fld:15,27,54;--fla:0,75,229;--win-shadow:0 50px 120px -50px rgba(0,75,229,.5),0 0 0 1px rgba(10,20,40,.08);
  --hw:600;--hls:-.045em;--nav-a:.62;background:var(--bg)}
html[data-theme="dark"]{--bg:#060A14;--surface:#0B1222;--surface2:#101A31;--card:rgba(11,18,34,.72);--text:#EAF0FA;--body:#BAC5D8;--muted:#8794AC;--line:rgba(149,171,188,.17);--hover:rgba(234,240,250,.06);--nav-text:#B4BFD3;--menu-bg:rgba(11,18,34,.86);--menu-shadow:0 30px 70px -20px rgba(0,0,0,.75);--glow:rgba(47,107,255,.34);--fld:149,171,188;--fla:72,128,255;--win-shadow:0 50px 140px -40px rgba(47,107,255,.55),0 0 0 1px rgba(149,171,188,.2)}
html[data-headf="ebg"]{--hw:500;--hls:-.02em}
html[data-headf="serif"]{--hw:600;--hls:-.028em}
html[data-headf="news"]{--hw:500;--hls:-.03em}
html[data-headf="frau"]{--hw:560;--hls:-.035em}
html[data-headf="inst"]{--hw:400;--hls:-.02em}
html[data-headf="mono"]{--hw:500;--hls:-.065em}
html[data-navglass="clear"]{--nav-a:.32}
html[data-navglass="solid"]{--nav-a:.97}
body{background:transparent}
#field{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#site{position:relative;z-index:1}
/* nav: transparent glass everywhere, lit by the cursor glow */
.nav{background:color-mix(in srgb,var(--bg) calc(var(--nav-a)*100%),transparent);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);isolation:isolate}
.nav-sheen{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(260px 120px at var(--nx,50%) 100%,rgba(var(--fla),calc(.20*var(--no,0))),transparent 70%);transition:opacity .3s}
.nav-sheen::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:radial-gradient(220px 2px at var(--nx,50%) 50%,rgba(var(--fla),calc(.9*var(--no,0))),transparent 70%)}
.nav-link[aria-current="page"]{color:var(--text)}
.nav-link[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:var(--accent)}
.nav-link{position:relative}
/* dropdown, rebuilt */
.dd-panel{left:-20px;width:min(700px,90vw);display:block;padding:10px;background:var(--menu-bg);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6)}
.dd-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.dd-g{padding:8px}
.dd-g h4{margin:2px 10px 8px;font:600 12px/1 var(--f-sans);color:var(--muted)}
.dd-item{display:flex;align-items:flex-start;gap:12px;padding:10px;border-radius:var(--r2)}
.dd-ic{flex:none;width:34px;height:34px;border-radius:var(--r2);display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);border:0}
.dd-ic .ic{width:18px;height:18px}
.dd-tx{min-width:0}
.dd-tx b{display:flex;align-items:center;flex-wrap:wrap;font:600 14.5px/1.3 var(--f-sans);color:var(--text)}
.dd-tx>span{display:block;font:400 13.5px/1.4 var(--f-sans);color:var(--muted);margin-top:2px}
.dd-foot{display:flex;align-items:center;gap:12px;margin:6px 8px 4px;padding:12px 14px;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 7%,transparent);font:400 13.5px/1.35 var(--f-sans);color:var(--muted);transition:background-color .2s}
.dd-foot:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.dd-foot .ic{width:18px;height:18px;color:var(--accent)}
.dd-foot b{color:var(--text);font-weight:600;margin-right:4px}
.dd-foot .soon{margin-left:auto}
.mnav{background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.mnav a.mi{gap:12px}
.mnav a.mi .soon{margin-left:auto}
/* buttons */
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.btn{height:44px;border-radius:var(--r2);padding:0 18px;font-size:14.5px}
.btn-txt{display:inline-block;line-height:1.3;padding:1px 0}
.btn--primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 30px -12px var(--glow)}
.btn--primary:hover{background:var(--btn-h)}
.btn--primary .btn-fx{inset:-2px;padding:2px;border-radius:calc(var(--r2) + 2px);background:conic-gradient(from var(--ang),transparent 0 60%,#9DB8FF 72%,#fff 78%,transparent 88%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s}
.btn--primary:hover .btn-fx{opacity:1;animation:bBeam 2.2s linear infinite}
@keyframes bBeam{to{--ang:360deg}}
.btn--ghost{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.btn--ghost .btn-fx{background:radial-gradient(110px circle at var(--bx,50%) var(--by,50%),var(--glow),transparent 70%);opacity:0;transition:opacity .3s}
.btn--ghost:hover .btn-fx{opacity:1}
.btn--lg{height:52px;padding:0 24px;font-size:15.5px}
.nav .btn{height:38px;font-size:14px;padding:0 15px}
/* type */
.b-lbl{display:inline-flex;align-items:center;gap:8px;font:500 12.5px/1 var(--f-mono);color:var(--accent);letter-spacing:.01em;margin-bottom:18px}
.b-lbl::before{content:"";width:6px;height:6px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.b-h1{font:var(--hw) clamp(42px,6.4vw,92px)/1 var(--f-head);letter-spacing:var(--hls);color:var(--text);padding-bottom:.04em}
.b-h2{font:var(--hw) clamp(32px,4.2vw,56px)/1.06 var(--f-head);letter-spacing:var(--hls);color:var(--text);max-width:18em;padding-bottom:.04em}
.b-sub{font:400 clamp(17px,1.35vw,19.5px)/1.55 var(--f-body);color:var(--muted);max-width:36em;margin-top:18px}
.b-sec{padding-block:var(--sec)}
.b-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.b-more-link{display:inline-flex;align-items:center;gap:6px;font:600 14.5px/1 var(--f-sans);color:var(--accent);white-space:nowrap}
.b-more-link .ic{width:16px;height:16px;transition:transform .3s var(--ease-out)}
.b-more-link:hover .ic{transform:translateX(3px)}
/* hero */
.b-hero{position:relative;padding-top:clamp(52px,7vw,96px)}
.b-hero-copy{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:28px 64px;align-items:end}
.b-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:30px}
.b-bul{display:grid;gap:12px;padding-bottom:6px}
.b-bul li{display:flex;align-items:center;gap:11px;font:500 15px/1.4 var(--f-sans);color:var(--body)}
.b-bul .ic{width:18px;height:18px;color:var(--accent)}
.b-stage{position:relative;margin-top:clamp(40px,5vw,64px);padding-bottom:var(--sec);perspective:1800px}
.b-stage .wrap{max-width:1340px}
.b-host .pv-frame{transform:rotateX(9deg) translateY(26px) scale(.965);opacity:0;transition:transform 1.5s var(--ease-out),opacity 1s var(--ease)}
.b-hero.go .b-host .pv-frame{transform:none;opacity:1}
.b-host .pv-cap{max-width:980px;margin-inline:auto}
.b-hero-copy>*{opacity:0;transform:translateY(12px);transition:opacity .9s var(--ease),transform 1.1s var(--ease-out)}
.b-hero.go .b-hero-copy>*{opacity:1;transform:none}
.b-hero.go .b-hero-copy>*:nth-child(2){transition-delay:.15s}
/* bento of live tiles */
.b-bento-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r3);overflow:hidden;margin-top:52px}
.b-tile{position:relative;background:color-mix(in srgb,var(--bg) 88%,transparent);padding:28px 28px 0;display:flex;flex-direction:column;min-height:430px;overflow:hidden;isolation:isolate}
.b-tile.w3{grid-column:span 3}
.b-tile.w2{grid-column:span 2}
.b-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--tx,-500px) var(--ty,-500px),var(--glow),transparent 62%);opacity:0;transition:opacity .4s}
.b-tile:hover::after{opacity:1}
.b-tile h3 a,.b-tile h3>span{display:flex;align-items:center;gap:10px;font:600 19px/1.2 var(--f-sans);letter-spacing:-.025em;color:var(--text)}
.b-tile h3 a:hover{color:var(--accent)}
.b-tile h3 .ic{width:19px;height:19px;color:var(--accent)}
.b-tile>p{font:400 15px/1.55 var(--f-body);color:var(--muted);margin-top:9px;max-width:31em}
.viz{margin-top:auto;padding-top:26px}
.vz-card{background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:var(--r2) var(--r2) 0 0;padding:16px 16px 18px;font:400 13px/1.45 var(--f-sans);color:var(--text)}
.vz-card .vt{font-weight:600;font-size:13.5px}
.vz-card .vs{font-size:12px;color:var(--muted);margin-bottom:10px}
.vz-r{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 8px;border-radius:6px;transition:background-color .35s}
.vz-r.hl{background:color-mix(in srgb,var(--accent) 12%,transparent)}
.vz-r span{font-size:13px;color:var(--body);min-width:0}
.vz-r small{font-size:12px;color:var(--muted)}
.vz-r.ex{grid-template-columns:minmax(0,1fr) 84px 150px}
.vz-r.ex .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vz-p{justify-self:start;font:700 10.5px/1 var(--f-sans);letter-spacing:.04em;padding:4px 8px;border-radius:5px}
.vz-p.for{background:var(--btn);color:#fff}
.vz-p.against{box-shadow:inset 0 0 0 1.5px var(--text);color:var(--text)}
.vz-st{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);transition:color .3s;white-space:nowrap}
.vz-st .ic{width:14px;height:14px;flex:none}
.vz-st.ok{color:var(--accent)}
.vz-code{font:400 11.5px/1.65 var(--f-mono);color:var(--body);white-space:pre-wrap;word-break:break-word;overflow:hidden;height:230px}
.vz-code .t{color:var(--accent)}
.vz-caret{display:inline-block;width:7px;height:13px;background:var(--accent);vertical-align:-2px;animation:vzBlink 1s steps(1) infinite}
@keyframes vzBlink{50%{opacity:0}}
.vz-bars{display:grid;gap:9px}
.vz-bar{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:center;font-size:12px;color:var(--body)}
.vz-bar .tr{position:relative;height:16px}
.vz-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:var(--btn);transition:width 1.1s var(--ease-out)}
.vz-bar em{position:absolute;top:50%;transform:translateY(-50%);font:600 11px/1 var(--f-sans);font-style:normal;color:var(--text);padding-left:6px;transition:left 1.1s var(--ease-out);left:0}
.vz-flow{position:relative;height:230px}
.vz-flow svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.vz-flow path{vector-effect:non-scaling-stroke}
.vz-flow .ln{fill:none;stroke:var(--line);stroke-width:1.5}
.vz-flow .pk{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 90;animation:vzRun 2.6s linear infinite}
@keyframes vzRun{to{stroke-dashoffset:-96}}
.vz-node{position:absolute;transform:translate(-50%,-50%);font:500 11.5px/1 var(--f-sans);color:var(--body);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px 8px;white-space:nowrap}
.vz-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:62px;border-radius:var(--r2);display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px var(--line),0 12px 40px -12px var(--glow)}
.vz-hub img{width:78px;height:auto}
.vz-int{display:grid;gap:6px;margin-top:12px}
.vz-int div{font-size:13.5px;line-height:1.45;color:var(--muted)}
.vz-int b{font-weight:600;color:var(--text);margin-right:6px}
/* who we serve */
.b-serve{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid var(--line)}
.b-serve-i{position:relative;padding:28px 26px 30px 0}
.b-serve-i+.b-serve-i{padding-left:26px;border-left:1px solid var(--line)}
.b-serve-i .ic{width:22px;height:22px;color:var(--accent);margin-bottom:22px}
.b-serve-i h3{font:600 18px/1.25 var(--f-sans);letter-spacing:-.02em;color:var(--text);margin-bottom:10px}
.b-serve-i p{font:400 14.5px/1.6 var(--f-body);color:var(--muted)}
/* scale */
.b-scale{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end}
.b-stats{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r3);overflow:hidden;background:var(--card)}
.b-stat{padding:26px 24px}
.b-stat+.b-stat{border-left:1px solid var(--line)}
.b-fig{display:block;font:500 clamp(46px,5.4vw,76px)/1 var(--f-mono);letter-spacing:-.05em;color:var(--text);font-variant-numeric:tabular-nums}
.b-cap{display:block;margin-top:12px;font:500 14px/1.4 var(--f-sans);color:var(--muted)}
/* differentiation */
.b-zero{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r3);overflow:hidden;margin-top:48px}
.b-zero>div{background:color-mix(in srgb,var(--bg) 88%,transparent);padding:26px 26px 30px}
.b-zero .z{display:block;font:500 clamp(64px,7vw,104px)/.9 var(--f-mono);letter-spacing:-.06em;color:var(--accent);margin-bottom:22px}
.b-zero h3,.b-more h3{font:600 18px/1.25 var(--f-sans);letter-spacing:-.02em;color:var(--text);margin-bottom:8px}
.b-zero p,.b-more p{font:400 14.5px/1.6 var(--f-body);color:var(--muted)}
.b-more{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px}
.b-more .ic{width:20px;height:20px;color:var(--accent);margin-bottom:14px}
/* quotes marquee */
.b-quotes{padding-block:calc(var(--sec)*.8);overflow:hidden;border-block:1px solid var(--line)}
.b-qwrap{display:grid;gap:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.b-mq{display:flex;gap:16px;width:max-content;animation:bMq 90s linear infinite;padding:8px 0}
.b-mq.rev{animation-direction:reverse;animation-duration:110s}
.b-quotes:hover .b-mq{animation-play-state:paused}
@keyframes bMq{to{transform:translateX(-50%)}}
.b-q{width:380px;flex:none;padding:22px 22px 20px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.b-q blockquote{font:400 15.5px/1.55 var(--f-body);color:var(--text)}
.b-q cite{display:block;margin-top:14px;font:500 12.5px/1.4 var(--f-mono);font-style:normal;color:var(--muted)}
/* insights with images */
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.ins-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);overflow:hidden;transition:border-color .3s,transform .45s var(--ease-out),box-shadow .45s}
.ins-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));transform:translateY(-4px);box-shadow:0 26px 50px -30px var(--glow)}
.ins-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface2)}
.ins-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.ins-card:hover .ins-img img{transform:scale(1.04)}
.ins-tx{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.ins-m{font:500 12px/1.3 var(--f-mono);color:var(--muted)}
.ins-tx b{font:600 19px/1.28 var(--f-sans);letter-spacing:-.02em;color:var(--text)}
.ins-d{font:400 14.5px/1.55 var(--f-body);color:var(--muted)}
.ins-go{margin-top:auto;padding-top:6px;font:600 13.5px/1 var(--f-sans);color:var(--accent)}
/* coming soon */
.b-soon{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;margin-top:48px;align-items:start}
.b-soon-feat h3{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font:var(--hw) clamp(24px,2.4vw,32px)/1.15 var(--f-head);letter-spacing:var(--hls);color:var(--text)}
.b-soon-feat h3 .soon{margin-left:4px}
.b-soon-feat p{font:400 16px/1.6 var(--f-body);color:var(--muted);margin:10px 0 22px;max-width:34em}
.rm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.rm{padding:16px 16px 18px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);transition:border-color .3s,transform .4s var(--ease-out)}
.rm:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-2px)}
.rm-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.rm-g{font:500 12px/1 var(--f-mono);color:var(--muted)}
.rm .soon{margin-left:0}
.rm b{display:block;font:600 15px/1.3 var(--f-sans);color:var(--text)}
.rm p{font:400 13.5px/1.5 var(--f-body);color:var(--muted);margin-top:4px}
/* faq explorer with chevrons */
.b-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;margin-top:44px;align-items:start}
.b-faq-list{border-top:1px solid var(--line)}
.faq-i{border-bottom:1px solid var(--line)}
.faq-h{margin:0;font:inherit}
.faq-q{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 8px 16px 14px;font:500 15.5px/1.4 var(--f-sans);color:var(--muted);text-align:left;transition:color .2s,background-color .2s}
.faq-q:hover{color:var(--text);background:var(--hover)}
.faq-ch{width:18px;height:18px;flex:none;color:var(--muted);transition:transform .4s var(--ease-out),color .2s}
.faq-i.open .faq-q{color:var(--text)}
.faq-i.open .faq-ch{color:var(--accent);transform:rotate(180deg)}
.b-faq .faq-q::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent);transform:scaleY(0);transition:transform .35s var(--ease-out)}
.b-faq .faq-i.open .faq-q::before{transform:none}
.b-faq .faq-i.open .faq-ch{transform:rotate(-90deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}
.faq-a>div{overflow:hidden}
.faq-i.open .faq-a{grid-template-rows:1fr}
.faq-a p{font:400 15px/1.6 var(--f-body);color:var(--body);padding:0 14px 18px}
.b-faq-panel{position:sticky;top:110px;padding:30px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);min-height:240px}
.b-faq-panel .q{font:var(--hw) 24px/1.25 var(--f-head);letter-spacing:var(--hls);color:var(--text)}
.b-faq-panel .a{font:400 16.5px/1.65 var(--f-body);color:var(--body);margin-top:14px}
.b-faq-panel .fx{animation:pvRow .45s var(--ease-out) both}
@media (min-width:981px){.b-faq .faq-a{display:none}}
/* cta */
.b-cta{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r4);padding:clamp(36px,6vw,80px);isolation:isolate;background:var(--card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.b-cta::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;z-index:-1;background:radial-gradient(circle,var(--glow),transparent 65%)}
.b-cta h2{font:var(--hw) clamp(40px,5.4vw,72px)/1.02 var(--f-head);letter-spacing:var(--hls);color:var(--text);padding-bottom:.04em}
.b-cta p{font:400 18px/1.55 var(--f-body);color:var(--muted);margin:16px 0 28px;max-width:30em}
/* disclosures */
.b-disc{border:1px solid var(--line);border-radius:var(--r3);padding:clamp(28px,4vw,48px);background:var(--card)}
.b-disc .b-h2{font-size:clamp(26px,3vw,38px)}
.disc-cols{columns:2 380px;column-gap:56px;margin-top:28px;font:400 14.5px/1.68 var(--f-body);color:var(--body)}
.disc-cols h3{font:600 14.5px/1.4 var(--f-sans);color:var(--text);margin:22px 0 8px;break-after:avoid}
.disc-cols h3:first-child{margin-top:0}
.disc-cols p{margin-bottom:12px}
.disc-cols a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.foot{border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,transparent)}
.foot-grid{grid-template-columns:1.2fr repeat(4,1fr) 1.5fr}
.foot-logo{display:inline-block}
@media (max-width:1180px){.foot-grid{grid-template-columns:repeat(3,1fr)}.foot-brand,.foot-news{grid-column:1/-1}}
@media (max-width:1080px){
  .b-tile.w3,.b-tile.w2{grid-column:span 6}
  .b-tile{min-height:0}
  .b-serve{grid-template-columns:1fr 1fr}
  .b-serve-i:nth-child(3){padding-left:0;border-left:0}
  .b-serve-i:nth-child(n+3){border-top:1px solid var(--line)}
  .ins-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .b-hero-copy,.b-scale,.b-soon,.b-faq{grid-template-columns:1fr}
  .b-zero,.b-more{grid-template-columns:1fr}
  .b-faq-panel{display:none}
  .b-faq .faq-i.open .faq-ch{transform:rotate(180deg)}
}
@media (max-width:640px){
  .b-serve{grid-template-columns:1fr}
  .b-serve-i,.b-serve-i+.b-serve-i{padding:24px 0;border-left:0;border-top:1px solid var(--line)}
  .b-stats,.ins-grid,.rm-grid{grid-template-columns:1fr}
  .b-stat+.b-stat{border-left:0;border-top:1px solid var(--line)}
  .b-q{width:300px}
  .vz-r.ex{grid-template-columns:minmax(0,1fr) 72px 118px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .pv-cap-row{flex-wrap:wrap}
  .pv-cap-t{flex:1 1 100%;order:-1;font-size:14px}
}
/* ================= Subpages ================= */
.pg-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:500 13px/1.3 var(--f-sans);color:var(--muted);margin-bottom:22px}
.pg-crumbs>*+*::before{content:"/";margin-right:8px;color:var(--line)}
.pg-crumbs a:hover{color:var(--text)}
.pg-kick{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pg-kick .b-lbl{margin-bottom:0}
.pg-kick .soon{margin-left:6px}
.pg-h1{font:var(--hw) clamp(38px,5.4vw,78px)/1.02 var(--f-head);letter-spacing:var(--hls);color:var(--text);max-width:15em;margin-top:16px;padding-bottom:.04em}
.pg-sub{font:400 clamp(17px,1.35vw,20px)/1.55 var(--f-body);color:var(--muted);max-width:38em;margin-top:18px}
.pg-quote{margin-top:20px;max-width:40em;padding-left:18px;border-left:2px solid var(--accent)}
.pg-quote p{font:400 clamp(17px,1.4vw,20px)/1.5 var(--f-body);color:var(--body)}
.pg-quote cite{display:block;margin-top:8px;font:500 13px/1.4 var(--f-mono);font-style:normal;color:var(--muted)}
.pg-checks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px}
.pg-checks li{display:flex;align-items:center;gap:9px;font:500 15px/1.4 var(--f-sans);color:var(--body)}
.pg-checks .ic{width:18px;height:18px;color:var(--accent)}
.pg-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.pg-hero{padding-block:clamp(48px,6.5vw,96px) clamp(28px,4vw,48px)}
.pg-visw{padding-bottom:clamp(40px,6vw,80px)}
.pg-vis-mcp .mcp{max-width:760px;margin-inline:auto}
.pg-vis-flow{border:1px solid var(--line);border-radius:var(--r3);background:var(--card);padding:28px}
.pg-flow>.pg-b{padding-block:calc(var(--sec)*.62);border-top:1px solid var(--line)}
.pg-flow>.pg-b:first-child{border-top:0;padding-top:calc(var(--sec)*.3)}
.pg-bh{margin-bottom:28px}
.pg-bh .b-lbl{margin-bottom:12px}
.pg-h2{font:var(--hw) clamp(28px,3.4vw,46px)/1.08 var(--f-head);letter-spacing:var(--hls);color:var(--text);max-width:18em;padding-bottom:.04em}
.pg-h3{font:var(--hw) clamp(24px,2.4vw,32px)/1.12 var(--f-head);letter-spacing:var(--hls);color:var(--text)}
.pg-bsub{font:400 17px/1.55 var(--f-body);color:var(--muted);max-width:40em;margin-top:12px}
.pg-cta{padding-block:calc(var(--sec)*.7) var(--sec)}
/* blocks */
.fx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r3);overflow:hidden}
.fx-grid.n4{grid-template-columns:repeat(4,1fr)}
.fx-grid.n2{grid-template-columns:repeat(2,1fr)}
.fx{background:color-mix(in srgb,var(--bg) 90%,transparent);padding:26px 24px 28px}
.fx>.ic{width:22px;height:22px;color:var(--accent);margin-bottom:20px}
.fx h3{font:600 17.5px/1.3 var(--f-sans);letter-spacing:-.02em;color:var(--text);margin-bottom:8px}
.fx p{font:400 14.5px/1.6 var(--f-body);color:var(--muted)}
.nw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nw{display:flex;gap:16px;padding:22px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);transition:border-color .3s,transform .4s var(--ease-out)}
.nw:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-2px)}
.nw-m{flex:none;width:44px;height:44px;border-radius:var(--r2);display:grid;place-items:center;font:600 15px/1 var(--f-mono);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.nw h3{font:600 17px/1.25 var(--f-sans);color:var(--text);margin-bottom:6px}
.nw p{font:400 14.5px/1.55 var(--f-body);color:var(--muted)}
.sp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}
.sp-tx p{font:400 17px/1.6 var(--f-body);color:var(--muted);margin:14px 0 24px;max-width:32em}
.ov-card{border:1px solid var(--line);border-radius:var(--r3);background:var(--surface);padding:20px;font:400 14px/1.45 var(--f-sans);color:var(--text);box-shadow:0 30px 60px -40px var(--glow)}
.ov-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line);font-weight:600}
.ov-sw{position:relative;width:40px;height:23px;border-radius:999px;background:var(--line);transition:background-color .2s}
.ov-sw::after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .25s var(--ease-out)}
.ov-sw[aria-checked="true"]{background:var(--btn)}
.ov-sw[aria-checked="true"]::after{transform:translateX(17px)}
.ov-row{padding:14px 0 10px}
.ov-row b{display:block;font-weight:600}
.ov-row small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.ov-grid{display:grid;grid-template-columns:1fr auto;gap:12px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13.5px;color:var(--body)}
.ov-seg{display:inline-flex;background:var(--surface2);border-radius:8px;padding:3px;gap:2px}
.ov-seg button{height:26px;padding:0 10px;border-radius:6px;font:700 11px/1 var(--f-sans);letter-spacing:.04em;color:var(--muted)}
.ov-seg button[aria-pressed="true"]{background:var(--btn);color:#fff}
.ov-note{margin-top:12px;font-size:13px;color:var(--muted)}
.wm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wm{padding:28px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.wm b{display:block;font:500 clamp(34px,4vw,54px)/1 var(--f-mono);letter-spacing:-.05em;color:var(--accent)}
.wm span{display:block;margin-top:12px;font:500 16px/1.45 var(--f-sans);color:var(--body)}
.st-list{counter-reset:none;display:grid;gap:0;border-top:1px solid var(--line)}
.st-list li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.st-n{font:500 14px/1.6 var(--f-mono);color:var(--accent)}
.st-list h3{font:600 18px/1.3 var(--f-sans);color:var(--text);margin-bottom:6px}
.st-list p{font:400 15px/1.6 var(--f-body);color:var(--muted)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.plan.hot{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 30px 70px -40px var(--glow)}
.plan-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.plan-top h3{font:600 20px/1.2 var(--f-sans);color:var(--text)}
.plan-tag{font:600 12px/1 var(--f-sans);color:#fff;background:var(--btn);padding:6px 9px;border-radius:999px}
.plan-d{font:400 14.5px/1.55 var(--f-body);color:var(--muted);margin:10px 0 18px;min-height:3.1em}
.plan-p b{display:block;font:500 clamp(34px,3.6vw,44px)/1 var(--f-mono);letter-spacing:-.04em;color:var(--text)}
.plan-p span{display:block;margin-top:6px;font:500 13px/1.4 var(--f-sans);color:var(--muted)}
.plan-cta{margin:22px 0;width:100%}
.plan ul{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
.plan li{display:flex;gap:10px;font:500 14.5px/1.4 var(--f-sans);color:var(--body)}
.plan li .ic{width:17px;height:17px;color:var(--accent);margin-top:1px}
.pg-faq{border-top:1px solid var(--line);max-width:860px}
.qt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.qt{padding:24px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.qt blockquote{font:400 16px/1.55 var(--f-body);color:var(--text)}
.qt cite{display:block;margin-top:14px;font:500 12.5px/1.4 var(--f-mono);font-style:normal;color:var(--muted)}
.tp-list{display:flex;flex-wrap:wrap;gap:10px}
.tp{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);font:500 15px/1 var(--f-sans);color:var(--text)}
.tp .ic{width:17px;height:17px;color:var(--accent)}
.mt{display:flex;align-items:center;gap:20px;padding:26px 28px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:var(--r3);background:color-mix(in srgb,var(--accent) 6%,var(--card));transition:transform .4s var(--ease-out),box-shadow .4s}
.mt:hover{transform:translateY(-2px);box-shadow:0 30px 60px -40px var(--glow)}
.mt-ic{flex:none;width:48px;height:48px;border-radius:var(--r2);display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.mt h3{display:flex;align-items:center;flex-wrap:wrap;font:600 19px/1.3 var(--f-sans);color:var(--text)}
.mt p{font:400 15px/1.55 var(--f-body);color:var(--muted);margin-top:4px}
.mt .b-more-link{margin-left:auto}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pr{display:flex;gap:12px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);font:500 15px/1.45 var(--f-sans);color:var(--text)}
.pr .ic{width:18px;height:18px;color:var(--accent);margin-top:2px}
.pol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pol{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);transition:border-color .3s,transform .4s var(--ease-out)}
.pol:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-3px)}
.pol>.ic{width:22px;height:22px;color:var(--accent)}
.pol h3{font:600 18px/1.25 var(--f-sans);color:var(--text)}
.pol p{font:400 14.5px/1.6 var(--f-body);color:var(--muted)}
.pol-go{margin-top:auto;padding-top:8px;font:600 13.5px/1 var(--f-sans);color:var(--accent)}
.cmp-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.cmp-pick button{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:500 13.5px/1 var(--f-sans);color:var(--body);transition:border-color .2s,color .2s,background-color .2s}
.cmp-pick button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card))}
.cmp-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.cmp-t{width:100%;min-width:880px;border-collapse:collapse;font:400 14px/1.4 var(--f-sans)}
.cmp-t th,.cmp-t td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.cmp-t thead th{font:600 12.5px/1.3 var(--f-sans);color:var(--muted)}
.cmp-t tbody th{font-weight:500;color:var(--text);width:30%}
.cmp-t tr:last-child>*{border-bottom:0}
.cmp-t .hi{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.cmp-t thead .hi{color:var(--accent)}
.yes{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text)}
.yes .ic{width:16px;height:16px;color:var(--accent)}
.no{color:var(--muted)}
.val{font:500 13.5px/1 var(--f-mono);color:var(--text)}
.doc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.doc{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card);font:500 14.5px/1.35 var(--f-sans);color:var(--text);transition:border-color .2s}
.doc:hover{border-color:var(--accent)}
.doc .ic{width:18px;height:18px;color:var(--accent);flex:none}
.doc em{margin-left:auto;font:500 11.5px/1 var(--f-mono);font-style:normal;color:var(--muted)}
.doc-card{padding:30px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);max-width:720px}
.doc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 13px/1 var(--f-sans);color:var(--muted);margin-bottom:16px}
.chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--line);color:var(--text);font:600 12px/1 var(--f-sans)}
.doc-card p{font:400 16px/1.6 var(--f-body);color:var(--muted);margin:10px 0 22px}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.pf-chips button{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:500 14px/1 var(--f-sans);color:var(--body)}
.pf-chips button b{font:500 12px/1 var(--f-mono);color:var(--muted)}
.pf-chips button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.pf-grid{margin-top:0}
.pf-it{display:flex}
.pf-it>.ins-card{flex:1}
.job-list{display:grid;gap:14px}
.job{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:26px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.job-team{font:500 12.5px/1 var(--f-mono);color:var(--accent)}
.job h3{font:600 21px/1.25 var(--f-sans);color:var(--text);margin:8px 0 6px}
.job h3 a:hover{color:var(--accent)}
.job-main p{font:400 15px/1.55 var(--f-body);color:var(--muted);max-width:44em}
.job-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font:500 13.5px/1.3 var(--f-sans);color:var(--body)}
.job-meta span{display:inline-flex;align-items:center;gap:7px}
.job-meta .ic{width:15px;height:15px;color:var(--muted)}
.job-meta.big{font-size:15px;margin-top:20px}
.job-act{display:flex;flex-direction:column;gap:8px;flex:none}
/* api window */
.api-win{border-radius:var(--r3);overflow:hidden;background:#0B1324;box-shadow:var(--win-shadow);max-width:900px;margin-inline:auto}
.api-top{display:flex;align-items:center;gap:10px;height:48px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.08);font:500 13px/1 var(--f-sans);color:#C9D6EE}
.api-top .ic{width:16px;height:16px;color:#7FA6FF}
.api-tag{margin-left:auto;font:500 11.5px/1 var(--f-mono);color:#8C9BB5;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 9px}
.api-code{margin:0;padding:22px 24px 26px;font:400 13px/1.7 var(--f-mono);color:#C9D6EE;white-space:pre-wrap;word-break:break-word}
.api-code .k{color:#7FA6FF;font-weight:600}.api-code .c{color:#7D8AA3}.api-code .p{color:#A9C2FF}.api-code .s{color:#F1F5FB}
/* prose: articles, jobs, legal */
.prose{max-width:720px;font:400 17.5px/1.72 var(--f-body);color:var(--body);padding-bottom:calc(var(--sec)*.6)}
.prose>*+*{margin-top:1.05em}
.prose h2{font:var(--hw) clamp(24px,2.4vw,30px)/1.2 var(--f-head);letter-spacing:var(--hls);color:var(--text);margin-top:1.8em}
.prose h3{font:600 20px/1.3 var(--f-sans);color:var(--text);margin-top:1.6em}
.prose h4{font:600 17px/1.35 var(--f-sans);color:var(--text);margin-top:1.4em}
.prose ul{padding-left:1.2em;list-style:disc}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--accent)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose strong,.prose b{color:var(--text);font-weight:600}
.prose blockquote{padding-left:18px;border-left:2px solid var(--accent);font-style:italic}
.art-fig{margin:1.8em 0;border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);background:#fff}
.art-fig img{width:100%;height:auto}
.art-hero{margin:0 0 36px;border-radius:var(--r3);overflow:hidden;aspect-ratio:16/8;background:var(--surface2)}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-h1{font-size:clamp(34px,4.4vw,62px)}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font:500 14px/1.4 var(--f-mono);color:var(--muted)}
.art-lede{font-size:20px;color:var(--text)}
.art-note{padding:16px 18px;border:1px dashed var(--line);border-radius:var(--r2);font-size:15px}
.art-w{max-width:860px}
.art-aside{display:grid;gap:12px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.art-aside .b-lbl{margin-bottom:4px}
.art-aside a{font:500 14.5px/1.4 var(--f-sans);color:var(--body)}
.art-aside a:hover{color:var(--accent)}
/* ----- Layout: Classic (follows today's subpages) ----- */
.lay-classic .pg-visw .wrap{max-width:1300px}
/* ----- Layout: Split (sticky rail with a section index) ----- */
.lay-split .pg-split{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:clamp(32px,5vw,72px);padding-top:clamp(40px,5vw,72px)}
.lay-split .pg-rail-in{position:sticky;top:104px;padding-bottom:32px}
.lay-split .pg-h1{font-size:clamp(34px,3.6vw,54px)}
.lay-split .pg-sub{font-size:17px}
.lay-split .pg-checks{flex-direction:column;gap:10px}
.pg-index{display:grid;gap:2px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}
.pg-index button{position:relative;text-align:left;padding:9px 12px;border-radius:var(--r2);font:500 14.5px/1.3 var(--f-sans);color:var(--muted);transition:color .2s,background-color .2s}
.pg-index button:hover{color:var(--text);background:var(--hover)}
.pg-index button.on{color:var(--text)}
.pg-index button.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--accent)}
.lay-split .pg-main{min-width:0;padding-bottom:calc(var(--sec)*.5)}
.lay-split .pg-main>.pg-vis{margin-bottom:24px}
.lay-split .pg-main>.pg-b{padding-block:calc(var(--sec)*.55);border-top:1px solid var(--line)}
.lay-split .pg-main>.pg-vis+.pg-b{border-top:0}
.lay-split .fx-grid,.lay-split .fx-grid.n4{grid-template-columns:1fr 1fr}
.lay-split .nw-grid,.lay-split .pol-grid,.lay-split .pr-grid,.lay-split .qt-grid{grid-template-columns:1fr 1fr}
.lay-split .plans{grid-template-columns:1fr}
.lay-split .plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}
.lay-split .plan>*{grid-column:1}
.lay-split .plan ul{grid-column:2;grid-row:1/span 5;border-top:0;padding-top:0;border-left:1px solid var(--line);padding-left:24px;align-content:start}
.lay-split .sp-split{grid-template-columns:1fr}
.lay-split .art-hero{aspect-ratio:16/9}
/* ----- Layout: Spotlight (centered statement, wide window, banded sections) ----- */
.lay-spot .pg-hero{text-align:center;padding-top:clamp(64px,9vw,140px)}
.lay-spot .pg-hero .wrap{display:flex;flex-direction:column;align-items:center}
.lay-spot .pg-crumbs,.lay-spot .pg-kick,.lay-spot .pg-ctas,.lay-spot .pg-checks{justify-content:center}
.lay-spot .pg-h1{font-size:clamp(44px,7.4vw,112px);max-width:13em;margin-inline:auto;line-height:.98}
.lay-spot .pg-sub{margin-inline:auto;max-width:34em}
.lay-spot .pg-quote{margin-inline:auto;text-align:left}
.lay-spot .pg-visw .wrap{max-width:1380px}
.lay-spot .pg-vis{position:relative}
.lay-spot .pg-vis::before{content:"";position:absolute;inset:8% 6% -4%;z-index:-1;background:radial-gradient(ellipse at 50% 60%,var(--glow),transparent 70%);filter:blur(20px)}
.lay-spot .pg-flow>.pg-b{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:clamp(28px,4vw,64px);align-items:start}
.lay-spot .pg-flow>.pg-b>.pg-bh{position:sticky;top:110px}
.lay-spot .pg-h2{font-size:clamp(30px,3.4vw,50px)}
.lay-spot .fx-grid,.lay-spot .fx-grid.n4,.lay-spot .fx-grid.n2{grid-template-columns:1fr;background:none;border:0;border-radius:0;gap:0}
.lay-spot .fx{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px;padding:22px 0;border-bottom:1px solid var(--line);background:none}
.lay-spot .fx>.ic{grid-row:span 2;margin:4px 0 0}
.lay-spot .fx h3{font:var(--hw) clamp(22px,2.2vw,30px)/1.2 var(--f-head);letter-spacing:var(--hls)}
.lay-spot .nw-grid,.lay-spot .pol-grid,.lay-spot .qt-grid,.lay-spot .pr-grid{grid-template-columns:1fr 1fr}
.lay-spot .plans{grid-template-columns:1fr}
.lay-spot .st-list li{grid-template-columns:80px minmax(0,1fr)}
.lay-spot .st-n{font-size:28px;line-height:1.1}
.lay-spot .wm b{font-size:clamp(44px,5vw,72px)}
.lay-spot .sp-split{grid-template-columns:1fr}
.art-spot{position:relative;min-height:min(78vh,760px);display:flex;align-items:flex-end;overflow:hidden;margin-bottom:56px}
.art-spot-img{position:absolute;inset:0}
.art-spot-img .art-hero{margin:0;height:100%;aspect-ratio:auto;border-radius:0}
.art-spot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,20,.1),rgba(6,10,20,.82))}
.art-spot-in{position:relative;z-index:1;padding-block:56px;color:#fff}
.art-spot-in .pg-h1,.art-spot-in .art-meta,.art-spot-in .pg-crumbs,.art-spot-in .pg-crumbs a{color:#fff}
.art-spot-in .b-lbl{color:#A9C2FF}
.lay-spot.art .prose{margin-inline:auto}
@media (max-width:1080px){
  .fx-grid,.fx-grid.n4,.nw-grid,.pol-grid,.pr-grid,.qt-grid{grid-template-columns:1fr 1fr}
  .plans{grid-template-columns:1fr}
  .lay-split .pg-split{grid-template-columns:1fr}
  .lay-split .pg-rail-in{position:static}
  .lay-spot .pg-flow>.pg-b{grid-template-columns:1fr}
  .lay-spot .pg-flow>.pg-b>.pg-bh{position:static}
}
@media (max-width:720px){
  .fx-grid,.fx-grid.n4,.fx-grid.n2,.nw-grid,.pol-grid,.pr-grid,.qt-grid,.wm-grid,.doc-list,.sp-split,.lay-split .fx-grid,.lay-split .nw-grid,.lay-split .pol-grid,.lay-split .pr-grid,.lay-split .qt-grid,.lay-spot .nw-grid,.lay-spot .pol-grid,.lay-spot .qt-grid,.lay-spot .pr-grid{grid-template-columns:1fr}
  .lay-split .plan{display:flex}
  .lay-split .plan ul{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:18px}
  .job{flex-direction:column;align-items:flex-start}
  .job-act{flex-direction:row}
  .mt{flex-direction:column;align-items:flex-start}
  .mt .b-more-link{margin-left:0}
  .pg-vis-flow{padding:14px}
}
.nav-link,.nav-login{white-space:nowrap}
@media (max-width:1260px){.nav-links{display:none}.menu-btn{display:grid}}
.mnav .theme-btn{display:grid}
.ic.flip{transform:scaleX(-1)}
.pv-npx-grid .pv-t td{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.pg-bc{min-width:0}
@media (max-width:1080px){.lay-spot .pg-flow>.pg-b{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .vz-r.ex{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .vz-r.ex .vz-st{grid-column:1/-1}
  .vz-r.ex .nm small{display:none}
}
@media (max-width:640px){.vz-r.ex .nm{white-space:normal;overflow:visible}}
/* ================= v3: readability, solid surfaces, no cursor glow ================= */
[hidden]{display:none!important}
html{--card:#FFFFFF;--solid:#FFFFFF;--faint:#9AA6BC;--glow2:rgba(0,75,229,.45)}
html[data-theme="dark"]{--card:#0B1222;--solid:#0D1528;--faint:#5E6B84;--glow2:rgba(47,107,255,.55)}
html:not(.is-home) #field{display:none}
/* nav: quiet frosted bar, no glow, no grey pills */
.nav{background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);box-shadow:none!important;border-bottom:1px solid var(--line)}
html[data-navglass="solid"] .nav{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
.nav .nav-link,.nav .nav-link:hover,.nav .dd.open>.nav-link,.nav .nav-link[aria-expanded="true"]{background:none!important;box-shadow:none!important}
.nav .nav-link:hover,.nav .dd.open>.nav-link{color:var(--text)}
.nav .dd>.nav-link .ic{transition:transform .3s var(--ease-out)}
.nav .dd.open>.nav-link .ic{transform:rotate(180deg)}
/* dropdown: solid, readable, icons centred in their boxes */
.dd-panel{background:var(--solid)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:1px solid var(--line);box-shadow:0 24px 60px -28px rgba(10,20,40,.32);width:min(660px,90vw);padding:8px}
.dd-item{align-items:center;transition:background-color .2s}
.dd-item:hover{background:var(--surface)}
.dd-item .dd-ic{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--r2);background:var(--surface);border:1px solid var(--line);color:var(--accent)}
.dd-item:hover .dd-ic{background:var(--solid)}
.dd-item .dd-ic .ic{width:19px;height:19px;margin:0;display:block}
.mnav{background:var(--bg)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.mnav-ctas{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* opaque surfaces everywhere */
.b-tile,.b-zero>div,.fx{background:var(--bg)!important}
.b-tile::after{display:none}
.b-cta{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none}
.b-cta::after{display:none}
.foot{background:var(--bg)}
.pv-hint{background:var(--solid)}
/* buttons: six styles to choose from in the Design panel */
.btn--primary .btn-fx,.btn--ghost .btn-fx{display:none}
.btn-arr{display:none}
.btn--primary{background:var(--btn);color:#fff;box-shadow:0 1px 2px rgba(5,20,60,.16);transition:background-color .2s,color .2s,transform .3s var(--ease-out),box-shadow .3s}
.btn--primary:hover{background:var(--btn-h)}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);transition:box-shadow .2s,color .2s,transform .3s var(--ease-out)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}
html[data-btn="arrow"] .btn .btn-arr{display:inline-grid;place-items:center;width:0;margin-left:0;opacity:0;overflow:hidden;transition:width .3s var(--ease-out),margin .3s var(--ease-out),opacity .25s}
html[data-btn="arrow"] .btn .btn-arr .ic{width:16px;height:16px;flex:none}
html[data-btn="arrow"] .btn:hover .btn-arr{width:16px;margin-left:8px;opacity:1}
html[data-btn="lift"] .btn--primary{box-shadow:0 8px 18px -10px var(--glow2)}
html[data-btn="lift"] .btn:hover{transform:translateY(-2px)}
html[data-btn="lift"] .btn--primary:hover{box-shadow:0 16px 30px -12px var(--glow2)}
html[data-btn="sheen"] .btn--primary{overflow:hidden}
html[data-btn="sheen"] .btn--primary .btn-fx{display:block;position:absolute;inset:0;padding:0;border-radius:inherit;-webkit-mask:none;mask:none;opacity:1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%);animation:none}
html[data-btn="sheen"] .btn--primary:hover .btn-fx{transform:translateX(120%);transition:transform .8s var(--ease-out)}
html[data-btn="beam"] .btn--primary .btn-fx{display:block}
html[data-btn="outline"] .btn--primary{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}
html[data-btn="outline"] .btn--primary:hover{background:var(--btn);color:#fff;box-shadow:inset 0 0 0 1.5px var(--btn)}
/* hero CTAs */
.b-ctas{gap:12px}
/* who we serve as one card */
.b-serve{border:1px solid var(--line);border-radius:var(--r3);background:var(--card);overflow:hidden}
.b-serve-i,.b-serve-i+.b-serve-i{padding:28px 26px 30px}
/* vote execution tile: queued lighter, sent in blue */
.vz-st.q{color:var(--muted)}
.vz-st.q .ic{color:var(--faint)}
.vz-st.ok{color:var(--body)}
.vz-st.ok .ic{color:var(--accent)}
/* N-PX tile: built by Egan-Jones */
.vz-npx{display:flex;flex-direction:column;gap:10px;padding-bottom:14px}
.vz-gen{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.vz-by{display:inline-flex;align-items:center;gap:7px;font:600 12.5px/1 var(--f-sans);color:var(--accent)}
.vz-by .ic,.vz-file .ic{width:15px;height:15px;flex:none}
.vz-file{display:inline-flex;align-items:center;gap:6px;font:500 11.5px/1.2 var(--f-mono);color:var(--muted)}
.vz-npx .vz-code{height:182px}
.vz-gen-st{display:flex;align-items:center;gap:8px;min-height:20px;font:500 12.5px/1.35 var(--f-sans);color:var(--muted)}
.vz-gen-st.done{color:var(--text)}
.vz-gen-st .ic{width:16px;height:16px;color:var(--accent);flex:none}
/* analytics tile: season columns */
.vz-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end;height:150px;margin-top:4px}
.vz-col{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;height:100%;min-width:0}
.vz-cv{text-align:center;font:600 12px/1 var(--f-sans);color:var(--text);font-variant-numeric:tabular-nums;opacity:0;transition:opacity .5s}
.vz-col.on .vz-cv{opacity:1}
.vz-cb{display:flex;flex-direction:column;height:0;border-radius:5px 5px 2px 2px;overflow:hidden;transition:height 1s var(--ease-out)}
.vz-cb .a{flex:none;background:var(--accent)}
.vz-cb .w{flex:1;background:color-mix(in srgb,var(--accent) 22%,var(--surface))}
.vz-cm{text-align:center;font:500 11.5px/1 var(--f-sans);color:var(--muted);white-space:nowrap}
.vz-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font:500 12px/1.3 var(--f-sans);color:var(--body)}
.vz-leg span{display:inline-flex;align-items:center;gap:6px}
.vz-leg i{width:10px;height:10px;border-radius:3px}
.vz-leg .a{background:var(--accent)}
.vz-leg .w{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}
/* flow diagrams: connectors meet the boxes */
.vz-flow{position:relative;display:grid;grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto;align-items:center;height:auto!important;min-height:196px;padding:8px 0}
.vz-flow svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.fl-col{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.vz-flow .vz-node{position:relative;left:auto!important;top:auto!important;transform:none;background:var(--card)}
.vz-flow .vz-hub{position:relative;left:auto;top:auto;transform:none;z-index:1}
.vz-flow.lg{min-height:340px}
.vz-flow.lg .fl-col{gap:20px}
.vz-flow.lg .vz-node{font-size:14px;padding:10px 14px;border-radius:var(--r2)}
.vz-flow.lg .vz-hub{width:150px;height:92px}
.vz-flow.lg .vz-hub img{width:116px}
/* newsletter band, above the closing call to action */
.news-band{padding-top:calc(var(--sec)*.55)}
.news-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 48px;align-items:center;padding:clamp(24px,3.4vw,40px);border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.news-h{font:var(--hw) clamp(24px,2.4vw,32px)/1.15 var(--f-head);letter-spacing:var(--hls);color:var(--text)}
.news-in p{font:400 16px/1.55 var(--f-body);color:var(--muted);margin-top:8px}
.news-form{display:flex;gap:10px}
.news-form input{flex:1;min-width:0;height:48px;padding:0 14px;border-radius:var(--r2);border:1px solid var(--line);background:var(--bg);color:var(--text);font:400 15px/1 var(--f-sans)}
.news-form input:focus{outline:2px solid var(--accent);outline-offset:1px}
.news-form .btn{height:48px}
.news-note{font:400 13px/1.4 var(--f-sans)!important;color:var(--muted);margin-top:10px!important}
.news-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
html.hide-news .news-band{display:none}
/* closing call to action with a photo */
.pg-cta{padding-block:calc(var(--sec)*.45) var(--sec)}
.b-cta.has-ph{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:40px;align-items:center}
.b-cta-ph{aspect-ratio:1;border-radius:var(--r3)}
/* photos */
.ph{margin:0;border-radius:var(--r3);overflow:hidden;background:var(--surface2)}
.ph img{display:block;width:100%;height:100%;object-fit:cover}
.pg-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:center}
.pg-hero-ph{aspect-ratio:4/3}
.pg-rail-ph{aspect-ratio:4/3;margin-top:28px}
.pg-banner{padding-bottom:clamp(32px,5vw,64px)}
.pg-banner .wrap{max-width:1380px}
.pg-banner-ph{aspect-ratio:21/8}
/* contact modal: two tabs */
.book-hd-t{display:flex;flex-direction:column;gap:14px;min-width:0}
.book-tabs{position:relative;display:inline-flex;align-self:flex-start;gap:2px;padding:4px;border-radius:calc(var(--r2) + 4px);background:var(--surface2)}
.book-tabs button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r2);font:600 14px/1 var(--f-sans);color:var(--muted);transition:color .25s}
.book-tabs button .ic{width:16px;height:16px}
.book-tabs button[aria-selected="true"]{color:var(--text)}
.book-th{position:absolute;left:0;top:4px;bottom:4px;width:0;border-radius:var(--r2);background:var(--bg);box-shadow:0 1px 3px rgba(10,20,40,.16);transition:transform .38s var(--ease-out),width .38s var(--ease-out)}
.book-pn{background:var(--solid)}
.book-msg{background:var(--solid)!important;overflow:auto}
.msg-form{max-width:640px;margin:0 auto;padding:30px 24px}
.msg-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.msg-grid label{display:flex;flex-direction:column;gap:7px;font:600 13px/1 var(--f-sans);color:var(--body)}
.msg-grid label.full{grid-column:1/-1}
.msg-grid input,.msg-grid textarea{padding:12px 14px;border-radius:var(--r2);border:1px solid var(--line);background:var(--bg);color:var(--text);font:400 15px/1.45 var(--f-sans);resize:vertical}
.msg-grid input:focus,.msg-grid textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.msg-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.msg-foot p{font:400 13px/1.4 var(--f-sans);color:var(--muted)}
.msg-foot a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.msg-ok{display:grid;justify-items:center;text-align:center;gap:10px;padding:90px 24px;color:var(--text)}
.msg-ok .ic{width:42px;height:42px;color:var(--accent)}
.msg-ok h3{font:var(--hw) 26px/1.2 var(--f-head);letter-spacing:var(--hls)}
.msg-ok p{font:400 15.5px/1.5 var(--f-body);color:var(--muted)}
.sw-in{animation:swIn .4s var(--ease-out) both}
@keyframes swIn{from{opacity:0;transform:translateY(8px)}}
/* assistant window in the style of a typical AI chat app */
.mcp{--m-bg:#FAF9F5;--m-panel:#FFFFFF;--m-line:#E6E2D8;--m-text:#1F1E1C;--m-muted:#75736C;--m-user:#EFEBE1;--m-acc:#C96442;background:var(--m-bg);color:var(--m-text);border-radius:calc(16px*var(--rad));box-shadow:0 30px 70px -40px rgba(31,30,28,.35),0 0 0 1px var(--m-line)}
html[data-theme="dark"] .mcp{--m-bg:#262624;--m-panel:#30302E;--m-line:#3E3D39;--m-text:#F2F0E9;--m-muted:#A7A49B;--m-user:#151514;--m-acc:#D97757;box-shadow:0 30px 70px -40px rgba(0,0,0,.6),0 0 0 1px var(--m-line)}
.mcp-top{height:56px;padding:0 18px;gap:10px;border-bottom:1px solid var(--m-line)}
.mcp-mark{display:grid;place-items:center;color:var(--m-acc)}
.mcp-mark .ic{width:20px;height:20px}
.mcp-top b{font:500 14.5px/1 var(--f-sans);color:var(--m-text)}
.mcp-conn{background:var(--m-panel);border-color:var(--m-line);color:var(--m-muted)}
.mcp-conn .ic{color:var(--m-muted)}
.mcp-body{padding:12px 22px 8px;gap:14px}
.mcp-u{background:var(--m-user);color:var(--m-text);border-radius:14px;padding:10px 14px;font:400 14px/1.5 var(--f-sans)}
.mcp-a{font:400 15.5px/1.62 'Source Serif 4',Georgia,serif;color:var(--m-text)}
.mcp-tool{background:var(--m-panel);border:1px solid var(--m-line);border-radius:10px;color:var(--m-muted);font:500 12.5px/1.4 var(--f-sans)}
.mcp-card{background:var(--m-panel);border-color:var(--m-line);border-radius:14px}
.mcp-card span.go{background:var(--m-text);color:var(--m-bg);border-radius:9px}
.mcp-in{display:block;height:auto;margin:6px 16px 16px;padding:12px 12px 10px 16px;border:1px solid var(--m-line);border-radius:18px;background:var(--m-panel);box-shadow:0 2px 10px -6px rgba(31,30,28,.18)}
.mcp-in .ph{display:block;min-height:22px;font:400 15px/1.45 var(--f-sans);color:var(--m-muted)}
.mcp-row{display:flex;align-items:center;gap:6px;margin-top:10px}
.mcp-in .mcp-ib{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:none;border:1px solid var(--m-line);color:var(--m-muted)}
.mcp-in .mcp-ib .ic{width:15px;height:15px}
.mcp-row em{margin-left:auto;font:500 12.5px/1 var(--f-sans);font-style:normal;color:var(--m-muted)}
.mcp-in .mcp-snd{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--m-acc);color:#fff}
.mcp-in .mcp-snd .ic{width:16px;height:16px}
.mcp-typing i{background:var(--m-muted)}
/* demo controls on top: step navigation, explanation, takeover button */
.pv-cap{margin:0 0 16px}
.b-host .pv-cap{max-width:none}
.pv-cap-top{display:flex;align-items:flex-end;gap:18px}
.pv-segs{flex:1;display:flex;gap:10px;height:auto;margin:0;min-width:0}
.sg{position:relative;flex:1;display:flex;flex-direction:column;gap:9px;height:auto;min-width:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit;background:none}
.sg::before,.sg.done::after{content:none}
.sg-l{display:flex;align-items:center;gap:7px;font:500 13.5px/1.2 var(--f-sans);color:var(--muted);white-space:nowrap;transition:color .25s}
.sg-l b{font:500 12px/1 var(--f-mono);color:var(--faint);transition:color .25s}
.sg:hover .sg-l,.sg.act .sg-l{color:var(--text)}
.sg.act .sg-l b,.sg.done .sg-l b{color:var(--accent)}
.sg-b{position:relative;display:block;height:8px}
.sg-b::before{content:"";position:absolute;left:0;right:0;top:3px;height:2px;border-radius:2px;background:var(--line);transition:background-color .2s}
.sg:hover .sg-b::before{background:color-mix(in srgb,var(--accent) 35%,var(--line))}
.sg.done .sg-b::after{content:"";position:absolute;left:0;right:0;top:2.75px;height:2.5px;border-radius:2px;background:var(--accent)}
.pv-segs.one .sg{cursor:default}
.pv-cap-t{margin-top:12px;font:500 16px/1.45 var(--f-sans);color:var(--text);min-height:1.45em;transition:opacity .3s}
/* app tab switching: content slides in from the side of the new tab */
.pv-mb.sw-r{animation:pvSwR .4s cubic-bezier(.16,1,.3,1) both}
.pv-mb.sw-l{animation:pvSwL .4s cubic-bezier(.16,1,.3,1) both}
@keyframes pvSwR{from{opacity:0;transform:translateX(24px)}}
@keyframes pvSwL{from{opacity:0;transform:translateX(-24px)}}
.pv-ct.ct-in{animation:pvCtIn .32s cubic-bezier(.16,1,.3,1)}
@keyframes pvCtIn{from{transform:translateY(5px)}}
.pv-seg{position:relative;isolation:isolate}
.pv-seg button{position:relative;z-index:1}
.pv-seg button.on{background:transparent!important;box-shadow:none!important}
.pv-seg-th{position:absolute;left:0;top:3px;bottom:3px;width:0;border-radius:7px;background:var(--pv-bg);box-shadow:0 1px 2px rgba(15,23,42,.16);transition:transform .38s cubic-bezier(.16,1,.3,1),width .38s cubic-bezier(.16,1,.3,1)}
html[data-motion="off"] .pv-mb,html[data-motion="off"] .pv-ct,html[data-motion="off"] .sw-in{animation:none!important}
/* Design panel: tabs */
.dz-tabs{position:relative;display:flex;gap:2px;padding:3px;border-radius:10px;background:#F1F4F9;margin:2px 0 4px}
.dz-tabs button{position:relative;z-index:1;flex:1;height:32px;border-radius:8px;font:600 12.5px/1 'Inter',sans-serif;color:#5A6880;transition:color .2s}
.dz-tabs button[aria-selected="true"]{color:#0B1630}
.dz-th{position:absolute;left:0;top:3px;bottom:3px;width:0;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.14);transition:transform .35s cubic-bezier(.16,1,.3,1),width .35s cubic-bezier(.16,1,.3,1)}
.dz-pane.sw-in{animation:swIn .35s cubic-bezier(.16,1,.3,1) both}
.dz-note{font-size:11.5px;line-height:1.45;color:#5A6880;margin-top:8px}
.dz-btns button{height:46px}
.dz-bp{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:7px;background:#004BE5;color:#fff;font:600 12px/1 'Inter',sans-serif;transition:transform .25s,box-shadow .25s,background-color .2s,color .2s,background-position .7s}
.dz-bp-arrow::after{content:"\2192";display:inline-block;width:0;opacity:0;overflow:hidden;transition:width .25s,opacity .2s,margin .25s}
.dz-btns button:hover .dz-bp-arrow::after{width:12px;opacity:1;margin-left:5px}
.dz-btns button:hover .dz-bp-lift{transform:translateY(-2px);box-shadow:0 8px 14px -6px rgba(0,75,229,.6)}
.dz-bp-sheen{background:linear-gradient(105deg,#004BE5 35%,#6E9BFF 50%,#004BE5 65%) 120% 0/260% 100%}
.dz-btns button:hover .dz-bp-sheen{background-position:-20% 0}
.dz-bp-beam{box-shadow:0 0 0 1.5px #fff,0 0 0 3px #9DB8FF}
.dz-bp-outline{background:transparent;color:#004BE5;box-shadow:inset 0 0 0 1.5px #004BE5}
.dz-btns button:hover .dz-bp-outline{background:#004BE5;color:#fff}
.dz-wide{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:36px;border-radius:9px;background:#004BE5;color:#fff;font:600 12.5px/1 'Inter',sans-serif}
.dz-wide .ic{width:15px;height:15px}
.dz-foot button,.dz-foot button:first-child{background:#F1F4F9;border-color:#E3E8F1;color:#0B1630}
/* subpage blocks */
.nw-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.nw-row{padding:22px 28px 24px 0;border-bottom:1px solid var(--line)}
.nw-row:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
.nw-row h3{font:600 18px/1.25 var(--f-sans);color:var(--text);margin-bottom:6px}
.nw-row p{font:400 15px/1.55 var(--f-body);color:var(--muted)}
.lay-spot .nw-list{grid-template-columns:1fr}
.lay-spot .nw-row:nth-child(even){padding-left:0;border-left:0}
.cmp-t{table-layout:fixed;min-width:640px}
.cmp-t col.c0{width:40%}
.cmp-t tbody th{width:auto}
.cmp-t thead th{vertical-align:bottom;padding:12px 10px}
.sel{position:relative;display:block}
.sel select{appearance:none;-webkit-appearance:none;width:100%;height:38px;padding:0 34px 0 12px;border-radius:var(--r2);border:1px solid var(--line);background:var(--bg);color:var(--text);font:600 13.5px/1 var(--f-sans);cursor:pointer;text-overflow:ellipsis}
.sel select:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
.sel select:focus{outline:2px solid var(--accent);outline-offset:1px}
.sel .ic{position:absolute;right:11px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.fade-in{animation:fadeIn .35s ease both}
@keyframes fadeIn{from{opacity:0}}
.dt-f{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.dt-f .sel{width:200px}
.dt-n{margin-left:auto;font:500 13px/1 var(--f-mono);color:var(--muted)}
.dt-t{width:100%;min-width:720px;table-layout:fixed;border-collapse:collapse;font:400 14.5px/1.4 var(--f-sans)}
.dt-t col.d0{width:44%}.dt-t col.d1{width:22%}.dt-t col.d2{width:12%}.dt-t col.d3{width:12%}.dt-t col.d4{width:10%}
.dt-t th,.dt-t td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;color:var(--body)}
.dt-t thead th{padding:6px 8px}
.dt-t thead button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px;border-radius:6px;font:600 12.5px/1 var(--f-sans);color:var(--muted);transition:color .2s,background-color .2s}
.dt-t thead button:hover{color:var(--text);background:var(--hover)}
.dt-t thead .srt{width:14px;height:14px;opacity:0;transform:rotate(180deg);transition:transform .25s,opacity .2s}
.dt-t thead button:hover .srt{opacity:.5}
.dt-t thead button.on{color:var(--text)}
.dt-t thead button.on .srt{opacity:1}
.dt-t thead button.desc .srt{transform:none}
.dt-t tr:last-child td{border-bottom:0}
.doc-a{display:inline-flex;align-items:center;gap:10px;font-weight:500;color:var(--text)}
.doc-a .ic{width:17px;height:17px;flex:none;color:var(--accent)}
.doc-a:hover span{text-decoration:underline;text-underline-offset:3px}
.doc-v a{font-weight:600;color:var(--accent)}
.dt-empty{text-align:center;color:var(--muted);padding:30px!important}
.pf-it.pf-in{animation:pfIn .45s var(--ease-out) both}
@keyframes pfIn{from{opacity:0;transform:translateY(10px) scale(.985)}}
@media (max-width:980px){.pg-hero-grid{grid-template-columns:1fr}.pg-hero-ph{aspect-ratio:16/9}}
@media (max-width:860px){.news-in{grid-template-columns:1fr}.b-cta.has-ph{grid-template-columns:1fr}.b-cta-ph{display:none}}
@media (max-width:720px){.nw-list{grid-template-columns:1fr}.nw-row:nth-child(even){padding-left:0;border-left:0}.dt-f .sel{width:100%}.dt-n{margin-left:0}}
@media (max-width:640px){
  .news-form{flex-direction:column}
  .msg-grid{grid-template-columns:1fr}
  .msg-foot{flex-direction:column;align-items:stretch}
  .pv-cap-top{flex-wrap:wrap}
  .pv-segs{flex:1 1 100%}
  .sg-l{font-size:12px}
  .b-serve-i,.b-serve-i+.b-serve-i{padding:22px 20px}
  .book-tabs button{padding:0 10px;font-size:13px}
}
.pg-crumbs a{display:inline-flex;align-items:center;gap:6px}
.pg-crumbs .ic{width:16px;height:16px;display:inline-block;flex:none}
/* ================= v4: pointer cursors, demo handover, remaining ProVote pages ================= */
a[href],button:not([disabled]),select,summary,label.sel,[role="switch"],[role="tab"],[data-book],.sg{cursor:pointer}
.pv button:not([disabled]),.pv [data-x],.pv tr[data-row],.pv select,.pv .pv-ck,.pv .pv-sel{cursor:pointer}
.pv [data-tip]:not(button):not([data-x]){cursor:default}
.pv input,.pv textarea{cursor:text}
.pv button[disabled]{cursor:default}
/* hero points: one Untitled UI icon per point */
.b-bul li{gap:12px}
.b-bic{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r2);background:var(--card);border:1px solid var(--line);color:var(--accent)}
.b-bic .ic{width:18px;height:18px}
/* demo: hand cursor over anything clickable, and a line that says the window is live */
.pv-cursor .c-hand{display:none;position:absolute;left:-4.2px;top:1.6px}
.pv-cursor.hand .c-arrow{display:none}
.pv-cursor.hand .c-hand{display:block}
.pv-cap-hint{display:none;align-items:center;gap:8px;margin-top:6px;font:500 13.5px/1.4 var(--f-sans);color:var(--accent)}
.pv-cap-hint .ic{width:15px;height:15px;flex:none}
.pv-host.playing .pv-cap-hint{display:flex}
/* app: search, account button, filters */
.pv-search{color:var(--pv-faint)}
.pv-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--pv-text);font:inherit;font-size:12.5px}
.pv-search input::placeholder{color:var(--pv-faint)}
.pv-search:focus-within{border-color:var(--pv-royal);box-shadow:0 0 0 3px color-mix(in srgb,var(--pv-royal) 18%,transparent)}
button.pv-av{border:0;padding:0;font:inherit;font-size:11.5px;font-weight:600;color:#fff}
.pv-fb.on{background:var(--pv-sel);border-color:var(--pv-sel-line);color:var(--pv-ink)}
.pv-fb b{font-weight:600}
.pv .sw-r{animation:pvSwR .4s cubic-bezier(.16,1,.3,1) both}
.pv .sw-l{animation:pvSwL .4s cubic-bezier(.16,1,.3,1) both}
/* white popovers */
.pv-pop{position:absolute;z-index:25;display:none;min-width:210px;max-width:340px;padding:6px;background:#fff;color:#0F172A;border:1px solid #E2E8F0;border-radius:10px;box-shadow:0 18px 40px -16px rgba(15,23,42,.35)}
.pv-pop.on{display:block;animation:pvDrop .28s cubic-bezier(.16,1,.3,1) both}
.pv-pop.wide{width:330px;max-width:330px}
.pv-poph{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-size:12px;color:#64748B}
.pv-poph b{font-weight:600;font-size:12.5px;color:#0F172A}
.pv-mi{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px;border-radius:7px;font-size:12.5px;color:#334155!important;text-align:left}
.pv-mi:hover{background:#F5F7FA;color:#0F172A!important}
.pv-mi .ic{width:15px;height:15px;color:#64748B}
.pv-mi.on{font-weight:600;color:#0F172A!important}
.pv-mi.on .ic{color:#004BE5}
.pv-rad{width:14px;height:14px;border-radius:50%;border:1.5px solid #94A3B8;flex:none;transition:border-width .15s,border-color .15s}
.pv-mi.on .pv-rad{border:4.5px solid #004BE5}
.pv-sep{height:1px;background:#EEF1F5;margin:4px 6px}
.pv-me{display:flex;align-items:center;gap:2px;padding:8px 10px 10px}
.pv-me b{display:block;font-size:13px}
.pv-me small{display:block;font-size:11.5px;color:#64748B}
.pv-uav{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:8px;border-radius:50%;background:#052B72;color:#fff;font-size:10.5px;font-weight:600;flex:none;vertical-align:middle}
.pv-cmts{max-height:190px;overflow:auto;padding:0 6px}
.pv-cmt{display:flex;padding:9px 2px;border-top:1px solid #EEF1F5}
.pv-cmt-h{display:flex;align-items:baseline;gap:8px}
.pv-cmt-h b{font-size:12.5px}
.pv-cmt-h small{font-size:11px;color:#94A3B8}
.pv-cmt p{font-size:12.5px;line-height:1.45;color:#334155;margin-top:2px}
.pv-cbox{position:relative;margin:6px 4px 4px}
.pv-cbox textarea{display:block;width:100%;resize:none;padding:9px 62px 9px 10px;border:1px solid #E2E8F0;border-radius:8px;background:#fff;color:#0F172A;font:inherit;font-size:12.5px}
.pv-cbox textarea:focus{outline:2px solid #004BE5;outline-offset:-1px}
.pv-cpost{position:absolute;right:6px;bottom:7px;height:26px;padding:0 10px;border-radius:6px;background:#004BE5;color:#fff!important;font-size:12px;font-weight:600;transition:background-color .15s}
.pv-cpost[disabled]{background:#E2E8F0;color:#94A3B8!important}
.pv-shr{display:flex;gap:6px;padding:2px 6px 8px}
.pv-shr input{flex:1;min-width:0;height:30px;padding:0 10px;border:1px solid #E2E8F0;border-radius:7px;background:#fff;color:#0F172A;font:inherit;font-size:12.5px}
.pv-hist{padding:2px 10px 8px}
.pv-hist div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;padding:5px 0;font-size:12.5px;color:#334155}
.pv-hist i{width:7px;height:7px;border-radius:50%;background:#CBD5E1}
.pv-hist small{font-size:11.5px;color:#94A3B8}
/* dialogs */
.pv-dw{position:absolute;inset:0;z-index:22;display:none;place-items:center;background:var(--pv-ov)}
.pv-dw.on{display:grid;animation:fadeIn .2s ease both}
.pv-d{width:640px;max-height:620px;overflow:auto;background:var(--pv-bg);color:var(--pv-text);border-radius:12px;box-shadow:var(--pv-mshadow);animation:pvDrop .35s cubic-bezier(.16,1,.3,1) both}
.pv-dh{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 12px 20px;border-bottom:1px solid var(--pv-line)}
.pv-dh b{display:block;font-size:15px;font-weight:600}
.pv-dh small{display:block;margin-top:2px;font-size:12.5px;color:var(--pv-muted)}
.pv-dh .pv-ib{margin-left:auto}
.pv-meth{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 20px 22px}
.pv-mcard{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px;border:1px solid var(--pv-line);border-radius:10px;text-align:left;transition:border-color .2s,background-color .2s}
.pv-mcard:hover{border-color:var(--pv-royal);background:var(--pv-sel)}
.pv-mcard .ic{width:20px;height:20px;margin-bottom:4px;color:var(--pv-royal)}
.pv-mcard b{font-size:13.5px;font-weight:600}
.pv-mcard small{font-size:12px;line-height:1.4;color:var(--pv-muted)}
.pv-dq{display:flex;width:auto;margin:16px 20px 8px}
.pv-dres{max-height:250px;overflow:auto;padding:2px 12px 8px}
.pv-dr{display:grid;grid-template-columns:22px 1fr 64px 96px;align-items:center;gap:8px;width:100%;padding:9px 8px;border-radius:8px;text-align:left;font-size:12.5px}
.pv-dr:hover{background:var(--pv-hover)}
.pv-dr b{font-weight:600;color:var(--pv-text)}
.pv-dr span{color:var(--pv-muted)}
.pv-dr em{font-style:normal;font:400 11.5px/1 'IBM Plex Mono',monospace;color:var(--pv-muted)}
.pv-paste{display:flex;gap:10px;align-items:flex-start;padding:16px 20px 10px}
.pv-paste textarea{flex:1;padding:10px 12px;border:1px solid var(--pv-line);border-radius:8px;background:var(--pv-bg);color:var(--pv-text);font:400 12.5px/1.6 'IBM Plex Mono',monospace;resize:none}
.pv-look{width:calc(100% - 40px);margin:0 20px 10px}
.pv-look tr[data-x]:hover td{background:var(--pv-hover)}
.pv-df{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 14px 20px;border-top:1px solid var(--pv-line)}
.pv-dpol{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--pv-muted)}
.pv-inv{display:grid;grid-template-columns:1fr 170px;gap:12px;padding:18px 20px}
.pv-inv label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--pv-muted)}
.pv-inv input{height:34px;padding:0 10px;border:1px solid var(--pv-line);border-radius:8px;background:var(--pv-bg);color:var(--pv-text);font:inherit;font-size:13px;font-weight:400}
.pv-inv input.bad{border-color:var(--pv-royal);box-shadow:0 0 0 3px color-mix(in srgb,var(--pv-royal) 20%,transparent)}
.pv-sel{position:relative;display:block;width:100%}
.pv-sel select{appearance:none;-webkit-appearance:none;width:100%;height:32px;padding:0 30px 0 10px;border:1px solid var(--pv-line);border-radius:7px;background:var(--pv-bg);color:var(--pv-text);font:inherit;font-size:12.5px;font-weight:500}
.pv-sel .ic{position:absolute;right:9px;top:50%;width:14px;height:14px;transform:translateY(-50%);color:var(--pv-muted);pointer-events:none}
/* settings */
.pv-s-body{padding-top:6px}
.pv-set{max-width:780px}
.pv-srow{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--pv-line2)}
.pv-srow b{display:block;font-size:13.5px;font-weight:600;color:var(--pv-text)}
.pv-srow small{display:block;max-width:470px;margin-top:2px;font-size:12px;color:var(--pv-muted)}
.pv-sval{font-size:13px;font-weight:500;color:var(--pv-body)}
.pv-sw{position:relative;width:38px;height:22px;border-radius:999px;background:var(--pv-ring);flex:none;transition:background-color .2s}
.pv-sw::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .25s cubic-bezier(.16,1,.3,1)}
.pv-sw[aria-checked="true"]{background:var(--pv-royal)}
.pv-sw[aria-checked="true"]::after{transform:translateX(16px)}
/* watchlist */
.pv-wt{gap:8px}
.pv-wnote{margin:10px 0 4px}
.pv-t tr.flash td{animation:pvFlash 1.4s ease}
/* analytics, laid out as in the Analytics wireframe */
.pv-an-body{padding-top:12px}
.pv-an2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pv-an3{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}
.pv-an2 .pv-bar{grid-template-columns:150px 1fr;margin:7px 0}
.pv-an3 .pv-bar{grid-template-columns:92px 1fr;margin:7px 0}
.pv-stk{margin:12px 0}
.pv-stk-l{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12.5px;color:var(--pv-body)}
.pv-stk-l em{font-style:normal;font-weight:600;color:var(--pv-text)}
.pv-stk-b{display:flex;height:14px;border-radius:4px;overflow:hidden;background:var(--pv-line2)}
.pv-stk-b i{display:block;height:100%;width:0;transition:width 1s cubic-bezier(.16,1,.3,1)}
.pv-stk-b .w,.pv-leg .w,.pv-colb .w{background:color-mix(in srgb,var(--pv-royal) 22%,var(--pv-bg))}
.pv-stk-b .a,.pv-leg .a,.pv-colb .a{background:var(--pv-royal)}
.pv-leg{display:flex;gap:14px;margin-top:12px;font-size:12px;color:var(--pv-body)}
.pv-leg span{display:inline-flex;align-items:center;gap:6px}
.pv-leg i{width:10px;height:10px;border-radius:3px}
.pv-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end;height:200px;padding-top:6px}
.pv-colw{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;height:100%}
.pv-colv{text-align:center;font-size:12px;font-weight:600;color:var(--pv-text);font-variant-numeric:tabular-nums}
.pv-colb{display:flex;flex-direction:column;height:0;border-radius:5px 5px 2px 2px;overflow:hidden;transition:height 1s cubic-bezier(.16,1,.3,1)}
.pv-colb .a{flex:none}
.pv-colb .w{flex:1}
.pv-colm{text-align:center;font-size:11.5px;color:var(--pv-muted)}
.pv-pp td{padding:9px 10px}
.pv-ppv{font-weight:600;font-variant-numeric:tabular-nums}
.pv-ppv.pos{color:var(--pv-royal)}
.pv-ppv.neg{color:var(--pv-text)}
.pv-tests td{padding:10px}
.pv-mini{position:relative;padding-right:46px}
.pv-mini i{display:block;height:10px;width:0;border-radius:3px;background:var(--pv-royal);transition:width 1s cubic-bezier(.16,1,.3,1)}
.pv-mini em{position:absolute;right:0;top:50%;transform:translateY(-50%);font-style:normal;font-size:12px;font-weight:600;color:var(--pv-text)}
/* ProVote's own Appearance setting overrides the site theme inside the window */
.pv-host[data-pvtheme="dark"] .pv-frame{background:#0E1626}
.pv-host[data-pvtheme="dark"] .pv{--pv-bg:#0E1626;--pv-side:#0B1220;--pv-bar:#0A111E;--pv-line:#1F2A3D;--pv-line2:#182235;--pv-sep:#2A364C;--pv-text:#E8EDF6;--pv-body:#BCC6D8;--pv-muted:#8D99AF;--pv-faint:#66748B;--pv-hover:#142036;--pv-hover2:#1A2740;--pv-sel:#14264A;--pv-sel-line:#2E4C8F;--pv-chip:#1A2438;--pv-royal:#3D7BFF;--pv-royal-h:#5A8FFF;--pv-ink:#A9C2FF;--pv-flag:#34518F;--pv-ov:rgba(2,6,14,.55);--pv-mshadow:0 30px 80px -20px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.07);--pv-av:#2F6BFF;--pv-ring:#3A4760;--pv-wait:#111B2D;--pv-code:#060B14}
.pv-host[data-pvtheme="dark"] .pv .pl-l{display:none!important}
.pv-host[data-pvtheme="dark"] .pv .pl-d{display:block!important}
.pv-host[data-pvtheme="light"] .pv-frame{background:#fff}
html[data-theme="dark"] .pv-host[data-pvtheme="light"] .pv{--pv-bg:#fff;--pv-side:#F8FAFC;--pv-bar:#F1F3F7;--pv-line:#E6E9EF;--pv-line2:#EEF1F5;--pv-sep:#D5DAE3;--pv-text:#0F172A;--pv-body:#334155;--pv-muted:#64748B;--pv-faint:#94A3B8;--pv-hover:#F5F7FA;--pv-hover2:#EEF1F5;--pv-sel:#EEF3FE;--pv-sel-line:#BCCCF6;--pv-chip:#F1F5F9;--pv-royal:#004BE5;--pv-royal-h:#0040C4;--pv-ink:#052B72;--pv-flag:#C7D3F3;--pv-ov:rgba(15,23,42,.2);--pv-mshadow:0 30px 70px -20px rgba(15,23,42,.45),0 0 0 1px rgba(15,23,42,.06);--pv-av:#052B72;--pv-ring:#CBD5E1;--pv-wait:#FAFBFC;--pv-code:#0B1324}
html[data-theme="dark"] .pv-host[data-pvtheme="light"] .pv .pl-l{display:block!important}
html[data-theme="dark"] .pv-host[data-pvtheme="light"] .pv .pl-d{display:none!important}
/* keep the caption block the same height in every state, so taking over never shifts the window under the pointer */
.pv-cap-hint{display:flex;visibility:hidden}
.pv-host.playing .pv-cap-hint{visibility:visible}
/* ================= v6 ================= */
/* Coming soon: a solid pill that reads on white, tinted and dark backgrounds */
.soon{color:#fff;background:#004BE5;box-shadow:none}
.soon::before{background:#fff}
html[data-theme="dark"] .soon{background:#2F6BFF}
/* buttons: Solid stays the default, five alternatives */
html[data-btn="depth"] .btn--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--btn) 84%,#fff),var(--btn) 55%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.2),0 1px 2px rgba(5,20,60,.25),0 6px 14px -6px rgba(5,20,60,.4)}
html[data-btn="depth"] .btn--primary:hover{filter:brightness(1.07)}
html[data-btn="depth"] .btn--ghost{box-shadow:inset 0 0 0 1px var(--line),inset 0 -1px 0 var(--line),0 1px 2px rgba(5,20,60,.08)}
html[data-btn="gradient"] .btn--primary{background:linear-gradient(120deg,#2C6BFF 0%,#004BE5 45%,#052B72 100%);background-size:180% 100%;background-position:0 0;transition:background-position .6s var(--ease-out),transform .3s var(--ease-out)}
html[data-btn="gradient"] .btn--primary:hover{background-position:100% 0}
html[data-btn="chip"] .btn--primary{padding-right:6px}
html[data-btn="chip"] .btn--primary .btn-arr{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:12px;border-radius:calc(var(--r2) - 2px);background:#fff;color:var(--btn);transition:transform .3s var(--ease-out)}
html[data-btn="chip"] .btn--lg.btn--primary .btn-arr{width:40px;height:40px}
html[data-btn="chip"] .btn--primary .btn-arr .ic{width:16px;height:16px}
html[data-btn="chip"] .btn--primary:hover .btn-arr{transform:translateX(3px)}
html[data-btn="ring"] .btn--primary,html[data-btn="ring"] .btn--ghost{transition:box-shadow .3s var(--ease-out),background-color .2s,color .2s}
html[data-btn="ring"] .btn--primary:hover{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--btn)}
html[data-btn="ring"] .btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--btn),0 0 0 4px color-mix(in srgb,var(--btn) 16%,transparent)}
html[data-btn="fill"] .btn--primary{background:var(--card);color:var(--btn);box-shadow:inset 0 0 0 1.5px var(--btn);overflow:hidden;isolation:isolate}
html[data-btn="fill"] .btn--primary .btn-fx{display:block;position:absolute;inset:0;padding:0;border-radius:0;-webkit-mask:none;mask:none;opacity:1;animation:none;background:var(--btn);transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease-out);z-index:-1}
html[data-btn="fill"] .btn--primary:hover{color:#fff;background:var(--card)}
html[data-btn="fill"] .btn--primary:hover .btn-fx{transform:scaleX(1)}
.dz-bp-depth{background:linear-gradient(180deg,#3B78FF,#004BE5 55%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 8px -4px rgba(5,20,60,.5)}
.dz-bp-gradient{background:linear-gradient(120deg,#2C6BFF,#004BE5 45%,#052B72) 0 0/180% 100%}
.dz-btns button:hover .dz-bp-gradient{background-position:100% 0}
.dz-bp-chip{padding-right:3px!important}
.dz-bp-chip::after{content:"\2192";display:inline-grid;place-items:center;width:20px;height:20px;margin-left:6px;border-radius:5px;background:#fff;color:#004BE5;font-size:11px;transition:transform .25s}
.dz-btns button:hover .dz-bp-chip::after{transform:translateX(2px)}
.dz-btns button:hover .dz-bp-ring{box-shadow:0 0 0 2px #fff,0 0 0 4px #004BE5}
.dz-bp-fill{background:linear-gradient(90deg,#004BE5 50%,#fff 50%) 100% 0/200% 100%;color:#004BE5;box-shadow:inset 0 0 0 1.5px #004BE5;transition:background-position .4s,color .3s}
.dz-btns button:hover .dz-bp-fill{background-position:0 0;color:#fff}
.dz-link{margin-top:8px;font-size:12px;font-weight:600;color:#004BE5;text-decoration:underline;text-underline-offset:3px}
/* demo: an indicator inside the window instead of captions and step labels */
.pv-hint,.pv-cap{display:none!important}
.pv-ind{position:absolute;z-index:15;top:calc(var(--s,1) * 28px);right:calc(var(--s,1) * 116px);transform:translateY(-50%);display:flex;align-items:center;gap:8px;height:34px;padding:0 6px 0 6px;border-radius:999px;background:#0B1630;color:#fff;font:500 12.5px/1 var(--f-sans);white-space:nowrap;box-shadow:0 10px 26px -12px rgba(5,20,60,.6),0 0 0 1px rgba(255,255,255,.08);pointer-events:none;transition:opacity .3s}
.pv-ind-t{padding-right:8px}
.pv-ind-ring{position:relative;display:grid;place-items:center;width:24px;height:24px;flex:none}
.pv-ind-ring svg{position:absolute;inset:0;width:24px;height:24px;transform:rotate(-90deg)}
.pv-ind-ring circle{fill:none;stroke-width:2.2}
.pv-ind-ring .trk{stroke:rgba(255,255,255,.2)}
.pv-ind-ring .arc{stroke:#7EA6FF;stroke-linecap:round;stroke-dasharray:50.27;stroke-dashoffset:50.27}
.pv-ind-ring .ic{width:12px;height:12px}
.pv-ind[data-state="play"] .pv-ind-ring .ic{animation:indTap 1.8s ease-in-out infinite}
@keyframes indTap{0%,60%,100%{transform:none}30%{transform:translate(1px,1px) scale(.88)}}
.pv-ind-b{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:#fff;color:#0B1630;font:600 12px/1 var(--f-sans)}
.pv-ind-b .ic{width:13px;height:13px}
html[data-theme="dark"]:not([data-demo="light"]) .pv-ind{background:#fff;color:#0B1630;box-shadow:0 10px 26px -12px rgba(0,0,0,.7)}
html[data-theme="dark"]:not([data-demo="light"]) .pv-ind-ring .trk{stroke:rgba(11,22,48,.15)}
html[data-theme="dark"]:not([data-demo="light"]) .pv-ind-ring .arc{stroke:#004BE5}
html[data-theme="dark"]:not([data-demo="light"]) .pv-ind-b{background:#0B1630;color:#fff}
@media (max-width:700px){.pv-ind{top:8px;right:8px;transform:none;height:28px;font-size:11.5px;gap:6px}.pv-ind-ring,.pv-ind-ring svg{width:20px;height:20px}}
/* phone beside the desktop window, mirroring it */

/* homepage tiles hold still: fixed status lines */
.vz-st{height:16px}
.vz-st .ic{flex:none}
.vz-gen-st{height:20px;white-space:nowrap;overflow:hidden}
/* testimonials: only the row under the pointer stops, and only over a card */
.b-quotes:hover .b-mq{animation-play-state:running}
.b-mq:has(.b-q:hover){animation-play-state:paused}
/* compare policies: checks and dashes */
.cmp-t .yes{display:inline-grid;place-items:center}
.cmp-t .yes .ic{width:19px;height:19px;color:var(--accent)}
.cmp-t .no{display:inline-block;width:12px;height:2px;border-radius:2px;background:var(--muted);opacity:.65;vertical-align:middle}
/* one closing section: call to action, newsletter and photo together */
.cta2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.7fr);border:1px solid var(--line);border-radius:var(--r4);background:var(--card);overflow:hidden}
.cta2-main{padding:clamp(32px,5vw,64px)}
.cta2-main h2{font:var(--hw) clamp(38px,5vw,66px)/1.02 var(--f-head);letter-spacing:var(--hls);color:var(--text);padding-bottom:.04em}
.cta2-main>p{max-width:30em;margin:14px 0 26px;font:400 18px/1.55 var(--f-body);color:var(--muted)}
.cta2-news{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:12px 28px;align-items:start;margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.cta2-news b{display:block;font:600 16px/1.3 var(--f-sans);color:var(--text)}
.cta2-news>div>span{display:block;margin-top:4px;font:400 14px/1.45 var(--f-body);color:var(--muted)}
.cta2-news .news-form input{height:46px}
.cta2-news .news-form .btn{height:46px}
.cta2-ph{border-radius:0;min-height:100%}
.cta2-ph img{object-position:50% 25%}
html.hide-news .cta2-news{display:none}
@media (max-width:980px){.cta2{grid-template-columns:1fr}.cta2-ph{display:none}.cta2-news{grid-template-columns:1fr}}
/* quick layout switcher beside the Design button on subpages */
#dz{display:flex;align-items:center;gap:8px}
.dz-quick{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 5px 0 14px;border-radius:999px;background:#fff;color:#0B1630;font:600 12.5px/1 'Inter',sans-serif;box-shadow:0 14px 34px -12px rgba(5,20,60,.35),inset 0 0 0 1px #E3E8F1}
.dz-qseg{display:flex;gap:2px;padding:3px;border-radius:999px;background:#F1F4F9}
.dz-qseg button{height:30px;padding:0 12px;border-radius:999px;font:500 12.5px/1 'Inter',sans-serif;color:#475569;transition:background-color .2s,color .2s}
.dz-qseg button[aria-pressed="true"]{background:#0B1630;color:#fff}
@media (max-width:700px){.dz-quick span{display:none}.dz-qseg button{padding:0 9px}}
/* assistant message box: plain and clear, no tinted block behind the placeholder */
.mcp-in{border:1px solid var(--m-line);box-shadow:0 1px 2px rgba(31,30,28,.06),0 8px 18px -12px rgba(31,30,28,.25)}
.mcp-in .mcp-ph{display:block;min-height:22px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:400 15px/1.45 var(--f-sans);color:var(--m-muted);background:none}
.mcp.typing .mcp-in .mcp-ph{color:var(--m-text)}
.mcp.typing .mcp-in .mcp-ph::after{content:"";display:inline-block;width:1.5px;height:1.05em;margin-left:1px;vertical-align:-2px;background:var(--m-text);animation:vzBlink 1s steps(1) infinite}
.mcp-in .mcp-snd{background:var(--m-line);color:var(--m-muted);transition:background-color .2s,color .2s}
.mcp.typing .mcp-in .mcp-snd{background:var(--m-acc);color:#fff}
/* spinner: a smooth tapered arc instead of a ring */
.pv-spin{border:0!important;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 22%,var(--pv-royal,#004BE5));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.4px),#000 calc(100% - 2.2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.4px),#000 calc(100% - 2.2px));animation:pvSpin .8s linear infinite}
.pv-prog{height:6px;border-radius:6px}
.pv-prog i{background:linear-gradient(90deg,var(--pv-royal),#5D90FF);transition:width .5s cubic-bezier(.16,1,.3,1)}

.b-mq:has(.b-q:hover){animation-play-state:running}
.b-quotes .b-mq.hold{animation-play-state:paused}
/* ================= v7 ================= */
/* Coming soon: the small footer style everywhere, no dot, no pulsing */
.soon::before{display:none}
.soon{height:20px;padding:0 8px;font-size:11px;letter-spacing:.01em}
.soon.sm{height:18px;padding:0 7px;font-size:10.5px}
/* MCP in the menu reads as upcoming: dashed icon box, small tag */
.dd-item.is-soon .dd-ic{background:transparent;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line))}
.dd-item.is-soon:hover .dd-ic{background:var(--solid)}
.mt{background:var(--card);border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--line))}
.mt-ic{background:transparent;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line))}
/* Insights menu: the three latest posts */
.dd-ins .dd-panel{left:calc(50% - 360px);width:720px;padding:14px}
.dd-ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dd-ins-card{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:var(--r2);transition:background-color .2s}
.dd-ins-card:hover{background:var(--surface)}
.dd-ins-img{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:calc(var(--r2) - 2px);background:var(--surface2)}
.dd-ins-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.dd-ins-card:hover .dd-ins-img img{transform:scale(1.04)}
.dd-ins-m{font:500 11.5px/1.3 var(--f-mono);color:var(--muted)}
.dd-ins-card b{display:block;font:600 14px/1.32 var(--f-sans);color:var(--text)}
.dd-ins-all{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:8px 8px 2px;padding-top:10px;border-top:1px solid var(--line);font:600 13.5px/1 var(--f-sans);color:var(--accent)}
.dd-ins-all .ic{width:15px;height:15px}
/* app tabs: no grey band; an underline slides to the open tab */
.pv-ctabs{position:relative;display:flex;align-items:flex-end;gap:22px;height:auto!important;padding:0!important;margin:0!important;background:transparent!important;border-bottom:0!important}
.pv-m .pv-ctabs{padding:0 22px!important}
.pv-ct{height:36px;padding:0 1px!important;border-radius:0!important;background:none!important;color:var(--pv-muted);font-weight:500}
.pv-ct:hover,.pv-ct.on{color:var(--pv-text)}
.pv-ct.on::before,.pv-ct.on::after,.pv-ct:not(.on):hover::after,.pv-ct+.pv-ct:not(.on):not(:hover)::before{content:none!important;display:none!important}
.pv-ct.ct-in{animation:none}
.pv-tab-ind{position:absolute;left:0;bottom:0;width:0;height:2px;border-radius:2px;background:var(--pv-royal);pointer-events:none;transition:transform .4s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1)}
html[data-motion="off"] .pv-tab-ind{transition:none}
/* FAQ: a highlight slides to the open question; no arrows on desktop */
@media (min-width:981px){
  .b-faq-list{position:relative;border-top:0}
  .b-faq-list .faq-i{border-bottom:0}
  .b-faq .faq-ch,.b-faq .faq-q::before{display:none}
  .b-faq .faq-q{position:relative;z-index:1;padding:14px 18px;border-radius:var(--r2);background:none!important}
  .b-faq .faq-q:hover{color:var(--text)}
  .b-faq .faq-i.open .faq-q{color:var(--accent);font-weight:600}
  .faq-hl{position:absolute;left:0;right:0;top:0;height:0;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 8%,var(--card));pointer-events:none;transition:transform .45s var(--ease-out),height .45s var(--ease-out)}
}
@media (max-width:980px){.faq-hl{display:none}}
/* N-PX tile: one status line at the top, no star, nothing below the code */
.vz-npx .vz-gen{display:grid;gap:6px;height:50px;align-content:center;padding-bottom:10px}
.vz-npx .vz-by{gap:8px;color:var(--text);font-weight:600}
.vz-npx .vz-by .ic{width:16px;height:16px;color:var(--accent)}
.vz-npx .vz-by .pv-spin{width:14px;height:14px}
.vz-npx .vz-code{height:194px}
/* live demo indicator: a dot and plain words */
.pv-ind{gap:8px;height:32px;padding:0 13px}
.pv-ind:has(.pv-ind-b:not([hidden])){padding-right:4px}
.pv-ind-dot{width:8px;height:8px;border-radius:50%;background:#5D90FF;flex:none}
.pv-ind[data-state="free"] .pv-ind-dot,.pv-ind[data-state="done"] .pv-ind-dot{background:#94A3B8}
.pv-ind-t{font-weight:600;padding-right:0}
.pv-ind-s{font-weight:400;color:rgba(255,255,255,.72)}
.pv-ind:not([data-state="play"]) .pv-ind-s{display:none}
html[data-theme="dark"]:not([data-demo="light"]) .pv-ind-s{color:rgba(11,22,48,.62)}
html[data-theme="dark"]:not([data-demo="light"]) .pv-ind-dot{background:#004BE5}
/* closing section: the newsletter as one tidy block under the buttons */
.cta2-news{display:block;margin-top:32px;padding:18px 20px 14px;border:0;border-radius:var(--r3);background:var(--surface)}
.cta2-news-h{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cta2-news-h .ic{width:20px;height:20px;color:var(--accent);flex:none}
.cta2-news-h b{display:block;font:600 15.5px/1.3 var(--f-sans);color:var(--text)}
.cta2-news-h span{display:block;margin-top:1px;font:400 13.5px/1.4 var(--f-body);color:var(--muted)}
.nf2{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--line);border-radius:calc(var(--r2) + 4px);background:var(--bg);transition:border-color .2s,box-shadow .2s}
.nf2:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.cta2-news .nf2 input{flex:1;min-width:0;height:40px;padding:0 10px;border:0;outline:0;background:transparent;font:400 15px/1 var(--f-sans);color:var(--text)}
.cta2-news .nf2 .btn{height:40px}
.cta2-news .news-note{margin-top:8px!important;padding-left:2px}
@media (max-width:640px){.nf2{flex-direction:column;align-items:stretch}.cta2-news .nf2 .btn{width:100%}}
/* Split: only the top is split; the rest of the page runs full width */
.lay-split .pg-top{padding:clamp(40px,5vw,72px) 0 clamp(28px,4vw,56px)}
.lay-split .pg-top .pg-split{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center;padding-top:0}
.lay-split .pg-top .pg-split.solo{grid-template-columns:minmax(0,1fr)}
.lay-split .pg-top .pg-main{min-width:0;padding:0}
.lay-split .pg-rail-ph{margin-top:24px;aspect-ratio:16/9}
.pg-split-ph{aspect-ratio:16/10}
.lay-split .pg-flow .plan{display:flex}
.lay-split .pg-flow .plan ul{grid-column:auto;grid-row:auto;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:18px}
@media (min-width:1081px){
  .lay-split .pg-flow .fx-grid{grid-template-columns:repeat(3,1fr)}
  .lay-split .pg-flow .fx-grid.n4{grid-template-columns:repeat(4,1fr)}
  .lay-split .pg-flow .fx-grid.n2{grid-template-columns:repeat(2,1fr)}
  .lay-split .pg-flow .pol-grid,.lay-split .pg-flow .pr-grid,.lay-split .pg-flow .qt-grid,.lay-split .pg-flow .plans{grid-template-columns:repeat(3,1fr)}
  .lay-split .pg-flow .sp-split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
}
@media (max-width:1080px){.lay-split .pg-top .pg-split{grid-template-columns:1fr}}
/* policy photo collage */
.collage{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:repeat(6,1fr);gap:10px;aspect-ratio:1/.9}
.collage .cg{margin:0;overflow:hidden;border-radius:var(--r3);background:var(--surface2)}
.collage .cg img{display:block;width:100%;height:100%;object-fit:cover}
.collage .cg1{grid-column:1;grid-row:1/5}
.collage .cg2{grid-column:2;grid-row:1/4}
.collage .cg3{grid-column:2;grid-row:4/7}
.collage .cg4{grid-column:1;grid-row:5/7}
.collage.strip{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr;aspect-ratio:auto;height:clamp(200px,24vw,340px)}
.collage.strip .cg{grid-column:auto;grid-row:auto}
.collage.strip .cg:nth-child(even){transform:translateY(18px)}
/* compare: checks in a blue circle, quiet dashes */
.cmp-t .yes .ic{width:20px;height:20px;color:var(--accent)}
.cmp-t .no{width:10px;height:2px;opacity:.45}
/* documents: the whole row opens the PDF, View appears on hover */
.dt-t tbody tr[data-href]{cursor:pointer}
.dt-t tbody tr[data-href] td{transition:background-color .15s}
.dt-t tbody tr[data-href]:hover td{background:var(--surface)}
.doc-v a{opacity:0;transition:opacity .2s}
.dt-t tbody tr:hover .doc-v a,.doc-v a:focus-visible{opacity:1}
@media (hover:none){.doc-v a{opacity:1}}
/* calendar: a way out if Calendly is slow */
.book-slow{margin-top:6px;font:400 13.5px/1.4 var(--f-sans);color:var(--muted)}
.book-slow a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.book-load{text-align:center}
/* gradient buttons: the colour drifts while hovered */
html[data-btn="gradient"] .btn--primary{background:linear-gradient(110deg,#052B72 0%,#004BE5 30%,#3D7BFF 50%,#004BE5 70%,#052B72 100%);background-size:260% 100%;background-position:12% 0;box-shadow:0 8px 20px -12px rgba(0,75,229,.75),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background-position .6s var(--ease-out)}
html[data-btn="gradient"] .btn--primary:hover{background-position:88% 0;transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(0,75,229,.85),inset 0 1px 0 rgba(255,255,255,.22);animation:gradDrift 2.8s ease-in-out .6s infinite alternate}
html[data-btn="gradient"] .btn--primary:active{transform:none}
@keyframes gradDrift{from{background-position:88% 0}to{background-position:30% 0}}
html[data-motion="off"] .btn--primary:hover{animation:none}
.dz-bp-gradient{background:linear-gradient(110deg,#052B72,#004BE5 30%,#3D7BFF 50%,#004BE5 70%,#052B72) 12% 0/260% 100%}
.dz-btns button:hover .dz-bp-gradient{background-position:88% 0}
/* keep screen-reader labels inside their scroll box, and let large flow diagrams fit a phone */
.cmp-scroll{position:relative}
@media (max-width:720px){
  .vz-flow.lg{min-height:260px;grid-template-columns:auto minmax(14px,1fr) auto minmax(14px,1fr) auto}
  .vz-flow.lg .vz-node{max-width:96px;padding:6px 8px;font-size:11.5px;line-height:1.25;white-space:normal}
  .vz-flow.lg .vz-hub{width:84px;height:56px}
  .vz-flow.lg .vz-hub img{width:64px}
  .vz-flow.lg .fl-col{gap:12px}
}
/* ================= v8 ================= */
/* assistant: send sits at the far right of the message box; the box never changes height */
.mcp-in .mcp-snd{margin-left:auto}
.mcp-in{height:100px;flex:none;box-sizing:border-box}
.mcp-in .mcp-ph{height:22px;line-height:22px}
.mcp.typing .mcp-in .mcp-ph::after{height:16px;vertical-align:middle}
.mcp-body{min-height:0}
/* gradient buttons: the same idea, quieter */
html[data-btn="gradient"] .btn--primary{background:linear-gradient(110deg,#0B3FBF 0%,#004BE5 35%,#2462F0 50%,#004BE5 65%,#0B3FBF 100%);background-size:200% 100%;background-position:20% 0;box-shadow:0 6px 16px -10px rgba(0,75,229,.6),inset 0 1px 0 rgba(255,255,255,.14);transition:background-position .9s var(--ease-out),box-shadow .4s var(--ease-out)}
html[data-btn="gradient"] .btn--primary:hover{background-position:62% 0;transform:none;box-shadow:0 8px 20px -10px rgba(0,75,229,.7),inset 0 1px 0 rgba(255,255,255,.16);animation:gradDrift 5s ease-in-out .9s infinite alternate}
@keyframes gradDrift{from{background-position:62% 0}to{background-position:38% 0}}
.dz-bp-gradient{background:linear-gradient(110deg,#0B3FBF,#004BE5 35%,#2462F0 50%,#004BE5 65%,#0B3FBF) 20% 0/200% 100%}
.dz-btns button:hover .dz-bp-gradient{background-position:62% 0}
/* compare policies: checks and dashes centred in their columns */
.cmp-t td{text-align:center}
.cmp-t thead th:not(:first-child){text-align:center}
/* policy collage: show the tops of heads */
.collage .cg2 img{object-position:50% 30%}
.collage .cg3 img{object-position:50% 12%}
.collage .cg4 img{object-position:50% 6%}
/* dots on every page */
html:not(.is-home) #field{display:block}
/* services on the homepage arrive one at a time */
.b-tile{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform 1.1s var(--ease-out)}
.b-tile.in{opacity:1;transform:none}
html[data-motion="off"] .b-tile{opacity:1;transform:none;transition:none}
/* testimonials move under script control so each row can ease to a stop */
.b-mq{animation:none!important;will-change:transform}
/* full screen demo */
.pv-fs{pointer-events:auto;display:grid;place-items:center;width:24px;height:24px;margin-left:4px;border-radius:999px;color:inherit;background:rgba(255,255,255,.14);transition:background-color .2s}
.pv-fs:hover{background:rgba(255,255,255,.26)}
.pv-fs .ic{width:13px;height:13px}
.pv-ind:has(.pv-fs){padding-right:4px}
html[data-theme="dark"]:not([data-demo="light"]) .pv-fs{background:rgba(11,22,48,.08)}
html[data-theme="dark"]:not([data-demo="light"]) .pv-fs:hover{background:rgba(11,22,48,.16)}
.pv-host:fullscreen,.pv-host.pv-max{display:flex!important;align-items:center;justify-content:center;gap:32px;width:100vw;height:100vh;padding:3vh 3vw;box-sizing:border-box;background:var(--bg);overflow:hidden}
.pv-host.pv-max{position:fixed;inset:0;z-index:500}
.pv-host:fullscreen .pv-frame,.pv-host.pv-max .pv-frame{flex:none;width:min(94vw,calc(94vh * 1.647));transform:none!important;opacity:1!important;display:block!important}


/* FAQ answer panel stays put instead of sticking while the page scrolls */
.b-faq-panel{position:static}

/* nav: Book a meeting beside a Try now sign-up button in the right-hand corner */
.nav-act{gap:10px}
.nav .nav-book{height:38px;padding:0 14px;font-size:14px}
.nav .nav-try{height:38px;padding:0 16px;font-size:14px}
.su-lede{margin-bottom:18px;font:400 15px/1.55 var(--f-body);color:var(--muted)}
@media (max-width:1360px) and (min-width:1261px){.nav .nav-book{display:none}}
/* ================= v10 ================= */
/* Insights menu: a full-width "View all insights" row that is easy to see and hit */
.dd-ins-all{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 0;padding:13px 16px;border-top:0;border-radius:var(--r2);background:var(--surface);font:600 14px/1 var(--f-sans);color:var(--text);transition:background-color .2s,color .2s}
.dd-ins-all:hover{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}
.dd-ins-n{display:inline-flex;align-items:center;gap:8px;font:500 12.5px/1 var(--f-mono);color:var(--muted);transition:color .2s}
.dd-ins-all:hover .dd-ins-n{color:var(--accent)}
.dd-ins-all .ic{width:16px;height:16px;transition:transform .3s var(--ease-out)}
.dd-ins-all:hover .ic{transform:translateX(4px)}
/* contact modal tabs: short labels on narrow screens so nothing wraps */
.book-tabs .ts{display:none}
@media (max-width:520px){
  .book-tabs{display:grid;grid-template-columns:repeat(3,1fr);align-self:stretch}
  .book-tabs button{justify-content:center;padding:0 8px}
  .book-tabs .tl{display:none}
  .book-tabs .ts{display:inline}
  .book-hd{padding:18px 18px 14px}
  .msg-form{padding:22px 18px}
}
/* phones: more room at the edges, and buttons that line up */
@media (max-width:640px){
  .wrap{padding-inline:22px}
  .b-ctas,.pg-ctas{flex-direction:column;align-items:stretch;gap:10px}
  .b-ctas .btn,.pg-ctas .btn{width:100%;justify-content:center}
  .cta2-main{padding:28px 24px}
  .cta2-news{padding:16px}
  .job-act{width:100%}
  .job-act .btn{flex:1;justify-content:center}
  .plan{padding:24px 22px}
  .pv-ind-s{display:none}
  .pv-ind{gap:7px;padding:0 6px 0 11px}
  #dz{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:6px}
  .dz-btn{height:36px;padding:0 13px 0 11px;font-size:12.5px}
  .dz-quick{height:36px;padding:0 4px}
  .dz-qseg button{height:28px;padding:0 10px;font-size:12px}
}
.book-hd-t{flex:1}
.book-tabs button{white-space:nowrap}
@media (max-width:640px){
  .job-act{flex-direction:column;align-items:stretch}
  .job-act .btn{width:100%;flex:none}
}

/* make plain that the demos run on a dummy account */
.pv-demo-tag{display:inline-flex;align-items:center;flex:none;height:20px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--pv-royal,#004BE5) 12%,transparent);color:var(--pv-royal,#004BE5);font:600 11px/1 var(--f-sans);letter-spacing:.01em;white-space:nowrap}
.pv-side-foot .pv-demo-tag{margin-bottom:8px}
.pv-sval .pv-demo-tag{margin-left:8px;vertical-align:1px}
.pv-note-demo{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;margin-top:16px;font:400 13px/1.45 var(--f-sans);color:var(--muted);text-align:center}
.pv-note-demo .pv-demo-tag,.b-demo-note .pv-demo-tag{--pv-royal:var(--accent)}

.pv-host:fullscreen .pv-note-demo,.pv-host.pv-max .pv-note-demo{display:none}

.mcp-note{margin-top:10px;font:400 13px/1.45 var(--f-sans);color:var(--muted)}
.b-demo-note{display:flex;align-items:center;gap:10px;margin-top:14px;font:400 13px/1.45 var(--f-sans);color:var(--muted)}
/* ================= v12 ================= */
/* the desktop demo sits in a laptop, to match the phone beside it */
.pv-laptop{position:relative}
.pv-lid{position:relative;margin:0 4.5%;padding:clamp(7px,1.3%,15px) clamp(7px,1.3%,15px) clamp(9px,1.7%,19px);border-radius:clamp(12px,1.8%,22px) clamp(12px,1.8%,22px) 5px 5px;background:#0B1630;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.1)}
.pv-lid::before{content:"";position:absolute;left:50%;top:clamp(3px,.55%,7px);width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#26324A}
.pv-lid .pv-frame{border-radius:4px;box-shadow:none}
.pv-base{position:relative;height:clamp(10px,1.5vw,18px);border-radius:2px 2px 16px 16px/2px 2px 12px 12px;background:linear-gradient(180deg,#E3E8F0,#C4CCD9);box-shadow:0 26px 40px -24px rgba(5,20,60,.5)}
.pv-base::before{content:"";position:absolute;left:50%;top:0;width:15%;height:42%;transform:translateX(-50%);border-radius:0 0 9px 9px;background:#B2BBCA}
html[data-theme="dark"] .pv-lid{background:#141C2C;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12)}
html[data-theme="dark"] .pv-base{background:linear-gradient(180deg,#2B3448,#1A2131)}
html[data-theme="dark"] .pv-base::before{background:#121826}
.b-host .pv-frame{transform:none!important;opacity:1!important;transition:none}
.b-host .pv-laptop{transform:rotateX(9deg) translateY(26px) scale(.965);opacity:0;transition:transform 1.5s var(--ease-out),opacity 1s var(--ease)}
.b-hero.go .b-host .pv-laptop{transform:none;opacity:1}
@media (max-width:700px){.pv-lid{margin:0 2%}}
/* the indicator straddles the top edge of the screen: part of the demo, but outside it */
.pv-laptop>.pv-ind{top:0;left:50%;right:auto;transform:translate(-50%,-50%);z-index:16;box-shadow:0 10px 26px -10px rgba(5,20,60,.55),0 0 0 3px var(--bg)}
@media (max-width:700px){.pv-laptop>.pv-ind{top:0;left:50%;right:auto;transform:translate(-50%,-50%);height:28px}}
/* full screen: just the screen, no laptop body */
.pv-host:fullscreen .pv-laptop,.pv-host.pv-max .pv-laptop{flex:none;width:min(94vw,calc(94vh * 1.647));transform:none!important;opacity:1!important}

.pv-host:fullscreen .pv-lid,.pv-host.pv-max .pv-lid{margin:0;padding:0;background:none;box-shadow:none;border-radius:0}
.pv-host:fullscreen .pv-lid::before,.pv-host.pv-max .pv-lid::before{display:none}
.pv-host:fullscreen .pv-base,.pv-host.pv-max .pv-base{display:none}
.pv-host:fullscreen .pv-frame,.pv-host.pv-max .pv-frame{width:100%!important;border-radius:10px}
/* homepage services: separate cards on the page background, revealed one by one */
.b-bento-grid{gap:16px;background:none;border:0;border-radius:0;overflow:visible}
.b-tile{border:1px solid var(--line);border-radius:var(--r3);background:var(--card)!important;box-shadow:0 1px 2px rgba(10,20,40,.04),0 18px 40px -32px rgba(10,20,40,.25)}
.b-tile,.b-tile>h3,.b-tile>p,.b-tile .viz{opacity:0;transform:translateY(24px)}
.b-tile{transition:opacity .9s var(--ease),transform 1.1s var(--ease-out)}
.b-tile>h3,.b-tile>p,.b-tile .viz{transform:translateY(10px);transition:opacity .7s var(--ease),transform .9s var(--ease-out)}
.b-tile.in,.b-tile.in>h3,.b-tile.in>p,.b-tile.in .viz{opacity:1;transform:none}
.b-tile.in>h3{transition-delay:.12s}
.b-tile.in>p{transition-delay:.24s}
.b-tile.in .viz{transition-delay:.38s}
html[data-motion="off"] .b-tile,html[data-motion="off"] .b-tile>*{opacity:1!important;transform:none!important;transition:none!important}
/* roadmap: features in a vertical list, each with its own icon */
.rm-list{display:grid;border-top:1px solid var(--line)}
.rm-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;padding:18px 4px;border-bottom:1px solid var(--line)}
.rm-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r2);border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}
.rm-ic .ic{width:20px;height:20px}
.rm-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.rm-h b{font:600 16.5px/1.3 var(--f-sans);color:var(--text)}
.rm-h .soon{margin-left:0}
.rm-tx p{margin-top:4px;font:400 14.5px/1.55 var(--f-body);color:var(--muted)}
/* page changes: no scroll animation, the new page simply appears */
#site>main{animation:pageIn .28s ease both}
@keyframes pageIn{from{opacity:0}}
html[data-motion="off"] #site>main{animation:none}
/* ================= v14 ================= */
/* full screen: centre the window and phone vertically */
.pv-host:fullscreen,.pv-host.pv-max{align-items:center!important}
/* meeting report: expanding fills the page area beside the sidebar, below the top bar, instead of an almost-full overlay */
.pv-m{left:100px;top:30px;transform:translateY(10px) scale(.985);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .25s ease,left .4s cubic-bezier(.16,1,.3,1),top .4s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),border-radius .4s ease}
.pv-mw.on .pv-m{transform:none;opacity:1}
.pv-mw{transition:opacity .25s ease,background-color .3s ease}
.pv-mw.big{background:transparent}
.pv-mw.big .pv-m{left:208px;top:56px;width:912px;height:624px;border-radius:0;box-shadow:-1px 0 0 var(--pv-line)}
/* vote confirmation receipt */
.pv-conf{margin-bottom:14px;padding:14px 16px 6px;border:1px solid var(--pv-sel-line);border-radius:10px;background:var(--pv-sel);animation:pvRow .45s cubic-bezier(.16,1,.3,1) both}
.pv-conf-h{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}
.pv-conf-h>div{flex:1;min-width:0}
.pv-conf-h b{display:block;font-size:14px;font-weight:600;color:var(--pv-text)}
.pv-conf-h small{display:block;margin-top:2px;font-size:12.5px;color:var(--pv-body)}
.pv-conf-ic{display:grid;place-items:center;color:var(--pv-royal)}
.pv-conf-ic .ic{width:22px;height:22px}
.pv-conf-t th,.pv-conf-t td{background:transparent!important;padding:7px 10px}
.pv-conf-t td{border-bottom:1px solid color-mix(in srgb,var(--pv-sel-line) 60%,transparent)}
.pv-conf-t tr:last-child td{border-bottom:0}

/* Votes tab: let the holding note wrap rather than cut off */
.pv-vh{flex-wrap:wrap;row-gap:8px}
.pv-vh .pv-note{white-space:normal;overflow:visible;text-overflow:clip}
/* ================= v15 ================= */
/* homepage services: one above the other, text and live example side by side, alternating */
.b-feats{display:grid;margin-top:12px}
.b-tile.b-feat{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(40px,5.5vw,72px) 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none!important;box-shadow:none;overflow:visible;opacity:1;transform:none;min-height:0}
.b-tile.b-feat:last-child{border-bottom:1px solid var(--line)}
.b-feat:nth-child(even) .b-feat-tx{order:2}
.b-feat-ic{display:grid;place-items:center;width:44px;height:44px;margin-bottom:20px;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.b-feat-ic .ic{width:22px;height:22px}
.b-feat h3{margin:0;font:600 clamp(24px,2.3vw,30px)/1.15 var(--f-head);letter-spacing:-.015em}
.b-feat h3 a{color:var(--text);text-decoration:none}
.b-feat .b-feat-tx>p{margin-top:12px;max-width:42ch;font:400 16.5px/1.6 var(--f-body);color:var(--muted)}
.b-feat .vz-int{margin-top:16px;display:grid;gap:8px;font:400 14.5px/1.5 var(--f-body);color:var(--muted)}
.b-feat .vz-int b{color:var(--text);font-weight:600;margin-right:6px}
.b-feat-more{display:inline-flex;align-items:center;gap:6px;margin-top:22px;font:600 15px var(--f-sans);color:var(--accent);text-decoration:none}
.b-feat-more .ic{width:16px;height:16px;transition:transform .3s var(--ease-out)}
.b-feat-more:hover .ic{transform:translateX(3px)}
.b-feat .viz{margin:0;padding:0;min-height:0;display:block}
.b-feat .vz-card{margin:0 auto;max-width:600px;border:1px solid var(--line)!important;border-radius:var(--r3)!important;background:var(--card);box-shadow:0 34px 70px -48px rgba(10,20,40,.4)}
.b-feat .b-feat-tx,.b-feat .viz{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform 1s var(--ease-out)}
.b-feat.in .b-feat-tx,.b-feat.in .viz{opacity:1;transform:none}
.b-feat.in .viz{transition-delay:.18s}
html[data-motion="off"] .b-feat .b-feat-tx,html[data-motion="off"] .b-feat .viz{opacity:1;transform:none;transition:none}
@media (max-width:860px){.b-tile.b-feat{grid-template-columns:1fr;gap:24px}.b-feat:nth-child(even) .b-feat-tx{order:0}}
/* N-PX card: a checklist, no file contents */
.vz-npx2 .vz-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:11px}
.vz-step{display:flex;align-items:center;gap:11px;font:500 14px/1.35 var(--f-sans);color:var(--muted);transition:color .3s}
.vz-si{display:grid;place-items:center;width:20px;height:20px;flex:none}
.vz-si>*{grid-area:1/1;transition:opacity .25s ease}
.vz-si i{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line)}
.vz-si .pv-spin,.vz-si svg{opacity:0}
.vz-si svg{width:20px;height:20px;color:var(--accent)}
.vz-step.act,.vz-step.done{color:var(--text)}
.vz-step.act .pv-spin,.vz-step.done svg{opacity:1}
.vz-step.act i,.vz-step.done i{opacity:0}
.vz-npx-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font:500 13px var(--f-sans);color:var(--muted)}
.vz-npx-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:999px;background:var(--line);color:var(--muted);font:600 13px var(--f-sans);transition:background .4s,color .4s}
.vz-npx-btn .ic{width:15px;height:15px}
.vz-npx2.ready .vz-npx-btn{background:var(--accent);color:#fff}
/* recommendations: a justification line per policy */
.pv-just .pv-jr{display:grid;grid-template-columns:42px 76px minmax(0,1fr);gap:10px;align-items:baseline;padding:5px 0}
.pv-just .pv-jr p{margin:0;font-size:12.5px;line-height:1.5;color:var(--pv-body)}

/* Analytics page: one live demo per analysis */
.and{position:relative;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.and-list{position:relative;display:grid;gap:4px}
.and-i{position:relative;z-index:1;display:flex;gap:12px;align-items:flex-start;width:100%;padding:12px 14px;border:0;border-radius:var(--r2);background:none;text-align:left;cursor:pointer;color:var(--muted);transition:color .25s}
.and-i:hover,.and-i.on{color:var(--text)}
.and-ic{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent)}
.and-ic .ic{width:18px;height:18px}
.and-tx b{display:block;font:600 15px/1.3 var(--f-sans)}
.and-tx small{display:block;margin-top:2px;font:400 13px/1.4 var(--f-body);color:var(--muted)}
.and-hl{position:absolute;left:0;top:0;z-index:0;border:1px solid var(--line);border-radius:var(--r2);background:var(--card);box-shadow:0 8px 22px -14px rgba(10,20,40,.3);pointer-events:none;transition:transform .45s cubic-bezier(.16,1,.3,1),height .45s cubic-bezier(.16,1,.3,1),width .45s cubic-bezier(.16,1,.3,1)}
.and-panel{transition:opacity .16s ease}
.and-panel.sw{opacity:0}
.and-card{padding:clamp(18px,2.4vw,30px);border:1px solid var(--line);border-radius:var(--r3);background:var(--card);box-shadow:0 30px 60px -44px rgba(10,20,40,.35)}
.and-card h3{margin:0;font:600 20px/1.25 var(--f-sans);color:var(--text)}
.and-take{margin-top:6px;font:400 15.5px/1.5 var(--f-body);color:var(--muted)}
.and-viz{margin-top:18px}
.and-seg{display:inline-flex;gap:2px;margin-bottom:14px;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--text) 6%,transparent)}
.and-seg button{height:30px;padding:0 13px;border:0;border-radius:999px;background:none;font:500 13px var(--f-sans);color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.and-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(10,20,40,.14)}
.and-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px;font:500 12.5px var(--f-sans);color:var(--muted)}
.and-leg span{display:inline-flex;align-items:center;gap:6px}
.and-leg i{width:10px;height:10px;border-radius:50%;background:var(--accent)}
.and-leg i.pe{background:color-mix(in srgb,var(--accent) 30%,transparent)}
.and-leg i.ring{background:none;border:2px solid var(--and-navy)}
.and-leg .u{margin-left:auto}
.and{--and-navy:#052B72}
html[data-theme="dark"] .and{--and-navy:#9DB7F5}
.and-svg{display:block;width:100%;max-width:600px;height:auto;margin:0 auto;overflow:visible}
.and-svg .g{stroke:var(--line);stroke-width:1}
.and-svg .g.z{stroke:color-mix(in srgb,var(--text) 35%,transparent)}
.and-svg .ax{font:500 11px var(--f-sans);fill:var(--muted)}
.and-svg .ml{font:500 11.5px var(--f-sans);fill:var(--muted)}
.and-svg .ml.b{font-weight:600;fill:var(--text)}
.and-svg .md{stroke:var(--and-navy);stroke-width:1.2;stroke-dasharray:4 4;opacity:.7}
.and-svg .pe{fill:color-mix(in srgb,var(--accent) 28%,transparent);stroke:color-mix(in srgb,var(--accent) 60%,transparent);stroke-width:1;transition:fill .2s}
.and-svg .pe:hover{fill:color-mix(in srgb,var(--accent) 55%,transparent)}
.and-svg .me{fill:var(--accent);stroke:var(--card);stroke-width:2.5}
.and-svg .bc{fill:var(--accent)}
.and-svg .bp{fill:color-mix(in srgb,var(--accent) 26%,transparent)}
.and-svg .vl{font:600 11px var(--f-sans);fill:var(--text)}
.and-svg .vl.m{font-weight:500;fill:var(--muted)}
.and-svg .co{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.and-svg .mk{fill:none;stroke:var(--and-navy);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.and-svg .co-d{fill:var(--accent);stroke:var(--card);stroke-width:2}
.and-svg .mk-d{fill:var(--and-navy);stroke:var(--card);stroke-width:2}
.and-svg .co-t{fill:var(--accent)}
.and-svg .mk-t{fill:var(--and-navy)}
.and-bars{--lw:170px;--vw:64px;position:relative;display:grid;gap:10px;padding-top:24px}
.and-br{display:grid;grid-template-columns:var(--lw) minmax(0,1fr) var(--vw);align-items:center;font:500 13.5px var(--f-sans);color:var(--text)}
.and-bl{padding-right:12px}
.and-bt{position:relative;height:22px;border-radius:6px;background:color-mix(in srgb,var(--accent) 7%,transparent);overflow:hidden}
.and-bt i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:var(--accent);transform-origin:left;animation:andGrow .7s cubic-bezier(.16,1,.3,1) both}
.and-bv{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.and-avg{position:absolute;top:0;bottom:0;left:calc(var(--lw) + (100% - var(--lw) - var(--vw)) * var(--avg));border-left:1.5px dashed var(--and-navy);pointer-events:none}
.and-avg span{position:absolute;top:0;left:6px;white-space:nowrap;font:600 11.5px var(--f-sans);color:var(--and-navy)}
@keyframes andGrow{from{transform:scaleX(0)}}
.and-db{display:grid;gap:20px;margin-top:6px}
.and-dr{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:center}
.and-dl b{display:block;font:600 14px/1.3 var(--f-sans);color:var(--text)}
.and-dl small{font:400 12.5px var(--f-body);color:var(--muted)}
.and-dt{position:relative;height:50px;margin:0 24px}
.and-dt::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:var(--line)}
.and-dt .lnk{position:absolute;top:50%;height:4px;margin-top:-2px;border-radius:4px;background:color-mix(in srgb,var(--accent) 35%,transparent)}
.and-dt .pk,.and-dt .ck{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%}
.and-dt .pk{border:2.5px solid var(--and-navy);background:var(--card)}
.and-dt .ck{background:var(--accent);box-shadow:0 0 0 3px var(--card)}
.and-dt em{position:absolute;left:50%;transform:translateX(-50%);font:600 12px var(--f-sans);font-style:normal;white-space:nowrap}
.and-dt .ck em{bottom:calc(100% + 5px);color:var(--accent)}
.and-dt .pk em{top:calc(100% + 5px);color:var(--and-navy)}
.and-gl{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.and-g{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line)}
.and-gi{display:grid;place-items:center;color:var(--accent)}
.and-gi svg{width:18px;height:18px}
.and-g.flag .and-gi,.and-g.flag .and-gv{color:var(--and-navy)}
.and-g b{display:block;font:500 14px/1.35 var(--f-sans);color:var(--text)}
.and-g small{display:block;margin-top:2px;font:400 12.5px/1.4 var(--f-body);color:var(--muted)}
.and-gv{font:600 14px var(--f-sans);color:var(--text);white-space:nowrap}
.and-tw{overflow-x:auto}
.and-t{width:100%;min-width:520px;border-collapse:collapse;font:400 13.5px var(--f-sans)}
.and-t th{padding:8px 10px;text-align:left;font:600 12px var(--f-sans);color:var(--muted);border-bottom:1px solid var(--line)}
.and-t td{padding:10px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle}
.and-t .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.and-t td b{display:block;font-weight:600}
.and-t td small{display:block;color:var(--muted);font-size:12px}
.and-t td.hi{color:var(--accent);font-weight:600}
.and-t em{display:block;font:600 10.5px var(--f-sans);font-style:normal;color:var(--accent)}
.and-rb{display:flex;align-items:center;gap:8px}
.and-rb i{display:block;min-width:2px;height:10px;border-radius:5px;background:var(--accent);transform-origin:left;animation:andGrow .7s cubic-bezier(.16,1,.3,1) both}
.and-rb span{font:600 12.5px var(--f-sans);font-variant-numeric:tabular-nums;white-space:nowrap}
.and-tip{position:absolute;z-index:20;transform:translate(-50%,-100%);padding:5px 9px;border-radius:7px;background:#0B1630;color:#fff;font:500 12px var(--f-sans);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}
.and-tip.on{opacity:1}
.pg-andemos .b-demo-note{margin-top:16px}
@media (max-width:860px){
  .and{grid-template-columns:1fr}
  .and-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .and-list::-webkit-scrollbar{display:none}
  .and-i{flex:none;width:auto;align-items:center;padding:8px 12px}
  .and-tx small{display:none}
  .and-ic{width:28px;height:28px}
  .and-gl{grid-template-columns:1fr}
  .and-dr{grid-template-columns:1fr;gap:4px}
  .and-bars{--lw:118px;--vw:54px}
}
@media (prefers-reduced-motion:reduce){.and-bt i,.and-rb i{animation:none}}
html[data-motion="off"] .and-bt i,html[data-motion="off"] .and-rb i{animation:none}

.b-feat .vz-r.ex .nm{white-space:normal;overflow:visible;text-overflow:clip}
.b-feat .vz-card{width:100%}

.b-feat .viz>.vz-card{width:100%!important;max-width:600px!important}
@media (min-width:861px){.b-tile.b-feat:nth-child(even){grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}}
/* ================= v16: several custodians and voting groups ================= */
.pv-acc tr.pv-grp td{padding-top:9px;padding-bottom:9px;background:var(--pv-hover,#F5F7FA)}
.pv-acc tr.pv-grp b{margin-right:8px;font-size:12.5px;font-weight:600;color:var(--pv-text)}
.pv-acc tr.pv-grp small{font-size:11.5px;color:var(--pv-muted)}
.pv-grps{display:grid;gap:10px}
.pv-grpc{padding:12px 14px;border:1px solid var(--pv-line);border-radius:10px;transition:background .6s}
.pv-grpc.flash{animation:pvGrpIn 1.6s ease}
@keyframes pvGrpIn{0%{background:var(--pv-sel)}100%{background:transparent}}
.pv-grpc-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-bottom:9px}
.pv-grpc-h b{font-size:13.5px;font-weight:600;color:var(--pv-text)}
.pv-grpc-h small{font-size:12px;color:var(--pv-muted)}
.pv-grpc-a{display:flex;flex-wrap:wrap;gap:6px}
.pv-chip2{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:999px;background:var(--pv-sel);font-size:12px;color:var(--pv-muted)}
.pv-chip2 b{font-weight:500;color:var(--pv-text)}
.pv-inv .pv-gpick{display:grid;gap:2px}
.pv-gpick>span{margin-bottom:4px;font-size:12px;font-weight:600;color:var(--pv-muted)}
.pv-inv .pv-gck{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer}
.pv-inv .pv-gck:hover{background:var(--pv-hover,#F5F7FA)}
.pv-gck input{width:15px;height:15px;margin:0;accent-color:var(--pv-royal)}
.pv-gck b{font-size:13px;font-weight:500;color:var(--pv-text)}
.pv-gck small{font-size:12px;color:var(--pv-muted)}
.pv-gpick.bad{border-radius:8px;box-shadow:0 0 0 1.5px #C0392B}

.vz-r.ex .nm small{display:block;margin-top:1px;font-size:11.5px;font-weight:400;color:var(--muted)}
/* ================= v17 ================= */
:root{--and-navy:#052B72}
html[data-theme="dark"]{--and-navy:#9DB7F5}
/* example cards used outside the homepage tiles get a full border */
.vp-card,.vz-form,.vz-g2,.vz-an2{border-bottom:1px solid var(--line);border-radius:var(--r3)}
/* homepage guidance: two policies, their funds and the reason */
.vz-g2 .vz-pol{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r2);transition:border-color .45s,background-color .45s,box-shadow .45s}
.vz-g2 .vz-pol.hl{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--card));box-shadow:0 12px 26px -20px rgba(0,75,229,.55)}
.vz-pol-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vz-pol-h b{font:600 14px var(--f-sans);color:var(--text)}
.vz-funds{display:flex;align-items:center;gap:6px;margin-top:6px;font:500 12.5px/1.4 var(--f-sans);color:var(--text)}
.vz-funds .ic{width:14px;height:14px;flex:none;color:var(--muted)}
.vz-pol p{margin-top:6px;font:400 13.5px/1.5 var(--f-body);color:var(--muted)}
/* homepage analytics: three analyses taking turns */
.vz-an2{position:relative}
.vz-an2-tabs{display:flex;gap:2px;max-width:100%;width:max-content;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--text) 6%,transparent);overflow-x:auto;scrollbar-width:none}
.vz-an2-tabs::-webkit-scrollbar{display:none}
.vz-an2-tabs button{position:relative;height:30px;padding:0 12px;border:0;border-radius:999px;background:none;font:500 12.5px var(--f-sans);color:var(--muted);white-space:nowrap;cursor:pointer;overflow:hidden;transition:background .2s,color .2s}
.vz-an2-tabs button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(10,20,40,.14)}
.vz-an2-tabs button i{position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.vz-an2-tabs button.on i{transform:scaleX(var(--p,0))}
.vz-an2.manual .vz-an2-tabs button i{display:none}
.vz-an2-take{margin-top:12px;font:500 14px/1.45 var(--f-sans);color:var(--text)}
.vz-an2-v{min-height:318px;margin-top:8px;transition:opacity .17s ease}
.vz-an2-v.sw{opacity:0}
.vz-an2 .and-seg{display:none}
.vz-an2 .and-bars{margin-top:18px}
/* N-PX: the filing itself */
.vz-form{position:relative}
.vz-form.big{padding:clamp(18px,2.6vw,30px);box-shadow:0 40px 80px -56px rgba(10,20,40,.4);border-radius:var(--r3)}
.npxf-wrap{max-width:780px;margin:0 auto}
.vf-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vf-form{font:600 12px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.vf-stamp{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1.5px solid var(--accent);border-radius:6px;color:var(--accent);font:700 11px var(--f-sans);letter-spacing:.05em;text-transform:uppercase;opacity:0;transform:scale(1.5) rotate(-8deg);transition:opacity .25s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
.vf-stamp svg{width:14px;height:14px}
.vz-form.done .vf-stamp{opacity:1;transform:rotate(-3deg)}
.vf-t{margin-top:8px;font:600 16px/1.3 var(--f-sans);color:var(--text)}
.vz-form.big .vf-t{font-size:19px}
.vf-meta{display:flex;flex-wrap:wrap;gap:6px 26px;margin:12px 0 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.vf-meta dt{font:500 11px var(--f-sans);color:var(--muted)}
.vf-meta dd{margin:2px 0 0;font:600 12.5px var(--f-sans);color:var(--text)}
.vf-tb{width:100%;margin-top:4px;border-collapse:collapse;font:400 13px var(--f-sans)}
.vf-tb th{padding:9px 6px;text-align:left;font:600 11.5px var(--f-sans);color:var(--muted);border-bottom:1px solid var(--line)}
.vf-tb td{padding:8px 6px;border-bottom:1px solid var(--line);color:var(--text)}
.vf-tb .n{text-align:right;font-variant-numeric:tabular-nums;padding-right:18px}
.vf-tb th:nth-child(3),.vf-tb td:nth-child(3){width:40%}
.vf-tb tbody tr{opacity:.22;transition:opacity .35s ease}
.vf-tb tbody tr.in{opacity:1}
.vf-tb tfoot td{padding-top:10px;border-bottom:0;font-weight:600}
.vf-ag{display:flex;align-items:center;gap:8px}
.vf-ag i{display:block;flex:none;min-width:2px;height:8px;border-radius:4px;background:var(--accent);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.vf-tb tbody tr:not(.in) .vf-ag i{transform:scaleX(0)}
.vf-ag b{font:600 12px var(--f-sans);font-variant-numeric:tabular-nums}
.vz-form.ready .vz-npx-btn{background:var(--accent);color:#fff}
/* Vote guidance: a full sample report */
.rp{position:relative;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);box-shadow:0 40px 80px -56px rgba(10,20,40,.4);overflow:hidden}
.rp-h{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:clamp(18px,2.6vw,30px) clamp(18px,2.6vw,32px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 3%,var(--card))}
.rp-k{font:600 11.5px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.rp-h h3{margin:6px 0 0;font:600 clamp(20px,2vw,25px)/1.2 var(--f-sans);letter-spacing:-.01em;color:var(--text)}
.rp-h p{margin-top:6px;font:400 14.5px/1.5 var(--f-body);color:var(--muted)}
.rp-chip{flex:none;height:24px;padding:0 10px;border:1px solid var(--line);border-radius:999px;font:600 11.5px/22px var(--f-sans);color:var(--muted);white-space:nowrap}
.rp-recs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.rp-rec{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:6px 10px;padding:14px clamp(18px,2.6vw,32px);border-right:1px solid var(--line)}
.rp-rec:last-child{border-right:0}
.rp-pol{font:600 13.5px var(--f-sans);color:var(--text)}
.rp-rec small{grid-column:1/-1;font:400 12.5px/1.4 var(--f-body);color:var(--muted)}
.rp-body{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.rp-just{padding:clamp(18px,2.6vw,32px);border-right:1px solid var(--line)}
.rp-just h4{margin:0 0 12px;font:600 12px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rp-just h4:not(:first-child){margin-top:26px}
.rp-just section+section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.rp-jh{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rp-jh b{font:600 15px var(--f-sans);color:var(--text)}
.rp-just p{font:400 15px/1.65 var(--f-body);color:var(--text)}
.rp-just p+p{margin-top:10px}
.rp-fig{margin:0;padding:clamp(16px,2.2vw,26px) clamp(16px,2.4vw,30px);border-bottom:1px solid var(--line)}
.rp-fig:last-child{border-bottom:0}
.rp-fig figcaption{margin-bottom:12px;font:500 13px/1.45 var(--f-sans);color:var(--muted)}
.rp-fig figcaption b{color:var(--text)}
.rp .and-seg{margin-bottom:10px}
@media (max-width:960px){.rp-body{grid-template-columns:1fr}.rp-just{border-right:0;border-bottom:1px solid var(--line)}.rp-recs{grid-template-columns:1fr}.rp-rec{border-right:0;border-bottom:1px solid var(--line)}.rp-rec:last-child{border-bottom:0}}
@media (max-width:560px){.rp-h{flex-direction:column}}
.pm{position:relative;padding-top:34px}
.pm-brace{position:absolute;top:8px;height:18px;border:1.5px solid var(--accent);border-bottom:0;border-radius:6px 6px 0 0}
.pm-brace span{position:absolute;left:50%;top:0;transform:translate(-50%,-55%);padding:0 8px;background:var(--card);font:600 12px var(--f-sans);color:var(--accent);white-space:nowrap}
.pm-bar{display:flex;height:40px;border-radius:8px;overflow:hidden}
.pm-bar i{display:grid;place-items:center;height:100%;font-style:normal}
.pm-bar i span{font:600 12px var(--f-sans);color:#fff}
.pm .n1{background:var(--and-navy)}
.pm .n2{background:color-mix(in srgb,var(--and-navy) 45%,var(--card))}
.pm .n3{background:color-mix(in srgb,var(--and-navy) 18%,var(--card))}
.pm .r1{background:var(--accent)}
.pm .r2{background:color-mix(in srgb,var(--accent) 52%,var(--card))}
.pm-bar i.n3 span{color:var(--text)}
.pm-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font:500 12.5px var(--f-sans);color:var(--muted)}
.pm-leg span{display:inline-flex;align-items:center;gap:6px}
.pm-leg i{width:10px;height:10px;border-radius:3px}
/* Vote execution: from ballot to confirmed vote */
.vpath{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,56px);align-items:center}
.vp-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.vp-i{display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px 14px;width:100%;padding:14px 16px;border:1px solid transparent;border-radius:var(--r2);background:none;text-align:left;color:var(--muted);cursor:pointer;transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s}
.vp-i:hover{color:var(--text)}
.vp-i.on{border-color:var(--line);background:var(--card);color:var(--text);box-shadow:0 10px 26px -20px rgba(10,20,40,.35)}
.vp-n{display:grid;place-items:center;width:30px;height:30px;border:1.5px solid var(--line);border-radius:50%;font:600 13px var(--f-sans);color:var(--muted);transition:background-color .3s,border-color .3s,color .3s}
.vp-i.on .vp-n,.vp-i.done .vp-n{border-color:var(--accent);background:var(--accent);color:#fff}
.vp-tx b{display:block;font:600 15.5px/1.3 var(--f-sans)}
.vp-tx small{display:block;margin-top:3px;font:400 13.5px/1.45 var(--f-body);color:var(--muted)}
.vp-bar{grid-column:2;height:2px;margin-top:8px;border-radius:2px;background:var(--line);overflow:hidden;opacity:0}
.vp-i.on .vp-bar{opacity:1}
.vp-bar i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--p,0))}
.vpath.manual .vp-bar{display:none}
.vp-card{width:100%;max-width:560px;margin:0 auto;padding:18px 20px 8px;box-shadow:0 34px 70px -48px rgba(10,20,40,.4);transition:opacity .15s ease}
.vp-card.sw{opacity:0}
.vp-r{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line);animation:vpIn .45s cubic-bezier(.16,1,.3,1) both}
.vp-r:nth-of-type(2){animation-delay:.07s}
.vp-r:nth-of-type(3){animation-delay:.14s}
@keyframes vpIn{from{opacity:0;transform:translateY(6px)}}
.vp-r .nm{font:500 13.5px var(--f-sans);color:var(--text)}
.vp-r .nm small{display:block;font-size:12px;color:var(--muted)}
.vp-st{display:inline-flex;align-items:center;gap:6px;font:500 12.5px var(--f-sans);color:var(--muted);white-space:nowrap}
.vp-st .ic,.vp-st svg{width:15px;height:15px}
.vp-st.ok{color:var(--accent)}
.vp-net{padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent) 9%,transparent);font:600 12px var(--f-sans);color:var(--accent)}
.vp-id{font:500 12px 'IBM Plex Mono',ui-monospace,monospace;color:var(--muted)}
.vpath{}@media (max-width:860px){.vpath{grid-template-columns:1fr}.vp-r{grid-template-columns:minmax(0,1fr) auto}.vp-r .vp-net,.vp-r .vp-id{display:none}}
/* accounts, custodians and voting groups */
.gm{position:relative;padding:clamp(18px,2.6vw,30px);border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.gm-cols{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,8vw,120px)}
.gm-col{display:grid;align-content:center;gap:8px}
.gm-h{margin-bottom:4px;font:600 12px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gm-n{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card);font:500 13.5px/1.3 var(--f-sans);color:var(--muted);opacity:.55;transition:opacity .35s,border-color .35s,color .35s,box-shadow .35s}
.gm-n .ic{width:16px;height:16px;flex:none}
.gm-a{display:block}
.gm-a small{display:block;font-size:11.5px;color:var(--muted)}
.gm-n.hot,.gm-g.on{opacity:1;color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:0 8px 20px -16px rgba(0,75,229,.6)}
.gm-g{width:100%;text-align:left;cursor:pointer;opacity:.7}
.gm-g:hover{opacity:1}
.gm-g.on{background:color-mix(in srgb,var(--accent) 7%,var(--card))}
.gm-g.on .ic{color:var(--accent)}
.gm-svg{position:absolute;left:0;top:0;z-index:0;pointer-events:none;overflow:visible}
.gm-svg path{fill:none;stroke:var(--line);stroke-width:1.5;transition:stroke .35s}
.gm-svg path.hot{stroke:var(--accent);stroke-width:2}
.gm-cap{position:relative;z-index:1;margin-top:18px;font:400 14.5px/1.5 var(--f-body);color:var(--muted)}
.gm-cap b{color:var(--text);font-weight:600}
@media (max-width:760px){.gm-cols{grid-template-columns:1fr 1fr;gap:14px}.gm-col:first-child{display:none}.gm-svg{display:none}}
/* override: one proposal, one choice */
.ov2-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:center}
.ov2{padding:clamp(18px,2.4vw,26px);border:1px solid var(--line);border-radius:var(--r3);background:var(--card);box-shadow:0 34px 70px -48px rgba(10,20,40,.4);transition:border-color .3s}
.ov2.over{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.ov2-h b{display:block;font:600 15px var(--f-sans);color:var(--text)}
.ov2-h small{display:block;margin-top:3px;font:400 13px/1.45 var(--f-body);color:var(--muted)}
.ov2-row{display:grid;grid-template-columns:150px auto minmax(0,1fr);gap:8px 12px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.ov2-l{font:500 13px var(--f-sans);color:var(--muted)}
.ov2-row small{font:400 12.5px var(--f-body);color:var(--muted)}
.ov2-seg{display:inline-flex;grid-column:2/-1;justify-self:start;gap:2px;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--text) 6%,transparent)}
.ov2-seg button{height:32px;padding:0 16px;border:0;border-radius:999px;background:none;font:600 13px var(--f-sans);color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.ov2-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(10,20,40,.14)}
.ov2.over .ov2-seg button.on{background:var(--accent);color:#fff}
.ov2-st{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 10px;align-items:start;margin-top:16px;padding:12px 14px;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 6%,transparent);font:400 13.5px/1.5 var(--f-body);color:var(--text)}
.ov2-ic{display:grid;place-items:center;color:var(--accent)}
.ov2-ic svg,.ov2-ic .ic{width:18px;height:18px}
.ov2-back{grid-column:2;justify-self:start;margin-top:4px;padding:0;border:0;background:none;font:600 13px var(--f-sans);color:var(--accent);cursor:pointer}
.ov2-back:hover{text-decoration:underline}
@media (max-width:860px){.ov2-split{grid-template-columns:1fr}.ov2-row{grid-template-columns:1fr auto}.ov2-row small{grid-column:1/-1}.ov2-seg{grid-column:1/-1}}
/* newsletter: in the footer on every page */
.foot-news{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 32px;margin-bottom:clamp(32px,4vw,48px);padding-bottom:clamp(28px,3.5vw,40px);border-bottom:1px solid var(--line)}
.foot-news-tx{display:flex;align-items:flex-start;gap:12px}
.foot-news-tx>.ic{width:22px;height:22px;margin-top:2px;color:var(--accent);flex:none}
.foot-news-tx b{display:block;font:600 16px/1.3 var(--f-sans);color:var(--text)}
.foot-news-tx span{display:block;margin-top:2px;font:400 14px var(--f-body);color:var(--muted)}
.foot-news .news-form{display:flex;gap:8px;width:min(100%,440px)}
.foot-news .news-form input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--rbtn,10px);background:var(--card);font:400 15px var(--f-sans);color:var(--text)}
.foot-news .news-form .btn{flex:none}
.foot-news .news-note{flex-basis:100%;margin:0;text-align:right}
@media (max-width:640px){.foot-news .news-form{width:100%}.foot-news .news-note{text-align:left}}
/* the closing call to action no longer carries the newsletter */
.cta2-main .b-ctas{margin-top:4px}
/* Coming soon: one clean solid pill everywhere, menus included */
.soon{display:inline-flex!important;align-items:center;justify-content:center;flex:none;vertical-align:middle;line-height:1!important;font-weight:600!important;color:#fff!important;-webkit-text-fill-color:#fff;white-space:nowrap}
.dd-tx b .soon{margin-left:8px;position:relative;top:-1px}
/* policies: three across, then four */
@media (min-width:901px){
  .pol-grid,.lay-split .pol-grid,.lay-spot .pol-grid,.lay-split .pg-flow .pol-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  .pol-grid>.pol{grid-column:span 4}
  .pol-grid>.pol:nth-child(n+4){grid-column:span 3}
}
@media (min-width:641px) and (max-width:900px){.pol-grid>.pol:last-child{grid-column:1/-1}}
/* article bylines sit under the title */
.art-by{margin-top:14px;font:400 16px/1.4 var(--f-sans);color:var(--muted)}
.art-by b{font-weight:600;color:var(--text)}
/* keep wide content from stretching the stacked rows on phones */
.b-feats{grid-template-columns:minmax(0,1fr)}
.b-feat>*{min-width:0}
@media (max-width:860px){.b-tile.b-feat{grid-template-columns:minmax(0,1fr)}}
.vz-an2-tabs{width:fit-content}
@media (max-width:560px){
  .vz-an2-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:12px}
  .vz-an2-tabs button{height:auto;min-height:34px;padding:6px 6px;border-radius:9px;white-space:normal;line-height:1.2;font-size:12px}
  .vz-an2-tabs button i{left:8px;right:8px;bottom:2px}
}
.vz-form{overflow:hidden}
.vf-stamp{transform-origin:right center}
.soon{letter-spacing:0!important;font-kerning:normal}
/* menu on tablets and phones: opens under the header, which never moves */
.mnav{bottom:0;padding-top:20px}
.mnav-top{display:none!important}
html.menu-open .nav{z-index:80}
/* ================= v19: full screen is the desktop app alone, filling the screen ================= */
.pv-host:fullscreen,.pv-host.pv-max{display:block!important;width:100vw;height:100vh;padding:0!important;gap:0;background:var(--bg);overflow:hidden}

.pv-host:fullscreen .pv-laptop,.pv-host.pv-max .pv-laptop{position:absolute;inset:0;width:auto!important;transform:none!important;opacity:1!important}
.pv-host:fullscreen .pv-lid,.pv-host.pv-max .pv-lid{position:absolute;inset:0;margin:0;padding:0;border-radius:0;background:none;box-shadow:none}
.pv-host:fullscreen .pv-frame,.pv-host.pv-max .pv-frame{position:absolute;inset:0;width:100%!important;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.pv-host:fullscreen .pv-laptop>.pv-ind,.pv-host.pv-max .pv-laptop>.pv-ind{top:auto;bottom:22px;left:50%;right:auto;transform:translateX(-50%)}
/* tall or narrow screens keep the window's shape, centred */
@media (max-width:639px),(max-aspect-ratio:11/10){
  .pv-host:fullscreen .pv-frame,.pv-host.pv-max .pv-frame{inset:auto 0;top:50%;height:auto;aspect-ratio:1120/680;translate:0 -50%}
}
/* the meeting report centres in whatever space the app has, and expands to fill the page area */
.pv-m{left:calc(50% - 460px);top:calc(50% - 310px)}
.pv-mw.big .pv-m{left:208px;top:56px;width:calc(100% - 208px);height:calc(100% - 56px)}

/* ================= v20 ================= */
/* homepage example cards: a clear header for the proposal, then a table */
.vg-h{display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.vg-k{font:600 11px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.vg-h b{font:600 15px/1.35 var(--f-sans);color:var(--text)}
.vg-h small{font:400 12.5px/1.45 var(--f-sans);color:var(--muted)}
.vg-t{width:100%;margin-top:2px;border-collapse:collapse;font:400 13px var(--f-sans)}
.vg-t th{padding:9px 8px;text-align:left;font:600 11.5px var(--f-sans);color:var(--muted);border-bottom:1px solid var(--line)}
.vg-t td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text);transition:background-color .45s ease}
.vg-t tbody tr:last-child td{border-bottom:0}
.vg-t th:last-child,.vg-t td:last-child{text-align:right}
.vg-t td b{font-weight:600}
.vg-r.hl td{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.vg-a{display:block;font:500 13px/1.3 var(--f-sans);color:var(--text)}
.vg-a+.vg-a{margin-top:7px}
.vg-a small{display:block;font-size:11.5px;font-weight:400;color:var(--muted)}
.vg-why{margin-top:10px;padding:10px 12px;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 5%,transparent);transition:opacity .22s ease}
.vg-why.sw{opacity:0}
.vg-wl{display:block;margin-bottom:3px;font:600 11.5px var(--f-sans);color:var(--accent)}
.vg-why p{font:400 13px/1.5 var(--f-body);color:var(--text)}
.vx-t td.vx-p{font:600 12px var(--f-sans);color:var(--muted)}
.vx-t .vz-st{justify-content:flex-end}
/* N-PX: the filing builds, then Download for EDGAR gets clicked */
.vz-nx{position:relative}
.vz-nx .vz-steps{margin-top:14px}
.nx-prog{height:4px;margin-top:16px;border-radius:4px;background:var(--line);overflow:hidden}
.nx-prog i{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--np,0));transition:transform .7s cubic-bezier(.16,1,.3,1)}
.nx-st{font:500 13px var(--f-sans);color:var(--muted)}
.vz-nx.ready .nx-st{color:var(--accent)}
.vz-nx .nx-btn{transition:background-color .35s,color .35s,transform .15s,box-shadow .35s}
.vz-nx .nx-btn b{font-weight:600}
.vz-nx.ready .nx-btn{background:var(--accent);color:#fff;box-shadow:0 8px 20px -10px rgba(0,75,229,.7)}
.vz-nx.press .nx-btn{transform:scale(.95)}
.vz-nx.got .nx-btn{background:color-mix(in srgb,var(--accent) 14%,var(--card));color:var(--accent);box-shadow:none}
.nx-cur{position:absolute;right:70px;bottom:16px;z-index:3;width:22px;height:22px;opacity:0;transform:translate(90px,60px);pointer-events:none;transition:transform .9s cubic-bezier(.65,0,.35,1),opacity .3s ease}
.vz-nx.aim .nx-cur{opacity:1;transform:none}
.vz-nx.press .nx-cur{transform:scale(.86)}
.nx-cur svg{display:block;width:22px;height:22px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
.nx-cur .c-arrow path{fill:#0B1630;stroke:#fff;stroke-width:1.5}
/* analytics: a sliding selector that fills as it waits, and stacked layers so nothing moves */
.an-sel{position:relative;display:flex;gap:2px;width:fit-content;max-width:100%;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--text) 6%,transparent)}
.an-sel button{position:relative;z-index:1;height:32px;padding:0 14px;border:0;border-radius:999px;background:none;font:500 13px var(--f-sans);color:var(--muted);white-space:nowrap;cursor:pointer;transition:color .25s ease}
.an-sel button:hover,.an-sel button.on{color:var(--text)}
.an-pill{position:absolute;left:0;top:0;width:0;height:0;border-radius:999px;background:var(--card);box-shadow:0 1px 3px rgba(10,20,40,.14),0 4px 10px -6px rgba(10,20,40,.22);overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),width .45s cubic-bezier(.16,1,.3,1)}
.an-pill i{position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--accent);transform-origin:left;transform:scaleX(var(--p,0))}
.vz-an2.manual .an-pill i{display:none}
.an-stack{display:grid}
.an-stack>*{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.an-stack>.on{opacity:1;visibility:visible;transition:opacity .35s ease .05s,visibility 0s}
.an-takes{margin-top:14px}
.an-take{font:500 14px/1.45 var(--f-sans);color:var(--text)}
.an-layers{margin-top:8px}
.vz-an2 .and-seg{display:none}
.vz-an2 .and-bars{margin-top:14px}
@media (max-width:560px){
  .an-sel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:12px}
  .an-sel button{height:auto;min-height:36px;padding:6px;border-radius:9px;white-space:normal;line-height:1.2;font-size:12px}
  .an-pill{border-radius:9px}
}
/* sample report, on the ProVote research report layout */
.rp2{position:relative;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);box-shadow:0 40px 80px -56px rgba(10,20,40,.4);overflow:hidden}
.rp2-mast{padding:clamp(18px,2.6vw,30px) clamp(18px,2.6vw,32px) 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 3%,var(--card))}
.rp2-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rp2-logo img{display:block;width:auto;height:26px}
.rp2 .rp2-logo .pl-d{display:none!important}
html[data-theme="dark"] .rp2 .rp2-logo .pl-l{display:none!important}
html[data-theme="dark"] .rp2 .rp2-logo .pl-d{display:block!important}
.rp2-mr{text-align:right;font:400 12.5px/1.4 var(--f-sans);color:var(--muted)}
.rp2-mr b{display:block;font-weight:600;color:var(--text)}
.rp2-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:16px}
.rp2-title h3{margin:0;font:600 clamp(22px,2.2vw,28px)/1.15 var(--f-sans);letter-spacing:-.015em;color:var(--text)}
.rp2-sub{margin-top:4px;font:400 15px var(--f-body);color:var(--muted)}
.rp2-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px;margin:16px 0 0}
.rp2-facts dt{font:500 11.5px var(--f-sans);color:var(--muted)}
.rp2-facts dd{margin:2px 0 0;font:600 13.5px/1.4 var(--f-sans);color:var(--text)}
.rp2-facts .wide{grid-column:1/-1}
.rp2-facts small{font-weight:400;color:var(--muted)}
.rp2-tabs{position:relative;display:flex;gap:4px;padding:0 clamp(12px,2vw,24px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.rp2-tabs::-webkit-scrollbar{display:none}
.rp2-tabs button{flex:none;height:46px;padding:0 12px;border:0;background:none;font:500 14px var(--f-sans);color:var(--muted);white-space:nowrap;cursor:pointer;transition:color .2s}
.rp2-tabs button:hover,.rp2-tabs button.on{color:var(--text)}
.rp2-ul{position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:transform .4s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1)}
.rp2-body{padding:clamp(18px,2.6vw,30px) clamp(18px,2.6vw,32px);transition:opacity .14s ease}
.rp2-body.sw{opacity:0}
.rp2-lede{margin-bottom:14px;font:400 15.5px/1.55 var(--f-body);color:var(--text)}
.rp2-tw{overflow-x:auto}
.rp2-rt{width:100%;min-width:560px;border-collapse:collapse;font:400 14px var(--f-sans)}
.rp2-rt th{padding:10px;text-align:left;vertical-align:bottom;font:600 12.5px var(--f-sans);color:var(--muted);border-bottom:1px solid var(--line)}
.rp2-rt th small{display:block;margin-top:2px;font-size:11.5px;font-weight:400}
.rp2-rt td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.rp2-rt tbody tr{cursor:pointer;transition:background-color .2s}
.rp2-rt tbody tr:hover,.rp2-rt tbody tr:focus-visible{background:var(--hover);outline:none}
.rp2-rt tr.dv{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.rp2-n{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:50%;background:color-mix(in srgb,var(--text) 7%,transparent);font:600 12px var(--f-sans);color:var(--text);vertical-align:top}
.rp2-it{display:inline-block;max-width:calc(100% - 40px);font-weight:500;color:var(--text)}
.rp2-it small{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--muted)}
.rp2-it em{margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--accent);color:#fff;font:600 10.5px var(--f-sans);font-style:normal;white-space:nowrap}
.rp2 .bd{display:inline-block;padding:3px 8px;border-radius:5px;background:color-mix(in srgb,var(--text) 8%,transparent);font:700 10.5px var(--f-sans);letter-spacing:.04em;color:var(--text)}
.rp2-hint{display:flex;align-items:center;gap:6px;margin-top:12px;font:400 13px var(--f-sans);color:var(--muted)}
.rp2-hint .ic{width:14px;height:14px}
.rp2-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.rp2-chips button{height:32px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);font:500 13px var(--f-sans);color:var(--muted);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.rp2-chips button.on{border-color:var(--accent);background:var(--accent);color:#fff}
.rp2-item .ino{font:600 12px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.rp2-item h4{margin:4px 0 0;font:600 20px/1.25 var(--f-sans);color:var(--text)}
.rp2 .imeta{display:flex;flex-wrap:wrap;gap:8px 28px;margin:12px 0 0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rp2 .imeta dt{font:500 11.5px var(--f-sans);color:var(--muted)}
.rp2 .imeta dd{margin:3px 0 0;font:600 13.5px var(--f-sans);color:var(--text)}
.rp2-item>h5{margin:20px 0 8px;font:600 12px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rp2-p{font:400 15px/1.65 var(--f-body);color:var(--text)}
.rp2-p+.rp2-p{margin-top:10px}
.rp2 .ptab{width:100%;min-width:520px;border-collapse:collapse}
.rp2 .ptab th{padding:9px 10px;text-align:left;font:600 12px var(--f-sans);color:var(--muted);border-bottom:1px solid var(--line)}
.rp2 .ptab th:first-child{width:30%}
.rp2 .ptab th:nth-child(2){width:110px}
.rp2 .ptab td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.rp2 .ptab td.ppol b{display:block;font:600 14px var(--f-sans);color:var(--text)}
.rp2 .ptab td.ppol small{display:block;margin-top:2px;font:400 12px/1.4 var(--f-sans);color:var(--muted)}
.rp2 .ptab td.why{padding-left:16px;border-left:1px solid var(--line);font:400 14.5px/1.6 var(--f-body);color:var(--text)}
.rp2-exg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.rp2-ex{position:relative;margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--r2)}
.rp2-ex .exn{font:600 11.5px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.rp2-ex h5{margin:4px 0 0;font:600 15px/1.3 var(--f-sans);color:var(--text)}
.rp2-ex .exs{margin:2px 0 10px;font:400 12.5px var(--f-sans);color:var(--muted)}
.rp2-ex .exf{margin-top:8px;font:400 11.5px var(--f-sans);color:var(--muted)}
.rp2-ex .and-seg{margin-bottom:8px}
.rp2-kf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.rp2-kf div{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r2)}
.rp2-kf dt{font:500 12px var(--f-sans);color:var(--muted)}
.rp2-kf dd{margin:4px 0 0;font:600 18px var(--f-sans);color:var(--text)}
@media (max-width:860px){.rp2-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.rp2-exg{grid-template-columns:1fr}.rp2-kf{grid-template-columns:1fr 1fr}.rp2-title{flex-direction:column}}
/* pricing: included in every plan, and a full comparison */
.inc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.inc{display:grid;align-content:start;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card)}
.inc .ic{width:22px;height:22px;color:var(--accent)}
.inc b{font:600 15px/1.3 var(--f-sans);color:var(--text)}
.inc span{font:400 13.5px/1.45 var(--f-body);color:var(--muted)}
@media (max-width:1100px){.inc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.inc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.inc-grid{grid-template-columns:1fr}}
.pc-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.pc{width:100%;min-width:640px;border-collapse:collapse;font:400 14px var(--f-sans)}
.pc thead th{padding:18px 16px;text-align:left;vertical-align:bottom;border-bottom:1px solid var(--line)}
.pc thead th:first-child{width:34%}
.pc thead th b{display:block;font:600 16px var(--f-sans);color:var(--text)}
.pc thead th span{display:block;margin-top:4px;font:600 20px var(--f-sans);color:var(--text)}
.pc .hot{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.pc tbody th[scope="row"]{padding:11px 16px;text-align:left;font-weight:400;color:var(--text);border-bottom:1px solid var(--line)}
.pc tbody td{padding:11px 16px;border-bottom:1px solid var(--line)}
.pc .pc-g th{padding:18px 16px 8px;text-align:left;font:600 12px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.pc-y{display:inline-grid;place-items:center}
.pc-y svg{width:20px;height:20px;color:var(--accent)}
.pc-n{display:inline-block;width:12px;height:2px;border-radius:2px;background:var(--line);vertical-align:middle}
.pc-t{font:500 13.5px var(--f-sans);color:var(--text)}
.pc tfoot td{padding:16px}
/* policies: the Custom card reads as something you build */
.pol.pol--custom{border-style:dashed!important;border-color:color-mix(in srgb,var(--accent) 50%,var(--line))!important;background:color-mix(in srgb,var(--accent) 5%,var(--card))!important}
.pol--custom>.ic{color:var(--accent)}
.pol--custom .pol-go{font-weight:600;color:var(--accent)}
/* menus: a bridge over the gap between the menu label and its panel */
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
/* the execution example is a real table: its rows must not take the old card-row grid */
.vx-t tr.vz-r{display:table-row;padding:0;border:0;background:none;gap:0}
.vx-t tr.vz-r>td{vertical-align:middle}
.vx-t .vz-st{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
@media (max-width:560px){
  .vx-t th:nth-child(2),.vx-t td.vx-p{display:none}
  .vx-t .vz-st{white-space:normal;font-size:12px}
  .vg-t th,.vg-t td{padding-left:6px;padding-right:6px}
}
/* Try ProVote: a way in for people who already have access */
.su-login{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.su-login .su-login-btn{display:flex;justify-content:center;width:100%}
.su-login .su-login-btn b{margin-left:4px;font-weight:600;color:var(--accent)}
/* ================= v22 ================= */
/* guidance example: management first, then each policy with its accounts and a full reason */
.vg-t2 th:first-child{width:auto}
.vg-t2 th:last-child,.vg-t2 td:last-child{width:96px;text-align:right;vertical-align:top}
.vg-t2 tbody+tbody{border-top:1px solid var(--line)}
.vg-t2 td{border-bottom:0;padding-top:12px}
.vg-who{display:block;margin-bottom:5px;font:600 13.5px/1.3 var(--f-sans);color:var(--text)}
.vg-mg td{padding-bottom:12px}
.vg-mg .vg-a small{font-size:12px}
.vg-t2 .vg-r td{padding-bottom:6px}
.vg-j td{padding:0 8px 14px}
.vg-j .vg-wl{display:block;margin:2px 0 4px;font:600 11.5px var(--f-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}
.vg-j p{margin:0;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--accent) 55%,transparent);font:400 13.5px/1.55 var(--f-body);color:var(--text)}
.vz-g3 .bd{display:inline-block;padding:4px 8px;border-radius:5px;background:color-mix(in srgb,var(--text) 8%,transparent);font:700 10.5px/1 var(--f-sans);letter-spacing:.04em;color:var(--text)}
/* execution example: fixed columns so the ticks line up and nothing moves as votes go out */
.vx-t{table-layout:fixed}
.vx-t .c-pol{width:64px}
.vx-t .c-vote{width:92px}
.vx-t .c-st{width:166px}
.vx-t th:last-child,.vx-t td:last-child{text-align:left}
.vx-t .vz-st{justify-content:flex-start;white-space:nowrap}
.vx-t .vz-st svg,.vx-t .vz-st .ic{flex:none;width:15px;height:15px}
@media (max-width:560px){.vx-t .c-pol{width:0}.vx-t .c-vote{width:84px}.vx-t .c-st{width:136px}.vx-t .vz-st{font-size:11.5px;white-space:nowrap}}
/* N-PX example: one arrow cursor, landing on the button */
.nx-cur .c-hand{display:none!important}
.nx-cur{left:0;top:0;right:auto;bottom:auto;margin:-3px 0 0 -4px;transform:translate(48px,42px)}
.vz-nx.aim .nx-cur{transform:none}
.vz-nx.press .nx-cur{transform:scale(.86)}
.vz-nx .vz-npx-foot{margin-top:18px;padding-top:14px}
/* roadmap: the list sits level with the assistant window */
.sec-upcoming .rm-list{align-self:center}
/* homepage questions: the answer stays in view while you read down the list */
.b-faq-panel{position:sticky!important;top:104px;align-self:start}
/* Analytics page: the chart stays in view while you move down the list */
.and-panel{position:sticky;top:96px;align-self:start}
@media (max-width:860px){.and-panel{position:static}}
/* N-PX page: the steps, with the homepage example held in view beside them */
.nb2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.nb2-steps{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.nb2-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}
.nb2-n{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,transparent);font:600 14px var(--f-sans);color:var(--accent)}
.nb2-steps b{display:block;font:600 17px/1.3 var(--f-sans);color:var(--text)}
.nb2-steps p{margin-top:5px;font:400 15px/1.55 var(--f-body);color:var(--muted)}
.nb2-viz{position:sticky;top:104px}
.nb2-viz .vz-card{border:1px solid var(--line);border-radius:var(--r3);background:var(--card);padding:18px 20px 20px;box-shadow:0 34px 70px -48px rgba(10,20,40,.4)}
@media (max-width:860px){.nb2{grid-template-columns:1fr}.nb2-viz{position:static}}
/* sample report: Chrome tabs, as in the report draft: only the selected tab is drawn, flaring into the panel */
.ct{position:relative;display:flex;align-items:flex-end;padding:10px 20px 0;background:color-mix(in srgb,var(--accent) 3%,var(--card));overflow-x:auto;scrollbar-width:none}
.ct::-webkit-scrollbar{display:none}
.ct::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:0;height:1px;background:var(--line)}
.ct-t{position:relative;z-index:1;flex:none;display:flex;align-items:center;height:44px;padding:0 6px;border:1px solid transparent;border-bottom:0;border-radius:11px 11px 0 0;background:none;font:500 14px var(--f-sans);color:var(--muted);cursor:pointer}
.ct-l{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:8px;transition:background-color .15s,color .15s}
.ct-t:not(.on):hover .ct-l{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}
.ct-t.on{z-index:2;background:var(--card);border-color:var(--line);color:var(--text);font-weight:600}
.ct-t.on::before,.ct-t.on::after{content:"";position:absolute;bottom:0;width:11px;height:11px;pointer-events:none}
.ct-t.on::before{left:-11px;border-bottom-right-radius:11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:4px 4px 0 4px var(--card)}
.ct-t.on::after{right:-11px;border-bottom-left-radius:11px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:-4px 4px 0 4px var(--card)}
.ct-sep{position:absolute;left:-1px;top:14px;width:1px;height:18px;background:var(--line);transition:opacity .15s}
.ct-t:first-child .ct-sep,.ct-t.on .ct-sep,.ct-t.on+.ct-t .ct-sep,.ct-t:hover .ct-sep,.ct-t:hover+.ct-t .ct-sep{opacity:0}
.rp2-mast{border-bottom:0}
/* Recommendations: the table and a preview of the selected item */
.rp2-rv{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:22px;align-items:start}
.rp2-rt tbody tr.is-sel{background:color-mix(in srgb,var(--accent) 8%,transparent);box-shadow:inset 3px 0 0 var(--accent)}
.rp2-rt{min-width:520px}
.rp2-pv{padding:18px;border:1px solid var(--line);border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 2%,var(--card));transition:opacity .11s ease}
.rp2-pv.sw{opacity:0}
.rp2-pv .ino{font:600 11.5px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.rp2-pv h4{margin:4px 0 0;font:600 17px/1.3 var(--f-sans);color:var(--text)}
.rp2-pm{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;font:400 13px var(--f-sans);color:var(--muted)}
.rp2-pp{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.rp2-pph{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rp2-pph b{font:600 14px var(--f-sans);color:var(--text)}
.rp2-pp small{display:block;margin-top:2px;font:400 12px var(--f-sans);color:var(--muted)}
.rp2-pp p{margin-top:8px;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--accent) 55%,transparent);font:400 14px/1.6 var(--f-body);color:var(--text)}
.rp2-go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:0;border:0;background:none;font:600 13.5px var(--f-sans);color:var(--accent);cursor:pointer}
.rp2-go .ic{width:15px;height:15px;transition:transform .25s}
.rp2-go:hover .ic{transform:translateX(3px)}
.rp2-ex .exf{display:flex;flex-wrap:wrap;gap:4px 14px}
.rp2-ov .rp2-exg{margin-top:22px}
@media (max-width:960px){.rp2-rv{grid-template-columns:1fr}}
/* menus mark the page you are on */
.dd-item[aria-current="page"]{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.dd-item[aria-current="page"] .dd-tx b{color:var(--accent)}
.dd-item[aria-current="page"] .dd-ic{border-style:solid;border-color:transparent;background:var(--accent);color:#fff}
.dd-ins-card[aria-current="page"]{box-shadow:inset 0 0 0 1.5px var(--accent)}
.mnav .mi[aria-current="page"]{color:var(--accent);font-weight:600}
.mnav .mi[aria-current="page"] .ic{color:var(--accent)}
.sec-upcoming .b-soon>:last-child{align-self:center}
.vg-t2 .vg-j td,.vg-t2 .vg-j td:last-child{text-align:left;width:auto}
.rp2-rt th:nth-child(n+2),.rp2-rt td:nth-child(n+2){width:1%;white-space:nowrap}
.rp2-rt tbody tr.is-sel td{background:transparent}
/* ================= v23 ================= */
/* guidance example: compact table, one plain reason per row */
.vg-t4{table-layout:fixed}
.vg-t4 .c-who{width:40%}
.vg-t4 .c-v{width:96px}
.vg-t4 th:last-child,.vg-t4 td:last-child{text-align:left}
.vg-t4 td{vertical-align:top;padding-top:11px;padding-bottom:11px}
.vg-t4 td b{display:block;font:600 13.5px/1.3 var(--f-sans);color:var(--text)}
.vg-t4 td small{display:block;margin-top:3px;font:400 11.5px/1.4 var(--f-sans);color:var(--muted)}
.vg-t4 .vg-y{font:400 13px/1.45 var(--f-body);color:var(--text)}
.vg-t4 .vg-mg .vg-y{color:var(--muted)}
.vg-t4 .vz-p,.vg-t4 .bd{display:inline-block;margin-top:1px}
.vz-g4 .bd{padding:4px 8px;border-radius:5px;background:color-mix(in srgb,var(--text) 8%,transparent);font:700 10.5px/1 var(--f-sans);letter-spacing:.04em;color:var(--text)}
@media (max-width:560px){.vg-t4 .c-who{width:34%}.vg-t4 .c-v{width:84px}.vg-t4 td small{display:none}}
/* analytics example: plain tabs with a thin timer line under each */
.an-sel2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-bottom:2px}
.an-sel2 button{display:grid;gap:9px;padding:0;border:0;background:none;text-align:left;font:500 13px/1.3 var(--f-sans);color:var(--muted);cursor:pointer;transition:color .2s}
.an-sel2 button:hover{color:var(--text)}
.an-sel2 button.on{color:var(--text);font-weight:600}
.an-tk{display:block;height:2px;border-radius:2px;background:var(--line);overflow:hidden}
.an-tk b{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0)}
.an-sel2 button.on .an-tk b{transform:scaleX(var(--p,0))}
.vz-an2.manual .an-sel2 button.on .an-tk b{transform:scaleX(1)}
.vz-an2 .an-takes{margin-top:16px}
/* override example: text above, a table of accounts below */
.ov3-wrap{display:grid;gap:18px}
.ov3-tx{max-width:46em}
.ov3-tx p{margin-top:8px;font:400 16px/1.6 var(--f-body);color:var(--muted)}
.ov3{padding:18px 20px 10px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);box-shadow:0 34px 70px -48px rgba(10,20,40,.4)}
.ov3-tw{overflow-x:auto}
.ov3-t{table-layout:fixed;min-width:620px}
.ov3-t .c-rec{width:104px}
.ov3-t .c-you{width:236px}
.ov3-t .c-st{width:200px}
.ov3-t th:last-child,.ov3-t td:last-child{text-align:left}
.ov3-t tr.over td{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.ov3-seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--text) 6%,transparent)}
.ov3-seg button{height:28px;padding:0 12px;border:0;border-radius:999px;background:none;font:600 12.5px var(--f-sans);color:var(--muted);cursor:pointer;transition:background-color .2s,color .2s}
.ov3-seg button:hover{color:var(--text)}
.ov3-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(10,20,40,.14)}
.ov3-t tr.over .ov3-seg button.on{background:var(--accent);color:#fff}
.ov3-st{white-space:nowrap}
.ov3-s{display:inline-flex;align-items:center;gap:6px;font:500 12.5px var(--f-sans);color:var(--muted)}
.ov3-s svg,.ov3-s .ic{flex:none;width:15px;height:15px;color:var(--accent)}
.ov3-s.o{color:var(--accent);font-weight:600}
.ov3-undo{margin-left:10px;padding:0;border:0;background:none;font:600 12.5px var(--f-sans);color:var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* sample report, simplified: one table; a row opens its reasons; the other tabs are shown but inactive */
.ct-t.off{cursor:default;color:color-mix(in srgb,var(--muted) 70%,transparent)}
.ct-t.off:hover .ct-l{background:none!important;color:color-mix(in srgb,var(--muted) 70%,transparent)!important}
.ct-t.off:hover .ct-sep,.ct-t.off:hover+.ct-t .ct-sep{opacity:1}
.ct-t.on+.ct-t.off .ct-sep{opacity:0}
.rp3 th:nth-child(n+2):not(:last-child),.rp3 td:nth-child(n+2):not(:last-child){width:1%;white-space:nowrap;padding-right:22px}
.rp3 th:last-child{width:28px}
.rp3-r{cursor:pointer}
.rp3-r.open{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.rp3-r.open td{border-bottom-color:transparent}
.rp3-c{width:28px;text-align:right;color:var(--muted)}
.rp3-c .ic{width:16px;height:16px;transition:transform .25s ease}
.rp3-r.open .rp3-c .ic{transform:rotate(180deg)}
.rp3-x td{padding:0 10px 16px;background:color-mix(in srgb,var(--accent) 6%,transparent)}
.rp3-why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:4px 0 0 34px}
.rp3-wh{display:flex;align-items:center;gap:10px}
.rp3-wh b{font:600 13.5px var(--f-sans);color:var(--text)}
.rp3-why p{margin-top:6px;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--accent) 55%,transparent);font:400 14px/1.55 var(--f-body);color:var(--text)}
.rp2-note{margin-top:12px;font:400 13px/1.5 var(--f-sans);color:var(--muted)}
@media (max-width:760px){.rp3-why{grid-template-columns:1fr;padding-left:0}}
/* phone: centred labels in its switch and its vote button */

/* override table: never wider than the page; on phones each account stacks */
.ov3-wrap{grid-template-columns:minmax(0,1fr)}
.ov3{min-width:0}
@media (max-width:640px){
  .ov3-t{min-width:0;table-layout:auto}
  .ov3-t colgroup,.ov3-t thead{display:none}
  .ov3-t,.ov3-t tbody{display:block;width:100%}
  .ov3-t tr[data-ov3-row]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
  .ov3-t tr[data-ov3-row]:last-child{border-bottom:0}
  .ov3-t tr[data-ov3-row]>td{display:block;padding:0;border:0;background:none!important}
  .ov3-t tr[data-ov3-row]>td:nth-child(1){grid-column:1/-1}
  .ov3-t tr[data-ov3-row]>td:nth-child(3){justify-self:end}
  .ov3-t tr[data-ov3-row]>td:nth-child(4){grid-column:1/-1}
  .ov3-t tr.over{background:none}
}
.rp3 thead th.rp3-c{width:28px}

/* ================= v24 ================= */
/* no labels above headings: a heading that opens its block sits flush */
.pg-h1:first-child{margin-top:0}
.pg-kick .soon:first-child{margin-left:0}
.lay-spot .pg-flow>.pg-b.no-h{display:block}
.art-aside-h{margin:0 0 4px;font:600 15px/1.3 var(--f-sans);color:var(--text)}

/* homepage, vote guidance: the full report for one meeting under one policy */
.rep-t{table-layout:fixed}
.rep-t .c-m{width:108px}
.rep-t .c-e{width:96px}
.rep-t th:last-child,.rep-t td:last-child{text-align:left}
.rep-r{cursor:pointer}
.rep-r:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.rep-r.on td{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.rep-it{display:flex;align-items:flex-start;gap:10px}
.rep-n{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--text) 7%,transparent);font:600 11.5px/1 var(--f-sans);color:var(--text);transition:background-color .3s,color .3s}
.rep-r.on .rep-n{background:var(--accent);color:#fff}
.rep-tt{min-width:0;font:500 13px/1.35 var(--f-sans);color:var(--text)}
.rep-tt small{display:block;margin-top:2px;font:400 11.5px/1.3 var(--f-sans);color:var(--muted)}
.vz-rep .bd{display:inline-block;padding:4px 8px;border-radius:5px;background:color-mix(in srgb,var(--text) 8%,transparent);font:700 10.5px/1 var(--f-sans);letter-spacing:.04em;color:var(--text)}
.rep-why{min-height:66px;margin-top:2px;padding:12px 8px 0;border-top:1px solid var(--line);font:400 13px/1.5 var(--f-body);color:var(--text);transition:opacity .14s ease}
.rep-why.sw{opacity:0}
.rep-why b{display:block;margin-bottom:2px;font:600 12px var(--f-sans);color:var(--accent)}
@media (max-width:560px){.rep-t .c-m{width:92px}.rep-t .c-e{width:84px}.rep-tt small{display:none}}

/* homepage, vote execution: the week's voting records, each vote confirmed by the custodian, then processed */
.rec-t{table-layout:fixed}
.rec-t .c-dl{width:74px}
.rec-t .c-st{width:188px}
.rec-t th:last-child,.rec-t td:last-child{text-align:left}
.rec-dl{font:500 13px var(--f-sans);color:var(--text)}
.rec-st{display:inline-flex;align-items:center;gap:6px;font:500 12.5px var(--f-sans);color:var(--muted);white-space:nowrap;transition:color .3s}
.rec-st svg,.rec-st .ic{flex:none;width:15px;height:15px}
.rec-st.sent .ic{color:var(--faint,var(--muted))}
.rec-st.conf{color:var(--text)}
.rec-st.conf .ic{color:var(--accent)}
.rec-st.proc{color:var(--accent);font-weight:600}
.rec-sum{display:flex;align-items:center;gap:8px;margin-top:2px;padding:12px 8px 0;border-top:1px solid var(--line);font:500 13px/1.4 var(--f-sans);color:var(--muted);transition:color .3s}
.rec-sum svg,.rec-sum .ic{flex:none;width:16px;height:16px}
.rec-sum.all{color:var(--accent);font-weight:600}
@media (max-width:560px){.rec-t .c-dl{width:58px}.rec-t .c-st{width:112px}.rec-x{display:none}}

/* vote execution page, step 2: every proposal at the meeting, under each policy */
.vp-g{width:100%;margin-top:2px;border-collapse:collapse;font:400 13px var(--f-sans);animation:vpIn .45s cubic-bezier(.16,1,.3,1) both}
.vp-g th{padding:9px 0 9px 14px;text-align:left;vertical-align:bottom;font:600 12px/1.3 var(--f-sans);color:var(--muted);border-bottom:1px solid var(--line)}
.vp-g th small{display:block;font-weight:400;font-size:11.5px}
.vp-g td{padding:10px 0 10px 14px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text)}
.vp-g th:first-child,.vp-g td:first-child{padding-left:0}
.vp-g tbody tr:last-child td{border-bottom:0}
.vp-g th:not(:first-child),.vp-g td:not(:first-child){width:1%;white-space:nowrap}
.vp-gi{display:flex;align-items:center;gap:10px;font:500 13px/1.35 var(--f-sans)}

/* override: every proposal at the meeting, for the account picked */
.vg-h.ov3-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.ov3-h>div{display:grid;gap:3px;min-width:0}
.ov3-acct{flex:none;width:236px}
.ov3-it{display:flex;align-items:flex-start;gap:10px}
.ov3-t .vg-a small{margin-top:3px;padding-left:32px}
.ov3-foot{margin:4px 0 0;padding:12px 0 8px;border-top:1px solid var(--line);font:400 13px/1.5 var(--f-sans);color:var(--muted)}
@media (max-width:640px){.ov3-acct{width:100%}.ov3-t .vg-a small{padding-left:0}}

/* sample report: a link from a row's reasons to its full analysis */
.rp3-go{padding:2px 0 0 34px}
.rp3-go .rp2-go{margin-top:12px}
@media (max-width:760px){.rp3-go{padding-left:0}}

/* N-PX page: the panel beside the steps, worked through by a cursor */
.np-card{position:relative;min-height:336px;padding:18px 20px 20px;overflow:hidden}
.np-card.np-in>*:not(.np-cur){animation:vpIn .45s cubic-bezier(.16,1,.3,1) both}
.np-cur{position:absolute;left:0;top:0;z-index:5;width:22px;height:22px;margin:-3px 0 0 -4px;opacity:0;pointer-events:none;transition:transform .75s cubic-bezier(.65,0,.35,1),opacity .3s ease}
.np-cur.on{opacity:1}
.np-cur svg{display:block;width:22px;height:22px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));transition:transform .15s ease;transform-origin:30% 20%}
.np-cur .c-arrow path{fill:#0B1630;stroke:#fff;stroke-width:1.5}
.np-cur .c-hand{display:none!important}
.np-cur.press .c-arrow{transform:scale(.84)}
.np-list{display:grid;margin-top:4px}
.np-u{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.np-u[hidden]{display:none}
.np-u.np-new:not([hidden]),.np-u.np-f:not([hidden]){animation:vpIn .45s cubic-bezier(.16,1,.3,1) both}
.np-av{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);font:600 11.5px/1 var(--f-sans);color:var(--accent)}
.np-av .ic{width:16px;height:16px}
.np-fi{border-radius:var(--r2)}
.np-u .nm{min-width:0;font:500 13.5px/1.3 var(--f-sans);color:var(--text);overflow-wrap:anywhere}
.np-u .nm small{display:block;margin-top:1px;font:400 12px/1.35 var(--f-sans);color:var(--muted)}
.np-role{display:inline-flex;align-items:center;gap:6px;font:500 12.5px var(--f-sans);color:var(--muted);white-space:nowrap}
.np-role.on{color:var(--accent)}
.np-role svg,.np-role .ic{flex:none;width:15px;height:15px}
.np-role .pv-spin{width:14px;height:14px}
.np-inv{display:flex;gap:8px;margin-top:12px}
.np-field{flex:1;display:flex;align-items:center;min-width:0;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r2);background:var(--bg);font:400 13px var(--f-sans);color:var(--text);white-space:nowrap;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.np-field.foc{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.np-caret{display:none;flex:none;width:1.5px;height:16px;margin-left:1px;background:var(--accent);animation:npBlink 1s steps(1) infinite}
.np-field.foc .np-caret{display:block}
.np-field .np-ph{color:var(--muted)}
.np-field.foc .np-ph{display:none}
@keyframes npBlink{50%{opacity:0}}
.np-btn{display:inline-flex;align-items:center;gap:7px;flex:none;height:36px;padding:0 14px;border-radius:var(--r2);background:var(--accent);color:#fff;font:600 13px var(--f-sans);white-space:nowrap;transition:transform .15s,background-color .3s,color .3s}
.np-btn .ic{width:16px;height:16px}
.np-btn b{font-weight:600}
.np-btn.on{transform:scale(.95)}
.np-gen{margin:12px 0 6px}
.np-gen.busy{background:color-mix(in srgb,var(--accent) 65%,var(--card))}
.np-gen.ok,.np-sm.ok{background:color-mix(in srgb,var(--accent) 14%,var(--card));color:var(--accent)}
.np-sm{height:30px;padding:0 11px;font-size:12.5px}
.np-qs{display:grid;margin:4px 0 0}
.np-q{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.np-q dt{font:500 13px var(--f-sans);color:var(--muted)}
.np-q dd{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;height:34px;margin:0;padding:0 10px;border:1px solid var(--line);border-radius:var(--r2);background:var(--bg);font:500 13px var(--f-sans);color:var(--text);white-space:nowrap;overflow:hidden;transition:border-color .25s}
.np-q dd svg{flex:none;width:16px;height:16px;color:var(--accent);opacity:0;transition:opacity .25s}
.np-q .np-a{display:none;overflow:hidden;text-overflow:ellipsis}
.np-q .np-ph{font-weight:400;color:var(--muted)}
.np-q.done dd{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.np-q.done .np-a{display:block;animation:vpIn .35s cubic-bezier(.16,1,.3,1) both}
.np-q.done .np-ph{display:none}
.np-q.done dd svg{opacity:1}
.np-meter{display:flex;align-items:center;gap:12px;margin-top:14px;font:500 12.5px var(--f-sans);color:var(--muted);white-space:nowrap}
.np-bar{flex:1;height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.np-bar i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.np-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:92px;margin:6px 0 10px;border:1.5px dashed var(--line);border-radius:var(--r2);font:400 13px var(--f-sans);color:var(--muted);text-align:center;transition:border-color .25s,background-color .25s}
.np-drop .ic{width:20px;height:20px;color:var(--accent)}
.np-drop u{color:var(--accent);text-underline-offset:3px}
.np-drop.hot{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
.np-todo{display:grid;margin:4px 0 0;padding:0;list-style:none}
.np-todo li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:50px;padding:8px 0;border-top:1px solid var(--line);font:500 13.5px/1.4 var(--f-sans);color:var(--text)}
.np-ck{display:grid;place-items:center;width:20px;height:20px;border:1.5px solid var(--line);border-radius:6px;transition:border-color .2s}
.np-ck svg{width:20px;height:20px;color:var(--accent);opacity:0;transition:opacity .2s}
.np-todo li.done .np-ck{border-color:transparent}
.np-todo li.done .np-ck svg{opacity:1}
.np-todo li.done .np-tt{color:var(--muted)}
.np-end{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font:600 13.5px var(--f-sans);color:var(--accent);opacity:0;transition:opacity .4s}
.np-end svg{flex:none;width:18px;height:18px}
.np-end.on{opacity:1}
@media (max-width:860px){.np-card{min-height:0}}
@media (max-width:520px){.np-q{grid-template-columns:1fr;gap:6px}}
/* ================= v25 ================= */
/* sample report, Recommendations tab: each policy's call and its reason on one aligned row */
.rp2-it em{margin-left:8px;padding:0 0 0 8px;border-left:1px solid var(--line);border-radius:0;background:none;color:var(--accent);font:600 12px var(--f-sans);font-style:normal}
.rp2-rt tr.dv{background:none}
.rp3-r.open{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.rp3-x td{padding:0 10px 18px;background:color-mix(in srgb,var(--accent) 4%,transparent)}
.rp3-pol{margin-left:34px;border-top:1px solid var(--line)}
.rp3-pr{display:grid;grid-template-columns:minmax(0,200px) 96px minmax(0,1fr);gap:6px 18px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.rp3-ph b{display:block;font:600 14px/1.3 var(--f-sans);color:var(--text)}
.rp3-ph small{display:block;margin-top:3px;font:400 12px/1.4 var(--f-sans);color:var(--muted)}
.rp3-pv{padding-top:1px}
.rp3-pr p{font:400 14.5px/1.6 var(--f-body);color:var(--text)}
.rp3-pol .rp3-go{padding:0}
.rp3-pol .rp2-go{margin-top:14px}
@media (max-width:760px){.rp3-pol{margin-left:0}.rp3-pr{grid-template-columns:minmax(0,1fr) auto}.rp3-pr p{grid-column:1/-1}}

/* the phone beside the laptop, drawn as an iPhone: titanium edge, thin black bezel, Dynamic Island, side keys, home indicator */

/* nav: Careers and Credit ratings share a More menu */
.dd.dd-more .dd-panel{left:auto;right:-14px;width:310px;display:grid;grid-template-columns:1fr;gap:2px;padding:8px}
.dd-tx b .dd-ext{display:inline-block;width:13px;height:13px;margin-left:5px;vertical-align:-1px;color:var(--muted)}

/* customer stories */
.cs-list{display:grid}
.cs,.cs.pf-it{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(20px,4vw,64px);padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--line)}
.cs-seg{display:block;font:600 13.5px var(--f-sans);color:var(--accent)}
.cs h3{margin-top:8px;max-width:22em;font:600 clamp(20px,1.9vw,25px)/1.25 var(--f-head);letter-spacing:-.015em;color:var(--text)}
.cs-svc{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.cs-svc li{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border:1px solid var(--line);border-radius:999px;font:500 12.5px var(--f-sans);color:var(--body)}
.cs-svc .ic{width:14px;height:14px;color:var(--accent)}
.cs-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:22px 0 0}
.cs-kv dt{font:500 12px var(--f-sans);color:var(--muted)}
.cs-kv dd{margin:3px 0 0;font:600 14.5px/1.35 var(--f-sans);color:var(--text)}
.cs-body h4{font:600 13px var(--f-sans);color:var(--muted)}
.cs-body h4+p{margin-top:6px}
.cs-body p{max-width:40em;font:400 16.5px/1.65 var(--f-body);color:var(--text)}
.cs-body p+h4{margin-top:22px}
@media (max-width:860px){.cs,.cs.pf-it{grid-template-columns:minmax(0,1fr)}}
/* ================= v26 ================= */
/* homepage hero: one device at a time, switched below; the device turns on its vertical axis, with real thickness */
.b-host.with-switch{display:flex;flex-direction:column;justify-content:center;perspective:2400px}
.pv-dev{position:relative;width:100%;transform-style:preserve-3d}
.b-host.with-switch .pv-laptop,.b-host.with-switch .pv-lid{transform-style:preserve-3d}

.dev-edge{position:absolute;top:6%;bottom:6%;width:16px;border-radius:4px;pointer-events:none;background:linear-gradient(180deg,#2f3849,#4d576b 42%,#252d3c)}
.dev-edge.l{left:0;transform-origin:0 50%;transform:rotateY(90deg)}
.dev-edge.r{right:0;transform-origin:100% 50%;transform:rotateY(-90deg)}

/* homepage: two ways to work with Egan-Jones */
.b-paths-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,28px);margin-top:36px}
.b-path{padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.b-path-ic{display:grid;place-items:center;width:44px;height:44px;margin-bottom:18px;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.b-path-ic .ic{width:22px;height:22px}
.b-path h3{font:600 clamp(21px,2vw,26px)/1.2 var(--f-head);letter-spacing:-.015em;color:var(--text)}
.b-path>p{margin-top:8px;font:400 16px/1.6 var(--f-body);color:var(--muted)}
.b-path ul{display:grid;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.b-path li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;font:400 15px/1.5 var(--f-body);color:var(--text)}
.b-path li .ic{width:18px;height:18px;margin-top:2px;color:var(--accent)}
@media (max-width:760px){.b-paths-g{grid-template-columns:minmax(0,1fr)}}

/* feature grids: a Coming soon tag can sit beside a title */
.fx h3 .soon{vertical-align:2px}
/* ================= v27 ================= */
/* laptop: a smaller machine, with its keyboard deck reaching out toward the reader */
.b-host.with-switch[data-dev="laptop"] .pv-laptop{width:100%;max-width:900px;margin-inline:auto}
.b-host.with-switch .pv-base{height:auto;margin-top:-1px;border-radius:0;background:none;box-shadow:none}
.b-host.with-switch .pv-base::before{display:none}
.pv-deck{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 16px 14px rgba(5,20,60,.16))}
.pv-deck{--dk-a:#E9EDF3;--dk-b:#CCD3DE;--dk-kb:#BDC5D1;--dk-key:#283041;--dk-pad:#DAE0E8;--dk-padline:#B7BFCB;--dk-lip:#A8B1BF;--dk-hinge:#7C8696}
html[data-theme="dark"] .pv-deck{--dk-a:#343D50;--dk-b:#232B3B;--dk-kb:#1A2130;--dk-key:#0D1219;--dk-pad:#2B3445;--dk-padline:#3B4657;--dk-lip:#151B27;--dk-hinge:#0A0F17;filter:drop-shadow(0 16px 14px rgba(0,0,0,.4))}
.pv-deck .s1{stop-color:var(--dk-a)}
.pv-deck .s2{stop-color:var(--dk-b)}
.pv-deck .d-kb{fill:var(--dk-kb)}
.pv-deck .d-k{fill:var(--dk-key)}
.pv-deck .d-pad{fill:var(--dk-pad);stroke:var(--dk-padline);stroke-width:1.5;stroke-linejoin:round}
.pv-deck .d-lip{fill:var(--dk-lip)}
.pv-deck .d-hinge{fill:var(--dk-hinge)}

/* tablet: upright, with the app laid out for a portrait screen */

/* ================= v28 ================= */
/* laptop: the base looks as it did from the front, and is a real slab in depth, so on the turn it reaches out to the side */
.b-host.with-switch[data-dev="laptop"]{perspective-origin:50% calc(100% - 44px)}
.b-host.with-switch[data-dev="laptop"] .pv-laptop{max-width:960px}
.b-host.with-switch .pv-base{--dd:min(210px,22vw);position:relative;height:clamp(10px,1.5vw,18px);margin:0 4.5%;border-radius:0;background:none;box-shadow:none;transform-style:preserve-3d}
.b-host.with-switch .pv-base::before{display:none}
.d3-top,.d3-side,.d3-front{position:absolute;display:block;pointer-events:none}
.d3-top{left:0;right:0;top:0;height:var(--dd);transform-origin:50% 0;transform:rotateX(90deg);border-radius:0 0 12px 12px;background:linear-gradient(180deg,#C2CAD6,#DDE2EA)}
.d3-front{inset:0;transform:translateZ(var(--dd));border-radius:2px 2px 16px 16px/2px 2px 12px 12px;background:linear-gradient(180deg,#E3E8F0,#C4CCD9);box-shadow:0 26px 40px -24px rgba(5,20,60,.5)}
.d3-front::before{content:"";position:absolute;left:50%;top:0;width:15%;height:42%;transform:translateX(-50%);border-radius:0 0 9px 9px;background:#B2BBCA}
.d3-side{top:0;height:100%;width:var(--dd);background:linear-gradient(180deg,#CDD4DE,#A9B2BF)}
.d3-side.l{left:0;transform-origin:0 50%;transform:rotateY(-90deg)}
.d3-side.r{right:0;transform-origin:100% 50%;transform:rotateY(90deg)}
html[data-theme="dark"] .d3-top{background:linear-gradient(180deg,#1A2131,#2B3448)}
html[data-theme="dark"] .d3-front{background:linear-gradient(180deg,#2B3448,#1A2131);box-shadow:0 26px 40px -24px rgba(0,0,0,.7)}
html[data-theme="dark"] .d3-front::before{background:#121826}
html[data-theme="dark"] .d3-side{background:linear-gradient(180deg,#232B3B,#151B27)}

/* tablet: an iPad Pro, thin black bezel inside an aluminium edge, the screen's corners rounded to match */

/* tablet and phone: a fingertip in place of the pointer */

/* vote tokens as in ProVote: FOR light, AGAINST dark, ABSTAIN outlined; the board's call stays plain text */
.vz-p{display:inline-flex;align-items:center;justify-content:center;min-width:66px;height:22px;padding:0 8px;border-radius:6px;font:650 11px/1 var(--f-sans);letter-spacing:.045em;box-shadow:none}
.vz-p.for{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--body)}
.vz-p.against{background:#0F172A;color:#fff;box-shadow:none}
html[data-theme="dark"] .vz-p.against{background:#E8EDF6;color:#0F172A}
.vz-p.abstain{background:transparent;color:var(--body);box-shadow:inset 0 0 0 1px var(--muted)}
.bd,.rp2 .bd,.vz-rep .bd,.vz-g4 .bd,.vz-g3 .bd{display:inline-block;padding:0;border-radius:0;background:none;font:600 11px/1 var(--f-sans);letter-spacing:.045em;color:var(--muted)}
.vp-gn{flex:none;width:16px;color:var(--muted);font-variant-numeric:tabular-nums}

/* sample report, laid out like the ProVote client report */
.pvr-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,2.4vw,28px) 0}
.pvr-client{display:inline-flex;align-items:center;gap:10px;font:500 13px var(--f-sans);color:var(--body)}
.pvr-av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font:600 11.5px var(--f-sans)}
.pvr-head{padding:14px clamp(16px,2.4vw,28px) 16px}
.pvr-issuer{margin:0;font:700 clamp(18px,1.7vw,22px)/1.2 var(--f-sans);letter-spacing:-.012em;color:var(--text)}
.pvr-meta{display:flex;flex-wrap:wrap;row-gap:6px;margin:10px 0 0}
.pvr-meta div{display:flex;gap:7px;align-items:baseline;padding:0 16px;border-left:1px solid var(--line);font:400 12.5px var(--f-sans)}
.pvr-meta div:first-child{padding-left:0;border-left:0}
.pvr-meta dt{color:var(--muted)}
.pvr-meta dd{margin:0;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.pvr-panel{margin:0 clamp(10px,1.6vw,20px) clamp(10px,1.6vw,20px);border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.pvr-bar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:0 12px;padding:0 14px 0 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--text) 2%,var(--card))}
.pvr .ct{padding:8px 0 0;background:none}
.pvr .ct::after{display:none}
.pvr .ct-t.on{margin-bottom:-1px}
.pvr-tools{display:flex;align-items:center;gap:8px;padding:8px 0}
.pvr-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--card);font:500 12.5px var(--f-sans);color:var(--body);white-space:nowrap}
.pvr-btn .ic{width:15px;height:15px;color:var(--muted)}
.pvr-cnt{min-width:30px;text-align:center;border-radius:999px;background:color-mix(in srgb,var(--text) 7%,transparent);font:600 11px/18px var(--f-sans);color:var(--body)}
.pvr .rp2-body{padding:clamp(16px,2.2vw,26px) clamp(14px,2.2vw,28px)}
.pvr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:28px;align-items:start}
.pvr-mx{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.pvr-mx .c-n{width:34px}
.pvr-mx .c-e{width:236px}
.pvr-mx .c-g{width:124px}
.pvr-mx th{padding:0 10px 9px;text-align:left;border-bottom:1px solid var(--line);font:500 12px var(--f-sans);color:var(--muted)}
.pvr-mx td{padding:11px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);vertical-align:middle;transition:background-color .1s}
.pvr-row{cursor:pointer;outline:none}
.pvr-row:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.pvr-row.pick td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.pvr-row.pick td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.pvr-row:focus-visible td{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}
.pvr-mx td.n{color:var(--muted);font-variant-numeric:tabular-nums}
.pvr-mx td.it b{display:block;font:500 14px/1.35 var(--f-sans);color:var(--text)}
.pvr-mx td.it small{display:block;margin-top:2px;font:400 12px var(--f-sans);color:var(--muted)}
.pvr .prow{display:flex;align-items:center;gap:10px;min-height:26px}
.pvr .prow .pn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 12.5px var(--f-sans);color:var(--muted)}
.pvr .brow{margin-bottom:3px;padding-bottom:3px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.pvr .bdv{display:inline-block;min-width:66px;text-align:center;font:600 11px var(--f-sans);letter-spacing:.045em;color:var(--muted)}
.pvr-mx td.g{text-align:right;padding-right:6px}
.pvr .golink{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border-radius:6px;font:500 12.5px var(--f-sans);color:var(--accent);white-space:nowrap;opacity:0;cursor:pointer}
.pvr-row:hover .golink,.pvr-row.pick .golink,.pvr .golink:focus-visible{opacity:1}
.pvr .golink .ic{width:15px;height:15px}
.pvr-peek{padding-left:24px;border-left:1px solid var(--line)}
.pvr-peek .k{display:block;font:400 12.5px var(--f-sans);color:var(--muted)}
.pvr-peek h4{margin:4px 0 12px;font:650 16.5px/1.38 var(--f-sans);letter-spacing:-.005em;color:var(--text)}
.pvr .gl{display:flex;align-items:center;gap:10px;width:100%;padding:9px 4px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:none;text-align:left;font:400 13px var(--f-sans);color:var(--text);cursor:pointer}
.pvr .gl:hover{background:color-mix(in srgb,var(--text) 3%,transparent)}
.pvr .gl em{flex:none;width:14px;font-style:normal;color:var(--muted)}
.pvr .gl .gt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pvr .gl .gv{display:flex;flex:none;gap:4px}
.pvr .gl .gv .vz-p{min-width:0;padding:0 7px}
.pvr-hint{margin-top:12px;font:400 12.5px/1.5 var(--f-sans);color:var(--muted)}
.pvr-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;padding:0;border:0;background:none;font:500 12.5px var(--f-sans);color:var(--accent);cursor:pointer}
.pvr-back .ic{width:14px;height:14px}
.pvr-pp{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.pvr-pp p{margin-top:4px;font:400 13.5px/1.55 var(--f-body);color:var(--text)}
@media (max-width:960px){.pvr-grid{grid-template-columns:minmax(0,1fr)}.pvr-peek{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.pvr-mx .c-e{width:200px}}
@media (max-width:640px){.pvr-mx .c-g{width:0}.pvr .golink{display:none}.pvr-tools{display:none}.pvr-top{padding-top:12px}}
/* the turn tips the device forward a touch, so the base's deck shows as it swings out */
.d3-top,.d3-side,.d3-front{backface-visibility:hidden}
/* a fingertip lifts after each tap */

/* ================= v29: ProVote demo on the real client pages ================= */
.p2{--pv-ok:color-mix(in srgb,var(--pv-royal) 13%,transparent);--pv-tint:color-mix(in srgb,var(--pv-royal) 6%,transparent);--pv-mono:'IBM Plex Mono',ui-monospace,monospace}
.p2 button,.p2 [data-open],.p2 [data-rec],.p2 [data-fsel]{cursor:pointer}
.p2 button[disabled]{cursor:not-allowed}
.p2 input{font:inherit;color:var(--pv-text)}
.p2 .mono{font-family:var(--pv-mono)}
.p2 .num{font-variant-numeric:tabular-nums}
.p2 .pv-navs{display:grid;gap:2px}
.p2 .pv-ni span{flex:1;min-width:0;text-align:left}
.p2-soon{flex:none;font:600 9.5px/1 'Inter',sans-serif;font-style:normal;letter-spacing:.02em;color:var(--pv-royal);background:var(--pv-ok);padding:3px 6px;border-radius:999px}
.p2-main{display:flex;flex-direction:column;min-width:0;min-height:0}
.p2-head{flex:none;display:flex;align-items:center;gap:10px;min-height:62px;padding:12px 16px 12px 22px;border-bottom:1px solid var(--pv-line);background:var(--pv-bg)}
.p2-hl{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 11px}
.p2-hr{display:flex;align-items:center;gap:8px;flex:none}
.p2-hr:empty{display:none}
.p2-ht h1{font:600 19px/1.15 'Inter',system-ui,sans-serif;letter-spacing:-.012em;color:var(--pv-text);display:flex;align-items:center}
.p2-ht h1 .soon{margin-left:10px;height:20px;font-size:10.5px}
.p2-ht p{margin-top:2px;font-size:12px;color:var(--pv-muted);font-variant-numeric:tabular-nums}
.p2-av{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--pv-av);color:#fff!important;font:600 11.5px/1 'Inter',sans-serif;letter-spacing:.02em;margin-left:4px}
.p2-av:hover{box-shadow:0 0 0 3px var(--pv-ok)}
.p2-body{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 22px 26px;scrollbar-width:thin;scrollbar-color:var(--pv-ring) transparent}
.p2-body::-webkit-scrollbar{width:7px}
.p2-body::-webkit-scrollbar-thumb{background:var(--pv-ring);border-radius:7px}
/* header pieces on detail pages */
.p2-back{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px 0 6px;border:1px solid var(--pv-line);border-radius:6px;font-size:12px;color:var(--pv-muted)}
.p2-back:hover{background:var(--pv-hover);color:var(--pv-text)}
.p2-back .ic{width:14px;height:14px}
.ic.flip{transform:scaleX(-1)}
.p2-tk{font:600 12.5px/1 var(--pv-mono,'IBM Plex Mono',monospace);background:var(--pv-chip);color:var(--pv-text);padding:5px 8px;border-radius:5px}
.p2-co{font:600 16px/1.2 'Inter',sans-serif;color:var(--pv-text);letter-spacing:-.01em}
.p2-vr{width:1px;height:18px;background:var(--pv-line)}
.p2-hm{font-size:12px;color:var(--pv-muted);white-space:nowrap}
.p2-hm b{font-weight:500;color:var(--pv-text)}
/* buttons and fields */
.p2-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--pv-line);border-radius:7px;background:var(--pv-bg);font:500 12.5px/1 'Inter',sans-serif;color:var(--pv-text)!important;white-space:nowrap;transition:background-color .15s,border-color .15s}
.p2-btn:hover{background:var(--pv-hover)}
.p2-btn .ic{width:14px;height:14px}
.p2-btn.pri{background:var(--pv-royal);border-color:var(--pv-royal);color:#fff!important}
.p2-btn.pri:hover{background:var(--pv-royal-h,var(--pv-royal))}
.p2-btn.ghost{border-color:transparent;background:transparent;color:var(--pv-muted)!important}
.p2-btn.ghost:hover{background:var(--pv-hover);color:var(--pv-text)!important}
.p2-btn.sm{height:26px;padding:0 9px;font-size:12px}
.p2-btn.dark{background:var(--pv-text);border-color:var(--pv-text);color:var(--pv-bg)!important}
.p2-btn.dark.ok{background:var(--pv-royal);border-color:var(--pv-royal);color:#fff!important}
.p2-btn[disabled]{opacity:.45}
.p2-fbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px}
.p2-search{display:flex;align-items:center;gap:7px;width:232px;height:32px;padding:0 10px;border:1px solid var(--pv-line);border-radius:8px;background:var(--pv-bg);color:var(--pv-faint)}
.p2-search.wide{width:auto}
.p2-search .ic{width:15px;height:15px;flex:none}
.p2-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font-size:12.5px}
.p2-search input::placeholder{color:var(--pv-faint)}
.p2-search:focus-within{border-color:var(--pv-sel-line,var(--pv-royal));box-shadow:0 0 0 3px var(--pv-ok)}
.p2-fs{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 9px 0 10px;border:1px solid var(--pv-line);border-radius:7px;background:var(--pv-bg);font:400 12.5px/1 'Inter',sans-serif;color:var(--pv-text)!important;white-space:nowrap}
.p2-fs span{color:var(--pv-muted)}
.p2-fs b{font-weight:500}
.p2-fs .ic{width:14px;height:14px;color:var(--pv-faint)}
.p2-fs:hover{background:var(--pv-hover)}
.p2-fs.on{border-color:var(--pv-sel-line,var(--pv-royal));background:var(--pv-tint)}
.p2-fs.sm{height:26px;font-size:12px}
.p2-fs.p2-date input{width:84px;border:0;outline:0;background:none;font-size:12.5px}
.p2-clear{font-size:12.5px;font-weight:500;color:var(--pv-royal)!important;padding:0 6px}
.p2-yr{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--pv-muted)}
/* tables */
.p2-t{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.p2-t th{padding:0;background:var(--pv-bar);border-bottom:1px solid var(--pv-line);text-align:left;white-space:nowrap}
.p2-t th>span,.p2-t th>button{display:flex;align-items:center;gap:4px;width:100%;padding:8px 10px;font:600 10.5px/1.2 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-muted)}
.p2-t th.r>span{justify-content:flex-end}
.p2-t th.c>span{justify-content:center}
.p2-t th>button:hover{color:var(--pv-text)}
.p2-t th>button.on{color:var(--pv-text)}
.p2-t th>button .ic{width:12px;height:12px;transform:rotate(180deg)}
.p2-t th>button .ic.asc{transform:none}
.p2-t td{padding:9px 10px;border-bottom:1px solid var(--pv-line2);font-size:12.5px;line-height:1.35;color:var(--pv-body);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}
.p2-t td.r{text-align:right}
.p2-t td.c{text-align:center}
.p2-t .co b{font-weight:600;color:var(--pv-text)}
.p2-t .tk{font:600 12px var(--pv-mono);color:var(--pv-text);white-space:nowrap}
.p2-t .dt,.p2-t .ty{font-size:12px;color:var(--pv-muted);font-variant-numeric:tabular-nums}
.p2-t tr[data-open],.p2-t tr[data-rec]{cursor:pointer}
.p2-t tr[data-open]:hover td,.p2-t tr[data-rec]:hover td{background:var(--pv-hover)}
.p2-t tr[data-open]:hover .co b,.p2-t tr[data-rec]:hover .co b{color:var(--pv-royal)}
.p2-t td .ic{width:15px;height:15px;color:var(--pv-faint);vertical-align:middle}
.p2-t td small{display:block;font-size:11px;color:var(--pv-muted)}
.p2-empty td{padding:44px 10px!important;text-align:center}
.p2-empty td b{display:block;font-weight:500;color:var(--pv-text);font-size:13px}
.p2-empty td button{margin-top:4px;font-size:12.5px;color:var(--pv-royal)!important}
.p2 tr.pv-in td{animation:pvRow .5s cubic-bezier(.16,1,.3,1) both;animation-delay:inherit}
/* pills and tags */
.p2-pill{display:inline-block;padding:3px 9px;border-radius:999px;font:600 11px/1.2 'Inter',sans-serif;white-space:nowrap;background:var(--pv-chip);color:var(--pv-muted);cursor:default}
.p2-pill.ok{background:var(--pv-ok);color:var(--pv-royal)}
.p2-pill.info{background:transparent;color:var(--pv-ink,var(--pv-royal));box-shadow:inset 0 0 0 1px var(--pv-sel-line,var(--pv-royal))}
.p2-tags{display:inline-flex;flex-wrap:wrap;gap:4px}
.p2-tags.st{flex-direction:column;align-items:flex-start}
.p2-tag{display:inline-block;padding:2px 7px;border:1px solid var(--pv-line);border-radius:999px;font:500 10.5px/1.35 'Inter',sans-serif;color:var(--pv-text);white-space:nowrap;cursor:default}
/* Upcoming Meetings column widths */
.p2-mt td.co b{white-space:normal}
.p2-mt td{white-space:nowrap;padding-left:8px;padding-right:8px}
.p2-mt th>span,.p2-mt th>button{padding-left:8px;padding-right:8px}
.p2-mt td.tg{overflow:visible}
.p2-mt td.co{white-space:normal}
.p2-mt td.ty{white-space:normal}
/* report */
.p2-rbar{display:flex;align-items:center;gap:9px;max-width:760px;margin:0 auto 12px}
.p2-k{font:700 10.5px/1 'Inter',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--pv-muted)}
.p2-sp{flex:1}
.p2-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--pv-line);border-radius:7px;background:var(--pv-chip)}
.p2-seg button{height:26px;padding:0 11px;border-radius:5px;font:500 12px/1 'Inter',sans-serif;color:var(--pv-muted)!important;white-space:nowrap}
.p2-seg button:hover{color:var(--pv-text)!important}
.p2-seg button.on{background:var(--pv-bg);color:var(--pv-text)!important;font-weight:600;box-shadow:inset 0 0 0 2px var(--pv-royal),0 1px 2px rgba(15,23,42,.08)}
.p2-seg.sm button{height:22px;padding:0 9px;font-size:11.5px}
.p2-doc{max-width:760px;margin:0 auto;padding:30px 34px 22px;border:1px solid var(--pv-line);border-radius:10px;background:var(--pv-bg);box-shadow:0 1px 2px rgba(15,23,42,.04)}
.p2-doc p{font-size:12.5px;line-height:1.6;color:var(--pv-body);margin:0 0 8px}
.p2-mast{padding-bottom:14px;margin-bottom:20px;border-bottom:3px solid var(--pv-text)}
.p2-kick{font:700 10px/1.3 'Inter',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--pv-muted)}
.p2-mast h2{margin:6px 0 9px;font:700 28px/1.15 'Source Serif 4',Georgia,serif;color:var(--pv-text);letter-spacing:-.005em}
.p2-polc{display:inline-block;padding:4px 9px;border:1px solid var(--pv-line);border-radius:4px;background:var(--pv-chip);font:700 9.5px/1 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--pv-text)}
.p2-sh{margin:24px 0 10px;padding-bottom:4px;border-bottom:2px solid var(--pv-text);font:700 11.5px/1.2 'Inter',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--pv-text)}
.p2-mast+.p2-sh{margin-top:0}
.p2-info{width:100%;border-collapse:collapse;margin-bottom:6px}
.p2-info th,.p2-info td{padding:6px 0;border-bottom:1px solid var(--pv-line2);font-size:12.5px;text-align:left;vertical-align:top}
.p2-info th{width:40%;font-weight:500;color:var(--pv-muted)}
.p2-info td{color:var(--pv-text)}
.p2-gp thead th,.p2-gp thead td{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-muted)}
.p2-lead{margin-bottom:7px!important}
.p2-it{width:100%;border-collapse:collapse;border:1px solid var(--pv-line);margin-bottom:6px}
.p2-it th{padding:7px 8px;background:var(--pv-chip);border-bottom:1px solid var(--pv-line);font:700 10px/1.2 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-text);text-align:left;vertical-align:bottom}
.p2-it td{padding:7px 8px;border-bottom:1px solid var(--pv-line);font-size:12px;line-height:1.4;color:var(--pv-text);vertical-align:top}
.p2-it .c{text-align:center}
.p2-it td.b{font-weight:700}
.p2-it td.b2{font-weight:600}
.p2-it td.mut{color:var(--pv-muted)}
.p2-it td.sm{font-size:11px}
.p2-it td small{display:block;font-size:11px;color:var(--pv-muted)}
.p2-it th.ovh,.p2-it td.ovc{border-left:2px solid var(--pv-line);background:var(--pv-tint)}
.p2-it td.ovc{padding:4px 6px;vertical-align:middle}
.p2-it tr.flash td{animation:p2Flash 1.6s ease-out}
@keyframes p2Flash{0%,30%{background:color-mix(in srgb,var(--pv-royal) 16%,transparent)}}
.p2-sel{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:28px;padding:0 6px 0 8px;border:1px solid var(--pv-line);border-radius:6px;background:var(--pv-bg);font:400 12px/1 'Inter',sans-serif;color:var(--pv-text)!important}
.p2-sel span{color:var(--pv-muted)}
.p2-sel b{font-weight:700;letter-spacing:.01em}
.p2-sel .ic{width:14px;height:14px;color:var(--pv-faint);flex:none}
.p2-sel:hover:not([disabled]){border-color:var(--pv-sel-line,var(--pv-royal))}
.p2-sel.set{border-color:var(--pv-sel-line,var(--pv-royal))}
.p2-sel[disabled]{opacity:.55}
.p2-ovw{display:flex;align-items:center;gap:3px}
.p2-ovx{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:6px;color:var(--pv-muted)!important}
.p2-ovx:hover{background:var(--pv-hover);color:var(--pv-text)!important}
.p2-ovx .ic{width:14px;height:14px}
.p2-lockw{display:block}
.p2-ovnote{max-width:640px;margin:12px auto 0;text-align:center;font-size:11px;font-style:italic;color:var(--pv-muted);line-height:1.5}
.p2-perf{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:end}
.p2-bars{display:flex;align-items:flex-end;gap:12px;height:132px;padding-bottom:30px;position:relative}
.p2-bg{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:100%}
.p2-bp{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}
.p2-bp i{width:14px;border-radius:2px 2px 0 0}
.p2-bp i.r,.p2-bleg i.r{background:var(--pv-royal)}
.p2-bp i.n,.p2-bleg i.n{background:var(--pv-ink,#052B72)}
html[data-theme="dark"]:not([data-demo="light"]) .p2-bp i.n,html[data-theme="dark"]:not([data-demo="light"]) .p2-bleg i.n{background:#A9C2FF}
.p2-bg span{font-size:10.5px;color:var(--pv-muted)}
.p2-bleg{position:absolute;left:0;bottom:0;display:flex;gap:12px;font-size:10.5px;color:var(--pv-muted)}
.p2-bleg span{display:inline-flex;align-items:center;gap:5px}
.p2-bleg i{width:9px;height:9px;border-radius:2px}
.p2-ft{width:100%;border-collapse:collapse}
.p2-ft th,.p2-ft td{padding:6px 6px;border-bottom:1px solid var(--pv-line2);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.p2-ft th{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--pv-muted)}
.p2-ft td:first-child,.p2-ft th:first-child{text-align:left;color:var(--pv-muted)}
.p2-note2{margin-top:8px!important;font-size:11px!important;color:var(--pv-muted)!important}
.p2-brd td,.p2-brd th{font-size:11px}
.p2-brd td b{font-weight:600}
.p2-brd td:first-child{min-width:132px}
.p2-fn{font-size:11px!important;line-height:1.5!important;color:var(--pv-muted)!important}
.p2-fn b{color:var(--pv-text);font-weight:600}
.p2-pia{padding:12px 0;border-bottom:1px solid var(--pv-line)}
.p2-pia:last-child{border-bottom:0}
.p2-piat{font:700 14.5px/1.35 'Source Serif 4',Georgia,serif;color:var(--pv-text);margin-bottom:4px}
.p2-piat span{display:block;font:700 9.5px/1.4 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--pv-muted)}
.p2-piam{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-bottom:6px;font-size:11.5px;color:var(--pv-muted)}
.p2-piam b{color:var(--pv-text);font-weight:600}
.p2-piam i{font-style:normal;color:var(--pv-faint)}
.p2-mut{color:var(--pv-muted)!important}
.p2-mut.it,.p2 p.it{font-style:italic}
.p2-mut.sm,.p2 p.sm{font-size:12px}
.p2-serif{font:700 26px/1.2 'Source Serif 4',Georgia,serif;color:var(--pv-text)}
.p2-dsub{margin:3px 0 22px;font-size:12.5px;color:var(--pv-muted)}
/* cards and forms */
.p2-card{margin-bottom:14px;padding:14px 16px;border:1px solid var(--pv-line);border-radius:10px;background:var(--pv-bg)}
.p2-card h4{margin-bottom:10px;font:600 13.5px/1.3 'Inter',sans-serif;color:var(--pv-text)}
.p2-card.p2-flush{padding:0}
.p2-card.p2-flush>h4{margin:0;padding:12px 16px;border-bottom:1px solid var(--pv-line)}
.p2-card.p2-flush>.p2-t th:first-child>span,.p2-card.p2-flush>.p2-t td:first-child{padding-left:16px}
.p2-pad{padding:12px 16px 14px}
.p2-pad>.p2-mut{margin-bottom:10px;line-height:1.5}
.p2-cardf{display:flex;justify-content:flex-end;margin-top:12px}
.p2-cardf.l{justify-content:flex-start}
.p2-g2,.p2-g3,.p2-g4{display:grid;gap:10px 12px}
.p2-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.p2-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.p2-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.p2-fld{display:grid;gap:4px;margin-bottom:10px}
.p2-g2 .p2-fld,.p2-g3 .p2-fld,.p2-g4 .p2-fld{margin-bottom:0}
.p2-g2+.p2-fld,.p2-fld+.p2-g3,.p2-g2+.p2-yn{margin-top:10px}
.p2-fld>span{font-size:11.5px;font-weight:500;color:var(--pv-muted)}
.p2-fld input{min-width:0;width:100%;height:30px;padding:0 9px;border:1px solid var(--pv-line);border-radius:6px;background:var(--pv-bg);font-size:12.5px;outline:0}
.p2-fld input:focus{border-color:var(--pv-sel-line,var(--pv-royal));box-shadow:0 0 0 3px var(--pv-ok)}
.p2-fld input.bad{border-color:var(--pv-text);box-shadow:0 0 0 2px var(--pv-ring)}
.p2-fld.sm input{width:120px;font-family:var(--pv-mono);letter-spacing:.04em}
.p2-fld .p2-fs{width:100%;justify-content:space-between;height:30px}
.p2-addw{position:relative}
.p2-addw .p2-search{width:100%}
.p2-hits{margin-top:6px;border:1px solid var(--pv-line);border-radius:8px;overflow:hidden}
.p2-hit{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border-bottom:1px solid var(--pv-line2);text-align:left}
.p2-hit:last-child{border-bottom:0}
.p2-hit b{display:block;font-size:12.5px;font-weight:600;color:var(--pv-text)}
.p2-hit small{display:block;font-size:11px;color:var(--pv-muted);font-family:var(--pv-mono)}
.p2-hit em{font-style:normal;font-size:11.5px;color:var(--pv-muted)}
.p2-hit.as-btn:hover{background:var(--pv-hover)}
.p2-hit .ic{width:15px;height:15px;color:var(--pv-faint)}
.p2-nohit{margin-top:8px!important;font-size:12px}
.p2-idc{display:inline-flex;align-items:center;gap:6px;padding:2px 7px;border:1px solid var(--pv-line);border-radius:5px;font:500 11.5px var(--pv-mono);color:var(--pv-text)}
.p2-idc em{font:700 9px/1 'Inter',sans-serif;letter-spacing:.08em;color:var(--pv-muted);font-style:normal}
.p2-pchips{display:flex;flex-wrap:wrap;gap:5px}
.p2-pchip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border:1px solid var(--pv-line);border-radius:999px;font:500 11.5px/1 'Inter',sans-serif;color:var(--pv-muted)!important}
.p2-pchip.on{background:var(--pv-ok);border-color:transparent;color:var(--pv-royal)!important;font-weight:600}
.p2-pchip .ic{width:12px;height:12px}
.p2-ib{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:var(--pv-muted)!important}
.p2-ib:hover{background:var(--pv-hover);color:var(--pv-text)!important}
.p2-ib .ic{width:15px;height:15px}
.p2-t tr.flash td{animation:p2Flash 1.6s ease-out}
.p2-split{border-bottom:1px dotted var(--pv-faint);font-size:12px;color:var(--pv-muted);cursor:default}
.p2-vt td{white-space:normal}
.p2-rt td,.p2-wt td{white-space:nowrap}
.p2-rt td.co,.p2-wt td.co{white-space:normal}
/* analytics preview */
.p2-soonbar{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px;padding:10px 12px;border-radius:8px;background:var(--pv-tint);box-shadow:inset 0 0 0 1px var(--pv-ok);font-size:12.5px;line-height:1.45;color:var(--pv-body)}
.p2-soonbar .ic{width:16px;height:16px;color:var(--pv-royal);flex:none;margin-top:1px}
.p2-soonbar b{color:var(--pv-text);font-weight:600}
.p2-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.p2-kpi{padding:12px 14px;border:1px solid var(--pv-line);border-radius:10px}
.p2-kpi small,.p2-stat small{display:block;font-size:11.5px;color:var(--pv-muted)}
.p2-kpi b{display:block;margin-top:4px;font:600 22px/1.1 'Inter',sans-serif;color:var(--pv-text);font-variant-numeric:tabular-nums}
.p2-kpi em{display:block;margin-top:3px;font-style:normal;font-size:11px;color:var(--pv-royal)}
.p2-an{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.p2-an .p2-card{margin:0}
.p2-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.p2-stats.two{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:12px;border-top:1px solid var(--pv-line2)}
.p2-stat b{display:block;margin-top:3px;font:600 16px/1.2 'Inter',sans-serif;color:var(--pv-text);font-variant-numeric:tabular-nums}
.p2-cat{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:4px 10px;align-items:center;margin-top:10px}
.p2-catl{grid-column:1/-1;display:flex;justify-content:space-between;font-size:12px}
.p2-catl b{font-weight:500;color:var(--pv-text)}
.p2-catl span{color:var(--pv-muted);font-size:11.5px}
.p2-cbar{height:8px;border-radius:4px;background:var(--pv-chip);overflow:hidden}
.p2-cbar i{display:block;height:100%;border-radius:4px;background:var(--pv-royal)}
.p2-cat em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--pv-text);text-align:right;font-variant-numeric:tabular-nums}
/* N-PX */
.p2-npx{display:grid;grid-template-columns:minmax(0,1fr) 212px;gap:16px;align-items:start}
.p2-npf>.p2-mut{margin-bottom:12px}
.p2-nsec{margin-bottom:12px;padding:14px 16px;border:1px solid var(--pv-line);border-radius:10px}
.p2-nsec h3{display:flex;align-items:center;gap:9px;margin-bottom:12px;font:600 14px/1.2 'Inter',sans-serif;color:var(--pv-text)}
.p2-nsec h3 span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--pv-chip);font-size:11.5px;font-weight:600;color:var(--pv-text)}
.p2-nsec h5,.p2-inv h5,.p2-guide h5{margin:4px 0 8px;font:600 12.5px/1.3 'Inter',sans-serif;color:var(--pv-text)}
.p2-nsec h5:not(:first-of-type){margin-top:14px}
.p2-yn{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0}
.p2-yn p,.p2-q{font-size:12.5px;line-height:1.45;color:var(--pv-body)}
.p2-q{margin:10px 0 6px}
.p2-file{display:flex;align-items:center;gap:9px;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--pv-chip)}
.p2-file .ic{width:16px;height:16px;color:var(--pv-royal);flex:none}
.p2-file b{display:block;font-size:12px;font-weight:600;color:var(--pv-text)}
.p2-file small{display:block;font-size:11px;color:var(--pv-muted)}
.p2-cks{display:flex;flex-wrap:wrap;gap:8px 16px}
.p2-ck{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--pv-body)}
.p2-ck i{width:16px;height:16px;display:grid;place-items:center;border:1.5px solid var(--pv-ring);border-radius:4px;background:var(--pv-bg)}
.p2-ck.on i{background:var(--pv-royal);border-color:var(--pv-royal)}
.p2-ck svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p2-rep{margin-bottom:10px;padding:11px 13px;border:1px solid var(--pv-line);border-radius:8px}
.p2-reph{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}
.p2-reph small{flex-basis:100%;font-size:11px;color:var(--pv-muted)}
.p2-reph b{font-size:13.5px;font-weight:600;color:var(--pv-text)}
.p2-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin-top:10px}
.p2-dl .w{grid-column:1/-1}
.p2-dl dt{font-size:11px;color:var(--pv-muted)}
.p2-dl dd{margin:1px 0 0;font-size:12px;color:var(--pv-text)}
.p2-dlr{margin-bottom:12px}
.p2-dlr>p{font-size:12.5px;color:var(--pv-muted);margin-bottom:6px}
.p2-dlr>p b{color:var(--pv-text);font-weight:600}
.p2-dlb{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
.p2-dlb .p2-fld{margin:0}
.p2-err{min-height:0;font-size:11.5px;font-weight:600;color:var(--pv-text);margin-top:4px}
.p2-err:empty{display:none}
.p2-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--pv-line);font-size:12px;line-height:1.5;color:var(--pv-muted)}
.p2-guide ul{list-style:none;margin:0;padding:0}
.p2-saved{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:12px;color:var(--pv-muted)}
.p2-saved .ic{width:14px;height:14px;color:var(--pv-royal)}
.p2-nstat{position:sticky;top:0;padding:13px 14px;border:1px solid var(--pv-line);border-radius:10px;background:var(--pv-bg)}
.p2-nstat>p{font-size:12.5px;font-weight:600;color:var(--pv-text);margin-bottom:10px}
.p2-nstat ol{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.p2-nstat button{display:flex;align-items:flex-start;gap:8px;text-align:left}
.p2-nstat button .ic{width:15px;height:15px;color:var(--pv-text);flex:none;margin-top:1px}
.p2-nstat b{display:block;font-size:12px;font-weight:500;color:var(--pv-text)}
.p2-nstat button:hover b{text-decoration:underline}
.p2-nstat small{display:block;font-size:11px;color:var(--pv-muted);line-height:1.35}
.p2-ns{margin-top:10px;padding-top:8px;border-top:1px solid var(--pv-line);font-size:11px;color:var(--pv-muted)}
/* Organization */
.p2-et td small,.p2-ut td small{display:block;font-size:11px;color:var(--pv-muted)}
.p2-et td,.p2-ut td{white-space:nowrap}
.p2-et .p2-ck{justify-content:center}
.p2-addm{display:flex;gap:8px;max-width:420px;margin-top:10px}
.p2-addm input{flex:1;height:30px;padding:0 9px;border:1px solid var(--pv-line);border-radius:6px;background:var(--pv-bg);font-size:12.5px;outline:0}
.p2-uav{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:var(--pv-chip);font:600 9.5px/1 'Inter',sans-serif;color:var(--pv-text);vertical-align:middle}
.p2-ut td b{font-weight:600;color:var(--pv-text)}
.p2-ut tr.off td{opacity:.55}
.p2-acts{display:flex;justify-content:flex-end;gap:2px}
.p2-inv{margin-top:14px;padding-top:12px;border-top:1px solid var(--pv-line)}
.p2-invb{display:flex;gap:8px;margin-top:12px}
/* popovers, dialogs, tooltips (white, as everywhere in ProVote) */
.p2 .pv-pop{min-width:180px}
.p2-menu{display:grid;gap:1px}
.p2-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:32px;padding:0 10px;border-radius:6px;font:500 12.5px/1 'Inter',sans-serif;color:#334155!important;text-align:left;white-space:nowrap}
.p2-menu button:hover{background:#F5F7FA;color:#0F172A!important}
.p2-menu button.on{font-weight:600;color:#0F172A!important}
.p2-menu .ic{width:14px;height:14px;color:#004BE5}
.p2-conf p{padding:8px 10px 10px;font-size:12.5px;line-height:1.5;color:#334155}
.p2-conf div{display:flex;justify-content:flex-end;gap:6px;padding:0 6px 4px}
.p2-conf .p2-btn{background:#fff;color:#0F172A!important;border-color:#E2E8F0}
.p2-conf .p2-btn.pri{background:#004BE5;border-color:#004BE5;color:#fff!important}
.p2-conf .p2-btn.ghost{border-color:transparent;color:#64748B!important}
.p2 .pv-d{width:480px;padding-bottom:0}
.p2 .pv-d>*:not(.pv-dh):not(.pv-df){margin:12px 20px 0}
.p2 .pv-d>.pv-df{margin-top:16px}
.p2 .pv-d .p2-seg{margin-top:0}
.p2-share{display:flex;gap:8px}
.p2-share input{flex:1;min-width:0;height:32px;padding:0 9px;border:1px solid var(--pv-line);border-radius:6px;background:var(--pv-chip);font:12px var(--pv-mono)}
.p2-addr{max-height:280px;overflow:auto;border:1px solid var(--pv-line);border-radius:8px}
.p2-addr>.p2-btn{margin:8px 8px 0}
.p2-addr>.p2-q{padding:0 10px}
.p2-addr>.p2-mut{padding:0 10px 10px;font-size:12.5px}
.p2-tpl{display:flex;gap:8px}
.p2-drop{display:flex;align-items:center;justify-content:center;gap:8px;height:96px;border:1.5px dashed var(--pv-ring);border-radius:10px;font-size:12.5px;color:var(--pv-muted)}
.p2-drop .ic{width:18px;height:18px}
.p2-set{display:grid}
.p2-srow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--pv-line2)}
.p2-srow b{display:block;font-size:13px;font-weight:600;color:var(--pv-text)}
.p2-srow small{display:block;margin-top:2px;font-size:11.5px;color:var(--pv-muted)}
.p2-sv{font-size:12.5px;color:var(--pv-body)}
.p2 .pv-tip{max-width:260px;white-space:normal}
.p2 .pv-tip b{display:block;font-weight:600;margin-bottom:2px}
/* tablet: icons-only sidebar, fewer columns */

/* phone */

@keyframes pvpUp{from{transform:translateY(24px);opacity:0}}

/* ---------- report sections from the ProVote report (v29b) ---------- */
.p2-perf{display:block}
.p2 .rs-fig{--rs-a:var(--pv-royal);--rs-n:var(--pv-ink,#052B72);--rs-line:var(--pv-line2);--rs-muted:var(--pv-muted);--rs-text:var(--pv-text);margin:0 0 10px}
html[data-theme="dark"]:not([data-demo="light"]) .p2 .rs-fig{--rs-n:#A9C2FF}
.p2-ft td.b{font-weight:600;color:var(--pv-text)}
.p2-capl{margin:8px 0 0!important;font-size:12.5px!important;color:var(--pv-text)!important}
.p2-capl b{font-weight:600;font-variant-numeric:tabular-nums}
.p2-tsrc{margin-top:16px!important}
.p2-subj{margin:-2px 0 8px!important;font-size:12px!important;color:var(--pv-muted)!important}
.p2-subj b{color:var(--pv-text);font-weight:600}
.p2-lt{width:auto;min-width:320px;max-width:100%}
.p2-lt thead th,.p2-lt thead td{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-muted)}
.p2-lt th{width:auto;padding-right:24px}
.p2-lt td{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.p2-cy tr.sp td{height:8px;padding:0;border-bottom:0}
.p2-cy tr.fin th,.p2-cy tr.fin td{font-weight:700;color:var(--pv-text)}
.p2-cy tr.fin:first-of-type th,.p2-cy tr.fin:first-of-type td{border-top:1px solid var(--pv-line)}
.p2-lbl{margin:10px 0 4px;font:700 9.5px/1.3 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--pv-muted)}
.p2-pia .p2-lt{margin-top:2px}
/* charts shared with the site: revenue and net income bars, TSR against the Egan-Jones cutoff */
.rs-fig{--rs-a:var(--accent,#004BE5);--rs-n:#052B72;--rs-line:var(--line,#e5e7eb);--rs-muted:var(--muted,#6b7280);--rs-text:var(--text,#0b1220);margin:0}
[data-theme="dark"] .rs-fig{--rs-n:#A9C2FF}
.rs-leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:4px;font:500 11px/1.3 'Inter',sans-serif;color:var(--rs-muted)}
.rs-leg span{display:inline-flex;align-items:center;gap:6px}
.rs-leg i{width:10px;height:10px;border-radius:2px;background:var(--rs-a)}
.rs-leg i.n{background:var(--rs-n)}
.rs-leg i.co{height:3px;border-radius:2px}
.rs-leg i.bm{height:0;border-radius:0;background:none;border-top:2px dashed var(--rs-n)}
.rs-svg{display:block;width:100%;height:auto;overflow:visible}
.rs-svg .rs-b.r{fill:var(--rs-a)}
.rs-svg .rs-b.n{fill:var(--rs-n)}
.rs-svg .rs-b{transition:opacity .15s}
.rs-svg .rs-b:hover{opacity:.82}
.rs-svg .rs-v{font:600 10px 'Inter',sans-serif;fill:var(--rs-muted)}
.rs-svg .rs-ax{font:500 10.5px 'Inter',sans-serif;fill:var(--rs-muted)}
.rs-svg .rs-z{stroke:color-mix(in srgb,var(--rs-text) 45%,transparent);stroke-width:1}
.rs-svg .rs-g{stroke:var(--rs-line);stroke-width:.7}
.rs-svg .rs-area{fill:color-mix(in srgb,var(--rs-a) 8%,transparent)}
.rs-svg .rs-co{fill:none;stroke:var(--rs-a);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.rs-svg .rs-bm{fill:none;stroke:var(--rs-n);stroke-width:1.6;stroke-dasharray:5 4}
.rs-svg .rs-cod{fill:var(--rs-a)}
.rs-svg .rs-bmd{fill:var(--rs-n)}
.rs-svg .rs-hit{fill:transparent;cursor:default}
.rs-svg .rs-el{font:600 11px 'Inter',sans-serif}
.rs-svg .rs-el.co{fill:var(--rs-a)}
.rs-svg .rs-el.bm{fill:var(--rs-n)}
.rs-svg .rs-hit:hover{fill:color-mix(in srgb,var(--rs-a) 16%,transparent)}
/* Voting Analytics, as client/analytics/page.tsx lays it out */
.p2-anbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px}
.p2-win{margin:0;font-size:11px;color:var(--pv-muted)}
.p2-win code{font:500 11px var(--pv-mono);color:var(--pv-body)}
.p2-kpi b{display:flex;align-items:baseline;gap:8px}
.p2-kpi em{display:inline-flex;align-items:center;margin:0;padding:2px 6px;border-radius:999px;background:var(--pv-chip);font:600 10px/1.2 'Inter',sans-serif;color:var(--pv-muted);font-variant-numeric:tabular-nums}
.p2-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px}
.p2-stat b{display:flex;align-items:baseline;gap:6px;font-size:18px}
.p2-stat b span{font-size:12.5px;font-weight:500;color:var(--pv-muted)}
.p2-bypol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--pv-line2)}
.p2-bypol small{flex-basis:100%;font:600 10px/1.3 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--pv-muted)}
.p2-bypol span{padding:2px 9px;border:1px solid var(--pv-line);border-radius:999px;background:var(--pv-chip);font-size:11px;font-weight:500;color:var(--pv-muted);font-variant-numeric:tabular-nums}
.p2-cat{display:block;margin-top:11px}
.p2-catl{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;font-size:12.5px}
.p2-catl b{font-weight:500;color:var(--pv-text)}
.p2-catl span{color:var(--pv-muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.p2-catl i{font-style:normal;margin:0 6px;color:var(--pv-line)}
.p2-cbar{height:9px;border-radius:999px}
.p2-catsh{margin-top:14px;padding-top:2px;border-top:1px solid var(--pv-line2)}
.p2-scope{margin-top:12px!important}

/* the board table carries nine columns, so it is set tight, as the report sets it, and never scrolls */
.p2-it.p2-brd th{padding:6px 4px;font-size:9px;letter-spacing:.03em;line-height:1.25}
.p2-it.p2-brd td{padding:6px 4px;font-size:10.5px}
.p2-it.p2-brd td:first-child{min-width:104px}
.p2-it.p2-brd td small{font-size:10px}

/* v30: every demo uses a fingertip circle, never a pointer arrow */
.pv-cursor svg,.nx-cur svg,.np-cur svg{display:none!important}
.pv-cursor::after,.nx-cur::after,.np-cur::after{content:"";position:absolute;left:-13px;top:-14px;width:36px;height:36px;border-radius:50%;background:rgba(15,23,42,.16);box-shadow:0 0 0 2px rgba(255,255,255,.88),0 6px 14px -4px rgba(15,23,42,.35);transition:transform .14s ease,background-color .14s ease,opacity .3s ease}
.nx-cur::after,.np-cur::after{left:-11px;top:-11px;width:30px;height:30px}
.pv-cursor.down::after,.vz-nx.press .nx-cur::after,.np-cur.press::after{transform:scale(.78);background:rgba(15,23,42,.3)}
.pv-cursor.lift::after{opacity:0;transform:scale(1.3)}
html[data-theme="dark"] .pv-cursor::after,html[data-theme="dark"] .nx-cur::after,html[data-theme="dark"] .np-cur::after{background:rgba(255,255,255,.22);box-shadow:0 0 0 2px rgba(255,255,255,.75),0 6px 14px -4px rgba(0,0,0,.5)}
/* v30: the tablet gets the same depth as the laptop and phone: a lifted shadow, an edge highlight and side buttons */

/* v31: analytics as one chart per page */
.p2-atabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:14px;padding:3px;border-radius:9px;background:var(--pv-chip);width:fit-content}
.p2-atabs button{height:28px;padding:0 12px;border:0;border-radius:7px;background:none;font:500 12px 'Inter',sans-serif;color:var(--pv-muted)}
.p2-atabs button.on{background:var(--pv-bg);color:var(--pv-text);box-shadow:0 1px 2px rgba(15,23,42,.12)}
.p2-ach{padding:18px 20px}
.p2-ach h4{margin:0;font-size:15px}
.p2-take{margin:4px 0 12px;font-size:13px;line-height:1.45;color:var(--pv-body)}
.p2-aviz .and-seg{display:none}
.p2-aviz .and-svg{max-width:640px}
.p2-aviz .and-t{min-width:0}
.p2 .p2-aviz{--and-navy:#052B72}
html[data-theme="dark"]:not([data-demo="light"]) .p2-aviz{--and-navy:#9DB7F5}

/* v31: meetings, tags in the middle and more room on every row */
.p2-mt td{padding-top:12px;padding-bottom:12px;padding-left:12px;padding-right:12px}
.p2-mt th>span,.p2-mt th>button{padding-left:12px;padding-right:12px;padding-top:10px;padding-bottom:10px}

/* v32: the walkthrough uses the N-PX page's fingertip: always shown while playing, a simple press, no ripple */
.pv-cursor::after{left:-11px;top:-11px;width:30px;height:30px}
.pv-cursor.down::after{transform:scale(.84)}
.pv-ripple{display:none!important}
/* v31: a full-width keyboard deck on the laptop, and real thickness on tablet and phone */

/* v32: the laptop base is a keyboard deck that comes toward the viewer, seen from just above */
.b-host.with-switch .pv-base{--dd:min(400px,40vw)}
.d3-top{background:
  radial-gradient(ellipse 22% 15% at 50% 82%,rgba(255,255,255,.0) 0 98%,transparent 100%),
  linear-gradient(180deg,#D3D9E2,#E2E7EE)}
.d3-top::before{content:"";position:absolute;left:9%;right:9%;top:7%;height:46%;border-radius:6px;background:
  repeating-linear-gradient(90deg,transparent 0 1.2%,rgba(15,23,42,.0) 1.2% 100%),
  repeating-linear-gradient(90deg,#2A3140 0 calc(100%/14 - 3px),transparent calc(100%/14 - 3px) calc(100%/14)),
  #2A3140;
  -webkit-mask:repeating-linear-gradient(180deg,#000 0 calc(100%/6 - 3px),transparent calc(100%/6 - 3px) calc(100%/6)),repeating-linear-gradient(90deg,#000 0 calc(100%/14 - 3px),transparent calc(100%/14 - 3px) calc(100%/14));
  -webkit-mask-composite:source-in;mask-composite:intersect;opacity:.88}
.d3-top::after{content:"";position:absolute;left:33%;right:33%;top:60%;height:30%;border-radius:8px;background:linear-gradient(180deg,#C7CED9,#D0D6DF);box-shadow:inset 0 0 0 1px rgba(15,23,42,.10)}
html[data-theme="dark"] .d3-top{background:linear-gradient(180deg,#1E2636,#2A3346)}
html[data-theme="dark"] .d3-top::before{background:#0B0F17}
html[data-theme="dark"] .d3-top::after{background:linear-gradient(180deg,#252E40,#2C3549);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.b-host.with-switch .pv-base{--dd:min(300px,30vw)}
.d3-top::before{opacity:.6;left:10%;right:10%;top:9%;height:44%}
.d3-top::before,.d3-top::after{display:none}
/* v34: phone analytics, labelled bars sized for the small screen */

/* ---------- v29: site panels that show ProVote, on the site's own tokens ---------- */
.vz-rep2,.vz-vs,.vx-card,.ov4,.np-card{--pv-chip:color-mix(in srgb,var(--text) 7%,transparent);--pv-muted:var(--muted);--pv-text:var(--text);--pv-royal:var(--accent);--pv-ok:color-mix(in srgb,var(--accent) 13%,transparent);--pv-line:var(--line);--pv-sel-line:color-mix(in srgb,var(--accent) 55%,var(--line));--pv-ink:var(--accent)}
.vz-rep2 .p2-pill,.vz-vs .p2-pill,.vx-card .p2-pill{font-family:var(--f-sans)}
.p2-pill.pop{animation:pillPop .45s cubic-bezier(.16,1,.3,1)}
@keyframes pillPop{0%{transform:scale(.82);opacity:.2}60%{transform:scale(1.06)}}
/* report masthead in miniature */
.r2-mast,.ov4-mast{display:grid;gap:3px;padding-bottom:10px;border-bottom:2.5px solid var(--text)}
.r2-k{font:700 9.5px/1.3 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.r2-co{font:700 20px/1.2 var(--f-serif);color:var(--text);letter-spacing:-.005em}
.r2-pol{justify-self:start;margin-top:3px;padding:3px 8px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--text) 5%,transparent);font:700 9px/1 var(--f-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text)}
.r2-sh{margin:14px 0 4px;padding-bottom:3px;border-bottom:1.5px solid var(--text);font:700 10.5px/1.2 var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.r2-t{table-layout:fixed;font-size:12.5px}
.r2-t .c-n{width:34px}
.r2-t .c-p{width:92px}
.r2-t .c-e{width:84px}
.r2-t .c-m{width:72px}
.r2-t th{padding:7px 6px;font:700 9.5px/1.25 var(--f-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);vertical-align:bottom}
.r2-t td{padding:7px 6px;vertical-align:top;font-size:12.5px;line-height:1.35}
.r2-t th:last-child,.r2-t td:last-child,.r2-t th:nth-child(4),.r2-t td.e{text-align:center}
.r2-t td.n{color:var(--muted);font-variant-numeric:tabular-nums}
.r2-t td.p{font-size:11px;color:var(--muted)}
.r2-t td.e{font-weight:700;color:var(--text);letter-spacing:.02em}
.r2-t td.m{font-weight:600;color:var(--muted);text-align:center}
.vz-rep2 .rep-r.on td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.vz-rep2 .rep-r.on td.e{color:var(--accent)}
.vz-rep2 .rep-why{min-height:58px;font-size:13px}
.vz-rep2 .rep-why b{font-family:var(--f-sans);font-weight:600}
/* vote status tile */
.vs-t{table-layout:fixed}
.vs-t .c-dl{width:112px}
.vs-t .c-st{width:118px}
.vs-t td.dt{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.vs-cap{min-height:44px;margin-top:4px;padding:12px 8px 0;border-top:1px solid var(--line);font:400 13px/1.5 var(--f-body);color:var(--text);transition:opacity .12s ease}
.vs-cap.sw{opacity:0}
.vs-cap b{font-family:var(--f-sans);font-weight:600}
/* N-PX tile: status lines */
.vz-nx2 .vz-step{align-items:flex-start}
.vz-nx2 .vz-si{margin-top:1px}
.nx-l b{display:block;font:500 13.5px/1.3 var(--f-sans)}
.nx-l small{display:block;margin-top:1px;font:400 12px/1.35 var(--f-sans);color:var(--muted)}
/* execution path panels */
.vx-card{padding-bottom:16px}
.vx-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.vx-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.vx-cap{margin:2px 0 10px;font:400 13px/1.5 var(--f-body);color:var(--muted)}
.vx-cap b{color:var(--text);font-family:var(--f-sans);font-weight:600}
.vx-t{width:100%;border-collapse:collapse;font:400 12.5px/1.35 var(--f-sans);animation:vpIn .45s cubic-bezier(.16,1,.3,1) both}
.vx-t th{padding:7px 6px;border-bottom:1px solid var(--line);text-align:left;font:700 9.5px/1.25 var(--f-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);vertical-align:bottom}
.vx-t td{padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
.vx-t tbody tr:last-child td{border-bottom:0}
.vx-t td.n{width:30px;color:var(--muted);font-variant-numeric:tabular-nums}
.vx-t td.p{font-size:11.5px;color:var(--muted);white-space:nowrap}
.vx-t td.e{font-weight:700;white-space:nowrap}
.vx-t td.m{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.vx-t td.it small{display:block;font-size:11.5px;color:var(--muted)}
.vx-t td.o{width:118px;background:color-mix(in srgb,var(--accent) 5%,transparent)}
.vx-t th:last-child{white-space:nowrap}
.vx-ov tr.vx-on td{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.vx-sel{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;padding:0 6px 0 8px;border:1px solid var(--line);border-radius:6px;background:var(--card);font-size:11.5px;color:var(--muted);white-space:nowrap}
.vx-sel .ic{width:12px;height:12px}
.vx-sel.set{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--text)}
.vx-sel.set b{font-weight:700}
.vx-split{font-weight:500;color:var(--muted);border-bottom:1px dotted var(--muted)}
/* N-PX path panels: the form's section header */
.np-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.np-num{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);font:600 12.5px/1 var(--f-sans);color:var(--accent)}
.np-num .ic{width:15px;height:15px}
.np-h .vs{margin-bottom:0}
.np-sub{margin:12px 0 0;font:600 12.5px var(--f-sans);color:var(--text)}
.np-sub+.np-inv{margin-top:8px}
/* override block */
.ov4-wrap .ov3-tx{max-width:46em}
.ov4{position:relative;margin-top:18px}
.ov4-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.ov4-bar .p2-k{font:700 10.5px/1 var(--f-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.ov4-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--text) 5%,transparent)}
.ov4-seg button{height:30px;padding:0 13px;border-radius:6px;font:500 13px/1 var(--f-sans);color:var(--muted);cursor:pointer}
.ov4-seg button:hover{color:var(--text)}
.ov4-seg button.on{background:var(--card);color:var(--text);font-weight:600;box-shadow:inset 0 0 0 2px var(--accent),0 1px 2px rgba(15,23,42,.08)}
.ov4-acc{font:400 13px var(--f-sans);color:var(--muted)}
.ov4-doc{padding:22px 24px 10px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card);box-shadow:0 30px 60px -48px rgba(10,20,40,.4)}
.ov4-mast .r2-co{font-size:24px}
.ov4-tw{overflow-x:auto}
.ov4-t{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed;font:400 13px/1.4 var(--f-sans);border:1px solid var(--line)}
.ov4-t .c-n{width:46px}
.ov4-t .c-p{width:104px}
.ov4-t .c-e{width:104px}
.ov4-t .c-m{width:104px}
.ov4-t .c-o{width:168px}
.ov4-t th{padding:8px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--text) 5%,transparent);text-align:left;font:700 10px/1.25 var(--f-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text);vertical-align:bottom}
.ov4-t th:nth-child(n+3){text-align:center}
.ov4-t td{padding:8px 8px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text)}
.ov4-t td.n{color:var(--muted);text-align:center}
.ov4-t td.p{text-align:center;font-size:11.5px;color:var(--muted)}
.ov4-t td.e{text-align:center;font-weight:700;letter-spacing:.02em}
.ov4-t td.m{text-align:center;font-weight:600;color:var(--muted)}
.ov4-t th.o,.ov4-t td.o{border-left:2px solid var(--line);background:color-mix(in srgb,var(--accent) 5%,transparent)}
.ov4-t td.o{padding:5px 7px}
.ov4-t tr.over td.o{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.ov4-t tr.flash td{animation:p2FlashS 1.5s ease-out}
@keyframes p2FlashS{0%,30%{background:color-mix(in srgb,var(--accent) 15%,transparent)}}
.ov4-w{display:flex;align-items:center;gap:3px}
.ov4-sel{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px;height:30px;padding:0 7px 0 9px;border:1px solid var(--line);border-radius:7px;background:var(--card);font:400 12.5px/1 var(--f-sans);color:var(--text);cursor:pointer}
.ov4-sel span{color:var(--muted)}
.ov4-sel b{font-weight:700;letter-spacing:.01em}
.ov4-sel .ic{width:14px;height:14px;color:var(--muted);flex:none}
.ov4-sel:hover,.ov4-sel.set{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.ov4-x{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:7px;color:var(--muted);cursor:pointer}
.ov4-x:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}
.ov4-x .ic{width:14px;height:14px}
.ov4-note{max-width:640px;margin:14px auto 0;text-align:center;font:italic 400 12px/1.55 var(--f-sans);color:var(--muted)}
.ov4-menu{position:absolute;z-index:30;padding:5px;border:1px solid #E2E8F0;border-radius:10px;background:#fff;box-shadow:0 18px 40px -16px rgba(15,23,42,.35);animation:pvDrop .25s cubic-bezier(.16,1,.3,1) both}
.ov4-menu[hidden]{display:none}
.ov4-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:32px;padding:0 10px;border-radius:6px;font:500 13px/1 var(--f-sans);color:#334155;text-align:left;cursor:pointer}
.ov4-menu button:hover{background:#F5F7FA;color:#0F172A}
.ov4-menu button.on{font-weight:600;color:#0F172A}
.ov4-menu .ic{width:14px;height:14px;color:#004BE5}
/* Analytics and more: coming soon, with what is live today */
.pm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pm-c{display:flex;flex-direction:column;gap:10px;padding:22px 22px 20px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.pm-h{display:flex;align-items:center;gap:10px}
.pm-h h3{font:600 18px/1.25 var(--f-head);color:var(--text)}
.pm-h .soon{margin-left:auto}
.pm-ic{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.pm-ic .ic{width:18px;height:18px}
.pm-c>p{font:400 15px/1.55 var(--f-body);color:var(--body)}
.pm-c .pm-now{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.pm-now b{display:block;margin-bottom:2px;font:600 11.5px/1.3 var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
@media (max-width:900px){.pm-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.vx-t td.p,.vx-t th:nth-child(3):not(:last-child){display:none}.r2-t .c-p{width:0}.r2-t td.p,.r2-t th:nth-child(3){display:none}}
/* ---------- v29b: the report's own sections on the site (analyses and the sample report) ---------- */
.rs-t{min-width:0;font-size:13px}
.rs-t th{white-space:nowrap}
.rs-t td.n,.rs-t th.n{text-align:right}
.rs-t td.tf{font:600 12px var(--f-sans);letter-spacing:.03em}
.rs-t td b{display:inline;font-weight:600}
.rs-t td.mut{color:var(--muted)}
.rs-t td small{display:block;font-size:11.5px;color:var(--muted)}
.rs-t .c{text-align:center}
.rs-brd{min-width:660px;font-size:12.5px}
.rs-brd td,.rs-brd th{padding:8px 7px}
.rs-brd th{font-size:11.5px}
.rs-brd tr.hi td{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.rs-brd .vz-p{min-width:0}
.rs-fn,.rs-brd th span[data-t]{border-bottom:1px dotted currentColor;cursor:default}
.rs-cy tr.sp td{height:6px;padding:0;border-bottom:0}
.rs-cy tr.fin td{font-weight:700}
.rs-note{margin:8px 0 0;font:400 12px/1.5 var(--f-sans);color:var(--muted)}
.rs-note b{color:var(--text);font-weight:600}
.rs-subj{margin:0 0 8px;font:400 12.5px/1.5 var(--f-sans);color:var(--muted)}
.rs-subj b{color:var(--text);font-weight:600}
.and-ctx{display:block;margin-bottom:6px;font:600 11px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.and-viz .rs-fig{margin-bottom:12px}
.and-viz .and-seg{margin-bottom:12px}
.rp2-sec h5{font-size:14px}
.rp2-exg>.rp2-ex:only-child{grid-column:1/-1}
.rp2-plot .rs-t{font-size:12.5px}
/* ---------- Voting Analytics (coming soon): the ProVote page, in the site's styling ---------- */
.va{border:1px solid var(--line);border-radius:var(--r3);background:var(--card);padding:clamp(16px,2.4vw,26px);box-shadow:0 30px 60px -44px rgba(10,20,40,.35)}
.va-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.va-tl h3{margin:0;display:flex;align-items:center;font:600 20px/1.25 var(--f-sans);color:var(--text)}
.va-tl p{margin:4px 0 0;font:400 13.5px/1.45 var(--f-sans);color:var(--muted)}
.va-csv{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font:500 13px var(--f-sans);color:var(--text);white-space:nowrap}
.va-csv .ic{width:15px;height:15px}
.va-bar{margin:16px 0 0}
.va-seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--text) 6%,transparent)}
.va-seg button{height:30px;padding:0 13px;border:0;border-radius:999px;background:none;font:500 13px var(--f-sans);color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.va-seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(10,20,40,.14)}
.va-win{margin:10px 0 14px;font:400 12px/1.5 var(--f-sans);color:var(--muted)}
.va-win code,.vz-va .vg-h small code{font:500 11.5px var(--f-mono);color:var(--text)}
.va-body{transition:opacity .15s}
.va-body.sw{opacity:0}
.va-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.va-tile{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card)}
.va-tile small{display:block;font:500 12px/1.3 var(--f-sans);color:var(--muted)}
.va-tile b{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:4px;font:600 24px/1.1 var(--f-sans);color:var(--text);font-variant-numeric:tabular-nums}
.va-tile em{padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--text) 7%,transparent);font:600 10.5px/1.3 var(--f-sans);font-style:normal;color:var(--muted);cursor:default}
.va-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;margin-top:14px;align-items:start}
.va-card{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r2)}
.va-card h4{margin:0;font:600 15px/1.3 var(--f-sans);color:var(--text)}
.va-sub{margin:4px 0 0;font:400 12.5px/1.45 var(--f-sans);color:var(--muted)}
.va-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:14px}
.va-stat small{display:block;font:400 12px/1.35 var(--f-sans);color:var(--muted)}
.va-stat b{display:flex;align-items:baseline;gap:6px;margin-top:2px;font:600 20px/1.2 var(--f-sans);color:var(--text);font-variant-numeric:tabular-nums}
.va-stat b span{font-size:13px;font-weight:500;color:var(--muted)}
.va-pol{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.va-pol small{flex-basis:100%;font:600 10.5px var(--f-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.va-pol span{padding:3px 10px;border:1px solid var(--line);border-radius:999px;font:500 12px var(--f-sans);color:var(--muted);font-variant-numeric:tabular-nums}
.va-cat{margin-top:11px}
.va-cl{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;font:500 13px var(--f-sans);color:var(--text)}
.va-cl em{font-style:normal;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.va-cl i{font-style:normal;margin:0 6px;color:var(--line)}
.va-cb{height:9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,transparent);overflow:hidden}
.va-cb i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .7s cubic-bezier(.16,1,.3,1)}
.va-sh{margin-top:14px;padding-top:3px;border-top:1px solid var(--line)}
.va-sh+.va-sub{margin-top:12px}
@media (max-width:860px){.va-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.va-g{grid-template-columns:1fr}}
@media (max-width:520px){.va-cl{flex-direction:column;align-items:flex-start;gap:1px}.va-top{flex-direction:column}}
/* homepage card: the same page in small, flipping between the two periods */
.vz-va .vg-k{display:flex;align-items:center}
.vz-va .vg-k .soon{text-transform:none;letter-spacing:0}
.vz-va .vg-h small{font-size:12px}
.vz-va>.va-seg{margin:12px 0 10px}
.vz-va .va-tiles{gap:8px}
.vz-va .va-tile{padding:10px 11px}
.vz-va .va-tile small{font-size:11px;min-height:2.65em}
.vz-va .va-tile b{font-size:19px;gap:4px 6px}
.vz-va .va-k{margin:14px 0 0;font:600 11px var(--f-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.vz-va .va-cat{margin-top:9px}
.vz-va .va-cl{font-size:12.5px}
.vz-va .va-cl em{font-size:11.5px}
@media (max-width:560px){.vz-va .va-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.and>.and-list,.and>.and-panel{min-width:0}
.and-ctx{overflow-wrap:anywhere}
/* v30: Customers page, the four client types up front */
.ctg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ctg-i{display:flex;flex-direction:column;padding:22px 20px;border:1px solid var(--line);border-radius:var(--r3);background:var(--card)}
.ctg-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r2);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.ctg-ic .ic{width:22px;height:22px}
.ctg-i h3{margin:16px 0 6px;font:600 18px/1.3 var(--f-sans);color:var(--text)}
.ctg-i p{margin:0;font:400 14px/1.5 var(--f-body);color:var(--muted)}
.ctg-i ul{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:grid;gap:8px}
.ctg-i li{display:flex;gap:8px;align-items:flex-start;font:500 13.5px/1.4 var(--f-sans);color:var(--text)}
.ctg-i li .ic{width:16px;height:16px;flex:none;margin-top:1px;color:var(--accent)}
@media (max-width:1000px){.ctg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ctg{grid-template-columns:1fr}}
.ctg-i p{flex:1 0 auto}
/* v30: the sample report as one plain table, one row per item */
.pvr-mx2{width:100%;table-layout:auto}
.pvr-mx2 th{padding:10px 10px;font:600 12px var(--f-sans);color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.pvr-mx2 td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.pvr-mx2 .n{width:34px;color:var(--muted);font-variant-numeric:tabular-nums}
.pvr-mx2 .c{text-align:center;width:120px}
.pvr-mx2 td.it b{font:500 14px/1.35 var(--f-sans);color:var(--text)}
.pvr-mx2 .bdv{font:600 11px var(--f-sans);letter-spacing:.04em;color:var(--muted)}
.pvr-mx2 tr.pvr-row{cursor:pointer}
@media (max-width:700px){.pvr-mx2 .c{width:auto}.pvr-mx2 th,.pvr-mx2 td{padding:9px 6px}}
.ctg-i li.no{margin-top:4px;padding-top:10px;border-top:1px dashed var(--line);font-weight:600}
.ctg-i li.no .ic{width:20px;height:20px;margin-top:-1px;padding:2px;border-radius:50%;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);stroke-width:3}
.ctg-i li.no{align-items:center;font-size:15px}
.ctg-i li.no .ic{width:26px;height:26px;padding:3px;margin:0;background:var(--text);color:var(--bg,#fff)}
/* v32 */
.dd-ic .aaa{font:800 10px/1 var(--f-sans);letter-spacing:.02em;color:var(--accent)}
.b-more-ic{display:grid;place-items:center;width:46px;height:46px;margin-bottom:16px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,transparent)}
.b-more .b-more-ic .ic{width:24px;height:24px;margin:0;stroke-width:2}
.vpath{align-items:start}
.vpath .vp-panel{min-height:var(--vp-h,0px)}
/* v34: phone-width fixes */
@media (max-width:560px){
  .r2-t th:nth-child(3),.r2-t td.p{display:table-cell!important;font-size:0!important;padding:0!important;overflow:hidden}
  .r2-t .c-p{width:0}
  .r2-t .c-n{width:26px}.r2-t .c-e{width:66px}.r2-t .c-m{width:58px}
  .r2-t td.e,.r2-t td.m{text-align:center}
  .mcp-top{flex-wrap:wrap}
  .mcp-conn{display:none!important}
  .mcp-card{flex-wrap:wrap;max-width:100%}
  .mcp-card>div{flex:1 1 150px;min-width:0}
  .mcp-card span.go{margin-left:0}
  .vz-an2 .and-svg .ax,.vz-an2 .and-svg .ml,.and .and-svg .ax,.and .and-svg .ml{font-size:20px}
  .vz-an2 .and-svg .vl,.and .and-svg .vl{font-size:19px}
  .pvr-mx2 thead th.c,.pvr-mx2 td.c{display:none}
  .pvr-mob{display:flex!important}
}
.pvr-mob{display:none;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font:500 11px var(--f-sans);color:var(--muted)}
.pvr-mob span{display:inline-flex;align-items:center;gap:5px}
@media (max-width:560px){
  .ov4-t{min-width:0;font-size:12px}
  .ov4-t .c-n{width:28px}.ov4-t .c-p{width:0}.ov4-t .c-e{width:62px}.ov4-t .c-m{width:54px}.ov4-t .c-o{width:100px}
  .ov4-t th:nth-child(3),.ov4-t td.p{font-size:0!important;padding:0!important}
  .ov4-t th{font-size:8.5px;padding:6px 4px;letter-spacing:.02em}
  .ov4-t td{padding:7px 4px}
  .ov4-t td.o{padding:4px}
  .vx-ag th:nth-child(3),.vx-ag td.p{display:none}
  .vx-t th:first-child,.vx-t td.n{width:28px;padding-left:2px;padding-right:2px}
  .api-code{font-size:11px;line-height:1.6;padding:16px 16px 18px;white-space:pre;word-break:normal;overflow-x:auto}
}
@media (max-width:560px){
  .vx-t th:nth-child(2){display:table-cell}
  .ov4-t .c-m{width:0}.ov4-t .c-e{width:58px}.ov4-t .c-o{width:92px}
  .ov4-t th:nth-child(5),.ov4-t td.m{font-size:0!important;padding:0!important}
}
/* v34: the vote path tables become stacked rows on a phone */
@media (max-width:560px){
  .vp-card .vx-t thead{display:none}
  .vp-card .vx-t,.vp-card .vx-t tbody{display:block;width:100%}
  .vp-card .vx-t tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:9px 0;border-bottom:1px solid var(--line)}
  .vp-card .vx-t tbody tr:last-child{border-bottom:0}
  .vp-card .vx-t td{display:block!important;width:auto!important;padding:0!important;border:0!important;font-size:12px!important;text-align:left!important}
  .vp-card .vx-t td.n{flex:0 0 22px;color:var(--muted)}
  .vp-card .vx-t td.it{flex:1 1 calc(100% - 40px);font-size:13px!important}
  .vp-card .vx-t td.n+td.it~td{margin-left:0}
  .vp-card .vx-t td.n~td:not(.it):first-of-type{margin-left:36px}
  .vp-card .vx-t td[data-l]::before{content:attr(data-l) " ";font-weight:400;color:var(--muted)}
  .vp-card .vx-t td.e{font-weight:700}
  .vp-card .vx-t tr>td:nth-child(3){margin-left:36px}
  .vp-card .vx-t td.it:first-child~td:nth-child(2){margin-left:0}
  .vp-card .vx-t td.it:first-child{flex-basis:100%}
  .vp-card .vx-t td.o{margin-left:auto}
}
.foot-disc{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);font:400 12px/1.6 var(--f-sans);color:var(--muted)}


/* v36: ProVote demo aligned with the Bravo client portal */
.p2-glab{margin:2px 10px 4px;font:600 10.5px/1 'Inter',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-muted)}
.p2-ub{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--pv-line);border-radius:0;cursor:pointer}
.p2-ub:hover{background:var(--pv-chip)}
.p2-uba{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--pv-royal,#004BE5);color:#fff;font:600 12px/1 'Inter',sans-serif}
.p2-ubt{min-width:0;display:flex;flex-direction:column;gap:1px}
.p2-ubt b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p2-ubt small{font-size:11px;color:var(--pv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p2-svl{display:inline-flex;align-items:center;gap:6px}
.p2-svl .ic{width:14px;height:14px;color:var(--pv-muted)}
.p2-thm{min-width:110px;justify-content:space-between}
.p2-idc2{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.p2-idc2 .mono{font:500 11px var(--pv-mono);color:var(--pv-muted)}
.p2-bdg{display:inline-block;padding:1px 8px;border:1px solid var(--pv-line);border-radius:999px;font:500 10.5px/16px 'Inter',sans-serif;color:var(--pv-text);cursor:default}
.p2-pms{display:flex;align-items:center;gap:4px;min-width:160px;max-width:210px;padding:4px 7px;border:1px solid var(--pv-line);border-radius:6px;background:var(--pv-bg);font:400 11.5px 'Inter',sans-serif;color:var(--pv-text);text-align:left;cursor:pointer}
.p2-pms>.ic{margin-left:auto;flex:none;width:12px;height:12px;color:var(--pv-muted)}
.p2-pb{display:inline-block;padding:1px 5px;border-radius:5px;background:var(--pv-chip);font:600 10px/15px 'Inter',sans-serif;color:var(--pv-text);white-space:nowrap}
.p2-mck{display:flex;align-items:center;gap:8px}
.p2-menu button.p2-mck{justify-content:flex-start}
.p2-mck .ic{width:14px;height:14px;opacity:0}
.p2-mck.on .ic{opacity:1}
.p2-sres{margin-top:12px;border:1px solid var(--pv-line);border-radius:8px;overflow:hidden}
.p2-sres .p2-t{margin:0}
.p2-sco td b{font-weight:600}
.p2-sx{display:inline-flex;vertical-align:-2px;margin-right:6px;color:var(--pv-muted)}
.p2-sx .ic{width:14px;height:14px}
.p2-ssec td{background:var(--pv-chip)}
.p2-ssec td:first-child{padding-left:32px}
.p2-sbox{display:flex;flex-direction:column;gap:3px;padding:8px 11px;border:1px solid var(--pv-line);border-radius:8px;font-size:13px;color:var(--pv-text)}
.p2-cks.v{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.p2-cks.v .p2-ck,.p2 button.p2-ck{background:none;border:0;padding:0;cursor:pointer;font:400 13px 'Inter',sans-serif;color:var(--pv-text)}
.p2-dfb{display:flex;gap:8px}
.p2-btn.danger{background:#DC2626;border-color:#DC2626;color:#fff!important}
.p2-body2{font-size:13px;line-height:1.5;color:var(--pv-text);margin:0 0 10px}
.p2-tpl2{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;margin:0 0 12px}
.p2-tpl2 span{color:var(--pv-muted)}
.p2-tpl2 button{background:none;border:0;padding:0;color:var(--pv-royal,#004BE5);font:500 12px 'Inter',sans-serif;cursor:pointer}
.p2-tpl2 button:hover{text-decoration:underline}
.p2-file2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:12.5px}
.p2-rads{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:2px}
.p2-rad{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:0;font:400 13px 'Inter',sans-serif;color:var(--pv-text);cursor:pointer}
.p2-rad i{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--pv-line);display:grid;place-items:center}
.p2-rad.on i{border-color:var(--pv-royal,#004BE5)}
.p2-rad.on i::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--pv-royal,#004BE5)}
.p2-you{margin:6px 0 0;font-size:12px;color:var(--pv-muted)}
.p2-conf2{margin:18px 0;padding:16px 18px;border:1px solid var(--pv-line);border-radius:10px;background:var(--pv-bg)}
.p2-conf2 h3{margin:0 0 10px;font:600 13px 'Inter',sans-serif;color:var(--pv-text)}
.p2-conf2 .p2-ck{align-items:flex-start;margin:0 0 12px;font-size:12px;line-height:1.45}
.p2-conf2 .p2-ck i{flex:none;margin-top:1px}

#dz{display:none!important}
.b-soontag{vertical-align:2px;margin-left:6px}

.pv.rpt-static{position:relative;inset:auto;display:block;background:transparent;border:1px solid var(--pv-line);border-radius:14px;overflow:hidden;box-shadow:0 20px 50px -24px rgba(5,43,114,.28)}
.rpt-static .rpt-scroll{max-height:760px;overflow:auto;padding:28px 20px;background:var(--pv-side)}
.rpt-static .p2-doc{box-shadow:none}
@media (max-width:700px){.rpt-static .rpt-scroll{max-height:620px;padding:12px 8px}.rpt-static .p2-doc{padding:20px 16px}}

@media (min-width:761px){.plans{grid-template-columns:repeat(2,1fr)!important;max-width:900px;margin-left:auto;margin-right:auto}}

.btn.btn--try .btn-arr{display:inline-grid;width:16px;margin-left:8px;opacity:1}

/* ===== ProVote demo module v2 ===== */
.pv-note-demo .pv-demo-tag{--pv-royal:var(--accent)}
/* v30: every demo uses a fingertip circle, never a pointer arrow */
.pv-cursor svg{display:none!important}
.pv-cursor::after{content:"";position:absolute;left:-13px;top:-14px;width:36px;height:36px;border-radius:50%;background:rgba(15,23,42,.16);box-shadow:0 0 0 2px rgba(255,255,255,.88),0 6px 14px -4px rgba(15,23,42,.35);transition:transform .14s ease,background-color .14s ease,opacity .3s ease}
.pv-cursor.down::after{transform:scale(.78);background:rgba(15,23,42,.3)}
.pv-cursor.lift::after{opacity:0;transform:scale(1.3)}
html[data-theme="dark"] .pv-cursor::after,html[data-theme="dark"] .nx-cur::after,html[data-theme="dark"] .np-cur::after{background:rgba(255,255,255,.22);box-shadow:0 0 0 2px rgba(255,255,255,.75),0 6px 14px -4px rgba(0,0,0,.5)}
/* ================= v45 module: the four live reports, drawn as ProVote shows them on the web ================= */
/* standalone page: the module sits where it sits on the homepage, without the hero copy above it */
.mod-page .b-hero{padding-top:clamp(36px,5vw,64px)}
.mod-page .b-stage{margin-top:0}

/* report: links inside the document */
.p2 .p2-itl{display:inline;padding:0;border:0;background:none;font:inherit;line-height:inherit;color:inherit!important;text-align:left;cursor:pointer;border-radius:2px;transition:color .15s}
.p2 .p2-itl:hover{color:var(--pv-royal)!important;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.p2 .p2-lnk{display:inline;padding:0;border:0;background:none;font:inherit;font-style:inherit;color:var(--pv-royal)!important;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--pv-royal) 40%,transparent);text-underline-offset:2px}
.p2 .p2-lnk:hover{text-decoration-color:currentColor}
.p2-doc a{color:var(--pv-royal);text-decoration:underline;text-underline-offset:2px}
.p2-flash{animation:p2Jump 1.8s ease-out}
@keyframes p2Jump{0%,35%{background:color-mix(in srgb,var(--pv-royal) 9%,transparent);box-shadow:0 0 0 8px color-mix(in srgb,var(--pv-royal) 9%,transparent)}100%{background:transparent;box-shadow:0 0 0 8px transparent}}
.p2-pia{scroll-margin-top:12px;border-radius:2px}

/* report: the commentary */
.p2-com{counter-reset:none}
.p2-com>p:last-child{margin-bottom:0}
.p2-h3{margin:20px 0 7px;font:700 10.5px/1.3 'Inter',sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--pv-text)}
.p2-com>.p2-h3:first-child{margin-top:2px}
.p2-h4{margin:16px 0 5px;font:700 14px/1.35 'Source Serif 4',Georgia,serif;color:var(--pv-text)}
.p2-h3+.p2-h4{margin-top:6px}
.p2-doc sup{font-size:.68em;line-height:0;vertical-align:.5em;color:var(--pv-muted)}
.p2-ul{margin:2px 0 10px;padding:0;list-style:none}
.p2-ul li{position:relative;margin:0 0 5px;padding-left:16px;font-size:12.5px;line-height:1.6;color:var(--pv-body)}
.p2-ul li::before{content:"";position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:1.5px;background:var(--pv-royal);transform:rotate(45deg)}
.p2-ul li b,.p2-doc p b{font-weight:600;color:var(--pv-text)}
.p2-ctw{margin:6px 0 12px}
.p2-it.p2-ct td{font-size:11.5px;line-height:1.45}
.p2-it.p2-ct td.b2{white-space:nowrap}
.p2-lbl2{margin:9px 0 3px;font:600 11.5px/1.35 'Inter',sans-serif;color:var(--pv-text)}

/* report: tables */
.p2-cmp th{max-width:330px;white-space:normal}
.p2-brdw{margin-bottom:6px}
.p2-it.p2-brd td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.p2-it.p2-brd tr.sub td{padding:7px 4px 5px;background:var(--pv-chip);font:700 9px/1.2 'Inter',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--pv-muted)}
.p2-it.p2-brd tr.cont td.b{color:var(--pv-faint)}
.p2-fnk{border-bottom:1px dotted currentColor;cursor:default}
.p2-it.p2-dt td,.p2-it.p2-dt th{font-size:11px}
.p2-it.p2-dt td.sm{color:var(--pv-muted)}

/* report: disclosures and disclaimer, kept out of the way */
.p2-discs{margin-top:22px;border-bottom:1px solid var(--pv-line)}
.p2-det{border-top:1px solid var(--pv-line)}
.p2-det>summary{display:flex;align-items:center;gap:8px;padding:10px 0;list-style:none;cursor:pointer;font:700 10.5px/1.3 'Inter',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--pv-muted);transition:color .15s}
.p2-det>summary::-webkit-details-marker{display:none}
.p2-det>summary::before{content:"";flex:none;width:6px;height:6px;margin:0 3px 0 1px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.p2-det[open]>summary::before{transform:rotate(45deg) translate(-1px,-1px)}
.p2-det>summary:hover,.p2-det[open]>summary{color:var(--pv-text)}
.p2-detb{padding:0 0 12px 18px}
.p2-detb p{font-size:11.5px!important}

/* ================= charts ================= */
.p2 .xc{--xa:var(--pv-royal);--xn:var(--pv-ink,#052B72);--xg:#A1A8B3;--xt:color-mix(in srgb,var(--pv-royal) 26%,var(--pv-bg));position:relative;margin:8px 0 16px}
html[data-theme="dark"]:not([data-demo="light"]) .p2 .xc,.pv-host[data-pvtheme="dark"] .p2 .xc{--xn:#A9C2FF;--xg:#6E7889}
html[data-theme="dark"] .pv-host[data-pvtheme="light"] .p2 .xc{--xn:#052B72;--xg:#A1A8B3}
.xc-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:6px}
.xc-hdt{min-width:0}
.xc-t{display:block;font:700 13px/1.35 'Inter',sans-serif;color:var(--pv-text);letter-spacing:-.005em}
.xc-s{display:block;margin-top:2px;font-size:11.5px;line-height:1.4;color:var(--pv-muted)}
.xc-chip{flex:none;margin-top:1px;padding:4px 9px;border-radius:999px;background:var(--pv-chip);box-shadow:inset 0 0 0 1px var(--pv-line);font:600 10.5px/1.2 'Inter',sans-serif;color:var(--pv-text);white-space:nowrap;font-variant-numeric:tabular-nums}
.xc-chip.down{background:#FEF3F2;box-shadow:inset 0 0 0 1px #FECDCA;color:#B42318}
html[data-theme="dark"]:not([data-demo="light"]) .xc-chip.down,.pv-host[data-pvtheme="dark"] .xc-chip.down{background:rgba(240,68,56,.13);box-shadow:inset 0 0 0 1px rgba(240,68,56,.32);color:#FDA29B}
html[data-theme="dark"] .pv-host[data-pvtheme="light"] .xc-chip.down{background:#FEF3F2;box-shadow:inset 0 0 0 1px #FECDCA;color:#B42318}
.xc-leg{display:flex;flex-wrap:wrap;gap:2px 4px;margin:0 0 4px -6px}
.p2 .xc-li{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 7px;border:0;border-radius:999px;background:none;font:500 11px/1 'Inter',sans-serif;color:var(--pv-muted)!important;white-space:nowrap;transition:background-color .15s,opacity .15s,color .15s}
.p2 button.xc-li{cursor:pointer}
.p2 button.xc-li:hover{background:var(--pv-hover);color:var(--pv-text)!important}
.xc-li.off{opacity:.42}
.xc-li.off i{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--pv-faint);border-color:var(--pv-faint)!important}
.xc-li i{flex:none;width:10px;height:10px;border-radius:2px}
.xc-li i.k-r{background:var(--xa)}
.xc-li i.k-n{background:var(--xn)}
.xc-li i.k-co{width:14px;height:3px;border-radius:2px;background:var(--xa)}
.xc-li i.k-sp,.xc-li i.k-pe{width:14px;height:2px;border-radius:2px;background:var(--xg)}
.xc-li i.k-cut,.xc-li i.k-mk{width:14px;height:0;border-radius:0;border-top:2px dashed var(--xn)}
.xc-li.off i.k-co,.xc-li.off i.k-sp,.xc-li.off i.k-pe{height:3px}
.xc-plot{position:relative}
.xc-svg{display:block;width:100%;height:auto;margin:0 auto;overflow:visible}
.xc-svg text{font-family:'Inter',sans-serif}
.xc-g{stroke:var(--pv-line2);stroke-width:.8}
.xc-z{stroke:color-mix(in srgb,var(--pv-text) 40%,transparent);stroke-width:1}
.xc-ref{stroke:color-mix(in srgb,var(--pv-text) 45%,transparent);stroke-width:1;stroke-dasharray:4 4}
.xc-ax{font-size:10.5px;font-weight:500;fill:var(--pv-muted)}
.xc-xl{font-weight:600;fill:var(--pv-body)}
.xc-b{transition:opacity .15s}
.xc-b.b-r{fill:var(--xa)}
.xc-b.b-n{fill:var(--xn)}
.xc-b.b-t{fill:var(--xt)}
.xc-v{font-size:10.5px;font-weight:600;fill:var(--pv-muted);font-variant-numeric:tabular-nums;transition:opacity .15s}
.xc-v.v-r{fill:var(--xa)}
.xc-v.v-n{fill:var(--xn)}
.xc-l{fill:none;stroke-linejoin:round;stroke-linecap:round;transition:opacity .15s,stroke-width .15s}
.xc-l.l-co{stroke:var(--xa);stroke-width:2.4}
.xc-l.l-sp{stroke:var(--xg);stroke-width:1.6}
.xc-l.l-cut{stroke:var(--xn);stroke-width:1.6;stroke-dasharray:5 4}
.xc-l.l-mk{stroke:var(--xn);stroke-width:1.8;stroke-dasharray:4 3}
.xc-l.l-pe{stroke:var(--xg);stroke-width:1.25}
.xc-l.l-nm{stroke:var(--xn);stroke-width:2.2}
.xc-area{fill:color-mix(in srgb,var(--xa) 8%,transparent)}
.xc-ar{transition:opacity .15s}
.xc-ar.a-o{fill:color-mix(in srgb,var(--xa) 7%,transparent)}
.xc-ar.a-n{fill:color-mix(in srgb,var(--xn) 6%,transparent)}
.xc-pt{fill:var(--pv-bg);stroke-width:2.2;transition:opacity .15s}
.xc-pt.p-o{stroke:var(--xa)}
.xc-pt.p-n{stroke:var(--xn)}
.xc-d.d-co{fill:var(--xa)}
.xc-d.d-sp{fill:var(--xg)}
.xc-d.d-cut{fill:var(--xn)}
.xc-el{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;transition:opacity .15s}
.xc-el .xc-eln{font-weight:500;fill:var(--pv-muted)}
.xc-el.l-co{fill:var(--xa)}
.xc-el.l-sp,.xc-el.l-pe{fill:var(--xg)}
.xc-el.l-cut,.xc-el.l-mk{fill:var(--xn)}
.xc-el.l-pe .xc-eln{fill:var(--xg)}
.xc-cross{stroke:color-mix(in srgb,var(--pv-text) 35%,transparent);stroke-width:1;stroke-dasharray:3 3}
.xc-hd2{fill:var(--pv-bg);stroke-width:2.2}
.xc-hd2.d-co{stroke:var(--xa)}
.xc-hd2.d-sp,.xc-hd2.d-pe{stroke:var(--pv-muted)}
.xc-hd2.d-cut,.xc-hd2.d-mk{stroke:var(--xn)}
.xc-hit{fill:transparent}
/* hover: the group under the pointer stays, the rest fades back */
.xc.xc-hl g[data-i]:not(.on) .xc-b,.xc.xc-hl g[data-i]:not(.on) .xc-v{opacity:.32}
.xc.xc-hl g[data-i]:not(.on) .xc-pt{opacity:.45}
/* one series picked out from the legend or the pointer */
.xc.hs-on .xs:not(.hs){opacity:.16}
.xc.hs-on .xc-area{opacity:.3}
.xc.hs-on .xc-l.hs.l-pe{stroke:var(--pv-text);stroke-width:2}
.xc.hs-on .xc-el.hs.l-pe,.xc.hs-on .xc-el.hs.l-pe .xc-eln{fill:var(--pv-text)}
.xc.hs-on .xc-l.hs{stroke-width:2.6}
/* the hover note: white, a line or two */
.xc-tip{position:absolute;left:0;top:0;z-index:4;padding:6px 9px;background:#fff;border:1px solid #E2E8F0;border-radius:7px;box-shadow:0 8px 20px -8px rgba(15,23,42,.28);font:400 11.5px/1.4 'Inter',sans-serif;color:#0F172A;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 6px));transition:opacity .12s}
.xc-tip.below{transform:translate(-50%,0)}
.xc-tip.on{opacity:1}
.xc-tip b{display:block;font-weight:600}
.xc-tip span{display:block;color:#475569;font-variant-numeric:tabular-nums}
.xc-src{margin-top:4px;font-size:10.5px;line-height:1.45;color:var(--pv-muted)}
.p2-perf .xc{margin-top:2px}
.p2-com .xc{margin:12px 0 18px}

.xc-li i.k-ref{width:14px;height:0;border-radius:0;border-top:1.5px dashed color-mix(in srgb,var(--pv-text) 50%,transparent)}
.p2-pia:has(+.p2-discs){border-bottom:0}
.p2-piat span{text-transform:none}
.p2-audt{margin-top:10px}


/* demo placeholder while its script loads */
[data-pv].pv-loading,[data-rpt-wait]{position:relative}
[data-pv].pv-loading::after,[data-rpt-wait]::after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;background:linear-gradient(100deg,var(--pv-chip,rgba(127,127,127,.08)) 30%,rgba(127,127,127,.18) 50%,var(--pv-chip,rgba(127,127,127,.08)) 70%);background-size:300% 100%;animation:pvSkel 1.4s ease-in-out infinite}
@keyframes pvSkel{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){[data-pv].pv-loading::after{animation:none}}

.prose a{overflow-wrap:anywhere}
.prose pre{white-space:pre-wrap;overflow-wrap:anywhere}
.book-bd iframe{width:calc(100%/.88);height:calc(100%/.88);transform:scale(.88);transform-origin:0 0}
