/* businesscentral.software home (Claude Design canvas "Dok sites", board
   "Business Central-apps"). Built by scripts/build-home.py. Scoped under .bc:
   the page renders inside the Dok layout (Tailwind preflight). Appfabriek
   tokens and fonts, self-hosted like appfabriek.com (SIL Open Font License). */

@font-face { font-family: "Geist"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("/fonts/geist-latin-1.woff2") format("woff2"); }
@font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 500 700; font-display: swap; src: url("/fonts/space-grotesk-latin-5.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 600; font-display: swap; src: url("/fonts/jetbrains-mono-latin-3.woff2") format("woff2"); }

:root {
  --af-bone: #F4F1EA;
  --af-paper: #FAF8F2;
  --af-ink: #161413;
  --af-ink-3: #4A433F;
  --af-ink-4: #6B635C;
  --af-ink-7: #DDD5C6;
  --af-orange: #FF4D14;
  --af-orange-text: #C8330A;
  --af-blueprint: #1F4FD4;
  --af-signal: #1F8A5B;
  --af-warning: #E8A317;
  --af-keur: #8A6A1F;
  --af-font-display: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;
  --af-font-body: "Geist", "Inter", system-ui, -apple-system, sans-serif;
  --af-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

html:has(.bc), body:has(.bc) { background: var(--af-bone); color-scheme: light; margin: 0; }

.bc { background: var(--af-bone); color: var(--af-ink); font: 17px/1.55 var(--af-font-body); -webkit-font-smoothing: antialiased; }
.bc *, .bc *::before, .bc *::after { box-sizing: border-box; }
.bc h1, .bc h2, .bc h3, .bc p { margin: 0; }
.bc h1, .bc h2, .bc h3 { font-family: var(--af-font-display); font-weight: 600; color: inherit; text-wrap: balance; }
.bc a { color: var(--af-ink); text-underline-offset: 3px; }
.bc a:hover { color: var(--af-orange-text); }
.bc a:focus-visible { outline: 2px solid var(--af-orange-text); outline-offset: 3px; }
.bc .mono { font-family: var(--af-font-mono); }

.bc-wrap { max-width: 1200px; margin: 0 auto; padding-inline: 24px; }

/* Status strip + header */
.bc-strip { background: var(--af-ink); color: var(--af-bone); font: 12px/1 var(--af-font-mono); letter-spacing: .14em; text-transform: uppercase; }
.bc-strip .bc-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding-block: 10px; }
.bc-header { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding-block: 18px; border-bottom: 1.5px solid var(--af-ink); }
.bc-brand { display: flex; align-items: center; min-height: 44px; text-decoration: none; font: 600 17px var(--af-font-mono); }
.bc-brand span { color: var(--af-orange-text); }
.bc-nav { display: flex; flex-wrap: wrap; gap: 4px; font-size: 16px; }
.bc-nav a { padding: 12px; }

/* Hero */
.bc-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 56px; align-items: center; padding-block: 64px 72px; }
.bc-hero-text { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.bc-stamp { align-self: flex-start; font: 600 12px var(--af-font-mono); letter-spacing: .14em; text-transform: uppercase; padding: 6px 10px; border: 1.5px solid var(--af-ink); border-radius: 2px; }
.bc h1 { font-size: clamp(40px, 6vw, 76px); line-height: 1.02; letter-spacing: -0.03em; max-width: 15ch; }
.bc-lead { font-size: 21px; max-width: 32em; }
.bc-actions { display: flex; flex-wrap: wrap; gap: 16px; }
.bc-btn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 22px; border: 1.5px solid var(--af-ink); border-radius: 4px; background: var(--af-orange); color: var(--af-ink) !important; font-weight: 600; text-decoration: none; box-shadow: 3px 3px 0 var(--af-ink); }
.bc-btn:hover { background: #FF6A3A; }
.bc-btn.is-secondary { background: var(--af-paper); }
.bc-btn.is-secondary:hover { background: var(--af-white, #fff); }

.bc-line { display: flex; flex-direction: column; background: var(--af-paper); border: 1.5px solid var(--af-ink); border-radius: 4px; box-shadow: 3px 3px 0 var(--af-ink); min-width: 0; }
.bc-line-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; padding: 14px 18px; border-bottom: 1.5px solid var(--af-ink); font: 12px var(--af-font-mono); letter-spacing: .14em; text-transform: uppercase; }
.bc-line-head span + span { color: var(--af-ink-4); }
.bc-line-row { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--af-ink-7); }
.bc-line-row:last-child { border-bottom: 0; }
.bc-line-row i { width: 14px; height: 14px; background: var(--dot); }
.bc-line-row strong { display: block; font: 600 19px var(--af-font-display); }
.bc-line-row small { font-size: 14px; color: var(--af-ink-4); }
.bc-line-row .mono { font-size: 13px; color: var(--af-ink-3); }

/* Apps */
.bc-apps { border-top: 1.5px solid var(--af-ink); background: var(--af-paper); }
.bc-apps .bc-wrap { display: flex; flex-direction: column; gap: 32px; padding-block: 72px; }
.bc-apps-head { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; justify-content: space-between; }
.bc h2 { font-size: clamp(30px, 3.6vw, 42px); letter-spacing: -0.02em; line-height: 1.1; }
.bc-tag { font: 13px var(--af-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--af-ink-4); }
.bc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 20px; }
.bc-card { display: flex; flex-direction: column; gap: 14px; padding: 24px; background: var(--af-bone); border: 1.5px solid var(--af-ink); border-radius: 4px; text-decoration: none; color: var(--af-ink) !important; box-shadow: 3px 3px 0 var(--af-ink); }
.bc-card:hover { background: #FFFDF8; }
.bc-card-top { display: flex; justify-content: space-between; gap: 12px; font: 13px var(--af-font-mono); }
.bc-card-top span:first-child { letter-spacing: .14em; text-transform: uppercase; color: var(--af-ink-4); }
.bc-card-top span:last-child { color: var(--af-orange-text); }
.bc-card strong { font: 600 28px/1.1 var(--af-font-display); letter-spacing: -0.02em; }
.bc-card-domain { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--af-ink-7); font: 14px var(--af-font-mono); }

