/* ============================================================
   Forward Intelligence design system — shared by
   forwardintelligence.tech (the company) and openrunai.com (the product).
   White ground, fixed left sidebar, Instrument Sans heads, Newsreader body,
   mono gutter numbers, hairline column rules, one accent (#3B31E0).
   ============================================================ */
@font-face{font-family:'Newsreader';src:url(/assets/newsreader-regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:'Newsreader';src:url(/assets/newsreader-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:block}
@font-face{font-family:'Instrument Sans';src:url(/assets/instrument-sans.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:block}

:root{
  --bg:#FFFFFF;--ink:#101012;--muted:#5B5B57;--faint:#98978F;--line:#E7E6E1;--panel:#F4F4F1;
  --accent:#3B31E0;--ok:#5FA98A;--warn:#D9A441;--crit:#C4552F;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Instrument Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#E4E1FB;color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
a{color:inherit}
img{max-width:100%;height:auto}

/* buttons: one system */
.btn,.btn-o{display:inline-block;font-family:var(--sans);font-size:15px;font-weight:500;padding:11px 20px;border-radius:2px;cursor:pointer;text-decoration:none;letter-spacing:.005em;transition:background .15s,color .15s,border-color .15s}
.btn{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.btn:hover{background:#000}
.btn-o{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-o:hover{background:var(--ink);color:#fff}
.btn .ext,.btn-o .ext{font-family:var(--mono);font-size:12px;margin-left:6px;opacity:.7}

/* sidebar */
.side{position:fixed;top:0;left:0;bottom:0;width:264px;z-index:30;padding:44px 40px;display:flex;flex-direction:column}
.side .mark{margin-bottom:56px;display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14.5px;letter-spacing:-.01em}
.side nav{display:flex;flex-direction:column;gap:11px;font-size:15.5px}
.side nav a{text-decoration:none;color:var(--ink);position:relative;width:fit-content}
.side nav a:hover,.side nav a.active{color:var(--accent)}
.side nav a.active::before{content:"";position:absolute;left:-14px;top:3px;bottom:3px;width:2px;background:var(--accent)}
.side .btn-o,.side .btn{margin-top:26px;width:fit-content;font-size:14.5px;padding:8px 16px}
.side .login{margin-top:14px;width:fit-content;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);text-decoration:none}
.side .login:hover{color:var(--accent)}
.side .foot{margin-top:auto;font-family:var(--mono);font-size:11px;color:var(--faint);line-height:1.8}
.side .foot a{text-decoration:none}
.side .foot a:hover{color:var(--accent)}

/* main column */
main{margin-left:264px;margin-right:64px;border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative}
section{position:relative;padding:112px 76px 118px}
section + section{border-top:1px solid var(--line)}
.snum{position:absolute;left:-1px;top:14px;transform:translateX(-100%);padding-right:14px;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.05em}

h1{font-weight:550;font-size:clamp(32px,3.8vw,52px);line-height:1.08;letter-spacing:-.025em;max-width:24ch;text-wrap:balance}
h2{font-weight:550;font-size:clamp(25px,2.8vw,34px);line-height:1.14;letter-spacing:-.02em;max-width:26ch;text-wrap:balance;margin-bottom:22px}
.kicker{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.prose{margin-top:36px;display:grid;gap:24px;max-width:60ch}
.prose p{font-family:var(--serif);font-size:19px;line-height:1.6;color:#232320}
.prose a,.sub a,.vr a,.rstep a,.note a{text-decoration:underline;text-decoration-color:#B9B7AE;text-underline-offset:3px}
.prose a:hover,.sub a:hover,.vr a:hover,.rstep a:hover,.note a:hover{text-decoration-color:var(--accent);color:var(--accent)}
.btnrow{display:flex;gap:12px;margin-top:38px;flex-wrap:wrap;align-items:center}
.sub{font-family:var(--serif);font-size:18px;color:var(--muted);max-width:54ch;line-height:1.6}
.note{margin-top:38px;font-family:var(--serif);font-size:15px;color:var(--muted);max-width:58ch;line-height:1.6}
.h3{font-weight:600;font-size:16px;letter-spacing:-.005em}
.block{margin-top:64px}
.block > .h3{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:500;margin-bottom:6px}

/* tags */
.tag{display:inline-block;vertical-align:middle;margin-left:10px;padding:2px 7px;border-radius:2px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);color:var(--faint)}
.tag.pilot{border-color:#C9C3F5;color:var(--accent)}

/* hero grid + panels */
.herogrid{display:grid;grid-template-columns:1fr;gap:56px;align-items:start}
.herogrid h1{font-size:clamp(29px,2.85vw,42px);max-width:none}
@media(min-width:1150px){.herogrid{grid-template-columns:1.05fr .95fr}}

.board{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#FDFDFC;box-shadow:0 1px 2px rgba(16,16,18,.04)}
.board-head{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.board-head .live{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(59,49,224,.6)}
.board-head .r{margin-left:auto;color:var(--faint);letter-spacing:.06em;text-transform:none}
.board canvas{display:block;width:100%;height:290px}
.board-foot{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--muted);flex-wrap:wrap}
.board-foot i{font-style:normal;display:inline-flex;align-items:center;gap:6px}
.board-foot i::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--dotc,#C9C9C2)}
.board-foot .fi-run{--dotc:#3B31E0}.board-foot .fi-idle{--dotc:#D4D4CD}.board-foot .fi-warn{--dotc:#D9A441}.board-foot .fi-crit{--dotc:#C4552F}
.board-inc{border-top:1px solid var(--line);padding:10px 16px;font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;gap:12px}
.board-inc .tm{color:var(--faint)}
.board-inc b{color:var(--ink);font-weight:600}

/* kanban mock (openrun hero) */
.kan{display:grid;grid-template-columns:repeat(3,1fr);gap:0;min-height:290px}
.kan > div{padding:12px 12px 14px;border-right:1px solid var(--line);min-width:0}
.card{min-width:0;overflow:hidden}
.card .m{flex-wrap:wrap;row-gap:3px}
.card .m .st{white-space:nowrap}
.kan > div:last-child{border-right:none}
.kan h5{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:500;display:flex;justify-content:space-between;margin-bottom:10px}
.kan h5 span{color:#B3B2AA}
.card{border:1px solid var(--line);border-radius:3px;background:#fff;padding:9px 10px 10px;margin-bottom:8px}
.card .t{font-size:12.5px;font-weight:500;letter-spacing:-.005em;line-height:1.35}
.card .m{display:flex;gap:8px;align-items:center;margin-top:7px;font-family:var(--mono);font-size:9.5px;color:var(--faint);letter-spacing:.04em}
.card .m b{color:var(--ink);font-weight:600}
.card .m .st{margin-left:auto;display:inline-flex;align-items:center;gap:5px}
.card .m .st::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--stc,#C9C9C2)}
.card .m .st.run{--stc:#3B31E0}.card .m .st.rev{--stc:#D9A441}.card .m .st.ok{--stc:#5FA98A}

/* schematic */
.schematic{max-width:940px;margin-top:44px;border:1px solid var(--line);border-radius:4px;background:#FDFDFC;padding:8px}
.schematic svg{display:block;width:100%;height:auto}

figure.office{margin-top:58px;max-width:760px}
figure.office img{width:100%;display:block;border-radius:3px;filter:saturate(.9)}
figure.office figcaption{margin-top:10px;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.04em}

/* chip panel */
.platgrid{background:var(--panel);border-radius:3px;display:grid;grid-template-columns:repeat(3,1fr);padding:26px;gap:8px;max-width:940px;margin-top:40px}
@media(max-width:680px){.platgrid{grid-template-columns:repeat(2,1fr)}}
.plat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:28px 10px;color:#3A3A36;font-weight:600;font-size:17px;letter-spacing:-.01em;text-align:center}
.plat small{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.06em;font-weight:400}
.plat.soon{color:#A9A8A0}

/* rows (desks / agents) */
.vrow{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:start;border-top:1px solid var(--line);padding:44px 0 48px;max-width:1000px}
.vrows{margin-top:38px}
.vrows .vrow:first-child{border-top:1px solid var(--ink)}
@media(max-width:820px){.vrow{grid-template-columns:1fr;gap:16px}}
.vrow h3{font-weight:600;font-size:22px;letter-spacing:-.015em;line-height:1.25;max-width:22ch}
.vrow h3 small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:500;margin-bottom:10px}
.vrow .vr p{font-family:var(--serif);font-size:16.5px;color:#33332F;line-height:1.6;max-width:48ch}
.vrow .spec{display:block;margin-top:14px;font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--faint);letter-spacing:.02em;max-width:52ch}
.vrow .spec::before{content:"UNDER THE HOOD — ";letter-spacing:.1em;color:#B3B2AA}

/* numbered steps */
.rsteps{margin-top:34px;max-width:940px}
.rstep{display:grid;grid-template-columns:56px 150px 1fr;gap:20px;align-items:baseline;border-top:1px solid var(--line);padding:26px 0}
.rsteps .rstep:first-child{border-top:1px solid var(--ink)}
.rsteps .rstep:last-child{border-bottom:1px solid var(--line)}
@media(max-width:600px){.rstep{grid-template-columns:44px 1fr}.rstep p{grid-column:1/-1}}
.rstep .num{font-family:var(--mono);font-size:12px;color:var(--faint)}
.rstep h3{font-size:16px;font-weight:600;letter-spacing:-.005em}
.rstep p{font-family:var(--serif);font-size:16px;color:#33332F;line-height:1.6;max-width:56ch}

/* dark log */
.log{font-family:var(--mono);font-size:12.5px;line-height:1.5;background:#0F1110;color:#C9C6BB;border-radius:4px;max-width:940px;margin-top:44px}
.log-head{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid rgba(237,234,225,.12);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#8F8D83}
.log-head .live{width:6px;height:6px;border-radius:50%;background:#5FA98A;box-shadow:0 0 8px #5FA98A}
.log-row{display:flex;gap:16px;padding:12px 18px;border-bottom:1px solid rgba(237,234,225,.07)}
.log-row:last-child{border-bottom:none}
.log-row .tm{color:#6E6C64;flex:none;font-variant-numeric:tabular-nums}
.log-row .msg b{color:#EDEAE1;font-weight:600}
.ok{color:#5FA98A}.warn{color:#C8A45C}.crit{color:#C46A4A}

/* deployments panel */
.or-panel{border:1px solid var(--line);border-radius:4px;background:#FDFDFC;max-width:940px;margin-top:44px;box-shadow:0 1px 2px rgba(16,16,18,.04);overflow:hidden}
.or-head{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.or-head .live{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(59,49,224,.6)}
.or-head .r{margin-left:auto;color:var(--faint);letter-spacing:.06em;text-transform:none}
.or-row{display:grid;grid-template-columns:1fr 52px 92px 92px 132px;gap:16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}
.or-row:last-of-type{border-bottom:none}
.or-row.hd{padding:9px 16px;background:#FBFBF9;font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:#B3B2AA}
.or-row .nm{font-size:14.5px;font-weight:500;letter-spacing:-.005em}
.or-row .ver{font-family:var(--mono);font-size:11.5px;color:var(--ink)}
.or-row .sc{font-family:var(--mono);font-size:11px;color:var(--faint)}
.or-nights{display:flex;gap:2px}
.or-nights i{display:block;width:4px;height:15px;border-radius:1px;background:rgba(59,49,224,.42)}
.or-nights i.w{background:#D9A441}.or-nights i.c{background:#C4552F}
.or-st{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--muted);white-space:nowrap}
.or-st::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--stc,#C9C9C2)}
.or-st.ok{--stc:#5FA98A}.or-st.can{--stc:#3B31E0}.or-st.rb{--stc:#D9A441}
.or-exc{border-top:1px solid var(--ink);padding:12px 16px;font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
.or-exc b{color:var(--ink);font-weight:600}.or-exc .tm{color:var(--faint)}

/* trio */
.trio{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;border-top:1px solid var(--ink);max-width:940px}
.trio > div{padding:22px 26px 0 0;border-right:1px solid var(--line);margin-right:26px}
.trio > div:last-child{border-right:none;margin-right:0}
.trio h3{font-size:16px;font-weight:600;letter-spacing:-.005em;line-height:1.3;max-width:20ch;text-wrap:balance}
.trio p{font-family:var(--serif);font-size:15.5px;line-height:1.6;color:#33332F;margin-top:9px;max-width:32ch}
@media(max-width:900px){
  .or-row{grid-template-columns:1fr 52px 132px;gap:12px}
  .or-row .sc,.or-nights,.or-row.hd .c3,.or-row.hd .c4{display:none}
  .trio{grid-template-columns:1fr}
  .trio > div{border-right:none;margin-right:0;padding:18px 0 0;border-top:1px solid var(--line)}
  .trio > div:first-child{border-top:none}
}

/* control table (openrun) */
.ctl{max-width:940px;margin-top:44px;border-top:1px solid var(--ink)}
.ctl .cr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.ctl .cr.hd{font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:#B3B2AA}
.ctl .cr > span{padding:14px 18px 14px 0;font-family:var(--serif);font-size:16px;color:#33332F}
.ctl .cr.hd > span{font-family:var(--mono);padding:9px 18px 9px 0;font-size:9.5px}
.ctl .cr > span + span{border-left:1px solid var(--line);padding-left:18px}

/* founder */
.founder-grid{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:start;margin-top:38px}
@media(max-width:820px){.founder-grid{grid-template-columns:1fr;gap:36px}}
.portrait{aspect-ratio:4/5;position:relative;overflow:hidden;background:#101820;border-radius:3px;display:flex;align-items:center;justify-content:center}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.04)}
.portrait canvas{position:absolute;inset:0;width:100%;height:100%}
.portrait .cap{position:absolute;bottom:12px;left:14px;z-index:1;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,244,236,.55)}
blockquote{font-family:var(--serif);font-size:clamp(19px,2vw,24px);line-height:1.5;letter-spacing:-.005em;max-width:30em;color:#232320}
blockquote em{font-style:italic}
.sig{margin-top:24px}
.sig .name{font-family:var(--serif);font-style:italic;font-size:22px}
.sig .role{font-family:var(--serif);font-size:15px;color:var(--muted);margin-top:6px;max-width:52ch;line-height:1.6}
.sig .role a{text-decoration:underline;text-decoration-color:#B9B7AE;text-underline-offset:3px}
.proof{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border-top:1px solid var(--line);max-width:620px}
.proof div{padding:16px 18px 0 0;border-right:1px solid var(--line);margin-right:18px}
.proof div:last-child{border-right:none;margin-right:0}
@media(max-width:560px){.proof{grid-template-columns:1fr}.proof div{border-right:none;padding:12px 0 0}}
.proof .n{font-size:22px;font-weight:600;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.proof .l{font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-top:4px;letter-spacing:.03em;line-height:1.5}

/* publications */
.pubs{display:grid;grid-template-columns:repeat(2,1fr);margin-top:40px;border-top:1px solid var(--ink);max-width:940px}
@media(max-width:700px){.pubs{grid-template-columns:1fr}}
.pub{padding:24px 26px 28px 0;border-right:1px solid var(--line);margin-right:26px}
.pub:last-child{border-right:none;margin-right:0}
.pub h4{font-size:19px;font-weight:600;letter-spacing:-.015em}
.pub h4 a{text-decoration:none}
.pub h4 a:hover{color:var(--accent)}
.pub p{font-family:var(--serif);font-size:15.5px;color:#33332F;line-height:1.6;margin-top:8px;max-width:38ch}
.pub .l{font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-top:12px;letter-spacing:.06em}

/* pricing (openrun) */
.plans{display:grid;grid-template-columns:1.1fr 1fr;gap:0;margin-top:40px;border-top:1px solid var(--ink);max-width:960px}
@media(max-width:820px){.plans{grid-template-columns:1fr}}
.plan{padding:26px 28px 30px 0;border-right:1px solid var(--line);margin-right:28px}
.plan:last-child{border-right:none;margin-right:0;padding-right:0}
.plan h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:500}
.plan .dp{font-size:30px;font-weight:600;letter-spacing:-.02em;margin:14px 0 6px;font-variant-numeric:tabular-nums}
.plan .dp span{font-size:13px;color:var(--muted);font-weight:400;margin-left:2px}
.plan .dd{font-family:var(--serif);font-size:15.5px;color:#33332F;line-height:1.6;max-width:40ch}
.plan ul{list-style:none;margin-top:16px;display:grid;gap:7px}
.plan li{font-family:var(--serif);font-size:15px;color:#33332F;padding-left:16px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:1px;background:var(--faint)}
.packs{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}
.packs td{padding:8px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.packs td:last-child{text-align:right;font-weight:600}
.packs td.c{color:var(--faint);font-family:var(--mono);font-size:11px}
.terms{display:flex;gap:0;margin-top:26px;font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.terms span{padding:0 18px;border-right:1px solid var(--line)}
.terms span:first-child{padding-left:0}
.terms span:last-child{border-right:none}
.terms b{color:var(--ink);font-weight:600}
.fine{margin-top:22px;font-family:var(--serif);font-size:14px;color:var(--faint);max-width:56ch;line-height:1.6}

/* footer */
footer{border-top:1px solid var(--line);margin-left:264px;margin-right:64px;padding:38px 76px 52px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer .fb{display:flex;align-items:center;gap:9px;font-weight:600;font-size:15px}
footer .fl{display:flex;gap:34px;font-family:var(--mono);font-size:12px;color:var(--muted);flex-wrap:wrap}
footer .fl a{text-decoration:none}
footer .fl a:hover{color:var(--accent)}

/* responsive */
@media(max-width:900px){
  .side{position:static;width:auto;padding:24px 28px 0;flex-direction:row;align-items:center;gap:20px;flex-wrap:wrap}
  .side .mark{margin-bottom:0}
  .side nav{flex-direction:row;gap:18px;font-size:14px;flex-wrap:wrap}
  .side nav a.active::before{display:none}
  .side .btn-o,.side .btn,.side .login{margin-top:0}
  .side .foot{display:none}
  main{margin-left:0;margin-right:0;border-left:none;border-right:none}
  section{padding:64px 28px}
  .snum{position:static;transform:none;display:block;margin-bottom:14px}
  footer{margin-left:0;margin-right:0;padding:32px 28px}
  .kan{grid-template-columns:1fr}
  .kan > div{border-right:none;border-bottom:1px solid var(--line)}
}
@media (prefers-reduced-motion: no-preference){
  .s01 h1,.s01 .prose,.s01 .btnrow,.s01 figure,.s01 .board{opacity:0;animation:up .9s cubic-bezier(.16,.8,.26,1) forwards}
  .s01 .prose{animation-delay:.1s}.s01 .btnrow{animation-delay:.2s}.s01 .board{animation-delay:.25s}.s01 figure{animation-delay:.3s}
  @keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}
