/* Clear Fork Security - Command Console - shared site stylesheet.
   Part 1 is the as-delivered Phase 2 homepage CSS, lifted verbatim out of
   index.html so index.html renders identically. Part 2 adds the multi-page
   rules. Part 3 adds the products section. Generated by
   scripts/build_site.py - edit the sources, not this file. */

/* ===== PART 1: Phase 2 homepage CSS (verbatim) ===== */
  :root{
    --bg:#000000;
    --panel:#0a0a0a;
    --grid:#2b2000;
    --amber:#ffb000;
    --text:#e8e6df;
    --muted:#7a7a72;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'IBM Plex Sans', sans-serif;
    line-height:1.6;
    overflow-x:hidden;
  }
  h1,h2,h3,.mono{
    font-family:'JetBrains Mono', monospace;
    text-transform:uppercase;
    font-weight:700;
    line-height:1.1;
  }
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

  /* ---------- NAV ---------- */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(0,0,0,0.94);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--grid);
  }
  nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 24px;max-width:1180px;margin:0 auto;
    flex-wrap:wrap;gap:16px;
  }
  .logo-block{display:flex;flex-direction:column;gap:2px;}
  .logo-word{
    font-family:'JetBrains Mono', monospace;
    font-size:1.15rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-weight:800;
  }
  .logo-word span{color:var(--amber);}
  .logo-tag{
    font-size:0.64rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--muted);
    font-family:'IBM Plex Sans', sans-serif;
    font-weight:500;
  }
  .nav-links{display:flex;align-items:center;gap:32px;flex-wrap:wrap;}
  .nav-links a{
    font-family:'JetBrains Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--text);
    position:relative;
    padding:4px 0;
  }
  .nav-links a::before{content:'';}
  .nav-links a:hover{color:var(--amber);}
  .nav-links a:hover::before{content:'> ';color:var(--amber);}
  .btn{
    display:inline-block;
    font-family:'JetBrains Mono', monospace;
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-size:0.78rem;
    padding:12px 22px;
    border:1px solid var(--amber);
    background:transparent;
    color:var(--amber);
    transition:background 0.2s ease,color 0.2s ease,box-shadow 0.2s ease;
    cursor:pointer;
  }
  .btn:hover{
    background:var(--amber);
    color:#000;
    box-shadow:0 0 24px rgba(255,176,0,0.5);
  }
  .btn-solid{background:var(--amber);color:#000;}
  .btn-solid:hover{background:#ffc333;box-shadow:0 0 24px rgba(255,176,0,0.6);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:130px 24px 110px;
    background:var(--bg);
    border-bottom:1px solid var(--grid);
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute;inset:0;
    background-image:
      linear-gradient(rgba(255,176,0,0.055) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,176,0,0.055) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image:radial-gradient(ellipse at 50% 20%, black 0%, transparent 65%);
    pointer-events:none;
  }
  .hero-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;text-align:center;}
  .status-line{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'JetBrains Mono', monospace;
    font-size:0.82rem;
    letter-spacing:0.1em;
    color:var(--amber);
    margin-bottom:28px;
    font-weight:700;
  }
  .status-dot{
    width:8px;height:8px;border-radius:50%;background:var(--amber);
    box-shadow:0 0 10px var(--amber);
    animation:pulse 1.6s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{opacity:1;box-shadow:0 0 6px var(--amber);}
    50%{opacity:0.35;box-shadow:0 0 16px var(--amber);}
  }
  .hero h1{
    font-size:clamp(2.3rem,6.6vw,5.6rem);
    color:var(--text);
    max-width:1020px;
    margin:0 auto 28px;
    letter-spacing:0.01em;
  }
  .hero h1 .amber{color:var(--amber);}
  .hero p{
    font-family:'IBM Plex Sans', sans-serif;
    font-size:clamp(1.02rem,1.6vw,1.25rem);
    color:var(--muted);
    max-width:620px;
    margin:0 auto 40px;
    text-transform:none;
    font-weight:400;
  }
  .hero-actions{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap;}
  .text-link{
    font-family:'JetBrains Mono', monospace;
    font-weight:700;letter-spacing:0.06em;text-transform:uppercase;font-size:0.78rem;
    color:var(--muted);
    transition:color 0.2s ease;
  }
  .text-link:hover{color:var(--amber);}
  .text-link::before{content:'[ ';}
  .text-link::after{content:' ]';}

  /* ---------- STATS ---------- */
  .stats-band{
    background:var(--panel);
    border-bottom:1px solid var(--grid);
  }
  .stats-grid{
    display:grid;grid-template-columns:repeat(2,1fr);
    max-width:1180px;margin:0 auto;
  }
  @media(min-width:760px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
  .stat{
    padding:38px 24px;
    text-align:center;
    border-right:1px solid var(--grid);
    border-bottom:1px solid var(--grid);
  }
  .stat:nth-child(2n){border-right:none;}
  @media(min-width:760px){
    .stat{border-bottom:none;}
    .stat:nth-child(2n){border-right:1px solid var(--grid);}
    .stat:nth-child(4n){border-right:none;}
  }
  .stat-label-top{
    font-family:'JetBrains Mono', monospace;
    font-size:0.66rem;
    letter-spacing:0.1em;
    color:var(--muted);
    margin-bottom:10px;
  }
  .stat-num{
    font-family:'JetBrains Mono', monospace;
    font-size:clamp(1.7rem,3.2vw,2.4rem);
    color:var(--amber);
    text-shadow:0 0 16px rgba(255,176,0,0.4);
    font-weight:800;
  }
  .stat-label{
    margin-top:8px;
    font-size:0.72rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--muted);
    font-family:'JetBrains Mono', monospace;
  }

  /* ---------- SERVICES ---------- */
  .section{padding:100px 24px;border-bottom:1px solid var(--grid);}
  .section-head{max-width:680px;margin:0 auto 60px;text-align:center;}
  .kicker{
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber);
    font-weight:700;margin-bottom:14px;display:block;
  }
  .section-head h2{font-size:clamp(1.8rem,3.8vw,3rem);color:var(--text);}
  .services-grid{
    display:grid;grid-template-columns:1fr;gap:24px;
    max-width:1180px;margin:0 auto;
  }
  @media(min-width:640px){.services-grid{grid-template-columns:repeat(2,1fr);}}
  @media(min-width:980px){.services-grid{grid-template-columns:repeat(3,1fr);}}
  .service-card{
    background:var(--panel);
    padding:32px 26px;
    position:relative;
    border:1px solid transparent;
    transition:border-color 0.25s ease,transform 0.2s ease;
  }
  .service-card::before,.service-card::after,
  .corner-tl,.corner-br{position:absolute;width:16px;height:16px;pointer-events:none;}
  .service-card::before{
    content:'';top:0;left:0;
    border-top:2px solid var(--amber);border-left:2px solid var(--amber);
  }
  .service-card::after{
    content:'';bottom:0;right:0;
    border-bottom:2px solid var(--amber);border-right:2px solid var(--amber);
  }
  .service-card:hover{transform:translateY(-4px);}
  .service-card svg{width:38px;height:38px;stroke:var(--amber);fill:none;stroke-width:1.5;margin-bottom:22px;}
  .service-card h3{
    font-family:'JetBrains Mono', monospace;
    font-size:1rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    margin-bottom:12px;
    color:var(--text);
  }
  .service-card p{font-size:0.92rem;color:var(--muted);font-family:'IBM Plex Sans', sans-serif;text-transform:none;}

  /* ---------- AUDIENCE SPLIT ---------- */
  .audience-band{
    background:var(--panel);
    border-bottom:1px solid var(--grid);
    padding:56px 24px;
    text-align:center;
  }
  .audience-label{
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber);
    font-weight:700;margin-bottom:22px;display:block;
  }
  .audience-toggle{
    display:inline-flex;
    border:1px solid var(--grid);
  }
  .audience-btn{
    font-family:'JetBrains Mono', monospace;
    font-weight:700;letter-spacing:0.08em;text-transform:uppercase;font-size:0.8rem;
    padding:14px 26px;background:transparent;border:none;color:var(--muted);cursor:pointer;
    transition:background 0.2s ease,color 0.2s ease;
  }
  .audience-btn:not(:last-child){border-right:1px solid var(--grid);}
  .audience-btn.active{color:var(--amber);background:rgba(255,176,0,0.08);}
  .audience-btn.active::before{content:'[ ';}
  .audience-btn.active::after{content:' ]';}
  .audience-btn:not(.active):hover{color:var(--text);}
  .pillar-copy{display:none;}
  .pillar-business{display:block;}
  body.audience-personal .pillar-business{display:none;}
  body.audience-personal .pillar-personal{display:block;}

  /* ---------- NEWS FEED ---------- */
  .live-indicator{
    display:inline-flex;align-items:center;gap:10px;margin-top:16px;
    font-family:'JetBrains Mono', monospace;
    font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--amber);font-weight:700;
  }
  .live-dot{
    width:8px;height:8px;border-radius:50%;background:var(--amber);
    box-shadow:0 0 10px var(--amber);
    animation:pulse 1.6s ease-in-out infinite;
  }
  .news-list{
    max-width:900px;margin:0 auto;
    border:1px solid var(--grid);background:var(--panel);
  }
  .news-row{
    display:flex;align-items:center;flex-wrap:wrap;gap:16px;
    padding:18px 22px;border-bottom:1px solid var(--grid);
    position:relative;transition:background 0.2s ease;
  }
  .news-row:last-child{border-bottom:none;}
  .news-row::before{
    content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
    background:var(--amber);transform:scaleY(0);transition:transform 0.2s ease;
  }
  .news-row:hover{background:rgba(255,176,0,0.05);}
  .news-row:hover::before{transform:scaleY(1);}
  .news-time{
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;letter-spacing:0.06em;color:var(--muted);font-weight:700;white-space:nowrap;flex:0 0 auto;
  }
  .news-tag{
    font-family:'JetBrains Mono', monospace;
    font-size:0.64rem;letter-spacing:0.06em;font-weight:700;padding:4px 10px;
    border:1px solid;white-space:nowrap;text-transform:uppercase;flex:0 0 auto;
  }
  .tag-breach{border-color:var(--amber);background:rgba(255,176,0,0.18);color:var(--amber);}
  .tag-ransomware{border-color:var(--amber);background:transparent;color:var(--amber);}
  .tag-scam{border-color:var(--muted);background:rgba(122,122,114,0.18);color:var(--text);}
  .tag-iot{border-color:var(--muted);background:transparent;color:var(--muted);}
  .tag-privacy{border-color:var(--amber);background:rgba(255,176,0,0.06);color:var(--muted);}
  .news-headline{
    font-family:'IBM Plex Sans', sans-serif;
    font-size:0.92rem;color:var(--text);flex:1 1 260px;
  }
  .news-source{
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;color:var(--muted);letter-spacing:0.02em;white-space:nowrap;flex:0 0 auto;
  }
  .news-footnote{
    max-width:900px;margin:24px auto 0;font-size:0.82rem;color:var(--muted);text-align:center;
    font-family:'IBM Plex Sans', sans-serif;
  }

  /* ---------- ABOUT ---------- */
  .about{
    background:var(--bg);
    padding:100px 24px;
  }
  .about-inner{max-width:740px;margin:0 auto;text-align:center;}
  .about h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:26px;color:var(--text);}
  .about p{color:var(--muted);font-size:1.05rem;margin-bottom:16px;font-family:'IBM Plex Sans', sans-serif;}
  .about strong{color:var(--amber);font-weight:600;}

  /* ---------- FOOTER ---------- */
  footer{padding:70px 24px 30px;background:var(--panel);}
  .footer-grid{
    max-width:1180px;margin:0 auto;
    display:grid;grid-template-columns:1fr;gap:40px;
    padding-bottom:40px;border-bottom:1px solid var(--grid);
  }
  @media(min-width:760px){.footer-grid{grid-template-columns:2fr 1fr 1fr;}}
  .footer-brand .logo-word{margin-bottom:10px;font-size:1.2rem;}
  .footer-brand p{color:var(--muted);font-size:0.9rem;max-width:340px;font-family:'IBM Plex Sans', sans-serif;text-transform:none;}
  .footer-col h4{
    font-family:'JetBrains Mono', monospace;
    font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--amber);margin-bottom:16px;font-weight:700;
  }
  .footer-col p, .footer-col a{
    display:block;color:var(--muted);font-size:0.9rem;margin-bottom:10px;
    font-family:'IBM Plex Sans', sans-serif;
  }
  .footer-col a:hover{color:var(--amber);}
  .footer-bottom{
    max-width:1180px;margin:0 auto;padding-top:24px;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;color:var(--muted);letter-spacing:0.04em;
  }

