/* Canarywire — shared site stylesheet */
:root{--canvas:#F4F4F0;--ink:#0A0A0A;--red:#E22828;--green:#009E74;--yellow:#E5FF00;--slate:#737373;--grid:#D4D4CE;--white:#FFFFFF;}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{background:var(--canvas);color:var(--ink);font-family:Inter,Helvetica,Arial,sans-serif;line-height:1.55}
.serif{font-family:'Space Grotesk',Inter,sans-serif}
.mono{font-family:"JetBrains Mono",monospace}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.label{font-family:"JetBrains Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--slate)}
a{color:inherit;text-decoration:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* header */
header{border-bottom:1px solid var(--ink);position:sticky;top:0;background:var(--canvas);z-index:6}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:"JetBrains Mono",monospace;font-weight:700;font-size:17px;letter-spacing:-.02em;display:flex;align-items:center;gap:9px}
.nav-right{display:flex;align-items:center;gap:22px;font-size:14px}
.nav-right a:hover{border-bottom:2px solid var(--yellow)}
.btn{display:inline-block;background:var(--ink);color:#fff;font-weight:700;padding:11px 20px;font-size:14px;border:1px solid var(--ink);transition:box-shadow .12s,transform .12s;cursor:pointer}
.btn.y{background:var(--yellow);color:var(--ink)}
.btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}
/* page hero (simple) */
.phero{padding:60px 0 40px;border-bottom:1px solid var(--ink)}
.phero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.02;letter-spacing:-.02em;max-width:18ch;margin-top:16px}
.phero h1 em{font-style:normal;background:var(--yellow);padding:0 .1em}
.phero .lede{font-size:18px;color:#26262a;max-width:60ch;margin-top:20px}
.phero .pcta{margin-top:26px;display:flex;gap:13px;flex-wrap:wrap}
/* generic section */
section{padding:52px 0;border-bottom:1px solid var(--grid)}
h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(23px,3.2vw,32px);font-weight:700;letter-spacing:-.02em;margin-bottom:22px}
/* prose (legal / about) */
.prose{max-width:760px;padding:46px 0 60px}
.prose h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,4.4vw,44px);font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.prose .upd{font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--slate);margin-bottom:30px;text-transform:uppercase;letter-spacing:.1em}
.prose h2{font-size:20px;margin:34px 0 10px}
.prose h3{font-family:'Space Grotesk',sans-serif;font-size:16px;margin:22px 0 6px}
.prose p,.prose li{font-size:15.5px;color:#232326;margin-bottom:12px}
.prose ul{padding-left:22px;margin-bottom:12px}
.prose li{margin-bottom:7px}
.prose a{border-bottom:2px solid var(--yellow)}
.prose .note{background:#fff;border:1px solid var(--grid);border-left:4px solid var(--yellow);padding:14px 16px;font-size:14px;color:#333;margin:18px 0}
.prose strong{font-weight:600}
/* coming-soon / feature grids */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.col h3{font-family:'Space Grotesk',sans-serif;font-size:17px;margin:8px 0 6px}
.col p{font-size:14px;color:#3a3a40}
.hl{background:var(--yellow);padding:2px 5px;font-weight:600}
.soon{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--slate);border:1px solid var(--slate);padding:2px 8px;margin-bottom:14px}
/* footer */
.foot{background:var(--ink);color:#9a9a9a;font-size:12px;line-height:1.8;padding:34px 0}
.foot a{color:var(--yellow)}
.foot .fl{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.foot .fl a{color:#fff;font-family:"JetBrains Mono",monospace;font-size:12px}
.foot .fl a:hover{color:var(--yellow)}
/* ===== feed-page components (shared: hero terminal, email mockup, pricing) ===== */
.fhero{display:grid;grid-template-columns:1.02fr .98fr;border-bottom:1px solid var(--ink)}
.fhero-l{padding:58px 0 50px}
.fhero-l .wrap{max-width:600px;margin-left:auto;padding-right:44px}
.fhero .ey{opacity:0;animation:up .7s .05s both}
.fhero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(34px,4.4vw,54px);font-weight:700;line-height:1.0;letter-spacing:-.025em;margin:18px 0 0;opacity:0;animation:up .85s .16s both}
.fhero h1 em{font-style:normal;background:var(--yellow);padding:0 .1em}
.fhero .lede{font-size:18px;color:#26262a;margin:22px 0 26px;opacity:0;animation:up .85s .30s both}
.fhero .hero-cta{display:flex;gap:13px;align-items:center;flex-wrap:wrap;opacity:0;animation:up .85s .42s both}
.fhero .hero-note{margin-top:15px;font-size:12px;color:var(--slate);opacity:0;animation:up .85s .52s both}
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.term{background:var(--ink);color:#e8e8e2;position:relative;overflow:hidden;border-left:1px solid var(--ink);display:flex;flex-direction:column;min-height:500px}
.term-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2a2a2a;padding:12px 20px;font-family:"JetBrains Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8a8a80}
.term-head .live{display:flex;align-items:center;gap:8px;color:#c9c9c2}
.dot{width:7px;height:7px;background:var(--green);display:inline-block;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.term-body{padding:14px 20px;font-family:"JetBrains Mono",monospace;font-size:12.5px;line-height:2.05;flex:1;overflow:hidden}
.term-body .row{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.45;transition:opacity .5s;border-left:2px solid transparent;padding-left:8px;margin-left:-8px}
.term-body .row.new{opacity:1;border-left-color:var(--yellow)}
.row .ts{color:#6f6f66;margin-right:8px}
.row .src{display:inline-block;border:1px solid #5a5540;color:var(--yellow);padding:0 5px;margin-right:7px;font-size:10.5px;letter-spacing:.06em}
.row .ev{margin-right:6px}.row .ev.dn{color:#ff6a6a}.row .ev.up,.row .ev.nw{color:#5fe0b0}.row .ev.en{color:#ffb35f}
.term-foot{border-top:1px solid #2a2a2a;padding:9px 20px;font-family:"JetBrains Mono",monospace;font-size:10.5px;color:#6f6f66;letter-spacing:.08em}
/* email mockup */
.email{background:#fff;border:1px solid var(--ink);max-width:600px}
.email-h{border-bottom:1px solid var(--grid);padding:14px 20px;font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--slate)}
.email-h b{color:var(--ink)}
.email-b{padding:20px}
.email-b .big{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:700;margin:6px 0 14px}
.email-b .kv{font-family:"JetBrains Mono",monospace;font-size:13px;line-height:2.1;color:#333}
.email-b .kv .k{color:var(--slate)}
.email-b .hl{background:var(--yellow);padding:1px 5px;font-weight:600}
.badge{display:inline-block;background:var(--green);color:#fff;font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 8px}
/* pricing */
.ptable{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--ink);border-top:1px solid var(--ink)}
.tier{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:26px 22px;display:flex;flex-direction:column;background:#fff}
.tier.anchor{background:#fffef2}
.tier .tl{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.tier .pr{font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:700;letter-spacing:-.02em;margin:8px 0 4px}
.tier .pr small{font-size:14px;color:var(--slate);font-weight:500}
.tier ul{list-style:none;margin:14px 0 22px;font-size:14px;color:#3a3a40}
.tier li{padding:6px 0;border-bottom:1px solid #f0f0ea}
.tier .btn{margin-top:auto;text-align:center}
@media(max-width:900px){.fhero{grid-template-columns:1fr}.term{border-left:0;border-top:1px solid var(--ink);min-height:340px}.fhero-l .wrap{padding-right:28px;max-width:none}.ptable{grid-template-columns:1fr}}
@media(max-width:820px){.cols{grid-template-columns:1fr}}
