/* Homepage sections (marketingsite-t44). Declarations are verbatim from the
   former inline styles in content/_index.html. */
.hero { position: relative; overflow: hidden; padding: clamp(72px, 12vh, 140px) 24px clamp(56px, 9vh, 110px); border-bottom: 1px solid var(--bc-rule-12); }
.hero__sweep { position: absolute; left: 0; right: 0; height: 90px; pointer-events: none; background: linear-gradient(180deg, transparent, var(--bc-accent-06), transparent); animation: bcSweep 11s linear infinite; }
.hero__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(120% 90% at 50% 0%, var(--bc-accent-10), transparent 55%), radial-gradient(90% 70% at 50% 110%, var(--bc-accent-05), transparent 60%); }
.hero__stack { position: relative; max-width: 1080px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px; }
.hero__title { margin: 0; font-family: var(--bc-font-display-narrow); font-weight: 400; font-size: clamp(56px, 11vw, 148px); line-height: 0.94; letter-spacing: 0.01em; text-transform: uppercase; color: var(--bc-color-ink); text-wrap: balance; }
.hero__tagline { margin: 0; max-width: 620px; font-size: clamp(18px, 2.4vw, 24px); line-height: 1.45; color: var(--bc-color-ink); text-wrap: pretty; }
.hero__lede { margin: 0; max-width: 560px; font-size: 15px; line-height: 1.6; color: var(--bc-color-muted); text-wrap: pretty; }
.hero__cta { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 8px; }
.hero__sub { margin: 0; font-family: var(--bc-font-mono); font-size: 11px; letter-spacing: 0.08em; color: var(--bc-color-muted); }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1px; width: 100%; max-width: 720px; margin-top: 24px; background: var(--bc-rule-12); border: 1px solid var(--bc-rule-12); }
.stat { background: var(--bc-color-ground); padding: 18px 12px; }
.stat__num { font-family: var(--bc-font-display); font-size: 34px; color: var(--bc-color-accent); }
.stat__label { font-family: var(--bc-font-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--bc-color-muted); margin-top: 4px; }
.beat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1px; background: var(--bc-rule-12); border: 1px solid var(--bc-rule-12); }
.beat { background: var(--bc-color-surface); padding: 26px 22px; }
.beat__title { margin: 0 0 10px; font-size: 18px; font-weight: 700; color: var(--bc-color-ink); }
.receipts { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; align-items: start; }
.format__lede { margin: 0 0 20px; font-size: 16px; line-height: 1.65; color: var(--bc-color-muted); text-wrap: pretty; }
.receipts__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.receipts__item { display: flex; gap: 12px; font-size: 14px; line-height: 1.55; color: var(--bc-color-ink); }
.receipts__dot { flex: 0 0 auto; margin-top: 7px; width: 7px; height: 7px; background: var(--bc-color-accent); }
.manifest { background: var(--bc-color-deep); border: 1px solid var(--bc-rule-15); padding: 22px 20px; font-family: var(--bc-font-mono); font-size: 12px; line-height: 1.9; color: var(--bc-color-muted); overflow: hidden; }
.manifest__head { display: flex; justify-content: space-between; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--bc-rule-12); color: var(--bc-color-ink); }
.manifest__hash { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--bc-rule-12); word-break: break-all; color: var(--bc-color-ink); }
.manifest__note { margin-top: 4px; font-size: 11px; color: var(--bc-color-faint); }
.host { max-width: 860px; margin: 0 auto; text-align: center; }
.host__quote { margin: 0; padding: clamp(28px, 5vw, 48px); border: 1px solid var(--bc-accent-40); background: var(--bc-color-ground); text-align: left; position: relative; }
.host__tag { position: absolute; top: -1px; left: 24px; transform: translateY(-50%); margin: 0; padding: 2px 10px; background: var(--bc-color-accent); color: var(--bc-color-ground); font-family: var(--bc-font-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; }
.receipts__claim { margin: 0 0 16px; font-size: clamp(17px, 2.2vw, 21px); line-height: 1.7; color: var(--bc-color-ink); text-wrap: pretty; }
.host__cite { margin: 0; font-family: var(--bc-font-mono); font-size: 13px; color: var(--bc-color-accent); }
.faq { max-width: 780px; margin: 0 auto; }
.faq__list { display: flex; flex-direction: column; border-top: 1px solid var(--bc-rule-15); }
.faq__item { border-bottom: 1px solid var(--bc-rule-15); }
.faq__q { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 4px; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--bc-color-ink); list-style: none; }
.faq__mark { color: var(--bc-color-accent); font-family: var(--bc-font-mono); font-size: 18px; transition: transform 0.15s ease; }
.faq__a { margin: 0; padding: 0 4px 22px; font-size: 15px; line-height: 1.65; color: var(--bc-color-muted); text-wrap: pretty; }
.closing { padding: clamp(56px, 9vh, 100px) 24px 56px; background: var(--bc-color-deep); }
.closing__stack { max-width: 1080px; margin: 0 auto; display: flex; flex-direction: column; gap: 48px; }
.closing__cta { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.closing__title { margin: 0; font-family: var(--bc-font-display); font-weight: 400; font-size: clamp(28px, 4.5vw, 44px); text-transform: uppercase; color: var(--bc-color-ink); text-wrap: balance; }
.closing__credit { margin: 0; text-align: center; font-family: var(--bc-font-mono); font-size: 11px; letter-spacing: 0.06em; line-height: 1.7; color: var(--bc-color-faint); }
