/* ---- Sub-page scaffolding (adds to buildfi.css) ---- */
.page-hero{padding:80px 0 48px; border-bottom:1px solid var(--rule); background:var(--bg)}
.page-hero .crumbs{font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; margin-bottom:24px}
.page-hero .crumbs a{color:var(--muted); border-bottom:1px solid transparent}
.page-hero .crumbs a:hover{color:var(--accent); border-color:var(--accent)}
.page-hero .crumbs .sep{margin:0 10px; color:var(--rule-2)}
.page-hero h1{
  font-family:"Instrument Serif", serif; font-weight:400;
  font-size:clamp(52px, 9vw, 140px); line-height:.92; letter-spacing:-.03em; margin:0 0 24px;
  max-width:15ch;
}
.page-hero h1 em{font-style:italic; color:var(--accent-2)}
.page-hero .dek{font-family:"Instrument Serif", serif; font-size:clamp(20px, 2.2vw, 28px); color:var(--ink-2); line-height:1.3; max-width:50ch; letter-spacing:-.005em}
.page-hero .dek em{font-style:italic; color:var(--accent-2)}
.page-hero .meta-row{
  display:flex; gap:24px; flex-wrap:wrap; margin-top:36px; padding-top:24px;
  border-top:1px solid var(--rule); font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
.page-hero .meta-row span{display:inline-flex; align-items:center; gap:8px}
.page-hero .meta-row span::before{content:"◆"; color:var(--accent)}

.page-sect{padding:96px 0; border-bottom:1px solid var(--rule)}
.page-sect.dark{background:var(--ink); color:var(--paper); border-bottom:0}
.page-sect.dark h2, .page-sect.dark h3{color:var(--paper)}
.page-sect.dark .eyebrow, .page-sect.dark .section-head .num{color:rgba(244,239,232,.55)}
.page-sect.paper{background:var(--bg-2)}

.two-col{display:grid; grid-template-columns: 1.1fr 1fr; gap:60px; align-items:start}
.two-col h2{margin:0 0 20px; font-family:"Instrument Serif", serif; font-weight:400; font-size:clamp(36px, 4.5vw, 60px); line-height:1.02; letter-spacing:-.02em}
.two-col h2 em{font-style:italic; color:var(--accent-2)}
.two-col p{font-size:16px; line-height:1.65; color:var(--ink-2); margin:0 0 16px; max-width:60ch}
.two-col p em{color:var(--accent-2); font-style:italic}

.spec-table{
  border-top:1px solid var(--rule-2); margin-top:12px;
  font-family:"JetBrains Mono", monospace; font-size:12px; letter-spacing:.02em;
}
.spec-table .row{
  display:grid; grid-template-columns: 1fr 1.4fr; gap:24px;
  padding:16px 0; border-bottom:1px solid var(--rule);
}
.spec-table .row .k{color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:11px; padding-top:2px}
.spec-table .row .v{color:var(--ink); font-size:14px; line-height:1.5}
.page-sect.dark .spec-table{border-color:rgba(255,255,255,.15)}
.page-sect.dark .spec-table .row{border-color:rgba(255,255,255,.1)}
.page-sect.dark .spec-table .row .k{color:rgba(244,239,232,.5)}
.page-sect.dark .spec-table .row .v{color:var(--paper)}

.card-grid-3{display:grid; grid-template-columns: repeat(3, 1fr); gap:20px}
.card-grid-2{display:grid; grid-template-columns: repeat(2, 1fr); gap:20px}
.card{background:var(--paper); border:1px solid var(--rule-2); border-radius:6px; padding:28px; min-height:240px; display:flex; flex-direction:column; gap:14px}
.card .k{font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.card h4{margin:0; font-family:"Instrument Serif", serif; font-weight:400; font-size:26px; line-height:1.1; letter-spacing:-.01em}
.card h4 em{font-style:italic; color:var(--accent-2)}
.card p{margin:0; font-size:14px; line-height:1.55; color:var(--ink-2)}
.card .kpi{font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.1em; color:var(--accent-2); text-transform:uppercase; margin-top:auto; padding-top:12px; border-top:1px dashed var(--rule-2)}

.cta-band{padding:80px 0; background:var(--bg); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule)}
.cta-band .inner{display:grid; grid-template-columns: 1.2fr auto; gap:40px; align-items:center}
.cta-band h3{margin:0; font-family:"Instrument Serif", serif; font-weight:400; font-size:clamp(32px, 4vw, 52px); line-height:1.05; letter-spacing:-.015em; max-width:22ch}
.cta-band h3 em{font-style:italic; color:var(--accent-2)}
.cta-band .cta-actions{display:flex; gap:10px; flex-wrap:wrap}

.bullet-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px}
.bullet-list li{padding-left:24px; position:relative; font-size:15px; line-height:1.55; color:var(--ink-2)}
.bullet-list li::before{content:"↳"; position:absolute; left:0; color:var(--accent); font-family:"JetBrains Mono", monospace}