/* ===== PART 2: multi-page additions ===== */
/* ============================================================
   COMMAND CONSOLE — multi-page additions
   Appended to the Phase 2 homepage CSS. Only ADDS rules; the
   homepage's own selectors are untouched so index.html renders
   identically to the Phase 2 version.
   ============================================================ */

/* --- working mobile nav --- */
.burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;}
.burger span{width:24px;height:2px;background:var(--amber);display:block;}
@media(min-width:900px){.burger{display:none;}}
@media(max-width:899px){
  .nav-links{display:none;}
  .nav-links.open{
    display:flex;flex-direction:column;align-items:flex-start;gap:16px;
    width:100%;padding:18px 0 6px;border-top:1px solid var(--grid);
  }
}
.nav-cta{display:none;}
@media(min-width:900px){.nav-cta{display:inline-block;}}

/* --- page hero (interior pages) --- */
.page-hero{
  position:relative;
  padding:80px 24px 60px;
  background:var(--bg);
  border-bottom:1px solid var(--grid);
  overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,176,0,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,176,0,0.05) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at 50% 15%, black 0%, transparent 70%);
  pointer-events:none;
}
.page-hero-inner{position:relative;z-index:2;max-width:880px;margin:0 auto;text-align:center;}
.page-hero h1{font-size:clamp(1.9rem,4.6vw,3.6rem);margin-bottom:20px;letter-spacing:0.01em;}
.page-hero p{
  color:var(--muted);font-size:clamp(1rem,1.4vw,1.16rem);max-width:680px;margin:0 auto;
  font-family:'IBM Plex Sans', sans-serif;text-transform:none;
}
.crumbs{
  position:relative;z-index:2;max-width:1180px;margin:0 auto 16px;
  font-family:'JetBrains Mono', monospace;
  font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--muted);text-align:center;
}
.crumbs a{color:var(--muted);}
.crumbs a:hover{color:var(--amber);}
.crumbs span{padding:0 6px;color:var(--grid);}

