/* QUORUM - premium / awwwards-grade. Linear-dark, cinematic, scroll-reveal motion. */

:root{
  --bg:#06070a; --bg2:#0b0d12; --panel:#11141b; --panel2:#161a23; --glass:rgba(20,24,33,.6);
  --line:#1d212b; --line2:#2a3040;
  --txt:#f3f5f9; --txt2:#a3abbb; --faint:#6b7384; --dim:#454c5c;
  --acc:#7c87ff; --acc2:#5E6AD2; --acc3:#9d6bff; --acc-soft:rgba(124,135,255,.14);
  --green:#3fce8e; --green-soft:rgba(63,206,142,.14); --amber:#e0a93b; --amber-soft:rgba(224,169,59,.14); --red:#f0708a; --red-soft:rgba(240,112,138,.13);
  --sans:"Inter",system-ui,sans-serif; --fm:ui-monospace,"JetBrains Mono",monospace;
  --maxw:1600px; --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--txt2);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"cv01","ss01"}
h1,h2,h3,h4{color:var(--txt);letter-spacing:-.03em;line-height:1.04;text-wrap:balance}
a{color:var(--acc);text-decoration:none}
.mono{font-family:var(--fm);font-variant-numeric:tabular-nums}
em{font-style:normal;background:linear-gradient(110deg,var(--acc),var(--acc3));-webkit-background-clip:text;background-clip:text;color:transparent}
.kicker{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}

/* scroll-reveal motion */
.reveal{opacity:0;transform:translateY(26px);animation:reveal both linear;animation-timeline:view();animation-range:entry 0% cover 26%}
.reveal.d1{animation-range:entry 4% cover 30%}.reveal.d2{animation-range:entry 8% cover 34%}.reveal.d3{animation-range:entry 12% cover 38%}.reveal.d4{animation-range:entry 16% cover 42%}
@keyframes reveal{to{opacity:1;transform:none}}
@supports not (animation-timeline:view()){.reveal{opacity:1;transform:none;animation:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;animation:none}*{animation-duration:.001s!important;transition:none!important}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:14.5px;border:none;cursor:pointer;border-radius:10px;padding:10px 17px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,border-color .2s}
.btn i{font-size:15px}.btn.lg{padding:13px 22px;font-size:15.5px;border-radius:12px}.btn.sm{padding:8px 14px;font-size:13.5px}
.btn.primary{background:linear-gradient(180deg,var(--acc),var(--acc2));color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 30px -10px var(--acc2)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 18px 44px -12px var(--acc2)}
.btn.glass{background:var(--glass);color:var(--txt);border:1px solid var(--line2);backdrop-filter:blur(10px)}
.btn.glass:hover{border-color:var(--acc);color:#fff;transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--txt2);border:1px solid transparent}.btn.ghost:hover{color:var(--txt);background:var(--panel)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.icon-btn{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:var(--txt2)}
.icon-btn:hover{color:var(--txt);border-color:var(--line2)}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(6,7,10,.6);backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--line)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--txt);letter-spacing:-.01em}
.logo-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,var(--acc),var(--acc3));display:grid;place-items:center;color:#fff;font-size:16px;box-shadow:0 6px 18px -6px var(--acc2)}
.nav-mid{display:flex;gap:4px;margin-right:auto}
.nav-mid a{color:var(--txt2);font-size:14.5px;font-weight:500;padding:7px 12px;border-radius:8px;transition:.2s}
.nav-mid a:hover{color:var(--txt);background:var(--panel)}
.nav-end{display:flex;align-items:center;gap:10px}
@media(max-width:880px){.nav-mid{display:none}.nav-end .btn.primary{display:none}}