/* Careers */
.jobs{display:flex; flex-direction:column; gap:0; border-top:1px solid var(--ink); margin-top:24px}
.job{
  display:grid; grid-template-columns: 60px 1.5fr 1fr 1fr auto;
  gap:24px; align-items:center; padding:22px 4px;
  border-bottom:1px solid var(--rule-2);
  transition: background .2s, padding .2s;
}
.job:hover{background:var(--paper); padding-left:16px; padding-right:16px}
.job .num{font-family:"JetBrains Mono", monospace; font-size:11px; color:var(--muted); letter-spacing:.1em}
.job .ttl{font-family:"Instrument Serif", serif; font-size:24px; letter-spacing:-.01em; color:var(--ink)}
.job .meta{font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.08em; color:var(--muted); text-transform:uppercase}
.job .arrow{font-family:"Instrument Serif", serif; font-size:28px; color:var(--accent); transition:transform .2s}
.job:hover .arrow{transform:translateX(4px)}

/* Press */
.press-row{
  display:grid; grid-template-columns: 120px 1.2fr 2fr 120px;
  gap:24px; align-items:center; padding:22px 4px;
  border-bottom:1px solid var(--rule-2);
}
.press-row .date{font-family:"JetBrains Mono", monospace; font-size:11px; color:var(--muted); letter-spacing:.1em; text-transform:uppercase}
.press-row .src{font-family:"Instrument Serif", serif; font-size:20px; color:var(--ink-2); font-style:italic}
.press-row .head{font-family:"Instrument Serif", serif; font-size:22px; line-height:1.2; color:var(--ink); letter-spacing:-.005em}
.press-row .head:hover{color:var(--accent-2)}
.press-row .read{font-family:"JetBrains Mono", monospace; font-size:11px; color:var(--accent); letter-spacing:.1em; text-transform:uppercase; text-align:right}

/* Team */
.team-grid{display:grid; grid-template-columns: repeat(4, 1fr); gap:24px; margin-top:24px}
.member{background:var(--paper); border:1px solid var(--rule-2); border-radius:6px; padding:24px; display:flex; flex-direction:column; gap:14px}
.member .avatar{
  aspect-ratio:1; border-radius:4px; background:
    repeating-linear-gradient(45deg, var(--bg-2) 0 6px, var(--bg) 6px 7px);
  display:grid; place-items:center;
  font-family:"Instrument Serif", serif; font-size:44px; color:var(--ink-2);
}
.member h5{margin:0; font-family:"Instrument Serif", serif; font-weight:400; font-size:22px; letter-spacing:-.01em}
.member .role{font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.1em; color:var(--accent-2); text-transform:uppercase}
.member p{margin:0; font-size:13px; color:var(--ink-2); line-height:1.5}

/* Architecture diagram */
.arch-diagram{
  border:1px solid var(--rule-2); background:var(--paper); border-radius:6px; padding:32px;
  position:relative; min-height:520px;
}
.arch-layer{
  display:grid; gap:14px; margin-bottom:14px;
}
.arch-layer.l1{grid-template-columns: repeat(4, 1fr)}
.arch-layer.l2{grid-template-columns: 1fr 1fr 1fr}
.arch-layer.l3{grid-template-columns: 1fr}
.arch-node{
  background:var(--bg); border:1px solid var(--ink); border-radius:4px; padding:14px 16px;
  font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.05em; color:var(--ink);
  display:flex; flex-direction:column; gap:6px;
}
.arch-node.accent{background:var(--ink); color:var(--paper); border-color:var(--ink)}
.arch-node.amber{background:var(--accent); color:var(--paper); border-color:var(--accent)}
.arch-node .lbl{font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.1em}
.arch-node.accent .lbl, .arch-node.amber .lbl{color:rgba(244,239,232,.6)}
.arch-node .val{font-family:"Instrument Serif", serif; font-size:18px; letter-spacing:-.01em; line-height:1}
.arch-divider{
  text-align:center; font-family:"JetBrains Mono", monospace; font-size:10px;
  color:var(--muted); letter-spacing:.14em; text-transform:uppercase;
  margin:6px 0; position:relative;
}
.arch-divider::before, .arch-divider::after{
  content:""; position:absolute; top:50%; width:42%; height:1px; background:var(--rule-2);
}
.arch-divider::before{left:0} .arch-divider::after{right:0}

