/* ai.flareforward.com: FlareForward theme (matches flareforward.com: near-black, ember-to-violet gradient, pill buttons). */
:root{
  color-scheme:dark;
  --bg:#070409; --panel:rgba(255,255,255,.035); --panel-solid:#110b12; --line:rgba(255,255,255,.1);
  --ink:#f5f2f4; --muted:rgba(245,242,244,.62); --faint:rgba(245,242,244,.4);
  --ember:#FF7A45; --flare:#E62058; --violet:#A78BFA; --ok:#34D399; --warn:#FB7185;
  --grad:linear-gradient(90deg,#FF7A45,#E62058 55%,#A78BFA);
  --grad-btn:linear-gradient(90deg,#E62058,#FF7A45);
  --radius:16px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{
  background:
    radial-gradient(1100px 620px at 78% -8%, rgba(230,32,88,.22), transparent 62%),
    radial-gradient(900px 520px at 12% 8%, rgba(255,122,69,.14), transparent 60%),
    var(--bg);
  background-attachment:fixed;
  color:var(--ink);
  font:16px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.wrap{max-width:1152px;margin:0 auto;padding:0 16px}
@media (min-width:768px){.wrap{padding:0 24px}}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
h1,h2,h3{letter-spacing:-.02em;line-height:1.08;margin:0}
.lead{color:var(--muted);font-size:18px;max-width:640px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;
  border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit}
.btn.primary{background:var(--grad-btn);color:#000}
.btn.primary:hover{filter:brightness(1.1)}
.btn.ghost{border-color:rgba(255,255,255,.15);color:var(--ink);background:none}
.btn.ghost:hover{background:rgba(255,255,255,.05)}
.btn.white{background:#fff;color:#000;min-height:36px;padding:0 16px;font-size:13px}
.btn.white:hover{background:rgba(255,255,255,.85)}

/* header */
.site-head{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(7,4,9,.94)}
@supports (backdrop-filter:blur(1px)){.site-head{background:rgba(7,4,9,.8);backdrop-filter:blur(20px)}}
.site-head .wrap{display:flex;align-items:center;gap:12px;height:64px}
.burger{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:none;color:var(--ink);
  display:grid;place-items:center;cursor:pointer}
.burger span,.burger span::before,.burger span::after{display:block;width:16px;height:1.5px;background:currentColor;position:relative;content:""}
.burger span::before{position:absolute;top:-5px}.burger span::after{position:absolute;top:5px}
.logo img{height:32px;width:auto;display:block}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.site-nav{display:none;gap:4px;margin-left:auto;align-items:center}
.site-nav a,.site-nav summary{color:var(--muted);text-decoration:none;font-size:14px;padding:8px 12px;border-radius:10px;cursor:pointer;list-style:none}
.site-nav summary::-webkit-details-marker{display:none}
.site-nav a:hover,.site-nav summary:hover,.site-nav a[aria-current="page"]{color:var(--ink)}
.site-nav details{position:relative}
.site-nav summary::after{content:"";display:inline-block;margin-left:6px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.drop{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;background:var(--panel-solid);border:1px solid var(--line);
  border-radius:14px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.drop a{display:block;padding:10px 12px;border-radius:10px}
.drop a:hover{background:rgba(255,255,255,.05)}
.drop small{display:block;color:var(--faint);font-size:12px}
.head-cta{margin-left:auto}
@media (min-width:900px){.site-nav{display:flex}.head-cta{margin-left:8px}}

/* hamburger panel */
dialog.menu{margin:0;height:100%;max-height:none;width:min(380px,100%);border:0;border-right:1px solid var(--line);
  background:var(--panel-solid);color:var(--ink);padding:20px 16px;overflow:auto}
dialog.menu::backdrop{background:rgba(0,0,0,.65)}
.menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.menu h4{margin:18px 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600}
.menu ul{list-style:none;margin:0;padding:0}
.menu li a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none}
.menu li a:hover{background:rgba(255,255,255,.05)}
.menu li small{display:block;color:var(--faint);font-size:12px}
.soon-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:var(--faint)}
.soon-item em{font-style:normal;font-size:11px;border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.close-x{min-width:44px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;font:inherit}

/* sections, cards */
section.block{padding:56px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.pill{justify-self:start;align-self:start;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  border-radius:999px;padding:6px 14px;font-size:12px;color:var(--muted)}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(52,211,153,.5);animation:ring 2s infinite}
@keyframes ring{70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}

/* footer */
.site-foot{border-top:1px solid rgba(255,255,255,.07);margin-top:40px;padding:28px 0 40px;color:var(--faint);font-size:14px}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
.site-foot a{color:var(--muted);text-decoration:none}
.site-foot a:hover{color:var(--ink)}
.site-foot nav{display:flex;gap:18px;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* public running totals */
.totals{display:flex;flex-wrap:wrap;gap:6px 22px;color:var(--muted);font-size:14px;margin-top:22px}
.totals b{color:var(--ink);font-variant-numeric:tabular-nums}

/* projects */
.projects-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.project-card{display:grid;gap:10px;text-decoration:none;align-content:start}
.project-card:hover{border-color:rgba(255,255,255,.22)}
.project-card h3{font-size:22px}
.pc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pc-date{color:var(--faint);font-size:12px}
.pc-line{color:var(--muted);margin:0;font-size:15px}
.pc-where{margin:0;font-size:14px}
.rail-stages{list-style:none;margin:4px 0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}
.rail-stages li{font-size:11px;color:var(--faint);display:grid;gap:6px;line-height:1.25}
.rail-stages li span{height:5px;border-radius:3px;background:rgba(255,255,255,.1)}
.rail-stages li.done{color:var(--muted)}
.rail-stages li.done span{background:var(--ok)}
.rail-stages li.now{color:var(--ink);font-weight:600}
.rail-stages li.now span{background:var(--grad-btn)}

/* recent updates across projects */
.recent{list-style:none;margin:0;padding:0;display:grid}
.recent li a{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line);text-decoration:none}
.recent li:first-child a{border-top:0}
.recent li a:hover span{color:var(--ink)}
.recent time{color:var(--faint);font-size:13px;padding-top:2px}
.recent span{color:var(--muted)}
.recent b{color:var(--ink);font-weight:600;margin-right:6px}
@media (max-width:520px){.recent li a{grid-template-columns:1fr;gap:2px}}