/* Link */
.bc-flow { background: var(--af-ink); color: var(--af-bone); }
.bc-flow .bc-wrap { display: flex; flex-direction: column; gap: 36px; padding-block: 80px; }
.bc-flow h2 { max-width: 22ch; }
.bc-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.bc-step { display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1.5px solid var(--af-bone); border-radius: 4px; }
.bc-step span { font: 13px var(--af-font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--af-orange); }
.bc-step strong { font: 600 22px var(--af-font-display); }
.bc-step p { font-size: 16px; color: #D9D3C7; }

/* Facts */
.bc-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 40px; padding-block: 80px; }
.bc-facts > div { display: flex; flex-direction: column; gap: 12px; }
.bc-facts h2 { font-size: 28px; }
.bc-trademark { padding-bottom: 32px; font-size: 14px; color: var(--af-ink-4); }

/* Footer */
.bc-footer { display: flex; flex-direction: column; gap: 8px; padding-block: 28px 44px; border-top: 1.5px solid var(--af-ink); font-size: 15px; color: var(--af-ink-4); }
.bc-footer a { color: var(--af-ink-3); }

@media (max-width: 640px) {
  .bc-hero { gap: 40px; padding-block: 32px 56px; }
  .bc-lead { font-size: 19px; }
  .bc-line-row { grid-template-columns: 18px minmax(0, 1fr); }
  .bc-line-row .mono { grid-column: 2; }
  .bc-apps .bc-wrap, .bc-flow .bc-wrap, .bc-facts { padding-block: 56px; }
}
