/* Midway Auto: landing + host sign-in (palette A: ink #0A0A0F, electric blue #2347F5, light gray #F4F5F7; Sora headings, Inter body, self-hosted).
   Same-origin only, no inline styles needed, works under the strict public CSP (font-src 'self'). Mobile first, >=760px widens. */
@font-face{font-family:"Inter Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/Inter-Variable-latin.woff2") format("woff2")}
@font-face{font-family:"Sora Variable";font-style:normal;font-weight:100 800;font-display:swap;src:url("fonts/Sora-Variable-latin.woff2") format("woff2")}
:root{--ink:#0A0A0F;--muted:#5B6270;--bg:#F4F5F7;--card:#fff;--line:#E2E4E9;--line2:#CDD1D9;--pri-t:#B9C0D4;--acc:#2347F5;--acc-d:#1A38D1;--acc-dk:#8EA2FF;--tint:#EEF2FF;
--bad:#B3261E;--ok:#1F7A55;--warnbg:#FEF3C7;--r:16px;--rc:12px;
--sans:"Inter Variable",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--display:"Sora Variable","Inter Variable",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.site{margin:0;font:16px/1.55 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
body.site h1,body.site h2,body.site h3{font-family:var(--display);line-height:1.12;letter-spacing:-.025em;margin:0 0 .5em;font-weight:700}
body.site a{color:var(--acc)}
body.site :focus-visible{outline:3px solid var(--acc-dk);outline-offset:2px}
.demo-banner{background:#b91c1c;color:#fff;text-align:center;font:600 14px/1.4 var(--sans);padding:6px 10px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}

/* brand + header */
.brand{min-height:44px;display:inline-flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none}
.brand .mark{width:22px;height:22px;border-radius:50%;background:linear-gradient(var(--acc) 0 44%,transparent 44% 56%,var(--acc) 56%)}
.brand .wm{font:700 15px/1 var(--display);letter-spacing:.16em;text-transform:uppercase}.brand .wm b{font-weight:800}
.sitehead{background:var(--ink)}
.sitehead .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}
.hostlink{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid #3b4156;color:#fff!important;text-decoration:none;font-weight:600;font-size:15px}
.hostlink:hover{background:#fff;color:var(--ink)!important;border-color:#fff}

/* buttons */
.cta,.cta2{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:var(--rc);font:700 17px var(--sans);text-decoration:none;border:0;cursor:pointer;width:100%}
.cta{background:var(--acc);color:#fff!important}.cta:hover{background:var(--acc-d)}
.cta2{background:transparent;color:#fff!important;border:1.5px solid #3b4156}.cta2:hover{background:#fff;color:var(--ink)!important}

/* hero */
.hero{background:var(--ink);color:#fff;padding:36px 0 64px;position:relative;overflow:hidden}
.hero .wrap{position:relative;z-index:1}
.eyebrow{margin:0 0 14px;font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--acc-dk)}
.hero h1{font-size:40px;max-width:10em;margin-bottom:.4em;color:#fff}
.hero .lead{max-width:30em;margin:0 0 24px;font-size:18px;color:var(--pri-t)}
.hero .btns{display:grid;gap:12px;max-width:420px}
.hero .road{position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,var(--acc) 0 36px,transparent 36px 64px);opacity:.9}
.hero .orb{position:absolute;right:-90px;top:-70px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#2f56ff,#142a9a 60%,#0A0A0F 72%);opacity:.55}

/* trust + steps */
.section{padding:44px 0 8px}
.section h2{font-size:26px}
.trust{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}
.trust li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:0 1px 2px rgba(10,10,15,.05)}
.trust b{display:block;font:700 18px var(--display);letter-spacing:-.02em;margin-bottom:4px}
.trust span{color:var(--muted)}
.trust i{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--tint);color:var(--acc-d);align-items:center;justify-content:center;font:700 15px var(--display);font-style:normal;margin-bottom:10px}
.how{counter-reset:s;display:grid;gap:14px;margin:18px 0 0;padding:0;list-style:none}
.how li{counter-increment:s;display:flex;gap:14px;align-items:flex-start}
.how li:before{content:counter(s);flex:none;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font:700 14px/32px var(--display);text-align:center}
.how b{display:block}.how span{color:var(--muted)}
.bottomcta{margin:40px 0 0;background:var(--ink);color:#fff;border-radius:24px;padding:28px 22px}
.bottomcta h2{color:#fff;font-size:26px}.bottomcta p{color:var(--pri-t);margin:0 0 18px}
.bottomcta .cta{max-width:420px}
.sitefoot{color:var(--muted);font-size:14px;padding:32px 0 40px}
.sitefoot .wrap{display:flex;flex-direction:column;gap:6px}
.sitefoot a{color:var(--ink);font-weight:600}

/* sign-in */
body.signin{background:var(--ink);min-height:100vh;display:flex;flex-direction:column}
.signin .top{padding:22px 20px 0;max-width:460px;width:100%;margin:0 auto}
.signin .shell{flex:1;display:flex;flex-direction:column;justify-content:center;padding:20px;max-width:460px;width:100%;margin:0 auto}
.signcard{background:#fff;color:var(--ink);border-radius:24px;padding:28px 24px 24px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.signcard .eyebrow{color:var(--acc)}
.signcard h1{font-size:32px;margin:0 0 8px}
.signcard .sub{margin:0 0 20px;color:var(--muted)}
.signcard label.lbl{display:block;font-weight:600;font-size:15px;margin:0 0 6px}
.pw{position:relative}
.pw input{width:100%;font:16px var(--sans);color:var(--ink);padding:12px 78px 12px 14px;min-height:52px;border:1px solid var(--line2);border-radius:var(--rc);background:#fff}
.pw input:focus{border-color:var(--acc);outline:3px solid var(--tint);outline-offset:0}
.pw .pwtoggle{position:absolute;right:4px;top:4px;height:44px;min-width:60px;padding:0 12px;border:0;border-radius:8px;background:var(--tint);color:var(--acc-d);font:600 14px var(--sans);cursor:pointer}
.pw .pwtoggle[hidden]{display:none}
.remember{display:flex;align-items:center;gap:12px;margin:16px 0 20px;min-height:44px;font-weight:500;cursor:pointer}
.remember input{width:22px;height:22px;accent-color:var(--acc);margin:0;flex:none}
.signcard .go{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;border:0;border-radius:var(--rc);background:var(--acc);color:#fff;font:700 17px var(--sans);cursor:pointer}
.signcard .go:hover{background:var(--acc-d)}
.signerr{background:#FDF0EE;border:1px solid #F3C6C1;border-left:4px solid var(--bad);color:#5c1612;border-radius:var(--rc);padding:12px 14px;margin:0 0 16px;font-weight:500}
.demo-box{background:var(--warnbg);border:2px solid #d97706;color:#3a2a00;padding:12px 14px;margin:0 0 18px;border-radius:var(--rc);font-size:15px}
.demo-box code{background:#fff;padding:2px 6px;border-radius:6px;border:1px solid #e5c07b;font-size:14px}
.signback{display:block;text-align:center;margin:18px 0 0;color:var(--pri-t)!important;text-decoration:none;font-size:15px;min-height:44px;line-height:44px}
.signback:hover{color:#fff!important}
.signnote{color:var(--pri-t);text-align:center;font-size:14px;padding:0 20px 24px;margin:0}

@media(min-width:760px){
 .hero{padding:80px 0 104px}.hero h1{font-size:60px}.hero .lead{font-size:20px}
 .hero .btns{grid-template-columns:auto auto;justify-content:start;max-width:none}
 .cta,.cta2{width:auto;min-width:200px}
 .hero .orb{right:4%;top:-40px;width:520px;height:520px}
 .trust{grid-template-columns:repeat(3,1fr)}
 .how{grid-template-columns:repeat(3,1fr)}
 .bottomcta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px 40px}.bottomcta .cta{width:auto}
 .sitefoot .wrap{flex-direction:row;justify-content:space-between}
 .signcard{padding:36px 36px 32px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.sitefoot a{display:inline-flex;align-items:center;min-height:44px}
.pw.uname input{padding-right:14px}.signcard label.lbl2{margin-top:14px}