/* HERO */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);min-height:92vh;display:flex;align-items:center}
#auroraCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.85}
.hero-glow{position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:900px;height:700px;background:radial-gradient(closest-side,var(--acc-soft),transparent 70%);z-index:0;pointer-events:none;filter:blur(20px)}
.hero-grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);opacity:.35}
.hero-inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:60px 24px 90px;display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:center;width:100%}
@media(max-width:940px){.hero-inner{grid-template-columns:1fr;gap:42px;padding:48px 24px 70px}}
.pill{display:inline-flex;align-items:center;gap:9px;background:var(--glass);border:1px solid var(--line2);color:var(--txt2);font-size:12.5px;font-weight:500;padding:6px 13px;border-radius:999px;margin-bottom:24px;backdrop-filter:blur(8px)}
.pdot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-soft),0 0 10px var(--green)}
.hero h1{font-size:clamp(44px,6.6vw,82px);font-weight:700;margin-bottom:22px;letter-spacing:-.04em}
.hero .lede{font-size:clamp(17px,1.6vw,20px);color:var(--txt2);max-width:52ch;margin-bottom:30px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.hero-foot{font-size:13.5px;color:var(--faint);display:flex;align-items:center;gap:8px}
.hero-foot i{color:var(--green);font-size:8px}
.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:var(--dim);font-size:22px;z-index:1;animation:bob 2s ease-in-out infinite}
@keyframes bob{50%{transform:translate(-50%,8px)}}

/* HERO product window */
.win{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line2);border-radius:16px;overflow:hidden;box-shadow:0 40px 90px -40px #000,0 0 0 1px rgba(124,135,255,.06),0 0 60px -20px var(--acc-soft);position:relative}
.win::after{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(140deg,rgba(124,135,255,.5),transparent 45%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.win-bar{display:flex;align-items:center;gap:7px;padding:12px 15px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.2)}
.wd{width:9px;height:9px;border-radius:50%;background:var(--line2)}
.win-t{margin-left:8px;font-family:var(--fm);font-size:11.5px;color:var(--faint)}
.win-body{padding:20px}
.win-balance{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.wb-l{font-size:13px;color:var(--txt2)}
.wb-v{display:flex;align-items:baseline;gap:6px;font-family:var(--fm)}
.wb-v b{font-size:34px;font-weight:700;color:var(--txt);letter-spacing:-.02em}
.wb-v span{font-size:13px;color:var(--faint)}
.win-spark{display:flex;align-items:flex-end;gap:6px;height:54px;margin-bottom:18px}
.win-spark span{flex:1;height:var(--h);background:linear-gradient(180deg,var(--acc),var(--acc2));border-radius:4px 4px 0 0;opacity:.85;animation:grow 1s var(--ease) both}
.win-spark span:nth-child(2){animation-delay:.05s}.win-spark span:nth-child(3){animation-delay:.1s}.win-spark span:nth-child(4){animation-delay:.15s}.win-spark span:nth-child(5){animation-delay:.2s}.win-spark span:nth-child(6){animation-delay:.25s}.win-spark span:nth-child(7){animation-delay:.3s}
@keyframes grow{from{height:0;opacity:0}}
.win-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:16px}
.wc{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:11px 12px}
.wc span{display:block;font-size:11px;color:var(--faint);margin-bottom:3px}
.wc b{font-family:var(--fm);font-size:19px;color:var(--txt);font-weight:600}
.win-prop{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:14px}
.wp-empty{color:var(--faint);font-size:13px}
.wp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.wp-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:5px}
.wp-amt{font-family:var(--fm);font-size:13px;color:var(--txt)}
.wp-title{font-size:14.5px;color:var(--txt);font-weight:500;line-height:1.35}

/* MARQUEE */
.marquee{border-bottom:1px solid var(--line);background:var(--bg2);overflow:hidden;white-space:nowrap;padding:12px 0}
.mq-track{display:inline-flex;animation:mq 24s linear infinite}
.mq-track span{font-family:var(--fm);font-size:13px;letter-spacing:.14em;color:var(--faint)}
@keyframes mq{to{transform:translateX(-50%)}}

/* STATS */
.stats{max-width:var(--maxw);margin:0 auto;padding:64px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:64px}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}}
.stat{background:var(--bg);padding:30px 26px;display:flex;flex-direction:column;gap:5px;justify-content:center}
.stat b{font-family:var(--fm);font-size:40px;font-weight:700;color:var(--txt);letter-spacing:-.03em}
.stat span{font-size:13px;color:var(--faint)}