/* --- generic interior blocks --- */
.section-alt{background:var(--panel);}
.section-head-left{max-width:1180px;margin:0 auto 44px;text-align:left;}
.section-head-left h2{font-size:clamp(1.5rem,3vw,2.3rem);}
.narrow{max-width:900px;margin:0 auto;}
.lede{
  font-size:1.08rem;color:var(--muted);max-width:760px;margin:0 auto 44px;text-align:center;
  font-family:'IBM Plex Sans', sans-serif;
}
.prose p{color:var(--muted);font-size:1.02rem;margin-bottom:18px;font-family:'IBM Plex Sans', sans-serif;}
.prose strong{color:var(--amber);font-weight:600;}

/* --- module contents (HUD bracket cards) --- */
.inc-grid{display:grid;grid-template-columns:1fr;gap:20px;max-width:1180px;margin:0 auto;}
@media(min-width:720px){.inc-grid{grid-template-columns:repeat(2,1fr);}}
/* odd item count would leave a visible empty cell; let the last one span */
@media(min-width:720px){.inc-item:last-child:nth-child(odd){grid-column:1 / -1;}}
.inc-item{
  background:var(--panel);padding:26px 24px;position:relative;
  border:1px solid transparent;transition:transform 0.2s ease;
}
.inc-item::before{
  content:'';position:absolute;top:0;left:0;width:14px;height:14px;
  border-top:2px solid var(--amber);border-left:2px solid var(--amber);
}
.inc-item::after{
  content:'';position:absolute;bottom:0;right:0;width:14px;height:14px;
  border-bottom:2px solid var(--amber);border-right:2px solid var(--amber);
}
.inc-item:hover{transform:translateY(-3px);}
.inc-item h3{
  font-family:'JetBrains Mono', monospace;font-size:0.92rem;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--text);margin-bottom:10px;
}
.inc-item h3::before{content:'> ';color:var(--amber);}
.inc-item p{font-size:0.9rem;color:var(--muted);font-family:'IBM Plex Sans', sans-serif;text-transform:none;}

