/* ============ CHECKPOINT — shared brand ============ */
:root{
  --bg:#08090c; --paper:#0f1116; --paper-2:#0d0f14; --line:#1c1f27; --line-bright:#2a2e38;
  --ink:#f6f7f9; --ink-dim:#9498a4; --ink-faint:#5a5e69;
  --accent:#36d1ff; --accent-glow:rgba(54,209,255,0.20);
  --go:#5ce29a; --stop:#ff5470; --warn:#ffbf47;
  --serif:'Fraunces',serif; --sans:'Inter Tight',sans-serif; --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
section[id]{scroll-margin-top:80px;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--accent);color:#08090c;}

/* nav */
nav{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(8,9,12,0.82);backdrop-filter:blur(14px);z-index:100;}
.nav-inner{max-width:1180px;margin:0 auto;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:12px;}
.glyph{width:26px;height:26px;filter:drop-shadow(0 0 8px var(--accent-glow));}
.bname{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.01em;}
.nav-right{display:flex;align-items:center;gap:30px;}
.nav-right a{font-family:var(--mono);font-size:13px;color:var(--ink-dim);transition:color .2s;}
.nav-right a:hover{color:var(--ink);}
.nav-right a.active{color:var(--accent);}
/* nav dropdowns */
.nav-item{position:relative;display:inline-flex;align-items:center;}
.nav-item > a{display:inline-flex;align-items:center;gap:5px;}
.nav-item > a .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .2s,opacity .2s;opacity:0.55;}
.nav-item:hover > a .caret{transform:rotate(225deg) translateY(1px);opacity:1;}
.nav-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:236px;background:var(--paper);border:1px solid var(--line-bright);border-radius:10px;padding:8px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;box-shadow:0 30px 70px -30px rgba(0,0,0,0.7),0 0 44px -30px var(--accent-glow);z-index:200;}
.nav-item::after{content:'';position:absolute;top:100%;left:0;right:0;height:16px;}
.nav-item:hover .nav-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(10px);}
.nav-drop a{display:block;padding:10px 12px;border-radius:6px;font-family:var(--sans);font-size:13.5px;color:var(--ink-dim);transition:background .15s,color .15s;}
.nav-drop a:hover{background:rgba(54,209,255,0.07);color:var(--ink);}
.nav-drop a .dd-sub{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-top:2px;}
.nav-drop a:hover .dd-sub{color:var(--ink-dim);}
.nav-cta{font-family:var(--mono);font-size:13px;border:1px solid var(--accent);padding:9px 16px;border-radius:2px;color:var(--accent);transition:all .2s;cursor:pointer;background:transparent;}
.nav-cta:hover{background:var(--accent);color:#08090c;}
.nav-cta.connected{border-color:var(--go);color:var(--go);}

/* contract bar */
.ca-bar{position:sticky;top:76px;z-index:99;background:rgba(54,209,255,0.05);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 16px;font-family:var(--mono);font-size:13px;flex-wrap:wrap;}
.ca-bar .ca-label{color:var(--ink-faint);letter-spacing:0.05em;}
.ca-bar .ca-value{color:var(--accent);word-break:break-all;}
.ca-bar .ca-copy{background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:inherit;font-size:12px;padding:3px 10px;cursor:pointer;border-radius:2px;}
.ca-bar .ca-copy:hover{background:var(--accent);color:#08090c;}
.ca-bar a.ca-verify{color:var(--ink-faint);text-decoration:underline;font-size:12px;}
.ca-bar a.ca-verify:hover{color:var(--ink);}

/* shared section bits */
.section{padding:80px 0;border-top:1px solid var(--line);}
.label{font-family:var(--mono);font-size:12px;color:var(--ink-faint);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:38px;}
.label .ac{color:var(--accent);}
.h2{font-family:var(--serif);font-size:38px;font-weight:400;letter-spacing:-0.02em;margin-bottom:16px;line-height:1.1;}

/* buttons */
.btn{font-family:var(--mono);font-size:14px;padding:14px 22px;border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;transition:all .2s;border:none;}
.btn-primary{background:var(--accent);color:#08090c;font-weight:500;box-shadow:0 0 30px -6px var(--accent-glow);}
.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);}
.btn-ghost{border:1px solid var(--line-bright);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--ink-dim);}

/* footer */
footer{padding:48px 0;border-top:1px solid var(--line);margin-top:0;}
.foot{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:28px;}
.foot-brand{display:flex;flex-direction:column;gap:12px;max-width:380px;}
.foot-lock{display:flex;align-items:center;gap:11px;}
.foot-lock .glyph{width:24px;height:24px;filter:drop-shadow(0 0 8px var(--accent-glow));}
.foot-lock .bname{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:-0.01em;}
.foot .ft{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-dim);line-height:1.45;}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;}
.foot-links{display:flex;gap:22px;font-family:var(--mono);font-size:12px;}
.foot-links a{color:var(--ink-faint);transition:color .18s;}
.foot-links a:hover{color:var(--ink);}
.foot-copy{font-family:var(--mono);font-size:11.5px;color:var(--ink-faint);letter-spacing:0.02em;}
@media(max-width:640px){.foot{flex-direction:column;}.foot-right{align-items:flex-start;}}

/* glow util */
.glow-bg{position:relative;}
.glow-bg::before{content:'';position:absolute;top:0;left:-200px;width:500px;height:500px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);pointer-events:none;filter:blur(40px);opacity:0.6;z-index:0;}

@media(max-width:760px){
  .nav-right a:not(.nav-cta){display:none;}
  h1{font-size:46px !important;}
  .wrap{padding:0 22px;}
}