/* SECTION HEADS */
.sec-head{max-width:var(--maxw);margin:0 auto 40px;padding:0 24px;text-align:center}
.sec-head h2{font-size:clamp(30px,4vw,50px);font-weight:700}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;text-align:left;margin-bottom:28px}
.sec-head.row .count{font-family:var(--fm);color:var(--faint);font-size:13px}
section{padding:80px 0}

/* HOW */
.steps{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:18px;padding:30px 28px;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;overflow:hidden}
.step::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 50% -20%,var(--acc-soft),transparent 70%);opacity:0;transition:opacity .3s}
.step:hover{transform:translateY(-6px);border-color:var(--line2);box-shadow:0 30px 60px -30px #000}
.step:hover::before{opacity:1}
.step-i{width:48px;height:48px;border-radius:12px;background:var(--acc-soft);color:var(--acc);display:grid;place-items:center;font-size:22px;margin-bottom:18px;border:1px solid var(--line2)}
.step-n{font-family:var(--fm);font-size:12px;color:var(--faint);position:absolute;top:30px;right:28px}
.step h3{font-size:20px;font-weight:600;margin-bottom:9px}
.step p{font-size:14.5px;color:var(--txt2)}

/* RUBRIC */
.rubric{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.rubric-card{position:relative;border-radius:20px;padding:40px 42px;background:linear-gradient(160deg,var(--panel),var(--bg2));border:1px solid var(--line2);overflow:hidden}
.rubric-card::before{content:"";position:absolute;top:-50%;right:-10%;width:480px;height:480px;background:radial-gradient(closest-side,var(--acc-soft),transparent 70%);filter:blur(10px)}
.rubric-h{position:relative;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--acc);margin-bottom:16px}
.rubric-card p{position:relative;font-size:21px;line-height:1.6;color:var(--txt);max-width:80ch;font-weight:400}
.rubric-f{position:relative;margin-top:18px;font-size:14px;color:var(--faint)}

/* PROPOSALS */
.proposals{max-width:var(--maxw);margin:0 auto;padding:80px 24px}
.prop-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.prop{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:22px 24px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .2s;background:var(--bg)}
.prop:last-child{border-bottom:none}
.prop:hover{background:var(--panel)}
.prop-title{font-size:16.5px;font-weight:600;color:var(--txt);letter-spacing:-.01em;margin-bottom:4px}
.prop-sum{font-size:13.5px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:64ch}
.prop-r{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.prop-amt{font-family:var(--fm);font-size:15px;color:var(--txt);font-weight:600}
.badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px}
.b-pending{background:var(--amber-soft);color:var(--amber)}.b-funded{background:var(--green-soft);color:var(--green)}.b-rejected{background:var(--red-soft);color:var(--red)}
.prop-reason{grid-column:1/-1;font-size:13px;color:var(--txt2);border-left:2px solid var(--line2);padding-left:12px;margin-top:4px}
.pl-empty{padding:44px;text-align:center;color:var(--faint);font-size:14px}

/* WHY */
.why{max-width:var(--maxw);margin:0 auto}
.why-grid{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:760px){.why-grid{grid-template-columns:1fr}}
.why-card{border:1px solid var(--line);border-radius:18px;padding:30px 28px;background:var(--bg2);transition:transform .3s var(--ease),border-color .3s}
.why-card:hover{transform:translateY(-5px);border-color:var(--line2)}
.why-card i{font-size:24px;color:var(--acc);display:block;margin-bottom:14px}
.why-card h3{font-size:18px;font-weight:600;margin-bottom:7px}
.why-card p{font-size:14.5px;color:var(--txt2)}

/* CTA */
.cta{max-width:var(--maxw);margin:0 auto;padding:0 24px 96px}
.cta-card{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line2);padding:clamp(46px,7vw,80px);text-align:center;background:var(--panel)}
#ctaCanvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7}
.cta-body{position:relative;z-index:1}
.cta-body h2{font-size:clamp(30px,4vw,46px);font-weight:700;margin-bottom:14px}
.cta-body p{color:var(--txt2);font-size:18px;max-width:46ch;margin:0 auto 26px}