/* --- deployment profiles --- */
.who-grid{display:grid;grid-template-columns:1fr;gap:22px;max-width:1180px;margin:0 auto;}
@media(min-width:860px){.who-grid{grid-template-columns:repeat(2,1fr);}}
.who-col{background:var(--panel);border:1px solid var(--grid);padding:28px 24px;position:relative;}
.who-col.is-active{border-color:var(--amber);}
.who-col h3{
  font-family:'JetBrains Mono', monospace;font-size:0.78rem;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--amber);margin-bottom:18px;
}
.who-col ul{list-style:none;}
.who-col li{
  position:relative;padding-left:22px;margin-bottom:14px;font-size:0.92rem;color:var(--muted);
  font-family:'IBM Plex Sans', sans-serif;
}
.who-col li::before{
  content:'\203a';position:absolute;left:4px;top:-1px;color:var(--amber);
  font-family:'JetBrains Mono', monospace;
}

/* --- run sequence --- */
.steps{max-width:900px;margin:0 auto;}
.step{
  position:relative;display:flex;gap:20px;align-items:flex-start;
  padding:22px 0;border-bottom:1px solid var(--grid);
}
.step:last-child{border-bottom:none;}
.step-num{
  flex:0 0 auto;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono', monospace;font-size:0.95rem;font-weight:800;
  color:var(--amber);border:1px solid var(--grid);background:var(--panel);
}
.step-body h3{
  font-family:'JetBrains Mono', monospace;font-size:0.92rem;letter-spacing:0.08em;
  text-transform:uppercase;margin-bottom:8px;color:var(--text);
}
.step-body h3::before{content:'// ';color:var(--amber);}
.step-body p{font-size:0.92rem;color:var(--muted);font-family:'IBM Plex Sans', sans-serif;}