/* Sharia table of contents */
.toc{
  position:sticky; top:96px; background:var(--paper); border:1px solid var(--rule-2);
  border-radius:6px; padding:20px; display:flex; flex-direction:column; gap:8px; min-width:240px;
}
.toc h5{margin:0 0 6px; font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.1em; color:var(--muted); text-transform:uppercase; font-weight:400}
.toc a{font-size:14px; color:var(--ink-2); padding:4px 0; border-left:2px solid transparent; padding-left:10px; margin-left:-10px}
.toc a:hover{color:var(--accent-2); border-color:var(--accent)}
.legal-body h3{font-family:"Instrument Serif", serif; font-weight:400; font-size:32px; letter-spacing:-.015em; margin:48px 0 16px; scroll-margin-top:100px}
.legal-body h3:first-child{margin-top:0}
.legal-body h3 em{font-style:italic; color:var(--accent-2)}
.legal-body p{font-size:15.5px; line-height:1.7; color:var(--ink-2); margin:0 0 18px; max-width:65ch}
.legal-body p em{color:var(--accent-2); font-style:italic}
.legal-body blockquote{
  margin:24px 0; padding:16px 24px; border-left:2px solid var(--accent);
  font-family:"Instrument Serif", serif; font-style:italic; font-size:20px; color:var(--ink); line-height:1.4;
}
.legal-grid{display:grid; grid-template-columns: 240px 1fr; gap:60px; align-items:start}

@media (max-width: 1040px){
  .two-col, .cta-band .inner, .legal-grid{grid-template-columns: 1fr}
  .card-grid-3, .card-grid-2, .team-grid{grid-template-columns: 1fr 1fr}
  .arch-layer.l1{grid-template-columns: 1fr 1fr}
  .job{grid-template-columns: 40px 1fr auto; gap:16px}
  .job .meta:nth-of-type(2){display:none}
  .press-row{grid-template-columns: 100px 1fr}
  .press-row .src, .press-row .read{display:none}
  .toc{position:static}
}
@media (max-width: 640px){
  .card-grid-3, .card-grid-2, .team-grid{grid-template-columns: 1fr}
}

/* ============================================================
   Regulatory bar + disclosure (shared across all pages)
   ============================================================ */
.reg-bar{
  background:#1D1B16; color:#D8CFBE;
  border-bottom:1px solid #2A2722;
  font-family:"Inter Tight", system-ui, -apple-system, sans-serif;
  font-size:11.5px; line-height:1.4;
}
.reg-bar-inner{
  max-width:1400px; margin:0 auto; padding:7px 28px;
  display:flex; gap:14px; align-items:center; justify-content:space-between;
  white-space:nowrap;
}
.reg-bar-tag{
  display:inline-flex; gap:8px; align-items:center; flex-shrink:0;
  font-family:"JetBrains Mono", monospace; font-size:10px;
  letter-spacing:.12em; text-transform:uppercase; color:#E8E1D4;
}
.reg-bar-dot{width:6px; height:6px; border-radius:50%; background:#B48A3F; display:inline-block; flex-shrink:0}
.reg-bar-msg{color:#B7AE98; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis}
.reg-bar-link{color:#E8E1D4; text-decoration:underline; text-decoration-color:rgba(180,138,63,.5); text-underline-offset:3px; flex-shrink:0; font-size:11px}
.reg-bar-link:hover{color:#FFF}

.reg-disclosure{
  background:#1D1B16; color:#B7AE98;
  border-top:1px solid #2A2722; border-bottom:1px solid #2A2722;
  padding:32px 0;
}
.reg-disclosure .wrap{max-width:1100px}
.reg-disclosure .reg-eyebrow{
  font-family:"JetBrains Mono", monospace; font-size:10.5px;
  letter-spacing:.14em; text-transform:uppercase; color:#E8E1D4;
  margin:0 0 14px;
}
.reg-disclosure p{
  font-size:13px; line-height:1.65; letter-spacing:.005em;
  color:#B7AE98; margin:0 0 10px; max-width:78ch;
}
.reg-disclosure p strong{color:#E8E1D4; font-weight:500}
.reg-disclosure em{color:#E8E1D4; font-style:normal; text-decoration:underline; text-decoration-color:rgba(180,138,63,.5); text-underline-offset:3px}

@media (max-width:720px){
  .reg-bar-inner{padding:7px 16px; gap:10px; font-size:10.5px}
  .reg-bar-tag{font-size:9px}
  .reg-bar-msg{display:none}
  .reg-bar-link{font-size:10.5px}
  .reg-disclosure{padding:28px 0}
  .reg-disclosure p{font-size:12.5px; line-height:1.6}
  .reg-disclosure .reg-eyebrow{font-size:9.5px}
}
