/* bgp-pages.css - page-level sections built on bgp-base.css components */

/* ---------------------------------------------------------------- hero (home) */
.bgp-hero { padding: 92px 0 76px; background-color: var(--bgp-paper); }
.bgp-hero__title { font-size: 52px; font-stretch: 110%; line-height: 1.04; letter-spacing: -0.5px; max-width: 16ch; margin-bottom: 22px; }
.bgp-hero__sub { font-size: 19px; line-height: 1.55; max-width: 54ch; margin-bottom: 34px; }
.bgp-hero__actions { display: flex; gap: 14px; margin-bottom: 56px; flex-wrap: wrap; }

/* page hero (interior pages) */
.bgp-pagehead { padding: 64px 0 48px; background-color: var(--bgp-paper); }
.bgp-pagehead__title { font-size: 40px; font-stretch: 110%; line-height: 1.08; letter-spacing: -0.4px; margin-bottom: 16px; max-width: 22ch; }
.bgp-pagehead__sub { font-size: 18px; max-width: 60ch; }
.bgp-pagehead__stamps { display: flex; gap: 10px; margin: 18px 0 0; flex-wrap: wrap; }

/* ---------------------------------------------------------------- gpu strip */
.bgp-gpu-strip { border-top: 1px solid var(--bgp-rule); border-bottom: 1px solid var(--bgp-rule); background: var(--bgp-card); padding: 42px 0; }
.bgp-gpu-strip__inner { display: flex; gap: 34px; align-items: baseline; flex-wrap: wrap; }
.bgp-gpu-strip__term { font-family: var(--bgp-display); font-stretch: 108%; font-weight: 600; font-size: 23px; color: var(--bgp-ink); white-space: nowrap; }
.bgp-gpu-strip__def { font-size: 17px; max-width: 60ch; }
.bgp-gpu-strip__def strong { color: var(--bgp-ink); font-weight: 600; }

/* ---------------------------------------------------------------- segments (persona CTA) */
.bgp-segs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.bgp-seg { background: var(--bgp-card); border: 1px solid var(--bgp-rule); border-radius: 4px; display: flex; flex-direction: column; }
.bgp-seg .bgp-card__label { color: var(--bgp-copper); }
.bgp-seg__body { padding: 20px 18px; display: flex; flex-direction: column; gap: 11px; flex: 1; }
.bgp-seg__title { font-size: 21px; }
.bgp-seg__text { font-size: 15px; line-height: 1.55; flex: 1; }
.bgp-seg__body .bgp-btn { align-self: flex-start; }

/* ---------------------------------------------------------------- partnership band + page */
.bgp-partners { display: flex; gap: 14px; flex-wrap: wrap; margin: 34px 0; }
.bgp-partner { border: 1px solid rgba(250, 251, 247, 0.22); border-radius: 4px; padding: 14px 18px; min-width: 220px; }
.bgp-partner__name { color: #FAFBF7; font-family: var(--bgp-display); font-weight: 600; font-size: 16px; }
.bgp-partner__role { font-size: 13px; margin-top: 4px; }
.bgp-dark-band .bgp-lede { font-size: 17.5px; line-height: 1.6; max-width: 60ch; }
.bgp-prose { max-width: 68ch; }
.bgp-prose p { margin-bottom: 18px; font-size: 16.5px; line-height: 1.65; }
.bgp-prose h2 { font-size: 26px; margin: 36px 0 14px; }
.bgp-prose ul { margin: 0 0 18px 22px; }
.bgp-prose li { margin-bottom: 8px; }
.bgp-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }

/* ---------------------------------------------------------------- portfolio filters */
.bgp-filters { display: flex; gap: 14px; align-items: end; flex-wrap: wrap; margin-bottom: 28px; }
.bgp-filters .bgp-form__row { margin-bottom: 0; min-width: 170px; }
.bgp-legend { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 28px; }
.bgp-legend__item { display: flex; gap: 8px; align-items: center; font-size: 13.5px; }