/* --- query log (FAQ) --- */
.faq{max-width:900px;margin:0 auto;border:1px solid var(--grid);background:var(--panel);}
.faq details{border-bottom:1px solid var(--grid);}
.faq details:last-child{border-bottom:none;}
.faq summary{
  cursor:pointer;list-style:none;padding:18px 22px;
  font-family:'JetBrains Mono', monospace;font-size:0.88rem;letter-spacing:0.02em;
  color:var(--text);display:flex;align-items:flex-start;gap:12px;
  text-transform:none;transition:background 0.2s ease;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::before{content:'[+]';flex:0 0 auto;color:var(--amber);}
.faq details[open] summary::before{content:'[\2212]';}
.faq summary:hover{background:rgba(255,176,0,0.05);}
.faq .faq-a{
  padding:0 22px 20px 58px;font-size:0.92rem;color:var(--muted);
  font-family:'IBM Plex Sans', sans-serif;
}

/* --- CTA band --- */
.cta-band{background:var(--panel);border-top:1px solid var(--grid);padding:70px 24px;text-align:center;}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:18px;}
.cta-band p{
  color:var(--muted);max-width:560px;margin:0 auto 30px;
  font-family:'IBM Plex Sans', sans-serif;
}
.cta-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;align-items:center;}

/* --- services overview --- */
.pillar-link{
  display:inline-block;margin-top:18px;
  font-family:'JetBrains Mono', monospace;font-size:0.74rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--amber);
}
.pillar-link::before{content:'[ ';}
.pillar-link::after{content:' ]';}