/* FOOTER */
.footer{border-top:1px solid var(--line);background:var(--bg2)}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:56px 24px 32px;display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.foot-brand{max-width:300px}.foot-brand p{margin-top:12px;font-size:14px;color:var(--faint)}
.foot-cols{display:flex;gap:60px;flex-wrap:wrap}
.foot-col{display:flex;flex-direction:column;gap:11px}
.foot-h{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin-bottom:4px}
.foot-col a{color:var(--txt2);font-size:14px;transition:.2s}.foot-col a:hover{color:var(--acc)}
.foot-base{border-top:1px solid var(--line);padding:18px 24px;display:flex;justify-content:space-between;font-family:var(--fm);font-size:12px;color:var(--faint)}
.net{display:flex;align-items:center;gap:7px}.net-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}

/* FORM AS IN-SITE PAGE + document composer */
.scrim{position:fixed;inset:0;background:rgba(6,7,10,.4);opacity:0;pointer-events:none;transition:opacity .25s;z-index:80}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;inset:0;width:100%;height:100dvh;background:var(--bg);transform:translateY(20px);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;z-index:81;overflow-y:auto}
.drawer.on{transform:none;opacity:1;visibility:visible}
.drawer-h{max-width:680px;margin:0 auto;padding:24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:rgba(6,7,10,.8);backdrop-filter:blur(10px)}
.drawer-h h3{font-size:20px;font-weight:600}
.drawer-b{max-width:680px;margin:0 auto;padding:34px 24px 70px}
label{display:block;font-size:12.5px;font-weight:600;color:var(--txt);margin:16px 0 7px}
input,textarea{width:100%;background:var(--panel);border:1px solid var(--line2);border-radius:10px;padding:11px 14px;font-family:var(--sans);font-size:15px;color:var(--txt);transition:border .15s,box-shadow .15s}
input:focus,textarea:focus{outline:2px solid var(--acc2);outline-offset:2px;border-color:var(--acc2)}
textarea{resize:vertical;min-height:90px}
.hint{font-size:12.5px;color:var(--faint);margin-top:7px}
.rubric-mini{font-size:13px;color:var(--txt2);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:13px 15px}
.rubric-mini b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--acc);margin-bottom:6px}
.doc-title{border:none!important;background:transparent!important;font-size:30px;font-weight:700;color:var(--txt);padding:8px 0;width:100%;letter-spacing:-.02em;box-shadow:none!important}
.doc-title:focus{outline:none!important}
.doc-body{border:none!important;background:transparent!important;font-size:16px;line-height:1.75;color:var(--txt);width:100%;min-height:240px;resize:vertical;padding:0;box-shadow:none!important}
.doc-body:focus{outline:none!important}
.doc-foot{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:18px;margin-top:14px}
.amt-l{font-size:13px;color:var(--faint)}.amt{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--txt2)}.amt input{width:84px;padding:8px 10px}
.doc-foot .btn{margin-left:auto}
.verdict-box{border-radius:10px;padding:13px 15px;margin:14px 0;font-size:13.5px;line-height:1.5;border:1px solid}
.vb-ok{background:var(--green-soft);border-color:rgba(63,206,142,.3);color:#9ee9c4}.vb-no{background:var(--red-soft);border-color:rgba(240,112,138,.3);color:#f4a8b7}
.kv{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv .k{color:var(--faint);font-family:var(--fm);font-size:12px}.kv .v{text-align:right;color:var(--txt);max-width:60%;word-break:break-word}
.d-title{font-size:22px;font-weight:600;color:var(--txt);margin-bottom:4px}.d-amt{font-family:var(--fm);font-size:24px;color:var(--acc);font-weight:600;margin-bottom:14px}
.btn.block{width:100%;justify-content:center;margin-top:14px}

/* TOASTS */
#log{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:9px;z-index:90;max-width:330px}
.toast{background:var(--panel);border:1px solid var(--line2);border-left:3px solid var(--acc);border-radius:10px;padding:12px 15px;font-size:13px;color:var(--txt);box-shadow:0 12px 30px -12px #000}
.toast.err{border-left-color:var(--red)}.toast.ok{border-left-color:var(--green)}
.toast .tt{display:block;font-family:var(--fm);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:2px}
.spinner{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}

/* GLOBAL OVERFLOW GUARD */
html,body{overflow-x:hidden;max-width:100%}