/* ---------------------------------------------------------------- region detail */
.bgp-detail-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: start; }
.bgp-detail-aside { position: sticky; top: 88px; }
.bgp-proforma { background: var(--bgp-card); border: 1px solid var(--bgp-rule); border-radius: 4px; }
.bgp-proforma__rows { padding: 6px 18px; }
.bgp-proforma__row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 11px 0; }
.bgp-proforma__row + .bgp-proforma__row { border-top: 1px solid var(--bgp-rule); }
.bgp-proforma__key { font-family: var(--bgp-mono); font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bgp-ink-soft); }
.bgp-proforma__value { font-family: var(--bgp-mono); font-weight: 600; font-size: 16px; color: var(--bgp-ink); font-variant-numeric: tabular-nums; text-align: right; }
.bgp-proforma__foot { padding: 12px 18px; border-top: 1px solid var(--bgp-rule); font-size: 12.5px; font-style: italic; color: var(--bgp-stamp-amber); }
.bgp-proforma__actions { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border-top: 1px solid var(--bgp-rule); }
.bgp-expansion { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

/* NDA note */
.bgp-nda { background: var(--bgp-pad); border: 1px solid var(--bgp-rule); border-radius: 4px; padding: 16px 18px; font-size: 14.5px; margin-top: 24px; }
.bgp-nda b { font-family: var(--bgp-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bgp-ink); display: block; margin-bottom: 6px; }

/* ---------------------------------------------------------------- timeline (model page) */
.bgp-timeline { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; background: var(--bgp-card); border: 1px solid var(--bgp-rule); border-radius: 4px; overflow: hidden; }
.bgp-timeline__step { padding: 20px 18px; position: relative; }
.bgp-timeline__step + .bgp-timeline__step { border-left: 1px solid var(--bgp-rule); }
.bgp-timeline__num { font-family: var(--bgp-mono); font-weight: 600; font-size: 12px; color: var(--bgp-copper); letter-spacing: 0.06em; margin-bottom: 8px; }
.bgp-timeline__name { font-family: var(--bgp-display); font-weight: 600; font-size: 16px; color: var(--bgp-ink); margin-bottom: 6px; }
.bgp-timeline__text { font-size: 13.5px; line-height: 1.5; }

.bgp-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }

/* ---------------------------------------------------------------- calculator */
.bgp-calc { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; }
.bgp-calc__panel { background: var(--bgp-card); border: 1px solid var(--bgp-rule); border-radius: 4px; }
.bgp-calc__panel-body { padding: 22px; }
.bgp-calc__outputs { position: sticky; top: 88px; }
.bgp-calc__rate-value { font-family: var(--bgp-mono); font-weight: 600; color: var(--bgp-ink); font-variant-numeric: tabular-nums; }
.bgp-calc__results { display: grid; grid-template-columns: 1fr 1fr; }
.bgp-calc__result { padding: 20px 22px; border-top: 1px solid var(--bgp-rule); }
.bgp-calc__result:nth-child(even) { border-left: 1px solid var(--bgp-rule); }
.bgp-calc__result .bgp-band__value { font-size: 27px; }
.bgp-calc__status { padding: 14px 22px; font-size: 14px; border-top: 1px solid var(--bgp-rule); }
.bgp-calc__disclaimer { padding: 14px 22px; border-top: 1px solid var(--bgp-rule); font-size: 12.5px; font-style: italic; color: var(--bgp-stamp-amber); }

/* ---------------------------------------------------------------- contact */
.bgp-contact { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 48px; align-items: start; }
.bgp-contact__success { background: var(--bgp-card); border: 1px solid var(--bgp-stamp-green); border-radius: 4px; padding: 28px; }
.bgp-contact__success h2 { font-size: 24px; margin-bottom: 10px; }
.bgp-persona-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.bgp-persona-tab {
    border: 1px solid var(--bgp-rule); border-radius: 3px; background: var(--bgp-card);
    padding: 12px 10px; text-align: center; cursor: pointer;
    font-family: var(--bgp-display); font-size: 14px; font-weight: 600; color: var(--bgp-ink-soft);
    transition: all 0.15s ease;
}
.bgp-persona-tab--active { border-color: var(--bgp-copper); color: var(--bgp-copper); background: var(--bgp-copper-wash); }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 940px) {
    .bgp-hero { padding: 60px 0 52px; }
    .bgp-hero__title { font-size: 36px; }
    .bgp-pagehead__title { font-size: 31px; }
    .bgp-segs, .bgp-paths, .bgp-expansion, .bgp-people { grid-template-columns: 1fr; }
    .bgp-detail-grid, .bgp-calc, .bgp-contact { grid-template-columns: 1fr; }
    .bgp-detail-aside, .bgp-calc__outputs { position: static; }
    .bgp-timeline { grid-template-columns: 1fr; }
    .bgp-timeline__step + .bgp-timeline__step { border-left: 0; border-top: 1px solid var(--bgp-rule); }
    .bgp-persona-tabs { grid-template-columns: repeat(2, 1fr); }
}