/* --- news page --- */
.feed-meta{
  max-width:900px;margin:0 auto 18px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
  font-family:'JetBrains Mono', monospace;
  font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);
}
.news-row a.news-headline{flex:1 1 260px;}
.news-row a.news-headline:hover{color:var(--amber);}
.news-aud{
  font-family:'JetBrains Mono', monospace;
  font-size:0.6rem;letter-spacing:0.06em;font-weight:700;padding:3px 8px;
  border:1px solid var(--grid);color:var(--muted);text-transform:uppercase;
  white-space:nowrap;flex:0 0 auto;
}
.news-summary{
  flex:1 1 100%;font-size:0.85rem;color:var(--muted);opacity:0.75;margin-top:-4px;
  font-family:'IBM Plex Sans', sans-serif;
}
.feed-empty{padding:28px 22px;color:var(--muted);font-size:0.92rem;text-align:center;font-family:'IBM Plex Sans', sans-serif;}
.news-more{margin-top:26px;text-align:center;}
.src-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:900px;margin:0 auto;}
@media(min-width:720px){.src-grid{grid-template-columns:repeat(4,1fr);}}
.src-cell{background:var(--panel);border:1px solid var(--grid);padding:18px 14px;text-align:center;}
.src-cell .src-name{
  font-family:'JetBrains Mono', monospace;font-size:0.84rem;text-transform:uppercase;
  color:var(--text);font-weight:700;letter-spacing:0.04em;
}
.src-cell .src-count{
  font-family:'JetBrains Mono', monospace;font-size:0.68rem;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--amber);margin-top:6px;
}

/* --- contact page --- */
.contact-grid{display:grid;grid-template-columns:1fr;gap:36px;max-width:1180px;margin:0 auto;}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1.15fr;}}
.contact-card{
  background:var(--panel);border:1px solid var(--grid);padding:28px 24px;
  margin-bottom:22px;position:relative;
}
.contact-card::before{
  content:'';position:absolute;top:0;left:0;width:14px;height:14px;
  border-top:2px solid var(--amber);border-left:2px solid var(--amber);
}
.contact-card h3{
  font-family:'JetBrains Mono', monospace;font-size:0.76rem;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--amber);margin-bottom:16px;
}
.contact-card a, .contact-card p{
  display:block;color:var(--muted);font-size:0.98rem;margin-bottom:10px;
  font-family:'IBM Plex Sans', sans-serif;
}
.contact-card a.big{
  font-family:'JetBrains Mono', monospace;font-size:1.4rem;color:var(--amber);
  font-weight:700;letter-spacing:0.02em;
}
.contact-card a:hover{color:var(--amber);}
.contact-form{background:var(--panel);border:1px solid var(--grid);padding:28px 24px;}
.form-row{margin-bottom:18px;}
.form-row label{
  display:block;font-family:'JetBrains Mono', monospace;
  font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px;
}
.form-row label::before{content:'// ';color:var(--amber);}
.form-row input, .form-row select, .form-row textarea{
  width:100%;background:#050505;border:1px solid var(--grid);color:var(--text);
  font-family:'IBM Plex Sans', sans-serif;font-size:0.98rem;padding:12px 14px;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{
  outline:none;border-color:var(--amber);
}
.form-row textarea{min-height:140px;resize:vertical;}
.form-note{
  font-size:0.78rem;color:var(--muted);margin-top:16px;opacity:0.8;
  font-family:'JetBrains Mono', monospace;
}

/* --- about page --- */
.doctrine-grid{display:grid;grid-template-columns:1fr;gap:20px;max-width:1180px;margin:0 auto;}
@media(min-width:680px){.doctrine-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1000px){.doctrine-grid{grid-template-columns:repeat(3,1fr);}}
.doctrine-item{background:var(--panel);border:1px solid var(--grid);padding:26px 22px;position:relative;}
.doctrine-item::after{
  content:'';position:absolute;bottom:0;right:0;width:14px;height:14px;
  border-bottom:2px solid var(--amber);border-right:2px solid var(--amber);
}
.doctrine-item h3{
  font-family:'JetBrains Mono', monospace;font-size:0.86rem;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--text);margin-bottom:10px;
}
.doctrine-item p{font-size:0.9rem;color:var(--muted);font-family:'IBM Plex Sans', sans-serif;}
.wont-list{max-width:760px;margin:0 auto;list-style:none;}
.wont-list li{
  position:relative;padding-left:32px;margin-bottom:16px;font-size:1rem;color:var(--muted);
  font-family:'IBM Plex Sans', sans-serif;
}
.wont-list li::before{
  content:'[\00d7]';position:absolute;left:0;top:0;color:var(--amber);
  font-family:'JetBrains Mono', monospace;font-size:0.9rem;
}

.footer-col a.fnav{margin-bottom:10px;}

@media(max-width:420px){
  .section{padding:62px 18px;}
  .page-hero{padding:52px 18px 42px;}
  .news-row{padding:16px 16px;gap:10px;}
  .step{gap:14px;}
  .step-num{width:38px;height:38px;font-size:0.85rem;}
  .faq .faq-a{padding-left:24px;}
}


/* ===== PART 3: products section - 03 Command Console =====
   JetBrains Mono + IBM Plex Sans, amber accent, HUD corner brackets,
   "//" prefixes, UPPER_SNAKE labels. Appended to assets/site.css by
   build_site.py. */

/* ---------- catalogue grid ---------- */
.prod-grid{
  display:grid;grid-template-columns:1fr;gap:26px;
  max-width:1180px;margin:0 auto;
}
.prod-card{
  background:var(--panel);border:1px solid var(--grid);position:relative;
  display:flex;flex-direction:column;
}
.prod-card::before,.prod-card::after{
  content:'';position:absolute;width:12px;height:12px;border:1px solid var(--amber);
}
.prod-card::before{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.prod-card::after{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.prod-card:hover{border-color:var(--amber);}
.prod-card-art{background:#000;border-bottom:1px solid var(--grid);line-height:0;}
.prod-card-art svg,.prod-hero-art svg{display:block;width:100%;height:auto;}
.prod-card-body{padding:24px 22px 28px;display:flex;flex-direction:column;gap:12px;}
.prod-card-body h3{
  font-family:'JetBrains Mono',monospace;font-size:1.1rem;font-weight:700;
  letter-spacing:0.02em;line-height:1.3;
}
.prod-card-body h3 a{color:var(--text);}
.prod-card-body h3::before{content:'> ';color:var(--amber);}
.prod-card-body h3 a:hover{color:var(--amber);}
.prod-tagline{
  color:var(--text);font-size:0.96rem;font-family:'IBM Plex Sans',sans-serif;
  font-weight:500;
}
.prod-short{
  color:var(--muted);font-size:0.9rem;font-family:'IBM Plex Sans',sans-serif;
}
.prod-price{
  font-family:'JetBrains Mono',monospace;font-size:0.9rem;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--amber);
}
.prod-price::before{content:'// ';}
.prod-price-big{font-size:1.3rem;}
.prod-doesnot-count{
  font-family:'JetBrains Mono',monospace;font-size:0.72rem;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--muted);
}

/* ---------- status badge ---------- */
.prod-badge{
  align-self:flex-start;font-family:'JetBrains Mono',monospace;
  font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;
  padding:5px 10px;border:1px solid var(--grid);color:var(--muted);
}
.prod-badge::before{content:'[ ';}
.prod-badge::after{content:' ]';}
.prod-badge-available{border-color:#2f7d32;color:#6fcf73;}
.prod-badge-preorder{border-color:var(--amber);color:var(--amber);}
.prod-badge-development{border-color:#5d4a00;color:#c89b1f;}

/* ---------- product page hero ---------- */
.prod-hero-grid{
  display:grid;grid-template-columns:1fr;gap:32px;
  max-width:1180px;margin:0 auto;align-items:start;
}
.prod-hero-art{
  background:var(--panel);border:1px solid var(--grid);padding:0 0 14px;
  position:relative;
}
.prod-art-note{
  padding:14px 18px 0;font-size:0.76rem;color:var(--muted);line-height:1.6;
  font-family:'IBM Plex Sans',sans-serif;
}
.prod-hero-body{display:flex;flex-direction:column;gap:16px;}
.prod-action{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.prod-action-note{
  font-size:0.8rem;color:var(--muted);max-width:420px;
  font-family:'IBM Plex Sans',sans-serif;
}
.prod-licence-line{
  font-size:0.82rem;color:var(--muted);font-family:'IBM Plex Sans',sans-serif;
}
.prod-licence-line strong{color:var(--amber);}

/* ---------- what it does / does NOT do ---------- */
.prod-does,.prod-doesnot{list-style:none;max-width:900px;margin:0 auto;}
.prod-does li,.prod-doesnot li{
  position:relative;padding:14px 0 14px 36px;color:var(--muted);
  font-size:0.94rem;border-bottom:1px solid var(--grid);
  font-family:'IBM Plex Sans',sans-serif;
}
.prod-does li:last-child,.prod-doesnot li:last-child{border-bottom:none;}
.prod-does li::before{
  content:'[+]';position:absolute;left:0;top:14px;color:var(--amber);
  font-family:'JetBrains Mono',monospace;font-size:0.8rem;
}
.prod-doesnot-section{
  border-top:1px solid var(--amber);
  background:repeating-linear-gradient(
    -45deg,rgba(255,176,0,0.035) 0 10px,transparent 10px 20px),var(--bg);
}
.prod-doesnot-lead{color:var(--text);}
.prod-doesnot li{color:var(--text);}
.prod-doesnot li::before{
  content:'[\00d7]';position:absolute;left:0;top:14px;color:var(--amber);
  font-family:'JetBrains Mono',monospace;font-size:0.8rem;
}

/* ---------- specs ---------- */
.prod-specs{
  max-width:980px;margin:0 auto;border:1px solid var(--grid);background:var(--panel);
}
.prod-spec-row{
  display:grid;grid-template-columns:1fr;gap:4px;padding:15px 18px;
  border-bottom:1px solid var(--grid);
}
.prod-spec-row:last-child{border-bottom:none;}
.prod-spec-label{
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--amber);
}
.prod-spec-value{
  color:var(--muted);font-size:0.9rem;font-family:'IBM Plex Sans',sans-serif;
}

.prod-attribution p,.prod-opensource p{font-size:0.98rem;}

/* ---------- homepage teaser ---------- */
.prod-teaser{border-top:1px solid var(--grid);}
.prod-teaser-head{max-width:1180px;margin:0 auto 18px;text-align:center;}
.prod-teaser-kicker{
  display:block;font-family:'JetBrains Mono',monospace;font-size:0.74rem;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--amber);
  margin-bottom:12px;
}
.prod-teaser-h2{
  font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:clamp(1.5rem,3vw,2.3rem);letter-spacing:0.01em;
}
.prod-teaser-lead{
  max-width:720px;margin:0 auto 38px;text-align:center;color:var(--muted);
  font-size:1rem;font-family:'IBM Plex Sans',sans-serif;
}
.prod-teaser-grid{
  display:grid;grid-template-columns:1fr;gap:14px;max-width:1180px;margin:0 auto;
}
.prod-teaser-card{
  display:flex;flex-direction:column;gap:10px;padding:20px 18px;
  background:var(--panel);border:1px solid var(--grid);position:relative;
}
.prod-teaser-card:hover{border-color:var(--amber);background:rgba(255,176,0,0.04);}
.prod-teaser-badge{
  align-self:flex-start;font-family:'JetBrains Mono',monospace;font-size:0.64rem;
  letter-spacing:0.14em;text-transform:uppercase;padding:4px 9px;
  border:1px solid var(--grid);color:var(--muted);
}
.prod-teaser-name{
  font-family:'JetBrains Mono',monospace;font-size:0.95rem;font-weight:700;
  color:var(--text);line-height:1.3;
}
.prod-teaser-card:hover .prod-teaser-name{color:var(--amber);}
.prod-teaser-tag{
  color:var(--muted);font-size:0.86rem;font-family:'IBM Plex Sans',sans-serif;
}
.prod-teaser-price{
  margin-top:auto;font-family:'JetBrains Mono',monospace;font-size:0.72rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--amber);
}
.prod-teaser-more{margin-top:26px;text-align:center;}
.prod-teaser-all{
  font-family:'JetBrains Mono',monospace;font-size:0.78rem;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--amber);
}
.prod-teaser-all::before{content:'[ ';}
.prod-teaser-all::after{content:' ]';}

@media (min-width:700px){
  .prod-spec-row{grid-template-columns:230px 1fr;gap:20px;align-items:baseline;}
  .prod-teaser-grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:1000px){
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .prod-hero-grid{grid-template-columns:1.1fr 1fr;gap:44px;}
  .prod-teaser-grid{grid-template-columns:repeat(4,1fr);}
}
